(57)【要約】  不揮発性メモリシステムでプログラムパルスに配分されるプログラム時間を所要のポンプパルスの電圧レベルとの関係で調整することにより、電荷蓄積素子を所要のしきい値電圧までプログラムするにあたって必要となる総ポンプパルス数は減少する。例えば、所要のポンプパルスの電圧レベルの増加にともないプログラム時間を増やすことができる。プログラムパルスのプログラム時間の値を増加させることにより、高振幅プログラムパルスで所望のプログラミング電圧に達するまでのチャージアップ時間の増加を補償することができる。
2009531806.tif 000002
【特許請求の範囲】
【請求項１】
複数の電荷蓄積素子を備える不揮発性メモリシステムをプログラムする方法であって、
電荷ポンプによりプログラムパルスを順次提供するステップであって、前記複数の電荷蓄積素子をプログラムするプログラミングサイクル中に少なくともいくつかのパルスの各々の振幅は従来のパルスに比べて増加するステップと、
電荷ポンプによって提供されるパルスの種々の振幅を伝える信号に応じて複数のプログラム時間制御信号を生成するステップであって、前記プログラム時間制御信号により、電荷蓄積素子に対するプログラムパルスの印加に配分されるプログラム時間の値は複数回にわたり、前記複数の電荷蓄積素子を所定の状態までプログラムするためのパルス数を減少させる値に調整されるステップと、
を含む方法。
【請求項２】
請求項１記載の方法であって、
前記生成するステップは、電荷蓄積素子に対する前記プログラミングサイクル中に電荷ポンプによって提供されるパルスの数または振幅を伝える複数のインジケータ信号を生成し、前記インジケータ信号は、電荷ポンプの任意の出力の振幅を使わずに生成される方法。
【請求項３】
請求項２記載の方法であって、
前記複数のインジケータ信号は、電荷蓄積素子に対する前記プログラミングサイクル中に電荷ポンプによって提供されるプログラムパルスの数を伝える方法。
【請求項４】
請求項３記載の方法であって、
プログラム時間制御信号はインジケータ信号に応じて生成され、これにより電荷蓄積素子に対する前記プログラミングサイクルの少なくとも一部分では、電荷ポンプによってｎ個のプログラムパルスが提供されるたびにプログラムパルスの印加に配分されるプログラム時間が増加し、ｎは正の整数である方法。
【請求項５】
請求項４記載の方法であって、
ｎの値は１である方法。
【請求項６】
請求項４記載の方法であって、
プログラムパルスの印加に配分されるプログラム時間は、前記プログラミングサイクル中に前記複数の電荷蓄積素子をプログラムするために所定の数のパルスが提供された後、電荷ポンプによってｎ個のプログラムパルスが提供されるたびに増加する方法。
【請求項７】
請求項６記載の方法であって、
プログラムパルスの印加に配分されるプログラム時間は、前記プログラミングサイクル中に前記複数の電荷蓄積素子をプログラムするために所定の数のプログラムパルスが提供されるまで増加しない方法。
【請求項８】
請求項３記載の方法であって、
複数のインジケータ信号は、電荷ポンプの出力に応じて生成される方法。
【請求項９】
請求項２記載の方法であって、
前記複数のインジケータ信号は、電荷蓄積素子に対する前記プログラミングサイクル中に電荷ポンプによって提供されるプログラムパルスの振幅を伝え、また電荷ポンプの出力に応じて生成されない方法。
【請求項１０】
請求項９記載の方法であって、
インジケータ信号に応じて生成されるプログラム時間制御信号により、プログラムパルスの印加に配分されるプログラム時間は、電荷蓄積素子に対する前記プログラミングサイクルの少なくとも一部分では、電荷ポンプによって提供されるプログラムパルスの振幅がｎ回漸増するたびに増加し、ｎは正の整数である方法。
【請求項１１】
請求項１０記載の方法であって、
ｎの値は１である方法。
【請求項１２】
請求項１０記載の方法であって、
プログラムパルスの印加に配分されるプログラム時間は、前記プログラミングサイクル中にプログラムパルスの振幅が所定の回数にわたって漸増した後、電荷ポンプによって提供されるプログラムパルスの振幅がｎ回漸増するたびに増加する方法。
【請求項１３】
請求項１２記載の方法であって、
プログラムパルスの印加に配分されるプログラム時間は、前記プログラミングサイクル中にプログラムパルスの振幅が所定の回数にわたり漸増するまで増加しない方法。
【請求項１４】
請求項２記載の方法であって、
複数のインジケータ信号は、電荷ポンプの出力に応じて生成されない方法。
【請求項１５】
請求項２記載の方法であって、
プログラムパルスは、複数のインジケータ信号に応じて電荷ポンプによって生成される方法。
【請求項１６】
複数の電荷蓄積素子を備える不揮発性メモリシステムをプログラムする方法であって、
電荷ポンプによりプログラムパルスを順次提供するステップであって、前記複数の電荷蓄積素子をプログラムするプログラミングサイクル中に少なくともいくつかのパルスの各々の振幅は従来のパルスに比べて増加するステップと、
電荷ポンプによって提供されるパルスの振幅を伝える少なくとも１つのインジケータ信号を生成するステップであって、前記インジケータ信号は電荷ポンプの出力の振幅を使わずに生成されるステップと、
前記インジケータ信号に応じて１つ以上のプログラム時間制御信号を生成するステップであって、これにより電荷蓄積素子に対するプログラムパルスの印加に配分される少なくとも１つのプログラム時間の値は、前記複数の電荷蓄積素子を所定の状態までプログラムするためのパルス数を減少させる値に調整されるステップと、
を含む方法。
【請求項１７】
請求項１６記載の方法であって、
前記少なくとも１つのインジケータ信号は、電荷蓄積素子に対する前記プログラミングサイクル中に電荷ポンプによって提供されるプログラムパルスの数または振幅を伝える方法。
【請求項１８】
請求項１７記載の方法であって、
少なくとも１つのインジケータ信号に応じて生成されるプログラム時間制御信号により、プログラムパルスの印加に配分されるプログラム時間は、電荷蓄積素子に対する前記プログラミングサイクルの少なくとも一部分では、電荷ポンプによってｎ個のプログラムパルスが提供されるたびに増加し、ｎは正の整数である方法。
【請求項１９】
請求項１８記載の方法であって、
ｎの値は１である方法。
【請求項２０】
請求項１８記載の方法であって、
プログラムパルスの印加に配分されるプログラム時間は、前記プログラミングサイクル中に前記複数の電荷蓄積素子をプログラムするために所定の数のパルスが提供された後、電荷ポンプによってｎ個のプログラムパルスが提供されるたびに増加する方法。
【請求項２１】
請求項２０記載の方法であって、
プログラムパルスの印加に配分されるプログラム時間は、前記プログラミングサイクル中に前記複数の電荷蓄積素子をプログラムするために所定の数のパルスが提供されるまで増加しない方法。
【請求項２２】
請求項１６記載の方法であって、
少なくとも１つのインジケータ信号は、電荷ポンプの出力に応じて生成される方法。
【請求項２３】
請求項１６記載の方法であって、
前記少なくとも１つのインジケータ信号は、電荷蓄積素子に対する電荷ポンプによって提供されるプログラムパルスの振幅を伝える方法。
【請求項２４】
請求項２３記載の方法であって、
インジケータ信号に応じて生成されるプログラム時間制御信号により、プログラムパルスの印加に配分されるプログラム時間は、電荷蓄積素子に対する前記プログラミングサイクルの少なくとも一部分では、電荷ポンプによって提供されるプログラムパルスの振幅がｎ回漸増するたびに増加し、ｎは正の整数である方法。
【請求項２５】
請求項２４記載の方法であって、
ｎの値は１である方法。
【請求項２６】
請求項２４記載の方法であって、
プログラムパルスの印加に配分されるプログラム時間は、前記プログラミングサイクル中にプログラムパルスの振幅が所定の回数にわたって漸増した後、電荷ポンプによって提供されるプログラムパルスの振幅がｎ回漸増するたびに増加する方法。
【請求項２７】
請求項２６記載の方法であって、
プログラムパルスの印加に配分されるプログラム時間は、前記プログラミングサイクル中にプログラムパルスの振幅が所定の回数にわたり漸増するまで増加しない方法。
【請求項２８】
請求項１６記載の方法であって、
少なくとも１つのインジケータ信号は、電荷ポンプの出力に応じて生成されない方法。
【請求項２９】
請求項１６記載の方法であって、
前記少なくとも１つのインジケータ信号と前記１つ以上のプログラム時間制御信号とにより、電荷蓄積素子に対するプログラムパルスの印加に配分されるプログラム時間は、前記プログラミングサイクル中に１度だけ、より高い値に調整され、これにより前記複数の電荷蓄積素子を所定の状態までプログラムするためのパルス数は減少する方法。
【請求項３０】
不揮発性メモリシステムであって、
複数の電荷蓄積素子と、
プログラムパルスを順次提供する電荷ポンプであって、前記複数の電荷蓄積素子をプログラムするプログラミングサイクル中に少なくともいくつかのパルスの各々の振幅は従来のパルスに比べて増加する電荷ポンプと、
電荷ポンプによって提供されるパルスの種々の振幅を伝える信号に応じて複数のプログラム時間制御信号を生成する装置であって、前記プログラム時間制御信号により、電荷蓄積素子に対するプログラムパルスの印加に配分されるプログラム時間の値は複数回にわたり、前記複数の電荷蓄積素子を所定の状態までプログラムするためのパルス数を減少させる値に調整される装置と、
を備えるシステム。
【請求項３１】
請求項３０記載のシステムであって、
前記装置は、
電荷ポンプによって提供されるパルスの振幅を伝える複数のインジケータ信号を生成する第１の回路であって、前記インジケータ信号は電荷ポンプの任意の出力の振幅を使用することなく生成される第１の回路と、
前記インジケータ信号に応じて複数のプログラム時間制御信号を生成する第２のプログラム時間制御回路であって、電荷蓄積素子に対するプログラムパルスの印加に配分されるプログラム時間の値は、前記複数の電荷蓄積素子を所定の状態までプログラムするためのパルス数を減少させる値に調整される第２のプログラム時間制御回路と、
を備えるシステム。
【請求項３２】
請求項３１記載のシステムであって、
前記複数のインジケータ信号は、電荷蓄積素子に対する前記プログラミングサイクル中に電荷ポンプによって提供されるプログラムパルスの数を伝えるシステム。
【請求項３３】
請求項３２記載のシステムであって、
インジケータ信号に応じて前記第２のプログラム時間制御回路によって生成されるプログラム時間制御信号により、プログラムパルスの印加に配分されるプログラム時間は、電荷蓄積素子に対する前記プログラミングサイクルの少なくとも一部分では、電荷ポンプによってｎ個のプログラムパルスが提供されるたびに増加し、ｎは正の整数であるシステム。
【請求項３４】
請求項３３記載のシステムであって、
ｎの値は１であるシステム。
【請求項３５】
請求項３３記載のシステムであって、
プログラムパルスの印加に配分されるプログラム時間は、前記プログラミングサイクル中に前記複数の電荷蓄積素子をプログラムするために所定の数のパルスが提供された後、電荷ポンプによってｎ個のプログラムパルスが提供されるたびに増加するシステム。
【請求項３６】
請求項３５記載のシステムであって、
プログラムパルスの印加に配分されるプログラム時間は、前記プログラミングサイクル中に前記複数の電荷蓄積素子をプログラムするために所定の数のプログラムパルスが提供されるまで増加しないシステム。
【請求項３７】
請求項３２記載のシステムであって、
前記第１の回路は、電荷ポンプの出力に応じて複数のインジケータ信号を生成するシステム。
【請求項３８】
請求項３１記載のシステムであって、
前記第１の回路は、電荷ポンプの出力に応じずに複数のインジケータ信号を生成するシステム。
【請求項３９】
請求項３８記載のシステムであって、
インジケータ信号に応じて前記第２のプログラム時間制御回路によって生成されるプログラム時間制御信号により、プログラムパルスの印加に配分されるプログラム時間は、電荷蓄積素子に対する前記プログラミングサイクルの少なくとも一部分では、電荷ポンプによって提供されるプログラムパルスの振幅がｎ回漸増するたびに増加し、ｎは正の整数であるシステム。
【請求項４０】
請求項３９記載のシステムであって、
ｎの値は１であるシステム。
【請求項４１】
請求項３９記載のシステムであって、
プログラムパルスの印加に配分されるプログラム時間は、前記プログラミングサイクル中にプログラムパルスの振幅が所定の回数にわたって漸増した後、電荷ポンプによって提供されるプログラムパルスの振幅がｎ回漸増するたびに増加するシステム。
【請求項４２】
請求項４１記載のシステムであって、
プログラムパルスの印加に配分されるプログラム時間は、前記プログラミングサイクル中にプログラムパルスの振幅が所定の回数にわたり漸増するまで増加しないシステム。
【請求項４３】
請求項３８記載のシステムであって、
電荷ポンプは、複数のインジケータ信号に応じてプログラムパルスを生成するシステム。
【請求項４４】
不揮発性メモリシステムであって、
複数の電荷蓄積素子と、
プログラムパルスを順次提供する電荷ポンプであって、前記複数の電荷蓄積素子をプログラムするプログラミングサイクル中に少なくともいくつかのパルスの各々の振幅は従来のパルスに比べて増加する電荷ポンプと、
電荷ポンプによって提供されるパルスの振幅を伝える少なくとも１つのインジケータ信号を生成する第１の回路であって、前記インジケータ信号は電荷ポンプの任意の出力の振幅を使用することなく生成される第１の回路と、
前記インジケータ信号に応じて１つ以上のプログラム時間制御信号を生成する第２のプログラム時間制御回路であって、電荷蓄積素子に対するプログラムパルスの印加に配分される少なくとも１つのプログラム時間の値は、前記複数の電荷蓄積素子を所定の状態までプログラムするためのパルス数を減少させる値に調整される第２のプログラム時間制御回路と、
を備えるシステム。
【請求項４５】
請求項４４記載のシステムであって、
前記少なくとも１つのインジケータ信号は、電荷蓄積素子に対する前記プログラミングサイクル中に電荷ポンプによって提供されるプログラムパルスの数を伝えるシステム。
【請求項４６】
請求項４５記載のシステムであって、
少なくとも１つのインジケータ信号に応じて前記第２のプログラム時間制御回路によって生成されるプログラム時間制御信号により、プログラムパルスの印加に配分されるプログラム時間は、電荷蓄積素子に対する前記プログラミングサイクルの少なくとも一部分では、電荷ポンプによってｎ個のプログラムパルスが提供されるたびに増加し、ｎは正の整数であるシステム。
【請求項４７】
請求項４６記載のシステムであって、
ｎの値は１であるシステム。
【請求項４８】
請求項４６記載のシステムであって、
プログラムパルスの印加に配分されるプログラム時間は、前記プログラミングサイクル中に前記複数の電荷蓄積素子をプログラムするために所定の数のパルスが提供された後、電荷ポンプによってｎ個のプログラムパルスが提供されるたびに増加するシステム。
【請求項４９】
請求項４８記載のシステムであって、
プログラムパルスの印加に配分されるプログラム時間は、前記プログラミングサイクル中に前記複数の電荷蓄積素子をプログラムするために所定の数のパルスが提供されるまで増加しないシステム。
【請求項５０】
請求項４５記載のシステムであって、
前記第１の回路は、電荷ポンプの出力に応じて少なくとも１つのインジケータ信号を生成するシステム。
【請求項５１】
請求項４４記載のシステムであって、
前記第１の回路は、電荷ポンプの出力に応じずに少なくとも１つのインジケータ信号を生成するシステム。
【請求項５２】
請求項５１記載のシステムであって、
インジケータ信号に応じて前記第２のプログラム時間制御回路によって生成されるプログラム時間制御信号により、プログラムパルスの印加に配分されるプログラム時間は、電荷蓄積素子に対する前記プログラミングサイクルの少なくとも一部分では、電荷ポンプによって提供されるプログラムパルスの振幅がｎ回漸増するたびに増加し、ｎは正の整数であるシステム。
【請求項５３】
請求項５２記載のシステムであって、
ｎの値は１であるシステム。
【請求項５４】
請求項５２記載のシステムであって、
プログラムパルスの印加に配分されるプログラム時間は、前記プログラミングサイクル中にプログラムパルスの振幅が所定の回数にわたって漸増した後、電荷ポンプによって提供されるプログラムパルスの振幅がｎ回漸増するたびに増加するシステム。
【請求項５５】
請求項５４記載のシステムであって、
プログラムパルスの印加に配分されるプログラム時間は、前記プログラミングサイクル中にプログラムパルスの振幅が所定の回数にわたり漸増するまで増加しないシステム。
【請求項５６】
請求項４４記載のシステムであって、
電荷ポンプは、１つ以上のプログラム時間制御信号に応じてプログラムパルスを生成するシステム。
【請求項５７】
請求項４４記載のシステムであって、
前記少なくとも１つのインジケータ信号と前記１つ以上のプログラム時間制御信号とにより、電荷蓄積素子に対するプログラムパルスの印加に配分されるプログラム時間は、前記プログラミングサイクル中に１度だけ、より高い値に調整され、これにより前記複数の電荷蓄積素子を所定の状態までプログラムするためのパルス数は減少するシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的には不揮発性メモリシステムに関し、具体的にはプログラム時間制御を備える不揮発性メモリシステムに関する。
【背景技術】
【０００２】
不揮発性メモリのメモリセルまたは電荷蓄積素子（本願明細書では２つの用語を互換的に使用する）では通常、一度に１セル行の全体または一部分を並列にプログラムする。選択されたメモリセル行にはプログラミング電圧パルスが印加され、行内の選択された各セルのしきい値電圧は１プログラミングサイクル中に所定の電圧範囲内の値までプログラムされる（これは最終的な望ましいセル状態である場合とそうでない場合とがある）。各プログラミングサイクルでは、電圧レベルまたは振幅Ｖｐｇｍのプログラミング電圧パルスの時系列が所定の間隔で、例えば周期的間隔で適用され、各プログラミングパルスの振幅は、系列内の直前のプログラミングパルスの振幅に比べて一定の電圧ステップΔＶｐｇｍ（例えば、０．２Ｖ）で増加する。ＮＡＮＤセルアレイは前述した方法でプログラムされるメモリセルアレイまたは電荷蓄積素子アレイの一例である。
【０００３】
プログラミング電圧パルスの合間にはプログラム−ベリファイ操作が行われる。つまり、並列にプログラムされている電荷蓄積素子（例えば、電荷蓄積トランジスタ）のプログラム済みレベルを各プログラミングパルスの後に読み出し、これがプログラムされているベリファイ電圧レベルを下回るか否かを判断する。所定の電荷蓄積素子のしきい値電圧がベリファイ電圧レベルを超過したと判断する場合は、特定の電荷蓄積素子の接続先にあたるビット線の電圧を低電圧（通常、０ボルト）から高または抑制レベル（通常、Ｖｄｄ）まで上昇させることにより、そのような電荷蓄積素子のプログラミングを停止させる。他の並列にプログラムされている電荷蓄積素子のプログラミングは、それらがベリファイ電圧レベルに達するまで継続する。プログラム−ベリファイ操作の後にしきい値電圧がベリファイ電圧レベルにまだ達していない並列にプログラムされている電荷蓄積素子が１つ以上残っている場合、プログラミングパルスの振幅を所定のステップサイズで増加させ、並列にプログラムされている電荷蓄積素子に再び印加され、その後に再びプログラム−ベリファイ操作が行われる。次のプログラミング操作の後にプログラミングパルスの増加によってベリファイ電圧レベルにまだ達していない全ての並列にプログラムされている電荷蓄積素子のしきい値電圧を生じさせないままならば、次の期間中に同じ所定のステップサイズでプログラミングパルスの振幅を再び増加させ、このプロセスは、全ての並列にプログラムされている電荷蓄積素子のしきい値電圧がベリファイ電圧レベルに到達するまで繰り返される。この到達をもって特定のプログラミングサイクルの終了とする。
【０００４】
前の説明から分かるように、前述したプログラミングプロセスではプログラミングパルスによるセルのプログラミングとその後に続くプログラム−ベリファイ操作を繰り返す必要がある。したがって、これは時間のかかるプロセスである。したがって、メモリセルまたは電荷蓄積素子をできるだけ短い時間で所望のしきい値電圧までプログラムできるようにするため、各プログラミングパルスを印加するプログラム時間を短縮することが望まれる。
【０００５】
電荷蓄積素子のプログラミングに用いるプログラミングパルスの時系列が図２Ａに例示され、１３のそのような連続パルスが示されているが、素子を任意の特定のしきい値電圧までプログラムするにあたって、これよりも多くのパルスまたはこれよりも少ないパルスを使用することも可能である。電圧パルスは初期プログラムパルスレベルから、例えば１５ボルトから開始し、パルスごとに所定のステップサイズで、例えば０．２ボルトずつ増加する。
【０００６】
図２Ａで電荷蓄積素子のプログラミングに用いる系列内のプログラミングパルスには、概ね垂直の立ち上がりと立ち下がりが見られる。電荷ポンプには通常、基準電圧レベルから所要のＶｐｇｍレベルまで電圧出力を上昇させるためにチャージアップ時間が必要であり、さらにパルスが立ち下がりで基準レベルまで戻るにはある程度の時間がかかるから、実際のプログラミングパルスのパルス形状は図に示されたものと異なる。これは図１および図２Ｂに示されている。
【０００７】
図１に示すように、電荷ポンプは時間ｔ０で接地レベル等の開始基準レベルから電圧出力の増加を開始し、その出力を選択されたコントロールゲート線またはワード線に印加する。しかし、図１に示すように、電荷ポンプの出力は、時間ｔ１まではトランジスタしきい値電圧を変更できる所要の電圧レベルＶｐｇｍに達しない。電荷ポンプの出力が時間ｔ１で所要の電圧レベルに達した後には、時間ｔ２まで電圧レベルは保たれ、この時間ｔ２は電荷ポンプの出力が所要のプログラミング電圧レベルＶｐｇｍに保たれる期間の終わりを意味する。その後、電荷ポンプ出力は時間ｔ３まで低下して基準レベルに戻る。よって、コントロールゲート線またはワード線のプログラミングに配分される総プログラム時間は３つの期間のうちの２つ、すなわちｔ０−ｔ１（すなわち、Ｔ）とｔ１−ｔ２との和であり、メモリはｔ３の後に次のプログラムパルスまたはプログラム−ベリファイに進む。期間ｔ０−ｔ１（すなわち、Ｔ）は、電荷ポンプが所要のプログラミング電圧レベルＶｐｇｍを達成するのにかかるチャージアップ時間である。期間ｔ１−ｔ２はパルス幅であり、選択されたコントロールゲート線またはワード線の電圧を、電荷蓄積素子のしきい値電圧を変更できる所望のＶｐｇｍレベルまで上昇させる実効プログラム時間である。
【０００８】
図２Ａを参照し、１〜１３のラベル付けされた１３のパルスのそれぞれの形状は、実際には図１の形状に類似する。図２Ａに示すように、電荷ポンプに要求されるＶｐｇｍレベルは新たな電荷ポンプパルスが生成されるたびにΔＶｐｇｍずつ増加するから、所要のプログラミング電圧またはＶｐｇｍレベルは図２Ａで見られるようにパルス１〜パルス１３にかけて高くなる傾向がある。図２Ｂに示すように、高いＶｐｇｍレベルは低いＶｐｇｍに比べて長いチャージアップ時間を要する。
【０００９】
従来の電荷ポンプ制御設計で選択されたコントロールゲート線またはワード線のプログラミングに配分される総プログラム時間は固定され、所要のプログラミング電圧レベルＶｐｇｍの増加にともなって変化しない。図２Ｂにこの状況を例示する。図２Ａおよび図２Ｂを参照し、図２Ａのパルス１の場合、Ｖｐｇｍ１で電荷ポンプに要求される電圧レベルは比較的低いから、チャージアップ時間Ｔ１は比較的短く、電荷ポンプがコントロールゲート線またはワード線を所要の電圧レベルＶｐｇｍ１まで上昇させるにあたって従来方式による固定プログラム時間の大半は残っている。しかし、パルス５の場合、電荷ポンプに要求されるＶｐｇｍ５レベルはパルス１のものより高いから、より長いチャージアップ時間Ｔ５が必要となり、このような線で制御される電荷蓄積素子のしきい値電圧を変更するためにＶｐｇｍ５レベルで選択されたコントロールゲート線またはワード線に立ち上げ電圧を印加するにあたって使用できる残り時間は短くなる。パルス１０の場合、所要の電圧ポンプパルスレベルＶｐｇｍ１０がさらに高いから、さらに長いチャージアップ時間Ｔ１０が必要となり、固定プログラム時間のうち、電荷蓄積素子のしきい値電圧を変更するためにＶｐｇｍ１０で電荷ポンプ出力に使える時間はさらに短くなる。つまり、電荷ポンプパルスの所要のプログラミング電圧が増加するにつれ、実効プログラム時間またはパルス幅はますます短くなり、ベリファイ電圧レベルまで電荷蓄積素子をプログラムする効率は低下する。結果的に、並列にプログラムされた全てのセルをプログラムするにはより多数のプログラミングパルスを印加しなければならない。これはメモリシステムの性能を落とすため望ましくない。
【００１０】
前述したプログラミング操作はマルチレベルの電荷蓄積素子とバイナリレベルの電荷蓄積素子またはメモリセルの両方に当てはまる。米国特許第６，５２２，５８０号（特許文献１）にはマルチレベルの電荷蓄積素子に対する前述したプログラミングおよびプログラム−ベリファイ操作の例が記載されている。この特許は、その全体が本願明細書において参照により援用されている。
【００１１】
前述した問題に対する１つの解決策として、プログラミングに配分する固定時間を増やせば、たとえ高プログラミング電圧でも、配分された増分済のプログラム時間により、電荷ポンプ出力を長いチャージアップ時間の後でさえ所要の高いＶｐｇｍレベルに保って、電荷蓄積素子のしきい値電圧を変更することができる。前述したように、性能を高めるにはプログラミングパルスを印加する各プログラミングサイクルのプログラム時間を最小限に抑えるのが望ましい。より長いプログラム時間を配分する必要があるのは高いプログラミング電圧（すなわち、高Ｖｐｇｍレベル）の場合に限り、低いプログラミング電圧でその必要はないから、プログラミングサイクル中の全電荷ポンプパルスの生成および印加のための固定プログラム時間を増やすと、総プログラム時間も増加してしまうので、これも望ましくない。したがって、前述した難題を改善する不揮発性メモリシステムの提供が望まれる。
【特許文献１】米国特許第６，５２２，５８０号
【発明の開示】
【００１２】
理想的には、プログラムサイクルの中で電荷ポンプがプログラムパルスのための低〜中程度の電圧出力を供給する最初の部分でできるだけ短いプログラム時間を配分するのが望ましい。プログラミングサイクルが進み、高振幅プログラミング電圧が要求されるときには、最初に使った短いプログラム時間の代わりにより長いプログラム時間を使うのが望ましい。
【００１３】
本発明は、電荷ポンプがプログラムパルスのための高電圧出力を供給する必要があるときに電圧ポンプパルス（プログラムパルス）に配分するプログラム時間を増加できるという認識に基づいている。一実施形態において、電圧ポンプパルスの印加に配分するプログラム時間の値が複数回にわたり調整され、これにより電荷蓄積素子を所定の状態（すなわち、素子が所定のしきい値電圧範囲内にある状態）までプログラムするためのパルス数は減少する。この実施形態の一実施例において、ある特定のプログラミングサイクル中に電荷ポンプによって生成されたプログラムパルスの数との関係でプログラム時間配分を制御する。この実施形態の別の実施例では、電荷ポンプによって提供されるパルスの振幅との関係でプログラム時間配分を制御し、電荷ポンプの出力は使用しない。
【００１４】
別の実施形態において、電荷ポンプによって提供されるパルスの振幅を伝える少なくとも１つのインジケータ信号に応じて電圧ポンプパルスの印加に配分する少なくとも１つのプログラム時間を用意する。この実施形態で、インジケータ信号は電荷ポンプ出力の振幅を使用することなく生成される。そのような実施形態の一実施例において、プログラミング電圧制御ロジックによってインジケータ信号が提供され、電荷ポンプによって提供されるポンプパルスの電圧レベルをも制御し、これによりプログラム時間配分を制御する。この実施形態の別の実施例において、インジケータ信号は、ある特定のプログラミングサイクル中に電荷ポンプによって生成されたプログラムパルスの数を伝える。
【００１５】
説明を簡潔にするため、本願では同一の構成要素には同一の数字によりラベル付けされている。
【発明を実施するための最良の形態】
【００１６】
図３は、システムバス１５を通じてホスト装置１０（例えば、コンピュータ、カメラ、携帯電話機、個人用携帯情報端末（ＰＤＡ）、ゲームコントローラ、ＭＰ３プレイヤ等のメディアプレイヤ）と通信するフラッシュメモリシステム２０（プラグインカードまたはモジュールの形状をとることがある）のブロック図である。フラッシュメモリシステム２０はフラッシュＥＥＰＲＯＭモジュール３０とコントローラ４０とを含み、このコントローラがメモリ４１とプロセッサ４３とを含む。コントローラ４０はホストコンピュータ１０から受け取ったコマンドを解釈し、ホストコンピュータ１０に対し透過的にフラッシュＥＥＰＲＯＭモジュール３０の読み出し操作、書き込み操作、その他の操作に翻訳する。
【００１７】
図４は、電荷ポンプ電圧パルスの生成に関係するフラッシュＥＥＰＲＯＭシステム２０部分の簡略ブロック図を例示するものである。本願では用語「電圧ポンプパルス」、「ポンプパルス」、「電荷ポンプ電圧パルス」、「プログラミングパルス」、および「プログラムパルス」を互換的に使用する。図４に示すように、ホスト１０からコントローラ４０には供給電圧Ｖｓｙｓが印加され、さらにオプションの電圧調整器４５を通じて、ことによると異なる電圧レベルＶｄｄが、モジュール３０に印加される。プロセッサ４３はモジュール３０へコマンドとデータとを適用し、電荷ポンプ３２は制御ロジック５８からの制御信号に応じて電圧Ｖｄｄからプログラミングパルスを生成する。実際には、通常、不揮発性メモリ３０の制御ロジック５８にはメモリの詳細な動作を制御するにあたって十分なロジックがあり、プロセッサ４３をこの役割から解放する。通常、デコードモジュール５６は既定のプロトコルを用いてプロセッサ４３からのコマンドを解釈するにあたって十分なロジックからなり、制御ロジック５８は専用シーケンサと、パルスカウンタと、Ｖｐｇｍ制御ロジックからなり、ことによるとアレイ５４内の別々のＲＯＭ（図示せず）にはいくつかのパラメータが格納され、起動時に読み出される。制御ロジック５８のパルスカウンタは各プログラミングサイクルが始まるたびに０にリセットされ、シーケンサによって放出されるプログラムパルスの数を０から計数する。シーケンサは、どのループからプログラム−ベリファイを開始するか、および／またはプログラム失敗ステータスによりどのループでプログラムループを終了するかを、パルスカウンタのパルス計数出力をもとに判断する。制御ロジック５８のＶｐｇｍ制御ロジックは、各プログラムパルスのＶｐｇｍレベルを計算する。しかし、前述した回路ブロックの物理的位置やそれらの接続のあり方に本発明が左右されるわけではなく、他の配置構成を用いることもできる。プログラミングパルスはメモリセルアレイ５４に印加される。アレイ５４はメモリセル行列を備える。説明を簡潔にするため、図４では行列制御をはじめとするメモリアレイに対する他の制御のための種々の制御回路が省かれている。
【００１８】
回路５２は、電荷ポンプ３２によって生成されるパルスのプログラム時間を、制御ロジック５８からのインジケータ信号との関係で制御し、このインジケータ信号はパルスの振幅を伝える。プログラム時間制御回路５２はプログラム時間制御信号６６または７４を生成し、そのような信号が制御ロジック５８へ供給されると、電荷ポンプ３２からアレイ５４内の電荷蓄積素子への電圧ポンプパルスの印加に配分されるプログラム時間が調整され、電荷蓄積素子を所定の電荷状態までプログラムするのに要するパルス数（例えば、一定の所定範囲内で電荷蓄積トランジスタをしきい値電圧までプログラムするのに要するパルス数）は減少する。これらのプログラム時間制御信号は、アレイ５４に対する電圧ポンプパルスの印加に配分するプログラム時間の長さを制御するために制御ロジック５８へ供給される。
【００１９】
図５は、図４のプログラム時間制御方式の一実施形態の概略回路図である。回路５２’は図４の回路５２の一実施例にあたる。パルスカウンタ６４とシーケンサ６８は図４の制御ロジック５８の一部分である。前述したように、ロジック５８のパルスカウンタ６４は各プログラミングサイクルが始まるたびに０にリセットされ、シーケンサによって放出されるプログラムパルスの数を０から計数する。パルスカウンタ６４は、そのようなプログラミングサイクルの開始からプログラムパルス数を伝えるパルス計数信号６４ａを出力する。このパルス計数信号はプログラム時間制御ロジック回路５２’へ供給され、このプログラム時間制御ロジック回路はルックアップテーブルを実装する論理回路を備えてもよい。このルックアップテーブルは、カウンタ６４からのパルス計数に応じてプログラム時間値を提供する。
【００２０】
図２Ａに示すように、電荷ポンプは、プログラミングパルスの電圧レベルを、直前のプログラミングパルスの電圧レベルを上回る電圧増分ΔＶｐｇｍで増加させるため、ある特定のプログラミングサイクル中に提供されたプログラミングパルスの合計数が分かれば、そのような数から所望のＶｐｇｍレベルを計算できる。任意の所望のプログラミング電圧レベルＶｐｇｍに対し、チャージアップ時間（ｔ０−ｔ１）に所望の実効プログラム時間またはパルス幅（ｔ１−ｔ２）を加えた和に相当する値があり、所望のＶｐｇｍ値が高ければ高いほどチャージアップ時間（ｔ０−ｔ１）が大きくなることは、図１とこれを参照する前述した説明からも明らかである。Ｖｐｇｍの増加にともなうチャージアップ時間（ｔ０−ｔ１）値の増加を補償するには、計算または較正によって得られるのに相当する量で対応するプログラム時間を増加させる。このようにＶｐｇｍ値に応じてプログラム時間を調整すれば、１組のＶｐｇｍ値と１組の対応するパルス計数値とに対応する１組のプログラム時間に到達でき、概ね一定の実効プログラム時間（またはパルス幅）が維持され、この間、プログラミング電圧は異なるＶｐｇｍ値とパルス計数値に対して所望のＶｐｇｍに保たれる。
【００２１】
前述したプロセスにより、任意の特定のプログラミングパルスに要するチャージアップ時間を考慮に入れた固有の対応するプログラム時間がパルス計数ごとにあり、そのようなパルス計数には特定のＶｐｇｍ値が対応する。このプログラム時間値はプログラム時間制御信号出力６６にてシーケンサ６８へ提供され、シーケンサは線５３沿いにそのようなプログラム時間制御信号を電荷ポンプ３２へ供給する。電荷ポンプ３２は、信号５３に対応するプログラム時間にわたって次のポンプパルスを提供する。このプロセスを繰り返して１つ以上のプログラム時間制御信号を生成しながら、ポンプ３２からの１つ以上のポンプパルスのプログラム時間を制御する。図７および図８には、そのようなポンプパルスプログラム時間制御の効果が示されている。
【００２２】
図７は、図２Ａに示されているもののようなパルスプログラミングパルス系列における対応する電圧ポンプパルスの数の印加（横軸）により到達する電荷蓄積素子のしきい値電圧（縦軸）を示すグラフである。水平の点線８２は、ある特定の電荷状態のために到達すべき目標しきい値電圧Ｖｔを示す。斜めの点線８４は、プログラミング電圧Ｖｐｇｍの増加にともないパルス幅または実効プログラム時間が一定の値に保たれ、（この間パルス電圧は所望のプログラミング電圧に保たれる）最適なプログラミング速度が実現する場合に到達し得る電荷蓄積素子のしきい値電圧を示している。しかし、従来のプログラミング制御のように所望の電圧レベルＶｐｇｍにかかわりなく同じ時間をプログラミングパルスに配分すると、パルス数に応じて到達する電荷蓄積素子のしきい値電圧は実線の曲線８６に示すようになる。図７に示すように、線８２は線８４との交差点の右側の点で曲線８６と交差し、これは、一定プログラム時間配分で達成するプログラミング速度の場合に多くのプログラミングパルスの印加が必要となり、実効プログラム時間またはパルス幅が一定に保たれる場合に比べて遅くなることを意味する。
【００２３】
図８は、３通りの異なるＶｐｇｍによる３通りのプログラミングパルスのグラフである。図５および図６に示す実施形態により、３つのパルスのパルス幅が図８に示すように実質的に同じになるようにプログラム時間を制御することが可能となる。図８に示すように、所要のプログラミング電圧レベルＶｐｇｍの増加にともないプログラム時間配分も相応に増加し、実効プログラム時間またはパルス幅は概ね一定に保たれる。その結果、プログラミングパルス数を最小限に抑えながら図７の点線８４沿いに電荷蓄積素子を目標しきい値電圧Ｖｔに到達させる最適プログラミング速度を実現できる。
【００２４】
したがって、あるひとつのプログラミングパルスから次のプログラミングパルスにかけてプログラミング電圧Ｖｐｇｍが増加する場合は、図７および図９の線８４に示すように、および図９でオプション１とラベル付けされているように、パルスの振幅が増加するたびに電圧ポンプパルスの印加に配分するプログラム時間を増加させることにより最適プログラミング速度が実現する。このように、プログラミングパルスの実効パルス幅を概ね一定に保ちながら最適プログラミング速度を実現できる。
【００２５】
しかし、プログラミング電圧の増加のたびにプログラム時間配分を調整すると、頻繁なプログラム時間調整が必要となる。場合によっては、ポンプパルスの印加のプログラム時間配分をプログラミング電圧の増加のたびに（例えば、パルス印加のたびに）増やす必要はない。例えば、電圧ポンプパルスの印加に配分するプログラム時間を、パルスの印加のたびに増やす代わりに、Ｘ個のパルスごとに増やすこともでき、ここでＸは２以上の整数である。図９ではこれが点線９２で示され、オプション２とラベル付けされている。オプション２では、Ｘ個のパルスの印加のたびに電圧ポンプパルスの印加のプログラム時間配分が増加する。
【００２６】
図９でオプション３とラベル付けされているもうひとつのオプションでは、プログラミングサイクルの中でＹ個のポンプパルスが印加されるまでは、電圧ポンプパルスの印加のプログラム時間配分が一定に保たれる。したがって、図９で見られるように、Ｙ個のパルスが印加されるまでに到達し得るしきい値電圧は、オプション３と図７の従来の方法で得られる曲線８６とで同じになる。しかし、Ｙ個のパルスの後にポンプパルスの印加のプログラム時間配分が増加すると、図９に示すように、オプション３の曲線９４は曲線８６から分岐し、目標しきい値電圧Ｖｔに要する総パルス数は従来の方法に比べて減少する。図９で見られるように、曲線９４は、曲線８６が横線８２と交差する場所に比べて縦軸寄りの点で横線８２と交差している。
【００２７】
前述したものとは異なるもうひとつのオプションとして、Ｙ個のパルスが印加された後だけプログラミング電圧が増加するたびに（例えば、パルス印加のたびに）プログラム時間配分を増加させ、Ｙ個のパルスが印加されるまではプログラム時間配分を増やさないようにすることもできる。したがって、このオプションは前のオプション１および３の組み合わせにあたる。そのような組み合わせのしきい値電圧対パルス数グラフは、電荷蓄積トランジスタにＹ個のパルスが印加されるまでは従来の方法の曲線８６に沿ったものになるが、それ以降は図９の線８４と概ね同じ傾斜を持つ線（図示せず）に沿ったものになる。Ｖｐｇｍレベルが比較的低いときのチャージアップ時間が取るに足りなければ、そのようなＶｐｇｍレベルでプログラムパルスのたびにプログラム時間を増加させても有意義ではなく、プログラム時間を増加することによるプログラミング効率の点で図７および図９の曲線８６に示す従来の方法を凌ぐような大きな利得はない。しかし、所望のＶｐｇｍレベルが比較的高ければ、プログラムパルスのたびにそのようなＶｐｇｍレベルで、プログラム時間を増やすことは有意義である。したがって、そのようなＶｐｇｍレベルの場合には、Ｙ個のパルスの印加の後だけプログラム時間をプログラムパルスのたびに増加させることにより、プログラム時間の調整回数を減らしつつプログラミング効率の点で大きな利得が達成される。
【００２８】
前述したものとは異なるもうひとつのオプションとして、Ｙ個のポンプパルスが印加された後にはＸ個のプログラミングパルスが印加されるたびにプログラム時間配分を増やし、Ｙ個のポンプパルスが印加されるまではプログラム時間配分を増やさないようにすることもでき、ここでＸは２以上の整数である。したがって、このオプションは前のオプション２および３の組み合わせにあたる。このオプションにはオプション１および３を組み合わせた場合と同様の利点があるほか、さらなる利点として、プログラム時間の調整回数はさらに減る。そのような組み合わせのしきい値電圧対パルス数のグラフは、電荷蓄積トランジスタにＹ個のパルスが印加されるまでは従来の方法の曲線８６に沿ったものになるが、それ以降は図９の曲線９２と概ね同じ形状および傾斜を持つ曲線（図示せず）に沿ったものになる。
【００２９】
電荷ポンプからのパルス数を計数する代わりに、ポンプパルスの計数には一切応答せず、所望のＶｐｇｍレベルとの関係でプログラム時間を調整することもできる。図６の回路５２”は図４の回路５２のもうひとつの実施形態にあたる。図６の実施形態はプログラム制御ロジック７２（図４の論理回路５８内）を含み、このプログラム制御ロジックは、プログラミング電圧レベル（Ｖｐｇｍレベル）をインジケータ信号７２ａにてプログラム時間制御ロジック５２”へ提供する。図５のプログラム時間制御ロジック５２’と同様に、プログラム時間制御ロジック５２”もまたルックアップテーブルを実装する。ロジック５２”から提供されるプログラム時間制御信号７４は、入力Ｖｐｇｍレベル７２ａに対応するプログラム時間を伝える。このプログラム制御時間信号７４はシーケンサ６８（図４の論理回路５８内）へ提供され、このシーケンサは線５３沿いにそのような信号を電荷ポンプ３２へ提供する。ロジック７２も、信号線９８（図４には示さず）に沿って同じＶｐｇｍレベル信号７２ａを電荷ポンプ３２へ提供し、電荷ポンプはそのようなＶｐｇｍ電圧レベルにより電圧ポンプパルスを生成する。図９に示す３通りの異なるオプションは回路５２”を用いて実装することもできるが、この場合は、１つ以上のパルスが印加された後にプログラム時間を増加させる代わりに、ロジック７２が指示するＶｐｇｍレベルに従ってプログラム時間を増加させる。図６の実施形態の一実施例では、ｎ回の漸増（すなわち、ｎΔＶｐｇｍ）のたびにプログラム時間が増加し、ｎは１以上の整数である。ｎの値が１なら、プログラミング速度はポンプパルスのたびにプログラム時間が増加する場合と同じになり、すなわち図７および図９の点線８４に沿ったものとなる。ｎの値が１より大きい場合、プログラミング速度はｎ個のポンプパルスのたびにプログラム時間が増加する場合と同じになり、図９の点線９２に沿ったものとなる。ｍ回の漸増のたびに、１回だけプログラム時間が増加する場合の結果は、図９のオプション３および線９４によって示される。
【００３０】
図５の実施形態で前述したオプション１および３の組み合わせとオプション２および３の組み合わせと同様の組み合わせを、図６の実施形態で実装することもできる。この場合、ｎ回の漸増（すなわち、ｎΔＶｐｇｍ）のたびにプログラム時間が増加し、ここでｎは１以上の整数だが、プログラム時間はＹ回の漸増の後にのみ増加し、それ以前は増加しない。ｎの値が１なら、プログラミング速度は図５の実施形態でオプション１および３を組み合わせた場合と同じになる。ｎの値が１より大きい場合、プログラミング速度は図５の実施形態でオプション２および３を組み合わせた場合と同じになる。これらの組み合わせには、図５の実施形態を参照しながら前述した対応する組み合わせの場合と概ね同じ利点がある。
【００３１】
図６の実施形態のもうひとつの実施例では、ある一定のＶｐｇｍ値でプログラム時間が増加し、その値はシステムの最適化につながるものを選ぶことができ、前述したオプション１〜３とそれらの組み合わせに一致させることもできる。オプション１の場合は、Ｖｐｇｍが増加するたびにプログラム時間を増加させることができる。オプション２の場合は、特定のＶｐｇｍ値に対応する値にプログラム時間を設定し、その値はオプション２におけるＸ個のパルス毎に一致する。あるいは、ある一定のＶｐｇｍ値に対応する値にプログラム時間を設定し、その値はオプション２におけるＸ個のパルス毎に一致しない。オプション３の場合は、プログラミングサイクルの中でＶｐｇｍが所定の値を超過するまでプログラム時間を一定に保ち、超過した時点でプログラム時間を別の値まで増加させ、この値はプログラミングサイクルが終わるまで変わらない。
【００３２】
プログラム制御信号が図６のロジック７２からのＶｐｇｍレベルに応じて生成され、したがってこれが電荷ポンプ３２の出力を使わずに提供されることは前述したことからも明らかである。図６の実施形態で、回路５２”にはポンプパルスが供給されない。これは回路５２’にポンプパルスが供給されない図５の実施形態にも当てはまる。回路５２’は、電荷ポンプ出力からパルスの数または振幅を利用せず、これを測定することも感知することもせず、代わりにロジック５８のカウンタ６４から提供されるパルス計数から必要となるプログラム時間を導き出す。電荷ポンプ出力からプログラムパルスの数または振幅を測定せずにプログラム時間を調整するという利点により、プログラム時間制御の実施例は簡素化される。
【００３３】
以上、様々な実施形態を参照しながら本発明を説明してきたが、添付の特許請求の範囲とその同等物とによって定められる本発明の範囲から逸脱することなく変更と修正を施すことができることが理解できよう。本願明細書で参照した参考資料はどれも参照により援用されている。
【図面の簡単な説明】
【００３４】
【図１】本発明の一態様を例示するのに役立つ電荷ポンプによって生成される電圧ポンプパルスのタイミング図である。
【図２】図２Ａは、本発明の一態様を例示するのに役立つ増加する電圧（Ｖｐｇｍ）レベルにおける１３の電圧ポンプパルスからなる時系列のタイミング図であり、図２Ｂは、本発明の一態様を例示するのに役立つ電圧ポンプパルスが高電圧レベルで長いチャージアップ時間を要することを例示する３つの電圧ポンプパルスのタイミング図である。
【図３】ホスト装置と、ホスト装置へ接続されたフラッシュＥＥＰＲＯＭシステムとを備えるシステムのブロック図を示す。
【図４】本発明の一実施形態を例示するための図３のフラッシュＥＥＰＲＯＭシステムのコントローラと電圧生成部分とのブロック図である。
【図５】本発明の一実施形態を例示するための図４のプログラム時間制御回路と制御ロジックのいくつかのコンポーネントとの概略回路図である。
【図６】本発明の別の実施形態を例示するための図４のプログラム時間制御回路と制御ロジックのいくつかのコンポーネントとの概略回路図である。
【図７】ＮＡＮＤセルを目標しきい値電圧Ｖｔまでプログラムするにあたって必要となる電圧ポンプパルス数に照らして描かれた電荷蓄積素子の目標しきい値電圧Ｖｔのグラフである。（右上がりに傾斜する点線は一定パルス幅によるプログラミング速度を示し（すなわち、一定の実効プログラム時間）、実線の曲線はプログラミングに配分された一定のプログラム時間によるプログラミング速度を示す。）
【図８】本発明を例示するのに役立つ電圧レベルは異なるが同じパルス幅を持つ３つの電圧ポンプパルスのグラフである。
【図９】本発明の実施形態を例示する所要のプログラミング電圧との関係でプログラム時間を増加させる３通りの異なるオプションで到達するしきい値電圧のグラフである。
【図１】
2009531806.tif 000003
【図２】
2009531806.tif 000004
【図３】
2009531806.tif 000005
【図４】
2009531806.tif 000006
【図５】
2009531806.tif 000007
【図６】
2009531806.tif 000008
【図７】
2009531806.tif 000009
【図８】
2009531806.tif 000010
【図９】
2009531806.tif 000011
【手続補正書】
【提出日】平成21年1月27日(2009.1.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の電荷蓄積素子を備える不揮発性メモリシステムをプログラムする方法であって、
電荷ポンプによりプログラムパルスを順次提供するステップであって、前記複数の電荷蓄積素子をプログラムするプログラミングサイクル中に少なくともいくつかのパルスの各々の振幅は従来のパルスに比べて増加し、プログラムパルスの振幅が増加すると共に、プログラムパルスの実効プログラム時間が減少するステップと、
電荷ポンプによって提供されるパルスの種々の振幅を伝える信号に応じて複数のプログラム時間制御信号を生成するステップであって、前記プログラム時間制御信号により、電荷蓄積素子に対するプログラムパルスの印加に配分されるプログラム時間の値は複数回にわたり調整され、この値は前記複数の電荷蓄積素子を所定の状態までプログラムするためのパルス数を減少させるために、プログラムパルスの実効プログラム時間を概ね一定に保つ値であるステップと、
を含む方法。
【請求項２】
請求項１記載の方法であって、
前記生成するステップは、電荷蓄積素子に対する前記プログラミングサイクル中に電荷ポンプによって提供されるパルスの数または振幅を伝える複数のインジケータ信号を生成し、前記インジケータ信号は、電荷ポンプの任意の出力の振幅を使わずに生成される方法。
【請求項３】
請求項２記載の方法であって、
プログラム時間制御信号はインジケータ信号に応じて生成され、これにより電荷蓄積素子に対する前記プログラミングサイクルの少なくとも一部分では、電荷ポンプによってｎ個のプログラムパルスが提供されるたびにプログラムパルスの印加に配分されるプログラム時間が増加し、ｎは正の整数である方法。
【請求項４】
請求項３記載の方法であって、
プログラムパルスの印加に配分されるプログラム時間は、前記プログラミングサイクル中に前記複数の電荷蓄積素子をプログラムするために所定の数のパルスが提供された後、電荷ポンプによってｎ個のプログラムパルスが提供されるたびに増加する方法。
【請求項５】
請求項４記載の方法であって、
プログラムパルスの印加に配分されるプログラム時間は、前記プログラミングサイクル中に前記複数の電荷蓄積素子をプログラムするために所定の数のプログラムパルスが提供されるまで増加しない方法。
【請求項６】
請求項２記載の方法であって、
インジケータ信号に応じて生成されるプログラム時間制御信号により、プログラムパルスの印加に配分されるプログラム時間は、電荷蓄積素子に対する前記プログラミングサイクルの少なくとも一部分では、電荷ポンプによって提供されるプログラムパルスの振幅がｎ回漸増するたびに増加し、ｎは正の整数である方法。
【請求項７】
請求項６記載の方法であって、
プログラムパルスの印加に配分されるプログラム時間は、前記プログラミングサイクル中にプログラムパルスの振幅が所定の回数にわたって漸増した後、電荷ポンプによって提供されるプログラムパルスの振幅がｎ回漸増するたびに増加する方法。
【請求項８】
請求項７記載の方法であって、
プログラムパルスの印加に配分されるプログラム時間は、前記プログラミングサイクル中にプログラムパルスの振幅が所定の回数にわたり漸増するまで増加しない方法。
【請求項９】
請求項２記載の方法であって、
前記インジケータ信号のうちの少なくとも１つのインジケータ信号と前記複数のプログラム時間制御信号とにより、電荷蓄積素子に対するプログラムパルスの印加に配分されるプログラム時間は、前記プログラミングサイクル中に１度だけ、より高い値に調整され、これにより前記複数の電荷蓄積素子を所定の状態までプログラムするためのパルス数は減少する方法。
【請求項１０】
不揮発性メモリシステムであって、
複数の電荷蓄積素子と、
プログラムパルスを順次提供する電荷ポンプであって、前記複数の電荷蓄積素子をプログラムするプログラミングサイクル中に少なくともいくつかのパルスの各々の振幅は従来のパルスに比べて増加し、プログラムパルスの振幅が増加すると共に、プログラムパルスの実効プログラム時間が減少する電荷ポンプと、
電荷ポンプによって提供されるパルスの種々の振幅を伝える信号に応じて複数のプログラム時間制御信号を生成する装置であって、前記プログラム時間制御信号により、電荷蓄積素子に対するプログラムパルスの印加に配分されるプログラム時間の値は複数回にわたり調整され、この値は前記複数の電荷蓄積素子を所定の状態までプログラムするためのパルス数を減少させるために、プログラムパルスの実効プログラム時間を概ね一定に保つ値である装置と、
を備えるシステム。
【請求項１１】
請求項１０記載のシステムであって、
前記装置は、
電荷ポンプによって提供されるパルスの振幅を伝える複数のインジケータ信号を生成する第１の回路であって、前記インジケータ信号は電荷ポンプの任意の出力の振幅を使用することなく生成される第１の回路と、
前記インジケータ信号に応じて複数のプログラム時間制御信号を生成する第２のプログラム時間制御回路であって、電荷蓄積素子に対するプログラムパルスの印加に配分されるプログラム時間の値は、前記複数の電荷蓄積素子を所定の状態までプログラムするためのパルス数を減少させる値に調整される第２のプログラム時間制御回路と、
を備えるシステム。
【請求項１２】
請求項１１記載のシステムであって、
前記複数のインジケータ信号は、電荷蓄積素子に対する前記プログラミングサイクル中に電荷ポンプによって提供されるプログラムパルスの数を伝えるシステム。
【請求項１３】
請求項１２記載のシステムであって、
インジケータ信号に応じて前記第２のプログラム時間制御回路によって生成されるプログラム時間制御信号により、プログラムパルスの印加に配分されるプログラム時間は、電荷蓄積素子に対する前記プログラミングサイクルの少なくとも一部分では、電荷ポンプによってｎ個のプログラムパルスが提供されるたびに増加し、ｎは正の整数であるシステム。
【請求項１４】
請求項１３記載のシステムであって、
プログラムパルスの印加に配分されるプログラム時間は、前記プログラミングサイクル中に前記複数の電荷蓄積素子をプログラムするために所定の数のパルスが提供された後、電荷ポンプによってｎ個のプログラムパルスが提供されるたびに増加するシステム。
【請求項１５】
請求項１４記載のシステムであって、
プログラムパルスの印加に配分されるプログラム時間は、前記プログラミングサイクル中に前記複数の電荷蓄積素子をプログラムするために所定の数のプログラムパルスが提供されるまで増加しないシステム。
【請求項１６】
請求項１１記載のシステムであって、
インジケータ信号に応じて前記第２のプログラム時間制御回路によって生成されるプログラム時間制御信号により、プログラムパルスの印加に配分されるプログラム時間は、電荷蓄積素子に対する前記プログラミングサイクルの少なくとも一部分では、電荷ポンプによって提供されるプログラムパルスの振幅がｎ回漸増するたびに増加し、ｎは正の整数であるシステム。
【請求項１７】
請求項１６記載のシステムであって、
プログラムパルスの印加に配分されるプログラム時間は、前記プログラミングサイクル中にプログラムパルスの振幅が所定の回数にわたって漸増した後、電荷ポンプによって提供されるプログラムパルスの振幅がｎ回漸増するたびに増加するシステム。
【請求項１８】
請求項１７記載のシステムであって、
プログラムパルスの印加に配分されるプログラム時間は、前記プログラミングサイクル中にプログラムパルスの振幅が所定の回数にわたり漸増するまで増加しないシステム。
【請求項１９】
請求項１１記載のシステムであって、
前記インジケータ信号のうちの少なくとも１つのインジケータ信号と前記複数のプログラム時間制御信号とにより、電荷蓄積素子に対するプログラムパルスの印加に配分されるプログラム時間は、前記プログラミングサイクル中に１度だけ、より高い値に調整され、これにより前記複数の電荷蓄積素子を所定の状態までプログラムするためのパルス数は減少するシステム。
【国際調査報告】
2009531806.tif 000012
2009531806.tif 000013