(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-24
(45)【発行日】2024-06-03
(54)【発明の名称】メモリデバイスおよびそのプログラミング方法
(51)【国際特許分類】
G11C 16/10 20060101AFI20240527BHJP
【FI】
G11C16/10 140
(21)【出願番号】P 2022506224
(86)(22)【出願日】2020-04-23
(86)【国際出願番号】 CN2020086332
(87)【国際公開番号】W WO2021212399
(87)【国際公開日】2021-10-28
【審査請求日】2022-01-28
【前置審査】
(73)【特許権者】
【識別番号】519237948
【氏名又は名称】長江存儲科技有限責任公司
【氏名又は名称原語表記】Yangtze Memory Technologies Co.,Ltd.
【住所又は居所原語表記】No.88 Weilai 3rd Road,East Lake High-tech Development Zone,Wuhan,Hubei,China
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ハイボ・リ
(72)【発明者】
【氏名】チャオ・ジャン
【審査官】後藤 彰
(56)【参考文献】
【文献】特開2008-269775(JP,A)
【文献】特開2006-134476(JP,A)
【文献】米国特許第10134474(US,B1)
(58)【調査した分野】(Int.Cl.,DB名)
G11C 16/10
(57)【特許請求の範囲】
【請求項1】
第1のプレーンおよび第2のプレーンを含むメモリデバイスをプログラムするための方法であって、
前記第1のプレーンおよび前記第2のプレーンのプログラミングを同時に開始するステップと、
前記第1のプレーンがプログラムされることに成功しており、前記第2のプレーンがプログラムされることに成功しておらず、前記第2のプレーンのプログラミングパルスカウントがパルスカウントの最大数を示す所定のプログラミングパルスカウント値より小さいことに応答して、前記第1のプレーンの前記プログラミングを一時停止し、前記第2のプレーンの前記プログラミングを続けるステップと
、
前記第1のプレーンの1つまたは複数の第1のメモリセルおよび前記第2のプレーンの1つまたは複数の第2のメモリセルのプログラミングを同時に開始するステップと、
予め設定された数より少ない前記第1のメモリセルがプログラムされることに成功しておらず、前記予め設定された数より多くの前記第2のメモリセルがプログラムされることに成功していないことに応答して、前記第1のメモリセルの前記プログラミングを一時停止し、前記第2のメモリセルのプログラミングを続けるステップとを含み、
前記第1のメモリセルに対する第1のプログラミングプロセスおよび前記第2のメモリセルに対する第2のプログラミングプロセスは同時に開始されるが非同時に終わり、
前記第1のプログラミングプロセスおよび前記第2のプログラミングプロセスが済んだ後に前記第1のプレーンの1つまたは複数の第3のメモリセルおよび前記第2のプレーンの1つまたは複数の第4のメモリセルのプログラミングを同時に開始するステップを更に含み、
前記第1のメモリセルの後に第3のメモリセルが続き、前記第2のメモリセルの後に前記第4のメモリセルが続く、
方法。
【請求項2】
前記第1のプレーンの前記プログラミングを一時停止するステップは、前記第1のプレーンの一時停止信号を論理ローに設定することを含む、請求項1に記載の方法。
【請求項3】
前記第1のプレーンの前記プログラミングを一時停止するステップは、
プレーン選択信号を遮ること、
ブロック選択信号を遮ること、
前記第1のプレーンの全てのワード線を選択解除すること、または
前記第1のプレーンの全てのビット線を選択解除することの少なくとも1つを含む、請求項1に記載の方法。
【請求項4】
前記第1のメモリセルは第1のプログラミングパルスカウントに対応し、
前記第2のメモリセルは第2のプログラミングパルスカウントに対応し、
前記第1のプログラミングパルスカウントは前記第2のプログラミングパルスカウントより小さい、
請求項
1に記載の方法。
【請求項5】
前記第2のプログラミングパルスカウントが前記所定のプログラミングパルスカウント値より大きいことに応答して前記第2のプレーンに対するプログラミング失敗を報告するステップ
を更に含む、請求項
4に記載の方法。
【請求項6】
前記第1のメモリセルおよび前記第2のメモリセルがプログラムされることに成功しているかどうかを検証するステップであり、検証されるべき前記第1のメモリセルに対する第1の回数は検証されるべき前記第2のメモリセルに対する第2の回数より少ない、ステップ
を更に含む、請求項
1に記載の方法。
【請求項7】
第1のプレーンと、
第2のプレーンと、
前記第1のプレーンおよび前記第2のプレーンに結合され、
前記第1のプレーンおよび前記第2のプレーンのプログラミングを同時に開始し、
前記第1のプレーンがプログラムされることに成功しており、前記第2のプレーンがプログラムされることに成功しておらず、前記第2のプレーンのプログラミングパルスカウントが所定のプログラミングパルスカウント値より小さいことに応答して、前記第1のプレーンの前記プログラミングを一時停止し、前記第2のプレーンの前記プログラミングを続け
、
前記第1のプレーンの1つまたは複数の第1のメモリセルおよび前記第2のプレーンの1つまたは複数の第2のメモリセルのプログラミングを同時に開始し、
予め設定された数より少ない前記第1のメモリセルがプログラムされることに成功しておらず、前記予め設定された数より多くの前記第2のメモリセルがプログラムされることに成功していないことに応答して、前記第1のメモリセルの前記プログラミングを一時停止し、前記第2のメモリセルのプログラミングを続けるように構成されるように構成される、制御回路と
を備え
、
前記第1のメモリセルに対する第1のプログラミングプロセスおよび前記第2のメモリセルに対する第2のプログラミングプロセスは同時に開始されるが非同時に終わり、
前記制御回路は、
前記第1のプログラミングプロセスおよび前記第2のプログラミングプロセスが済んだ後に前記第1のプレーンの1つまたは複数の第3のメモリセルおよび前記第2のプレーンの1つまたは複数の第4のメモリセルのプログラミングを同時に開始するように更に構成され、
前記第1のメモリセルの後に第3のメモリセルが続き、前記第2のメモリセルの後に前記第4のメモリセルが続く、
メモリデバイス。
【請求項8】
前記第1のプレーンの前記プログラミングを一時停止するために、前記制御回路は、前記第1のプレーンの一時停止信号を論理ローに設定するように更に構成される、請求項
7に記載のメモリデバイス。
【請求項9】
前記第1のプレーンの前記プログラミングを一時停止するために、前記制御回路は、
プレーン選択信号を遮ること、
ブロック選択信号を遮ること、
前記第1のプレーンの全てのワード線を選択解除すること、または
前記第1のプレーンの全てのビット線を選択解除することの少なくとも1つを行うように更に構成される、請求項
7に記載のメモリデバイス。
【請求項10】
前記第1のメモリセルは第1のプログラミングパルスカウントに対応し、
前記第2のメモリセルは第2のプログラミングパルスカウントに対応し、
前記第1のプログラミングパルスカウントは前記第2のプログラミングパルスカウントより小さい、
請求項
7に記載のメモリデバイス。
【請求項11】
前記制御回路は、
前記第2のプログラミングパルスカウントが前記所定のプログラミングパルスカウント値より大きいことに応答して前記第2のプレーンに対するプログラミング失敗を報告するように更に構成される、請求項
10に記載のメモリデバイス。
【請求項12】
前記制御回路は、
前記第1のメモリセルおよび前記第2のメモリセルがプログラムされることに成功しているかどうかを検証するように更に構成され、検証されるべき前記第1のメモリセルに対する第1の回数は検証されるべき前記第2のメモリセルに対する第2の回数より少ない、請求項
7に記載のメモリデバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、メモリデバイスおよびそのプログラミング方法に関し、より詳細には、プログラミングディスターブを排除するためのメモリデバイスおよびそのプログラミング方法に関する。
【背景技術】
【0002】
近年、半導体メモリの分野が一層の注目を受けてきた。半導体メモリは揮発性または不揮発性であり得る。不揮発性半導体メモリデバイスは、給電されないときでもデータを保持でき、したがってセルラ電話機、デジタルカメラ、携帯情報端末、モバイルコンピューティング装置、非モバイルコンピューティング装置および他の装置に広く使用されてきた。
【0003】
メモリデバイスは、メモリアレイの構造的構成に従ってシングルプレーン型およびマルチプレーン型に分類され得る。シングルプレーン型メモリデバイスは、単一のプレーンへ配置されるメモリアレイを含み、マルチプレーン型メモリデバイスは、複数のプレーンへ配置されるメモリアレイを含む。マルチプレーン型メモリデバイスをプログラムするとき、プログラミング効率を向上させるためにマルチプレーンプログラミングスキームに従って2つ以上のプレーンが同時にプログラムおよび検証され得る。しかしながら、マルチプレーン型メモリデバイスが不良プレーン(または悪化したプレーン)を含むとき、不良プレーン(または悪化したプレーン)へデータをプログラムしようとして正常プレーンも不良プレーン(または悪化したプレーン)も繰り返しプログラムされることになり、それによりプログラミング速度を減少させ、プログラミング効率を低下させ、正常プレーンにプログラミングディスターブを引き起こす。
【0004】
したがって、正常プレーンが不必要なプログラミングパルスのプログラミングストレスを受けないように、正常プレーンなどの一定のプレーンをバイパスするメモリデバイスおよびそのプログラミング方法を提供する必要がある。
【発明の概要】
【発明が解決しようとする課題】
【0005】
したがって、本発明の目的は、プログラミングディスターブを排除するメモリデバイスおよび関連するプログラミング方法を提供することである。
【課題を解決するための手段】
【0006】
本発明は、メモリデバイスのためのプログラミング方法を開示する。プログラミング方法は、第1のプレーンおよび第2のプレーンを同時にプログラムし始めるステップと、第1のプレーンがプログラムされることに成功しており、第2のプレーンがまだプログラムされることに成功していない場合、第1のプレーンをバイパスし、第2のプレーンをプログラムし続けるステップとを含む。
【0007】
本発明は、メモリデバイスを更に開示する。メモリデバイスは、第1のプレーンと、第2のプレーンと、制御回路とを備える。制御回路は、プログラミング方法に従って第1のプレーンおよび第2のプレーンを制御するように構成される。プログラミング方法は、第1のプレーンおよび第2のプレーンを同時にプログラムし始めるステップと、第1のプレーンがプログラムされることに成功しており、第2のプレーンがまだプログラムされることに成功していない場合、第1のプレーンをバイパスし、第2のプレーンをプログラムし続けるステップとを含む。
【0008】
本発明のこれらおよび他の目的は、様々な図および図面に例示される好適な実施形態の以下の詳細な説明を読んだ後に間違いなく当業者に明らかになるであろう。
【図面の簡単な説明】
【0009】
【
図1】本発明の一実施形態に係るメモリデバイスのブロック図である。
【
図2】
図1に図示されるメモリデバイスのプレーンの概要図である。
【
図3】本発明の一実施形態に係る
図1に図示されるメモリデバイスをプログラムするプログラミング方法のフローチャートである。
【
図4】本発明の一実施形態に係るプログラミング電圧の波形を例示する概要図である。
【
図5】本発明の一実施形態に係る
図1に図示されるメモリデバイスをプログラムするプログラミング方法のフローチャートである。
【
図6】本発明の一実施形態に係る
図1に図示される制御回路における選択された回路の概要図である。
【発明を実施するための形態】
【0010】
図1は、本発明の一実施形態に係るメモリデバイス10のブロック図である。メモリデバイス10は、デュアルプレーン構造を有してもよく、制御回路100、ワード線ドライバ120、複数のビット線ドライバ131、132および複数のプレーン(メモリプレーンとも称される)141、142を含んでもよい。
【0011】
簡潔には、プレーン141、142は同時にプログラムおよび検証されうる。プレーン141(第1のプレーンとも称される)がプログラムされることに成功しているが、プレーン142はまだプログラムされることに成功していない場合、プレーン141はバイパスされてよく、プレーン142(第2のプレーンとも称される)は依然としてプログラムされていてもよい。いったんプレーン141が全ての検証に合格すると、プレーン141を後続のプログラミングからバイパスすることによって、プレーン141に不必要なプログラミングパルスを印加しようとして費やされる時間を削減し、プレーン141におけるプログラミングディスターブを排除する。
【0012】
図1に図示されるメモリデバイス10のプレーン141、142の概要図である
図2も参照されたい。プレーン141は複数のブロック141B1~141Biに分割されうる。ブロック141B1~141Biの各々は、NANDストリングでありうる複数のストリングを含む。各ストリングは2つのセレクトセルおよび複数のメモリセルを含んでよく、それらは、それぞれ直列に接続されるが、これに限定されるものではない。1つのストリングの上部に配置されるセレクトセルは、ストリングを複数のビット線BL11~BL1mに接続するために構成され、ストリング選択線SSL1に適切な電圧を印加することによって制御されてもよい。1つのストリングの下部に配置されるセレクトセルは、ストリングを共通ソース線CSL1に接続するために構成され、グランド選択線GSL1に適切な電圧を印加することによって制御されてもよい。ストリングにおけるメモリセルの制御ゲートは、それぞれ複数のワード線WL11~WL1nに接続される。
【0013】
同様に、プレーン142は複数のブロック142B1~142Biに分割されうる。ブロック142B1~142Biの各々は、NANDストリングでありうる複数のストリングを含む。各ストリングは2つのセレクトセルおよび複数のメモリセルを含んでもよく、それらは、それぞれ直列に接続されるが、これに限定されるものではない。1つのストリングの上部に配置されるセレクトセルは、ストリングを複数のビット線BL21~BL2mに接続するために構成され、ストリング選択線SSL2に適切な電圧を印加することによって制御されてもよい。1つのストリングの下部に配置されるセレクトセルは、ストリングを共通ソース線CSL2に接続するために構成され、グランド選択線GSL2に適切な電圧を印加することによって制御されてもよい。ストリングにおけるメモリセルの制御ゲートは、それぞれ複数のワード線WL21~WL2nに接続される。
【0014】
図2に図示されるように、プレーン141、142は同一構造(またはミラー構造)を有する。本実施形態においてデュアルプレーン構造が用いられるが、他の数のプレーンも本発明の範囲内で採用され得ることが認識されるべきである。その上、2次元平面メモリ構造、3次元積層構造、NANDフラッシュメモリ構造および/またはNORフラッシュメモリ構造いずれかがプレーン141、142において実装され得る。ブロック141B1~141Biおよび142B1~142Biの各々は、破線によって示されるように複数のページへ分割されてよい。一部の実施形態において、ブロックは従来の消去の単位であり、ページは従来のプログラムの単位である。しかしながら、他の消去/プログラムの単位も使用され得る。典型的に、ビット線BL11~BL1mまたはBL21~BL2mは、それぞれワード線WL11~WL1nまたはWL21~WL2nに垂直な方向にストリングの上に延び、ここではi、mおよびnは1より大きい整数であるが、これに限定されるものではない。
【0015】
当業者は、1つのストリングにおけるメモリセルの数が本発明の範囲を限定するものではないことを認識するであろう。加えて、ストリングにおけるメモリセルは浮遊ゲートトランジスタまたは電荷トラップトランジスタでありうる。各メモリセルは、1ビットデータまたは2ビット以上のデータを記憶してもよく、したがってシングルレベルセル(SLC)型、マルチレベルセル(MLC)型、トリプルレベルセル(TLC)型、クアッドレベルセル(QLC)型またはより高レベル型であってもよい。各メモリセルは、Qの取り得るプログラミング状態の1つを保ち得るが、ここでQは2以上の正の整数であり、一般にSLCの場合Q=2、MLCの場合Q=4、TLCの場合Q=8およびQLCの場合Q=16である。
【0016】
制御回路100は、ワード線ドライバ120およびビット線ドライバ131、132に結合されうる。ワード線ドライバ120は、ストリング選択線SSL1、ワード線WL11~WL1nおよびグランド選択線GSL1を介してプレーン141に結合されうる。ワード線ドライバ120は、ストリング選択線SSL2、ワード線WL21~WL2nおよびグランド選択線GSL2を介してプレーン142に結合されうる。ビット線ドライバ131は、ビット線BL11~BL1mを介してプレーン141に結合されうる。ビット線ドライバ132は、ビット線BL21~BL2mを介してプレーン142に結合されうる。プレーン141におけるメモリセルのアレイは、ワード線WL11~WL1nおよびビット線BL11~BL1mによってアドレス指定されえ、プレーン142におけるメモリセルのアレイは、ワード線WL21~WL2nおよびビット線BL21~BL2mによってアドレス指定されうる。
【0017】
制御回路100は、コントローラ、埋込みマイクロプロセッサ、マイクロコントローラ等でありうる。制御回路100は、外部ホストと通信して、プレーン141、142に記憶するためのデータを受信しても、およびプレーン141、142から取り出されたデータを送信してもよい。制御回路100は、外部ホストからコマンド、アドレスまたはデータを受信し、ビット線アドレス信号Scadr1、Scadr2およびワード線アドレス信号Sradrを発生しうる。ワード線ドライバ120は、制御回路100からのワード線アドレス信号Sradrに応答して動作して、読出、プログラム、消去および検証動作のためのワード線を選択しうる。ビット線ドライバ131、132は、制御回路100からのビット線アドレス信号Scadr1、Scadr2に応答して動作して、読出、プログラム、消去および検証動作のためのビット線を選択するビット線信号を発生しうる。一部の実施形態において、制御回路100は、読出、プログラム、消去および検証動作のための電圧を提供するための電圧基準回路を含み、ビット線ドライバ131、132およびワード線ドライバ120は、電圧を選択するためのスイッチを含む。他の実施形態において、ビット線ドライバ131、132およびワード線ドライバ120は電圧発生回路網を含み、制御回路100は、デジタル制御情報を提供して、ビット線ドライバ131、132およびワード線ドライバ120に、ビット線BL11~BL1m、BL21~BL2mおよびワード線WL11~WL1n、WL21~WL2n上に様々な電圧を駆動するように命令する。しかしながら、電圧が発生されるまたはビット線BL11~BL1m、BL21~BL2mおよびワード線WL11~WL1n、WL21~WL2nに配送される仕方は、本発明の範囲を限定するものではない。
【0018】
図3は、本発明の一実施形態に係る
図1に図示されるメモリデバイス10をプログラムするプログラミング方法30のフローチャートである。プログラミング方法30はプログラムコードへコンパイルされてよい。方法30は、制御回路100によって行われ、以下のステップを含んでよい:
ステップS300:開始。
ステップS302:第1のプレーンおよび第2のプレーンを同時にプログラムし始める。
ステップS304:第1のプレーンがプログラムされることに成功しており、第2のプレーンがまだプログラムされることに成功していない場合、第1のプレーンをバイパスし、第2のプレーンをプログラムし続ける。
ステップS306:終了。
【0019】
ステップS302において、制御回路100は、2つ以上のプレーンが同時にプログラムおよび検証され得るマルチプレーンプログラミングスキームを達成するようにメモリデバイス10の2つのプレーン(例えば、プレーン141、142)または3つ以上のプレーンを同時にプログラムし始める。しかしながら、ステップS302において、プレーン141がプログラムされることに成功しているが、プレーン142がまだプログラムされることに成功していない場合、プレーン141はバイパスされ、プレーン142は依然としてプログラムされている。いったんプレーン141が全ての検証に合格すると、プレーン141をバイパスすることによって、プログラミングディスターブが排除され得る。
【0020】
例えば、制御回路100は、プレーン141、142をプログラムするためにインクリメンタルステップパルスプログラミング(ISPP)スキームを採用しうる。本発明の一実施形態に係るプログラミング電圧の波形を例示する概要図である
図4を参照されたい。複数のプログラミングパルスVpp1~Vpp6が漸増振幅でブロックに印加されてよく、各連続するプログラミングパルス(例えば、プログラミングパルスVpp2)は、プログラミングステップサイズだけ直前のプログラミングパルス(例えば、プログラミングパルスVpp1)を超えてよい。プログラミングステップサイズは、プログラミング状態または他の要件に従って変化し得る。プログラミングパルスVpp1は、プレーン141、142を同時にプログラムし始めるために両プレーン141、142に印加されうる。他方で、プログラミングパルスVpp5が印加される前にブロック141B1がプログラムされることに成功していれば、ブロック141B1は、プログラミングパルスVpp1~Vpp4に従うだけで以後のプログラミングパルスVpp5、Vpp6をバイパスしうる。結果的に、ブロック142B1が更なるプログラミングパルス(すなわち、プログラミングパルスVpp5、Vpp6)によって、より長い時間の間(プログラミングパルスの数が大きいため)プログラムされる必要がある一方で、ブロック141B1は以後の不必要なプログラミングパルスVpp5、Vpp6のプログラミングストレスを受けないことになり、それによってブロック141B1におけるプログラミングディスターブを排除するまたは少なくとも低減させる。
【0021】
ブロック141B1は、プログラミングパルスVpp1~Vpp4に対応する第1のプログラミングパルスカウント(4に等しい)までプログラムされてもよく、ブロック142B1は、プログラミングパルスVpp1~Vpp6に対応する第2のプログラミングパルスカウント(6に等しい)までプログラムされてもよい。第1のプログラミングパルスカウントは第2のプログラミングパルスカウントより小さい。ブロック142B1は、最大プログラミングパルスカウントCpmax(所定のプログラミングパルスカウントとも称される)(例えば、6に等しい)に達するまでプログラムされ得る。ブロック142B1がまだうまくプログラムされていなければ、ブロック142B1は不良ブロックとして識別されてよい。プログラミングパルスVpp6が最大プログラミングパルスカウントCpmaxに対応する最後のプログラミングパルスであるので、制御回路100は、ブロック142B1をプログラムするのを中止しうる。制御回路100は(うまくプログラムされなかった、またはプログラムされることに成功した)ブロック141B1、142B1のプログラミングを非同時に終えるが、制御回路100は、ブロック141B1(の第3のメモリセル)が続くブロック141B2(の第1のメモリセル)およびブロック142B2(第4のメモリセル)が続くブロック142B2(の第2のメモリセル)を同時にプログラムし始める。ブロック141B1をプログラムする始まりからブロック141B2をプログラムする始まりまでの時間の長さは、ブロック142B1をプログラムする始まりからブロック142B2をプログラムする始まりまでの時間の長さに依存する。言い換えれば、2つのブロック(例えば、ブロック141B1、142B1)をプログラムする時間の長さは、正常ブロックであり得る、小さい方のプログラミングパルスカウントのブロックでなく、不良ブロックまたは悪化したブロックであり得る、大きい方のプログラミングパルスカウントのブロックに基づいて決定される。
【0022】
図5は、本発明の一実施形態に係る
図1に図示されるメモリデバイス10をプログラムするプログラミング方法50のフローチャートである。プログラミング方法50はプログラムコードへコンパイルされてよい。方法50は、制御回路100によって行われ、以下のステップを含みうる:
ステップS500:開始。
ステップS502:プログラミングパルスを印加する。
ステップS504:プログラミングパルスカウントCpを増やす。
ステップS506:少なくとも1つのプログラムされることに成功したプレーンをバイパスする。
ステップS508:全てのプレーンがバイパスされるかどうかを判定する。YesであればステップS514に進み、そうでなければステップS510に進む。
ステップS510:プログラミングパルスカウントCpが最大プログラミングパルスカウントCpmaxより小さいかどうかを判定する。YesであればステップS502に進み、そうでなければステップS512に進む。
ステップS512:プログラミング失敗を示す。
ステップS514:終了。
【0023】
マルチプレーンプログラミングの開始に応じて、プレーン141、142は、ステップS500でプログラミングのために初期化される。制御回路100は、プログラミングパルスカウントCpおよび検証カウントCvfを0などの値に設定する(すなわち、Cp=0、Cvf=0)。ステップS502において、制御回路100は、プレーン141(のブロック141B1またはページ)の第1のメモリセルおよび第2のプレーン142(のブロック142B1またはページ)の第2のメモリセルを同時にプログラムし始める。ワード線ドライバ120は、プレーン141、142の選択されたワード線にプログラミングパルス(例えば、プログラミングパルスVpp1)を印加しうる。ステップS504において、制御回路100は、プログラミングパルスカウントCpを1だけインクリメントする(Cp=1)。
【0024】
次いで、制御回路100は、プレーン141の第1のメモリセルおよびプレーン142の第2のメモリセルがプログラムされることに成功したかどうかを検証しうる。或る実施形態において、各メモリセルの閾値電圧を検証するために、
図4に図示される各プログラムパルス後に検証パルスが印加されうる。或る実施形態において、制御回路100は、第1のメモリセルおよび第2のメモリセルが1つまたは複数のプログラミング状態に達したかどうかを検証しうる。或る実施形態において、選択されたビット線上の第1のメモリセルおよび第2のメモリセルから、それぞれデータが読み出されてよい。読み出されたデータが誤っていれば、制御回路100は、それぞれの第1のメモリセルまたはそれぞれの第2のメモリセルを不合格と検証してよい。読み出されたデータが正しければ、制御回路100は、それぞれの第1のメモリセルまたはそれぞれの第2のメモリセルを合格と検証してよい。第1のメモリセルおよび第2のメモリセルの検証後に、制御回路100は、検証カウントCvfを1だけインクリメントする(Cvf=1)。一部の実施形態において、それぞれの予め設定された数より多くの第1のメモリセルまたは第2のメモリセルがプログラミング状態の1つに達しなかったならば、制御回路100は、第1のメモリセルまたは第2のメモリセルを不合格と検証することになる。それぞれの予め設定された数より少ない第1のメモリセルまたは第2のメモリセルがプログラミング状態に達しなかったならば、制御回路100は、プレーン141、142を合格と検証することになる。一部の実施形態において、プログラミング状態の各々に対してプログラムされることに成功できない第1のメモリセルまたは第2のメモリセルの数がそれぞれの予め設定された数より少なければ、第1のメモリセルまたは第2のメモリセルは合格と判定される。
【0025】
プログラミングディスターブを低減させるために、いずれかのプレーンがプログラムされることに成功して(かつ合格と検証されて)いれば、制御回路100は、ステップS506において以後のプログラミングにおいて(プログラムされることに成功した)プレーンをバイパスする。しかしながら、制御回路100は、ステップS506においてまだプログラムされることに成功していないその他のプレーンをプログラムし続ける。制御回路100は、一時停止信号Sss1を論理ローに設定する一方で主信号Smnを論理ハイに維持して、プレーン141をバイパスし、プレーン142のプログラミングを続ける。いったんプレーン141が全ての検証に合格するとプレーン141を一時停止することによって、プログラミングディスターブが排除され得る。一部の実施形態において、予め設定された数より少ない第1のメモリセルがまだ合格と検証されていないが予め設定された数より多くの第2のメモリセルが不合格と検証された場合に、プレーン141は一時停止され、プレーン142はまだプログラムされている。プレーン141の第1のメモリセルは次のプログラミングにおいてバイパスおよび保存されることになる一方で、プレーン142の第2のメモリセルは次のプログラミングにおいてまだプログラムされることになる。言い換えれば、プレーン141の第1のメモリセルに対する第1のプログラミングプロセスおよびプレーン142の第2のメモリセルに対する第2のプログラミングプロセスは同時に開始されるが非同時に終わる。プレーン141の第1のメモリセルがバイパスされるときにプレーン141を一時停止することによって、プレーン141におけるプログラミングディスターブが排除され得る。
【0026】
ステップS508において、制御回路100は、マルチプレーンプログラミングスキームに対するプレーン141、142の全てがバイパスされるかどうかを判定する。プレーン141、142の全てがバイパスされていれば、マルチプレーンプログラミングスキームは完了される。プレーン141、142のいずれかがまだ一時停止されていなければ、制御回路100は、ステップS510においてプログラミングパルスカウントCpが最大プログラミングパルスカウントCpmaxより小さいかどうかを判定する。プログラミングパルスカウントCp(例えば、Cp=1)が最大プログラミングパルスカウントCpmax(例えば、Cpmax=6)より小さければ、制御回路100は、プログラミングパルスカウントCpが最大プログラミングパルスカウントCpmaxに達するまでステップS502~ステップS508にわたって繰り返す。例えば、別のプログラミングパルス(例えば、順にプログラミングパルスVpp2、Vpp3、...、またはVpp6)がステップS502において非バイパスプレーンの選択されたワード線に印加され、制御回路100は、ステップS504において再びプログラミングパルスカウントCpを1だけインクリメントする。
【0027】
プログラミングパルスVpp4が印加された後にプレーン141の第1のメモリセルがバイパスされれば、プログラミングパルスカウントCpは4まで増えて第1のプログラミングパルスカウントとして機能する。その上、検証カウントCvfは4以上でありえ、検証されるべき第1のメモリセルに対する第1の回数として機能し得る。同様に、プログラミングパルスVpp6が印加された後にプレーン142の第2のメモリセルがバイパスされれば、プログラミングパルスカウントCpは6まで増えて第2のプログラミングパルスカウントとして機能する。あるいは、最後のプログラミングパルス(すなわち、プログラミングパルスVpp6)が印加された後にプレーン142の第2のメモリセルがプログラムされることに成功することができない(したがって使用不能であり得る)場合、プログラミングパルスカウントCpは同じく6まで増えて、最大プログラミングパルスカウントCpmaxに等しくなる。これらの場合、検証カウントCvfは6以上であり、検証されるべき第2のメモリセルに対する第2の回数として機能する。第1のメモリセルに対応する第1のプログラミングパルスカウントは、第2のメモリセルに対応する第2のプログラミングパルスカウントより少ない。検証されるべき第1のメモリセルに対する第1の回数は、検証されるべき第2のメモリセルに対する第2の回数より少ない。
【0028】
プログラミングパルスVpp5が印加される前に第1のメモリセルがプログラムされることに成功しているので、第1のメモリセルは、プログラミングパルスVpp1~Vpp4に従うだけで以後のプログラミングパルスVpp5、Vpp6をバイパスしてよい。したがって、第2のメモリセルが更なるプログラミングパルスVpp5、Vpp6によって、より長い時間の間プログラムされる必要がある一方で、第1のメモリセルは以後のプログラミングパルスVpp5、Vpp6のプログラミングストレスを受けないことになり、それによってブロック141B1におけるプログラミングディスターブを排除するかまたは少なくとも低減させる。
【0029】
プログラミングパルスカウントCp(または第2のプログラミングパルスカウント)が最大プログラミングパルスカウントCpmax以上であれば、もしあるならば非バイパスプレーン(例えば、プレーン142)に対するプログラミング失敗を報告するようにステップS512において制御回路100にプログラミング失敗報告が送信される。言い換えれば、第2のメモリセルは、最大プログラミングパルスカウントCpmaxに達するまでプログラムされ得る。一部の実施形態において、プログラミングパルスカウントCp(または第2のプログラミングパルスカウント)が最大プログラミングパルスカウントCpmaxに等しいときに、制御回路100は、第2のメモリセルをプログラムするのを中止しうる。
【0030】
当業者が種々の変更および修正を直ちになし得ることが注目に値する。例えば、プレーン141(の第1のメモリセル)をバイパスするために、プレーン選択信号またはブロック選択信号が遮られうる。あるいは、プレーン141(の第1のメモリセル)をバイパスするためにプレーン141の全てのワード線WL11~WL1nまたは全てのビット線BL11~BL1mが選択解除される。
図6は、本発明の一実施形態に係る
図1に図示される制御回路100における選択された回路の概要図である。制御回路100は、それぞれプレーン141および142へのアクセスを制御するANDゲート101および102を含みうる。ANDゲート101は、プレーンアドレス信号Spr1、ディスエーブル信号Sdb1、主信号Smnまたは一時停止信号Sss1を受信してプレーン選択信号Ssp1を発生しうる。ANDゲート102は、プレーンアドレス信号Spr2、ディスエーブル信号Sdb2、主信号Smnまたは一時停止信号Sss2を受信してプレーン選択信号Ssp2を発生しうる。一部の実施形態において、制御回路100は、主信号Smnを論理ハイに設定してメモリデバイス10のプログラミングを続けても、主信号Smnを論理ローに設定してメモリデバイス10のプログラミングを止めてもよい。一部の実施形態において、制御回路100は、プログラム検証動作から抜けた上でプログラミング結果を示し得る、プログラミング失敗報告が受信されると、ディスエーブル信号Sdb1、Sdb2を発生しうる。一部の実施形態において、一時停止信号Sss1、Sss2は、検証結果が合格であるか不合格であるかを示してよい。
【0031】
一部の実施形態において、ディスエーブル信号Sdb1、Sdb2は、プログラミング状態カウンタ、検証カウントCvf、プログラミングパルスカウントCpまたは最大プログラミングパルスカウントCpmaxと関連付けられてよい。最大プログラミングパルスカウントCpmaxは、プレーン141、142にプログラミングパルスを印加する最大回数を定めてよい。プログラミング状態カウンタは、目標プログラミング状態または現在のプログラミング状態と関連付けられてよい。具体的には、第1のメモリセルおよび第2のメモリセルは最初に消去状態に設定されてよく、後に、第1のメモリセルおよび第2のメモリセルに一連のプログラム検証動作が行われて、第1のメモリセルおよび第2のメモリセルをそれぞれの目標プログラミング状態へプログラムしてよい。一連のプログラム検証動作は、最低プログラミング状態から始まって、選択されたメモリセルの閾値電圧がそれぞれの目標プログラミング状態のそれぞれの検証電圧レベルに達するまで、より高いプログラミング状態に進んでよい。一部の実施形態において、検証電圧は、それぞれプログラミング状態の閾値電圧分布曲線の最低閾値電圧として選択されてよい。各プログラム検証動作はプログラミング動作および次の検証動作を含んでよい。
【0032】
制御回路100は、プレーン選択信号Ssp1に従ってビット線アドレス信号Scadr1を発生し、プレーン選択信号Ssp2に従ってビット線アドレス信号Scadr2を発生し、プレーン選択信号Ssp1、Ssp2に従ってワード線アドレス信号Sradrを発生しうる。一部の実施形態において、プレーン141を一時停止すると決定されると、制御回路100は、一時停止信号Sss1を論理ローに設定してよく、ANDゲート101は、プレーン選択信号Ssp1を論理ローに設定することによって一時停止信号Sss1に応答してプレーン選択信号Ssp1を遮っても、制御回路100は、プレーン141のワード線WL11~WL1nおよびビット線BL11~BL1mを選択解除するワード線アドレス信号Sradrおよびビット線アドレス信号Scadr1を発生しうる。同様に、プレーン142を一時停止すると決定されると、制御回路100は、一時停止信号Sss2を論理ローに設定してよく、ANDゲート102は、プレーン選択信号Ssp2を論理ローに設定することによって一時停止信号Sss2に応答してプレーン選択信号Ssp2を遮ってもよく、制御回路100は、プレーン142のワード線WL21~WL2nおよびビット線BL21~BL2mを選択解除するワード線アドレス信号Sradrおよびビット線アドレス信号Scadr2を発生しうる。例えば、ワード線WL11~WL1n、WL21~WL2nまたはビット線BL11~BL1m、BL21~BL2mは、ワード線WL11~WL1n、WL21~WL2nまたはビット線BL11~BL1m、BL21~BL2mを選択解除するように浮遊状態に入れられても、低電圧にさらされても、または接地されてもよい。
【0033】
一部の実施形態において、ANDゲート101は、プレーンアドレス信号Spr1の代わりに第1のブロックアドレス信号を受信して第1のブロック選択信号(プレーン選択信号Ssp1に取って代わる)を発生してよく、ANDゲート102は、プレーンアドレス信号Spr2の代わりに第2のブロックアドレス信号を受信して第2のブロック選択信号(プレーン選択信号Ssp2に取って代わる)を発生しうる。制御回路100は、第1のブロック選択信号に従ってビット線アドレス信号Scadr1を発生し、第2のブロック選択信号に従ってビット線アドレス信号Scadr2を発生し、第1のブロック選択信号および第2のブロック選択信号に従ってワード線アドレス信号Sradrを発生しうる。一部の実施形態において、ブロック141B1を一時停止すると決定されると、制御回路100は、一時停止信号Sss1を論理ローに設定してよく、ANDゲート101は、第1のブロック選択信号を論理ローに設定することによって一時停止信号Sss1に応答して第1のブロック選択信号を遮ってもよく、制御回路100は、プレーン141のワード線WL11~WL1nおよびビット線BL11~BL1mを選択解除するワード線アドレス信号Sradrおよびビット線アドレス信号Scadr1を発生しうる。同様に、ブロック142B1を一時停止すると決定されると、制御回路100は、一時停止信号Sss2を論理ローに設定してよく、ANDゲート102は、第2のブロック選択信号を論理ローに設定することによって一時停止信号Sss2に応答して第2のブロック選択信号を遮ってもよく、制御回路100は、プレーン142のワード線WL21~WL2nおよびビット線BL21~BL2mを選択解除するワード線アドレス信号Sradrおよびビット線アドレス信号Scadr2を発生しうる。
【0034】
要約すると、本発明は、マルチプレーンプログラミングスキームを達成するようにメモリデバイスの少なくとも2つのプレーンを同時にプログラムする。少なくとも1つのプレーンがプログラムされることに成功しているがその他のプレーンはまだプログラムされることに成功していない場合に、少なくとも1つのプレーンはバイパスされ、その他のプレーンはまだプログラムされている。いったん少なくとも1つのプレーンが全ての検証に合格すると少なくとも1つのプレーンをバイパスすることによって、少なくとも1つのプレーンにおけるプログラミングディスターブが排除され得る。
【0035】
当業者は、本発明の教示を保持しつつデバイスおよび方法の多数の修正および変更がなされ得ることを直ちに認めるであろう。それに応じて、以上の開示は、添付の請求項の範囲によってのみ限定されると解釈されるべきである。
【符号の説明】
【0036】
10 メモリデバイス
100 制御回路
101、102 ANDゲート
120 ワード線ドライバ
131、132 ビット線ドライバ
141、142 プレーン
141B1~141Bi、142B1~142Bi ブロック
BL11~BL1m、BL21~BL2m ビット線
CSL1、CSL2 共通ソース線
GSL1、GSL2 グランド選択線
Scadr1、Scadr2 ビット線アドレス信号
Sdb1、Sdb2 ディスエーブル信号
Smn 主信号
Spr1、Spr2 プレーンアドレス信号
Sradr ワード線アドレス信号
SSL1、SSL2 ストリング選択線
Ssp1、Ssp2 プレーン選択信号
Sss1、Sss2 一時停止信号
Vpp1~Vpp6 プログラミングパルス
WL11~WL1n、WL21~WL2n ワード線