(57)【要約】【課題】マルチプレーン構造を有するＮＡＮＤ型フラッシュにおいて、プログラム時間を短縮できるプログラム方法を提供する。【解決手段】Ｎ個のプレーンのそれぞれのページバッファに順次データをローディングしていきながら、その際に、各プレーンにおいてそのページバッファ内へのデータローディングが終了し次第、そのページバッファにローディングされたデータを当該プレーンの選択されたメモリセルブロック内の該当ページにプログラムしていくとともに、次のプレーンのページバッファへのデータローディングを開始する。【選択図】図４
2007080475.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも二つのプレーンを有する不揮発性メモリ装置のプログラム方法であって、
前記少なくとも二つのプレーンの各ページバッファに順次データをローディングしていく中で、１番目に選択されたプレーンのページバッファへのデータローディングが終了すれば、２番目に選択されたプレーンのページバッファへのデータローディングを開始するとともに、１番目のプレーンのページバッファ内へのローディングが完了したデータの該当ページへのプログラムを開始していき、最後に選択されたプレーンのページバッファ内へのローディングが完了したデータまで、順次それぞれのプレーンの該当ページにプログラムする
ことを特徴とする、マルチプレーン構造を有する不揮発性メモリ装置のプログラム方法。
【請求項２】
請求項１に記載のプログラム方法において、
前記少なくとも二つのプレーンの各ページバッファに順次データをローディングしていくとき、その選択順序は特定の順序に拘束されることなくランダムに選択してデータをローディングしていく
ことを特徴とするプログラム方法。
【請求項３】
Ｎ（Ｎは自然数）個のプレーンを有する不揮発性メモリ装置のプログラム方法であって、
前記Ｎ個のプレーンの中の一部の選択されたプレーンの各ページバッファに順次データをローディングしていく中で、１番目に選択されたプレーンのページバッファへのデータローディングが終了すれば、２番目に選択されたプレーンのページバッファへのデータローディングを開始するとともに、１番目のプレーンのページバッファ内へのローディングが完了したデータの当該ページへのプログラムを開始していき、最後に選択されたプレーンのページバッファ内へのローディングが完了したデータまで、順次それぞれのプレーンの該当ページにプログラムする
ことを特徴とする、マルチプレーン構造を有する不揮発性メモリ装置のプログラム方法。
【請求項４】
請求項３に記載のプログラム方法において、
前記Ｎ個のプレーンの中の一部のプレーンを選択するとき、その選択順序は特定の順序に拘束されることなくランダムにプレーンを選択する
ことを特徴とするプログラム方法。
【請求項５】
請求項１または３に記載のプログラム方法において、
それぞれのプレーンの該当ページにプログラムする前記プログラム動作は、そのプレーンの該当ページへのプログラムより前になされる別のプレーンの該当ページにプログラムするプログラム動作の終了の如何に関係なく、そのプレーンのページバッファ内へのデータのローディングが終了したときに開始される
ことを特徴とするプログラム方法。
【請求項６】
請求項１または３に記載のプログラム方法において、
前記プレーンの中の１つのプレーンのページバッファへのデータローディング時間が１つのプレーンのページバッファ内にローディングされたデータをそのプレーンの該当ページにプログラムする時間より短い場合には、前記データローディングが順次終了する順にそのローディングされたデータをそのプレーンの該当ページに順次プログラムする
ことを特徴とするプログラム方法。
【請求項７】
請求項１または３に記載のプログラム方法において、
前記プレーンの中の１つのプレーンのページバッファへのデータローディング時間が１つのプレーンのページバッファ内にローディングされたデータをそのプレーンの該当ページにプログラムする時間より長い場合には、前記データローディング時間を待ってからそのプレーンの該当ページへのデータプログラム動作を行う
ことを特徴とするプログラム方法。
【請求項８】
請求項１または３に記載のプログラム方法において、
前記全てのプレーン全体のプログラム時間は、（一つのプレーンのページバッファ内へのデータローディング時間×プログラムするページ数）＋最後に選択されたプレーンのメモリセルのページにデータをプログラムする時間である
ことを特徴とするプログラム方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、不揮発性メモリ装置のプログラム方法に関し、特にマルチプレーン構造を有するＮＡＮＤ型フラッシュメモリ装置のプログラム方法に関する。
【背景技術】
【０００２】
ＮＡＮＤ型フラッシュメモリ装置は、例えば４プレーン構造の場合、８ページ分をプログラムする（データを書き込む）のに数百μｓ以上掛かり、プログラム速度が遅いため、プログラム速度を上げることが重要な要求であり、プログラム速度の高いことがチップの性能を示す重要なパラメータとなる。プログラム速度を上げるために、キャッシュプログラム方式、マルチページプログラム方式などの様々なプログラム動作方式が提案されてきている。
【０００３】
図１は、マルチプレーン構造を有するＮＡＮＤ型フラッシュメモリ装置のマルチページ方式によるプログラム方法を示す。図では、時間の進行を左から右へ横軸に取ってある。なお、図中、○で囲んだ数字は、本文中では、使用許容文字の制限のため、記号「＠」の後に当該数字を記して表す。
【０００４】
図１を参照すれば、マルチページプログラム方法は、全体プレーン（例えば、４つのプレーン）の各ページバッファ（図示せず）で順次データをローディング（＠１は１番目のプレーンのページバッファへのデータローディング、＠２は２番目のプレーンのページバッファへのデータローディング、＠３は３番目のプレーンのページバッファへのデータローディング、＠４は４番目のプレーンのページバッファへのデータローディングを表す）した後に、全体プレーン内の各ページバッファにローディングされたデータを同時に（４ページ分を一回に）メモリセルにプログラム（＠５はプログラム動作を表す)するという方式である。
【０００５】
例えば、４プレーン構造を有するＮＡＮＤ型フラッシュメモリ装置において、一つのページバッファが２ＫＢ（キロバイト）、ページバッファの１Ｂ（バイト）にデータをローディングする時間が２５ｎｓ（ナノ秒）、１ページのプログラム時間が１５０μｓ（マイクロ秒）である場合、一回に８ページ分を連続的にプログラムするのにかかる時間は、５０μｓ＋５０μｓ＋５０μｓ＋５０μｓ＋１５０μｓ＋５０μｓ＋５０μｓ＋５０μｓ＋５０μｓ＋１５０μｓ＝７００μｓである。すなわち、８ページ分をプログラムする場合、４ページずつの２処理群に分けて、初めの４ページを同時にプログラムした後に、次の４ページを同時にプログラムする。上記において、５０μｓは、５０μｓ＝２５ｎｓ×２Ｋで計算した値である。なお、図面では、作図ソフトウエアの制約上、「μ」の文字を類似の文字「ｕ」で代用してある。
【０００６】
このようなマルチページプログラム方法は、連続的にページを引き続いてプログラムする場合に、プログラム（書き込み）の性能が低下するという問題点がある。
【０００７】
図２は、キャッシュラッチを有するＮＡＮＤ型フラッシュメモリ装置のキャッシュプログラム方式によるプログラム方法を示す。
【０００８】
図２を参照すれば、キャッシュプログラム方法は、単一のプレーン内でキャッシュラッチ（図示せず）を用いてデータをローディングする時間（＠１はキャッシュラッチにデータをローディングする時間、＠１’はキャッシュラッチからメインラッチ（図示せず）にデータをローディングする時間）がプログラムする時間（＠２）の中に埋められるようにして、一つのページをプログラムする方法である。
【０００９】
例えば、キャッシュラッチを有するＮＡＮＤ型フラッシュメモリ装置において、一つのページバッファが２ＫＢであり、ページバッファの１Ｂにデータをローディングする時間が２５ｎｓであり、１ページのプログラム時間が１５０μｓである場合、一回に８ページ分を連続的にプログラムするのに掛かる時間は、５０μｓ＋（１５０μｓ×８）＝１２５０μｓである。すなわち、一度のプログラムを行う場合、１ページずつを８回行う。ここで、５０μｓ＝２５ｎｓ×２Ｋである。
【００１０】
このようなキャッシュプログラム方法は、キャッシュラッチを追加で必要とすることになり、また、一つのプレーン内から連続的に動作するため、一回にプログラムされる全体セルの数は、１ページを超えることができないという短所がある。
【００１１】
図３は、一般的なＮＡＮＤ型フラッシュメモリ装置のプログラム方法を示す。
【００１２】
図３を参照すれば、一般的なプログラム方法は、単一プレーン内でページバッファ（図示せず）にデータをローディングする時間（＠１）とプログラムする時間（＠２）を全て用いて一つのページをプログラムする方式である。
【００１３】
例えば、一般的なＮＡＮＤ型フラッシュメモリ装置において、一つのページバッファが２ＫＢであり、ページバッファの１Ｂにデータをローディングする時間が２５ｎｓであり、１ページのプログラム時間が１５０μｓである場合、一回に８ページ分を連続的にプログラムするのに掛かる時間は、（５０μｓ＋１５０μｓ）×８＝１６００μｓである。ここで、５０μｓ＝２５ｎｓ×２Ｋである。この一般的なＮＡＮＤ型フラッシュメモリ装置も、一度にプログラムする分は、１ページずつ８回で行う。
【００１４】
このような一般的なＮＡＮＤ型フラッシュメモリ装置は、一つのページをプログラムするときにデータ入力時間とデータプログラム時間が個々に全て掛かるため、マルチページプログラム方式やキャッシュプログラム方式に比べて、遥かに長いプログラム時間が掛かる。
【発明の開示】
【発明が解決しようとする課題】
【００１５】
この発明が解決しようとする技術的課題は、マルチプレーン構造を有するＮＡＮＤ型フラッシュ装置において、データプログラム動作がデータローディング時間内に行われるようにして、プログラム時間を短縮できるプログラム方法を提供することにある。
【課題を解決するための手段】
【００１６】
上述の課題を解決するために案出されたこの発明は、少なくとも二つのプレーンを有する不揮発性メモリ装置のプログラム方法であって、全部のプレーンの各ページバッファに順次データをローディングしていく中で、１番目に選択されたプレーンのページバッファへのデータローディングが終了すれば、１番目のプレーンのページバッファ内へのローディングが完了したデータの当該プレーンの該当ページへのプログラムを開始していき、最後に選択されたプレーンのページバッファ内へのローディングが完了したデータまで、順次それぞれのプレーンの該当ページにプログラムする。
【００１７】
さらにまた、上述の課題を解決するために案出されたこの発明は、Ｎ個（Ｎは、自然数）のプレーンを有する不揮発性メモリ装置のプログラム方法であって、Ｎ個のプレーンの中の一部の選択されたプレーンの各ページバッファに順次データをローディングしていく中で、１番目に選択されたプレーンのページバッファへのデータローディングが終了すれば、１番目のプレーンのページバッファ内へのローディングが完了したデータの当該プレーンの該当ページへのプログラムを開始していき、最後に選択されたプレーンのページバッファ内へのローディングが完了したデータまで、順次それぞれのプレーンの該当ページにプログラムする。
【発明の効果】
【００１８】
この発明によれば、データプログラム時間がデータローディング時間の中入るようにすることにより、全体としてのプログラム時間を画期的に短縮することができる。
【００１９】
また、従来のキャッシュプログラム方式の場合、各ページバッファごとにラッチを２個ずつ設けて、プログラム中のデータと次にプログラムするデータとをそれぞれ保管しなければならないため、ページバッファの大きさが大きくならなければならない負担があったが、この発明では、他のページバッファにデータローディングしている間に、データをプログラムすることにより、他のページバッファのラッチが一種のキャッシュバッファの役割をして、１つのページバッファ当り１つのラッチだけで以て、キャッシュプログラム方式の場合と類似したプログラム動作が可能である。
【発明を実施するための最良の形態】
【００２０】
以下、添付の図面を参照しながら、この発明の望ましい実施例を詳細に説明する。しかし、この発明は、以下で開示される実施例に限定されるものではなく、互いに異なる多様な形態で具現されることができ、これら実施例は、単に、この発明の開示が完全であるようにし、通常の知識を有する者に発明の範疇を完全に知らせるために、提供されるものである。図面において、同一の参照符号は、同じ機能を遂行する同一部材を示す。
【００２１】
図４〜図６は、この発明の望ましい実施例による、マルチプレーン構造を有するＮＡＮＤ型フラッシュメモリ装置のマルチページプログラム方法を示す。
【００２２】
図４を参照すれば、マルチプレーン構造を有するＮＡＮＤ型フラッシュメモリ装置は、４つのプレーンＰＮ＜０＞〜ＰＮ＜３＞を含む。ここでは、プレーンが４つの場合で示されているが、プレーンはより多くの複数個存在するものする。プレーンＰＮ＜０＞〜ＰＮ＜３＞のそれぞれは、ｋ＋１個のメモリセルブロックＭＢ＜０＞〜ＭＢ＜ｋ＞を含む。メモリセルブロックＭＢ＜０＞〜ＭＢ＜ｋ＞のそれぞれは、ｎ＋１個のワードラインＷＬ０〜ＷＬｎによりそれぞれ制御されるｎ＋１個のページＰＧ＜０＞〜ＰＧ＜ｎ＞で構成される。図面では、作図の便宜上、プレーンＰＮ＜０＞〜ＰＮ＜３＞のそれぞれにページバッファＰＢ＜０＞〜ＰＢ＜３＞が１個ずつの枠で描かれているが、これらページバッファＰＢ＜０＞〜ＰＢ＜３＞のそれぞれは、ビット線対の数だけのページバッファ回路（一対のビット線対に一個のページバッファ回路）が連結されていると理解されたい。
【００２３】
図４は、マルチプレーン構造を有するＮＡＮＤ型フラッシュメモリ装置のマルチページプログラム方法を説明するブロック図であり、図５は、図４に示した４プレーン構造を有するＮＡＮＤ型フラッシュメモリ装置において、プレーンＰＮ＜０＞〜＜３＞に掛けて４ページ分のプログラムを行う場合のプログラム方法を説明するタイミング図であり、図６は、図４に示した４プレーン構造を有するＮＡＮＤ型フラッシュメモリ装置において、８ページ分のプログラムを行う場合のプログラム方法を説明するタイミング図である。
【００２４】
図４を参照すると、全体プレーン（例えば、４プレーンＰＮ＜０＞〜ＰＮ＜３＞）内の各ページバッファＰＢ＜０＞〜ＰＢ＜３＞にデータをローディングする場合に、まず、１番目のプレーンＰＮ＜０＞用のデータをページバッファＰＢ＜０＞にローディングする（＠１番）。その１番目のプレーンＰＮ＜０＞内のページバッファＰＢ＜０＞へのデータローディング（＠１番）が終了すれば、このページバッファＰＢ＜０＞内にローディングされたデータを１番目のプレーンＰＮ＜０＞内の選択されたメモリブロック（例えば、ＭＢ＜０＞）内の該当ページＰＧ＜０＞にプログラム（＠２番）し始めるとともに、２番目のプレーンＰＮ＜１＞用のデータをそのページバッファＰＢ＜１＞にローディング（＠２番）し始める。
【００２５】
次に、１番目のプレーンＰＮ＜０＞のデータのプログラム中（＠２番）に２番目のプレーンＰＮ＜１＞のページバッファＰＢ＜１＞へのデータローディング（＠２番）が終了すれば、１番目のプレーンＰＮ＜０＞のデータプログラム（＠２番）の終了の如何に関係なく、２番目のプレーンＰＮ＜１＞のページバッファＰＢ＜１＞内にローディングされたデータを２番目のプレーンＰＮ＜１＞内の選択されたメモリブロック（例えば、ＭＢ＜０＞）内の該当ページＰＧ＜０＞にプログラム（＠３番）し始めるとともに、３番目のプレーンＰＮ＜２＞用のデータをそのページバッファＰＢ＜２＞にローディング（＠３番）し始める。
【００２６】
次いで、２番目のプレーンＰＮ＜１＞のデータプログラム中（＠３番）に３番目のプレーンＰＮ＜２＞のページバッファＰＢ＜２＞へのデータローディング（＠３番）が終了すれば、２番目のプレーンＰＮ＜１＞のデータプログラム（＠３番）の終了の如何に関係なく、３番目のプレーンＰＮ＜２＞のページバッファＰＢ＜２＞内にローディングされたデータを３番目のプレーンＰＮ＜２＞内の選択されたメモリブロック（例えば、ＭＢ＜０＞）内の該当ページＰＧ＜０＞にプログラム（＠４番）し始めるとともに、４番目のプレーンＰＮ＜３＞用のデータをそのページバッファＰＢ＜３＞にローディング（＠４番）し始める。
【００２７】
最後に、３番目のプレーンＰＮ＜２＞のデータプログラム中（＠４番）に４番目のプレーンＰＮ＜３＞のページバッファＰＢ＜３＞へのデータローディング（＠４番）が終了すれば、３番目のプレーンＰＮ＜２＞のデータプログラム（＠４番）の終了の如何に関係なく、４番目のプレーンＰＮ＜３＞のページバッファＰＢ＜３＞内にローディングされたデータを４番目のプレーンＰＮ＜３＞内の選択されたメモリブロック（例えば、ＭＢ＜０＞）内の該当ページＰＧ＜０＞にプログラム（＠５番）し始める。
【００２８】
上記の説明では、いずれのメモリプレーンにおいても一つのプレーンのページバッファへのデータローディング時間が、一つのプレーンのページバッファ内にローディングされたデータをそのプレーンの該当ページにプログラムする時間より短い場合であったので、各プレーンのページバッファへのデータローディングが終了する順にそのローディングされたデータをそのプレーンの該当ページにプログラムしていくという要領で、複数のメモリプレーンについて順次プログラム動作を進めた。
【００２９】
しかしながら、逆に、プログラムすべく選択された一つのプレーンのページバッファへのデータローディング時間が、その一つ前に選択されたプレーンのページバッファ内にローディングされたデータを当該一つ前に選択されたプレーンの該当ページにプログラムする時間より長い場合には、前記選択された一つのプレーンのページバッファへのデータローディングが終了するのを待ってから、そのプレーンの該当ページへのデータプログラム動作を開始するとともに、次に選択されるプレーンのページバッファへのデータローディングを開始する。
【００３０】
このように、前のプレーンにおいて、そのページバッファへのデータローディングが終了し次第、そのプレーン内の該当ページへのプログラムを開始するとともに、次のプレーンのページバッファへのデータローディングを開始するので、複数のプレーンに対して次々とデータローディングしていけるので、例えば、４プレーン構造を有するＮＡＮＤ型フラッシュメモリ装置において、一つのページバッファが２ＫＢ、ページバッファの１Ｂにデータをローディングする時間が２５ｎｓ、１ページのプログラム時間が１５０μｓである場合、８ページ分を連続的にプログラムするのに掛かる時間は、（５０μｓ×８）＋１５０μｓ＝５５０μｓである。ここで、５０μｓ＝２５ｎｓ×２Ｋである。
【００３１】
従来のマルチページプログラム方法では、８ページをプログラムする場合に、データを４つのページバッファに順次入力した後に、最初の４ページ分のデータを同時にメモリセルにプログラムし、その後に再びデータを４つのページバッファに順次入力した後に、次の４ページ分を同時にプログラムするのに対して、この発明によるマルチページプログラム方法では、８ページをプログラムする場合、データを４つのページバッファに順次入力し、その後に再びデータを４つのページバッファに順次入力するが、このとき、第１ページバッファから第８のページバッファまでのデータローディングが順次終了するごとに、各データローディングの終了とともにそのデータプログラム動作を開始する。
【００３２】
すなわち、この発明は、各プレーンのデータローディング時間と別のプレーンのデータプログラム時間とが重なるようにして動作させるものである。このようにデータローディング時間とデータプログラム時間が重なる方法としては、従来のキャッシュプログラム方法があるが、キャッシュプログラム方法では、データローディング時間がプログラム時間の中に埋められて８ページ分をプログラムする際に、１番目の一回のデータローディング時間に加えて８回のプログラム時間が掛かることになるの対して、この発明では、８ページ分をプログラムする際に、８回のデータローディング時間に加えて最後の一回のデータプログラム時間が掛かることになる。
【００３３】
上述したとおりにプログラム動作を進行させれば、従来方法で８ページをプログラムするのに、マルチページプログラム方法では７００μｓ、キャッシュプログラム方法では１２５０μｓ、一般的なプログラム方法では１６００μｓのプログラム時間が掛かったが、この発明では、８ページをプログラムするのに５５０μｓのプログラム時間が掛かることですむ。
【００３４】
したがって、この発明のプログラム方法によれば、従来のプログラム方法よりプログラム時間を相当に短縮するすことができる。
【００３５】
上述の説明では、各プレーンＰＮ＜０＞〜ＰＮ＜３＞内の各ページバッファＰＢ＜０＞〜ＰＢ＜３＞へのデータローディングがその順序で順次なされる場合について説明したが、データローディングは、一部のプレーンでのみ行われてもよい。例えば、４つのプレーンが存在する場合に、１番目、３番目、及び４番目のプレーンでデータローディングが行われてもよく、２番目と４番目のプレーンでのみデータローディングが行われてもよい。すなわち、４つのプレーンの中の一部のプレーンを選択する場合に、順序に関係なくランダムにプレーンを選択してもよい。
【００３６】
上記で説明したこの発明の技術的思想は、望ましい実施例で具体的に記述されたが、上記の実施例は、その説明のためのものであり、その制限のためのものでないことを注意すべきである。また、この発明は、この発明の技術分野において通常の技術を有する者であれば、この発明の技術的思想の範囲内で多様な実施例が可能であることを理解することができるものである。
【図面の簡単な説明】
【００３７】
【図１】従来のマルチプレーン構造を有するＮＡＮＤ型フラッシュメモリ装置のマルチページプログラム方法を説明する図面である。
【図２】従来のキャッシュラッチを有するＮＡＮＤ型フラッシュメモリ装置のキャッシュプログラム方法を説明する図面である。
【図３】一般的なＮＡＮＤ型フラッシュメモリ装置のプログラム方法を説明する図面である。
【図４】この発明の望ましい実施例によるマルチプレーン構造を有するＮＡＮＤ型フラッシュメモリ装置のマルチページプログラム方法を説明するブロック図である。
【図５】この発明の望ましい実施例によるマルチプレーン構造を有するＮＡＮＤ型フラッシュメモリ装置のマルチページプログラム方法を説明するタイミング図である。
【図６】この発明の望ましい実施例によるマルチプレーン構造を有するＮＡＮＤ型フラッシュメモリ装置のマルチページプログラム方法を説明するタイミング図である。
【符号の説明】
【００３８】
ＰＮ  …  プレーン
ＭＢ  …  メモリセルブロック
ＰＢ  …  ページバッファ
ＰＧ  …  ページ
【図１】
2007080475.tif 000003
【図２】
2007080475.tif 000004
【図３】
2007080475.tif 000005
【図４】
2007080475.tif 000006
【図５】
2007080475.tif 000007
【図６】
2007080475.tif 000008