(57)【特許請求の範囲】
【請求項１】
電気的にデータの書き込みが可能な複数の不揮発性メモリセルと、
書き込み対象となるメモリセルの個数に応じて電圧値が異なり、前記個数が多いほど前記電圧値が単調に高くなるか低くなる可変電圧を発生する可変電圧発生回路と、
前記可変電圧と、所定の基準電圧とを比較して、前記書き込み対象となるメモリセルの個数と前記基準電圧に対応したメモリセル参照値との大小判定信号を出力する比較回路と、
前記大小判定信号に基づいて、前記書き込み対象となるメモリセルに対する書き込みを実行する書き込み回路と、を備えてなり、
前記メモリセル参照値が、前記書き込み回路が同時に書き込み可能な前記メモリセルの最大個数より大きく、前記最大個数に１加算した値より小さいことを特徴とする不揮発性半導体記憶装置。
【請求項２】
前記可変電圧発生回路が、スイッチ素子と抵抗素子の直列回路を書き込み対象となる前記メモリセルの最大数と同数以上並列に接続してなるスイッチ回路を備え、オン状態の前記スイッチ素子の個数に応じて変化する前記スイッチ回路の合成抵抗を利用し、所定の一定電圧を抵抗分割して前記可変電圧を発生することを特徴とする請求項１に記載の不揮発性半導体記憶装置。
【請求項３】
前記基準電圧を発生する基準電圧発生回路と備え、前記可変電圧発生回路の前記直列回路と同じスイッチ素子と抵抗素子の直列回路を前記書き込み回路が同時に書き込み可能な前記メモリセルの最大個数と同数以上、及び、前記スイッチ素子がオン状態の前記直列回路より高抵抗となる抵抗素子または回路を並列に接続してなる第２スイッチ回路を備え、オン状態の前記スイッチ素子の個数に応じて変化する前記第２スイッチ回路の合成抵抗を利用し、所定の一定電圧を抵抗分割して前記基準電圧を発生することを特徴とする請求項２に記載の不揮発性半導体記憶装置。
【請求項４】
前記基準電圧を発生する基準電圧発生回路と備え、前記可変電圧発生回路の前記直列回路と同じスイッチ素子と抵抗素子の直列回路を書き込み対象となる前記メモリセルの最大数と同数以上、及び、前記スイッチ素子がオン状態の前記直列回路より高抵抗となる抵抗素子または回路を並列に接続してなる第２スイッチ回路を備え、オン状態の前記スイッチ素子の個数に応じて変化する前記第２スイッチ回路の合成抵抗を利用し、所定の一定電圧を抵抗分割して前記基準電圧を発生することを特徴とする請求項２に記載の不揮発性半導体記憶装置。
【請求項５】
前記基準電圧発生回路が、複数の前記基準電圧を発生可能に構成され、
前記各基準電圧に対応する前記メモリセル参照値の１つが、書き込み対象となる前記メモリセルの最大数未満で、前記書き込み回路が同時に書き込み可能な前記メモリセルの最大個数の２倍の値より大きく、前記最大個数の２倍の値に１加算した値より小さい値を含むことを特徴とする請求項４に記載の不揮発性半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フラッシュメモリ等の電気的にデータ書き込み可能な不揮発性半導体記憶装置に関し、特に、不揮発性半導体記憶装置における電気的な書き込み動作の高速化技術に関する。
【背景技術】
【０００２】
一般的な電気的にデータ書き込み可能な不揮発性半導体記憶装置としてフラッシュメモリがある。フラッシュメモリには、メモリセルアレイの構成形式により分類されるＮＯＲ型とＮＡＮＤ型と呼ばれる２種類のフラッシュメモリが存在する。以下、ＮＯＲ型フラッシュメモリを想定して説明する。一般的にＮＯＲ型フラッシュメモリは、図７に示すように、フローティングゲート構造のメモリセルがマトリクス状に配置され、各列のメモリセルのドレイン電極が共通のビット線に接続し、各行のメモリセルのゲート電極が共通のワード線と接続し、各メモリセルのソース電極が、図示しないが、メモリセルアレイ全体、一定のブロック単位、列単位、或いは、行単位で共通のソース線に接続している。
【０００３】
上記ＮＯＲ型フラッシュメモリにけるメモリセルの書き込み動作では、例えばメモリセルのゲートに高電圧、ソースに０Ｖを印加し、ドレインに高電圧の書き込みパルスを或る一定時間印加することにより、ドレイン・ソース間に電流が流れ、それにより発生するホットエレクトロンがフローティングゲートに注入され、メモリセルの閾値電圧が高くなる。書き込み時間を短縮するために、複数のメモリセルに対して同時に書き込み動作を行うという方法があるが、この場合必要な書き込み電流は同時に書き込むメモリセル数に比例して増加する。上記書き込み動作において、各メモリセルへの高電圧印加のためには、チップ外部から当該高電圧を供給する方法と、チップ内部で高電圧を生成して供給する方法がある。後者の場合、チップ外部からの高電圧供給が不要になるという利便性がある反面、チップ内部に昇圧回路が必要となる。この昇圧回路は書き込み時間、チップ面積、及び電圧・電流供給能力のバランスをとって設計される。
【０００４】
チップ内部に昇圧回路を備える場合の書き込み動作において、同時に書き込みパルスを印加可能な最大のメモリセル数（以下、「同時書き込み可能数」と称す。）は、書き込みパルス印加時のメモリセルのドレイン・ソース間電流と、昇圧回路からメモリセルのドレインに供給可能な電圧・電流の関係によって決定される。以下において、説明の簡単のため、データバス幅を１６ビット、同時書き込み可能数を８ビットと想定して説明する。この場合、昇圧回路は同時に８つのメモリセルに対して書き込みパルスの電圧・電流を供給可能であり、つまり８ビットまでの書き込みが可能とする。
【０００５】
一般的な書き込み回路では、予め書き込みバス幅を２分割し、常に２回の書き込み動作を行っていた。例えば、１ビットデータにおいて書き込み後のデータ値を「０」とすると、バス幅が１６ビットなので“００００  ００００  ００００  ００００”という書き込みデータの場合、まず１回目の書き込み動作においては“００００  ００００”データの書き込み動作を、所望のメモリセルに対して行い、２回目の書き込み動作においては、残りの書き込みデータである“００００  ００００”の書き込み動作を残りの所望のメモリセルに対して行っていた。上述の例の場合、１回目、２回目の書き込み動作では共に８ビットずつの書き込みであるので、昇圧回路の能力範囲内であり、問題なく書き込むことができる。次に、“１１１０  １１１１  １１１１  ００１１”という書き込みデータの場合では、まず１回目の書き込み動作において“１１１０  １１１１”データを上位８ビットのメモリセルに対して書き込み動作を行う。そして、２回目の書き込み動作では残りの書き込みデータである“１１１１  ００１１”の書き込み動作を下位８ビットのメモリセルに対して行っていた。この場合、１回目と２回目の書き込み動作では夫々１ビットと２ビットの書き込み動作であるので、昇圧回路の能力範囲内であるが、このアドレスにおいて書き込み動作を行うべき書き込み対象のメモリセルは合わせて３ビットであり、昇圧回路の能力を考慮しても、１回の書き込み動作で書き込むことが可能である。
【０００６】
上述のように、チップ内部に昇圧回路を備える場合の書き込み動作において、実際の書き込み対象のメモリセル数が少ない場合の書き込み動作に要する総時間を短縮するための方法が、下記の特許文献１に開示されている。
【０００７】
特許文献１に開示されている書き込み方法は、書き込み対象のメモリセル数に応じて最適な書き込み動作を行う方法であり、例えば、昇圧回路が８ビットまでの書き込み動作に対して電圧・電流を供給可能で、出力バス幅が１６ビットの場合、書き込む対象のメモリセルのビット数がデータ幅１６ビットの内の８ビット以内であれば、１回の書き込み動作のみを実施し、８ビット以上の場合、上述の従来と同様に２回の書き込み動作を実施する。
【０００８】
このように書き込む対象のメモリセル数に応じて書き込み動作の回数を変化させる書き込み回路を備えた、従来の不揮発性半導体記憶装置として、図８に示すような一般的な計数回路１０４を備えて分割書き込みを行う不揮発性半導体記憶装置１００がある。以下では、図８に示す不揮発性半導体記憶装置１００を用いて、上述の書き込み動作を説明する。先ず、図８に示す不揮発性半導体記憶装置１００の構成及び各部の機能について説明する。
【０００９】
図８に示す例では、不揮発性半導体記憶装置１００は、出力バス幅が１６ビットであり、１回のアクセスにおいて１６ビットのメモリセルにデータを書き込み可能で、また、書き込まれたデータを読み出し可能な構成になっている。不揮発性半導体記憶装置１００は、不揮発性のメモリセルをマトリクス状に複数配列してなるメモリセルアレイ１０１、行デコーダ１０２、列デコーダ１０３、ソーススイッチ回路１０９を備えており、行デコーダ１０２は行アドレスＡＸｎに基づきワード線ＷＬを選択し、列デコーダは列アドレスＡＹｍに基づきビット線ＢＬの内１６本を選択する。選択した１６本のビット線を、パルス線ＰＬ０〜ＰＬ１５と書き込みデータ線ＷＤ０〜ＷＤ１５を介して、パルススイッチ回路１１１ａ、１１１ｂに接続する。ソーススイッチ回路１０９は、メモリセルアレイ１０１の各メモリセルに対し、例えば、消去動作時に各メモリセルに接続するソース線ＳＲに所定の消去電圧を供給するためのスイッチ動作を行うための回路で、読み出し動作時及び書き込み動作時においては、当該ソース線ＳＲには接地電位が供給される。
【００１０】
一方、ベリファイ回路１０５は，パルス線ＰＬ０〜ＰＬ１５を介して供給されるメモリセルアレイ１０１から読み出されたデータと、書き込み消去制御処理部１０８から供給される書き込みデータ信号ＵＩ０〜ＵＩ１５とを比較し、書き込みパルスを印加すべき書き込み対象のメモリセルに対応するベリファイデータＶＤ０〜ＶＤ１５を活性化して、計数回路１０４とパルススイッチ回路１１１ａ、１１１ｂに供給する。尚、書き込みデータ信号ＵＩ０〜ＵＩ１５は、データ端子Ｄ０〜Ｄ１５及びデータラッチ回路１０７を介して供給された入力データＤＩ０〜ＤＩ１５に基づいて書き込み消去制御処理部１０８で生成される。
【００１１】
ここで、メモリセルアレイ１０１からデータを読み出す動作は、基準となる基準電流値とアドレス信号により選択されたメモリセルの電流値とを比較することで、メモリセルに記憶されたデータの論理値（「１」または「０」）を判別する動作であり、以下、記憶状態が消去状態のメモリセルで、選択されたメモリセルの電流値が基準電流値よりも大きい場合の記憶データを「１」、また、記憶状態が書き込み状態のメモリセルで、選択されたメモリセルの電流値が基準電流値よりも小さい場合の記憶データを「０」と規定する。
【００１２】
計数回路１０４は、ベリファイデータＶＤ０〜ＶＤ１５を受けて、書き込みパルスを印加すべきビット数を計数し、計数結果であるカウンタ値が９ビット以上であればフラグ信号ＣＩを活性化し、８ビット以下であればフラグ信号ＣＩを非活性化する。上記フラグ信号ＣＩと書き込み消去制御処理部１０８により供給される分割スイッチ信号ＳＷに基づき、パルススイッチ制御回路１１０はパルススイッチ回路１１１ａ、１１１ｂを夫々活性化する信号ＦＬ０、ＦＬ１を供給する。上記パルススイッチ活性化信号ＦＬ０、ＦＬ１と供給されたベリファイデータＶＤ０〜ＶＤ１５に基づき、パルススイッチ回路１１１ａ、１１１ｂは書き込みデータ線ＷＤ０〜ＷＤ１５に対して書き込み電圧発生回路１０６より供給される書き込み電圧Ｖｐｕｍｐを供給する。尚、図８に示す例では、書き込み電圧発生回路１０６から供給される書き込み電圧Ｖｐｕｍｐには、１６個のメモリセルに対して同時に書き込みを行うのに必要な電流・電圧供給能力がなく、１度に最大８個のメモリセルに対してのみ電圧・電流を供給できるものとする。
【００１３】
次に、従来の不揮発性半導体記憶装置１００の動作について、図９を参照しながら説明する。先ず、装置外部からデータ書き込み動作の開始を指示するコマンドが発行されると（ステップ７００）、書き込み電圧発生回路１０６が動作を開始し、書き込み電圧Ｖｐｕｍｐを発生する（ステップ７０１）。そして、アドレス端子Ａ０〜Ａ２３を介して供給されたアドレス信号を受けて書き込むべきアドレスのメモリセルにアクセスし、当該メモリセルに格納されているデータの読み出しを行う。読み出されたデータは、パルス線ＰＬ０〜ＰＬ１５を介してベリファイ回路１０５に供給され、当該ベリファイ回路１０５内にて、書き込み消去制御処理部１０８より供給された書き込みデータ信号ＵＩ０〜ＵＩ１５との比較が行われる（ステップ７０２）。
【００１４】
上記比較の結果、読み出されたデータと書き込みデータが完全に一致した場合（フェイルビット無し）には書き込みパルスの印加が必要ないので、そのまま書き込み動作は終了する（ステップ７０９）。一方、上記比較の結果、読み出されたデータと書き込みデータが完全には一致していない場合（フェイルビット有り）、当該不一致である箇所のメモリセルには書き込みパルスの印加が必要であるので、以下に説明する書き込みシーケンスを実行する必要がある。
【００１５】
読み出されたデータと書き込みデータが完全には一致していないことを検出したベリファイ回路１０５は、アクセスした１６個のメモリセルの内の書き込みを行うべき書き込み対象のメモリセルを特定し、パルススイッチ回路１１１ａ、１１１ｂと計数回路１０４にベリファイデータＶＤ０〜ＶＤ１５を供給する。計数回路１０４は、先ず上記供給されたベリファイデータＶＤ０〜ＶＤ１５の内の１ビット分の計数を行う（ステップ７０３）。上記計数を１６ビット分の全てのベリファイデータＶＤ０〜ＶＤ１５を処理するまで繰り返す（ステップ７０４）。計数後の計数回路１０４内のカウンタ値が９以上である場合にはフラグ信号ＣＩを活性化し、８以下の場合にはフラグ信号ＣＩを非活性化する（ステップ７０５）。
【００１６】
フラグ信号ＣＩが活性化していない場合は、書き込み対象のメモリセルに対して一度に書き込むことができるので、パルススイッチ制御回路１１０は書き込み消去制御処理部１０８よりの制御信号ＳＷを受けて、パルススイッチ活性化信号ＦＬ０、ＦＬ１を共に活性化し、書き込みデータ線ＷＤ０〜ＷＤ１５の内の書き込みパルスを印加すべき書き込みデータ線の全てに書き込み電圧Ｖｐｕｍｐを供給する（ステップ７０８）。一方、フラグ信号ＣＩが活性化している場合は、書き込み消去制御処理部１０８よりの制御信号ＳＷを受けて、先ずパルススイッチ活性化信号ＦＬ０が活性化し、書き込みデータ線ＷＤ０〜ＷＤ７の内の書き込みパルスを印加すべき書き込みデータ線に書き込み電圧Ｖｐｕｍｐを供給する（ステップ７０６）。上記処理の後、パルススイッチ活性化信号ＦＬ０を非活性化し、次に、パルススイッチ活性化信号ＦＬ１を活性化して、書き込みデータ線ＷＤ８〜ＷＤ１５の内の書き込みパルスを印加すべき書き込みデータ線に書き込み電圧Ｖｐｕｍｐを供給する（ステップ７０７）。
【００１７】
ここで、パルススイッチ回路１１１ａ、１１１ｂを２分割し、書き込み動作を２回に分けているのは、書き込み電圧発生回路が１６個のメモリセルに対して同時に書き込みを行うのに必要な電流・電圧供給能力がなく、１度に８個のメモリセルに対してのみ電圧・電流を供給できないためである。
【００１８】
上記のステップを踏むことにより１サイクル目の書き込みパルスの印加が終了した後、再び当該１６個のメモリセルに対してデータの読み出しを行い、書き込みデータと比較する（ステップ７０２）。ここで、書き込み対象全てのメモリセルに対して期待値通りに書き込めている場合、ここで書き込み動作を終了する（ステップ７０９）。一方、読み出されたデータと書き込みデータと間に再度不一致がある場合、上述した書き込みシーケンスを再度実行する。この書き込みシーケンスを書き込み対象全てのメモリセルに対して期待値通りに書き込めるまで、実行する。
【００１９】
上述の説明にあるように、書き込むべきメモリセル数を計数回路１０４により計数し、そのカウント値が同時書き込み可能数以下の場合には、同時に全ての書き込み対象メモリセルに書き込みパルスを印加し、カウント値が同時書き込み可能数より大きい場合には、書き込み対象メモリセルを複数のグループに分割し、当該グループ毎に書き込みを実行することが行われる。上記書き込み手法を用いることにより、平均的な書き込み時間を短縮することが可能である。書き込みデータの書き込みパルスを印加すべきビット数が、（データバス幅−同時書き込み可能数×Ｎ）よりも小さい場合には、書き込み時間は（書き込みパルスの時間幅×Ｎ）の分だけ短縮が可能である。不揮発性半導体記憶装置１００のメモリセルアレイ１０１の全メモリセルに対して書き込みを行う場合に、例えば１アドレス分の書き込みデータ（１６ビット）の内のデータ「０」の数が８ビット以下と９ビット以上の割合が１：１であるとすると、書き込み時間は従来と比べて７５％程度に短縮される。
【００２０】
ここで、図９に示す従来の不揮発性半導体記憶装置１００で使用される計数回路１０４について、図１０を参照して詳述する。図１０に示す計数回路１０４は、シフトレジスタ３０１、バイナリカウンタ３０２、及び、カウンタ値判定回路３０５を備えて構成され、例えば、下記の非特許文献に記載されているような一般的な計数回路の回路構成例に基づいている。
【００２１】
シフトレジスタ３０１は、フリップフロップ３０３を１６個備えて構成されている。フリップフロップ３０３は、夫々データ入力端Ｄ、クロック入力端Ｃ、セット入力端Ｓ、及び、データ出力端Ｑを備えている。各フリップフロップ３０３のセット入力端Ｓは、ベリファイデータＶＤ０〜ＶＤ１５と接続しており、クロック入力端Ｃは、書き込み消去制御処理部１０８より供給されるか、或いは、計数回路１０４において発生されたタイミング信号ＣＬＫと接続している。また、フリップフロップ３０３のデータ出力端Ｑとデータ入力端Ｄは、隣り合うフリップフロップ３０３の前段のデータ出力端Ｑと後段のデータ入力端Ｄが接続し、左端のフリップフロップ３０３のデータ入力端Ｄは「０」レベルに固定されており、右端のフリップフロップ３０３のデータ出力端Ｑはシフトレジスタ出力ＳＯを供給する。当該構成により、各セット入力端Ｓを介して入力されたベリファイデータＶＤ０〜ＶＤ１５が、シフトレジスタ３０１にタイミング信号ＣＬＫが入力される都度、右隣のフリップフロップ３０３に対し順次受け渡され、右端のフリップフロップ３０３のデータ出力端Ｑからシフトレジスタ出力ＳＯとして出力される。
【００２２】
バイナリカウンタ３０２は、トグルフリップフロップ３０４を５個備えて構成されている。トグルフリップフロップ３０４は、夫々データ入力端Ｔとデータ出力端Ｑを備えている。トグルフリップフロップ３０４のデータ入力端Ｔとデータ出力端Ｑは、図１０に示すように、隣り合うトグルフリップフロップ３０４の前段のデータ出力端Ｑと後段のデータ入力端Ｔが接続する構成となっており、夫々のトグルフリップフロップ３０４の出力端Ｑからカウンタ値Ｑ４〜Ｑ０が出力される。
【００２３】
また、カウンタ値判定回路３０５は、カウンタ値Ｑ４〜Ｑ０を受けて、カウンタ値が９以上であるか否かを判定する論理回路であり、カウンタ値が９以上であった場合はフラグ信号ＣＩを活性化し、カウンタ値が８以下であった場合はフラグ信号ＣＩを非活性化する。
【００２４】
次に、図１１を用いて、計数回路１０４の動作を詳述する。シフトレジスタ３０１に入力されるベリファイデータＶＤ０〜ＶＤ１５が“００１１  １１００  １０１０  １１１１”であるとすると、先ず、当該ベリファイデータＶＤ０〜ＶＤ１５が、フリップフロップ３０３のセット入力端Ｓに夫々供給され、データ出力端Ｑにセットされる。この時のシフトレジスタ３０１のデータ出力端Ｑは、上記ベリファイデータと同じ“００１１  １１００  １０１０  １１１１”という出力になっている。そして、タイミング信号ＣＬＫが入力される都度、後段のフリップフロップ３０３のデータ入力端Ｄにデータが受け渡されるが、例えば、１回のタイミング信号ＣＬＫの入力後には、シフトレジスタ３０１のデータ出力端Ｑは、左端のフリップフロップ３０３に「０」レベルがセットされ、且つ、データが右隣のフリップフロップ３０３に受け渡されるため、各フリップフロップ３０３の出力端Ｑは“０００１  １１１０  ０１０１  ０１１１”という出力になる。上述の右方向へのシフト動作をすることにより、タイミング信号ＣＬＫを１６回入力すると、最終的にシフトレジスタ３０１のデータ出力端Ｑは“００００  ００００  ００００  ００００”になる。また、一方シフトレジスタ３０１の出力ＳＯは、右端のフリップフロップ３０３のデータ出力端Ｑから出力されるため、図１１に示すように、ベリファイデータＶＤ０〜ＶＤ１５が下位ビットから“１１１１  ０１０１  ００１１  １１００”の順番で出力される。
【００２５】
一方、バイナリカウンタ３０２の入力ＱＩは、シフトレジスタ３０１の出力ＳＯとタイミング信号ＣＬＫの否定論理との論理積となっており、シフトレジスタ３０１の出力ＳＯが「１」の時にバイナリカウンタ３０２の入力ＱＩに、図１１に示すようなタイミング信号ＣＬＫと逆相のクロックが入るようになっている。左端のトグルフリップフロップ３０４は、上記バイナリカウンタ３０２の入力ＱＩを受けて、クロックが入る毎に出力「１」、「０」を繰り返し反転させ、それを隣り合うトグルフリップフロップ３０４の入力Ｔに供給する。上記入力を受けた次段のトグルフリップフロップ３０４も、上記同様に入力端Ｔにクロックが入る毎に出力「１」、「０」の反転を繰り返す。これを繰り返すことにより、最終的に１６回のタイミング信号ＣＬＫを受けた後には、シフトレジスタ３０１の出力ＳＯがその内の１０回しか「１」でないため、「０１０１０」というカウンタ値Ｑ４〜Ｑ０を供給する。カウンタ値判定回路３０５は、２進数で「０１０１０」、つまり１０進数では「１０」を示す供給されたカウンタ値Ｑ４〜Ｑ０を受けて、フラグ信号ＣＩを活性化する。
【００２６】
上述の如く、計数回路１０４では、ベリファイデータＶＤ０〜ＶＤ１５をフリップフロップ３０３にセットした後、タイミング信号ＣＬＫを所定回数（書き込みデータのデータ幅のビット数と同数）入力する。そして、バイナリカウンタ３０２により、ベリファイデータＶＤ０〜ＶＤ１５においての書き込むべきビット数をカウントし、カウンタ値Ｑ０〜Ｑ４をカウンタ値判定回路３０５に供給する。上記供給されたカウンタ値Ｑ０〜Ｑ４は、カウンタ値判定回路３０５により、カウンタ値が９以上である場合にはフラグ信号ＣＩを活性化し、８以下の場合にはフラグ信号ＣＩを非活性化する。上記動作を行うことにより、書き込む対象のメモリセルが１回で書き込むことができるか否かを判定する。
【００２７】
【特許文献１】特開平１０−３３４６７５号公報
【非特許文献１】田丸啓吉、「論理回路の基礎（改訂版）」、工学図書株式会社、平成８年、１７０〜１７１頁
【発明の開示】
【発明が解決しようとする課題】
【００２８】
上述した従来の不揮発性半導体記憶装置１００では、ベリファイデータを計数するというステップが存在するため、従来の一般的な回路構成による計数回路１０４ではフリップフロップを多数備える必要がある。これによりトランジスタ素子が多数必要となる。また、タイミング信号ＣＬＫを上記所定回数入力する必要があるため、処理に時間を要する。
【００２９】
本発明は上記の問題点に鑑みてなされたものであり、その目的は、書き込み回路の書き込み能力に制限があって、書き込み対象メモリセルが１回の書き込み動作で書き込み可能かの判定を短時間且つ簡単な回路構成で実行でき、書き込み動作の高速化を簡単に実現できる不揮発性半導体記憶装置を提供する点にある。
【課題を解決するための手段】
【００３０】
上記目的を達成するための本発明に係る不揮発性半導体記憶装置は、電気的にデータの書き込みが可能な複数の不揮発性メモリセルと、書き込み対象となるメモリセルの個数に応じて電圧値が異なり、前記個数が多いほど前記電圧値が単調に高くなるか低くなる可変電圧を発生する可変電圧発生回路と、前記可変電圧と、所定の基準電圧とを比較して、前記書き込み対象となるメモリセルの個数と前記基準電圧に対応したメモリセル参照値との大小判定信号を出力する比較回路と、前記大小判定信号に基づいて、前記書き込み対象となるメモリセルに対する書き込みを実行する書き込み回路と、を備えてなることを第１の特徴とする。
【００３１】
更に、上記第１の特徴の不揮発性半導体記憶装置は、前記メモリセル参照値が、前記書き込み回路が同時に書き込み可能な前記メモリセルの最大個数より大きく、前記最大個数に１加算した値より小さいことを第２の特徴とする。
【００３２】
更に、上記何れかの特徴の不揮発性半導体記憶装置は、前記可変電圧発生回路が、スイッチ素子と抵抗素子の直列回路を書き込み対象となる前記メモリセルの最大数と同数以上並列に接続してなるスイッチ回路を備え、オン状態の前記スイッチ素子の個数に応じて変化する前記スイッチ回路の合成抵抗を利用し、所定の一定電圧を抵抗分割して前記可変電圧を発生することを第３の特徴とする。
【００３３】
上記第３の特徴の不揮発性半導体記憶装置は、前記基準電圧を発生する基準電圧発生回路と備え、前記可変電圧発生回路の前記直列回路と同じスイッチ素子と抵抗素子の直列回路を前記書き込み回路が同時に書き込み可能な前記メモリセルの最大個数と同数以上、及び、前記スイッチ素子がオン状態の前記直列回路より高抵抗となる抵抗素子または回路を並列に接続してなる第２スイッチ回路を備え、オン状態の前記スイッチ素子の個数に応じて変化する前記第２スイッチ回路の合成抵抗を利用し、所定の一定電圧を抵抗分割して前記基準電圧を発生することを第４の特徴とする。
【００３４】
更に、上記第３の特徴の不揮発性半導体記憶装置は、前記基準電圧を発生する基準電圧発生回路と備え、前記可変電圧発生回路の前記直列回路と同じスイッチ素子と抵抗素子の直列回路を書き込み対象となる前記メモリセルの最大数と同数以上、及び、前記スイッチ素子がオン状態の前記直列回路より高抵抗となる抵抗素子または回路を並列に接続してなる第２スイッチ回路を備え、オン状態の前記スイッチ素子の個数に応じて変化する前記第２スイッチ回路の合成抵抗を利用し、所定の一定電圧を抵抗分割して前記基準電圧を発生することを第５の特徴とする。
【００３５】
更に、上記第５の特徴の不揮発性半導体記憶装置は、前記基準電圧発生回路が、複数の前記基準電圧を発生可能に構成され、前記各基準電圧に対応する前記メモリセル参照値の１つが、書き込み対象となる前記メモリセルの最大数未満で、前記書き込み回路が同時に書き込み可能な前記メモリセルの最大個数の２倍の値より大きく、前記最大個数の２倍の値に１加算した値より小さい値を含むことを第６の特徴とする。
【発明の効果】
【００３６】
上記何れかの特徴の不揮発性半導体記憶装置によれば、書き込み回路の書き込み能力に制限がある場合に、比較回路によって、書き込み対象となるメモリセルの個数に対応した可変電圧と、メモリセル参照値に対応した基準電圧とを、電圧同士で比較しての大小判定信号を出力するため、例えば、メモリセル参照値を書き込み回路が同時に書き込み可能なメモリセルの最大個数より大きく、前記最大個数に１加算した値より小さい値に設定すれば、書き込み対象メモリセルが１回の書き込み動作で書き込み可能かの判定を、従来の計数回路を用いた判定に比べて、多数のフリップフロップ回路を用いて多くのクロック入力による複雑な動作をさせることなく短時間で実行でき、書き込み動作の高速化を簡単に実現できる。更に、メモリセル参照値を書き込み回路が同時に書き込み可能なメモリセルの最大個数のＮ倍（Ｎは２以上の自然数）より大きく、当該Ｎ倍値に１加算した値より小さい値に設定すれば、書き込み対象メモリセルがＮ回の書き込み動作で書き込み可能かの判定を短時間で実行できる。
【００３７】
ここで、書き込み対象となるメモリセルとは、例えば、１６ビットデータの書き込みに対して、各ビットに１つのメモリセルが対応付けられ、書き込みデータの各ビットの論理値に応じて、消去状態の論理値のビットに対応した書き込みの必要のないメモリセル等を除外した実際に書き込み動作が行われるメモリセルを意味し、書き込みデータの全ビットに対応する全メモリセルを意味するものではない。
【００３８】
更に、上記第２の特徴の不揮発性半導体記憶装置によれば、メモリセル参照値が、書き込み回路が同時に書き込み可能なメモリセルの最大個数より大きく、当該最大個数に１加算した値より小さい場合は、メモリセル参照値が自然数でなく、書き込み対象となるメモリセルの個数が自然数であるため、可変電圧と基準電圧間に必ず一定値以上の電圧差が生じるため、比較回路の電圧比較が確実に実行でき、大小判定信号を高精度に出力することができる。
【００３９】
更に、上記第３の特徴の不揮発性半導体記憶装置によれば、可変電圧発生回路が簡単な回路構成で実現でき、書き込み対象メモリセルが１回の書き込み動作で書き込み可能かの判定を簡単な回路構成で実現でき、当該回路によるチップ面積の増加を抑制できる。
【００４０】
更に、上記第４または第５の特徴の不揮発性半導体記憶装置によれば、書き込み回路が同時に書き込み可能なメモリセルの最大個数より大きく、当該最大個数に１加算した値より小さいメモリセル参照値に対応した基準電圧を生成可能な可変電圧発生回路を具体的に実現できる。
【００４１】
更に、上記第５の特徴の不揮発性半導体記憶装置によれば、複数通りのメモリセル参照値に対応した複数の基準電圧を生成することが、スイッチ素子のオンオフの切り替え処理により可能となり、書き込み回路の書き込み能力が低く、最大３回以上の書き込み動作が必要になる場合等においても、必要な書き込み動作の回数の判定が可能となる。
【００４２】
更に、上記第６の特徴の不揮発性半導体記憶装置によれば、特に、最大３回以上の書き込み動作が必要になる場合等において、３回以上の書き込み動作が必要か否かの判定が可能となる。
【発明を実施するための最良の形態】
【００４３】
以下、本発明に係る不揮発性半導体記憶装置（以下、適宜「本発明装置」と略称する）の実施形態を図面に基づいて説明する。尚、図８に示す従来の不揮発性半導体記憶装置と共通する機能ブロック及び信号には、共通の符号及び信号名を付して説明する。
【００４４】
〈第１実施形態〉
図１は、本発明装置２００の第１実施形態における概略のブロック構成を示すブロック図である。本発明装置２００は、図８に示す従来の不揮発性半導体記憶装置と同様に、書き込み対象のメモリセル数に応じて書き込み動作の回数を変化させる書き込み回路を備えた不揮発性半導体記憶装置であり、必要な書き込み動作の判定を行う回路が、従来の不揮発性半導体記憶装置と相違する。
【００４５】
図１に示すように、本発明装置２００は、出力バス幅が１６ビットであり、１回のアクセスにおいて１６ビットのメモリセルにデータを書き込み可能で、また、書き込まれたデータを読み出し可能な構成になっている。本発明装置２００は、不揮発性のメモリセルをマトリクス状に複数配列してなるメモリセルアレイ１０１、行デコーダ１０２、列デコーダ１０３、ソーススイッチ回路１０９を備えており、行デコーダ１０２は行アドレスＡＸｎに基づきワード線ＷＬを選択し、列デコーダは列アドレスＡＹｍに基づきビット線ＢＬの内１６本を選択する。選択した１６本のビット線を、パルス線ＰＬ０〜ＰＬ１５と書き込みデータ線ＷＤ０〜ＷＤ１５を介して、パルススイッチ回路１１１ａ、１１１ｂに接続する。ソーススイッチ回路１０９は、メモリセルアレイ１０１の各メモリセルに対し、例えば、消去動作時に各メモリセルに接続するソース線ＳＲに所定の消去電圧を供給するためのスイッチ動作を行うための回路で、読み出し動作時及び書き込み動作時においては、当該ソース線ＳＲには接地電位が供給される。
【００４６】
メモリセルアレイ１０１を構成するメモリセルは、電気的にデータの書き込みが可能な不揮発性のメモリセルで、例えば、フラッシュメモリセル等を想定するが、特定の不揮発性のメモリセルに限定されるものではない。また、メモリセルアレイ１０１のメモリ容量（アレイサイズ）としては、例えば、２５６Ｍビットを想定する。
【００４７】
また、本実施形態では、メモリセルアレイ１０１からデータを読み出す動作は、基準となる基準電流値とアドレス信号により選択されたメモリセルの電流値とを比較することで、メモリセルに記憶されたデータの論理値（「１」または「０」）を判別する動作であり、以下、記憶状態が消去状態のメモリセルで、選択されたメモリセルの電流値が基準電流値よりも大きい場合の記憶データを「１」、また、記憶状態が書き込み状態のメモリセルで、選択されたメモリセルの電流値が基準電流値よりも小さい場合の記憶データを「０」と規定する。従って、当該規定に則れば、書き込み対象のメモリセルは、書き込みデータの内の論理値「０」のビットに対応するメモリセルとなる。
【００４８】
一方、ベリファイ回路１０５は，パルス線ＰＬ０〜ＰＬ１５を介して供給されるメモリセルアレイ１０１から読み出されたデータと、書き込み消去制御処理部１０８からＵＩ０〜ＵＩ１５を介して供給される書き込みデータとを比較し、書き込みパルスを印加すべき書き込み対象のメモリセルに対応するベリファイデータＶＤ０〜ＶＤ１５を活性化して、書き込み回数判定回路２０１とパルススイッチ回路１１１ａ、１１１ｂに供給する。尚、書き込みデータ信号ＵＩ０〜ＵＩ１５は、データ端子Ｄ０〜Ｄ１５及びデータラッチ回路１０７を介して供給された入力データＤＩ０〜ＤＩ１５に基づいて書き込み消去制御処理部１０８で生成される。
【００４９】
本発明装置２００において特徴的な書き込み回数判定回路２０１は、ベリファイデータＶＤ０〜ＶＤ１５を受けて、書き込みパルスを印加すべきビット数を判定し、判定結果である判定値が９ビット以上であればフラグ信号ＣＩ（大小判定信号に相当）を活性化し、８ビット以下であればフラグ信号ＣＩを非活性化する。上記フラグ信号ＣＩと書き込み消去制御処理部１０８により供給される分割スイッチ信号ＳＷに基づき、パルススイッチ制御回路１１０はパルススイッチ回路１１１ａ、１１１ｂを夫々活性化する信号ＦＬ０、ＦＬ１を供給する。上記パルススイッチ活性化信号ＦＬ０、ＦＬ１と供給されたベリファイデータＶＤ０〜ＶＤ１５に基づき、パルススイッチ回路１１１ａ、１１１ｂは書き込みデータ線ＷＤ０〜ＷＤ１５に対して書き込み電圧発生回路１０６より供給される書き込み電圧Ｖｐｕｍｐを供給する。尚、本実施形態では、書き込み電圧発生回路１０６から供給される書き込み電圧Ｖｐｕｍｐには、１６個のメモリセルに対して同時に書き込みを行うのに必要な電流・電圧供給能力がなく、１度に最大８個のメモリセルに対してのみ電圧・電流を供給できるものとする。ここで、書き込み回路が書き込み電圧Ｖｐｕｍｐによって同時に書き込み可能なメモリセルの最大個数（本実施形態では、８個）を「同時書き込み可能数」と称す。
【００５０】
次に、第１実施形態における書き込み回数判定回路２０１について、図２を用いて詳述する。書き込み回数判定回路２０１は、図２に示すように、可変電圧発生回路２０２と基準電圧発生回路２０３と比較回路２０４を備えて構成される。
【００５１】
可変電圧発生回路２０２は、ベリファイデータＶＤ０〜ＶＤ１５に基づいて、書き込み対象となるメモリセルの個数に応じて電圧値が異なり、当該個数が多いほど電圧値が単調に高くなる可変電圧Ｖｄａｔを発生する。具体的には、図２に示すように、可変電圧発生回路２０２は、スイッチ素子であるＰＭＯＳトランジスタＰ０〜Ｐ１５と抵抗素子Ｒｄａｔの直列回路を１６個並列に接続してスイッチ回路２０２ａと、固定抵抗Ｒｓｕｂを直列に接続して構成される。スイッチ回路２０２ａの一端を電源電圧等の所定の一定電圧Ｖｃに、固定抵抗Ｒｓｕｂの一端を接地電位に夫々接続し、スイッチ回路２０２ａと固定抵抗Ｒｓｕｂの各他端同士を接続して可変電圧Ｖｄａｔの出力端とする。可変電圧Ｖｄａｔは、所定の一定電圧Ｖｃを、スイッチ回路２０２ａの合成抵抗と固定抵抗Ｒｓｕｂにより抵抗分割して得られる。ベリファイデータＶＤ０〜ＶＤ１５が、スイッチ回路２０２ａの各ＰＭＯＳトランジスタＰ０〜Ｐ１５のゲートに接続し、ベリファイデータＶＤ０〜ＶＤ１５が論理値「０」、つまり、低レベルで対応するＰＭＯＳトランジスタＰ０〜Ｐ１５がオン状態となり、ベリファイデータＶＤ０〜ＶＤ１５が論理値「１」、つまり、高レベルで対応するＰＭＯＳトランジスタＰ０〜Ｐ１５がオフ状態となる。例えば、ベリファイデータＶＤ０〜ＶＤ１５として、“１１１１  １０１１  １１１１  １１１０”を想定した場合、「０」レベルのベリファイデータがゲートに入力する２個のＰＭＯＳトランジスタだけがオン状態になり、それ以外の１４個のＰＭＯＳトランジスタはオフ状態になる。
【００５２】
ここで、直列回路の抵抗（ＰＭＯＳトランジスタのオン抵抗と抵抗素子Ｒｄａｔの抵抗値の合計）をＲ０とし、ベリファイデータＶＤ０〜ＶＤ１５の１６ビット中の「０」の個数、つまり、書き込み対象となるメモリセルの個数をＭとすると、スイッチ回路２０２ａの合成抵抗は、Ｒ０／Ｍで表される。従って、固定抵抗Ｒｓｕｂの抵抗値をＲ１とし、所定の一定電圧をＶｃとすると、可変電圧Ｖｄａｔは、個数Ｍを変数として、以下の数１で与えられる。
【００５３】
（数１）
Ｖｄａｔ（Ｍ）＝Ｖ×Ｒ１／（Ｒ１＋Ｒ０／Ｍ）
【００５４】
可変電圧Ｖｄａｔは、図３に示すように、個数Ｍに応じて離散的な電圧値となり、個数Ｍの増加に応じて、段階的に高電圧に変化する。
【００５５】
基準電圧発生回路２０３は、可変電圧Ｖｄａｔの大小比較の参照とする所定の基準電圧Ｖｒｅｆを発生する回路で、本実施形態では、例えば、固定抵抗による抵抗分圧回路で構成される。また、個数Ｍが８のときの可変電圧ＶｄａｔをＶｄａｔ（８）、個数Ｍが９のときの可変電圧ＶｄａｔをＶｄａｔ（９）とすると、基準電圧Ｖｒｅｆは、以下の数２、及び、図３に示すように、Ｖｄａｔ（８）とＶｄａｔ（９）の間の電圧値となるように設定される。この場合、基準電圧に対応した個数Ｍ（メモリセル参照値に相当）は、８と９の間の値となる。
【００５６】
（数２）
Ｖｄａｔ（８）＜Ｖｒｅｆ＜Ｖｄａｔ（９）
【００５７】
比較回路２０４は、可変電圧Ｖｄａｔと基準電圧Ｖｒｅｆの各電圧値の大小比較を行う回路で、例えば、差動増幅器等で構成される。比較回路２０４は、可変電圧Ｖｄａｔが基準電圧Ｖｒｅｆより低電圧であればフラグ信号ＣＩを活性化し、逆に、可変電圧Ｖｄａｔが基準電圧Ｖｒｅｆより高電圧であればフラグ信号ＣＩを非活性化して、パルススイッチ制御回路１１０に供給する。
【００５８】
以上に示す構成の書き込み回数判定回路２０１によって、可変電圧発生回路２０２のスイッチ回路２０２ａに入力されたベリファイデータＶＤ０〜ＶＤ１５に基づいて、書き込み対象となるメモリセルの個数Ｍが、９以上である場合にはフラグ信号ＣＩを活性化し、８以下の場合にはフラグ信号ＣＩを非活性化する。かかる処理によって、書き込み対象となるメモリセルが、１回の書き込み動作で書き込めるか否かを直ちに判定できる。
【００５９】
次に、本発明装置２００の動作について、図４を参照しながら説明する。先ず、装置外部からデータ書き込み動作の開始を指示するコマンドが発行されると（ステップ８００）、書き込み電圧発生回路１０６が動作を開始し、書き込み電圧Ｖｐｕｍｐを発生する（ステップ８０１）。そして、アドレス端子Ａ０〜Ａ２３を介して供給されたアドレス信号を受けて書き込むべきアドレスのメモリセルにアクセスし、当該メモリセルに格納されているデータの読み出しを行う。読み出されたデータは、パルス線ＰＬ０〜ＰＬ１５を介してベリファイ回路１０５に供給され、当該ベリファイ回路１０５内にて、書き込み消去制御処理部１０８より供給された書き込みデータ信号ＵＩ０〜ＵＩ１５との比較が行われる（ステップ８０２）。
【００６０】
上記比較の結果、読み出されたデータと書き込みデータが完全に一致した場合（フェイルビット無し）には書き込みパルスの印加が必要ないので、そのまま書き込み動作は終了する（ステップ８０８）。一方、上記比較の結果、読み出されたデータと書き込みデータが完全には一致していない場合（フェイルビット有り）、当該不一致である箇所のメモリセルには書き込みパルスの印加が必要であるので、以下に説明する書き込みシーケンスを実行する必要がある。
【００６１】
読み出されたデータと書き込みデータが完全には一致していないことを検出したベリファイ回路１０５は、アクセスした１６個のメモリセルの内の書き込みを行うべき書き込み対象のメモリセルを特定し、パルススイッチ回路１１１ａ、１１１ｂと書き込み回数判定回路２０１にベリファイデータＶＤ０〜ＶＤ１５を供給する。書き込み回数判定回路２０１は、先ず、上記供給されたベリファイデータＶＤ０〜ＶＤ１５に基づいて、書き込み対象となるメモリセル数が８ビット以上か否かの判定を行う（ステップ８０３）。上記判定結果の判定値が９以上である場合にはフラグ信号ＣＩを活性化し、８以下の場合にはフラグ信号ＣＩを非活性化する（ステップ８０４）。
【００６２】
フラグ信号ＣＩが活性化していない場合は、書き込み対象のメモリセルに対して一度に書き込むことができるので、パルススイッチ制御回路１１０は書き込み消去制御処理部１０８よりの制御信号ＳＷを受けて、パルススイッチ活性化信号ＦＬ０、ＦＬ１を共に活性化し、書き込みデータ線ＷＤ０〜ＷＤ１５の内の書き込みパルスを印加すべき書き込みデータ線の全てに書き込み電圧Ｖｐｕｍｐを供給する（ステップ８０７）。一方、フラグ信号ＣＩが活性化している場合は、書き込み消去制御処理部１０８よりの制御信号ＳＷを受けて、先ずパルススイッチ活性化信号ＦＬ０が活性化し、書き込みデータ線ＷＤ０〜ＷＤ７の内の書き込みパルスを印加すべき書き込みデータ線に書き込み電圧Ｖｐｕｍｐを供給する（ステップ８０５）。上記処理の後、パルススイッチ活性化信号ＦＬ０を非活性化し、次に、パルススイッチ活性化信号ＦＬ１を活性化して、書き込みデータ線ＷＤ８〜ＷＤ１５の内の書き込みパルスを印加すべき書き込みデータ線に書き込み電圧Ｖｐｕｍｐを供給する（ステップ８０６）。
【００６３】
上記のステップを踏むことにより１サイクル目の書き込みパルスの印加が終了した後、再び当該１６個のメモリセルに対してデータの読み出しを行い、書き込みデータと比較する（ステップ８０２）。ここで、書き込み対象全てのメモリセルに対して期待値通りに書き込めている場合、ここで書き込み動作を終了する（ステップ８０８）。一方、読み出されたデータと書き込みデータと間に再度不一致がある場合、上述した書き込みシーケンスを再度実行する。この書き込みシーケンスを書き込み対象全てのメモリセルに対して期待値通りに書き込めるまで、実行する。
【００６４】
上述の説明にあるように、書き込み回数判定回路２０１により、書き込み対象のメモリセル数が同時書き込み可能数以下であるか否かを判定し、同時書き込み可能数以下の場合には、同時に書き込み対象の全メモリセルに書き込みパルスを印加し、同時書き込み可能数より大きい場合には、書き込み対象のメモリセルを複数のグループ（本実施形態では２つのグループ）に分割し、グループ毎に書き込み動作を実行する。
【００６５】
〈第２実施形態〉
次に、本発明装置２００の第２実施形態について、図５及び図６を参照して説明する。第２実施形態に係る本発明装置２００の全体的な構成は、基本的に、図１に示す第１実施形態の場合のブロック構成と同じであるので、重複する説明は割愛する。第１実施形態との相違点は、第２実施形態において、第１実施形態と異なる書き込み回数判定回路２０５を使用する点である。図５は、第２実施形態における書き込み回数判定回路２０５の回路構成を示す回路図である。尚、第１実施形態の図２と同じ構成要素には、同じ符号及び信号名を付して説明する。
【００６６】
第２実施形態では、書き込み回数判定回路２０５は、図５に示すように、第１実施形態と同様に、可変電圧発生回路２０２と基準電圧発生回路２０６と比較回路２０４を備えて構成される。第１実施形態との相違点は、基準電圧発生回路２０６の回路構成が異なる点である。
【００６７】
第２実施形態の基準電圧発生回路２０６は、図５に示すように、可変電圧発生回路２０２と略同じ回路構成となっており、スイッチ素子であるＰＭＯＳトランジスタＰ０〜Ｐ１５と抵抗素子Ｒｄａｔの直列回路を１６個並列に接続し、更に、固定抵抗Ｒｂｉｇを並列に接続してなる第２スイッチ回路２０６ａと、固定抵抗Ｒｓｕｂを直列に接続して構成される。ここで、直列回路と固定抵抗Ｒｓｕｂは、可変電圧発生回路２０２の直列回路と固定抵抗Ｒｓｕｂと同じである。第２スイッチ回路２０６ａの一端を電源電圧等の所定の一定電圧Ｖｃに、固定抵抗Ｒｓｕｂの一端を接地電位に夫々接続し、第２スイッチ回路２０６ａと固定抵抗Ｒｓｕｂの各他端同士を接続して基準電圧Ｖｒｅｆの出力端とする。基準電圧Ｖｒｅｆは、所定の一定電圧Ｖｃを、第２スイッチ回路２０６ａの合成抵抗と固定抵抗Ｒｓｕｂにより抵抗分割して得られる。基準電圧Ｖｒｅｆ設定用の入力信号ＡＮ０〜ＡＮ１５が、第２スイッチ回路２０６ａの各ＰＭＯＳトランジスタＰ０〜Ｐ１５のゲートに接続し、入力信号ＡＮ０〜ＡＮ１５が論理値「０」、つまり、低レベルで対応するＰＭＯＳトランジスタＰ０〜Ｐ１５がオン状態となり、入力信号ＡＮ０〜ＡＮ１５が論理値「１」、つまり、高レベルで対応するＰＭＯＳトランジスタＰ０〜Ｐ１５がオフ状態となる。可変電圧発生回路２０２との相違点は、第２スイッチ回路２０６ａに、直列回路の抵抗値より高抵抗の固定抵抗Ｒｂｉｇ（抵抗値をＲ２とする）が並列に接続されている点である。
【００６８】
ここで、可変電圧発生回路２０２の直列回路と同様に、直列回路の抵抗をＲ０とし、入力信号ＡＮ０〜ＡＮ１５の１６ビット中の「０」の個数をＭ’とすると、第２スイッチ回路２０６ａの合成抵抗Ｒ３は、以下の数３で表され、固定抵抗Ｒｓｕｂの抵抗値をＲ１とし、所定の一定電圧をＶｃとすると、基準電圧Ｖｒｅｆは、個数Ｍ’を変数として、以下の数４で与えられる。
【００６９】
（数３）
Ｒ３＝Ｒ０／（Ｒ０／Ｒ２＋Ｍ’）
【００７０】
（数４）
Ｖｒｅｆ（Ｍ’）＝Ｖ×Ｒ１／（Ｒ１＋Ｒ３）
【００７１】
基準電圧Ｖｒｅｆは、図６に示すように、個数Ｍ’に応じて離散的な電圧値となり、個数Ｍの増加に応じて、段階的に高電圧に変化する。
【００７２】
ここで、数３において、右辺分母のＲ０／Ｒ２は、０＜Ｒ０／Ｒ２＜１であるため、可変電圧発生回路２０２のスイッチ回路２０２ａの合成抵抗（Ｒ０／Ｍ）と比較すると、第２スイッチ回路２０６ａの合成抵抗Ｒ３は、以下の数５に示すような関係となる。ここで、個数Ｍ’を書き込み対象となるメモリセルの個数Ｍと等しくする。この結果、数４で与えられる基準電圧Ｖｒｅｆ（Ｍ）と数１で与えられる可変電圧Ｖｄａｔ（Ｍ）は、以下の数６及び図６に示すような関係となる。
【００７３】
（数５）
｛Ｒ０／（Ｍ＋１）｝＜Ｒ３＜（Ｒ０／Ｍ）
【００７４】
（数６）
Ｖｄａｔ（Ｍ）＜Ｖｒｅｆ（Ｍ）＜Ｖｄａｔ（Ｍ＋１）
【００７５】
つまり、基準電圧発生回路２０６に入力する入力信号ＡＮ０〜ＡＮ１５の１６ビット中の「０」の個数Ｍ’を可変電圧発生回路２０２に入力するベリファイデータＶＤ０〜ＶＤ１５の１６ビット中の「０」の個数Ｍとした場合、基準電圧発生回路２０６から出力される基準電圧Ｖｒｅｆ（Ｍ）は、可変電圧発生回路２０２から出力される可変電圧Ｖｄａｔ（Ｍ）より高く、個数Ｍが１だけ増えた場合の可変電圧Ｖｄａｔ（Ｍ＋１）より低くなる。具体例で説明すると、個数Ｍ’を８とした場合の基準電圧Ｖｒｅｆ（８）は、書き込み対象のメモリセル数が８の場合の可変電圧Ｖｄａｔ（８）と同メモリセル数が９の場合の可変電圧Ｖｄａｔ（９）の中間電圧となる。
【００７６】
以上の結果、任意の個数Ｍの可変電圧Ｖｄａｔ（Ｍ）と基準電圧Ｖｒｅｆ（Ｍ’）の大小比較により、Ｖｄａｔ（Ｍ）＞Ｖｒｅｆ（Ｍ’）であれば、Ｍ≧Ｍ’と判定でき、Ｖｄａｔ（Ｍ）＜Ｖｒｅｆ（Ｍ’）であれば、Ｍ≦Ｍ’と判定できる。つまり、書き込み回数判定回路２０５に基準電圧発生回路２０６を備え、入力信号ＡＮ０〜ＡＮ１５の１６ビット中の「０」の個数Ｍ’を任意に設定することで、書き込み対象のメモリセル数Ｍの判定を、任意の個数Ｍ’に対して実行可能となる。
【００７７】
次に、本発明装置の別実施形態について説明する。
【００７８】
〈１〉上記各実施形態において、本発明装置２００は、出力バス幅が１６ビットであり、同時書き込み可能数が８である場合を想定し、８ビット幅のパルススイッチ回路１１１ａ、１１１ｂを２つ備える構成としたが、出力バス幅と同時書き込み可能数は、上記実施形態の例に限定されるものではない。例えば、出力バス幅が１６ビットで、同時書き込み可能数が４の場合や、出力バス幅が３２ビットで、同時書き込み可能数が８の場合等では、書き込み動作は出力バス幅を最大４分割して実行する必要がある。その場合は、パルススイッチ回路も４分割して構成し、第２実施形態における基準電圧Ｖｒｅｆ（Ｍ’）を生成するための個数Ｍ’を、出力バス幅の４分の１、２分の１、４分の３の個数に夫々設定した３通りの基準電圧Ｖｒｅｆと可変電圧Ｖｄａｔとを比較することにより、必要な書き込み動作の分割数を判定することが可能となる。
【００７９】
〈２〉上記第１実施形態において、基準電圧発生回路２０３を固定抵抗による抵抗分圧回路で構成したが、基準電圧発生回路２０３の構成例は、上記第１実施形態の回路構成に限定されるものではない。また、基準電圧発生回路２０３を設けずに、外部から供給された基準電圧Ｖｒｅｆを使用しても構わない。
【００８０】
〈３〉上記第２実施形態において、基準電圧発生回路２０６に入力する入力信号ＡＮ０〜ＡＮ１５を１６ビットとしたが、生成する基準電圧Ｖｒｅｆが固定されている場合は、入力信号ＡＮのビット数をそれに応じた個数に固定しても構わない。また、基準電圧Ｖｒｅｆ（８）を生成する場合は、第２スイッチ回路２０６ａの直列回路の個数を８として、全てのＰＭＯＳトランジスタＰ０〜Ｐ７のゲート入力を書き込み動作時に低レベルにするように制御するようにしても構わない。これは、第１実施形態における、基準電圧発生回路２０３の他の回路構成例に相当する。
【００８１】
〈４〉上記各実施形態において、可変電圧発生回路２０２は、ベリファイデータＶＤ０〜ＶＤ１５に基づいて、書き込み対象となるメモリセルの個数が多いほど可変電圧Ｖｄａｔの電圧値が単調に高くなる回路構成であったが、可変電圧Ｖｄａｔの電圧値は、書き込み対象となるメモリセルの個数が多いほど単調に低くなる回路構成であっても構わない。この場合、比較回路２０４への可変電圧Ｖｄａｔと基準電圧Ｖｒｅｆの入力を反転させればよい。
【００８２】
更に、可変電圧発生回路２０２の回路構成において、可変電圧Ｖｄａｔの電圧値が、書き込み対象となるメモリセルの個数が多いほど単調に低くなる場合は、上記第２実施形態の基準電圧発生回路２０６は、入力信号ＡＮ０〜ＡＮ１５の１６ビット中の「０」の個数Ｍ’が多いほど基準電圧Ｖｒｅｆの電圧値が単調に低くなる回路構成とするのが好ましい。
【００８３】
〈５〉上記各実施形態において、本発明装置２００は、図１に示すブロック構成のものを想定して説明したが、本発明装置の全体的な回路構成は、図１に示すブロック構成のものに限定されるものではない。
【産業上の利用可能性】
【００８４】
本発明に係る不揮発性半導体記憶装置は、フラッシュメモリ等の電気的にデータ書き込み可能な不揮発性半導体記憶装置に利用できる。
【図面の簡単な説明】
【００８５】
【図１】本発明に係る不揮発性半導体記憶装置の一実施形態における概略のブロック構成を示すブロック図
【図２】本発明に係る不揮発性半導体記憶装置の第１実施形態における書き込み回数判定回路の回路構成例を示す回路図
【図３】本発明に係る不揮発性半導体記憶装置の第１実施形態における書き込み対象となるメモリセルの個数に応じた可変電圧と基準電圧との関係を示す図
【図４】本発明に係る不揮発性半導体記憶装置における書き込み動作シーケンスの一例を示すフローチャート
【図５】本発明に係る不揮発性半導体記憶装置の第２実施形態における書き込み回数判定回路の回路構成例を示す回路図
【図６】本発明に係る不揮発性半導体記憶装置の第２実施形態における書き込み対象となるメモリセルの個数に応じた可変電圧と基準電圧との関係を示す図
【図７】一般的なＮＯＲ型フラッシュメモリにおけるメモリセルアレイ構造を説明する図
【図８】従来の不揮発性半導体記憶装置における概略のブロック構成を示すブロック図
【図９】従来の不揮発性半導体記憶装置における書き込み動作シーケンスの一例を示すフローチャート
【図１０】従来の不揮発性半導体記憶装置において使用される計数回路の概略構成を示す論理回路図
【図１１】図１０に示す一般的な計数回路の計数動作を示すタイミングチャート
【符号の説明】
【００８６】
１００：  従来の不揮発性半導体記憶装置
１０１：  メモリセルアレイ
１０２：  行デコーダ
１０３：  列デコーダ
１０４：  計数回路
１０５：  ベリファイ回路
１０６：  書き込み電圧発生回路
１０７：  データラッチ回路
１０８：  書き込み消去制御処理部
１０９：  ソーススイッチ回路
１１０：  パルススイッチ制御回路
１１１ａ、１１１ｂ：  パルススイッチ回路
２００：  本発明に係る不揮発性半導体記憶装置
２０１，２０５：  書き込み回数判定回路
２０２：  可変電圧発生回路
２０２ａ：  スイッチ回路
２０３，２０６：  基準電圧発生回路
２０４：  比較回路
２０６ａ：  第２スイッチ回路
３０１：  シフトレジスタ
３０２：  バイナリカウンタ
３０３：  フリップフロップ
３０４：  トグルフリップフロップ
３０５：  カウンタ値判定回路
Ａ０〜Ａ２３：  アドレス端子
ＡＮ０〜ＡＮ１５：  基準電圧設定用の入力信号
ＡＸｎ：  行アドレス
ＡＹｍ：  列アドレス
ＢＬ：    ビット線
ＣＩ：    フラグ信号（大小判定信号）
ＣＬＫ：  タイミング信号
Ｄ０〜Ｄ１５：  データ端子
ＤＩ０〜ＤＩ１５：  入力データ
ＦＬ０、ＦＬ１：  パルススイッチ活性化信号
Ｐ０〜Ｐ１５：  ＰＭＯＳトランジスタ（スイッチ素子）
ＰＬ０〜ＰＬ１５：  パルス線
Ｑ４〜Ｑ０：  カウンタ値
Ｒｂｉｇ：  固定抵抗
Ｒｄａｔ：  抵抗素子
Ｒｓｕｂ：  固定抵抗
ＳＯ：    シフトレジスタ出力
ＳＲ：    ソース線
ＳＷ：    制御信号
ＵＩ０〜ＵＩ１５：  書き込みデータ信号
Ｖｃ：    一定電圧
ＶＤ０〜ＶＤ１５：  ベリファイデータ
Ｖｄａｔ：  可変電圧
Ｖｐｕｍｐ：  書き込み電圧
Ｖｒｅｆ：  基準電圧
ＷＤ０〜ＷＤ１５：  書き込みデータ線
ＷＬ：    ワード線
【図１】
0004551284.tif 000002
【図２】
0004551284.tif 000003
【図３】
0004551284.tif 000004
【図４】
0004551284.tif 000005
【図５】
0004551284.tif 000006
【図６】
0004551284.tif 000007
【図７】
0004551284.tif 000008
【図８】
0004551284.tif 000009
【図９】
0004551284.tif 000010
【図１０】
0004551284.tif 000011
【図１１】
0004551284.tif 000012