(57)【要約】【課題】電流値分布幅をより狭くして電流ウィンドウをより広げる。【解決手段】半導体基板における電荷蓄積部に電荷を徐々に蓄積するため、ゲート電圧は書き込み回数が増加するに従って徐々に増加させる（Ｂ）。チャネル領域に流れる電流の値が、電荷蓄積部に蓄積される電荷の量が所定のデータに対応する値となった場合に該チャネル領域に流れる電流の予め定められた目標値よりも大きい領域において、該電流の値が該目標値に近づいた場合に、ソース電圧、ドレイン電圧を下げることにより、１回当たりの電荷の蓄積量の増加割合を減少させる（Ｃ）。よって、各電荷蓄積部への電荷の蓄積量が目標値を超えることを抑えることができる。【選択図】図１５
2010225201.tif 000002
【特許請求の範囲】
【請求項１】
ソース領域、ドレイン領域、該ソース領域と該ドレイン領域との間にあるチャネル領域、該チャネル領域と該ソース領域との間にありかつ所定濃度の不純物を有して抵抗が可変な第１の抵抗変化領域、及び、該チャネル領域と該ドレイン領域との間にありかつ所定濃度の不純物を有して抵抗が可変な第２の抵抗変化領域を備えた基板と、
前記基板上の前記ソース領域に対応する位置に配置されたソース電極と、
前記基板上の前記ドレイン領域に対応する位置に配置されたドレイン電極と、
前記基板上の前記チャネル領域に対応する位置に配置されたゲート電極と、
前記チャネル領域に流れる電流の値を検出する電流検出手段と、
前記基板上の前記第１の抵抗変化領域に対応する位置に配置されると共に、前記ソース電極及び前記ゲート電極に印加された電圧の印加状態に応じた量の電荷を蓄積する少なくとも１つの第１の電荷蓄積部と、
前記基板上の前記第２の抵抗変化領域に対応する位置に配置されると共に、前記ドレイン電極及び前記ゲート電極に印加された電圧の印加状態に応じた量の電荷を蓄積する少なくとも１つの第２の電荷蓄積部と、
を各々備えた複数のメモリ部と、
前記ソース電極、前記ドレイン電極、及び前記ゲート電極に電圧を選択的に印加する印加手段と、
前記複数のメモリ部各々の前記第１の電荷蓄積部及び前記第２の電荷蓄積部の少なくとも一方に蓄積される電荷の量が所定値となるまで、前記ゲート電極と、前記ソース電極及び前記ドレイン電極の少なくとも一方の電極と、に電圧を複数回印加すると共に、前記印加状態を変化させて該回数が増えるに従って１回当たりの電荷の蓄積量が増加するように、前記印加手段を制御する制御手段と、
を備えた半導体不揮発性メモリであって、
前記制御手段は、前記電流検出手段により検出された電流の値に基づいて、前記チャネル領域に流れる電流の値が、前記第１の電荷蓄積部及び前記第２の電荷蓄積部の少なくとも一方に蓄積される電荷の量が所定値となった場合に前記チャネル領域に流れる電流の予め定められた目標値よりも大きい領域において、該電流の値が該目標値に近づいた場合に、１回当たりの電荷の蓄積量の増加割合が少なくとも１回減少するように、前記印加手段を制御する
ことを特徴とする半導体不揮発性メモリ。
【請求項２】
前記制御手段は、前記ゲート電極に印加される電圧の値が、前記回数が増えるに従って増加すると共に、前記ソース電極及び前記ドレイン電極の少なくとも一方の電極に印加される電圧の値が、前記チャネル領域に流れる電流の値に応じて段階的に小さくなるように、前記印加手段を制御することを特徴とする請求項１記載の半導体不揮発性メモリ。
【請求項３】
前記制御手段は、前記ゲート電極に印加される電圧の値が、前記チャネル領域に流れる電流の値に応じて段階的に小さくなると共に、前記ソース電極及び前記ドレイン電極の少なくとも一方の電極に印加される電圧の値が、前記回数が増えるに従って増加するように、前記印加手段を制御することを特徴とする請求項１記載の半導体不揮発性メモリ。
【請求項４】
前記制御手段は、前記ゲート電極と、前記ソース電極及び前記ドレイン電極の少なくとも一方の電極と、に印加される電圧が、前記回数が増えるに従って増加しかつ該増加する割合が前記チャネル領域に流れる電流の値に応じて段階的に小さくなるように、前記印加手段を制御することを特徴とする請求項１記載の半導体不揮発性メモリ。
【請求項５】
前記制御手段は、前記複数のメモリ部各々の前記第１の電荷蓄積部及び前記第２の電荷蓄積部の少なくとも一方に、大きさが各々異なる複数の電荷の何れかが選択的に蓄積されると共に、大きさが同じ電荷を蓄積する複数のメモリ部には同時に又は順に電圧が印加されるように、前記印加手段を制御することを特徴とする請求項１〜４の何れか１項に記載の半導体不揮発性メモリ。
【請求項６】
前記制御手段は、前記複数のメモリ部各々を順に代えて、各メモリ部の前記第１の電荷蓄積部及び前記第２の電荷蓄積部の少なくとも一方に、大きさが各々異なる複数の電荷の何れかが選択的に蓄積されるように、前記印加手段を制御することを特徴とする請求項１〜４の何れか１項に記載の半導体不揮発性メモリ。
【請求項７】
ソース領域、ドレイン領域、該ソース領域と該ドレイン領域との間にあるチャネル領域、該チャネル領域と該ソース領域との間にありかつ所定濃度の不純物を有して抵抗が可変な第１の抵抗変化領域、及び、該チャネル領域と該ドレイン領域との間にありかつ所定濃度の不純物を有して抵抗が可変な第２の抵抗変化領域を備えた基板と、
前記基板上の前記ソース領域に対応する位置に配置されたソース電極と、
前記基板上の前記ドレイン領域に対応する位置に配置されたドレイン電極と、
前記基板上の前記チャネル領域に対応する位置に配置されたゲート電極と、
前記チャネル領域に流れる電流の値を検出する電流検出手段と、
前記基板上の前記第１の抵抗変化領域に対応する位置に配置されると共に、前記ソース電極及び前記ゲート電極に印加された電圧の印加状態に応じた量の電荷を蓄積する少なくとも１つの第１の電荷蓄積部と、
前記基板上の前記第２の抵抗変化領域に対応する位置に配置されると共に、前記ドレイン電極及び前記ゲート電極に印加された電圧の印加状態に応じた量の電荷を蓄積する少なくとも１つの第２の電荷蓄積部と、
を各々備えた複数のメモリ部と、
前記ソース電極、前記ドレイン電極、及び前記ゲート電極に電圧を選択的に印加する印加手段と、
前記複数のメモリ部各々の前記第１の電荷蓄積部及び前記第２の電荷蓄積部の少なくとも一方に蓄積される電荷の量が所定値となるまで、前記ゲート電極と、前記ソース電極及び前記ドレイン電極の少なくとも一方の電極と、に電圧を複数回印加すると共に、前記印加状態を変化させて該回数が増えるに従って１回当たりの電荷の蓄積量が増加するように、前記印加手段を制御する制御手段と、
を備えた半導体不揮発性メモリの電荷蓄積方法であって、
前記制御手段が、前記電流検出手段により検出された電流の値に基づいて、前記チャネル領域に流れる電流の値が、前記第１の電荷蓄積部及び前記第２の電荷蓄積部の少なくとも一方に蓄積される電荷の量が所定値となった場合に前記チャネル領域に流れる電流の予め定められた目標値よりも大きい領域において、該電流の値が該目標値に近づいたか否か判断するステップと、
前記制御手段が、前記電流の値が前記目標値に近づいたと判断された場合に、１回当たりの電荷の蓄積量の増加割合が減少するように、前記印加手段を制御するステップと、
を備えたことを特徴とする半導体不揮発性メモリの電荷蓄積方法。
【請求項８】
ソース領域、ドレイン領域、該ソース領域と該ドレイン領域との間にあるチャネル領域、該チャネル領域と該ソース領域との間にありかつ所定濃度の不純物を有して抵抗が可変な第１の抵抗変化領域、及び、該チャネル領域と該ドレイン領域との間にありかつ所定濃度の不純物を有して抵抗が可変な第２の抵抗変化領域を備えた基板と、
前記基板上の前記ソース領域に対応する位置に配置されたソース電極と、
前記基板上の前記ドレイン領域に対応する位置に配置されたドレイン電極と、
前記基板上の前記チャネル領域に対応する位置に配置されたゲート電極と、
前記チャネル領域に流れる電流の値を検出する電流検出手段と、
前記基板上の前記第１の抵抗変化領域に対応する位置に配置されると共に、前記ソース電極及び前記ゲート電極に印加された電圧の印加状態に応じた量の電荷を蓄積する少なくとも１つの第１の電荷蓄積部と、
前記基板上の前記第２の抵抗変化領域に対応する位置に配置されると共に、前記ドレイン電極及び前記ゲート電極に印加された電圧の印加状態に応じた量の電荷を蓄積する少なくとも１つの第２の電荷蓄積部と、
を各々備えた複数のメモリ部と、
前記ソース電極、前記ドレイン電極、及び前記ゲート電極に電圧を選択的に印加する印加手段と、
前記複数のメモリ部各々の前記第１の電荷蓄積部及び前記第２の電荷蓄積部の少なくとも一方に蓄積される電荷の量が所定値となるまで、前記ゲート電極と、前記ソース電極及び前記ドレイン電極の少なくとも一方の電極と、に電圧を複数回印加すると共に、前記印加状態を変化させて該回数が増えるに従って１回当たりの電荷の蓄積量が増加するように、前記印加手段を制御する制御手段と、
を備えた半導体不揮発性メモリにおいて、
前記制御手段が、前記電流検出手段により検出された電流の値に基づいて、前記チャネル領域に流れる電流の値が、前記第１の電荷蓄積部及び前記第２の電荷蓄積部の少なくとも一方に蓄積される電荷の量が所定値となった場合に前記チャネル領域に流れる電流の予め定められた目標値よりも大きい領域において、該電流の値が該目標値に近づいたか否か判断する手順と、
前記制御手段が、前記電流の値が前記目標値に近づいたと判断された場合に、１回当たりの電荷の蓄積量の増加割合が減少するように、前記印加手段を制御する手順と、
をコンピュータに実行させるための電荷蓄積プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体不揮発性メモリ、半導体不揮発性メモリの電荷蓄積方法、及び電荷蓄積プログラムに係り、特に、電荷蓄積部に蓄積される電荷の量が所定値となるまで、ゲート電極と、ソース電極及びドレイン電極の少なくとも一方の電極と、に電圧を複数回印加すると共に、該電圧の印加状態を変化させて該回数が増えるに従って１回当たりの電荷の蓄積量を増加させる半導体不揮発性メモリ、半導体不揮発性メモリの電荷蓄積方法、及び電荷蓄積プログラムに関するものである。
【背景技術】
【０００２】
従来、1つのメモリセルに２つの電荷蓄積部を設け、それぞれの電荷蓄積部に２値（“０”・“１”）のデータを記憶させることにより、１つのメモリセル当たり２ビットのデータを記憶させることができる半導体不揮発性メモリがある。
【０００３】
例えば、特許文献１には、メモリセルのゲート電極の両側面の外側に、シリコン窒化膜からなる電荷蓄積部が物理的に連続せずに２つ形成されている構造の半導体不揮発性メモリが開示されている。
【０００４】
この構造の半導体不揮発性メモリは、それぞれのメモリセルの電荷蓄積部に“０”・“１”の２値のデータを記憶させることにより、１つのメモリセル当たり２ビットのデータを記憶させることができる。図２３は、特許文献１に記載された半導体不揮発性メモリのメモリセルが取ることができる状態を概念的に示す図である。すなわち、メモリセルの各電荷蓄積部に電荷（電子）が蓄積されていない状態が初期状態であり、データ“１”に対応するとすると、電荷が蓄積された状態がデータ“０”に対応する。このようにして、１つのメモリセル当たり２ビットのデータを記憶させることができる。
【０００５】
この構造の半導体不揮発性メモリの書き込み・読み出し・消去は、それぞれ次のように行われる。
【０００６】
例えば、上記と同様に、電荷蓄積部に電荷が蓄積されていない初期状態がデータ１に対応し、電荷蓄積部に電荷が蓄積された状態がデータ“０”に対応するとする。この場合まず、ドレイン側へのデータ“０”の書き込みは、ドレイン領域（ドレイン電極）に正電圧を印加し、ゲート電極に正電圧を印加し、ソース領域を接地電圧とすることにより行う。これにより、ホットエレクトロンがドレイン側の電荷蓄積部に注入され、データ“０”が書き込まれることとなる。
【０００７】
ドレイン側の情報の読み出しは、ソース領域に正電圧を印加し、ゲート電極に正電圧を印加し、ドレイン領域を接地電圧とすることにより行う。ドレイン側の電荷蓄積部に電荷が蓄積されていない場合、十分な読み出し電流値が得られる。この場合、データ“１”が書き込まれていると判別する。一方、ドレイン側の電荷蓄積部に電荷が蓄積されている場合、読み出し電流値が低くなる。この場合、データ“０”が書き込まれていると判別する。このように、読み出し電流値が一定値以上であるかどうかによって、２値のデータ“０”・“１”を判別する。
【０００８】
ドレイン側の情報の消去、すなわち電荷蓄積部に電荷が蓄積されていない初期状態（データ“１”に対応する状態）に戻す動作は、ドレイン領域に正電圧を印加し、ゲート電極に０又は負電圧を印加し、ソース領域をオープン状態（フローティング状態）とすることにより行う。これにより、ドレイン領域周辺で発生したホットホールが電荷蓄積部に注入され、電荷蓄積部に蓄積されている電荷が中和されることにより、情報の消去を行うことができる。なお、情報の消去は、紫外線の照射又は加熱処理によっても行うことができる。
【０００９】
このように、特許文献１に記載された構造の半導体不揮発性メモリは、読み出し電流値の大小によって、２値のデータ“０”・“１”を判別する。この読み出し電流値は、データ“０”・“１”に応じて全てのメモリセルにおいて一定の値を取ることが理想的であるが、実際にはプロセスばらつき等の諸事情からメモリセルごとにある程度のばらつきが生じる。
【００１０】
図２４は、多数のメモリセルの集合において、読み出し電流値を横軸とし、その読み出し電流値をとるメモリセルの電荷蓄積部の個数を縦軸としたグラフである。このように、データ“０”・“１”それぞれに対応する理想的な電流値を中心とした分布（電流値分布）を示す。なお、データ“０”を示す電荷蓄積部の分布（電流値分布）とデータ“１”を示す電荷蓄積部の分布との間の、ある程度の幅の電流値の範囲は“電流ウィンドウ”と呼ばれる。書き込まれた“０”と“１”を書き込まれた通りに判別するためには、電流値分布幅を狭くして、十分な幅の電流ウィンドウが存在することが必要となる。そして近年、１つのメモリセルに２つの電荷蓄積部が設けられた半導体不揮発性メモリにおいて、１つのメモリセル当たり４ビットのデータを記憶させることを実現しようという試みがなされ始めている。
【００１１】
例えば非特許文献１では、メモリセルのゲート電極の下側に形成された一の連続したシリコン窒化膜の両端を電荷蓄積部とする構造において、それぞれの電荷蓄積部に４値（蓄積する電荷が多い順に“００”，“０１”，“１０”と、電荷を蓄積しない“１１”）の情報を記憶させることにより、１つのメモリセル当たり４ビットのデータを記憶させることが開示されている。また、セルの２つの端部間のクロストーク（Ｃｒｏｓｓ ｔａｌｋ）に対処することと、正確な書き込みを行うことが重要であると記載されている。
【００１２】
クロストークへの対処としては、それぞれのセルについて同時４ビット書き込みを行うと記載されている。そして、具体的な書き込み方法として、２段階の書き込みを行うことが記載されている。２段階の書き込みとは、迅速な書き込みを行うための第１段階と、正確な書き込みを行うための第２段階とからなる。第１段階は、所定のドレイン電圧（非特許文献１のＦｉｇｕｒｅ４によると３Ｖ）から書き込みを開始し、書き込み回数が増えるにつれてドレイン電圧を徐々に上げてゆくドレイン・ステッピング（ｄｒａｉｎ ｓｔｅｐｐｉｎｇ）を行い、それぞれの電荷蓄積部における所望の閾値電圧に達する少し前の時点で書き込みを止める。第２段階は、所定のゲート電圧（非特許文献１のＦｉｇｕｒｅ４によると７Ｖ）から書き込みを開始し、書き込み回数が増えるにつれてゲート電圧を上げてゆくゲート・ステッピング（ｇａｔｅ ｓｔｅｐｐｉｎｇ）を行うことにより、それぞれの電荷蓄積部における所望の閾値電圧とする。この２段階の書き込みによって、書き込みの正確性を向上させることができると記載されている。
【００１３】
このように、電圧の印加と書き込み量（又は読み出し電流値）の確認を各電荷蓄積部に対して順次行い、これを複数回繰り返すことで所望の書き込み量（又は読み出し電流値）にする書き込み方法は、「ベリファイ書き込み」と呼ばれることもある。ベリファイ書き込みは、１回の電圧印加によって所望の書き込み量にする方法に比べて、精度良く所望の書き込み量に到達させることができる。
【００１４】
一方、フラッシュメモリ等の不揮発性半導体メモリの書き込みに関して、ワード線ディスターブと呼ばれる問題が知られている（特許文献２）。ワード線ディスターブとは、ワード線を共通にするビットへの書き込み動作に伴い非選択のメモリセルにも高い電圧が印加されて弱い書き込み（ディスターブ）状態が生じ、閾値電圧が変動して記憶データが変化してしまうことをいう。特許文献２では、ワード線ディスターブの問題に対処するために、深い書き込みを要するメモリセルから順に書き込みを行う技術が開示されている。
【００１５】
１つのメモリセルに２つの電荷蓄積部が設けられた半導体不揮発性メモリにおいては、一の電荷蓄積部への書き込み動作によって、同一メモリセル中の他の電荷蓄積部（「ミラー側」と呼ぶこともある）の読み出し電流値が下がってしまう問題がある。
【００１６】
例えば、特許文献１の半導体不揮発性メモリにおいて、１つのメモリセル当たり２ビットのデータを記憶させる場合、すなわち１つの電荷蓄積部に“０”と“１”の２値のデータを記憶させる場合において、１つのメモリセルの２つの電荷蓄積部のうち、一方（例えばソース側）の電荷蓄積部に“０”を、他方（例えばドレイン側）の電荷蓄積部に“１”を記憶させるとする。ソース側に“０”を記憶させるには、ソース側の電荷蓄積部に対して書き込み動作を行い、電荷を蓄積させる必要がある。しかしながら、ソース側の電荷蓄積部に対して書き込み動作を行うと、ドレイン側の読み出し電流値が所望の読み出し電流値よりも低くなってしまうのである。これは、ドレイン側を読み出す動作をすると、ソース側の電荷蓄積部に蓄積された電荷が電流の流れを妨げてしまうことが主な原因であると考えられる。
【００１７】
なお、この問題点は、１つのメモリセルに２つの電荷蓄積部が設けられた半導体不揮発性メモリに限らず、１つのメモリセルに３つ以上の電荷蓄積部が設けられた半導体不揮発性メモリについても生じるものである。図２５は、多数のメモリセルの集合において、ミラー側の読み出し電流値が低下した状態を示したグラフである。図２４と同様に、読み出し電流値を横軸とし、その読み出し電流値をとるメモリセルの個数を縦軸としたグラフである。また、実線は、同一のメモリセルにおける一の電荷蓄積部への書き込みが行われる前の状態のデータの読み出し電流値の分布（電流値分布）であり、破線が、同一のメモリセルにおける一の電荷蓄積部への書き込みが行われた後のミラー側のデータ電流値の分布（電流値分布）である。このように、“１”の読み出し電流値が全体的に低下することにより、“０”と“１”の間の電流ウィンドウが狭くなってしまう。
【００１８】
一方、このようにミラー側の読み出し電流値が低下（図２５）することばかりではなく、図２６に示すように、電流値分布幅が広くなることでも、電流ウィンドウが狭くなる。即ち、ゲート電流が低いままだと、図２６（Ａ）にＡで示したように、十分書き込まれない（電荷が十分に蓄積されない）メモリセルがあることにより、電流値分布幅が広くなって電流ウィンドウが狭くなる。また、逆に、ゲート電流が高いままだと、図３０（Ｂ）にＢで示したように、書き込み過ぎ（電荷が蓄積し過ぎた）メモリセルがあることにより、電流値分布幅が広くなって電流ウィンドウが狭くなる。
【００１９】
この点、１つのメモリセル当たり２ビットのデータを記憶させる場合であれば、上述のベリファイ書き込みにより書き込みの精度を上げることで読み出し電流値分布幅を狭めることができ、これによりある程度の電流ウィンドウを確保することができる。
【００２０】
しかしながら、１つのメモリセルに２つの電荷蓄積部が設けられた半導体不揮発性メモリにおいて１つのメモリセル当たり４ビットのデータを記憶させる場合、各電荷蓄積部に２ビット（４値）のデータを書き込むことになる。例えば、図２７は、特許文献１に記載された半導体不揮発性メモリにおいて１つのメモリセル当たり４ビットのデータを記憶させる場合に、メモリセルの各電荷蓄積部が取るべき状態を概念的に示す図である。また、図２８は、多数のメモリセルの集合における理想的な読み出し電流値の分布を示すものであり、読み出し電流値を横軸とし、その読み出し電流値をとるメモリセルの個数を縦軸としたグラフである。このように、電流ウィンドウが１つのメモリセル当たり２ビットの場合よりも狭くなる。
【００２１】
このため、図２９に示すように、ミラー側の読み出し電流値が低下してしまうと、ベリファイ書き込みを行ったとしても電流ウィンドウを確保することが困難となる。例えば、一方の電荷蓄積部が初期状態である“１１”状態である場合の読み出し電流値に着目する。この場合、他方の電荷蓄積部も“１１”状態である場合は読み出し電流値の低下は起きないが、他方の電荷蓄積部に“００”データが書き込まれている場合は、一方の電荷蓄積部の読み出し電流値は低下してしまう。このため、“１０”と“１１”との間の電流ウィンドウが狭くなってしまう。このような現象が各データについて起きるため、十分な電流ウィンドウを確保することが困難となるのである。
【００２２】
なお、図２９において、実線は、同一のメモリセルにおける他方の電荷蓄積部への書き込みが行われる前の一方の電荷蓄積部のデータの読み出し電流値の分布であり、破線が、同一のメモリセルにおける他方の電荷蓄積部への書き込みが行われた後の一方の電荷蓄積部のデータ電流値の分布である。
【００２３】
一方、上記の電流値分布幅を狭くするため、特許文献３の技術では、メモリセルに書き込む順序を、より電荷を多く蓄積するメモリセルから順に書き込むようにしている。即ち、図３０（Ａ）に示すように、最初に、００を書き込む複数のメモリセル各々に同時に書き込みを複数回し、第２に、０１を書き込む複数のメモリセル各々に同時に書き込みを複数回し、最後に、１０を書き込む複数のメモリセル各々に同時に書き込みを複数回する。
【００２４】
この場合のゲート電圧及びドレイン電圧（ソース電圧も同様）は次のように変化させている。即ち、まず、図３０（Ｂ）に示すように、００を書き込む各メモリセルに書き込みをする際は、ゲート電圧を、９．０Ｖから始めて、書き込み回数が増えるに従って、徐々に増加し、１０．０Ｖになったときに一定としている。また、０１を書き込む各メモリセルに書き込みをする際は、ゲート電圧を、７．５Ｖから始めて、書き込み回数が増えるに従って、徐々に増加させ、更に、１０を書き込む各メモリセルに書き込みをする際は、ゲート電圧を、７．０Ｖから始めて、書き込み回数が増えるに従って、徐々に増加させるようにしている。
【００２５】
一方、ドレイン電圧は、図３０（Ｃ）に示すように、書き込み回数にかかわりなく常に一定（６．５Ｖ）としている。
【特許文献１】特開２００５−６４２９５号公報
【特許文献２】特開平１０−２７４８６号公報
【特許文献３】特開平２００８−８５１９６号公報
【非特許文献１】Ｂｏａｚ Ｅｉｔａｎほか１１名著、“４−ｂｉｔ ｐｅｒ Ｃｅｌｌ ＮＲＯＭ Ｒｅｌｉａｂｉｌｉｔｙ”、ＩＥＥＥ Ｉｎｔｅｒｎａｔｉｏｎａｌ Ｅｌｅｃｔｒｏｎ Ｄｅｖｉｃｅｓ Ｍｅｅｔｉｎｇ ２００５：ｉｅｄｍ Ｔｅｃｈｎｉｃａｌ Ｄｉｇｅｓｔ：Ｗａｓｈｉｎｇｔｏｎ，ＤＣ：Ｄｅｃｅｍｂｅｒ ５−７，２００５、米国、ＩＥＥＥ、２００５年、Ｓｅｓｓｉｏｎ ２２．１
【発明の概要】
【発明が解決しようとする課題】
【００２６】
しかし、上記特許文献３の技術では、ドレイン電圧（ソース電圧も同様）を、書き込み回数が増えるに従って、徐々に増加しているが、ドレイン電圧を一定としているため、図２１（Ａ）に示すように、書き込み過ぎてしますメモリセルが存在し、電流値分布幅Ｈ１が広くなり、電流ウィンドウが狭くなる。
【００２７】
本発明は、電流値分布幅をより狭くして電流ウィンドウをより広げることの可能な半導体不揮発性メモリ、半導体不揮発性メモリの電荷蓄積方法、及び電荷蓄積プログラムを提供することを目的とする。
【課題を解決するための手段】
【００２８】
上記目的を達成するために、請求項１記載の発明は、ソース領域、ドレイン領域、該ソース領域と該ドレイン領域との間にあるチャネル領域、該チャネル領域と該ソース領域との間にありかつ所定濃度の不純物を有して抵抗が可変な第１の抵抗変化領域、及び、該チャネル領域と該ドレイン領域との間にありかつ所定濃度の不純物を有して抵抗が可変な第２の抵抗変化領域を備えた基板と、前記基板上の前記ソース領域に対応する位置に配置されたソース電極と、前記基板上の前記ドレイン領域に対応する位置に配置されたドレイン電極と、前記基板上の前記チャネル領域に対応する位置に配置されたゲート電極と、前記チャネル領域に流れる電流の値を検出する電流検出手段と、前記基板上の前記第１の抵抗変化領域に対応する位置に配置されると共に、前記ソース電極及び前記ゲート電極に印加された電圧の印加状態（大きさ及び印加時間）に応じた量の電荷を蓄積する少なくとも１つの第１の電荷蓄積部と、前記基板上の前記第２の抵抗変化領域に対応する位置に配置されると共に、前記ドレイン電極及び前記ゲート電極に印加された電圧の印加状態（大きさ及び印加時間）に応じた量の電荷を蓄積する少なくとも１つの第２の電荷蓄積部と、を各々備えた複数のメモリ部と、前記ソース電極、前記ドレイン電極、及び前記ゲート電極に電圧を選択的に印加する印加手段と、前記複数のメモリ部各々の前記第１の電荷蓄積部及び前記第２の電荷蓄積部の少なくとも一方に蓄積される電荷の量が所定値となるまで、前記ゲート電極と、前記ソース電極及び前記ドレイン電極の少なくとも一方の電極と、に電圧を複数回印加すると共に、前記印加状態（該印加される電圧の大きさ及び電圧を１回当たりに印加する印加時間の少なくとも一方）を変化させて該回数が増えるに従って１回当たりの電荷の蓄積量が増加するように、前記印加手段を制御する制御手段と、を備えた半導体不揮発性メモリであって、前記制御手段は、前記電流検出手段により検出された電流の値に基づいて、前記チャネル領域に流れる電流の値が、前記第１の電荷蓄積部及び前記第２の電荷蓄積部の少なくとも一方に蓄積される電荷の量が所定値となった場合に前記チャネル領域に流れる電流の予め定められた目標値よりも大きい領域において、該電流の値が該目標値に近づいた場合に、１回当たりの電荷の蓄積量の増加割合が少なくとも１回減少するように、前記印加手段を制御することを特徴とする。
【００２９】
請求項２記載の発明の半導体不揮発性メモリは、請求項１記載の発明において、前記制御手段は、前記ゲート電極に印加される電圧の値が、前記回数が増えるに従って増加すると共に、前記ソース電極及び前記ドレイン電極の少なくとも一方の電極に印加される電圧の値が、前記チャネル領域に流れる電流の値に応じて段階的に小さくなるように、前記印加手段を制御することを特徴とする。
【００３０】
請求項３記載の発明の半導体不揮発性メモリは、請求項１記載の発明において、前記制御手段は、前記ゲート電極に印加される電圧の値が、前記チャネル領域に流れる電流の値に応じて段階的に小さくなると共に、前記ソース電極及び前記ドレイン電極の少なくとも一方の電極に印加される電圧の値が、前記回数が増えるに従って増加するように、前記印加手段を制御することを特徴とする。
【００３１】
請求項４記載の発明の半導体不揮発性メモリは、請求項１記載の発明において、前記制御手段は、前記ゲート電極と、前記ソース電極及び前記ドレイン電極の少なくとも一方の電極と、に印加される電圧が、前記回数が増えるに従って増加しかつ該増加する割合が前記チャネル領域に流れる電流の値に応じて段階的に小さくなるように、前記印加手段を制御することを特徴とする。
【００３２】
請求項５記載の発明の半導体不揮発性メモリは、請求項１〜４の何れか１項に記載の発明において、前記制御手段は、前記複数のメモリ部各々の前記第１の電荷蓄積部及び前記第２の電荷蓄積部の少なくとも一方に、大きさが各々異なる複数の電荷の何れかが選択的に蓄積されると共に、大きさが同じ電荷を蓄積する複数のメモリ部には同時に又は順に電圧が印加されるように、前記印加手段を制御することを特徴とする。
【００３３】
請求項６記載の発明の半導体不揮発性メモリは、請求項１〜４の何れか１項に記載のは発明において、前記制御手段は、前記複数のメモリ部各々を順に代えて、各メモリ部の前記第１の電荷蓄積部及び前記第２の電荷蓄積部の少なくとも一方に、大きさが各々異なる複数の電荷の何れかが選択的に蓄積されるように、前記印加手段を制御することを特徴とする。
【００３４】
請求項７記載の発明は、ソース領域、ドレイン領域、該ソース領域と該ドレイン領域との間にあるチャネル領域、該チャネル領域と該ソース領域との間にありかつ所定濃度の不純物を有して抵抗が可変な第１の抵抗変化領域、及び、該チャネル領域と該ドレイン領域との間にありかつ所定濃度の不純物を有して抵抗が可変な第２の抵抗変化領域を備えた基板と、前記基板上の前記ソース領域に対応する位置に配置されたソース電極と、前記基板上の前記ドレイン領域に対応する位置に配置されたドレイン電極と、前記基板上の前記チャネル領域に対応する位置に配置されたゲート電極と、前記チャネル領域に流れる電流の値を検出する電流検出手段と、前記基板上の前記第１の抵抗変化領域に対応する位置に配置されると共に、前記ソース電極及び前記ゲート電極に印加された電圧の印加状態（大きさ及び印加時間）に応じた量の電荷を蓄積する少なくとも１つの第１の電荷蓄積部と、前記基板上の前記第２の抵抗変化領域に対応する位置に配置されると共に、前記ドレイン電極及び前記ゲート電極に印加された電圧の印加状態（大きさ及び印加時間）に応じた量の電荷を蓄積する少なくとも１つの第２の電荷蓄積部と、を各々備えた複数のメモリ部と、前記ソース電極、前記ドレイン電極、及び前記ゲート電極に電圧を選択的に印加する印加手段と、前記複数のメモリ部各々の前記第１の電荷蓄積部及び前記第２の電荷蓄積部の少なくとも一方に蓄積される電荷の量が所定値となるまで、前記ゲート電極と、前記ソース電極及び前記ドレイン電極の少なくとも一方の電極と、に電圧を複数回印加すると共に、前記印加状態（該印加される電圧の大きさ及び電圧を１回当たりに印加する印加時間の少なくとも一方）を変化させて該回数が増えるに従って１回当たりの電荷の蓄積量が増加するように、前記印加手段を制御する制御手段と、を備えた半導体不揮発性メモリの電荷蓄積方法であって、前記制御手段が、前記電流検出手段により検出された電流の値に基づいて、前記チャネル領域に流れる電流の値が、前記第１の電荷蓄積部及び前記第２の電荷蓄積部の少なくとも一方に蓄積される電荷の量が所定値となった場合に前記チャネル領域に流れる電流の予め定められた目標値よりも大きい領域において、該電流の値が該目標値に近づいたか否か判断するステップと、前記制御手段が、前記電流の値が前記目標値に近づいたと判断された場合に、１回当たりの電荷の蓄積量の増加割合が減少するように、前記印加手段を制御するステップと、を備えたことを特徴とする。
【００３５】
請求項８記載の発明は、ソース領域、ドレイン領域、該ソース領域と該ドレイン領域との間にあるチャネル領域、該チャネル領域と該ソース領域との間にありかつ所定濃度の不純物を有して抵抗が可変な第１の抵抗変化領域、及び、該チャネル領域と該ドレイン領域との間にありかつ所定濃度の不純物を有して抵抗が可変な第２の抵抗変化領域を備えた基板と、前記基板上の前記ソース領域に対応する位置に配置されたソース電極と、前記基板上の前記ドレイン領域に対応する位置に配置されたドレイン電極と、前記基板上の前記チャネル領域に対応する位置に配置されたゲート電極と、前記チャネル領域に流れる電流の値を検出する電流検出手段と、前記基板上の前記第１の抵抗変化領域に対応する位置に配置されると共に、前記ソース電極及び前記ゲート電極に印加された電圧の印加状態に応じた量の電荷を蓄積する少なくとも１つの第１の電荷蓄積部と、前記基板上の前記第２の抵抗変化領域に対応する位置に配置されると共に、前記ドレイン電極及び前記ゲート電極に印加された電圧の印加状態に応じた量の電荷を蓄積する少なくとも１つの第２の電荷蓄積部と、を各々備えた複数のメモリ部と、前記ソース電極、前記ドレイン電極、及び前記ゲート電極に電圧を選択的に印加する印加手段と、前記複数のメモリ部各々の前記第１の電荷蓄積部及び前記第２の電荷蓄積部の少なくとも一方に蓄積される電荷の量が所定値となるまで、前記ゲート電極と、前記ソース電極及び前記ドレイン電極の少なくとも一方の電極と、に電圧を複数回印加すると共に、前記印加状態を変化させて該回数が増えるに従って１回当たりの電荷の蓄積量が増加するように、前記印加手段を制御する制御手段と、を備えた半導体不揮発性メモリにおいて、コンピュータに、前記制御手段が、前記電流検出手段により検出された電流の値に基づいて、前記チャネル領域に流れる電流の値が、前記第１の電荷蓄積部及び前記第２の電荷蓄積部の少なくとも一方に蓄積される電荷の量が所定値となった場合に前記チャネル領域に流れる電流の予め定められた目標値よりも大きい領域において、該電流の値が該目標値に近づいたか否か判断する手順と、前記制御手段が、前記電流の値が前記目標値に近づいたと判断された場合に、１回当たりの電荷の蓄積量の増加割合が減少するように、前記印加手段を制御する手順と、を実行させるための電荷蓄積プログラムである。
【発明の効果】
【００３６】
本発明によれば、チャネル領域に流れる電流の値が、電荷蓄積部に蓄積される電荷の量が所定値となった場合に該チャネル領域に流れる電流の予め定められた目標値よりも大きい領域において、該電流の値が該目標値に近づいた場合に、１回当たりの電荷の蓄積量の増加割合を少なくとも１回減少させているので、電流値分布幅をより狭くして電流ウィンドウをより広げることができる、という効果を奏する。
【図面の簡単な説明】
【００３７】
【図１】各実施形態に係るメモリセルの構造を示す断面図である。
【図２】各実施形態に係るメモリセルの等価回路を示す回路図である。
【図３】各実施形態に係る半導体不揮発性メモリの構成を示す図である。
【図４】第１の実施形態に係るデータ書き込みプログラムの処理の流れを示すフローチャートである。
【図５】図４のステップ３００Ｍの００データのデータ書き込みプログラムの処理の流れを示すフローチャートである。
【図６】図５のステップ３０３の上位２ビットデータのデータ書き込みプログラムの処理の流れを示すフローチャートである。
【図７】図５のステップ３０９の下位２ビットデータのデータ書き込みプログラムの処理の流れを示すフローチャートである。
【図８】図４のステップ４００Ｍの０１データのデータ書き込みプログラムの処理の流れを示すフローチャートである。
【図９】図８のステップ４０３の上位２ビットデータのデータ書き込みプログラムの処理の流れを示すフローチャートである。
【図１０】図８のステップ４０９の下位２ビットデータのデータ書き込みプログラムの処理の流れを示すフローチャートである。
【図１１】図４のステップ５００Ｍの１０データのデータ書き込みプログラムの処理の流れを示すフローチャートである。
【図１２】図１１のステップ５０３の上位２ビットデータのデータ書き込みプログラムの処理の流れを示すフローチャートである。
【図１３】図１１のステップ５０９の下位２ビットデータのデータ書き込みプログラムの処理の流れを示すフローチャートである。
【図１４】第１の実施の形態におけるデータ書き込みプログラムの処理の際に、ゲート電極、ソース電極、及びドレイン電極に印加される電圧の状態を示した図である。
【図１５】（Ａ）は、第１の実施の形態における複数のメモリセルの書き込みに順番を示した図であり、（Ｂ）は、ゲート電圧を、書き込み回数が増えるに従って、徐々に増加させることを示すグラフであり、（Ｃ）は、ドレイン電圧を、００データを書き込む場合には一定に、０１データ及び１０データを書き込む場合に、書き込み回数が増えるに従って、１段階減少させることを示すグラフである。
【図１６】第２の実施の形態における図８のステップ４０３の上位２ビットデータのデータ書き込みプログラムの処理の流れを示すフローチャートである。
【図１７】第２の実施の形態における図８のステップ４０９の下位２ビットデータのデータ書き込みプログラムの処理の流れを示すフローチャートである。
【図１８】第２の実施の形態における図１１のステップ５０３の上位２ビットデータのデータ書き込みプログラムの処理の流れを示すフローチャートである。
【図１９】第２の実施の形態における図１１のステップ５０９の下位２ビットデータのデータ書き込みプログラムの処理の流れを示すフローチャートである。
【図２０】（Ａ）は、第２の実施形態における複数のメモリセルの書き込みに順番を示した図であり、（Ｂ）は、ゲート電圧を、書き込み回数が増えるに従って、徐々に増加させることを示すグラフであり、（Ｃ）は、ドレイン電圧を、００データを書き込む場合には一定に、０１データ及び１０データを書き込む場合に、書き込み回数が増えるに従って、２段階に減少させることを示すグラフである。
【図２１】（Ａ）は、従来技術（特許文献３）における各データの電流値分布幅を示したグラフあり、（Ｂ）は、第１の実施の形態における各データの電流値分布幅を示したグラフあり、（Ｃ）は、第２の実施の形態における各データの電流値分布幅を示したグラフある。
【図２２】変形例における、書き込み回数が増加するに従ってゲート電圧及びドレイン電圧が増加する様子を示したグラフである
【図２３】特許文献１に記載されたメモリセルに、２ビットのデータを記憶させる場合の各電荷蓄積部の状態を概念的に示す図である。
【図２４】特許文献１に記載されたメモリセルの集合において、読み出し電流値の分布を示すグラフである。
【図２５】特許文献１に記載されたメモリセルの集合において、ミラー側の読み出し電流値が低下した状態を示す、読み出し電流値の分布を示すグラフである。
【図２６】（Ａ）は、十分に書き込まれないメモリセルがあることにより、電流値分布が広くなって電流ウィンドウが狭くなった様子を示す図であり、（Ｂ）は、書き込み過ぎたメモリセルがあることにより、電流値分布が広くなって電流ウィンドウが狭くなった様子を示す図である。
【図２７】特許文献１に記載されたメモリセルに４ビットのデータを記憶させる場合の各電荷蓄積部の状態を概念的に示す図である。
【図２８】特許文献１に記載されたメモリセルに４ビットのデータを記憶させる場合に、メモリセルの集合における読み出し電流値の分布を示すグラフである。
【図２９】特許文献１に記載されたメモリセルに４ビットのデータを記憶させようとする場合に、ミラー側の読み出し電流値が低下した状態を示す、メモリセルの集合における読み出し電流値の分布を示すグラフである。
【図３０】（Ａ）は、特許文献３における技術での複数のメモリセルの書き込みに順番を示した図であり、（Ｂ）は、ゲート電圧を、書き込み回数が増えるに従って、徐々に増加させることを示すグラフであり、（Ｃ）は、ドレイン電圧は、書き込み回数にかかわりなく常に一定としていることを示すグラフである。
【発明を実施するための形態】
【００３８】
以下、本発明の好ましい実施の形態について図面を参照しながら詳細に説明する。なお、各図はこの発明が理解できる程度に各構成要素の形状、大きさ及び配置関係を概略的に示してあるに過ぎない。従って、この発明は図示例に限定されるものではない。
【００３９】
（第１実施形態）
（メモリセルの構造）
図１は、この実施の形態の半導体不揮発性メモリを構成する、メモリセル１０（メモリ部）の主要部を示す概略断面図である。この実施の形態では、メモリセル１０をｎＭＯＳＦＥＴ（ｎ−ｔｙｐｅ Ｍｅｔａｌ Ｏｘｉｄｅ Ｓｅｍｉｃｏｎｄｕｃｔｏｒ Ｆｉｅｌｄ Ｅｆｆｅｃｔ Ｔｒａｎｓｉｔｏｒ）とした場合を例に挙げて説明する。
【００４０】
図１に示すように、メモリセル１０は、ｐ型半導体基板としてのシリコン基板１２（基板）の表面領域側に、ｐウェル領域１４が形成されている。このｐウェル領域１４の表面領域には、ｎ型不純物を高濃度（ｎ+型）に含有するソース領域１６及びドレイン領域１８が所定距離離間して設けられている。なお、ソース領域１６及びドレイン領域１８には、それぞれコンタクト層を介して金属電極層が設けられている。これらコンタクト層及び金属電極層は、ソース電極及びドレイン電極をそれぞれ構成する。以下の説明においては、ソース領域及びドレイン領域と称するが、これらは、ソース電極及びドレイン電極とそれぞれ等価である。
【００４１】
ソース領域１６及びドレイン領域１８に挟まれる、ｐウェル領域１４上の部分領域には、第１絶縁膜としてのゲート絶縁膜２２を介して、制御電極であるゲート電極２４が形成されている。ソース領域１６及びドレイン領域１８に挟まれた、ｐウェル領域１４の表面領域部分が、ｎＭＯＳＦＥＴの動作時にソース・ドレイン領域間のチャネル（電流路）が形成されるチャネル形成領域２０（チャネル領域）となる。ここでのゲート酸化膜は、シリコン酸化膜（ＳｉＯ2）であり、ゲート電極２４は、ポリシリコン（多結晶シリコン）である。なお、上述した、ｎＭＯＳＦＥＴの構造については従来公知であるので、その詳細な説明をここでは省略する。
【００４２】
この実施の形態では、ソース領域１６とチャネル形成領域２０との間に、当該ソース領域１６に接して第１抵抗変化部２６が設けられている。また、ドレイン領域１８とチャネル形成領域２０との間に、ドレイン領域１８に接して第２抵抗変化部２８が設けられている。
【００４３】
第１及び第２抵抗変化部（２６、２８）は、それぞれ対応するソース領域１６やドレイン領域１８よりもｎ型の不純物濃度が低い（ｎ-型）領域とする。後述する第１及び第２電荷蓄積部（３０、３２）へ電荷を選択的に注入するために、これら第１及び第２抵抗変化部（２６、２８）周辺に電界を集中させるためである。その結果、ホットキャリアの発生を抵抗変化部に集中させることができる。なお、抵抗変化部の濃度及び領域の広さ（幅や深さ）は、目的や設計に応じて任意好適に設定することができる。また、これら抵抗変化部（２６、２８）の構造は、いわゆるＬＤＤ（Ｌｉｇｈｔｌｙ Ｄｏｐｅｄ Ｄｒａｉｎ）と実質的に同様な構造である。
【００４４】
さらに、この実施の形態では、第１抵抗変化部２６上に第１電荷蓄積部３０が設けられており、及び第２抵抗変化部２８上に第２電荷蓄積部３２が設けられている。ここでの第１及び第２電荷蓄積部（３０、３２）は、ＯＮＯ（Ｏｘｉｄｅ Ｎｉｔｒｉｄｅ Ｏｘｉｄｅ）積層絶縁膜である。このＯＮＯ積層絶縁膜は、第１及び第２抵抗変化部（２６、２８）上に、シリコン酸化膜（第１酸化膜）３０１、シリコン窒化膜（ＳｉＮ）３０３、及びシリコン酸化膜（第２酸化膜）３０５が順次積層された構造であり、安定した電荷蓄積機能を有する。
【００４５】
上述した第１及び第２抵抗変化部（２６、２８）から注入されたホットキャリアは、このＯＮＯ積層絶縁膜のうち、主としてシリコン窒化膜３０３で蓄積される。なお、電荷蓄積部は、構成されるメモリの目的や設計に応じて任意好適に選択可能であり、例えば、シリコン酸化膜等の第１及び第２酸化膜の間に、シリコン窒化膜、酸化アルミニウム膜（Ａｌ2Ｏ3）及び酸化ハフニウム膜（ＨｆＯx）の絶縁膜群のうちから選ばれた一種又は二種以上の絶縁膜が挟まれた構造等を任意好適に選択することができる。
【００４６】
この構成例では、第１及び第２電荷蓄積部（３０、３２）が、第１及び第２抵抗変化部（２６、２８）上からそれぞれゲート電極２４の側壁上にわたって形成されているため、注入された電荷の蓄積・保持が確実になされる。また、抵抗変化部及び電荷蓄積部は、ソース領域１６及びドレイン領域１８側の双方にそれぞれ設けてあることにより、第１及び第２電荷蓄積部（３０、３２）のそれぞれに個別にデータの書き込みが可能である。
【００４７】
さらに、第１及び第２電荷蓄積部（３０、３２）が、ゲート電極２４の両側面の外側に物理的に連続せずに形成されているため、微細化が進みゲート長が短くなったとしても、第１及び第２電荷蓄積部（３０、３２）それぞれに対して別個独立に電荷を蓄積・保持することができる。上述した構成を有するメモリセル１０の等価回路図を図２に示す。図２に示すように、メモリセル１０が具えるｎＭＯＳＦＥＴを構成する、ソース領域（Ｓ）及びドレイン領域（Ｄ）側の双方に、第１可変抵抗器４０及び第２可変抵抗器５０がそれぞれ接続された回路である。
（データの書き込み・読み出し・消去動作）
続いて、表１を参照して、メモリセル１０へのデータの書き込み、データの読み出し、及びデータの消去を行う際の動作の概略を説明する。以下では、一例としてメモリセル１０のドレイン領域１８側に対して、データの書き込み、読み出し及び消去を行う場合につき説明する。
【００４８】
一方、ソース領域１６側に対して同様の動作を行う場合には、ソース領域及びドレイン領域間の電圧を入れ替えて、同様の動作を行うことができるので、その説明を省略する。
【００４９】
【表１】
2010225201.tif 000003
【００５０】
＜データの書き込み方法＞
メモリセル１０へのデータの書き込み動作を、例えば、以下の方法で行う。ここでは初期状態を、電荷蓄積部に電荷が蓄積されていない状態（ここでは、論理値“１１”に相当）とし、ドレイン領域１８側に、論理値“１１”以外のデータ、すなわち、論理値“００”、“０１”、“１０”（この順に蓄積する電荷量が多くなる）のいずれかのデータを書き込む場合につき説明する。ドレイン領域１８側にデータを書き込む場合、ドレイン領域１８に正電圧（＋Ｖｄｗ）を印加し、ゲート電極２４に正電圧（＋Ｖｇｗ）を印加し、ソース領域１６を接地電圧とする。
【００５１】
こうした条件によって、ドレイン領域１８よりもｎ型不純物濃度の低い第２抵抗変化部２８周辺に電界が集中する。よって、第２抵抗変化部２８で、衝突電離によるホットキャリアであるホットエレクトロン（高エネルギー電子とも称する。）の発生が効率的に集中する。
【００５２】
その結果、このホットエレクトロンが、第２抵抗変化部２８からシリコン酸化膜３０１のエネルギー障壁を越えて、第２電荷蓄積部３２に選択的に注入されることにより、データの書き込みを行うことができる。この電圧値＋Ｖｄｗは、ホットエレクトロンを発生させるのに十分な電圧とし、目的や設計に応じて異なる。また、電圧値＋Ｖｇｗは、チャネル形成領域２０に充分なキャリアを形成させ、かつ、ドレイン領域１８近傍で発生したホットエレクトロンを第２電荷蓄積部３２に注入させるのに十分な電圧とし、目的や設計に応じて異なる。さらに、この電圧値＋Ｖｇｗは、書き込むデータの論理値が小さい場合、すなわち読み出し電流値が小さい場合ほど高い電圧とする必要がある。
＜データの読み出し方法＞
続いて、ドレイン領域１８側のデータの読み出し動作を、以下の方法で行う。
ドレイン領域１８側のデータを読み出す場合、ソース領域１６に正電圧（＋Ｖｓｒ）を印加し、ゲート電極２４に正電圧（＋Ｖｇｒ）を印加し、ドレイン領域１８に０または正電圧（＋Ｖｄｒ）を印加とする。
【００５３】
ドレイン領域１８側は、第２電荷蓄積部３２に電荷（ここでは、電子）が蓄積されている場合、蓄積されている電荷量が多いほど、第２抵抗変化部２８の抵抗が上昇する。その結果、チャネル形成領域２０にキャリアが供給されにくい状態となり、チャネル形成領域２０を流れる電流値が減少する。
【００５４】
一方、ドレイン領域１８側が、初期状態である論理値“１１”のままである場合は、第２電荷蓄積部３２に電荷が蓄積されていないため、第２抵抗変化部２８の抵抗は変動しない。その結果、チャネル形成領域２０にキャリアが供給され、チャネル形成領域２０に十分な電流が流れる。
【００５５】
すなわち、ｎＭＯＳＦＥＴを流れる電流値（読み出し電流値）の違いを利用して、ドレイン領域１８側に論理値“００”、“０１”、“１０”、“１１”のいずれのデータが書き込まれているかを判別することができる。
＜情報の記録（消去）方法＞
続いて、ドレイン領域１８側のデータの消去を、以下の方法で行う。
【００５６】
（ａ）メモリセル１０を、例えば、ＯＴＰＲＯＭ（Ｏｎｅ Ｔｉｍｅ Ｐｒｏｇｒａｍｍａｂｌｅ Ｒｅａｄ Ｏｎｌｙ Ｍｅｍｏｒｙ）として用いる場合には、上述した書き込み動作までで終了であるが、良品確認テストの際に書き込んだ情報を消去する必要がある。
【００５７】
この場合には、論理値“００”、“０１”又は“１０”が書き込まれている、ドレイン領域１８側の第２電荷蓄積部３２に対して、当該第２電荷蓄積部３２に蓄積されている電荷の中和を目的とする、紫外線の照射や加熱処理（高温雰囲気下での放置を含む。）等を行えば良い。このような方法によれば、電気的消去を行うための回路の別途搭載が不要なため、安価なメモリ構成を実現できる。
【００５８】
（ｂ）一方、例えば、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ Ｅｒａｓａｂｌｅ ａｎｄ Ｐｒｏｇｒａｍｍａｂｌｅ ＲＯＭ）のように、情報を電気的に消去可能な構成とすることも可能である。この場合には、第２電荷蓄積部３２に電荷が蓄積されて帯電している場合（ここでは、論理値“００”、“０１”又は“１０”が書き込まれている場合）には、ドレイン領域１８に正電圧（＋Ｖｄｅ）を印加し、ゲート電極２４に０または負電圧（−Ｖｇｅ）を印加し、ソース領域１６に正電圧（＋Ｖｓｅ）を印加する。
【００５９】
こうした条件によって、ドレイン領域１８周辺で発生したホットホールが、第２電荷蓄積部３２に注入される。その結果、第２電荷蓄積部３２に蓄積されている電荷（ここでは電子）が中和されることにより、データの消去を行うことができる。なお、このときの＋Ｖｄｅは、ドレイン領域１８近傍で、ホットホールを発生させるのに充分な電圧とし、約２Ｖ以上、好ましくは、約４〜１０Ｖ程度とするのが良い。また、−Ｖｇｅは、ホットホールを効率的に第２電荷蓄積部３２周辺に集めるために印加する電圧であり、約−７〜０Ｖ程度とするのが良い。
【００６０】
（半導体不揮発性メモリの構成）
続いて、図３を参照して、本実施形態に係る半導体不揮発性メモリ１００の構成について以下に説明する。
【００６１】
図３に示すように、半導体不揮発性メモリ１００は、メモリセル１０が複数設けられたメモリセルアレイ１０２を備えている。すなわち、メモリセルアレイ１０２には、第１方向（行方向）に設けられた複数のワード線ＷＬと、第１方向と直交する第２方向（列方向）に複数のビット線ＢＬが交差して配置されており、各ワード線ＷＬと各ビット線ＢＬの交差部にそれぞれメモリセル１０が設けられている。
【００６２】
各メモリセル１０のゲート電極２４は、ワード線ＷＬに接続されている。また、各メモリセル１０のソース領域１６及びドレイン領域１８は、それぞれビット線ＢＬに接続されている。
【００６３】
各ワード線ＷＬは、ロウデコーダ１０４に接続されており、各ビット線ＢＬは、カラムデコーダ１０６に接続されている。このロウデコーダ１０４及びカラムデコーダ１０６は各々、コントローラ１０８（制御手段）に接続されている。なお、ロウデコーダ１０４及びカラムデコーダ１０６は印加手段を構成する。
【００６４】
コントローラ１０８には、メモリセルアレイ１０２へのデータの書き込み及び読み出し動作を制御する演算部１０８Ａと、データを一時的に記憶する一時記憶部１０８Ｂと、後述するデータ書き込みプログラム等の各種プログラムを記憶する不揮発性記憶部１０８Ｃと、が設けられている。コントローラ１０８は、外部よりデータが入力されると、データ書き込みプログラムを実行して、ロウデコーダ１０４に対して、記憶対象とする２ビットのデータ、当該データの記憶先となるメモリセル１０に接続されたワード線ＷＬの行番号を示すロウアドレス、及びワード線ＷＬへ印加する電圧に関する指示情報を出力し、また、カラムデコーダ１０６に対して、データの記憶先となるメモリセル１０に接続された２つのビット線ＢＬの列番号を示すカラムアドレス、及び当該２つのビット線ＢＬへ印加する電圧に関する指示情報を出力する。
【００６５】
ロウデコーダ１０４は、入力した２ビットのデータ、ロウアドレス、及び指示情報に応じてワード線ＷＬへの電圧の印加を制御する。カラムデコーダ１０６は、入力したカラムアドレス及び指示情報に応じてビット線ＢＬへの電圧の印加を制御する。
【００６６】
なお、本実施の形態では、各メモリセル１０には、ソース・ドレイン領域間のチャネル形成領域（電流路）に流れる電流を検出する電流検出器６０を備え、検出値は、コントローラ１０８に入力される。
（半導体不揮発性メモリの動作）
続いて、本実施形態の半導体不揮発性メモリ１００の動作を説明する。
【００６７】
コントローラ１０８は、外部よりメモリセルアレイ１０２の各メモリセル１０に対して記憶させるデータ（本実施形態では、4ビット構成のデータ）及び記憶先のメモリセル１０を指定するアドレスデータが入力されると、当該データ及びアドレスデータを一時記憶部１０８Ｂに一旦記憶し、不揮発性記憶部１０８Ｃに記憶されているデータ書き込みプログラムを実行する。
【００６８】
データ書き込みプログラムは、各メモリセル１０の各電荷蓄積部（３０、３２）に順次書き込み・読み出しを行い、所望の読み出し電流値以下になるまで各電荷蓄積部（３０、３２）につき複数回の書き込み・読み出しを繰り返す。
【００６９】
図４は、コントローラ１０８によって実行されるデータ書き込みプログラムの処理の流れを示すフローチャートである。データ書き込みプログラムの具体的な処理の流れを、図４を用いて以下説明する。
【００７０】
図４のステップ３００Ｍで、蓄積する電荷が最も多い００データを書き込む処理を実行し、ステップ４００Ｍで、次に蓄積する電荷が多い０１データを書き込む処理を実行し、ステップ５００Ｍで、蓄積する電荷が最も少ない１０データを書き込む処理を実行する。即ち、図１５（Ａ）に示すように、００データを書き込む複数のメモリセル各々に順に書き込み、０１データを書き込む複数のメモリセル各々に順に書き込み。１０データを書き込む複数のメモリセル各々に順に書き込みを行なう。なお、以上の処理で電荷が蓄積されないメモリセルの電荷蓄積部は、１１データがあるとされる。
【００７１】
次に、図５を参照して、図４のステップ３００Ｍの００データを書き込む処理を詳細に説明する。
【００７２】
ステップ３００ａで、本処理で使用する、それぞれ上位ビット側及び下位ビット側の書き込み回数を示す変数ｎｃ、ｍｃを０にリセットし、ステップ３００ｂで、各メモリセルを識別する変数ｃを０にリセットし、ステップ３００ｃで、変数ｃを１インクリメントする。
【００７３】
ステップ３００ｄで、変数ｃで識別されるメモリセルに対して記憶させる４ビットのデータを一時記憶部１０８Ｂから読み出し、読み出した４ビットデータを上位２ビットと下位２ビットのデータに分割する。なお、上位ビットとは、第１の電荷蓄積部３０側を指し、下位ビットとは、第２の電荷蓄積部３２側を指す。即ち、上位ビットのデータの書き込みとは、第１の電荷蓄積部３０に電荷を蓄積することを指し、下位ビットのデータ書き込みとは、第２の電荷蓄積部３２に電荷を蓄積することを指す。
【００７４】
次のステップ３０１では、変数ｃで識別されるメモリセルの上位２ビットのデータが所望のアドレスのメモリセル１０において記憶が完了しているかどうかを判断すべく、一時記憶部１０８Ｂから、記憶対象となる上位２ビットのデータに関する記憶完了フラグを読み出す。記憶完了フラグが１（記憶未完了）である場合はステップ３０２へ移行し、記憶完了フラグが０（記憶完了）である場合はステップ３０７へ移行する。なお、記憶完了フラグの初期値は１（記憶未完了）である（本実施形態について、以下同様）。
【００７５】
次のステップ３０２では、記憶対象となる上位２ビットのデータが、“００”データであるか、“００”データ以外のデータ（“０１”、“１０”、“１１”）であるかどうかを判定する。記憶対象となる上位２ビットのデータが“００”データ以外のデータである場合は、この段階では書き込みの必要がないため、このままステップ３０７へ移行する。他方、記憶対象となる上位２ビットのデータが、“００”データである場合は、ステップ３０３へ移行する。
【００７６】
次のステップ３０３では、上位２ビットのデータ（ここでは“００”データ）を書き込む処理を実行する。即ち、ロウデコーダ１０４に対して、上位２ビットのデータ（ここでは“００”データ）、変数ｃで識別されるメモリセル１０の行番号を示すロウアドレス、及びワード線ＷＬへ印加する電圧に関する指示情報を出力すると共に、カラムデコーダ１０６に対して、データの記憶先となる当該メモリセル１０の列番号を示すカラムアドレス、及びソース領域１６に接続されたビット線ＢＬへの電圧の供給を指示する指示情報を出力する。なお、具体的内容については後述する。
【００７７】
次のステップ３０４では、ロウデコーダ１０４に対して、ステップ３０３で書き込みを行ったデータの記憶先であるメモリセル１０の行番号を示すロウアドレス、及びワード線ＷＬへ印加する電圧に関する指示情報を出力すると共に、カラムデコーダ１０６に対して、ステップ３０３で書き込みを行ったデータの記憶先であるメモリセル１０の列番号を示すカラムアドレス、及びソース領域１６に接続されたビット線ＢＬに０または正電圧の供給を指示する指示情報を出力する。
【００７８】
ロウデコーダ１０４は、ロウアドレスにより指定された行番号のワード線ＷＬに後述する正電圧（＋Ｖｇｒ）を印加する。
【００７９】
カラムデコーダ１０６は、カラムアドレスにより指定された列番号のドレイン領域１８に接続されたビット線ＢＬに０または正電圧（＋Ｖｄｒ）を印加すると共に、ソース領域１６に接続されたビット線ＢＬに後述する正電圧（＋Ｖｓｒ）を印加する。
【００８０】
これにより、指定されたメモリセル１０のドレイン領域１８が接地電圧となるか正電圧（＋Ｖｄｒ）が印加され、ゲート電極２４に正電圧（＋Ｖｇｒ）が印加され、ソース領域１８に正電圧（＋Ｖｓｒ）が印加されるため、当該メモリセル１０のドレイン領域１８とソース領域１６との間に電流が流れる。これを電流検出器６０で読み出す。
【００８１】
次のステップ３０６では、この読み出し電流値が、ステップ３０３で書き込み対象となっていたデータ（ここでは“００”データ）に応じた所定のベリファイ電流値（例えば、１０．０μＡ）以下であるかどうかを比較し、読み出し電流値がベリファイ電流値以下である場合はこの電荷蓄積部へのデータの記憶が完了したと判断し、このデータのアドレス情報と共に記憶完了フラグとして０（記憶完了）を一時記憶部１０８Ｂに記憶させる。他方、読み出し電流値がベリファイ電流値より大きい場合は、この電荷蓄積部へのデータの記憶が完了していないと判断し、このデータのアドレス情報と共に記憶完了フラグとして１（記憶未完了）を一時記憶部１０８Ｂに記憶させる。
【００８２】
次のステップ３０７では、記憶対象となる変数ｃで識別されるメモリセル下位２ビットのデータが所望のアドレスのメモリセル１０において記憶が完了しているかどうかを判断すべく、一時記憶部１０８Ｂから、記憶対象となる下位２ビットのデータに関する記憶完了フラグを読み出す。記憶完了フラグが１（記憶未完了）である場合はステップ３０８へ移行し、記憶完了フラグが０（記憶完了）である場合はステップ３１４へ移行する。
【００８３】
次のステップ３０８では、記憶対象となる下位２ビットのデータが、“００”データであるか、“００”データ以外のデータ（“０１”、“１０”、“１１”）であるかどうかを判定する。記憶対象となる下位２ビットのデータが“００”データ以外のデータである場合は、この段階では書き込みの必要がないため、このままステップ３１４へ移行する。他方、記憶対象となる下位２ビットのデータが、“００”データである場合は、ステップ３０９へ移行する。
【００８４】
次のステップ３０９では、下位ビットのデータを書き込む。即ち、ロウデコーダ１０４に対して、下位２ビットのデータ（ここでは“００”データ）、データの記憶先となるメモリセル１０の行番号を示すロウアドレス、及びワード線ＷＬへ印加する電圧に関する指示情報を出力すると共に、カラムデコーダ１０６に対して、データの記憶先となるメモリセル１０の列番号を示すカラムアドレス、及びソース領域１６に接続されたビット線ＢＬの接地を指示する指示情報を出力する。なお、詳細には後述する。
【００８５】
次のステップ３１０では、ロウデコーダ１０４に対して、ステップ３０９で書き込みを行ったデータの記憶先であるメモリセル１０の行番号を示すロウアドレス、及びワード線ＷＬへ印加する電圧に関する指示情報を出力すると共に、カラムデコーダ１０６に対して、ステップ３０９で書き込みを行ったデータの記憶先であるメモリセル１０の列番号を示すカラムアドレス、及びソース領域１６に接続されたビット線ＢＬへの電圧の供給を指示する指示情報を出力する。
【００８６】
ロウデコーダ１０４は、ロウアドレスにより指定された行番号のワード線ＷＬに正電圧（＋Ｖｇｒ）を印加する。
【００８７】
カラムデコーダ１０６は、カラムアドレスにより指定された列番号のドレイン領域１８に接続されたビット線ＢＬに正電圧（＋Ｖｄｒ）を印加と共に、ソース線ＳＬに０または正電圧（＋Ｖｓｒ）を印加する。
【００８８】
これにより、指定されたメモリセル１０のソース領域１６が正電圧（＋Ｖｓｒ）となり、ゲート電極２４に正電圧（＋Ｖｇｒ）が印加され、ドレイン領域１８が接地電圧または正電圧（＋Ｖｄｒ）となるため、当該メモリセル１０のソース領域１６とドレイン領域１８との間に電流が流れる。これを電流検出器６０で読み出す。
【００８９】
次のステップ３１２では、この読み出し電流値が、ステップ３０９で書き込み対象となっていたデータに応じた所定のベリファイ電流値以下であるかどうかを比較し、読み出し電流値がベリファイ電流値（上記と同様に１０．０μＡ）以下である場合はこの電荷蓄積部へのデータの記憶が完了したと判断し、このデータのアドレス情報と共に記憶完了フラグとして０（記憶完了）を一時記憶部１０８Ｂに記憶させる。他方、読み出し電流値がベリファイ電流値より大きい場合は、この電荷蓄積部へのデータの記憶が完了していないと判断し、このデータのアドレス情報と共に記憶完了フラグとして１（記憶未完了）を一時記憶部１０８Ｂに記憶させる。
【００９０】
次のステップ３１４では、変数ｃがメモリセルの総数になったか、即ち、最後のメモリセルか否かを判定し、最後のメモリセルでない場合は、未だ、００データを書き込んでいないメモリセルがあり得るので、ステップ３００ｃに戻り、以上の処理（ステップ３００ｃ〜３１４）を繰り返す。一方、最後のメモリセルである場合はステップ３１６へ移行する。
【００９１】
次のステップ３１６では、メモリセルアレイ１０２への記憶対象となるすべてのデータのうち、すべての“００”データについての記憶完了フラグがすべて０（記憶完了）であるかどうかを判定し、一つでも１（記憶未完了）がある場合はステップ３００ｂに戻り、以上の処理（ステップ３００ｂ〜３１６）を繰り返す。一方、すべて０である場合はステップ４００Ｍへ移行する。
【００９２】
次に、図６を参照して、図５のステップ３０３の上位ビットデータ（第１の電荷蓄積部３０）の書き込みの処理を詳細に説明する。
【００９３】
ステップ３０３ａで、変数ｃで識別されるメモリセルの上位ビットについての書き込み回数をカウントするためのカウント値ｎｃを１インクリメントする。ステップ３０３ｂで、変数ｃで識別されるメモリセルについての書き込み回数のカウント値ｎｃに対応するゲート電圧値Ｖ１ｇｗｎｃを読み出す。
【００９４】
ここで、ゲート電圧値Ｖ１ｇｗｎｃについて説明する。図１５（Ｂ）の左側にあるように、本実施の形態では、ゲート電圧値Ｖ１ｇｗｎｃは、最初に、９．０Ｖから始め、書き込む回数が増えるに従って、０．２Ｖずつ増加させ、１０．０Ｖになった場合には、１０．０Ｖで一定にする。従って、本実施の形態では、図１５（Ｂ）の左側の関係をマップとして記憶している。
【００９５】
そこで、本ステップ３０３ｂで、変数ｃで識別されるメモリセルについての書き込み回数のカウント値ｎｃに対応するゲート電圧値Ｖ１ｇｗｎｃを、上記マップ（図１５（Ｂ）の左側）から読み出す。
【００９６】
一方、本実施の形態では、図１５（Ｃ）の左側にあるように、ドレイン電圧は、上記書き込み回数が増加しても６．５で一定としている。なお、ソース電圧Ｖ１ｓｗについても同様である。
【００９７】
そこで、ステップ３０３ｃで、図１４（Ａ）に示すように、ソース電圧Ｖ１ｓｗをソース電極（１６）に、ステップ３０４ｄで、ゲート電圧値Ｖ１ｇｗｎｃをゲート電極２４に印加する。
【００９８】
即ち、ロウデコーダ１０４は、ロウアドレスにより指定された行番号のワード線ＷＬに上位２ビットのデータに応じたゲート電圧値Ｖ１ｇｗｎｃを所定の書き込み時間だけ印加する。カラムデコーダ１０６は、カラムアドレスにより指定された列番号のドレイン領域１８に接続されたビット線ＢＬを接地させると共に、ソース領域１６に接続されたビット線ＢＬにソース電圧Ｖ１ｓｗを所定の書き込み時間だけ印加する。これにより、当該メモリセル１０の第１電荷蓄積部３０に一定量の電荷が蓄積される。
【００９９】
次に、図７を参照して、図５のステップ３０９の下位ビットデータ（第２の電荷蓄積部３２）の書き込みの処理を詳細に説明する。
【０１００】
ステップ３０９ａで、変数ｃで識別されるメモリセルの下位ビットについての書き込み回数をカウントするためのカウント値ｍｃを１インクリメントする。ステップ３０９ｂで、変数ｃで識別されるメモリセルについての書き込み回数のカウント値ｍｃに対応するゲート電圧値Ｖ１ｇｗｍｃを読み出す。
【０１０１】
なお、ゲート電圧値Ｖ１ｇｗmｃは、上記ゲート電圧値Ｖ１ｇｗnｃと同様であるので、説明を省略する。一方、ドレイン電圧Ｖ１dwは、ソース電圧Ｖ１ｓｗと同様（図１５（Ｃ）の左側）である。
【０１０２】
そこで、ステップ３０９ｃで、図１４（Ｂ）に示すように、ドレイン電圧Ｖ１dwをドレイン電極（１８）に、ステップ３０９ｄで、ゲート電圧値Ｖ１ｇｗｍｃをゲート電極２４に印加する。
【０１０３】
次に、図８を参照して、図４のステップ４００Ｍの０１データを書き込む処理を詳細に説明する。
【０１０４】
ステップ４００ａで、本処理で使用するフラグＥ、Ｆ、Ｇ、Ｈ、及び変数ｎｃ、ｍｃを０にリセットし、ステップ４００ｂで、各メモリセルを識別する変数ｃを０にリセットし、ステップ４００ｃで、変数ｃを１インクリメントする。
【０１０５】
ステップ４００ｄで、変数ｃで識別されるメモリセルに対して記憶させる４ビットのデータを一時記憶部１０８Ｂから読み出し、読み出した４ビットデータを上位２ビットと下位２ビットのデータに分割する。
【０１０６】
次のステップ４０１では、変数ｃで識別されるメモリセルの上位２ビットのデータが所望のアドレスのメモリセル１０において記憶が完了しているかどうかを判断すべく、一時記憶部１０８Ｂから、記憶対象となる上位２ビットのデータに関する記憶完了フラグを読み出す。記憶完了フラグが１（記憶未完了）である場合はステップ４０２へ移行し、記憶完了フラグが０（記憶完了）である場合はステップ４０７へ移行する。
【０１０７】
次のステップ４０２では、記憶対象となる上位２ビットのデータが、０１データであるか否かを判定する。記憶対象となる上位２ビットのデータが０１データ以外のデータである場合は、この段階では書き込みの必要がないため、このままステップ４０７へ移行する。他方、記憶対象となる上位２ビットのデータが、０１データである場合は、ステップ４０３へ移行する。
【０１０８】
次のステップ４０３では、上位２ビットのデータ（ここでは０１データ）を書き込む処理を実行する。なお、具体的内容については後述する。
【０１０９】
次のステップ４０４では、当該メモリセル１０のドレイン領域１８とソース領域１６との間に流れる電流を電流検出器６０で読み出す。
【０１１０】
次のステップ４０６では、この読み出し電流値が、ステップ４０３で書き込み対象となっていたデータ（ここでは０１データ）に応じた所定のベリファイ電流値（例えば、１９．０μＡ）以下であるかどうかを比較し、読み出し電流値がベリファイ電流値以下である場合はこの電荷蓄積部へのデータの記憶が完了したと判断し、このデータのアドレス情報と共に記憶完了フラグとして０（記憶完了）を一時記憶部１０８Ｂに記憶させる。他方、読み出し電流値がベリファイ電流値より大きい場合は、この電荷蓄積部へのデータの記憶が完了していないと判断し、このデータのアドレス情報と共に記憶完了フラグとして１（記憶未完了）を一時記憶部１０８Ｂに記憶させる。
【０１１１】
次のステップ４０７では、記憶対象となる変数ｃで識別されるメモリセル下位２ビットのデータが所望のアドレスのメモリセル１０において記憶が完了しているかどうかを判断すべく、一時記憶部１０８Ｂから、記憶対象となる下位２ビットのデータに関する記憶完了フラグを読み出す。記憶完了フラグが１（記憶未完了）である場合はステップ４０８へ移行し、記憶完了フラグが０（記憶完了）である場合はステップ４１４へ移行する。
【０１１２】
次のステップ４０８では、記憶対象となる下位２ビットのデータが、０１データであるかどうかを判定する。記憶対象となる下位２ビットのデータが０１データ以外のデータである場合は、この段階では書き込みの必要がないため、このままステップ４１４へ移行する。他方、記憶対象となる下位２ビットのデータが、０１データである場合は、ステップ４０９へ移行する。
【０１１３】
次のステップ４０９では、下位ビットのデータを書き込む。なお、詳細には後述する。
【０１１４】
次のステップ４１０では、当該メモリセル１０のソース領域１６とドレイン領域１８との間に流れる電流を電流検出器６０で読み出す。
【０１１５】
次のステップ４１２では、この読み出し電流値が、ステップ４０９で書き込み対象となっていたデータに応じた所定のベリファイ電流値（上記と同様に１９．０μＡ）以下であるかどうかを比較し、読み出し電流値がベリファイ電流値以下である場合はこの電荷蓄積部へのデータの記憶が完了したと判断し、このデータのアドレス情報と共に記憶完了フラグとして０（記憶完了）を一時記憶部１０８Ｂに記憶させる。他方、読み出し電流値がベリファイ電流値より大きい場合は、この電荷蓄積部へのデータの記憶が完了していないと判断し、このデータのアドレス情報と共に記憶完了フラグとして１（記憶未完了）を一時記憶部１０８Ｂに記憶させる。
【０１１６】
次のステップ４１４では、変数ｃがメモリセルの総数になったか、即ち、最後のメモリセルか否かを判定し、最後のメモリセルでない場合はステップ４００ｃに戻り、以上の処理（ステップ４００ｃ〜３１４）を繰り返す。一方、最後のメモリセルである場合はステップ４１６へ移行する。
【０１１７】
次のステップ４１６では、メモリセルアレイ１０２への記憶対象となるすべてのデータのうち、すべての“００”データについての記憶完了フラグがすべて０（記憶完了）であるかどうかを判定し、一つでも１（記憶未完了）がある場合はステップ４００ｂに戻り、すべて０である場合はステップ５００Ｍへ移行する。
【０１１８】
次に、図９を参照して、図８のステップ４０３の上位ビットデータの書き込みの処理を詳細に説明する。
【０１１９】
ステップ６０２で、変数ｃで識別されるメモリセルの上位ビットについての書き込み回数をカウントするためのカウント値ｎｃを１インクリメントする。ステップ６０２で、変数ｃで識別されるメモリセルについての書き込み回数のカウント値ｎｃに対応するゲート電圧値Ｖ２ｇｗｎｃを読み出す。
【０１２０】
ここで、ゲート電圧値Ｖ２ｇｗｎｃについて説明する。図１５（Ｂ）の中央にあるように、本実施の形態では、ゲート電圧値Ｖ２ｇｗｎｃは、最初に、７．５Ｖから始め、書き込む回数が増えるに従って、０．１Ｖずつ増加させる。従って、本実施の形態では、図１５（Ｂ）の中央の関係をマップとして記憶している。
【０１２１】
そこで、本ステップ６０４で、変数ｃで識別されるメモリセルについての書き込み回数のカウント値ｎｃに対応するゲート電圧値Ｖ２ｇｗｎｃを、上記マップ（図１５）から読み出す。
【０１２２】
一方、本実施の形態では、図１５（Ｃ）の中央にあるように、ドレイン電圧（ソース電圧についても同様）は、最初の内は、上記書き込み回数が増加しても６．５Ｖで一定としているが、チャネル領域に流れる電流の値Ｉが、第１の電荷蓄積部３０に蓄積される電荷の量が０１データに対応する値となった場合に該チャネル領域に流れる電流の予め定められた目標値（ベリファイ電流値）Ｉ０１よりも大きい領域において、該電流の値Ｉが該目標値Ｉ０１に近づいた場合（Ｉ０１より所定量ｉ０１（例えば、３．０μＡ）大きい値となった場合）に、１回当たりの電荷の蓄積量の増加割合を１回減少させる。
【０１２３】
ここで、電荷の蓄積量は、ゲート電極及びソース領域に印加される電圧の印加状態に応じて変化する。例えば、印加される電圧の大きさ及び電圧の印加時間に応じて変化する。よって、１回当たりの電荷の蓄積量の増加割合を減少させるためには、印加される電圧の大きさ及び電圧の印加時間の少なくとも一方を小さくすればよい。
【０１２４】
そこで、本実施の形態では、図１５（Ｃ）の中央に示すように、ソース電圧を、６．５Ｖから所定値、例えば、１．０Ｖ下げて、５．５Ｖとする。
【０１２５】
以上の処理を実行するため、まず、ステップ６０６で、上記のように電流値Ｉを検出し、ステップ６０８で、電流値Ｉが目標値Ｉ０１に近づいた（Ｉ０１＋ｉ０１以下となった）か否かを判断する。
【０１２６】
電圧を印加し始めた段階では、第１の電荷蓄積部３０の電荷の蓄積量はそれほど多くなく、従って、チャネル流域に流れる電流は未だ大きいので、電流値Ｉが、Ｉ０１＋ｉ０１以下となったとは判断されない。即ち、ステップ６０８が否定判定され、ステップ６１０で、０（初期状態）であるときに０１データの書き込み処理で未だ上位ビットに書き込んでいないことを示すフラグＦが０であるか判断する。該判断が肯定された場合には、ステップ６１２で、フラグＦを１にセットし、ステップ６１４で、ソース電極（１６）に印加するソース電圧Ｖ２ｓｗとして、Ｖ２ｓｗ０（６．５Ｖ）をセットする。
【０１２７】
そして、図１４（Ｃ）に示すように、ステップ６３０で、ソース電極（１６）にソース電圧Ｖ２ｓｗを印加し、ゲート電極２４にゲート電圧値Ｖ２ｇｗｎｃを印加する。
【０１２８】
一方、２回目以降に当該変数ｃで識別されるメモリセル１０にデータを書き込む際には、電流値Ｉが、未だＩ０１＋ｉ０１以下と判断されない場合には、ステップ６１０の判断は否定され、ソース電圧Ｖ２ｓｗは、Ｖ２ｓｗ０（６．５Ｖ）のままである。
【０１２９】
上記書き込みを何回か行なっていくと、電流値Ｉが、Ｉ０１＋ｉ０１以下と判断されるようになるが、最初に、電流値Ｉが、Ｉ０１＋ｉ０１以下と判断された場合には、ステップ６１６（０（初期状態）のとき電流値ＩがＩ０１＋ｉ０１以下であると最初に判断されたことを示すフラグＥが０か否かを判断する）が肯定判定され、ステップ６１８で、フラグＥを１にセットして、ステップ６２０で、現在のソース電圧Ｖ２ｓｗ（Ｖ２ｓｗ０（６．５Ｖ））から所定値ｖｓｗ（上記のように例えば、１．０Ｖ）下げた値（５．５Ｖ）を、ソース電圧Ｖ２ｓｗにセットする。なお、以降は、ステップ６０８が肯定されてもステップ６１６が否定され、ステップ６２０がスキップされるので、ソース電圧Ｖ２ｓｗは、Ｖ２ｓｗ０−ｖｓｗのままに維持される（図１５（Ｃ）中央）。
【０１３０】
次に、図１０を参照して、図８のステップ４０９の下位ビットデータの書き込む処理を詳細に説明する。
【０１３１】
ステップ６５２で、変数ｃで識別されるメモリセルの下位ビットについての書き込み回数をカウントするためのカウント値ｍｃを１インクリメントする。ステップ６５２で、変数ｃで識別されるメモリセルについての書き込み回数のカウント値ｍｃに対応するゲート電圧値Ｖ２ｇｗｍｃ（上記ゲート電圧値Ｖ２ｇｗｎｃと同様）を読み出す。
【０１３２】
一方、下位２ビットデータ書き込み処理でも、ステップ６５６〜ステップ６９０において、上記上位２ビット書き込み処理（ステップ６０６〜６４０）と同様に、チャネル領域に流れる電流の値Ｉが、第２の電荷蓄積部３２に蓄積される電荷の量が０１データに対応する値となった場合に該チャネル領域に流れる電流の予め定められた目標値Ｉ０１よりも大きい領域において、該電流の値Ｉが該目標値Ｉ０１に近づいた場合（Ｉ０１より所定量ｉ０１大きい値となった場合）に、１回当たりの電荷の蓄積量の増加割合を１回減少させる。即ち、上記のように、１回当たりの電荷の蓄積量の増加割合を減少させるために、図１５（Ｃ）の中央に示すように、ドレイン電圧を、６．５Ｖから所定値、例えば、１．０Ｖ下げて、５．５Ｖとする。なお、ゲート電圧は、図１５（Ｂ）の中央に示すように、７．５Ｖから始まり、書き込み回数が増加するに従って、０．１Ｖ増加させる。
【０１３３】
そして、ステップ６８０、６９０で、上記のように決定されたゲート電圧Ｖ２gwmc、ドレイン電圧Ｖ２dwを、図１４（Ｄ）に示すように、ゲート電極２４、ソース電極（１６）に印加する。
【０１３４】
次に、図１１を参照して、図４のステップ５００Ｍの１０データを書き込む処理を詳細に説明する。
【０１３５】
本ステップ５００Ｍの１０データを書き込む処理（図１１）も、図８に示した０１データを書き込む処理と同様であるので、詳細な説明を省略するが、ステップ５０２では、上位２ビットデータは１０か否かを判断し、該判断が肯定された場合には、ステップ５０３で、上位２ビットデータ（１０データ）を書き込む。また、ステップ５０８で、下位２ビットデータは１０か否かを判断し、該判断が肯定された場合には、ステップ５０９で、下位２ビットデータ（１０データ）を書き込む。
【０１３６】
次に、図１２を参照して、図１１のステップ５０３の上位ビットデータの書き込みの処理を詳細に説明する。
【０１３７】
本ステップの上位ビットデータの書き込みの処理も、図９に示した上位ビットデータの書き込みの処理と同様であるので、詳細な説明を省略するが、本処理でも、チャネル領域に流れる電流の値Ｉが、第１の電荷蓄積部３０に蓄積される電荷の量が１０データに対応する値となった場合に該チャネル領域に流れる電流の予め定められた目標値Ｉ０２（例えば、２８．０μＡ）よりも大きい領域において、該電流の値Ｉが該目標値Ｉ０２に近づいた場合（Ｉ０２より所定量ｉ０２（例えば、３．０μＡ）大きい場合）に、１回当たりの電荷の蓄積量の増加割合を１回減少させる。即ち、上記のように、１回当たりの電荷の蓄積量の増加割合を減少させるために、図１５（Ｃ）の右側に示すように、ソース電圧を、６．０Ｖから所定値、例えば、１．０Ｖ下げて、５．０Ｖとする。なお、ゲート電圧は、図１５（Ｂ）の右側に示すように、７．０Ｖから始まり、書き込み回数が増加するに従って、０．１Ｖ増加させる。
【０１３８】
そして、ステップ７３０、７４０で、上記のように決定されたゲート電圧Ｖ３gwnc、ソース電圧Ｖ３swを、図１４（Ｅ）に示すように、ゲート電極２４、ソース電極（１６）に印加する。
【０１３９】
次に、図１３を参照して、図１１のステップ５０９の下位ビットデータの書き込む処理を詳細に説明する。
【０１４０】
本ステップの下位ビットデータの書き込みの処理も、図１０に示した下位ビットデータの書き込みの処理と同様であるので、詳細な説明を省略するが、本処理でも、チャネル領域に流れる電流の値Ｉが、第２の電荷蓄積部３２に蓄積される電荷の量が１０データに対応する値となった場合に該チャネル領域に流れる電流の予め定められた目標値Ｉ０２よりも大きい領域において、該電流の値Ｉが該目標値Ｉ０２に近づいた場合（Ｉ０２より所定量ｉ０２大きい値となった場合）に、１回当たりの電荷の蓄積量の増加割合を１回減少させる。即ち、上記のように、１回当たりの電荷の蓄積量の増加割合を減少させるために、図１５（Ｃ）の右側に示すように、ドレイン電圧を、６．０Ｖから所定値、例えば、１．０Ｖ下げて、５．０Ｖとする。なお、ゲート電圧は、図１５（Ｂ）の右側に示すように、７．０Ｖから始まり、書き込み回数が増加するに従って、０．１Ｖ増加させる。
【０１４１】
そして、ステップ７８０、７９０で、上記のように決定されたゲート電圧Ｖ３gwmc、ドレイン電圧Ｖ３dwを、図１４（Ｆ）に示すように、ゲート電極２４、ドレイン電極（１８）に印加する。
【０１４２】
以上説明したように本発明の第１の実施の形態では、チャネル領域に流れる電流の値が、第１及び第２の電荷蓄積部３０、３２に蓄積される電荷の量が所定のデータ（０１、１０）に対応する値となった場合に該チャネル領域に流れる電流の予め定められた目標値よりも大きい領域において、該電流の値が該目標値に近づいた場合に、ソース電圧、ドレイン電圧を下げることにより、１回当たりの電荷の蓄積量の増加割合を減少させている。よって、書き込む過ぎることを抑えることができ、各電荷蓄積部への電荷の蓄積量が目標値を超えることを抑えることができる。
【０１４３】
よって、図２１（Ｂ）に示すように、電流値分布幅Ｈ２を、上記従来の技術の電流値分布幅Ｈ１（図２１（Ａ））より狭くすることができ、電流ウィンドウをより広くすることができる。
【０１４４】
（第２実施形態）
次に、本発明の第２の実施の形態を説明する。本実施の形態の構成は上記第１の実施の形態の構成と同様であるので、その説明を省略する。また、本実施の形態の作用も上記第１の実施の形態の作用と同様の部分があるので、以下、異なる作用部分のみを説明する。
【０１４５】
即ち、上記第１の実施の形態と同様に、図４のステップ３００Ｍ〜５００Ｍを実行する。即ち、図２０（Ａ）に示すように、００データを書き込む複数のメモリセル各々に順に書き込み、０１データを書き込む複数のメモリセル各々に順に書き込み。１０データを書き込む複数のメモリセル各々に順に書き込みを行なう。
【０１４６】
また、本実施の形態でも、図５（図６、図７）に示した処理と同様の処理を実行する。また、本実施の形態でも、図４のステップ４００Ｍ及び５００Ｍとして、図８及び図１１に示した処理と略同様の処理を実行するが、本実施の形態では、第１の実施の形態とは、図８に示した処理のステップ４０３、４０９に対応する図９、図１０に示した処理に代えて、図１６、図１７に示す処理を実行し、図１１に示した処理のステップ５０３、５０９に対応する図１２、図１３に示した処理に代えて、図１８、図１９に示す処理を実行する。
【０１４７】
以下、図１６〜１９に示す処理の内容を説明する。
【０１４８】
まず、図８に示した処理のステップ４０３（０１データの書き込み処理における上位２ビットデータの書き込み処理）を示す図１６のステップ６０２、ステップ６０４は、図９のステップ６０２、ステップ６０４と同様であるので、その説明を省略する。
【０１４９】
本実施の形態では、図２０（Ｃ）の中央にあるように、ドレイン電圧（ソース電圧についても同様）は、最初の内は、上記書き込み回数が増加しても６．５Ｖで一定としているが、チャネル領域に流れる電流の値Ｉが、第１の電荷蓄積部３０に蓄積される電荷の量が０１データに対応する値となった場合に該チャネル領域に流れる電流の予め定められた目標値Ｉ０１よりも大きい領域において、該電流の値Ｉが該目標値Ｉ０１に近づいた場合（Ｉ０１より所定量２*ｉ０１大きい値になった場合）に、ソース電圧を、６．５Ｖから所定値、例えば、０．５Ｖ下げて、６．０Ｖとし、更に、該電流の値Ｉが該目標値Ｉ０１に更に近づいた場合（Ｉ０１より所定量ｉ０１大きい値になった場合）に、ソース電圧を更に下げて５．５Ｖとする。
【０１５０】
以上の処理を実行するため、まず、ステップ６０６で、上記のように電流値Ｉを検出し、ステップ６０８ａで、電流値Ｉが目標値Ｉ０１に近づいた（Ｉ０１＋２*ｉ０１以下となった）か否かを判断する。該判断が否定判定の場合には、上記ステップ６１０〜６１４を実行する。
【０１５１】
一方、電流値ＩがＩ０１＋２*ｉ０１以下となったと最初に判断された場合には、０のとき電流値ＩがＩ０１＋２*ｉ０１以下であると最初に判断されたことを示すフラグＥ１が０か否かを判断するステップ６１６ａが肯定され、ステップ６１８ａで、フラグＥ１を１にセットして、ステップ６２０ａで、現在のソース電圧Ｖ２ｓｗ（Ｖ２ｓｗ０（６．５Ｖ））から所定値（ｖｓｗ／２）（上記のように例えば、０．５Ｖ）下げた値を、ソース電圧Ｖ２ｓｗにセットする。
【０１５２】
次のステップ６２２で、電流値Ｉが目標値Ｉ０１に更に近づいた（Ｉ０１＋ｉ０１以下となった）か否かを判断する。該判断が肯定判定の場合には、ステップ６２４で、０のとき電流値ＩがＩ０１＋ｉ０１以下であると最初に判断されたことを示すフラグＥ２が０か否かを判断する。該ステップ６２４が肯定された場合、即ち、電流値ＩがＩ０１＋ｉ０１以下であると最初に判断された場合、ステップ６２６で、フラグＥ２を１にセットして、ステップ６２８で、現在のソース電圧Ｖ２ｓｗ（Ｖ（６．０Ｖ））から更に所定値（ｖｓｗ／２）下げた値を、ソース電圧Ｖ２ｓｗにセットする。
【０１５３】
なお、以降は、上記ステップ６３０、６４０を実行する。
【０１５４】
以上、図１６に示した処理は、上記のように、０１データの書き込み処理における上位２ビットデータの書き込み処理であるが、図１７に示した処理は、０１データの書き込み処理における下位２ビットデータの書き込み処理の点で異なるが、図１６に示した処理と同様であるので、その説明を省略する。
【０１５５】
一方、図１８に示した処理は、１０データの書き込み処理における上位２ビットデータの書き込み処理の点で異なるが、図１６に示した処理と同様であるので、その説明を省略する。また、図１９に示した処理は、１０データの書き込み処理における下位２ビットデータの書き込み処理の点で異なるが、図１６に示した処理と同様であるので、その説明を省略する。
【０１５６】
以上説明したように本発明の第２の実施の形態では、チャネル領域に流れる電流の値が、第１及び第２の電荷蓄積部３０、３２に蓄積される電荷の量が所定のデータ（０１、１０）に対応する値となった場合に該チャネル領域に流れる電流の予め定められた目標値よりも大きい領域において、該電流の値が該目標値にある程度近づいた場合に、ソース電圧、ドレイン電圧を下げ、また、該電流の値が該目標値に更に近づいた場合に、ソース電圧、ドレイン電圧を更に下げることにより、１回当たりの電荷の蓄積量の増加割合を２回減少させている。よって、各電荷蓄積部への電荷の蓄積量が目標値を超えることをより抑えることができる。
【０１５７】
よって、図２１（Ｃ）に示すように、電流値分布幅を、上記従来の技術の電流値分布幅（図２１（Ａ））や上記第１の実施の形態の電流値分布幅（図２１（Ｂ））より狭くすることができ、電流ウィンドウをより広くすることができる。
【０１５８】
（変形例）
以上説明した第１の実施の形態及び第２の実施の形態では、ゲート電圧は書き込み回数に応じて徐々に増加させると共に、上記電流の値が上記目標値に近づいた場合に、ソース電圧、ドレイン電圧を段階的に１回乃至２回下げているが、本発明はこれに限定されるものではなく、上記電流の値が上記目標値に近づく段階をより細かくし、ソース電圧、ドレイン電圧を段階的により多い回数下げるようにしてもよい。
【０１５９】
また、上記第１の実施の形態及び第２の実施の形態では、ゲート電圧は書き込み回数に応じて徐々に増加させると共に、上記電流の値が上記目標値に近づいた場合に、ソース電圧、ドレイン電圧を段階的に少なくとも１回下げているが、本発明はこれに限定されるものではなく、ソース電圧、ドレイン電圧を書き込み回数に応じて徐々に増加させると共に、上記電流の値が上記目標値に近づいた場合に、ゲート電圧を段階的に少なくとも１回下げるようにしてもよい。更に、図２２に示すように、ゲート電圧、ソース電圧、及びドレイン電圧を書き込み回数に応じて徐々に増加させると共に、上記電流の値が上記目標値に近づいた場合に、ゲート電圧を段階的に少なくとも１回下げるようにしてもよい。
【０１６０】
更に、上記第１の実施の形態及び第２の実施の形態では、１回当たりの電荷の蓄積量の増加割合を減少させるのに、ゲート電圧、ソース電圧、及びドレイン電圧を変化させるようにしているが、本発明はこれに限定されるものではなく、ゲート電圧、ソース電圧、及びドレイン電圧を変化させず、印加する電圧の印加時間を変化させたり、ゲート電圧、ソース電圧、及びドレイン電圧の電圧と、印加間と、を変化させたり、するようにしてもよい。
【０１６１】
また、上記第１の実施の形態及び第２の実施の形態では、同じデータを書き込む複数のメモリセルに順にデータを書き込むことに限定されず、同時にデータを書き込むようにしてもよい。また、複数のメモリセル各々を順に代えて、各メモリセルに対応するデータを書き込むことを複数回行なうようにしてもよい。
【符号の説明】
【０１６２】
１０  メモリセル（メモリ部）
１２  シリコン基板（基板）
１６  ソース領域（ソース領域、ソース電極）
１８  ドレイン領域（ドレイン領域、ドレイン電極）
２０  チャネル形成領域（チャネル領域）
２４  ゲート電極
２６  第１の抵抗変化部（第１の抵抗変化領域）
２８  第２の抵抗変化部（第２の抵抗変化領域）
３０  第１の電荷蓄積部
３２  第２の電荷蓄積部
１０４  ロウデコーダ（印加手段）
１０６  カラムでコーダ（印加手段）
１０８  コントローラ（制御手段）  
【図１】
2010225201.tif 000004
【図２】
2010225201.tif 000005
【図３】
2010225201.tif 000006
【図４】
2010225201.tif 000007
【図５】
2010225201.tif 000008
【図６】
2010225201.tif 000009
【図７】
2010225201.tif 000010
【図８】
2010225201.tif 000011
【図９】
2010225201.tif 000012
【図１０】
2010225201.tif 000013
【図１１】
2010225201.tif 000014
【図１２】
2010225201.tif 000015
【図１３】
2010225201.tif 000016
【図１４】
2010225201.tif 000017
【図１５】
2010225201.tif 000018
【図１６】
2010225201.tif 000019
【図１７】
2010225201.tif 000020
【図１８】
2010225201.tif 000021
【図１９】
2010225201.tif 000022
【図２０】
2010225201.tif 000023
【図２１】
2010225201.tif 000024
【図２２】
2010225201.tif 000025
【図２３】
2010225201.tif 000026
【図２４】
2010225201.tif 000027
【図２５】
2010225201.tif 000028
【図２６】
2010225201.tif 000029
【図２７】
2010225201.tif 000030
【図２８】
2010225201.tif 000031
【図２９】
2010225201.tif 000032
【図３０】
2010225201.tif 000033