(57)【特許請求の範囲】
【請求項１】
プログラム電源電圧を生成する昇圧回路と複数入出力ビット構成の不揮発性メモリ部とを有する不揮発性半導体メモリにおいて、
前記昇圧回路が前記不揮発性メモリ部に供給するプログラム電源電流を監視し、プログラム電源電流が予め設定されたリファレンス電流値未満のときには前記複数入出力ビットのそれぞれに対応して設けられた書き込み回路の書込動作を所定の時間間隔で順次始動させ、プログラム電源電流がリファレンス電流値以上のときには再度プログラム電源電流がリファレンス電流値未満に減少するまでの期間次のビットに対応する書込回路の始動を停止する手段を備えることを特徴とする不揮発性半導体メモリ。
【請求項２】
プログラム電源電圧を生成する昇圧回路と入出力がｎ（ｎ≧４の整数）ビット構成の不揮発性メモリ部とを有する不揮発性半導体メモリにおいて、
前記昇圧回路が供給するプログラム電源電流を監視し予め設定されたリファレンス電流値以上である期間には検知信号をアクティブレベルとして出力する電流検知回路と、
書込開始信号を入力して書込制御を開始し前記検知信号がインアクティブレベルのときにはｎ個の入出力ビットのそれぞれに対応する書込信号を所定の時間間隔で順次アクティブレベルとして出力し、前記検知信号がアクティブレベルのときには次の書込信号の出力を停止する書込制御回路と、
ｎ個の入出力ビットに対応して設けられそれぞれに対応する書込信号のアクティブレベルを入力したときに書込動作を開始するｎ個の書込回路と、を備えることを特徴とする不揮発性半導体メモリ。
【請求項３】
前記書込制御回路は、
検知信号がインアクティブレベルのときにクロック信号に同期したカウントパルスを出力し前記検知信号がアクティブレベルのときにはカウントパルスの生成を停止するカウントパルス生成回路と、
書込開始信号を入力したのちの最初のカウントパルスで（ｎ−１）がカウント値の初期値として設定されカウントパルスを入力する毎に１ずつカウントダウンするとともに前記カウント値を出力するカウンタと、
前記カウント値を入力する毎に前記カウント値に対応する書込信号をアクティブレベルとして出力する書込信号生成回路とを有することを特徴とする請求項２記載の不揮発性半導体メモリ。
【請求項４】
プログラム電源電圧を生成する昇圧回路と入出力がｎ（ｎ≧４の整数）ビット構成の不揮発性メモリ部とを有する不揮発性半導体メモリにおいて、
前記昇圧回路が供給するプログラム電源電流を監視し予め設定されたリファレンス電流値以上である期間には検知信号をアクティブレベルとして出力する電流検知回路と、
書込開始信号を入力して書込制御を開始しｎ個の入出力ビットに対応する書込信号のうち予め決められた減数値ｍ（ｍ≧２の整数）の個数の書込信号については書込制御の開始と同時にアクティブレベルとして出力し残りの（ｎ−ｍ）個の入出力ビットに対応する書込信号については前記検知信号がインアクティブレベルのときには入出力ビットのそれぞれに対応する書込信号を所定の時間間隔で順次アクティブレベルとして出力し、前記検知信号がアクティブレベルのときには次の書込信号の出力を停止しする書込制御回路と、
ｎ個の入出力ビットに対応して設けられそれぞれに対応する書込信号のアクティブレベルを入力したときに書込動作を開始するｎ個の書込回路と、を備えることを特徴とする不揮発性半導体メモリ。
【請求項５】
前記書込制御回路は、
検知信号がインアクティブレベルのときにクロック信号に同期したカウントパルスを出力し前記検知信号がアクティブレベルのときにはカウントパルスの生成を停止するカウントパルス生成回路と、
書込開始信号を入力したのちの最初のカウントパルスで（ｎ−１）がカウント値の初期値として設定されカウントパルスを入力する毎に１ずつカウントダウンするとともに前記カウント値を出力するカウンタと、
前記カウント値を入力して予め決められた減数値ｍ（ｍ≧２の整数）を前記カウント値から減算してシフト済カウント値として出力するカウント値シフト回路と、
前記書込開始信号を入力すると前記カウンタに設定される初期値から数えて減数値ｍの個数分の書込信号を同時にアクティブレベルとして出力する開始信号生成回路と、
前記シフト済カウント値を入力する毎に前記シフト済カウント値に対応する書込信号をアクティブレベルとして出力する書込信号生成回路とを有することを特徴とする請求項４記載の不揮発性半導体メモリ。
【請求項６】
プログラム電源電圧を生成する昇圧回路と入出力がｎ（ｎ≧４の整数）ビット構成の不揮発性メモリ部とを有する不揮発性半導体メモリにおいて、
前記昇圧回路が供給するプログラム電源電流を監視し予め設定されたリファレンス電流値以上である期間には検知信号をアクティブレベルとして出力する電流検知回路と、
書込開始信号を入力して書込制御を開始し前記検知信号がインアクティブレベルのときにはｎ個の入出力ビットのそれぞれに対応する書込信号のうち入力データがメモリセルを高しきい値電圧状態に書き込むデータ値であるビットに対応する書込信号のみを選択し所定の時間間隔で順次アクティブレベルとして出力し、前記検知信号がアクティブレベルのときには次の書込信号の出力を停止する書込制御回路と、ｎ個の入出力ビットに対応して設けられそれぞれに対応する書込信号のアクティブレベルを入力したときに書込
動作を開始するｎ個の書込回路と、を備えることを特徴とする不揮発性半導体メモリ。
【請求項７】
前記書込制御回路は、
検知信号がインアクティブレベルのときにクロック信号に同期したカウントパルスを出力し次パルス生成要求信号のアクティブレベルを入力した場合には出力中のカウントパルスを中断し新規にカウントパルスを生成して出力し前記検知信号がアクティブレベルのときにはカウントパルスの生成を停止するカウントパルス生成回路と、
書込開始信号を入力したのちの最初のカウントパルスで（ｎ−１）がカウント値の初期値として設定されカウントパルスを入力する毎に１ずつカウントダウンするとともに前記カウント値を出力するカウンタと、
前記カウント値を入力して入力データとしてメモリセルを高しきい値電圧状態に書き込むデータ値を入力したビットに対応するカウント値と一致するかを判別し一致するときには前記次パルス生成要求信号をインアクティブレベルにするとともに前記カウント値を書込カウント値として出力し前記ビットに対応するカウント値と一致しないときには前記次パルス生成要求信号をアクティブレベルとして出力する書込カウント値判別回路と、
前記書込カウント値を入力する毎に前記書込カウント値に対応する書込信号をアクティブレベルとして出力する書込信号生成回路とを有することを特徴とする請求項６記載の不揮発性半導体メモリ。
【請求項８】
プログラム電源電圧を生成する昇圧回路と入出力がｎ（ｎ≧４の整数）ビット構成の不揮発性メモリ部とを有する不揮発性半導体メモリにおいて、前記昇圧回路が供給するプログラム電源電流を監視し予め設定されたリファレンス電流値以上である期間には検知信号をアクティブレベルとして出力する電流検知回路と、ｎ個の入出力ビットに対応して設けられたn個の書込回路を分割することにより、それぞれ所定の同時書込ビット数であるｐ（ｐ≧２の整数）個の書込回路を含むようにグループ化し、それぞれのグループに対応する書込信号のアクティブレベルを入力したときに書込動作を開始する書込回路グループと、書込開始信号を入力して書込制御を開始し、複数の書込回路グループに対し前記検知信号がインアクティブレベルのときには前記複数の書込回路グループのそれぞれに対応する書込信号を所定の時間間隔で順次アクティブレベルとして出力し、前記検知信号がアクティブレベルのときには次の書込信号の出力を停止する書込制御回路と、を備えることを特徴とする不揮発性半導体メモリ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は不揮発性半導体メモリに関し、特に、プログラム電圧を発生する昇圧回路を内蔵した不揮発性半導体メモリに関する。
【０００２】
【従来の技術】
ＥＥＰＲＯＭ、フラッシュメモリなどの不揮発性半導体メモリでは、メモリセルはゲートと半導体基板表面との間にフローティングゲートを備えたセルトランジスタからなり、フローティングゲート中の電荷量を変化させてセルトランジスタのしきい値電圧を変化させることによりデータを記憶する。メモリセルへの“１”データの書込は、例えば、ゲート電圧Ｖｇ＝９Ｖ、ドレイン電圧Ｖｄ＝５Ｖ、ソース電圧＝０Ｖ（接地電位）とすることにより、ソースからドレインへ移動する電子をフローティングゲートに取り込んでセルトランジスタのしきい値電圧を高くすることで行われる。図１０（ａ）は、“１”データの書込時におけるセルトランジスタのドレイン電流の時間変化およびセルトランジスタのしきい値電圧の時間変化を示す図である。“１”データの書込時にはセルトランジスタのドレイン電流は数百μＡまで一旦上昇したのち、フローティングゲートへの電子の注入によりしきい値電圧が増大しドレイン電流が減少する。
【０００３】
ＥＥＰＲＯＭ，フラッシュメモリなどの不揮発性半導体メモリでは、このようなメモリセルがアレイ状に設けられ、外部からのアドレスにより選択されたメモリセルにデータの書込または読み出しが行われる。最近の不揮発性半導体メモリでは、書込時にセルトランジスタのドレインおよびゲートに高電圧を供給するためのプログラム電源（Ｖｐｐ電源）電圧を発生する昇圧回路を内蔵することが一般的となっている。図１０（ｂ）は、昇圧回路の一例の回路図である。周期信号ＰＡと、これと逆相の信号ＰＢとにより、外部から供給された電源電圧ＶＣＣを昇圧してＶｐｐ電源電圧を発生する。昇圧回路の電流供給能力は、ＰＡおよびＰＢの周波数と押し上げ用容量の容量値とに依存する。しかしながら、周波数をあげるためにはチャネル幅の大きいＭＯＳトランジスタを必要とし、容量値を増大させるためには押し上げ用容量のサイズを大きくする必要があるため、電流供給能力の大きな昇圧回路は占有面積が著しく大きなものとなる。昇圧回路を実用的なサイズとすると、入出力ビットが多ビット構成の不揮発性半導体メモリでは、書込時のプログラム電源（Ｖｐｐ電源）電流Ｉｐｐが昇圧回路の電流供給能力を超えてＶｐｐ電源電圧の低下を引き起こし、書込不良につながる場合が生じる。このため、例えば１ワードが１６ビット構成のフラッシュメモリでは、同時に書込するビット数を４ビットとし、４回の書込で１ワード（１６ビット）を書き込む分割書込技術が使用されている。例えば１個のセルトランジスタにデータ“１”を書き込むときに流れるドレイン電流の最大値が２５０μＡであるとすれば、１６ビット一括書込におけるＶｐｐ電源電流Ｉｐｐは０．２５ｍＡ×１６＝４ｍＡとなり、セルトランジスタの書込特性のばらつきを考慮すると昇圧回路の電流供給能力はさらに２倍の８ｍＡ程度必要であり、不揮発性半導体メモリに昇圧回路を内蔵することが困難となる。これに対して、４ビットずつの分割書込とした場合には、Ｖｐｐ電源電流Ｉｐｐは０．２５ｍＡ×４＝１ｍＡとなり、セルトランジスタの書込特性のばらつきを考慮しても昇圧回路の電流供給能力が２ｍＡ程度であればよいので、昇圧回路を不揮発性半導体メモリに内蔵することが可能である。
【０００４】
【発明が解決しようとする課題】
しかしながら、この第１の従来例の分割書込技術では、書込時間が増大するという新たな問題が生じる。１６ビットを一括して書き込みできる場合に例えば２μＳで書込を完了するとすれば、４ビットずつの分割書込では２μＳ×４＝８μＳの書込時間が必要となる。
【０００５】
書込時間を短縮する第２の従来技術が特開平１１−２６００８４号公報に開示されている。図１１（ａ）は、第２の従来技術を用いた不揮発性半導体メモリのブロック図である。なお、図１１（ａ）では、簡潔を優先して読出系を省略し書込系のみを示している。フラッシュメモリ部５１においてＸデコーダおよびＹデコーダに入力されるアドレス信号（図では省略）によりメモリセルアレイ内のメモリセルが選択される。書込時には、昇圧回路５２からフラッシュメモリ部５１に供給されるＶｐｐ電源電流ＩｐｐをＩｐｐ測定回路５３により測定する。Ｉｐｐ測定回路５３の測定値は、書込開始により急激に増大したのちにメモリセルのしきい値電圧増大にともなって減少する。測定値が判定電流値設定回路５６に予め設定している電流値よりも小さくなるとパルス停止判定回路５５がこれを検出し、書込回路５４の書込動作を停止させる。この第２の従来技術では、Ｉｐｐ電流値の変化によりしきい値電圧の変化を間接的に測定し、メモリセルが実用的なしきい値電圧にまで書き込まれたことを検出して書込を終了するので、書込時間が一定ではなく、選択されたメモリセル毎に必要最小限の書込時間で書込が行われる。
【０００６】
第２の従来技術は書込時間の短縮に有効であるが、昇圧回路が大きなＶｐｐ電源電流Ｉｐｐを供給しなければならない点では改善されていない。第２の従来技術を第１の従来技術と組み合わせることにより、昇圧回路の電流供給の負担を低減し書込時間を短縮することができる。すなわち、図１１（ｂ）に示すように４ビットずつ分割書込した場合には、４ビット同時書込の平均的な書込時間ＴＡ＝１μＳとすると１ワード（１６ビット）の書込時間を４μＳに高速化でき、昇圧回路の電流供給能力も２ｍＡに削減することができる。
【０００７】
書込時間と昇圧回路の電流供給の負担とを改善する第３の従来技術として特開平１１−１７６１７９号公報に記載の技術がある。図１２は、第３の従来技術のブロック図である。１６ビット入出力構成のフラッシュメモリ部６１には昇圧回路６２から入出力ビット毎に設けられた書込回路６３−０〜６３−１５を通してＶｐｐ電源源流Ｉｐｐが供給される。書込時間制御回路６４は、書込回路６３−０〜６３−１５を一定時間ずつずらしながら順次書込動作状態にいれる。図１２（ｂ）は、第３の従来技術による書込における電流を示した図である。Ｉｐ０〜Ｉｐ１はそれぞれの書込回路の電流を示し、Ｉｐｐはこれらの総和のＶｐｐ電源電流を示す。各書込回路の書込が一定時間ずつずれて実行されるのでＩｐｐのピーク値が低減されるため、昇圧回路の電流供給能力を削減することが可能となる。例えば、１ビットあたりの書込時間が２μＳで、ビット毎に０．２μＳずつずらして書き込みを行うとすれば書込時間は１６ビットで０．２μＳ×１５＋２μＳ＝５μＳとなる。昇圧回路の電流供給能力は、Ｉｐ５，Ｉｐ７のようなメモリセルの特性ばらつきも考慮してＩｐ０，Ｉｐ１などの平均的な特性（２５０μＡ）の４倍程度でよいとすれば１ｍＡとなる。
【０００８】
以上のように、不揮発性半導体メモリに第１の従来技術と第２の従来技術とを組み合わせて適用することにより、または、不揮発性半導体メモリに第３の従来技術を適用することにより、昇圧回路の電流供給の負担が小さく、且つ、書込時間が短縮された不揮発性半導体メモリを得ることができる。
【０００９】
しかしながら、マイクロコンピュータの命令の１ワードが１６ビットから３２ビット、６４ビットと多ビット化するにつれて不揮発性半導体メモリの入出力ビットも多ビットとなることは必然の流れであり、第１の従来技術と第２の従来技術とを組み合わせや第３の従来技術で実現できるレベルよりもさらに昇圧回路の電流供給の負担を低減することが必要となる。
【００１０】
本発明の目的は、第１の従来技術と第２の従来技術との組み合わせや第３の従来技術とほぼ同等の実用的な書込時間を維持しつつ第１の従来技術と第２の従来技術とを組み合わせや第３の従来技術で実現できるレベルよりもさらに昇圧回路の電流供給の負担を低減することができ、多ビット化したときにも昇圧回路の占有面積増大を抑制することが可能な不揮発性半導体メモリを提供することにある。
【００１１】
【課題を解決するための手段】
本発明の不揮発性半導体メモリは、プログラム電源電圧を生成する昇圧回路と複数入出力ビット構成の不揮発性メモリ部とを有する不揮発性半導体メモリにおいて、前記昇圧回路が前記不揮発性メモリ部に供給するプログラム電源電流を監視し、プログラム電源電流が予め設定されたリファレンス電流値未満のときには前記複数入出力ビットのそれぞれに対応して設けられた書き込み回路の書込動作を所定の時間間隔で順次始動させ、プログラム電源電流がリファレンス電流値以上のときには再度プログラム電源電流がリファレンス電流値未満に減少するまでの期間次のビットに対応する書き込み回路の始動を停止する手段を備えて構成される。
【００１２】
また、本発明の不揮発性半導体メモリは、プログラム電源電圧を生成する昇圧回路と入出力がｎ（ｎ≧４の整数）ビット構成の不揮発性メモリ部とを有する不揮発性半導体メモリにおいて、前記昇圧回路が供給するプログラム電源電流を監視し予め設定されたリファレンス電流値以上である期間には検知信号をアクティブレベルとして出力する電流検知回路と、書込開始信号を入力して書込制御を開始し前記検知信号がインアクティブレベルのときにはｎ個の入出力ビットのそれぞれに対応する書込信号を所定の時間間隔で順次アクティブレベルとして出力し、前記検知信号がアクティブレベルのときには次の書込信号の出力を停止する書込制御回路と、ｎ個の入出力ビットに対応して設けられそれぞれに対応する書込信号のアクティブレベルを入力したときに書込動作を開始するｎ個の書込回路と、を備えて構成してもよい。
【００１３】
さらに、書込制御回路を、書込開始信号を入力して書込制御を開始しｎ個の入出力ビットに対応する書込信号のうち予め決められた減数値ｍ（ｍ≧２の整数）の個数の書込信号については書込制御の開始と同時にアクティブレベルとして出力し残りの（ｎ−ｍ）個の入出力ビットに対応する書込信号については前記検知信号がインアクティブレベルのときには入出力ビットのそれぞれに対応する書込信号を所定の時間間隔で順次アクティブレベルとして出力し、前記検知信号がアクティブレベルのときには次の書込信号の出力を停止しするように構成してもよい。
【００１４】
さらにまた、書込制御回路を、書込開始信号を入力して書込制御を開始し前記検知信号がインアクティブレベルのときにはｎ個の入出力ビットのそれぞれに対応する書込信号のうち入力データがメモリセルを高しきい値電圧状態に書き込むデータ値であるビットに対応する書込信号のみを選択し所定の時間以上の時間間隔で順次アクティブレベルとして出力し、前記検知信号がアクティブレベルのときには次の書込信号の出力を停止するように構成してもよい。
【００１５】
さらにまた、書込回路を、ｎ個の入出力ビットに対応して設けられ所定の同時書込ビット数ｐ（ｐ≧２の整数）以下の複数のグループにグループ化してそれぞれのグループに対応する書込信号のアクティブレベルを入力したときに書込動作を開始するようにし、書込制御回路を、書込開始信号を入力して書込制御を開始し、複数の書込回路グループに対し前記検知信号がインアクティブレベルのときには前記複数の書込回路グループのそれぞれに対応する書込信号を所定の時間間隔で順次アクティブレベルとして出力し、前記検知信号がアクティブレベルのときには次の書込信号の出力を停止するように構成してもよい。
【００１６】
【発明の実施の形態】
次に、本発明について図面を参照して詳細に説明する。図１は、本発明の不揮発性半導体メモリの第１実施形態のブロック図である。不揮発性半導体メモリは、入出力ビットが１６ビット構成のフラッシュメモリ部１と、昇圧回路２と、電流検知回路３と、入出力ビットと同数の書込回路４−０〜４−１５と、書込制御回路と、タイマ６と、発振器７とを有している。なお、図１では、簡潔を優先して読出系を省略し書込系のみを示している。
【００１７】
フラッシュメモリ部１は、１６の入出力ビットのそれぞれに対応する下位メモリセルアレイＢ０〜Ｂ１５を含むメモリセルアレイと、デジットラインを選択するＹデコーダおよびＹセレクタと、ワードラインを選択するＸデコーダとを備えている。アドレス信号により、１本のワードラインと各下位メモリセルアレイ内で１本ずつ計１６本のデジットラインとが選択され、選択されたワードラインと選択されたデジットラインとに接続された１６個のメモリセルがメモリセルアレイ内で選択される。
【００１８】
書込回路４−０〜４−１５のそれぞれは、書込時において、対応する入力データＤ［０］〜Ｄ［１５］のデータ値が所定の値“１”であるときに、フラッシュメモリ部１の各下位メモリセルアレイの選択されたデジットラインにＶｐｐ電源電圧を供給する。
【００１９】
昇圧回路２は、書込時にＶｐｐ電源電圧を生成してフラッシュメモリ部１および書込回路４−０〜４−１５に供給する。
【００２０】
電流検知回路３は、昇圧回路が供給するＶｐｐ電源電流Ｉｐｐの電流値を監視し、リファレンス電流値Ｉｒｅｆ以上になった場合にこれを検知して検知信号ＤＴＣＴをアクティブレベルとして出力する。
【００２１】
書込制御回路５は、クロック信号ＣＬＫに同期して書込開始信号ＷＳＴのアクティブレベルを検出して書込制御を開始し、検知信号ＤＴＣＴがインアクティブレベルのときには１６の入出力ビットに対応する書込信号ＷＴ［１５］〜ＷＴ［０］を順次に所定の時間間隔でアクティブレベルとして出力し、検知信号ＤＴＣＴがアクティブレベルのときには書込信号の出力を停止し、タイムアップ信号ＴＭ［ｉ］（ｉは０，１…１５）のアクティブレベルを入力したときには対応する書込信号ＷＴ［ｉ］をインアクティブレベルとする。
【００２２】
タイマ６は、書込信号ＷＴ［１５］〜ＷＴ［０］のそれぞれに対応する内部タイマ回路を備え、書込信号ＷＴ［ｉ］のアクティブレベルを入力すると対応する内部タイマ回路がクロック信号ＣＬＫの計数を開始するとともにタイムアップ信号ＴＭ［ｉ］をインアクティブレベルとして出力し、所定のクロック数の計数を完了するとタイムアップ信号ＴＭ［ｉ］をインアクティブレベルとして出力する。発振器７は、クロック信号ＣＬＫを生成して出力する。
【００２３】
図２は、第１実施形態における書込制御回路５の内部ブロックを示す図である。書込制御回路５は、カウントパルス生成回路１１と、カウンタ１２と、書込信号生成回路１３とを有している。
【００２４】
カウントパルス生成回路１１は、電流検知回路１からの検知信号ＤＴＣＴがインアクティブレベルであるローレベルのときに、クロック信号ＣＬＫに同期したカウントパルスＣＰを出力し、検知信号ＤＴＣＴがアクティブレベルであるハイレベルの期間にはカウントパルスＣＰの生成を停止する。カウンタ１２は、書込開始信号ＷＳＴを入力したのちに最初のカウントパルスを入力するとカウント値ＣＮＴの初期値が設定され、カウントパルスＣＰを入力する毎に１ずつカウントダウンするとともにカウント値ＣＮＴを出力する。書込信号生成回路１３は、カウント値ＣＮＴを入力する毎にカウント値ＣＮＴ（ｉ）に対応する書込信号ＷＴ［ｉ］をアクティブレベルであるハイレベルとして出力し、タイマ６からのタイムアップ信号ＴＭ［ｉ］がアクティブレベルのハイレベルになると書込信号ＷＴ［ｉ］をインアクティブレベルであるローレベルにする。
【００２５】
本発明では、電流検知回路３は、昇圧回路２から書込回路４−０〜４−１５およびフラッシュメモリ部１へ流れるＶｐｐ電源電流Ｉｐｐを監視し、Ｖｐｐ電源電流Ｉｐｐが予め設定されたリファレンス電流値Ｉｒｅｆ以上になると検知信号ＤＴＣＴをアクティブレベルであるハイレベルにする。
【００２６】
検知信号ＤＴＣＴがインアクティブレベルのローレベルであるとき（すなわちＶｐｐ電源電流Ｉｐｐがリファレンス電流Ｉｒｅｆ未満のとき）には、書込制御回路５内のカウントパルス生成回路１１は、クロック信号ＣＬＫに同期したカウントパルスＣＰを生成してカウンタ１２へ出力し、カウンタ１２ではカウントパルスＣＰを入力する毎にカウント値ＣＮＴを１だけ減算してカウント値ＣＮＴを更新し書込信号生成回路１３へ出力する。書込信号生成回路１３は入力されたカウント値ＣＮＴ（ｉ）に対応する書込信号ＷＴ［ｉ］をアクティブレベルのハイレベルとして書込回路４−ｉへ出力する。例えば、カウント値ＣＮＴ（１５）が入力されると書込信号ＷＴ［１５］がハイレベルとなる。次にカウント値ＣＮＴ（１４）が入力されると書込信号ＷＴ［１４］がハイレベルとなる。書込信号ＷＴ［ｉ］のハイレベルへの変化により書込回路４−ｉが書込動作を開始する。
【００２７】
タイマ６では、書込信号ＷＴ［ｉ］がハイレベルとなった時点で対応する内部タイマ回路が時間の計測を始め、所定の書込時間（例えば２μＳ）経ったところで対応するタイムアップ信号ＴＭ［ｉ］をアクティブレベルのハイレベルとして書込信号生成回路１６へと出力する。書込信号生成回路１３はタイムアップ信号ＴＭ［ｉ］を入力し、対応する書込信号ＷＴ［ｉ］をインアクティブレベルのローレベルに変化させる。  書込信号ＷＴ［ｉ］のローレベルへの変化により書込回路４−ｉは書込動作を終了する。
【００２８】
検知信号ＤＴＣＴがアクティブレベルのハイレベルであるとき（すなわちＶｐｐ電源電流Ｉｐｐがリファレンス電流Ｉｒｅｆ以上のとき）には、カウントパルス生成回路１１は、検知信号ＤＴＣＴが再度ローレベルになるまでの間、カウントパルスＣＰの生成を停止する。カウントパルスＣＰの生成停止によりカウンタ１２もカウント動作を停止し、書込信号生成回路１３は次の書込信号の生成を停止する。例えば、書込信号ＷＴ［１２］がハイレベルになり書込回路４−１２の書込動作が始動したときにＶｐｐ電源電流Ｉｐｐがリファレンス電流値以上に増大した場合には、検知信号ＤＴＣＴがハイレベルとなってカウントパルスＣＰの生成が停止し、カウンタ１２はカウント値ＣＮＴ（１２）でカウントダウンを停止するので、書込信号生成回路１３は書込信号ＷＴ［１１］以降の書込信号の生成を一時停止する。書込信号の生成停止により書込回路が新たに動作することがないのでＶｐｐ電源電流Ｉｐｐが減少し、Ｖｐｐ電源電流Ｉｐｐがリファレンス電流値Ｉｒｅｆ未満になると検知信号ＤＴＣＴがローレベルとなってカウントパルスの生成が再開され、書込信号生成回路１３は書込信号ＷＴ［１１］以降の書込信号の生成を再開する。
【００２９】
図３は、第１実施形態の動作タイミング図である。図１，図２および図３を参照して第１実施形態の動作を説明する。
【００３０】
フラッシュメモリ部１において、まず、アドレス信号によりＸデコーダ，Ｙセレクタを通してメモリセルアレイ内のメモリセルが選択される。メモリセルは１６ビットの入出力ビットのそれぞれに対応して各下位メモリセルアレイ毎に１個ずつ計１６個が選択され、選択されたメモリセルの端子へ電位を供給する準備がなされる。
【００３１】
次に、昇圧回路２により昇圧されたＶｐｐ電源電圧が電流検知回路３を介して書込回路４−０〜４−１５に供給され、Ｘデコーダにより選択されたワードラインにはワード電圧Ｖｇが供給される。この時点では電流検知回路１を通して流れるＶｐｐ電源電流Ｉｐｐが小さいため、検知信号ＤＴＣＴはローレベルとして出力される。検知信号ＤＴＣＴがローレベルであるので、カウントパルス生成回路１１はＣＬＫに同期したカウントパルスＣＰをカウンタ１２へ出力する。書込制御回路５に書込開始信号ＷＳＴが入力されたのちに生成された最初のカウントパルスＣＰを入力すると、カウンタ１２には初期値としてカウント値ＣＮＴ（１５）が設定されるとともにカウント値ＣＮＴ（１５）を書き込み信号生成回路１３に出力する。書込信号生成回路１３は入力されたカウント値ＣＮＴ（１５）に対応した書込信号ＷＴ［１５］を書込回路４−１５へ出力し書込動作を始動させる。同時に、書込信号生成回路１３は書込信号ＷＴ［１５］をタイマ６に送り、タイマ６では書込時間の計測が始まりタイムアップ信号ＴＭ［１５］がローレベルとなる。
【００３２】
同様にして、カウントパルス生成回路１１から２番目のカウントパルスＣＰが出力されるとカウンタ１２が１だけカウントダウンしてカウント値ＣＮＴ（１４）となり、書込信号生成回路１３は入力されたカウント値ＣＮＴ（１４）に対応した書込信号ＷＴ［１４］を書込回路４−１４へ出力し書込動作を始動させる。同時に、書込信号生成回路１３は書込信号ＷＴ［１４］をタイマ６に送り、タイマ６では書込時間の計測が始まりタイムアップ信号ＴＭ［１４］がローレベルとなる。カウントパルス生成回路１１から３番目のカウントパルスＣＰが出力されたときも同様で、カウンタ１２はカウント値ＣＮＴ（１３）を出力し、書込信号生成回路１３は書込信号ＷＴ［１３］を出力し、書込回路４−１３が書込動作を開始し、タイマ６では書込時間の計測が始まりタイムアップ信号ＴＭ［１３］がローレベルとなる。
【００３３】
Ｖｐｐ電源電流Ｉｐｐがリファレンス電流値未満である限りカウントパルスはカウントパルス生成回路１１によりクロック信号ＣＬＫに同期して一定の周期で出力されるので、このように書込信号ＷＴ［１５］，ＷＴ［１４］，ＷＴ［１３］は一定の時間間隔で順次ハイレベルとして出力される。
【００３４】
次に、カウントパルス生成回路１１から４番目のカウントパルスＣＰが出力されると、カウンタ１２がカウント値ＣＮＴ（１２）となり、書込信号生成回路１３は入力されたカウント値ＣＮＴ（１２）に対応した書込信号ＷＴ［１２］を書込回路４−１２へ出力し書込動作を始動させる。同時に、書込信号生成回路１３は書込信号ＷＴ［１２］をタイマ６に送り、タイマ６では書込時間の計測が始まりタイムアップ信号ＴＭ［１２］がローレベルとなる。このとき、書込回路４−１２が書込動作を開始したことにより、Ｖｐｐ電源電流Ｉｐｐがリファレンス電流値Ｉｒｅｆ以上となるので検知信号ＤＴＣＴはハイレベルとなり、カウントパルス生成回路１１はカウントパルスＣＰの生成を停止する。Ｖｐｐ電源電流Ｉｐｐがリファレンス電流値Ｉｒｅｆ以上にあるあいだは、カウントパルス生成回路１１はカウントパルスＣＰの生成停止を継続する。
【００３５】
Ｖｐｐ電源電流Ｉｐｐがリファレンス電流値Ｉｒｅｆ未満に減少して検知信号ＤＴＣＴがローレベルになると、カウントパルス生成回路１１から５番目のカウントパルスＣＰが出力され、カウンタ１２がカウント値ＣＮＴ（１１）となり、書込信号生成回路１３は入力されたカウント値ＣＮＴ（１１）に対応した書込信号ＷＴ［１１］を書込回路４−１１へ出力し書込動作を始動させる。同時に、書込信号生成回路１３は書込信号ＷＴ［１１］をタイマ６に送り、タイマ６では書込時間の計測が始まりタイムアップ信号ＴＭ［１１］がローレベルとなる。６番目のカウントパルス生成以降の動作については同様であるので説明を省略する。
【００３６】
なお、タイマ６は書込信号ＷＴ［１５］のハイレベルを入力すると対応する内部カウント回路の計時を開始するとともにタイムアップ信号ＴＭ［１５］をローレベルとして出力し所定の書込時間Ｔｗｒｉが経過したときにタイムアップ信号ＴＭ［１５］をハイレベルとして出力する。書込信号生成回路１３はタイムアップ信号ＴＭ［１５］のハイレベルを入力すると書込信号ＷＴ［１５］をローレベルに変化させて書込回路４−１５の書込動作を終了させる。書込信号ＷＴ［０］〜ＷＴ［１４］とタイムアップ信号ＴＭ［０］〜ＷＴ［１４］についても同様である。
【００３７】
図４は、第１実施形態の効果を説明する図であり、図１２（ａ）の第３の従来技術の効果を示す図１２（ｂ）に対応する図である。図中Ｉｐ０，ＩＰ１…ＩＰ１５はそれぞれ書込回路４−０，４−１…４−１５に流れる電流を示す。図４と図１２（ｂ）ではメモリセルの電流特性が同じとして図示している。図１２（ｂ）では時刻Ｔ６から時刻Ｔ９にかけて連続的にＶｐｐ電源電流Ｉｐｐが増大したレベルにあるので、昇圧回路にはこのレベルのＩｐｐを継続的に供給する能力が要求され、電流供給能力が満たされない場合にはＶｐｐ電源電圧が低下してセルトランジスタを十分に高いしきい値電圧に書き込みできなくなる。
【００３８】
これに対して図４では、Ｖｐｐ電源電流Ｉｐｐがリファレンス電流値Ｉｒｅｆ以上になると次のビットに対応する書込回路の始動を停止するので、Ｉｐｐが一時的に増大してＶｐｐ電源電圧が低下したとしても、次のビットの書込回路が始動するときにはＶｐｐは正常な電圧に回復できているためにセルトランジスタの書込不良の発生が防止される。第３の従来技術の場合と同様に１ビットの書込時間を２μＳとし、カウントパルスＣＰの周期を０．２μＳとすると、図４の場合の１ワード（１６ビット）の書込時間は０．２μＳ×１７＋２μＳ＝５．４μＳとなる。昇圧回路の電流供給能力は、Ｉｐ５，Ｉｐ７のようなメモリセルの特性ばらつきを考慮してもＩｐ０，Ｉｐ１などの平均的な特性（２５０μＡ）の約２倍に余裕をみて３倍程度とすれば十分であり７５０μＡ程度となる。リファレンス電流値Ｉｒｅｆは、平均的なＩｐｐ（例では５００μＡ）と昇圧回路の電流供給能力（例では７５０μＡ）の間の値に設定されることが望ましい。
【００３９】
前に述べたように、第１の従来技術と第２の従来技術とを組み合わせた場合には、４ビット当たりの平均的な書込時間を１μＳに短縮できたとして１６ビットの書込時間が４μＳとなり本実施形態に対して２６％短い時間で書込できるが、昇圧回路の電流供給能力が２ｍＡ程度必要であり、本実施形態の２．７倍となる。第３の従来技術では、１６ビットの書込時間が５μＳで本実施形態に対して８％短い時間で書込ができるが、昇圧回路の電流供給能力が１ｍＡ程度必要であり、本実施形態より３３％大きい。このように、本実施形態を適用した不揮発性半導体メモリでは、第１の従来技術と第２の従来技術との組み合わせや第３の従来技術に近い実用的な書込時間を維持しつつ第１の従来技術と第２の従来技術とを組み合わせや第３の従来技術で実現できるレベルよりもさらに昇圧回路の電流供給の負担を低減することができる。
【００４０】
次に、本発明の不揮発性半導体メモリの他の実施形態について説明する。  図５は、第２実施形態における書込制御回路の内部ブロックを示す図である。第２実施形態では、書込の開始時に複数の書込回路を同時に始動する点が第１実施形態とは異なり、図１の書込制御回路５を書込制御回路５ａに置き換えて構成される。書込制御回路５ａは、クロック信号ＣＬＫに同期して書込開始信号ＷＳＴのアクティブレベルを検出して書込制御を開始し、１６ビットの入出力ビットに対応する書込信号ＷＴ［１５］〜ＷＴ［０］のうち予め決められた減数値ｍ（ｍ≧２の整数）の個数の書込信号ＷＴ［１５］〜ＷＴ［１５−ｍ＋１］については書込制御の開始と同時にアクティブレベルとして出力し、残りの書込信号ＷＴ［１５−ｍ］〜ＷＴ［０］については検知信号ＤＴＣＴがインアクティブレベルのときには順次所定の時間間隔でアクティブレベルとして出力し、検知信号ＤＴＣＴがアクティブレベルのときには書込信号の出力を停止し、タイムアップ信号ＴＭ［ｉ］のアクティブレベルを入力したときには対応する書込信号ＷＴ［ｉ］をインアクティブレベルとする。
【００４１】
図５を参照すると、第２実施形態の書込制御回路５ａは、カウントパルス生成回路１１と、カウンタ１２と、カウント値シフト回路２１と、開始時信号生成回路２２と、書込信号生成回路２３とを有して構成されている。
【００４２】
カウントパルス生成回路１１は、電流検知回路１からの検知信号ＤＴＣＴがインアクティブレベルであるローレベルのときに、クロック信号ＣＬＫに同期したカウントパルスＣＰを出力し、検知信号ＤＴＣＴがアクティブレベルであるハイレベルの期間にはカウントパルスＣＰの生成を停止する。カウンタ１２は、書込開始信号ＷＳＴを入力したのちに最初のカウントパルスＣＰを入力するとカウント値ＣＮＴの初期値が設定され、カウントパルスＣＰを入力する毎に１ずつカウントダウンするとともにカウント値ＣＮＴを出力する。カウント値シフト回路２１は、カウント値ＣＮＴを入力して予め決められた減数値ｍをカウント値ＣＮＴから減算してシフト済カウント値ＣＮＴＳとして出力する。開始信号生成回路２２は、書込開始信号ＷＳＴが入力されるとカウンタ１２に設定される初期値から数えて減数値ｍの個数の書込信号を同時にアクティブレベルのハイレベルとして出力し、対応するタイムアップ信号がアクティブレベルであるハイレベルになると前記減数値分の個数の書込信号を同時にローレベルとする。書込信号生成回路２３は、シフト済カウント値ＣＮＴＳを入力する毎にシフト済カウント値ＣＮＴＳ（ｉ）に対応する書込信号ＷＴ［ｉ］をアクティブレベルであるハイレベルとして出力し、タイマ６からのタイムアップ信号ＴＭ［ｉ］がアクティブレベルのハイレベルになると書込信号ＷＴ［ｉ］をインアクティブレベルであるローレベルにする。
【００４３】
図６は、減数値ｍ＝２として構成された第２実施形態の不揮発性半導体メモリの動作タイミング図である。以下、図１、図５および図６を参照して第２実施形態の動作を説明する。
【００４４】
書込開始信号ＷＳＴが入力されるとカウンタ１２の初期値（１５）から数えて減数値（２）分の書込信号ＷＴ［１５］，ＷＴ［１４］を同時にハイレベルとして出力し、書込回路４−１５，４−１４の書込動作を開始する。タイマ６は書込信号ＷＴ［１５］，ＷＴ［１４］のハイレベルを入力すると計時を開始するとともにタイムアップ信号ＴＭ［１５］，ＴＭ［１４］をローレベルとして出力する。次に、カウントパルス生成回路１１からカウントパルスＣＰが出力され、カウンタ１２にカウント値ＣＮＴ（１５）が実際に設定されて出力され、カウント値シフト回路２１により２だけ減算されてシフト済カウント値ＣＮＴＳ（１３）が出力される。書込制御回路２３は、シフト済カウント値ＣＮＴＳ（１３）を入力して、シフト済カウント値ＣＮＴＳ（１３）に対応する書込信号ＷＴ［１３］をハイレベルとして出力し、書込回路４−１３の書込動作を開始する。タイマ６は書込信号ＷＴ［１３］のハイレベルを入力すると計時を開始するとともにタイムアップ信号ＴＭ［１３］をローレベルとして出力する。
【００４５】
以降の動作は第１実施形態と同様であり、Ｖｐｐ電源電流Ｉｐｐがリファレンス電流Ｉｒｅｆ以上に増大すると検知信号ＤＴＣＴがハイレベルとなり、カウントパルス生成回路１１が検知信号ＤＴＣＴが再度ローレベルになるまでの間、カウントパルスＣＰの生成を停止する。開始信号生成回路２２は、タイマ６からのタイムアップ信号ＴＭ［１５］，ＴＭ［１４］のハイレベルを入力すると書込信号ＷＴ［１５］，ＷＴ［１４］を同時にローレベルにし、書込回路４−１５，４−１４の書込動作を終了させる。また、書込制御回路２３は、タイマ６からのタイムアップ信号ＴＭ［ｉ］のハイレベルを入力すると書込信号ＷＴ［ｉ］をローレベルとして書込回路４−ｉの書込動作を終了させる。
【００４６】
本実施形態では書込開始時に減数値分の個数の書込回路を同時に始動させるので、第１実施形態よりも書込時間を短縮できるという新たな効果が生じる。
【００４７】
図７は、本発明の不揮発性半導体メモリの第３実施形態のブロック図である。第３実施形態では、入力データが“１”でデータ“１”の書込が必要な入出力ビットに対応する書込回路のみを動作させる点が図１の第１実施形態とは異なり、第１実施形態における書込制御回路５に換えて入力データＤ［１５］〜Ｄ［０］をも入力する書込制御回路５ｂとしている。書込制御回路５ｂは、クロック信号ＣＬＫに同期して書込開始信号ＷＳＴのアクティブレベルを検出して書込制御を開始し、検知信号ＤＴＣＴがインアクティブレベルのときには１６ビットの入出力ビットに対応する書込信号ＷＴ［１５］〜ＷＴ［０］のうち入力データがデータ“１”であるビットに対応する書込信号ＷＴ［ｋ］のみを順次に所定の時間以上の時間間隔でアクティブレベルとして出力し、検知信号ＤＴＣＴがアクティブレベルのときには書込信号の出力を停止し、タイムアップ信号ＴＭ［ｋ］のアクティブレベルを入力したときには対応する書込信号ＷＴ［ｋ］をインアクティブレベルとする。
【００４８】
図８は、第３実施形態の書込制御回路５ｂの内部ブロックを示す図である。書込制御回路５ｂは、カウントパルス生成回路３１と、カウンタ１２と、書込カウント値判別回路３２と、書込制御回路１３とを有して構成されている。カウントパルス生成回路３１は、電流検知回路１からの検知信号ＤＴＣＴがインアクティブレベルであるローレベルのときに、クロック信号ＣＬＫに同期したカウントパルスＣＰを出力し、書込カウント値判別回路３２から次パルス生成要求信号ＮＰＲがアクティブレベルとして入力されたときには出力中のカウントパルスを中断してローレベルとした後に新規にクロック信号ＣＬＫに同期したカウントパルスＣＰを生成して出力する。またカウントパルス生成回路３１は、検知信号ＤＴＣＴがアクティブレベルであるハイレベルの期間にはカウントパルスＣＰの生成を停止する。カウンタ１２は、書込開始信号ＷＳＴを入力したのちに最初のカウントパルスＣＰを入力するとカウント値ＣＮＴの初期値が設定され、カウントパルスＣＰを入力する毎に１ずつカウントダウンするとともにカウント値ＣＮＴを出力する。書込カウント値判別回路３２は、入力データＤ［１５］〜Ｄ［０］とカウント値ＣＮＴとを入力し、カウント値ＣＮＴが書込を行わないデータ“０”の入出力ビットに対応するカウント値である場合には、次パルス生成要求信号ＮＷをアクティブレベルとしてカウントパルス生成回路３１へ出力する。書込カウント値判別回路３２は、カウント値ＣＮＴが書込を行うデータ“１”の入出力ビットに対応するカウント値である場合には、次パルス生成要求信号ＮＷをインアクティブレベルとするとともにカウント値ＣＮＴを書込カウント値ＣＮＴＣとして書込信号生成回路１３へ出力する。書込信号生成回路１３は、書込カウント値ＣＮＴＣを入力する毎に書込カウント値ＣＮＴＣ（ｋ）に対応する書込信号ＷＴ［ｋ］をアクティブレベルであるハイレベルとして出力し、タイマ６からのタイムアップ信号ＴＭ［ｋ］がアクティブレベルのハイレベルになると書込信号ＷＴ［ｋ］をインアクティブレベルであるローレベルにする。
【００４９】
第３実施形態の動作について説明する。書込制御回路５ｂ内の書込カウント値判別回路３２に入力データＤ［１５］〜Ｄ［０］が入力される。次に、カウンタ１２より順次カウントされたカウント値ＣＮＴが書込カウント値判別回路３２へ入力される。書込カウント値判別回路３２は、入力されたカウント値ＣＮＴと入力データＤ［１５］〜Ｄ［０］とを比較し、カウント値ＣＮＴがデータが“１”である入出力ビットに対応する値であれば書込カウント値ＣＮＴＣとして書込信号生成回路１３へ出力する。書込信号生成回路１３は入力された書込カウント値ＣＮＴＣ（ｋ）に対応する書込信号ＷＴ［ｋ］を出力する。
【００５０】
書込カウント値判別回路３２に入力されたカウント値ＣＮＴがデータが“０”である入出力ビットに対応する値であれば、書込カウント値判別回路３２は次パルス生成要求信号ＮＰＲをアクティブレベルとしてカウントパルス生成回路３１へ送り、カウントパルス生成回路３１は出力中のカウントパルスを中断して一旦ローレベルに戻した後に、新規にカウントパルスＣＰを生成してカウンタ１２へ出力する。カウンタ１２は、カウントパルスＣＰを入力してカウントダウンするので、書込カウント値判別回路３２に入力されたカウント値ＣＮＴがデータが“０”である入出力ビットに対応する値であった場合には、本来のカウントパルス生成タイミングまで待たずにすぐ次のクロックに同期してカウンタ１２がカウントダウンを行う。これにより、本実施形態では第１実施形態、第２実施形態と比較してさらに書込時間の短縮ができるという新たな効果を有する。本実施形態においてもＶｐｐ電源電流Ｉｐｐがリファレンス電流Ｉｒｅｆ以上に増大すると検知信号ＤＴＣＴがハイレベルとなり、カウントパルス生成回路１１は検知信号ＤＴＣＴが再度ローレベルになるまでの間、カウントパルスＣＰの生成を停止することは第１実施形態、第２実施形態と同様である。
【００５１】
図９は、本発明の不揮発性半導体メモリの第４実施形態のブロック図である。第４実施形態では１個の書込信号で複数（図９では２個）の書込回路を同時に始動する点が第１実施例とは異なり、第１実施例の書込制御回路５を書込制御回路５ｃに置き換えて構成される。書込制御回路５ｃは、クロック信号ＣＬＫに同期して書込開始信号ＷＳＴのアクティブレベルを検出して書込制御を開始し、１６の入出力ビットに対応する書込回路が分割されて構成されそれぞれが所定の同時書込ビット数ｐ（ｐ≧２の整数で、図９ではｐ＝２）以下の書込回路を含む複数の書込回路グループに対し、検知信号ＤＴＣＴがインアクティブレベルのときには書込回路グループに対応する書込信号ＷＴ［１４−１５］〜ＷＴ［０−１］を順次所定の時間間隔でアクティブレベルとして出力し、検知信号ＤＴＣＴがアクティブレベルのときには書込信号の出力を停止し、タイムアップ信号ＴＭ［ｉ−ｊ］のアクティブレベルを入力したときには対応する書込信号ＷＴ［ｉ−ｊ］をインアクティブレベルとする。
【００５２】
書込制御回路５ｃの内部ブロックは、図２の第１実施形態の書込制御回路５の内部ブロックとほぼ同様に構成でき、カウンタ１２のカウント値初期値を１５から７に変更し、書込信号生成回路１３が出力する書込信号をＷＴ［１４−１５］〜ＷＴ［０−１］の８本とし、タイマ６から入力するタイムアップ信号を書込信号をＷＴ［１４−１５］〜ＷＴ［０−１］に対応させてＴＭ［１４−１５］〜ＴＭ［０−１］の８本に変更することによって実現できる。
【００５３】
本実施形態の動作は、書込信号ＷＴ［ｉ−ｊ］がハイレベルに変化する毎にこれに対応する書込回路グループが含む２個の書込回路４−ｉ，４−ｊを同時に始動させる点のみが第１実施形態と異なる。他の動作は第１次形態と同様で、Ｖｐｐ電源電流Ｉｐｐがリファレンス電流Ｉｒｅｆ以上に増大すると検知信号ＤＴＣＴがハイレベルとなり、カウントパルス生成回路１１は検知信号ＤＴＣＴが再度ローレベルになるまでの間、カウントパルスＣＰの生成を停止する。
【００５４】
本実施形態では、ｐ個の書込回路を同時に始動して書込を行うので、不揮発性半導体メモリがｐ個の同時書込に必要なＶｐｐ電源電流Ｉｐｐを供給可能な昇圧回路を搭載している場合には第１実施形態、第２実施形態に比較して書込時間を短縮することが可能となる。
【００５５】
なお、以上の説明においては入力データＤ［１５］〜Ｄ［０］は外部入力データであるとして説明したが、例えばＥＣＣ（誤り訂正コード）を搭載した不揮発性半導体メモリにおける符号データのように内部生成された入力データであってもよい。
【００５６】
また、以上の説明では不揮発性半導体装置は１６ビットの入出力ビットを有するものとして説明したが、本発明はこれに限定されるものではなく、４ビット、８ビットまたは３２ビット等の２の累乗個の入出力ビットを有するものでもよく、さらにこれに加えてパリティビットやＥＣＣ符号ビットを余分に有する構成でも適用可能であるので、一般にｎ（ｎ≧４の整数）ビットの入出力ビットを有する半導体回路に適用可能である。
【００５７】
また、メモリセルに書込がなされてセルトランジスタのしきい値電圧が高くなった状態をデータ“１”の保持状態とし、消去がなされてセルトランジスタのしきい値電圧が低くなった状態をデータ“０”の保持状態として説明したが、これらは便宜的な定義であり、しきい値電圧の高低とデータの“１”，“０”との対応関係を逆にしてもよい。
【００５８】
また、書込開始信号ＷＳＴは、外部から入力される信号として説明したが、外部から書込コマンドが入力されこれをもとに不揮発性半導体メモリ内で生成した信号であってもよい。
【００５９】
また、書込制御回路５，５ａ，５ｂ，５ｃ内のカウンタ１２は、カウントパルスＣＰを入力する毎にカウントダウンするダウンカウンタとして説明したが、これに換えてカウントパルスＣＰを入力する毎にカウントアップするアップカウンタとしてもよい。この場合にはカウンタ１２の初期値を０とするので、書込信号ＷＴ［０］が最初にアクティブレベルとなり、カウントアップする毎にＷＴ［１］以降が順次アクティブレベルとなる。
【００６０】
【発明の効果】
以上に説明したように、本発明を適用した不揮発性半導体メモリでは、書込時に電流検知回路が昇圧回路から供給されるＶｐｐ電源電流Ｉｐｐを常時監視し、Ｉｐｐがリファレンス電流Ｉｒｅｆ以上に増大すると書込制御回路に検知信号をアクティブレベルとして送り、書込制御回路は検知信号がインアクティブレベルに戻るまで新たな書込信号の生成を停止するように動作する。これにより、第１の従来技術と第２の従来技術との組み合わせや第３の従来技術とほぼ同等の実用的な書込時間を維持しつつ第１の従来技術と第２の従来技術とを組み合わせや第３の従来技術で実現できるレベルよりもさらに昇圧回路の電流供給の負担を低減することができる。したがって、本発明を適用した不揮発性半導体メモリでは入出力ビットがさらに多ビット化したときにも昇圧回路の占有面積増大を抑制でき、小チップ面積で低コストとすることが可能となる。
【図面の簡単な説明】
【図１】本発明の第１実施形態のブロック図である。
【図２】第１実施形態における書込制御回路の内部ブロックを示す図である。
【図３】第１実施形態の動作タイミング図である。
【図４】第１実施形態の効果を説明する図である。
【図５】第２実施形態における書込制御回路の内部ブロックを示す図である。
【図６】第２実施形態の動作タイミング図である。
【図７】第３実施形態のブロック図である。
【図８】第３実施形態の書込制御回路５の内部ブロックを示す図である。
【図９】第４実施形態のブロック図である。
【図１０】（ａ）は、“１”データの書込時におけるセルトランジスタのドレイン電流の時間変化およびセルトランジスタのしきい値電圧の時間変化を示す図であり、（ｂ）は、昇圧回路の一例の回路図である。
【図１１】（ａ）は、第２の従来技術を用いた不揮発性半導体メモリのブロック図であり、（ｂ）は、第２の従来技術と第１の従来技術とを組み合わせた場合のＶｐｐ電源電流を示す図である。
【図１２】（ａ）は、第３の従来技術のブロック図であり、（ｂ）は、第３の従来技術による書込における電流を示した図である。
【符号の説明】
１    フラッシュメモリ部
２    昇圧回路
３    電流検知回路
４    書込回路
５，５ａ，５ｂ，５ｃ    書込制御回路
６    タイマ
７    発振器
１１，３１    カウントパルス生成回路
１２    カウンタ
１３，２３    書込信号生成回路
２１    カウント値シフト回路
２２    開始時信号生成回路
３２    書込カウント値判別回路
ＤＴＣＴ    検知信号
ＷＴ    書込信号
【図１】
0003745283.tif 000002
【図２】
0003745283.tif 000003
【図３】
0003745283.tif 000004
【図４】
0003745283.tif 000005
【図５】
0003745283.tif 000006
【図６】
0003745283.tif 000007
【図７】
0003745283.tif 000008
【図８】
0003745283.tif 000009
【図９】
0003745283.tif 000010
【図１０】
0003745283.tif 000011
【図１１】
0003745283.tif 000012
【図１２】
0003745283.tif 000013