(57)【特許請求の範囲】
【請求項１】
（Ａ）  それぞれドレイン領域、ソース領域、制御ゲート、及びフローティングゲートを含む複数のメモリセルを有するメモリアレイと、
（Ｂ）  プログラミング電圧電源及び前記各メモリセルのドレイン領域に接続されていて、少なくとも一つのドレイン領域に複数の所定のドレインプログラミング電圧の一つを供給するドレインプログラミング電圧発生回路と、
（Ｃ）  前記ドレインプログラミング電圧発生回路に接続されていて、所定のゲートプログラミング電圧と前記一つのドレインプログラミング電圧が所定時間複数のメモリセルに印加されたとき、前記複数のメモリセルのプログラムされたしきい値電圧が所定のプログラムしきい値電圧範囲内となるよう前記ドレインプログラミング電圧発生回路の発生するドレインプログラミング電圧を前記複数の所定のドレインプログラミング電圧の中から決定し、かつその電圧を前記複数のメモリセルに供給する制御回路と、
を具備した単一の基板上に作り込まれた不揮発性メモリにおいて、
前記ドレインプログラミング電圧発生回路が、
ｉ）ドレインプログラミング電圧の電圧レベルを設定する電圧設定回路と、
ｉｉ）前記プログラミング電圧電源に接続されていて、実質的に一定の第１の電流を発生する電流ミラー回路と；
ｉｉｉ）前記（１）プログラミング電圧電源、（２）電流ミラー回路、（３）電圧設定回路、及び（４）ドレインプログラミング電圧発生回路の出力ノードに接続されていて、第１の電流を前記電流ミラー回路から前記電圧設定回路に供給するよう接続すると共に、ドレインプログラミング電圧発生回路の出力ノードを迅速にドレインプログラミング電圧に充電する作用を助長する正フィードバックループとして作用して、当該出力ノードをドレインプログラミング電圧に安定させるソースフォロワと、
をさらに有する不揮発性メモリ。
【請求項２】
前記ドレインプログラミング電圧発生回路の電圧設定回路が、さらに、制御値に従ってドレインプログラミング電圧の電圧レベルを設定するよう構成されている請求項１記載の不揮発性メモリ。
【請求項３】
前記ドレインプログラミング電圧発生回路の電圧設定回路が、さらに、並列に接続された複数のトランジスタを備え、その複数の各トランジスタのゲートが前記制御回路に接続されており、前記複数のトランジスタの特定の組合わせを制御回路からの前記制御値に従って選択的にターンオンするよう構成されている請求項２記載の不揮発性メモリ。
【請求項４】
前記メモリセルが電気的消去可能電気的プログラム可能リードオンリーメモリである請求項１記載の不揮発性メモリ。
【請求項５】
前記メモリセルが一時に複数のデータビットを格納する請求項１記載の不揮発性メモリ。
【請求項６】
前記プログラムしきい値電圧範囲が約１ボルトである請求項１記載の不揮発性メモリ。
【請求項７】
制御値に従って所定のレベルのドレインプログラミング電圧を発生する電圧設定回路を有したドレインプログラミング電圧発生回路と、
プログラミング電圧電源に接続されていて、実質的に一定の第１の電流を発生する電流ミラー回路と、
前記プログラミング電圧電源と前記電流ミラー回路と前記電圧設定回路及び前記ドレインプログラミング電圧発生回路の出力ノードに接続されていて、第１の電流を前記電流ミラー回路から前記電圧設定回路に供給するよう接続すると共に、ドレインプログラミング電圧発生回路の出力ノードを迅速にドレインプログラミング電圧に充電する作用を助長する正フィードバックループとして作用して、当該出力ノードをドレインプログラミング電圧に安定させるソースフォロワと
を具備した不揮発性メモリのドレインプログラミング電圧を設定する方法であって、
（ａ）  ドレインプログラミング電圧の電圧レベルに対応する制御値を設定するステップと、
（ｂ）  不揮発性メモリのドレインプログラミング電圧発生回路が前記制御値に従ってドレインプログラミング電圧を発生するように、前記制御値をドレインプログラミング電圧発生回路に送るステップと、
（ｃ）  不揮発性メモリの複数のメモリセルを選択して、それらの選択された複数のメモリセルにドレインプログラミング電圧を所定のプログラミング時間だけ印加することによりプログラミングするステップと、
（ｄ）  プログラミング後、選択された複数のメモリセルのしきい値電圧を測定するステップと、
（ｅ）  その測定されたしきい値電圧が所定のプログラムしきい値電圧範囲内に入っていない場合、前記制御値を変えることにより前記ドレインプログラミング電圧を変更してステップ（ｂ）〜（ｅ）を繰り返すステップと、
（ｆ）  前記測定されたしきい値電圧が所定のプログラムしきい値電圧範囲内にある場合、その制御値に従って前記ドレインプログラミング電圧発生回路がドレインプログラミング電圧を発生するよう当該制御値を不揮発性メモリに格納するステップと、
を具備した不揮発性メモリのドレインプログラミング電圧設定方法。
【請求項８】
さらに、ドレインプログラミング電圧発生回路が前記制御値に従ってドレインプログラミング電圧を発生するように、ドレインプログラミング電圧発生回路の電圧設定回路の複数のトランジスタの特定の組合わせを選択的にターンオンするステップを具備した請求項７記載の方法。
【請求項９】
前記不揮発性メモリが電気的消去可能電気的プログラマブル・リードオンリーメモリである請求項７記載の方法。
【請求項１０】
前記所定のプログラムしきい値電圧範囲が約１ボルトである請求項７記載の方法。
【請求項１１】
（Ａ）  ビット線に接続された少なくとも第１のメモリトランジスタを有し、その第１のメモリトランジスタが、ビット線に接続されたドレイン領域、ソース領域、制御ゲート、及びフローティングゲートを含み、第１のメモリトランジスタはさらにある実効チャネル長を有するメモリアレイと、
（Ｂ）  プログラミング電圧電源とビット線に接続されていて、第１のメモリトランジスタのプログラミング時にビット線を介して第１のメモリトランジスタのドレイン領域にドレインプログラミング電圧を供給するドレインプログラミング電圧発生回路とから構成された不揮発性メモリであって、
前記ドレインプログラミング電圧発生回路は
ｉ）ドレインプログラミング電圧の電圧レベルを設定すると共に、第１のメモリトランジスタの実効チャネル長とほぼ等しいチャネル長を有する第２のメモリトランジスタを具備し、前記第１メモリトランジスタの実効チャネル長に応じて変化する第２のメモリドレインプログラミング電圧を発生する電圧設定回路と、
ｉｉ）  前記プログラミング電圧電源に接続されていて、実質的に一定の第１の電流を発生する電流ミラー回路と；
ｉｉｉ）前記（１）  プログラミング電圧電源、（２）  電流ミラー回路、（３）  電圧設定回路、及び（４）  ドレインプログラミング電圧発生回路の出力ノードに接続されていて、第１の電流を前記電流ミラー回路から前記電圧設定回路に供給するよう接続すると共に、ドレインプログラミング電圧発生回路の出力ノードを迅速にドレインプログラミング電圧に充電する作用を助長する正フィードバックループとして作用して、当該出力ノードをドレインプログラミング電圧に安定させるソースフォロワと、
から構成されることを特徴とする単一の基板上に作り込まれた不揮発性メモリ。
【請求項１２】
前記電流ミラー回路が、前記メモリアレイの前記第１のメモリトランジスタ及び前記電圧設定回路の実効チャネル長に実質的に等しい実効チャネル長を有する第３のメモリトランジスタを具備する請求項１１記載の不揮発性メモリ。
【請求項１３】
（Ａ）ビット線に接続された少なくとも第１のメモリトランジスタを有するメモリアレイであって、第１のメモリトランジスタが、ビット線に接続されたドレイン領域、ソース領域、制御ゲート、及びフローティングゲートを含み、かつ第１のメモリトランジスタがさらにある実効チャネル長を有するメモリアレイと、
（Ｂ）  プログラミング電圧電源とビット線に接続されていて、第１のメモリトランジスタのプログラミングの間に該ビット線を介して第１のメモリトランジスタのドレイン領域にドレインプログラミング電圧を供給すると共に、第１のメモリトランジスタの実効チャネル長に関連して変化するドレインプログラミング電圧を発生するように、第１のメモリトランジスタの実効チャネル長に従って変化する制御可能な抵抗を有するドレインプログラミング電圧発生回路とを具備する不揮発性メモリであって；
前記ドレインプログラミング電圧発生回路は更に制御可能な抵抗を得るための並列に接続された複数のトランジスタで、制御可能な抵抗が複数のトランジスタの特定の組合わせを選択的にターンオンすることによって選択される複数のトランジスタを有し、
前記ドレインプログラミング電圧発生回路は、さらに、
ｉ）  前記プログラミング電圧電源に接続されていて、実質的に一定の第１の電流を発生する電流ミラー回路と、
ｉｉ）前記第１の電流を前記電圧設定回路に供給するよう接続されると共に、ドレインプログラミング電圧発生回路の出力ノードを迅速にドレインプログラミング電圧に充電する作用を助長する正フィードバックループとして作用して、当該出力ノードをドレインプログラミング電圧に安定させるソースフォロワと
を有する不揮発性メモリ。
【請求項１４】
（ａ）メモリアレイと、
（ａ１）プログラミング電圧電源と、
（ｂ）格納された制御値に対応する一つまたは複数の選択信号を出力して前記メモリアレイの各メモリセルがほぼ等しいプログラミング時間でプログラムされるように、ドレインプログラミング電圧のレベルを制御するコンフィギュレーション回路と、
（ｃ）前記コンフィギュレーション回路とメモリアレイ及び前記プログラミング電圧電源とに接続されていて、前記制御値に従ってドレインプログラミング電圧を発生するよう構成されるとともに、
（１）電流を生成する電流ミラー回路を形成する１以上のトランジスタからなる第１のトランジスタ群と、
（２）ソースフォロワ回路を形成する１以上のトランジスタからなる第２のトランジスタ群と、
（３）前記コンフィギュレーション回路からの選択信号群及び前記ソースフォロワ回路を介した電流を受けて電圧設定回路を形成する１以上のトランジスタからなる第３のトランジスタ群と
を備えたドレインプログラミング電圧発生回路と
を備えた不揮発性メモリであって、
前記プログラミング電圧発生回路は、前記（２）のソースフォロワ回路が前記（１）の電流ミラー回路からの電流を前記（３）の電圧設定回路に供給するよう接続されていると共に、ドレインプログラミング電圧発生回路の出力ノードを迅速にドレインプログラミング電圧に充電する作用を助長する正フィードバックループとして作用して、当該出力ノードをドレインプログラミング電圧に安定させるよう動作することを特徴とする不揮発性メモリ。
【発明の詳細な説明】
発明の分野
本発明は、コンピュータメモリの分野に関するものである。より詳しくは、本発明は、プログラミング能力の差を補償するためにフローティングゲート不揮発性メモリ用のドレインプログラミング電圧を選択するための回路及び方法に関する。
発明の背景
従来技術の少なくとも１種のフラッシュ消去可能な電気的プログラム可能リードオンリーメモリ（「フラッシュＥＰＲＯＭ」）では、フローティングゲートと呼ばれる電気的に隔絶されたゲートを有するメモリセルが用いられる。情報はフローティングゲート上の電荷の形でメモリセルに記憶される。図１は、従来技術のフラッシュＥＰＲＯＭの１種に用いられる１つのメモリセルの構造を示したものである。メモリセル１０は、基板１５にドレイン領域１３及びソース領域１４を有する。ソース領域１４とドレイン領域１３はヒ素ドーパントで非対称にドーピングされ、ドレイン領域１３はさらにリンドーパントでドーピングされる。ポリシリコンのフローティングゲート１２が、総じてこれらの領域の上方でこれらの領域の間に配置され、絶縁層１６によってこれらの領域に対して絶縁されている。処理が終了した段階では、フローティングゲート１２は絶縁層によって完全に取り囲まれ、その結果、電気的に浮いた状態になる。第２の絶縁層１７はフローティングゲート１２を制御ゲート１１から分離する。フローティングゲート１２の上方には第２のポリシリコン層で形成された第２のゲート（すなわち制御ゲート）が配置されている。
上記の従来技術のＥＰＲＯＭのメモリセルはホットエレクトロン注入法によってプログラムされる。各メモリセルはフローティングゲートを有するＭＯＳトランジスタである。高エネルギー電子がシリコンチャネルで生成される。これらの電子はフローティングゲートに吸引されて捕捉され、その結果、そのメモリセルのしきい値電圧が変化する。しきい値電圧は、メモリセルを「オン」にして、そのソースとドレイン電極との間の導通を可能にするために制御ゲートに印加しなければならない最低電圧である。メモリセルのしきい値特性は、メモリセルのフローティングゲートに保持される電荷の量によって制御される。このようなセルは、この段階で「プログラムされた」と言われる。セルのプログラミング特性は時間に対して指数的に変化する。
メモリセル１０は、制御ゲート１１を約＋１２ボルトのゲートプログラミング電位に、ドレイン領域１３を約＋７ボルトのドレインプログラミング電位に、ソース領域１４をアースにそれぞれ接続することによってプログラムされる（すなわちフローティングゲートが負に帯電させられる）。これらの条件下で、酸化物層１６を通してチャネル・ホットエレクトロン注入が行われる。メモリセル１０のフローティングゲート１２上に捕捉された電子はメモリセル１０のしきい値電圧を上昇させる。この段階で、メモリセル１０はプログラムされたしきい値電圧ＶTPを持つようにプログラムされる。
セル１０を消去するには、ドレイン領域１３を浮かし、制御ゲート１１を接地し、約＋１２ボルトの消去電位をソース領域１４に印加する。これらの条件下で、電荷はフローティングゲート１２からソース領域１４にトンネルされる。これによって、メモリセル１０のフローティングゲート１２に捕捉された電子が除去され、メモリセル１０のしきい値電圧が低下する。この状態で、セル１０は消去しきい値電圧ＶTEを有する。
セル１０を読むには、フローティングゲート１２への電荷の移動を起こさせるより低い正の読取り電位を加え（例えば５ボルト）、ドレイン領域１３にある電位（例えば１ボルト）を印加する。このデバイスを流れる電流を検出することによって、フローティングゲート１２が負に帯電しているかどうかが決定される。
メモリセル１０がプログラムされる速度は、セル１０のプログラミング能力とセル１０に印加されるプログラミング電圧に大きく依存する。セル１０のプログラミング能力は、セルのプログラムしきい値電圧ＶTPに影響を及ぼす。セル１０のプログラム能力に影響を及ぼす要因の１つはセルの実効チャネル長Ｌeffである。もう１つの要素は、セル１０のプログラム動作を遂行する周辺回路である。説明を簡単にするためには、セルの実効チャネル長Ｌeffはプロセス変動及びその他の変動の量を決定すると考えることができる。例えば、リソグラフィ、エッチング、及び拡散プロセスは、全てプロセス変動の一因となる。図２Ａは、プログラミング時間及び実効チャネル長Ｌeffとプログラミング時のメモリセル１０のしきい値電圧Ｖtとの関係を示したものである。
図２Ａにおいて、曲線２１は、実効チャネル長Ｌeffが０．３μｍのときのセル１０のしきい値電圧とプログラミング時間との関係の一例を示したものである。曲線２２は、セル１０の実効チャネル長Ｌeffが０．４μｍのときのセル１０のしきい値電圧とプログラミング時間との間の関係を示している。図２Ａから明らかなように、実効チャネル長Ｌeffが比較的長いと、セル１０が同じしきい値電圧に達するプログラミング時間は、セル１０に印加されるプログラミング電圧が変わらない場合、それに従って長くなる。
従来技術のフラッシュＥＰＲＯＭの１つの欠点は、セル間で実効チャネル長にばらつきがあり、またダイ間及び製造ロット間でフラッシュＥＰＲＯＭの平均実効チャネル長にばらつきがあることである。言い換えると、１製造ロットで製造されたフラッシュＥＰＲＯＭは、通常、異なる製造ロットで製造されたフラッシュＥＰＲＯＭと異なる平均実効チャネル長を持つものと思われる。これは、両方のフラッシュＥＰＲＯＭが同じタイプの場合であってもそうである。上に述べたように、これらの実効チャネル長及び平均実効チャネル長のばらつきは、プロセス変動及びその他の変動に起因するものである。異なった実効チャネル長のフラッシュＥＰＲＯＭが同じプログラミング電圧を用いてプログラムされる場合、フラッシュＥＰＲＯＭの平均実効チャネル長の差が、フラッシュＥＰＲＯＭ間でプログラミング時間にばらつきが生じる原因になる。フローティングゲート・フラッシュＥＰＲＯＭセルのプログラミング時間は、プログラミング時にセルのドレイン領域に印加されるドレインプログラミング電圧に反比例して変化する。第２Ｂは、プログラミング時のメモリセル１０のしきい値電圧Ｖtとプログラミング時間及びメモリセル１０に印加されるプログラミングドレイン電圧ＶDとの関係を示したものである。図２Ｂにおいては、メモリセル１０は所与のプログラミング能力を有する。
図２Ｂにおいて、曲線２３は、プログラミングドレイン電圧ＶDが約６ボルトのときにおけるセル１０のしきい値電圧とプログラミング時間との関係を示したものである。曲線２４は、プログラミングドレイン電圧が約５ボルトのときのセル１０のしきい値電圧とプログラミング時間との関係を示している。図２Ｂから明らかなように、プログラミングドレイン電圧ＶDが比較的高いと、メモリセル１０のプログラミング能力が同じである場合、セル１０が同じしきい値電圧に達するプログラミング時間はそれに応じて短くなる。
図３は、従来のフラッシュＥＰＲＯＭ用のドレインプログラミング電圧を発生させるための従来技術のドレインプログラミング電圧発生回路３０の回路図を示す。いったんドレインプログラミング電圧発生回路３０が製造された後では、回路３０によって発生するドレインプログラミング電圧は、これを調節することによって従来技術のフラッシュＥＰＲＯＭの実効チャネル長Ｌeffのばらつきを補償することはことはできない。
従来のフラッシュＥＰＲＯＭは、通常、連想メモリ（「ＣＡＭ」）セルを有する。ＣＡＭは、通常、ある種の構成機能及び管理機能を遂行するために用いられる。ＣＡＭセルは、フラッシュＥＰＲＯＭをデバイスの動作に対応させて形成するようプログラムすることができる。また、ＣＡＭセルは、冗長セルや基準セルを主メモリアレイとの関連でアクティブ（あるいは非アクティブ）にするためにも用いられる。ＣＡＭセルは、通常、フラッシュＥＰＲＯＭが最終製品としてエンドユーザの手に渡る以前に、構成情報によってプログラムされる。
発明の概要及び目的
本発明の一つの目的は、プログラミング能力の差を補償するために、不揮発性メモリ用のドレインプログラミング電圧を選択するための回路及び方法を提供することにある。
本発明のもう一つの目的は、不揮発性メモリのプログラミング能力を測定し、その不揮発性メモリを所定のプログラミング時間内に所定のプログラムされたしきい値電圧にプログラムすることができるよう、その測定したプログラミング能力に従って不揮発性メモリのドレインプログラミング電圧を設定するための回路及び方法を提供することにある。
本発明のもう一つの目的は、不揮発性メモリ間のプログラミング時間及びプログラムされたしきい値電圧のばらつきを最小限にするための回路及び方法を提供することにある。
本発明のもう一つの目的は、ドレインプログラミング電圧を各不揮発性メモリ毎に個々に選択することによって、不揮発性メモリ間のプログラミング時間及びプログラムされたしきい値電圧の一様性を確保し易くすることにある。
本発明のさらにもう一つの目的は、比較的密なプログラムされたしきい値電圧及びプログラミング時間の分布を得ることにある。
本発明のもう一つの目的は、ダイ間及び製造ロット間においてフラッシュＥＰＲＯＭのプログラミング時間の比較的密な分布を得ることにある。
ここで、ドレインプログラミング電圧を用いて不揮発性メモリのプログラミング能力のばらつきを最小限にするための方法を説明する。まず、不揮発性メモリの製造後、そのプログラミング能力を測定する。次に、その不揮発性メモリを所定のプログラミング時間で所定のゲートプログラミング電圧により所定のプログラムされたしきい値電圧を持つようプログラムすることができるように、その測定された不揮発性メモリのプログラミング能力に従ってドレインプログラミング電圧を設定する。
次に、１枚の基板上に作り込まれた不揮発性メモリについて説明する。この不揮発性メモリは少なくとも１つのメモリセルを持つメモリアレイを有する。メモリアレイはドレイン領域、ソース領域、制御ゲート、及びフローティングゲートを有する。メモリセルのプログラミング時にメモリセルのドレイン領域にドレインプログラミング電圧を与えるために、ドレインプログラミング電圧発生回路がプログラミング電圧電源及びメモリセルのドレイン領域に接続されている。メモリセルを所定のプログラミング時間で所定のゲートプログラミング電圧により所定範囲内の所定のしきい値電圧にプログラムするよう、ドレインプログラミング電圧をメモリセルのプログラミング能力に関連させて変化させるために、ドレインプログラミング電圧発生回路に制御回路が接続されている。
また、不揮発性メモリのドレインプログラミング電圧を設定するための方法を説明する。まず、ドレインプログラミング電圧の第１のレベルに対応する第１の値を設定する。次に、ドレインプログラミング電圧発生回路がこの第１の値に従ってドレインプログラミング電圧を発生するように、第１の値を不揮発性メモリのドレインプログラミング電圧発生回路に送る。その後、不揮発性メモリの複数個の未プログラムメモリセルを選択し、それらの選択された複数個の未プログラムメモリセルに所定のプログラミング時間の間ドレインプログラミング電圧を印加することによりプログラミングする。プログラミング後、それらの選択されたメモリセルの中の１つについてしきい値電圧を測定する。次に、測定されたしきい値電圧を不揮発性メモリの所定のプログラムされたしきい値電圧と比較する。その測定されたしきい値電圧の電圧レベルがその所定のプログラムされたしきい値電圧の所定の範囲内にない場合は、ドレインプログラミング電圧を変える。このプロセスを繰り返す。測定されたしきい値電圧の電圧レベルが実質的に上記所定のプログラムされたしきい値電圧の電圧レベルと一致した場合は、第１の値を不揮発性メモリに記憶して、不揮発性メモリが所定のプログラミング時間内に所定のプログラムされたしきい値電圧にプログラムされるように、その第１の値に従ってドレインプログラミング電圧を発生するよう、ドレインプログラミング電圧発生回路を間断なく制御する。
本発明のその他の目的、特徴及び長所については、添付図面及び以下の詳細な説明から明らかとなろう。
【図面の簡単な説明】
添付図面の各図は本発明を例示するものであって、制限するものではなく、各図において、同じ参照符号は同様の構成部分ないしは要素を示す。
図１は、フラッシュＥＰＲＯＭのフローティングゲートメモリセルの該略図である。
図２Ａは、図１のメモリセルのしきい値電圧とそのメモリセルのプログラミング時間及び実効チャネル長との関係を示す電圧−時間線図である。
図２Bは、図１のメモリセルのしきい値電圧とプログラミング時にそのメモリセルに印加されるプログラミング時間及びプログラミングドレイン電圧との関係を示す電圧−時間線図である。
図３は、従来技術によるフラッシュＥＰＲＯＭ用のドレインプログラミング電圧発生回路の回路図である。
図４は、ドレインプログラミング電圧発生回路、構成（コンフィギュレーション）論理回路、及び構成（コンフィギュレーション）セルを含むフラッシュＥＰＲＯＭのブロック図である。
図５は、図４のフラッシュＥＰＲＯＭを試験システムに接続した状態を示すブロック図である。
図６Ａ及び６Ｂは、ドレインプログラミング電圧の電圧レベルを設定するプロセスを示すフローチャートである。
図７は、図４のドレインプログラミング電圧発生回路の回路図である。
図８は、図４のコンフィギュレーション論理回路及びコンフィギュレーションセルの回路図である。
図９は、図４のドレインプログラミング電圧発生回路のもう一つの実施形態を示す回路図である。
図１０は、図４のドレインプログラミング電圧発生回路の他の実施形態を示す回路図である。
図１１は、図４のドレインプログラミング電圧発生回路のさらに他の実施形態を示す回路図である。
詳細な説明
図４は、ドレインプログラミング電圧発生回路５０及びコンフィギュレーション論理回路５１を含むフラッシュＥＰＲＯＭ４０のブロック図である。フラッシュＥＰＲＯＭ４０は、各アドレスのデータを記憶するフローティングゲートフラッシュＥＰＲＯＭセルで構成されたメモリアレイ４１を有する。一実施形態の場合、メモリアレイ４１は８メガビットのデータを記憶する。他の実施形態においては、メモリアレイ４１は１６メガビットのデータを記憶する。その他の実施形態の場合、メモリアレイ４１はこれより大きくても小さくてもよい。
以下にさらに詳しく説明するように、フラッシュＥＰＲＯＭ４０のプログラミングメモリセルに対するドレインプログラミング電圧は、フラッシュＥＰＲＯＭ４０と他のフラッシュＥＰＲＯＭとの間にプログラミング時間及びプログラムされたしきい値電圧の大きなばらつきが生じるのを回避するよう製造後に選択される。
フラッシュＥＰＲＯＭ４０が製造された後、まずフラッシュＥＰＲＯＭ４０のプログラミング能力を測定する。次に、フラッシュＥＰＲＯＭ４０が所定の時間で所定のゲートプログラミング電圧により所定のプログラムされたしきい値電圧を持つようプログラムされるように、その測定されたフラッシュＥＰＲＯＭ４０のプログラミング能力に従ってドレインプログラミング電圧を設定する。
一実施形態においては、メモリアレイの各メモリセルは、一時に１ビットのデータを記憶する。もう一つの実施形態においては、メモリアレイ４１の各メモリセルは、一時に複数ビットのデータを記憶する。一実施形態の場合、図４に示すフラッシュＥＰＲＯＭ全ての回路は１枚の基板上にあり、ＣＭＯＳ回路を使用している。
フラッシュＥＰＲＯＭ４０はメモリアレイ４１に接続されたＸデコーダ４２及びＹデコーダ４３を有する。Ｘデコーダ４２はメモリアレイ４１用の行デコーダであり、Ｙデコーダ４３はメモリアレイ４１用の列デコーダである。
また、フラッシュＥＰＲＯＭ４０は、フラッシュＥＰＲＯＭ４０のメモリ動作を制御するオンチップ制御回路４６を有する。制御回路４６はバス６０を介してＸ及びＹデコーダ４２及び４３に外部回路（図示省略）から入力されるアドレスをラッチするためのアドレスラッチを有する。また、制御回路４６は、バス６１及びＹゲーティング回路４４を介してメモリアレイ４１に接続されたデータバッファを有する。そのデータバッファはメモリアレイ４１から読み出されたデータまたはメモリアレイ４１の各アドレスにプログラムされるデータをバッファリングする。さらに、制御回路４６は、書込み状態回路及びコマンド状態回路も有する。書込み状態回路は、外部回路からの開始コマンドのみによってメモリアレイ４１をプログラムまたは消去するためのマルチステップ・シーケンスをフラッシュＥＰＲＯＭ４０にたどらせる。コマンド状態回路は、受け取ったっ各コマンドをデコードし、適切な制御信号を発生して書込み状態回路に入力する。
制御回路４６は、アドレスバス６２を介して外部アドレスを、またデータバス６３を介してデータ及びコマンドを受け取るように接続されている。また、制御回路４６は、データバス６３を介してデータを外部回路に供給する。制御回路４６は、
0003667756.tif 000002
を受け取る。
0003667756.tif 000003
はフラッシュＥＰＲＯＭ４０のデバイス選択のために用いられる。
0003667756.tif 000004
はデバイス選択に基づくフラッシュＥＰＲＯＭ４０のための出力制御信号である。
0003667756.tif 000005
が能動ローの間制御回路４６への書込みを許容する。
また、制御回路４６は
0003667756.tif 000006
に接続されている。
0003667756.tif 000007
はパワーダウン制御信号を制御回路４６に供給する。
0003667756.tif 000008
は、フラッシュＥＰＲＯＭ４０をパワーダウンモードにする能動ロー信号である。フラッシュＥＰＲＯＭ４０は、
0003667756.tif 000009
がデアサートされたとき、ノーマル動作モードに戻る。
また、制御回路４６はテストモード回路４７を有する。テストモード回路４７は、約１２ボルトのハイ電圧がフラッシュＥＰＲＯＭ４０の
0003667756.tif 000010
に入力されたとき、フラッシュＥＰＲＯＭ４０をテストモードにする。テストモードでは、フラッシュＥＰＲＯＭ４０がそのデバイス仕様を満たしているかどうかを判断するための一連の試験を行うことができる。図５に示すように、フラッシュＥＰＲＯＭ４０の試験を制御するには外部試験システム８５が用いられる。さらに、試験システム８５は、試験中及び試験後にフラッシュＥＰＲＯＭ４０をコンフィギュレーションするよう制御回路４６を制御する。
また、フラッシュＥＰＲＯＭ４０は、ドレインプログラミング電圧発生回路５０及びコンフィギュレーション論理回路５１を有する。ドレインプログラミング電圧発生回路５０は、プログラミング時にメモリアレイ４１の選択されたメモリセルのドレイン領域に印加されるドレインプログラミング電圧ＶDPを発生する。コンフィギュレーション論理回路５１は、フラッシュＥＰＲＯＭ４０の製造後エンドユーザの手に渡る前に、回路５０が発生するドレインプログラミング電圧ＶDPの電圧レベルを調整するために用いられる。
フラッシュＥＰＲＯＭ間のプロセス変動その他の変動は、フラッシュＥＰＲＯＭ間にプログラミング能力の差を生じさせる。ドレインプログラミング電圧ＶDPの電圧レベルが異なると、（１）元来高速のプログラミングセルの速度が遅くなり、あるいは（２）元来低速のプログラミングセルが速くなる。目標のプログラミング時間及び目標プログラムされたしきい値電圧を選択し、その後電圧発生回路５０及びコンフィギュレーション論理回路５１を用いてフラッシュＥＰＲＯＭ４０にとっての適切なドレインプログラミング電圧を発生させ、選択することによって、フラッシュＥＰＲＯＭ４０の実際のプログラミング時間及びプログラムされたしきい値電圧を目標プログラミング時間及び目標プログラムされたしきい値電圧に近づけることができる。これは、フラッシュＥＰＲＯＭ４０の目標プログラミング能力の偏差を確実に補償するのに役立つ。この方法は、ＥＰＲＯＭの生産ランに適用した場合、フラッシュＥＰＲＯＭ間のプログラミング能力の差を最小限にするのに役立つ。言い換えると、フラッシュＥＰＲＯＭのプログラミング時間及びプログラムされたしきい値電圧がより均一になり、目標プログラミング時間及び目標しきい値電圧により近づく。
また、フラッシュＥＰＲＯＭ４０はコンフィギュレーションセル４５を有する。コンフィギュレーションセル４５はメモリアレイ４１の周辺に配置されている。コンフィギュレーション論理回路５１及び電圧発生回路５０は、コンフィギュレーションセル４５と共にプログラミング電圧ＶDPをフラッシュＥＰＲＯＭ４０に合わせて選択させる。各コンフィギュレーションセル４５はＣＡＭセルである。
また、ＥＰＲＯＭ４０はコンフィギュレーションセル４５に加えて他のコンフィギュレーションセル（図示省略）を有する。
ＶPPはフラッシュＥＰＲＯＭ４０用のプログラム／消去電源電圧である。ＶPPはドレインプログラミング電圧発生回路５０にも接続されている。ＶCCはフラッシュＥＰＲＯＭ４０用のデバイス電源電圧であり、ＶSSはアースである。一実施形態の場合、ＶPPは約12.0ボルト、ＶCCは約5.0ボルトである。フラッシュＥＰＲＯＭ４０のメモリ動作には、読取り、プログラミング及び消去がある。
フラッシュＥＰＲＯＭ４０は、製造後エンドユーザの手に渡る以前に、図５に示すように、試験システム８５に接続してドレインプログラミング電圧が適切かどうかが判断される。試験システム８５はコンピュータ制御の試験システムである。試験システム８５はフラッシュＥＰＲＯＭ４０をテストモードにする。試験システム８５は、適切なコマンド、アドレス、及びデータをバス６２〜６３を介してフラッシュＥＰＲＯＭ４０に送り、フラッシュＥＰＲＯＭ４０にとって適切なドレインプログラミング電圧ＶDPを決定する。適切なドレインプログラミング電圧を決定し、設定するプロセスは、試験システム８５で実行されるソフトウェアプログラムによって行われる。
図６Ａ及び６Ｂに示すように、試験システム８５がフラッシュＥＰＲＯＭ４０をテストモードにした後、このプロセスは、試験システム８５がフラッシュＥＰＲＯＭ４０のプログラムされた最大しきい値電圧ＶTPMAX及びプログラムされた最小しきい値電圧ＶTPMINを設定するステップ１０１で開始される。ＶTPMAX電圧は、フラッシュＥＰＲＯＭ４０に許容されるプログラムされたしきい値電圧の最高値を表す。ＶTPMIN電圧は、フラッシュＥＰＲＯＭ４０に許容されるプログラムされたしきい値電圧の最低値を表す。これらのＶTPMAX及びＶTPMIN電圧を設定することによって、フラッシュＥＰＲＯＭ４０の実際のプログラムされたしきい値電圧ＶTがその中で変動することを許容する電圧ウィンドウが設定される。一実施形態の場合、ＶTPMAX電圧は６．８ボルトに設定され、ＶTPMIN電圧は６．０ボルトに設定される。
プログラムされたしきい値電圧ＶTは少なくとも約５．０ボルトとすべきである。フラッシュＥＰＲＯＭ４０を経時劣化に対して保護するために、初期プログラムされたしきい値電圧は５．０ボルトより高く設定すべきである。経時劣化とは、プログラムされたしきい値電圧ＶTがフラッシュＥＰＲＯＭ４０の使用寿命中に低下することを意味する。
ＶTPMAX及びＶTPMINによって画定される電圧ウィンドウは、フラッシュＥＰＲＯＭ４０のメモリセルの実際のプログラムされたしきい値電圧がその範囲内で変動するのを許容するために設けられる。これは、プログラム能力は１個のフラッシュＥＰＲＯＭ４０内の１つのメモリセルと他のメモリセルとでわずかに異なることがあるためである。
ＶTPMAX電圧の電圧レベルは、プログラミング中のメモリセルにオーバーストレスを生じさせることがないように選択される。ＶTPMIN電圧の電圧レベルは、プログラムされたメモリセルが消去されたセルと混同されることがないように選択される。
次に、試験システム８５は、ステップ１０２でゲートプログラミング電圧ＶGPを所定の値に設定する。一実施形態の場合、ゲートプログラミング電圧ＶGPは約１２ボルトに設定される。その後、試験システム８５は、ステップ１０３でフラッシュＥＰＲＯＭ４０のプログラミング時間ＴPを所定の値に設定する。
一実施形態の場合、プログラミング時間ＴPは２マイクロ秒乃至３マイクロ秒の範囲内に設定される。もう一つの実施形態の場合、プログラミング時間ＴPは４マイクロ秒乃至６マイクロ秒の範囲内に設定することができる。
試験システム８５は、ステップ１０４でコンフィギュレーション論理回路５１を介してドレインプログラミング電圧発生回路５０にドレインプログラミング電圧ＶDPを発生させる。試験システム８５は、コンフィギュレーション論理回路５１を制御して、ドレインプログラミング電圧発生回路５０が発生するＶDP電圧の電圧レベルを設定する。試験システム８５は、制御回路４６及びバス６５を介してコンフィギュレーション論理回路５１にアクセスし、ＶDP電圧の電圧レベルの設定を制御する。ＶDP電圧は種々の電圧レベルに設定することができる。ＶDP電圧レベルは、均等間隔で設定することも、不均等な間隔で設定することもできる。
一実施形態の場合、ＶDP電圧は４つの異なる電圧レベルに設定される。この実施形態の場合、ＶDP電圧の最も低い電圧レベルは５．１ボルトに設定される。ＶDP電圧の第２の電圧レベルは５．６ボルトに設定される。ＶDPの第３の電圧レベルは５．８ボルトに設定される。第２と第３の電圧レベルの差は０．２ボルトである。ＶDP電圧の第４の電圧レベルは６．２ボルトに設定される。その第３電圧レベルとの差は０．４ボルトである。このような電圧レベルの間隔が不均等であると、プログラミング時間ＴPについては微細な分解間隔で、最も適切そうな電圧レベルに迅速にランプアップすることが可能である。別の実施形態においては、５．１ボルトから６．２ボルトまで均等間隔で４つの電圧レベルのＶDP電圧を設定することができる。
他の実施形態においては、ＶDP電圧を８つの異なる電圧レベルに設定することができる。さらに他の実施形態においては、ＶDP電圧は１６の異なる電圧レベルに設定することができる。もう一つ別の実施形態においては、５．２ボルトから６．６ボルトまで異なる電圧レベルのＶDP電圧が設定される。ＶDP電圧レベルが取ることのできる電圧レベルが多ければ多いほど、プログラミング時間ＴPの分解間隔を微細にすることができる。
最初に、試験システム８５は、ステップ１０４で、コンフィギュレーション論理回路５１を最も高い電圧レベルのＶDPからスタートさせる。試験システム８５は、このステップでその最も高い電圧レベルのＶDP電圧に対応する制御値を制御回路４６及びバス６５を介してコンフィギュレーション論理回路５１へ送る。すると、コンフィギュレーション論理回路５１は、コンフィギュレーション論理回路５１の制御値に従ってＶDP電圧を発生させるようドレインプログラミング電圧発生回路５０を制御する。他の実施形態においては、試験システム８５は、ステップ１０４でコンフィギュレーション論理回路５１を最も低い電圧レベルからスタートさせる。
試験システム８５は、ステップ１０５で、プログラミングのためにフラッシュＥＰＲＯＭ４０のメモリアレイ４１の中の１行のメモリセルを選択する。試験システム８５はその行を選択する。一実施形態においては、フラッシュＥＰＲＯＭ４０のメモリアレイ４１中の１行は８１９２（「８Ｋ」）のメモリセルを有する。
試験システム８５はフラッシュＥＰＲＯＭ４０のデバイス特徴抽出プロセスの間にドレインプログラミング電圧ＶDPを設定するためのメモリセルを選択する。言い換えると、このプロセスで選択される行は、プリセレクトされた行である。デバイス特徴抽出プロセスで選択されるこれらのプリセレクトされた行は、メモリアレイ４１のアレイ分布を表す。
試験システム８５は、ステップ１０６で、メモリアレイ４１の選択された行が未プログラム行かどうかを判断する。選択された行が未プログラム行でなければ、試験システム８５はステップ１１７に進み、ＥＰＲＯＭ４０はこのステップで不合格となる。
別の実施形態においては、選択された行は僅かにプログラムされた行であってもよい。
ステップ１０６で、選択された行が未プログラムメモリ行の場合、プロセスはステップ１０７に進み、試験システム８５は制御回路４６にその選択された行をプログラミングさせる。試験システム８５は、該選択された行のゲートに所定のゲートプログラミング電圧ＶGPを印加させる。試験システム８５は、選択された行のゲートにＶGPを印加するよう制御回路４６を制御する。また、試験システム８５は、ドレインプログラミング電圧発生回路５０によって発生したＶDP電圧を選択された行のドレイン領域に印加される。上に述べたように、ドレインプログラミング電圧ＶDPの電圧レベルはコンフィギュレーション論理回路５１を介して試験システム８５により設定される。次に、試験システム８５は、所定の時間ＴPの間選択された行のプログラミング動作を制御するようフラッシュＥＰＲＯＭ４０の制御回路４６をトリガする。試験システム８５は、制御回路４６を制御して、所定のプログラミング時間ＴPの間選択された行のプログラミングを制御させる。制御回路４６は、この制御を選択された行に印加されるＶGP及びＶDPのパルス幅を変えることによって行う。この後、所定のプログラミング時間ＴPの終りにプログラミング動作は停止する。所定のプログラミング時間ＴPは制御回路４６に記憶される。
ステップ１０８では、試験システム８５は選択された行の各メモリセルのプログラムされたしきい値電圧ＶTを制御回路４６を介して検出する。試験システム８５は、選択された行のプログラムされたメモリセルの中で最高のしきい値電圧ＶTHと最低のしきい値電圧ＶTLを決定する。ステップ１０９において、試験システム８５は、ＶTH電圧をプログラムされたしきい値電圧の最大値ＶTPMAXと比較する。また、試験システム８５は、ＶTL電圧をプログラムされたしきい値電圧の最小値ＶTPMINと比較する。
ステップ１１０では、試験システム８５は、ＶTL及びＶTH電圧がＶTPMAX及びＶTPMIN電圧によって画定される電圧ウィンドウ内にあるかどうかを決定する。ＶTH及びＶTL電圧がＶTPMAX及びＶTPMIN電圧の電圧ウィンドウ内にあれば、プロセスはステップ１２０に進み、このステップでは、コンフィギュレーション論理回路５１の制御値（ＶDP電圧の電圧レベルを決定する）がコンフィギュレーションセル４５に格納される。そして、プロセスはステップ１２１で終了する。
図４から明らかなように、コンフィギュレーションセル４５はバス６４を介してコンフィギュレーション論理回路５１に接続されている。コンフィギュレーションセル４５は制御値を不揮発性の形で記憶する。コンフィギュレーションセル４５は、エンドユーザに対して透過であり、試験システム８５によってアクセスできるだけである。
制御値をコンフィギュレーションセル４５に記憶することによって、ドレインプログラミング電圧発生回路５０は、フラッシュＥＰＲＯＭ４０がテストモードを出た後その制御値によって決定される電圧レベルのＶDP電圧を発生するよう間断なく制御される。これによって、ドレインプログラミング電圧ＶDPは、確実に、フラッシュＥＰＲＯＭ４０のメモリセルのプログラミング能力に合わせ正しく調整される。
ステップ１１０でＶTH及びＶTL電圧がＶTPMAXとＶTPMIN電圧により画定される電圧ウィンドウ内にないと判断された場合、試験システム８５はステップ１１１に進み、ＶTL電圧がＶTPMIN電圧より低く、かつＶTHがＶTPMAX電圧より高いかどうかを決定するためのもう一つの判断が行われる。この判断結果がＹＥＳならば、ステップ１１７でフラッシュＥＰＲＯＭ４０は不合格のラベルが付される。判断結果がＮＯならば、プロセスはステップ１１２に移り、試験システム８５はＶTL電圧がＶTPMIN電圧より高く、かつＶTH電圧がＶTPMAX電圧より高いかどうかが判断される。この判断結果がＮＯならば、ステップ１１７でフラッシュＥＰＲＯＭ４０に不合格であるというマークが付される。
ステップ１１２でＶTL電圧及びＶTH電圧がそれぞれＶTPMIN電圧及びＶTPMAX電圧より高いと判断された場合、プロセスはステップ１１５に進み、ＶDP電圧がＶDPMIN電圧と比較される。ＶDPMIN電圧は、ＶDP電圧について設定された最低電圧である。ステップ１１５でＶDP電圧がＶDPMIN電圧と等しい場合は、ステップ１１７でフラッシュＥＰＲＯＭ４０に不合格のラベルが付される。そうでない場合は、ステップ１１６で、ＶDP電圧がＶDPについて設定された次の電圧レベルに下げられ、次のステップ１０５で、フラッシュＥＰＲＯＭ４０にとっての適切なＶDP電圧が見つかるまでこのプロセスが繰り返される。
図７は、図４のドレインプログラミング電圧発生回路５０の一実施形態であるドレインプログラミング電圧発生回路７０の回路図を示す。また、図７には、回路７０が負荷トランジスタ８０を介して接続されたフラッシュＥＰＲＯＭセル８１を示す。フラッシュＥＰＲＯＭ８１は図４のメモリアレイ４１のメモリセルの１つである。また、負荷トランジスタ８０はプログラミング電圧ＶＰＰに接続されている。負荷トランジスタ８０のゲートはドレインプログラミング電圧発生回路７０の出力ノード７０ａに接続されていて、ゲート電圧ＶPNが印加される。ゲート電圧ＶPNは、プログラミング時にセル８１のドレイン領域にドレインプログラミング電圧ＶDPを印加するよう負荷トランジスタ８０を制御する。そのために、ＶDP電圧の電圧レベルは、ＶPN電圧から負荷トランジスタ８０のしきい値電圧を引いた電圧レベルに等しい。従って、ＶDP電圧はＶPN電圧に追随する。
ドレインプログラミング電圧発生回路７０は、（１）Ｐ−チャネルトランジスタ７１〜７２及び７５〜７７によって形成される電流ミラー回路、（２）Ｎ−チャネルトランジスタ７３及び７４によって形成されるソースフォロワ回路、及び（３）Ｐ−チャネルトランジスタ７８及び３つのＰ−チャネルトランジスタ７９ａ〜７９ｃによって形成される電圧設定回路を有する。上記の各トランジスタ７９ａ〜７９ｃのソースはトランジスタ７８のドレインに接続されている。７９ａ〜７９ｃの各トランジスタはゲートが３つの選択信号ＳＥＬ１〜ＳＥＬ３に接続されている。これらの選択信号ＳＥＬ１〜ＳＥＬ３はそれぞれのトランジスタ７９ａ〜７９ｃをオン／オフする。これらの選択信号は図４のコンフィギュレーション論理回路５１から印加される。
トランジスタ７１〜７２及び７５〜７７によって形成される電流ミラー回路は、ＶPP電圧とアースに接続されていて、トランジスタ７３〜７４からなるソースフォロワを介してトランジスタ７８〜７９ｃからなる電圧設定回路に加えらる電流Ｉ2を発生する。電流Ｉ2の電流レベルは、トランジスタ７５〜７７を流れる電流Ｉ1の関数として作用する。電流Ｉ1の電流レベルは、トランジスタ７５〜７７の大きさによって決まる。図７から明らかなように、７５〜７７の各トランジスタは回路内で抵抗器として作用するように接続されている。従って、電流Ｉ1が正確に設定されると、電流ミラー回路によって発生する電流Ｉ2も正確に設定される。トランジスタ７５〜７７は常時オンになっている。
上に述べたように、電流Ｉ1はトランジスタ７５〜７７の大きさによって決まる。そのため、製造時にトランジスタ７５〜７７の大きさを調節することにより電流Ｉ１を変えることができる。従って、トランジスタ７５〜７７は電流ミラー回路の電流設定回路として動作する。
上に述べたように、回路７０のソースフォロワ回路Ｎ−チャネルトランジスタ７３〜７４を含む。トランジスタ７３は、ドレインがＶPP電圧に接続され、ソースが出力ノード７０ａに接続され、ゲートが電流ミラー回路のトランジスタ７２のドレインに接続されている。トランジスタ７４は、ドレインがトランジスタ７３のゲートに接続され、ソースが電圧設定回路に接続され、ゲートが出力ノード７０ａに接続されている。トランジスタ７３〜７４からなるソースフォロワ回路の機能は出力ノード７０ａへ正フィードバックループを与えることにある。それにより、出力ノード７０ａのＶPNの電圧レベルをトランジスタ７８〜７９ｃの中のターンオンしたトランジスタによって設定される電圧レベルにトランジスタ７４のしきい値電圧を加えた電圧に急速に充電し、安定させる。
図７から明らかなように、トランジスタ７９ａ〜７９ｃは、フラッシュＥＰＲＯＭセル８１に印加されるＶDP電圧の電圧レベルを調節するために、ＳＥＬ１〜ＳＥＬ３によって選択的にターンオンされる。この回路の長所の１つは、フラッシュＥＰＲＯＭ４０のメモリセルの実効チャネル長を知る必要がないということである。
図８はコンフィギュレーションセル４５とコンフィギュレーション論理回路５１を組み合わせた回路のブロック図である。図８において、コンフィギュレーションセル４５はコンフィギュレーションセル４５ａ〜４５ｄを含む。コンフィギュレーション論理回路５１はコンフィギュレーションレジスタ５１ａ〜５１ｃ及びマルチプレクサ５１ｄ〜５１ｆからなる。コンフィギュレーションレジスタ５１ｂ及びコンフィギュレーションセル４５ｃはマルチプレクサ５１ｅに接続され、コンフィギュレーションレジスタ５１ｃ及びコンフィギュレーションセル４５ｄはマルチプレクサ５１ｆに接続されている。マルチプレクサ５１ｄ〜５１ｆはドレインプログラミング電圧発生回路７０のトランジスタ７９ａ〜７９ｃのゲートに送られるＳＥＬ１〜ＳＥＬ３選択信号を発生する。コンフィギュレーションセル４５ａは、コンフィギュレーションレジスタ５１ａ〜５１ｃまたはコンフィギュレーションセル４５ｂ〜４５ｄからのＳＥＬ１〜ＳＥＬ３信号の選択を制御する。フラッシュＥＰＲＯＭ４０の製造後は、コンフィギュレーションセル４５ａ〜４５ｄは全て消去された状態にある。これによって、５１ｄ〜５１ｆの各マルチプレクサは、コンフィギュレーションレジスタの個々の出力を各々の出力信号として選択する。コンフィギュレーションレジスタ５１ａ〜５１ｃは、フラッシュＥＰＲＯＭ４０のテストモード時に制御回路４６を介して試験システム８５（図５）によってアクセスされ、ＶDP電圧の電圧レベルを調節する。試験システム８５は、ドレインプログラミング電圧発生回路５０に制御値を送り、この制御値にしたがってＶDP電圧を発生させる。次に、制御値はコンフィギュレーションレジスタ５１ａ〜５１ｃからのＳＥＬ１〜ＳＥＬ３信号となるように入力される。適切なＶDP電圧が発生すると、その制御値はコンフィギュレーションセル４５ｂ〜４５ｄに記憶される。すると、コンフィギュレーションセル４５ａはマルチプレクサ５１ｄ〜５１ｆの各マルチプレクサにコンフィギュレーションセル４５ｂ〜４５ｄのそれぞれ１つを各々の出力として選択させる。適切なＶDP電圧が発生しなかった場合は、ＶDP電圧の適切な電圧レベルが決定されるまでＶDP電圧を繰り返し発生させる試験システム（図５）によってレジスタ５１ａ〜５１ｃで制御値が調整される。制御値は３ビットの２進値である。
図９は、ドレインプログラミング電圧発生回路５０のもう一つの実施形態であるドレインプログラミング電圧発生回路１３０を示す。図７及び９から明らかなように、回路１３０では１４０ａ乃至１４０ｄの４つのトランジスタが並列に接続されている以外、回路１３０は回路７０と同様である。このため、ドレインプログラミング電圧発生回路１３０はさらに多くの電圧レベルのＶDPを発生することが可能である。
図１０は、ドレインプログラミング電圧発生回路５０のもう一つの実施形態であるドレインプログラミング電圧発生回路１６０を示す。図１０の回路１６０のトランジスタ１６９はフラッシュＥＰＲＯＭトランジスタである。これに対して、図９の回路１３０のトランジスタ１４０ａ〜１４０ｄは並列に接続されたＰ−チャネルトランジスタである。フラッシュＥＰＲＯＭトランジスタ１６９の制御ゲートはそのフローティングゲートに接続されている。図１０から明らかなように、トランジスタ１６９は常時オンとなるように接続されている。トランジスタ８１はフラッシュＥＰＲＯＭメモリセルである。回路１６０を図４のフラッシュＥＰＲＯＭ４０のドレインプログラミング電圧発生回路５０の代わりに用いる場合は、コンフィギュレーション論理回路５１は不要である。この場合は、回路１６０により発生するＶDP電圧がフラッシュＥＰＲＯＭのメモリセルの実効チャネル長に自動的に追従する。メモリセルの実効チャネル長は、プロセス変動及びその他の変動の量を決定するものと考えることができる。
トランジスタ１６９と８１がどちらも同じプロセスによって同じ基板上に作り込まれたフラッシュＥＰＲＯＭであるとすると、フラッシュＥＰＲＯＭの目標実効チャネル長からのトランジスタ８１の実効チャネル長のずれ（プロセス変動に起因する）は、トランジスタ１６９の実効チャネル長のずれにも反映されると考えられる。目標実効チャネル長に対する実効チャネル長のずれは、プログラムされたしきい値電圧におけるフラッシュセルのプログラミング時間が目標プログラミング時間に対してずれることを意味する。言い換えると、セルのプログラミング能力が目標からずれる。
トランジスタ１６９はフラッシュＥＰＲＯＭトランジスタであるから、ＶDP電圧のレベルはトランジスタ１６９に実効チャネル長の関数として変化する。実効チャネル長が長ければ長いほど、ドレイン電圧ＶDPは高くなる。また、実効チャネル長が短ければ短いほど、ドレイン電圧ＶDPは低くなる。このように、ドレイン電圧ＶDPは実効チャネル長に追従させられ、この事は、実際の実効チャネル長が目標実効チャネル長に対してずれていても、確実にメモリセル８１のプログラミング時間（あるプログラムされた巣電圧に対する）をそのフラッシュＥＰＲＯＭの目標プログラミング時間にする、あるいはこれに近づけるのに役立つ。
一実施形態においては、回路１６０によって設定される電圧ＶDPがフラッシュＥＰＲＯＭの全てのメモリセルに対して用いられる。これは、セル８１の実効チャネル長がそのフラッシュＥＰＲＯＭのメモリセルの平均実効チャネル長に近い場合、満足すべき結果をもたらす。
図１１は、ドレインプログラミング電圧発生回路５０のもう一つの実施形態であるドレインプログラミング電圧発生回路１８０を示す。回路１８０のトランジスタ１８７はフラッシュＥＰＲＯＭトランジスタである。これに対して、図１０の回路１６０のトランジスタ１６７はＰ−チャネルトランジスタである。また、フラッシュＥＰＲＯＭトランジスタ１８７の制御ゲートはそのフローティングゲートに接続されており、このトランジスタのしきい値電圧は、製造後は変わらない。
フラッシュＥＰＲＯＭトランジスタ１８７によれば、フラッシュＥＰＲＯＭセル８１に実効チャネル長の変動に比較的正確に追随することが可能である。Ｐ−チャネルトランジスタをフラッシュＥＰＲＯＭトランジスタ１８７に替えることによって、Ｉ2電流もフラッシュＥＰＲＯＭ８１の実効チャネル長の変動に追随させられる。その結果、ＶDP電圧をフラッシュＥＰＲＯＭセル８１の実効チャネル長により正確に追随させられる。
他のさまざまな実施形態において、回路７０、１３０、１６０、あるいは１８０は、１つのフラッシュＥＰＲＯＭ中のセル間のプログラミング時間及びプログラムされたしきい値電圧の密な分布が確保される構成で用いられる。これらの様々な実施形態の場合、１つのフラッシュＥＰＲＯＭ中の異なるセルにはそれぞれのメモリセルのプログラミング能力によって異なるドレイン電圧が割り当てられる。
以上、本願明細書においては、特定実施形態との関連で本発明を説明した。しかしながら、特許請求の範囲に記載する本発明の広義の精神及び範囲を逸脱することなく本発明の様々な変更及び変形をなし得ることは自明であろう。従って、明細書及び図面は限定的な意味ではなく例示説明的な意味のものであるとみなすべきである。
【図１】
0003667756.tif 000011
【図２Ａ】
0003667756.tif 000012
【図２Ｂ】
0003667756.tif 000013
【図３】
0003667756.tif 000014
【図４】
0003667756.tif 000015
【図５】
0003667756.tif 000016
【図６Ａ】
0003667756.tif 000017
【図６Ｂ】
0003667756.tif 000018
【図７】
0003667756.tif 000019
【図８】
0003667756.tif 000020
【図９】
0003667756.tif 000021
【図１０】
0003667756.tif 000022
【図１１】
0003667756.tif 000023