(57)【要約】      （修正有）【課題】セル電圧の移動経路に応じてプログラム開始電圧を設定し、プログラム時間を改善するプログラム方法。【解決手段】多値フラッシュメモリ素子において、第１電圧レベルのセルに対して設定された第１開始電圧からプログラムを行う（〜Ｓ４０７）。第１検証電圧によって第１電圧レベルのセルに対してプログラムがパスされたか否かを判断する（Ｓ４１１）。パスされていない場合、順次電圧を増加させて再度プログラムを実行する。プログラムがパスされておれば、ステップＳ４１７以下において、現在のプログラム電圧と第２電圧レベルのセルに対して設定された第２開始電圧とを比較する。その結果から、現在のプログラム電圧または前記第２開始電圧からプログラムを実行し、第２検証電圧によって前記第２電圧レベルのセルに対してプログラムがパスされたか否かを判断する（Ｓ４２５）。パスされていない場合、順次電圧を増加させて再度プログラムを実行する。【選択図】図４
2008181630.tif 000002
【特許請求の範囲】
【請求項１】
それぞれの電圧レベルを有するマルチレベルセルを含むフラッシュメモリ素子のプログラム方法において、
第１電圧レベルのセルに対して設定された第１開始電圧からプログラムを行う工程と、
第１検証電圧によって前記第１電圧レベルのセルに対してプログラムがパスされたか否かを判断し、パスされていない場合は順次電圧を増加させて再度プログラムを実行する工程と、
前記プログラムがパスされておれば、現在のプログラム電圧と第２電圧レベルのセルに対して設定された第２開始電圧とを比較した結果に基づいて、現在のプログラム電圧または前記第２開始電圧からプログラムを実行する工程と、
第２検証電圧によって前記第２電圧レベルのセルに対してプログラムがパスされたか否かを判断し、パスされていない場合は順次電圧を増加させて再度プログラムを実行する工程と、
とを含むことを特徴とするフラッシュメモリ素子のプログラム方法。
【請求項２】
前記プログラム電圧の順次増加は、ＩＳＰＰ方法を用いて一定の大きさの電圧を増加させることを特徴とする請求項１に記載のフラッシュメモリ素子のプログラム方法。
【請求項３】
前記第１電圧レベルのセルに対してプログラムがパスされた場合、現在のプログラム電圧と前記第２開始電圧とを比較する工程と、
比較の結果、現在のプログラム電圧が前記第２開始電圧よりも小さい場合は、プログラム電圧を前記第２開始電圧に変更して順次電圧を増加させてプログラムを実行する工程と、
をさらに含むことを特徴とする請求項１に記載のフラッシュメモリ素子のプログラム方法。
【請求項４】
前記現在のプログラム電圧と前記第２開始電圧とを比較した結果から、前記現在のプログラム電圧が前記第２開始電圧と同等以上の場合は、前記現在のプログラム電圧を変更せずに順次増加させてプログラムを実行する工程と、
をさらに含むことを特徴とする請求項３に記載のフラッシュメモリ素子のプログラム方法。
【請求項５】
さらに、前記プログラムを実行する回数を計数する工程を含むことを特徴とする請求項１に記載のフラッシュメモリ素子のプログラム方法。。
【請求項６】
前記プログラム電圧を順次増加させてプログラムを実行する回数が設定した最大回数以上になった場合はプログラム不良と判断することを特徴とする請求項５に記載のフラッシュメモリ素子のプログラム方法。
【請求項７】
前記第１開始電圧は、前記第１電圧レベルのセルに対してプログラム検証を行う前記第１検証レベルに対して設定されることを特徴とする請求項１に記載のフラッシュメモリ素子のプログラム方法。
【請求項８】
前記第２開始電圧は、前記第２電圧レベルのセルに対してプログラム検証を行う前記第２検証レベルに対して設定されることを特徴とする請求項１に記載のフラッシュメモリ素子のプログラム方法。
【請求項９】
前記第１電圧レベルのセルは、前記第２電圧レベルのセルに対して下位電圧レベルであることを特徴とする請求項１に記載のフラッシュメモリ素子のプログラム方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチレベルセルを含むフラッシュメモリ素子のプログラム方法に関する。
【背景技術】
【０００２】
一般に、不揮発性メモリの代表的なフラッシュメモリはＮＡＮＤ型とＮＯＲ型に大別される。ＮＯＲ型フラッシュメモリは、複数のメモリセルの各々が独自にビット線とワード線に接続される構造であるので、ランダムアクセスの時間特性に優れる。それに対して、ＮＡＮＤ型フラッシュメモリの場合は、複数のメモリセルが直列に接続され、セルストリング当たり１つのコンタクトのみを必要とするので、集積度に優れた特性を有する。したがって、高集積フラッシュメモリには主にＮＡＮＤ構造が採用されている。
【０００３】
近年、このようなフラッシュメモリの集積度をさらに高めるために、１つのメモリセルに複数のデータの格納が可能な多重ビットセルが盛んに研究されている。かかるメモリセルのことをマルチレベルセル（以下、「ＭＬＣ」という）と呼び、それに対して単一ビットのメモリセルをシングルレベルセル（以下、「ＳＬＣ」という）と呼んでいる。
【０００４】
図１は、２ビット格納用ＭＬＣのセル電圧の分布を示す参考例である。２ビットのデータ格納が可能なメモリセルはそれぞれ４つのセル状態である［１１］、［１０］、［００］、「０１」の各データを意味するセル分布を有する。すなわち、下位ビット（ＬＳＢ）プログラムを１回行った後、上位ビット（ＭＳＢ）プログラムを２回にわたって行う。
【０００５】
フラッシュメモリ素子は、ＭＬＣにデータをプログラムするとき、各セルのしきい値電圧を図１のように移動させるために、プログラム電圧Ｖｐｇｍを最適化してプログラム時間を最小化することができる。すなわち、２ビットのデータの格納が可能なＭＬＣは、セル電圧の移動分布が、ＬＳＢプログラムによって１回、そしてＭＳＢプログラムによって２回行うことで増加する。
【０００６】
図２Ａは、図１のＬＳＢプログラム進行時のセル電圧の変化を示す図である。
【０００７】
図２Ａは、ＬＳＢプログラムを行うために供給されるプログラム電圧Ｖｐｇｍパルスと、それによりプログラムされて変更されるセル電圧を示している。プログラム電圧Ｖｐｇｍは最初の開始電圧を第１電圧ａとして、第１電圧ａから０．２ＶをステップとするＩＳＰＰ(Increment Step Pulse Program)形態つまりプログラム電圧の順次増加形態で印加される。そして、図２Ａの経路Ｐ１に従ってセルの電圧が増加し、第１検証電圧ＰＶ１で検証することにより、第１検証電圧ＰＶ１に合わせられてセル電圧が増加することを確認することができる。
【０００８】
ＭＳＢプログラムは、次のように行われる。図２Ｂは、図１のＭＳＢプログラム進行時のセル電圧の変化を示す図である。ＭＳＢプログラム進行にしたがってセル電圧が移動することは、図１に示すように２つに増加する。この際、プログラム電圧Ｖｐｇｍは第２検証電圧ＰＶ２と、第３検証電圧ＰＶ３に合わせられてＩＳＰＰ形態で印加され、最初開始電圧は第２電圧ｂから始まる。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
したがって、第２電圧ｂから印加されるＩＳＰＰ形態のプログラム電圧によって第２検証電圧ＰＶまで経路Ｐ２のようにセルのしきい値電圧が増加し、第３検証電圧ＰＶ３まで経路Ｐ３のようにセルのしきい値電圧が増加する。
【００１０】
その際、図１の［００］状態でプログラムするセルがない場合は問題が発生するおそれがある。すなわち、ＭＳＢプログラムを開始して第２電圧ｂを始めとしてＩＳＰＰ形態で電圧を増加させて印加する。そのとき、第２検証電圧ＰＶ２によって検証を行うセルに対して全てパスされた時点のプログラム電圧が第３検証電圧ＰＶ３よりも低い場合がある。すると、以後の第３検証電圧ＰＶ３の水準まで０．２Ｖの増加によってプログラムを続行することは、多くの時間と電力を消費する。つまり、残りのセルに対しては、［００］の状態ではなく、「０１」の状態にのみ変更されなければならない。プログラム電圧は第３検証電圧ＰＶ３に達しない状態なので、ＩＳＰＰ方法によってプログラム電圧が第３検証電圧ＰＶ３のレベルに上昇して達するまでに時間と電力が消費されるのである。
【００１１】
以上から、本発明の目的は、特にセル電圧の移動経路に応じてプログラム開始電圧を設定することにより、プログラム時間を消費することなく改善できるフラッシュメモリ素子のプログラム方法を提供することにある。
【課題を解決するための手段】
【００１２】
上記目的を達成するために本発明に係る代表的なフラッシュメモリ素子のプログラム方法は、それぞれの電圧レベルを有するマルチレベルセルを含むフラッシュメモリ素子のプログラム方法であって、第１電圧レベルのセルに対して設定された第１開始電圧からプログラムを行う工程と、第１検証電圧によって前記第１電圧レベルのセルに対してプログラムがパスされたか否かを判断し、パスされていない場合は順次電圧を増加させて再度プログラムを実行する工程と、前記プログラムがパスされておれば、現在のプログラム電圧と第２電圧レベルのセルに対して設定された第２開始電圧とを比較した結果に基づいて、現在のプログラム電圧または前記第２開始電圧からプログラムを実行する工程と、第２検証電圧によって前記第２電圧レベルのセルに対してプログラムがパスされたか否かを判断し、パスされていない場合は順次電圧を増加させて再度プログラムを実行する工程と、とを含むことを特徴とする。
【発明の効果】
【００１３】
本発明のフラッシュメモリ素子のプログラム方法によれば、マルチレベルセルのプログラムを行うとき、それぞれの検証電圧レベルに適合するプログラム開始電圧を設定する。そうすることで下位レベルに対する検証がパスされた後は、プログラム電圧を上位レベルに合わせて調節するようにすることでプログラムパルスを減らし、プログラム時間と電力の浪費を抑えるのに有効である。
【発明を実施するための最良の形態】
【００１４】
以下、本発明によるフラッシュメモリ素子のプログラム方法の好適な実施形態について図面を参照して詳細に説明する。
【００１５】
図３は、本実施形態のプログラム方法を適用したセル電圧の変化を示す特性図である。セルのプログラム分布に応じてプログラム電圧の開始電圧を設定して印加するようにする。それによってプログラム電圧を印加することの無駄と時間の無駄を少なくすることが要点である。ＭＬＣのプログラム時の検証電圧は以下の第１〜第３検証電圧に応じて各々異なるように設定されるプログラム開始電圧を有することができる。第１検証電圧ＰＶ１はＬＳＢプログラムによって［１０］状態のセルに電圧が変更されたかどうかを確認するためのものである。第２検証電圧ＰＶ２は第１検証電圧ＰＶ１と、ＭＳＢプログラムによって［００］状態のセルに電圧が変更されたかどうかを確認する。第３検証電圧ＰＶ３は、第２検証電圧ＰＶ２と［０１］状態のセルに電圧が変更されたかどうかを確認するためのものである。
【００１６】
すなわち、図３に示すように、領域ｃに分布するセルが存在していない場合、つまり２ビットのデータを格納するＭＬＣを例にとれば、ＬＳＢプログラムを実行して第１検証電圧ＰＶ１に対する検証が全てパスされ、それ以後はＭＳＢプログラムを実行して、全セルに対して第２検証電圧ＰＶ２に対する検証がパスされる。この状態で、現在のプログラム電圧が第３検証電圧ＰＶ３に対するプログラム開始電圧よりも小さいとする。その場合はコントローラがＩＳＰＰ方式でプログラム電圧を増加させることなく、直ちに第３検証電圧ＰＶ３に対して設定されるプログラム開始電圧Ｖｓに飛び渡ってプログラム電圧を印加するようにする。
【００１７】
以上説明したように、本実施形態によるＭＬＣのプログラムの際に印加される開始電圧は３つの種類がある。
【００１８】
すなわち、ＬＳＢプログラム時の開始電圧である第１開始電圧Ｖｓ１と、ＭＳＢプログラムの際に第２検証電圧ＰＶ２に対して設定されるプログラム開始電圧としての第２開始電圧Ｖｓ２と、第３検証電圧ＰＶ３に対して設定されるプログラム開始電圧としての第３開始電圧Ｖｓ３である。図３に示す開始電圧Ｖｓは、第３開始電圧Ｖｓ３になると考えられる。
【００１９】
次に、本実施形態のプログラム開始電圧を設定するプログラム方法の詳細について以下に説明する。
【００２０】
図４のフローチャートにおいて、まず、ステップＳ４０１ではフラッシュメモリ素子にプログラム命令が入力される。すると、フラッシュメモリ素子に含まれるコントローラ（図示略）はプログラムセルにプログラム回数情報としてのＰＣを「０」にリセットしてプログラムを準備する（Ｓ４０３）。前記ＰＣは選択されたセルに対して最大回数でプログラムを試みることを可能にする値である。設定回数のプログラムを試みた以後にも、検証段階でプログラム不良や失敗が生じると、当該セルに不良が発生したものと判断する。
【００２１】
それ以後、コントロールは第１開始電圧Ｖｓ１からプログラムを実行し、ＬＳＢプログラムを完了後（図示略）、ＭＳＢプログラムのための第２開始電圧Ｖｓ２からプログラムの実行を開始する。
【００２２】
最初のＭＳＢプログラムを開始した時点で、第２検証電圧ＰＶ２に対して検証したとしても、全セルにおいてパスの結果が現れることはない。したがって、ＭＳＢプログラムを最初に開始するときは、プログラム開始電圧を第２開始電圧Ｖｓ２に設定する（Ｓ４０５）。続いて、所定のプログラム電圧に応じてプログラムを行い（Ｓ４０７）、プログラムが実行される伴ってＰＣ値を１だけ増加させる（Ｓ４０９）。そして、第２検証電圧ＰＶ２に対する検証を行う（Ｓ４１１）。この際、第２検証電圧ＰＶ２に対してパスがなされなければ、前記ＰＣの値が設定した最大値よりも小さいかどうかを確認し（Ｓ４１３）、ＩＳＰＰ方式による所定の電圧レベルになるまでプログラム電圧を高めて再度プログラムを実行するようにする（Ｓ４１５およびＳ４０７〜Ｓ４１３）。前述したように、ＰＣの値が所定の最大値ＰＣ＿ｍａｘと同一になると、プログラムが完了せずにプログラム不良や失敗となる。
【００２３】
一方、第２検証電圧ＰＶ２に対して検証した結果、パスがなされると、コントローラ（図示略）は現在のプログラム電圧Ｖｐｇｍが第３開始電圧Ｖｓ３より小さいか否かを判断する（Ｓ４１７）。ステップＳ４１７の判断結果、現在のプログラム電圧Ｖｐｇｍが第３開始電圧Ｖｓ３と同一またはより大きければ、そのままＩＳＰＰ方式を適用してプログラムを行うようにする（Ｓ４２１）。
【００２４】
仮に、ステップＳ４１７の判断結果において、現在のプログラム電圧Ｖｐｇｍが第３開始電圧Ｖｓ３より小さければ、現在のプログラム電圧Ｖｐｇｍを第３開始電圧に再び設定して（Ｓ４１９）プログラムを行うようにする（Ｓ４２１）。したがって、もし現在のプログラム電圧が第３開始電圧Ｖｓ３より小さい時点で第２検証電圧ＰＶ２に対する検証パスがなされたならば、第３開始電圧Ｖｓ３までＩＳＰＰ方法によって移動する時間を減らすことができる。
【００２５】
その後、ステップＳ４０９〜Ｓ４１５と同様にＰＣの値を１増加させ（Ｓ４２３）、第３検証電圧ＰＶ３に対する検証を行う（Ｓ４２５）。第３検証電圧ＰＶ３に対する検証がパスされたならば、プログラムは終了する。パスされなけれ、ＰＣの値が最大値ＰＣ＿ｍａｘと同一かを確認してフェール処理を施すか、もしくはＩＳＰＰ方式によってプログラム電圧を増加させて再びプログラムを行う（Ｓ４３１）。
【００２６】
以上説明したように、上位レベルのセル分布を有するセルに対して下位レベルのセルに対するプログラムが完了した後、プログラム電圧を上位レベルのセル分布に合わせて適切に調節する。そうすることによって時間と電力の無駄な浪費を減らせる効果がある。また、浪費を抑えた時間だけプログラムパルスを印加しないで済む。
【００２７】
本発明について好適な実施形態を説明したが、そうした実施形態に限定されるものではなく、本発明の技術的思想を逸脱しない範囲内でその他の実施形態、応用例、変形例、そしてそれらの組み合わせも可能である。
【図面の簡単な説明】
【００２８】
【図１】２ビット格納用マルチレベルセルのセル電圧の分布を示すセル分布図。
【図２Ａ】図１のＬＳＢプログラム進行時のセル電圧の変化を示す図。
【図２Ｂ】図１のＭＳＢプログラム進行時のセル電圧の変化を示す図。
【図３】本発明の実施例に係るプログラム方法を適用したセル電圧の変化を示す図。
【図４】本発明の実施例に係るフラッシュメモリ素子のプログラム方法の動作順を示すフローチャート。
【符号の説明】
【００２９】
ＰＶ１    第１検証電圧
ＰＶ２    第２検証電圧
ＰＶ３    第３検証電圧
Ｖｓ      プログラム開始電圧
Ｖｓ１    第１開始電圧
Ｖｓ２    第２開始電圧
Ｖｓ３    第３開始電圧
【図１】
2008181630.tif 000003
【図２Ａ】
2008181630.tif 000004
【図２Ｂ】
2008181630.tif 000005
【図３】
2008181630.tif 000006
【図４】
2008181630.tif 000007