(57)【要約】【課題】電荷捕獲型の場合であっても高速にプログラムすることが可能な不揮発性メモリを備えた半導体装置を提供する。【解決手段】半導体装置において、メモリアレイは、行列状に配列され、各々が閾値電圧のレベル変化によってデータを記憶する複数のメモリセルＭＣ０，ＭＣ１を含む。ベリファイ回路５０は、プログラム対象のメモリセルに対して複数回実行されるプログラム動作ごとに、閾値電圧がプログラムベリファイ電圧に到達したか否かを判定する。電流調整回路５２は、プログラム対象の複数のメモリセルのうち、ベリファイ回路５０によって閾値電圧がプログラムベリファイ電圧に達していないと判定されたメモリセルには第１の電流値のプログラム電流を流し、閾値電圧がプログラムベリファイ電圧に達したと判定されたメモリセルには第１の電流値よりも小さい第２の電流値のプログラム電流を流す。【選択図】図７
2013041642.tif 000002
【特許請求の範囲】
【請求項１】
半導体装置であって、
行列状に配列され、各々が閾値電圧のレベル変化によってデータを記憶する複数のメモリセルを含むメモリアレイを備え、
各前記メモリセルは、第１および第２の導通電極とゲート電極とを有し、
各前記メモリセルの閾値電圧は、前記第１および第２の導通電極間にプログラム電流を流すとともに前記ゲート電極にプログラム電圧を印加するプログラム動作が複数回実行されることによって、所定のプログラムベリファイ電圧に到達し、
前記半導体装置は、さらに、
プログラム対象のメモリセルに対して複数回実行される前記プログラム動作ごとに、閾値電圧が前記プログラムベリファイ電圧に到達したか否かを判定するベリファイ回路と、
前記プログラム電流の大きさを調整する電流調整回路とを備え、
前記電流調整回路は、プログラム対象の複数のメモリセルのうち、前記ベリファイ回路によって閾値電圧が前記プログラムベリファイ電圧に達していないと判定されたメモリセルには第１の電流値のプログラム電流を流し、閾値電圧が前記プログラムベリファイ電圧に達したと判定されたメモリセルには前記第１の電流値よりも小さい第２の電流値のプログラム電流を流す、半導体装置。
【請求項２】
前記半導体装置は、さらに、
メモリセル行にそれぞれ対応して設けられ、各々が、対応のメモリセル行に含まれた各メモリセルの前記第１の導通電極と接続される複数の第１配線と、
メモリセル列にそれぞれ対応して設けられ、各々が、対応のメモリセル列に含まれた各メモリセルの前記第２の導通電極と接続される複数の第２配線と、
各前記メモリセルのプログラム動作時に、前記複数の第１配線に所定のドライブ電圧を印加するドライブ回路とを備え、
前記電流調整回路は、前記複数の第２配線に接続され、プログラム対象のメモリセルに前記第１または第２の電流値のプログラム電流が流れるように、前記複数の第２配線の各々に流れる電流値を調整する、請求項１に記載の半導体装置。
【請求項３】
前記電流調整回路は、
１または複数のメモリセル列ごとに設けられ、各々が、対応するメモリセル列のプログラム対象のメモリセルについての前記ベリファイ回路による判定結果を保持する複数のラッチ回路と、
１または複数のメモリセル列ごとに、前記複数のラッチ回路にそれぞれ対応して設けられた複数の電流源回路とを含み、
各前記電流源回路は、
対応のメモリセル列の第２配線と接続され、対応のメモリセル列に含まれたメモリセルのプログラム動作時に、対応のラッチ回路の保持データによらずに定電流が流れる第１のトランジスタと、
前記第１のトランジスタと並列に接続され、対応のメモリセル列に含まれたメモリセルのプログラム動作時に、対応するラッチ回路の保持データが変化するまでの間、定電流が流れる第２のトランジスタとを含む、請求項２に記載の半導体装置。
【請求項４】
前記メモリアレイを構成する複数のメモリセルは、複数列ごとに複数のグループに分割され、
前記半導体装置は、さらに、
前記グループごとにメモリセル行にそれぞれ対応して設けられ、各々が、対応のメモリセル行に含まれた各メモリセルの前記第１の導通電極と接続される複数の第１配線と、
前記グループごとにメモリセル列にそれぞれ対応して設けられ、各々が、対応のメモリセル列に含まれた各メモリセルの前記第２の導通電極と接続される複数の第２配線と、
前記複数のグループにそれぞれ対応して設けられ、各々が、対応のグループに含まれたメモリセルのプログラム動作時に、対応のグループの前記複数の第１配線に所定のドライブ電圧を印加する複数のドライブ回路とを備え、
前記電流調整回路は、各前記グループの前記複数の第２配線に接続され、プログラム対象のメモリセルに前記第１または第２の電流値のプログラム電流が流れるように、各前記グループの前記複数の第２配線の各々に流れる電流値を調整し、
前記半導体装置は、さらに、
前記ベリファイ回路の判定結果に基づいて、前記グループごとに、閾値電圧が前記プログラムベリファイ電圧に達していないメモリセルの数であるプログラム未完了セル数をカウントするカウンタと、
各前記ドライブ回路から対応のグループへのドライブ電圧の供給を制御する制御回路とを備え、
前記制御回路は、１または複数のドライブ回路ごとに順次ドライブ電圧を供給させることによって、同時に動作するドライブ回路の数を制限し、前記プログラム未完了セル数が減少するにつれて、同時に動作するドライブ回路の数を増加させる、請求項１に記載の半導体装置。
【請求項５】
各前記メモリセルは、窒化シリコン膜を有し、プログラム動作時に前記窒化シリコン膜に電荷が捕獲されることによって閾値電圧のレベルが変化する、請求項１〜４のいずれか１項に記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、電気的に書換え可能な不揮発性メモリを備えた半導体装置に関する。
【背景技術】
【０００２】
フラッシュメモリなどの不揮発性メモリを内蔵したマイクロコンピュータでは、不揮発性メモリの容量増加に伴って、プログラム（書込）時間の増大が問題となっている。特にＮＯＲ型フラッシュメモリのように、ホットエレクトロン注入を利用する書込方式では、チャージポンプ回路の電流供給能力に限界があるため、同時に書込を行なうことができるセル数に制限がされる。このことが、プログラム時間を増大させる要因の１つとなっている。
【０００３】
特開２００４−０２２１１２号公報（特許文献１）は、高速のページプログラムを可能にする不揮発性半導体メモリ装置を開示する。この文献に記載の不揮発性メモリ装置では、１ページのデータをページ内の複数のアドレスごとに書込を行なう。このとき、ベリファイ読出で判定がパスしたアドレスについては、書込動作とベリファイ読出動作をスキップすることによって高速化が図られる。
【０００４】
特開平０９−３０７０８２号公報（特許文献２）は、メモリセルの閾値の分布幅を狭くするための手法としてビット毎ベリファイについて開示している。上記文献と目的は異なるが技術的には類似している。具体的には、書込時間を短い時間に区分けし、区分けした時間毎に書込とベリファイが行なわれる。ベリファイ動作によって閾値の上昇が十分と判定されたものは、次回のサイクルから書込が行なわれない。
【０００５】
特開平０９−３０７０８２号公報（特許文献２）は、さらに、書込動作を２回に分けて行なう手法も開示する。具体的には、読出しの設定レベルと同じかそれよりは高いが本来必要とするベリファイ読出の判定レベルより低い緩めの第１の判定レベルを設定し、この第１の判定レベルに基づいて第１の書込動作が行なわれる。次に、本来必要とする第２の判定レベルに基づいて第２の書込動作が行なわれる。
【０００６】
特表２００７−５２００２９号公報（特許文献３）も上記の特許文献と同様に、粗いプログラミング工程とファインプログラミング工程の２段階の分けて書込を行なう技術について開示する。この文献の技術では、粗いプログラミング工程においてメモリセルをベリファイする間に、ファインプログラミング工程においてこれら以外のメモリセルをベリファイすることにより、効率的にベリファイが行なわれる。
【０００７】
なお、上記の各文献は、各メモリセルに１ビットのデータを記憶する場合を扱ったものであるが、電圧範囲の異なる４個の閾値電圧分布にそれぞれデータを対応付けることによって、各メモリセルに２ビットのデータを記憶させることもできる（たとえば、特開２００７−１４１３９３号公報（特許文献４）参照）。
【０００８】
なお、良く知られているように、不揮発性メモリのメモリセルの構造には、浮遊ゲート（フローティングゲート）型と電荷捕獲（チャージトラップ）型とがある。電荷捕獲型の代表例として、窒化シリコン膜を用いたＭＯＮＯＳ（Metal-Oxide-Nitride-Oxide-Silicon）型が知られている（たとえば、特開２０１０−２７２１５６号公報（特許文献５）、特開２００８−２５１０９６号公報（特許文献６）を参照）。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００４−０２２１１２号公報
【特許文献２】特開平０９−３０７０８２号公報
【特許文献３】特表２００７−５２００２９号公報
【特許文献４】特開２００７−１４１３９３号公報
【特許文献５】特開２０１０−２７２１５６号公報
【特許文献６】特開２００８−２５１０９６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
上記の特開２００４−０２２１１２号公報（特許文献１）に記載の技術は、浮遊ゲート型の不揮発性メモリのプログラミング工程を高速化するにはある程度有効であると考えられる。しかしながら、窒化シリコン膜などを用いた電荷捕獲型の不揮発性メモリにこの技術は適用できない。なぜなら、窒化シリコン膜にトラップした電荷は、時間の経過とともにデトラップする性質があるが、特に電荷注入後の短時間の間でのデトラップの割合が大きいからである。したがって、プログラムベリファイ時に、閾値電圧がプログラムベリファイ電圧に達したと判定したメモリセルについて、その後のプログラムパルスの印加をやめてしまうと、閾値電圧がプログラムベリファイ電圧以下まで低下してしまう。
【００１１】
このようなプログラムパルスの印加直後のデトラップによる閾値電圧の低下という問題は、電荷捕獲型の場合ほど顕著でないにしても、浮遊ゲート型の場合にも起こり得る問題である。
【００１２】
したがって、この発明の目的は、電荷捕獲型の場合であっても高速にプログラムすることが可能な不揮発性メモリを備えた半導体装置を提供することである。
【課題を解決するための手段】
【００１３】
この発明の実施の一形態による半導体装置は、メモリアレイと、ベリファイ回路と、電流調整回路とを備える。メモリアレイは、行列状に配列され、各々が閾値電圧のレベル変化によってデータを記憶する複数のメモリセルを含む。各メモリセルは、第１および第２の導通電極とゲート電極とを有する。各メモリセルの閾値電圧は、第１および第２の導通電極間にプログラム電流を流すとともにゲート電極にプログラム電圧を印加するプログラム動作が複数回実行されることによって、所定のプログラムベリファイ電圧に到達する。ベリファイ回路は、プログラム対象のメモリセルに対して複数回実行されるプログラム動作ごとに、閾値電圧がプログラムベリファイ電圧に到達したか否かを判定する。電流調整回路は、プログラム電流の大きさを調整する。電流調整回路は、プログラム対象の複数のメモリセルのうち、ベリファイ回路によって閾値電圧がプログラムベリファイ電圧に達していないと判定されたメモリセルには第１の電流値のプログラム電流を流し、閾値電圧がプログラムベリファイ電圧に達したと判定されたメモリセルには第１の電流値よりも小さい第２の電流値のプログラム電流を流す。
【発明の効果】
【００１４】
上記の実施の形態によれば、閾値電圧がプログラムベリファイ電圧に達したと判定されたメモリセルには第１の電流値よりも小さい第２の電流値のプログラム電流を流すことによって、閾値電圧の低下を抑制し、これによって、所定のプログラムベリファイ電圧以上の閾値電圧となるまで従来よりも高速にプログラムすることができる。
【図面の簡単な説明】
【００１５】
【図１】この発明の実施の形態１による半導体装置の構成を示すブロック図である。
【図２】メモリセルＭＣの構成を示す図である。
【図３】メモリセルＭＣの記憶動作を示す図である。
【図４】図１の不揮発性メモリ装置４の全体構成を示すブロック図である。
【図５】図４のメモリアレイ３０の構成を模式的に示した平面図である。
【図６】図５のメモリブロックＭＢ０の構成を示す回路図である。
【図７】図５、図６のカラム系選択回路３９のうちデータのプログラムに関係する部分を示した図である。
【図８】消去状態とプログラム状態のときの閾値電圧分布を示す図である。
【図９】プログラムパルス印加動作時にメモリセルＭＣに流れる電流をまとめた表を示した図である。
【図１０】プログラム時にメモリゲートに印加される電圧波形を概略的に示すタイミング図である。
【図１１】実施の形態１の場合のプログラム手順を示すフローチャートである。
【図１２】この発明の実施の形態２による不揮発性メモリ装置のうちデータのプログラムに関係する部分を示した図である。
【図１３】図１２の不揮発性メモリ装置によるプログラムの手順について説明するための図である。
【図１４】メモリブロックの同時選択を行なわない通常状態においてソース線およびビット線に印加される電圧波形を示すタイミングチャートである。
【図１５】メモリブロックの同時選択状態においてソース線およびビット線に印加される電圧波形を示すタイミングチャートである。
【図１６】実施の形態２の場合のプログラム手順を示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下、この発明の実施の形態について図面を参照して詳しく説明する。なお、同一または相当する部分には同一の参照符号を付して、その説明を繰返さない。
【００１７】
＜実施の形態１＞
［半導体装置の構成］
図１は、この発明の実施の形態１による半導体装置の構成を示すブロック図である。図１には、半導体装置の一例としてマイクロコンピュータチップ１が示されている。マイクロコンピュータチップ１は、ＣＰＵ（Central  Processing  Unit）２と、ＲＡＭ（Random  Access  Memory）３と、不揮発性メモリ装置４と、周辺回路５と、インターフェース回路７と、これらを相互に接続するデータバス８と、電源回路６とを含む。
【００１８】
電源回路６は、マイクロコンピュータチップ１の外部から受けた外部電源電圧ＶＣＣに基づいて内部電源電圧ＶＤＤを生成する。内部電源電圧ＶＤＤは、マイクロコンピュータチップ１の各部に供給される（図１では、不揮発性メモリ装置４への供給のみが代表的に示されている）。
【００１９】
不揮発性メモリ装置４は、ＥＥＰＲＯＭ（Electrically  Erasable  and  Programmable  Read-only  Memory）やフラッシュメモリなどの半導体記憶装置である。これらの半導体記憶装置の各メモリセルは、ゲート電極とチャネル層との間に電荷蓄積部を有する。電荷蓄積部に蓄積された電荷によってメモリセルの閾値電圧が変化し、これによって「１」、「０」の情報を記憶することができる。電荷蓄積部として、一般に、多結晶シリコン膜で形成された浮遊ゲート（フローティングゲート）や、窒化ケイ素膜などが用いられる。窒化ケイ素膜は、膜中に分散して存在する捕獲準位（トラップレベル）によって電荷を蓄積する。この実施の形態では、窒化ケイ素膜を電荷蓄積部として用いた例について説明する。次に、メモリセルの具体的構成をさらに詳しく説明する。
【００２０】
［メモリセルの構成］
図２は、メモリセルＭＣの構成を示す図である。図２（Ａ）には、メモリセルＭＣの断面図が模式的に示され、図２（Ｂ）には、メモリセルＭＣの回路図記号が示される。図２（Ａ），（Ｂ）で対応する部分には同一の参照符号を付す。
【００２１】
図２（Ａ），（Ｂ）を参照して、メモリセルＭＣは、コントロールゲート２１、窒化シリコン膜２２、メモリゲート２３、ソース２４、およびドレイン２５を含む。コントロールゲート２１は、Ｐ型シリコン基板２０の表面上に絶縁層（図示せず）を介して形成される。窒化シリコン膜２２は、コントロールゲート２１の側壁に酸化シリコン膜（図示せず）、窒化シリコン膜２２、および酸化シリコン膜（図示せず）からなるＯＮＯ（Oxide-Nitride-Oxide）膜として形成される。ＯＮＯ膜上には、サイドウォール構造のメモリゲート２３が形成される。ソース２４およびドレイン２５は、ゲート２１，２３の両側にＮ型不純物を注入することによってそれぞれ形成される。
【００２２】
メモリセルＭＣが複数配列されたメモリアレイには、各々が、メモリセル行に対応して行方向Ｘに延在する、メモリゲート線ＭＧＬ、コントロールゲート線ＣＧＬ、およびソース線ＳＬが設けられる。メモリセル列に対応して列方向Ｙに延在するビット線ＢＬが設けられる。各メモリセルＭＣにおいて、メモリゲート２３は、対応のメモリゲート線ＭＧＬに接続される。コントロールゲート２１は、対応のコントロールゲート線ＣＧＬに接続される。ソース２４は、対応のソース線ＳＬに接続される。ドレイン２５は、対応のビット線ＢＬに接続される。
【００２３】
［メモリセルの記憶動作］
各メモリセルＭＣには固有のアドレスが割り当てられ、各メモリセルＭＣは閾値電圧のレベル変化によって１ビットのデータを記憶する。
【００２４】
図３は、メモリセルＭＣの記憶動作を示す図である。図３（Ａ）にはプログラムパルス印加動作時の状態が示され、図３（Ｂ）には消去パルス印加動作時の状態が示され、図３（Ｃ）には読出動作時の状態が示され、図３（Ｄ）にはプログラムベリファイ動作時の状態が示される。
【００２５】
図３（Ａ）を参照して、プログラムパルス印加動作時は、メモリゲート２３に６．４〜１１Ｖの間の選択された電圧（「プログラム電圧」と称する）が印加され、コントロールゲート２１には１．０Ｖが印加され、ソース２４には３．２〜７．０Ｖの間の選択された電圧が印加され、ドレイン２５には０．８Ｖが印加される。これにより、ソースサイド注入（ＳＳＩ：Source  Side  Injection）方式により、ホットエレクトロンが窒化シリコン膜２２に注入されてメモリセルＭＣの閾値電圧が高くなる。このとき、ソース・ドレイン間に流れる電流を「プログラム電流」と称する。プログラムパルス印加動作は、メモリセルＭＣの閾値電圧が所定のプログラムベリファイ電圧ＰＶよりも高くなるまで繰り返し行なわれる。プログラムされたメモリセルＭＣには、データ“０”と“１”のうちのたとえば“１”が記憶される（“０”と決めてもよいが、この明細書では“１”とする）。なお、メモリゲート２３の電圧は、メモリセルＭＣの閾値電圧が高くなり難い場合に正側に高いレベルに設定される。ソース２４の電圧は、絶縁破壊が生じないように、メモリゲート２３の電圧に応じて設定される。
【００２６】
図３（Ｂ）を参照して、消去パルス印加動作時は、メモリゲート２３に−３．３〜−８Ｖの間の選択された電圧が印加され、コントロールゲート２１には０Ｖが印加され、ソース２４には３．２〜７．０Ｖが印加され、ドレイン２５はＯＰＥＮ状態にされる。これにより、バンド間トンネル（ＢＴＢＴ：Band  To  Band  Tunneling）方式により、ホットホールが窒化シリコン膜２２に注入されてメモリセルＭＣの閾値電圧が低くなる。消去パルス印加動作は、メモリセルＭＣの閾値電圧が所定の消去ベリファイ電圧ＥＶよりも低くなるまで繰り返し行なわれる。消去されたメモリセルＭＣには、データ“０”と“１”のうちのたとえば“０”が記憶される。なお、メモリゲート２３の電圧は、メモリセルＭＣの閾値電圧が低くなり難い場合に負側に高いレベルに設定される。ソース２４の電圧は、絶縁破壊が生じないように、メモリゲート２３の電圧に応じて設定される。
【００２７】
図３（Ｃ）を参照して、読出動作時は、メモリゲート２３およびソース２４に０Ｖが印加され、コントロールゲート２１およびドレイン２５に１．５Ｖが印加され、ドレイン２５とソース２４の間に流れる電流Ｉｄが閾値電流よりも大きいか否かが判定される。電流Ｉｄが閾値電流よりも大きい場合は、メモリセルＭＣの閾値電圧が低いのでメモリセルＭＣの記憶データは“０”であると判定される。逆に、電流Ｉｄが閾値電流よりも小さい場合は、メモリセルＭＣの閾値電圧が高いのでメモリセルＭＣの記憶データは“１”であると判定される。
【００２８】
図３（Ｄ）を参照して、プログラムベリファイ動作時は、メモリゲート２３にプログラムベリファイ電圧ＰＶが印加され、ソース２４に０Ｖが印加され、コントロールゲート２１およびドレイン２５に１．５Ｖが印加され、ドレイン２５とソース２４の間に流れる電流Ｉｄが閾値電流よりも大きいか否かが判定される。電流Ｉｄが閾値電流よりも大きい場合は、メモリセルＭＣの閾値電圧がプログラムベリファイ電圧ＰＶよりも低いので、プログラムは完了していないと判定される。逆に、電流Ｉｄが閾値電流よりも小さい場合は、メモリセルＭＣの閾値電圧がプログラムベリファイ電圧ＰＶよりも高いので、プログラム完了したと判定される。
【００２９】
消去ベリファイ動作時には、図３（Ｄ）において、メモリゲート２３には、プログラムベリファイ電圧ＰＶに代えて消去ベリファイ電圧ＥＶが印加される。その他箇所に印加される電圧は図３（Ｄ）の場合と同じである。ドレイン２５とソース２４の間に流れる電流Ｉｄが閾値電流よりも大きい場合は、メモリセルＭＣの閾値電圧が消去ベリファイ電圧ＥＶよりも低いので、消去は完了したと判定される。逆に、電流Ｉｄが閾値電流よりも小さい場合は、メモリセルＭＣの閾値電圧が消去ベリファイ電圧ＥＶよりも高いので、消去は完了していないと判定される。
【００３０】
［不揮発性メモリ装置の構成］
図４は、図１の不揮発性メモリ装置４の全体構成を示すブロック図である。図４を参照して、不揮発性メモリ装置４は、メモリアレイ３０、入出力回路３１、ワード線デコーダ部３５、コントロールゲート線ドライバ部３６、メモリゲート線ドライバ部３７、ソース線ドライバ部３８、カラム系選択回路３９、制御回路３２、電源回路３３、および電源切替回路３４を含む。
【００３１】
メモリアレイ３０には、図２で説明したメモリセルＭＣが行列状に多数配列される。この実施の形態では、ビット線は、複数の主ビット線ＢＬと副ビット線ＳＢＬとを含む。各主ビット線ＢＬ（図５の主ビット線ＢＬ０〜ＢＬ２０４７に対応し、図６の主ビット線ＢＬ０〜ＢＬ２５５に対応する）には、スイッチ用のトランジスタＱＣ（図６のトランジスタＱＣ０Ａ，ＱＣ０Ｂ，…，ＱＣ２５５Ａ，ＱＣ２５５Ｂに対応する）を介して複数の副ビット線ＳＢＬ（図６の副ビット線ＢＬ０Ａ，ＢＬ０Ｂ，…，ＢＬ２５５Ａ，ＢＬ２５５Ｂに対応する）が接続される。メモリセルＭＣのドレイン２５は、対応の副ビット線ＳＢＬに接続される。
【００３２】
入出力回路３１は、不揮発性メモリ装置４の外部（たとえば、図１のＣＰＵ２）から、コマンド、アドレス、および書込データなどを受けるとともに、読出データを外部に出力する。
【００３３】
ワード線デコーダ部３５は、入出力回路３１を介して受けた行アドレス信号をデコードすることによって、メモリアレイの選択行を指定する信号を出力する。
【００３４】
コントロールゲート線ドライバ部３６は、ワード線デコーダ部３５によって指定された選択行に対応するコントロールゲート線ＣＧＬに、電源切替回路３４を介して受けた所定の動作電圧を供給する。
【００３５】
メモリゲート線ドライバ部３７は、ワード線デコーダ部３５によって指定された選択行に対応するメモリゲート線ＭＧＬに、電源切替回路３４を介して受けた所定の動作電圧を供給する。
【００３６】
ソース線ドライバ部３８は、ソース線ＳＬに、接地電圧または電源切替回路３４を介して受けた所定の動作電圧を供給する。なお、ソース線ドライバ部３８は、スイッチ用のトランジスタＱＡ（図５のＱＡ０〜ＱＡ３１に対応する）を介在してソース線ＳＬ（図６のＳＬ０＿０〜ＳＬ０＿１５に対応する）接続される。
【００３７】
カラム系選択回路３９には、入出力回路３１を介して受けた列アドレス信号をデコードするカラムデコーダ回路が設けられる。カラム系選択回路３９は、カラムデコーダ回路によるデコード結果に基づいて、選択されたビット線ＢＬ（選択列に対応するビット線ＢＬ）に、接地電圧や、電源切替回路３４を介して受けた所定の動作電圧を供給する。
【００３８】
カラム系選択回路３９には、さらに、選択されたビット線ＢＬを介して読出対象のメモリセルＭＣに流れる電流を検知する読出用センスアンプ（ＳＡ：Sense  Amplifier）回路や、選択されたビット線ＢＬを介してプログラム対象のメモリセルＭＣに流れる電流を検知するベリファイ用センスアンプ回路などが含まれる。
【００３９】
制御回路３２は、図１のＣＰＵ２などのホストからの指令に従って、プログラムパルス印加動作、消去パルス印加動作、読出動作、プログラムベリファイ動作、および消去ベリファイ動作などの各動作モードを実行する。制御回路３２は、さらに、各動作モードに必要な動作電圧が各ドライバ部に供給されるように、電源回路３３および電源切替回路３４を制御する。
【００４０】
電源回路３３は、図１の電源回路６で生成された内部電源電圧ＶＤＤを昇圧または降圧することによって、各動作モードに応じた種々の大きさの動作電圧を生成するチャージポンプ回路を含む。電源切替回路３４は、電源回路３３で生成された種々の大きさ動作電圧を受けて、各動作モードに応じて、供給する動作電圧の大きさや供給先を切替えるスイッチ群である（ディストリビュータとも称する）。
【００４１】
［メモリアレイの構成］
図５は、図４のメモリアレイ３０の構成を模式的に示した平面図である。図５には、メモリアレイ３０周辺の各ドライバ部も併せて示される。
【００４２】
図５のメモリアレイ３０では、一例として、図２のメモリセルＭＣが６４行４０９６列に配列された例が示される。メモリアレイ３０は、各々が１６行５１２列のメモリセルＭＣからなる３２個のメモリブロックＭＢ０〜ＭＢ３１に分割される。したがって、メモリアレイ３０内で、メモリブロックＭＢ０〜ＭＢ３１は４行８列に配列される（図５では図解を容易にするために、８つのメモリブロックが代表的に示されている）。
【００４３】
コントロールゲート線ドライバ部３６は、メモリアレイ３０のＸ方向の中央に配置され、図の左側のコントロールゲート線ＣＧＬ０Ａ〜ＣＧＬ６３ＡをそれぞれドライブするドライバＣＧＤ０Ａ〜ＣＧＤ６３Ａと、図の右側のコントロールゲート線ＣＧＬ０Ｂ〜ＣＧＬ６３ＢをそれぞれドライブするドライバＣＧＤ０Ｂ〜ＣＧＤ６３Ｂとを含む。コントロールゲート線ＣＧＬ０Ａ〜ＣＧＬ１５ＡはメモリブロックＭＢ０〜ＭＢ３で共通に用いられ、コントロールゲート線ＣＧＬ１６Ａ〜ＣＧＬ３１ＡはメモリブロックＭＢ８〜ＭＢ１１で共通に用いられ、コントロールゲート線ＣＧＬ３２Ａ〜ＣＧＬ４７ＡはメモリブロックＭＢ１６〜ＭＢ１９で共通に用いられ、コントロールゲート線ＣＧＬ４８Ａ〜ＣＧＬ６３ＡはメモリブロックＭＢ２４〜ＭＢ２７で共通に用いられる。同様に、コントロールゲート線ＣＧＬ０Ｂ〜ＣＧＬ１５ＢはメモリブロックＭＢ４〜ＭＢ７で共通に用いられ、コントロールゲート線ＣＧＬ１６Ｂ〜ＣＧＬ３１ＢはメモリブロックＭＢ１２〜ＭＢ１５で共通に用いられ、コントロールゲート線ＣＧＬ３２Ｂ〜ＣＧＬ４７ＢはメモリブロックＭＢ２０〜ＭＢ２３で共通に用いられ、コントロールゲート線ＣＧＬ４８Ｂ〜ＣＧＬ６３ＢはメモリブロックＭＢ２８〜ＭＢ３１で共通に用いられる。
【００４４】
メモリゲート線ドライバ部３７は、ドライバＭＧＤ０〜ＭＧＤ１５を含む。ドライバＭＧＤｉ（ただし、０≦ｉ≦１５）は、メモリゲート線ＭＧＬｉ，ＭＧＬｉ＋１６，ＭＧＬｉ＋３２，ＭＧＬｉ＋４８をドライブする。メモリゲート線ＭＧＬ０〜ＭＧＬ１５はメモリブロックＭＢ０〜ＭＢ７で共通に用いられ、メモリゲート線ＭＧＬ１６〜ＭＧＬ３１はメモリブロックＭＢ８〜ＭＢ１５で共通に用いられ、メモリゲート線ＭＧＬ３２〜ＭＧＬ４７はメモリブロックＭＢ１６〜ＭＢ２３で共通に用いられ、メモリゲート線ＭＧＬ４８〜ＭＧＬ６３はメモリブロックＭＢ２４〜ＭＢ３１で共通に用いられる。
【００４５】
ソース線ドライバ部３８（３８Ａ，３８Ｂ）は、メモリブロックＭＢ０〜ＭＢ３１のソース線をそれぞれドライブするドライバＳＬＤ０〜ＳＬＤ３１を含む。ドライバＳＬＤ０〜ＳＬＤ３１にそれぞれ対応してスイッチ用のＮＭＯＳ（Negative-channel  Metal  Oxide  Semiconductor）トランジスタＱＡ０〜ＱＡ３１が設けられる。各ＮＭＯＳトランジスタＱＡは、対応のドライバＳＬＤとそのドライバに対応するメモリブロックＭＢとの間の伝送経路に挿入される。ＮＭＯＳトランジスタＱＡ０〜ＱＡ３１は、バッファＳＳＤから出力される信号に応じてオンまたはオフに切替わる。
【００４６】
カラム系選択回路３９からは、主ビット線ＢＬ０〜ＢＬ２０４７が引き出される。主ビット線ＢＬは、メモリアレイ３０の２列ごとに１本ずつ設けられる。
【００４７】
図６は、図５のメモリブロックＭＢ０の構成を示す回路図である。他のメモリブロックＭＢ１〜ＭＢ３1も同様の構成であるので、以下では、メモリブロックＭＢ０の構成を代表とし、特にこのメモリブロックＭＢ０に設けられたソース線および副ビット線について説明する。
【００４８】
図６を参照して、メモリブロックＭＢ０のメモリセル行にそれぞれ対応してソース線ＳＬ０＿０〜ＳＬ０＿１５が設けられる。ソース線ＳＬ０＿０〜ＳＬ０＿１５の各一端は、Ｙ方向に延在する配線ＳＬ０＿ｂｕｓに接続される。配線ＳＬ０＿ｂｕｓの一端はＮＭＯＳトランジスタＱＡ０を介してソース線ドライバＳＬＤ０に接続されるとともに、スイッチ用のＮＭＯＳトランジスタＱＢ０を介して接地ノードＶＳＳに接続される。各メモリセルＭＣのソースに所定の正の動作電圧を印加する場合は、ＮＭＯＳトランジスタＱＡ０がオン状態になり、ＮＭＯＳトランジスタＱＢ０はオフ状態になる。各メモリセルＭＣのソースに接地電圧を印加する場合は、ＮＭＯＳトランジスタＱＡ０がオフ状態になり、ＮＭＯＳトランジスタＱＢ０はオン状態になる。
【００４９】
メモリブロックＭＢ０のメモリセル列にそれぞれ対応して、副ビット線ＢＬ０Ａ，ＢＬ０Ｂ，ＢＬ１Ａ，ＢＬ１Ｂ，…，ＢＬ２５５Ａ，ＢＬ２５５Ｂが設けられる。副ビット線ＢＬ０Ａ，ＢＬ０Ｂの一端は、スイッチ用のＮＭＯＳトランジスタＱＣ０Ａ，ＱＣ０Ｂをそれぞれ介して主ビット線ＢＬ０に接続される。副ビット線ＢＬ０Ａ，ＢＬ０Ｂの他端は、ＰＭＯＳ（Positive-channel  Metal  Oxide  Semiconductor）トランジスタＱＤ０Ａ，ＱＤ０Ｂを介して電源ノードＶＤＤに接続される。ＰＭＯＳトランジスタＱＤ０Ａ，ＱＤ０Ｂは、ゲートに所定のバイアス電圧が与えられることによって定電流源として用いられる。他の副ビット線ＢＬＡ，ＢＬＢについても同じであり、一端はスイッチ用のトランジスタを介して対応の主ビット線ＢＬに接続され、他端は定電流源用のＰＭＯＳトランジスタを介して電源ノードＶＤＤに接続される。
【００５０】
［カラム系選択回路の構成］
図７は、図５、図６のカラム系選択回路３９のうちデータのプログラムに関係する部分を示した図である。
【００５１】
図７では、図５のメモリブロックＭＢ０〜ＭＢ３１のうちの１つを代表したメモリブロックＭＢにおいて、選択列の副ビット線ＢＬＡ，ＢＬＢと選択行のソース線ＳＬとに接続されたメモリセルＭＣ０，ＭＣ１が示されている。
【００５２】
既に説明したように、ＳＳＩ（ソースサイドインジェクション）方式によるデータ書込であるので、チャージポンプ３３で作成された高電圧が、ディストリビュータ４１およびソース線ドライバＳＬＤを介して、ソース線ＳＬに接続されたメモリセルＭＣ０，ＭＣ１に供給される。
【００５３】
副ビット線ＢＬＡ,ＢＬＢの一端は、ＰＭＯＳトランジスタＱＤＡ，ＱＤＢを介して電源ノードＶＤＤと接続される。既に説明したようにＰＭＯＳトランジスタＱＤＡ，ＱＤＢは、そのゲートに所定の電圧が与えられることによって電流Ｉ１を流す定電流源として用いられる。
【００５４】
副ビット線ＢＬＡ,ＢＬＢの他端は、スイッチ用のＮＭＯＳトランジスタＱＣＡ，ＱＣＢをそれぞれ介して主ビット線ＢＬと接続される。ＮＭＯＳトランジスタＱＣＡ，ＱＣＢは選択的にオン状態になるように制御される。図７の場合には、ＮＭＯＳトランジスタＱＣＡがオン状態であり、ＮＭＯＳトランジスタＱＣＢがオフ状態であるとする。これによって、副ビット線ＢＬＡに接続されたメモリセルＭＣ０にはプログラム電流Ｉ２が流れるが、副ビット線ＢＬＢに接続されたメモリセルＭＣ１にはプログラム電流が流れない。すなわち、メモリセルＭＣ０がプログラム対象として選択されたことになる。
【００５５】
主ビット線ＢＬは、さらに、カラム系選択回路３９に接続される。カラム系選択回路３９は、データのプログラムに関係する構成要素として、セレクタ５１と、ベリファイ用センスアンプ５０と、電流調整回路５２とを含む。
【００５６】
セレクタ５１およびベリファイ用センスアンプ５０は、複数の主ビット線ＢＬごとに（たとえば１６本の主ビット線ＢＬごとに）設けられる。この場合、セレクタ５１によって選択された主ビット線ＢＬに、ベリファイ用センスアンプ５０が接続される。ベリファイ動作時には、ソース線が接地電圧にされ、プログラム対象のメモリセルのドレインが副ビット線ＢＬＡおよび主ビット線ＢＬを順に経由してベリファイ用センスアンプ５０に接続される。
【００５７】
ベリファイ用センスアンプ５０は、接続されたメモリセルが電流を流すか流さないかでベリファイのＰａｓｓ／Ｆａｉｌを判定する。通常、ゲート酸化膜へのストレスによって信頼性が悪化しないようにするために、プログラムパルス印加の初発目から最大電圧を印加するのではなく、パルス印加ごとにベリファイ動作を挟みながらプログラムパルスの電圧レベルを徐々に上げる。ベリファイの結果がＦａｉｌのときは、再度プログラムパルスが印加される。すなわち、プログラムパルス（書込パルス）を印加した後にベリファイを実行するというステップを繰返すことによって一通りのプログラムが完了する。
【００５８】
電流調整回路５２は、プログラムパルス印加動作時に主ビット線ＢＬを流れる電流量を調整する。
【００５９】
電流調整回路５２は、書込用ラッチ回路５３、ベリファイ用ラッチ回路５４、ＡＮＤゲート５５、および電流切替回路６０を含む。これらの構成要素は、各主ビット線ＢＬに個別に対応して設けられる。
【００６０】
書込用ラッチ回路５３は、プログラム時に書込データを保持するための回路である。具体的には、データを書込む（書込データ“１”）場合にはハイレベル（Ｈレベル）のデータが保持され、データを書込まない（書込データ“０”）場合にはローレベル（Ｌレベル）のデータが保持される。
【００６１】
ベリファイ用ラッチ回路５４は、対応のビット線ＢＬに接続されたプログラム対象のメモリセルＭＣについて、ベリファイ用センスアンプ５０の判定結果を保持するための回路である。具体的には、プログラム開始前の初期状態にはＨレベルのデータが保持され、ベリファイがＰａｓｓした後にはＬレベルのデータが保持される。
【００６２】
電流切替回路６０は、スイッチ用のＮＭＯＳトランジスタ６３と、書込阻止電流生成部８０と、第１の書込電流生成部８１と、第２の書込電流生成部８２とを含む。
【００６３】
ＮＭＯＳトランジスタ６３のドレインは、ノードＮＤ１を介してビット線ＢＬと接続される。ＮＭＯＳトランジスタ６３は、ソース線ＳＬに接続されたＮＭＯＳトランジスタＱＡとともに、プログラムパルスの印加を開始および終了するためのスイッチとして用いられる。プログラム時には、ＮＭＯＳトランジスタＱＡ，６３がオン状態になることによって、選択セルＭＣ０にプログラム電流Ｉ２が流れる。
【００６４】
書込阻止電流生成部８０は、ノードＮＤ１と電源ノードＶＤＤとの間に接続される。書込阻止電流生成部８０は、選択セルＭＣ０にデータを書込まない（書込データ“０”）場合に、副ビット線ＢＬＡ，ＢＬＢの一端にそれぞれ接続されたＰＭＯＳトランジスタＱＤＡ，ＱＤＢの一方が生成する定電流Ｉ１と大きさが等しく反対方向の電流Ｉ６を生成して、主ビット線ＢＬに供給する。この結果、ビット線ＢＬに流れる電流Ｉ３と選択セルＭＣ０のチャネルに流れる電流Ｉ２とが０になるので、書込電流が阻止される。
【００６５】
より詳細には、書込阻止電流生成部８０は、電源ノードＶＤＤとノードＮＤ１との間に直列に接続されたＰＭＯＳトランジスタ６１，６２を含む。ＰＭＯＳトランジスタ６１は、ゲートに所定の電圧が印加されることによって、定電流Ｉ６を流す定電流源として用いられる。ＰＭＯＳトランジスタ６２は、ゲートに入力された書込用ラッチ回路５３の出力に応じてオンまたはオフが切替わるスイッチとして用いられる。書込用ラッチ回路５３の出力がＨレベル（書込データ“１”）のとき、ＰＭＯＳトランジスタ６２がオフ状態になる。書込用ラッチ回路５３の出力がＬレベル（書込データ“０”）のとき、ＰＭＯＳトランジスタ６２がオン状態になることによって、書込電流が阻止される。
【００６６】
第１の書込電流生成部８１は、スイッチ用のＮＭＯＳトランジスタ６３のソース（ノードＮＤ２）と接地ノードＶＳＳとの間に接続される。第１の書込電流生成部８１は、選択セルＭＣ０にデータを書込む（書込データ“１”）場合に、ＰＭＯＳトランジスタＱＤＡ，ＱＤＢの一方が生成する定電流Ｉ１と同方向の電流Ｉ４を生成する。
【００６７】
より詳細には、第１の書込電流生成部８１は、ノードＮＤ２と接地ノードとの間に直列に接続されたＮＭＯＳトランジスタ６４，６５を含む。ＮＭＯＳトランジスタ６４は、ゲートに入力された書込用ラッチ回路５３の出力に応じてオンまたはオフが切替わるスイッチとして用いられる。書込用ラッチ回路５３の出力がＨレベル（書込データ“１”）のとき、ＮＭＯＳトランジスタ６４がオン状態になることによって書込電流が流れる。書込用ラッチ回路５３の出力がＬレベル（書込データ“０”）のとき、ＮＭＯＳトランジスタ６４はオフ状態になる。ＮＭＯＳトランジスタ６５は、ゲートに所定の電圧が印加されることによって、定電流Ｉ４を流す定電流源として用いられる。
【００６８】
第２の書込電流生成部８２は、スイッチ用のＮＭＯＳトランジスタ６３のソース（ノードＮＤ２）と接地ノードＶＳＳとの間に、第１の書込電流生成部８１と並列に接続される。第２の書込電流生成部８２は、選択セルＭＣ０にデータを書込む（書込データ“１”）場合であり、かつ、ベリファイ結果がＰａｓｓになる前に、ＰＭＯＳトランジスタＱＤＡ，ＱＤＢの一方が生成する定電流Ｉ１と同方向の電流Ｉ５を生成する。ベリファイ結果がＰａｓｓになった後には、第２の書込電流生成部８２が生成する電流は０になる。
【００６９】
より詳細には、第２の書込電流生成部８２は、ノードＮＤ２と接地ノードとの間に直列に接続されたＮＭＯＳトランジスタ６６，６７を含む。ＮＭＯＳトランジスタ６６は、スイッチ用のトランジスタとして用いられる。ＮＭＯＳトランジスタ６６のゲートには、書込用ラッチ回路５３の出力とベリファイ用ラッチ回路５４の出力との論理積（ＡＮＤゲート５５の出力信号）が入力される。したがって、ＮＭＯＳトランジスタ６６は、メモリセルＭＣ０に書込データ“１”を書込む場合には、書込み前の初期状態ではオン状態になり、ベリファイの結果がＰａｓｓになった後はオフ状態になる。メモリセルＭＣ０に書込データ“０”を書込む場合には、ＮＭＯＳトランジスタ６６はオフ状態になる。ＮＭＯＳトランジスタ６７は、ゲートに所定の電圧が印加されることによって、定電流Ｉ５を流す定電流源として用いられる。
【００７０】
以上をまとめると、書込用ラッチ回路５３およびベリファイ用ラッチ回路に保持されたデータに応じて、スイッチ用のトランジスタ６２，６４，６６の各々がオン状態になるかオフ状態になるか、すなわち、電流切替回路６０の動作が決まる。具体的には以下のとおりである。
【００７１】
まず、書込用ラッチ回路５３に書込データ“０”が保持されている場合には、ＰＭＯＳトランジスタ６２がオン状態になり、ＮＭＯＳトランジスタ６４，６６がオフ状態になるので、電流切替回路６０は、主ビット線ＢＬをＶＤＤ側にチャージして書込電流が流れるのを阻止する。
【００７２】
書込用ラッチ回路５３に書込データ“１”が保持され、かつ、ベリファイ用ラッチにデータ“１”が保持されている場合（ベリファイがＰａｓｓする前）には、ＰＭＯＳトランジスタ６２がオフ状態になり、ＮＭＯＳトランジスタ６４，６６がオン状態になる。したがって、電流切替回路６０は、主ビット線ＢＬを接地（ＶＳＳ）側にチャージする（すなわち、主ビット線ＢＬから電流を引き抜く）。この結果、主ビット線ＢＬには、Ｉ４＋Ｉ５の電流が流れ、選択セルＭＣ０にはＩ４＋Ｉ５−Ｉ１の電流Ｉ２が流れる（強書込）。
【００７３】
書込用ラッチ回路５３に書込データ“１”が保持され、かつ、ベリファイ用ラッチにデータ“０”が保持されている場合（ベリファイがＰａｓｓした後）には、ＰＭＯＳトランジスタ６２およびＮＭＯＳトランジスタ６６がオフ状態になり、ＮＭＯＳトランジスタ６４がオン状態になる。したがって、電流切替回路６０は、主ビット線ＢＬを接地（ＶＳＳ）側にチャージ、すなわち、主ビット線ＢＬから電流を引き抜く。ただし、この場合に主ビット線ＢＬに流れる電流はＩ４となり、選択セルＭＣ０に流れる電流Ｉ２はＩ４−Ｉ１となり、ベリファイがＰａｓｓする前より小さい（弱書込）。上記の電流Ｉ４，Ｉ５，Ｉ６の具体的な設定値の例は図９で説明する。
【００７４】
［従来のプログラム方法の問題点］
以下では、上記の構成によるカラム系選択回路３９を用いない、従来のプログラム方法による問題点について説明する。
【００７５】
図８は、消去状態とプログラム状態のときの閾値電圧分布を示す図である。
図８（Ａ）を参照して、閾値電圧の違いによってデータを記憶する場合、データ“０”を記憶するときには閾値電圧が消去ベリファイ電圧ＥＶ以下になるようにする。この結果、データ“０”を記憶したメモリセルの閾値電圧は消去分布（ＥＲＳ分布）に含まれる。データ“１”を記憶するときには閾値電圧がプログラムベリファイ電圧ＰＶ以上になるようにする。この結果、データ“１”を記憶したメモリセルの閾値電圧はプログラム分布（ＰＲＧ分布）に含まれる。消去ベリファイ電圧ＥＶとプログラムベリファイ電圧ＰＶとの電圧差ＶＤは、データ保証期間などを考慮して決定される。
【００７６】
図８（Ｂ）を参照して、まず、プログラム対象の全メモリセルがプログラムベリファイをＰａｓｓするまで、全メモリセルにプログラムパルスを印加する場合の問題点について説明する。この場合、最初にプログラムベリファイをＰａｓｓしたメモリセル（図８（Ｂ）の参照符号４８）に対しては、ゲート酸化膜に過剰ストレスが印加されることになる。
【００７７】
別の問題としてプログラム速度の低下が挙げられる。ホットエレクトロン注入による書込方式では、プログラム時にはプログラム電流を流す必要があるが。電流経路の寄生抵抗によって電圧ドロップ（ＩＲドロップ）が生じる。電圧ドロップが生じると設定していた電圧値より低い電圧値しかメモリセルに印加できなくなるため、プログラムが遅いメモリセル（図８（Ｂ）の参照符号４９）は、なかなかプログラムが完了せずに、チップ全体としてプログラム速度が低下する原因となる。
【００７８】
一方、プログラムベリファイをＰａｓｓしたメモリセルをマスクし、以降のプログラムパルスを印加しない手法もあるが、この手法は窒化膜系のトラップメモリには使用できない。なぜなら、ＰＲＧパルス印加後、短時間でのデトラップがあるため、一度プログラムベリファイＰａｓｓしたメモリセルをマスクすると、そのメモリセルの閾値電圧はプログラムベリファイ電圧ＰＶ以下まで閾値電圧がシフトするからである。
【００７９】
［実施の形態１の場合のプログラム時の動作］
実施の形態１による不揮発性メモリ装置の場合には、上述した問題点を解決できる。以下、実施の形態１の場合のプログラム時の動作について具体的に説明する。
【００８０】
図９は、プログラムパルス印加動作時にメモリセルＭＣに流れる電流をまとめた表を示した図である。図９では、図７の定電流源用のトランジスタＱＤＡ，ＱＤＢに流れる電流Ｉ１を３μＡに設定し、定電流源用のトランジスタ６５に流れる電流Ｉ４を３．５μＡに設定し、定電流源用のトランジスタ６７に流れる電流Ｉ５を１．５μＡに設定し、定電流源用のトランジスタ６１に流れる電流Ｉ６を３μＡに設定した場合が示される。この場合、書込用ラッチ回路５３およびベリファイ用ラッチ回路５４の状態に応じてメモリセルには下記のような電流が流れる。
【００８１】
（１）書込対象セルの初期化後で、前パルス印加後のベリファイ結果がＦａｉｌのとき
書込用ラッチ回路５３の出力…”Ｈ”
ベリファイ用ラッチ回路５４の出力…”Ｈ”
よって、
書込用電流源トランジスタ６５  …活性
書込用電流源トランジスタ６７  …活性
書込電流Ｉ４＋Ｉ５の強書込でパルスが印加されるので、書込対象のメモリセルに流れるプログラム電流（書込電流）Ｉ２は、Ｉ３−Ｉ１＝Ｉ４＋Ｉ５−Ｉ１＝２μＡになる。
【００８２】
（２）前パルス印加後のベリファイ結果がＰａｓｓのとき
書込用ラッチ回路５３の出力…”Ｈ”
ベリファイ用ラッチ回路５４の出力…”Ｌ”
よって、
書込用電流源トランジスタ６５  …活性
書込用電流源トランジスタ６７  …非活性
書込電流Ｉ４のみの弱書込でパルスが印加されるので、書込対象のメモリセルに流れるプログラム電流Ｉ２は、Ｉ３−Ｉ１＝Ｉ４−Ｉ１＝０．５μＡになる。
【００８３】
（３）非書込対象セル
書込用ラッチ回路５３の出力…”Ｌ”
ベリファイ用ラッチ回路５４の出力…”Ｈ”
よって、
書込用電流源トランジスタ６５  …非活性
書込用電流源トランジスタ６７  …非活性
すなわち、非書込対象のメモリセルに流れるプログラム電流Ｉ２は０になり非書込状態になる。
【００８４】
このように、書込用電流源を、通常書込用と弱書込用との２種類に切替可能にすることにより、ベリファイ結果に応じて書込対象のメモリセルごとに書込電流を変化させることができる。すなわち、プログラムベリファイ時に書込対象の全メモリセルがＰａｓｓせず、再度プログラムパルスを印加する場合には、ベリファイがＰａｓｓした一部のメモリセルに対しては、書込電流を絞ることにより弱書込状態にすることができる。
【００８５】
この結果、プログラムベリファイ電圧ＰＶ以上の閾値電圧を有するメモリセルに対しては過剰プログラムによるゲート酸化膜のストレスを緩和できる。さらには、弱書込状態にすることによって、閾値電圧のプログラム分布の上限値を上げずに下限値の低下を抑制することができるので、分布の幅をより狭くすることができる。
【００８６】
プログラムベリファイをパスしたメモリセルに流す書込電流を絞ることによって、チップ全体の書込速度を向上させるという効果もある。すなわち、書込電流を絞ることによって余分な電流消費がないため、図７のチャージポンプ３３からソース線ＳＬに至る経路での電圧ドロップ量が抑えられる。具体的には、図７の配線４３，４４，４５による損失や、ディストリビュータ４１やトランジスタＱＡなどのスイッチによる損失、ドライバＳＬＤによる損失が抑制される。この結果、まだプログラムベリファイ電圧ＰＶに達していないメモリセルに印加するパルス電圧の電圧ドロップを抑制することができるので、電圧ドロップ量が大きい場合に比べて書込時間を低減できる。
【００８７】
図１０は、プログラム時にメモリゲートに印加される電圧波形を概略的に示すタイミング図である。図１０のタイミング図は、プログラムパルスを印加するタイミング（すなわち、ソース線ＳＬにプログラム電流が流れるタイミング）も併せて示している。
【００８８】
図１０を参照して、時刻ｔ１から時刻ｔ２の間で、図４の電源回路３３で生成された所定の電圧Ｖ１が、選択行の各メモリセルＭＣのメモリゲート２３に印加される。この状態で、図４のソース線ドライバ部３８から選択行のソース線ＳＬにパルス電圧が印加される（すなわち、選択行のソース線ＳＬにプログラム電流が流れる）。パルス電圧の印加は、図７のＮＭＯＳトランジスタＱＡおよび６３をオンすることによって行なわれるので、図５に示したメモリブロック単位で行なわれることになる。たとえば、図５において、メモリアレイ３０の第１行目が選択されている場合には、最初にＮＭＯＳトランジスタＱＡ０をオンすることによって、メモリブロックＭＢ０に設けられた第１行目のソース線ＳＬ０（図６のソース線ＳＬ０＿０に相当する）にパルス電圧が印加される。このとき、図６において、メモリセルＭＣ（０，０）〜ＭＣ（０，５１１）の５１２個のメモリセルのうち、トランジスタＱＣ０Ａ，ＱＣ０Ｂ〜ＱＣ２５５Ａ，ＱＣ２５５Ｂで選択された２５６個のメモリセルにパルス電圧が同時に印加される。
【００８９】
次に、ＮＭＯＳトランジスタＱＡ１をオンすることによって、メモリブロックＭＢ１に設けられた第１行目のソース線ＳＬ１にパルス電圧が印加される。これによって、第１行目のソース線ＳＬ１に接続された２５６個のメモリセルにパルス電圧が印加される。以下同様に、ＮＭＯＳトランジスタＱＡ２〜ＱＡ７を順次オンすることによって、メモリブロックＭＢ２〜ＭＢ７にそれぞれ設けられた第１行目のソース線ＳＬ２〜ＳＬ７にパルス電圧が印加される（なお、図５には図示していないが、メモリブロックＭＢ０〜ＭＢ３１に設けられたソース線をそれぞれＳＬ０〜ＳＬ３１としている）。
【００９０】
次の時刻ｔ３から時刻ｔ４の間で、選択行の各メモリセルＭＣのメモリゲート２３に印加される電圧がプログラムベリファイ電圧ＰＶに設定される。そして、この期間に、時刻ｔ１〜ｔ２でパルス電圧を印加したメモリセルについてベリファイを実行する。この結果、ベリファイをＰａｓｓしたメモリセルについては、図７で示した対応のベリファイ用ラッチ回路５４に保持されるデータが“１”から“０”に変更される。
【００９１】
次の時刻ｔ５から時刻ｔ６の間で、選択行の各メモリセルＭＣのメモリゲート２３にプログラム時の電圧Ｖ２が印加される。メモリゲート２３に印加される電圧Ｖ２は初回（時刻ｔ１から時刻ｔ２まで）のパルス印加のときの電圧Ｖ１よりも高い。このようにメモリゲートに印加される電圧は段階的に上げていくのが望ましい。この状態で、図４のソース線ドライバ部３８から選択行の各ソース線ＳＬ０〜ＳＬ７に順番にパルス電圧が印加される（すなわち、選択行のソース線ＳＬにプログラム電流が流れる）。このとき、時刻ｔ３から時刻ｔ４の間で行なったベリファイ結果がＰａｓｓのものについては書込電流が通常よりも低い弱書込になる。
【００９２】
以下、同様に時刻ｔ７から時刻ｔ８の間で、選択行の各メモリセルに印加されるメモリゲート電圧がプログラムベリファイ電圧ＰＶに設定され、選択行のメモリセルに対してベリファイが実行される。ベリファイ結果を受けてベリファイ用ラッチ回路５４に保持されるデータが更新される。次の時刻ｔ９から時刻ｔ１０の間で、選択行の各メモリセルＭＣのメモリゲート２３にプログラム時の電圧Ｖ３が印加される。この状態で、図４のソース線ドライバ部３８から選択行の各ソース線ＳＬ０〜ＳＬ７に順番にパルス電圧が印加される。
【００９３】
図１１は、実施の形態１の場合のプログラム手順を示すフローチャートである。以下、図７、図１１を参照して、これまで説明したプログラム手順について総括する。以下のプログラム手順は、図３の制御回路３２による制御によって実行される。
【００９４】
まず、ステップＳ１０で、全ての書込用ラッチ回路５３および全てのベリファイ用ラッチ回路５４が初期化される。
【００９５】
次のステップＳ２０で、アドレスを指定するためのレジスタに、書込対象のメモリセルのうち先頭アドレスが設定される。この場合、行アドレスは選択行に固定され、列アドレスは書込対象のメモリセルのうち先頭列に設定される。
【００９６】
次のステップＳ３０で、設定された列アドレスに対応する書込用ラッチ回路５３に書込データ（“１”または“０”）が入力される。
【００９７】
次のステップＳ４０で、全書込データの入力が完了したか否かの確認が行なわれ、未完了の場合には（ステップＳ４０でＮＯ）、アドレス指定用のレジスタに設定するアドレス番号が増加される（ステップＳ５０）。この場合、行アドレスは選択行に固定され、列アドレスは２列分ずつ増加される。その後、ステップＳ３０に処理が戻る。なお、実施の形態１の場合には、図７のＮＭＯＳトランジスタＱＣＡ，ＱＣＢによって、副ビット線ＢＬＡ，ＢＬＢのいずれかが選択されるので、列番号の増加は２列ずつになる。
【００９８】
全書込データの入力が完了すると（ステップＳ４０でＹＥＳ）、ステップＳ６０に進み、書込データが“１”に設定されたメモリセルにプログラムパルスが印加される。パルス電圧の印加は、図７のＮＭＯＳトランジスタＱＡおよび６３をオンすることによって行なわれるので、図５に示したメモリブロック単位で行なわれることになる。具体的には、選択行に対応する各メモリブロックのソース線に順次パルス電圧が印加される。パルス電圧を印加するごとに、図３の制御回路３２に設けられたＳＬカウンタによってパルス電圧を印加したブロック数がカウントされる。
【００９９】
次のステップＳ７０で、アドレスを指定するためのレジスタに、書込対象のメモリセルのうち先頭アドレスが設定される。この場合、行アドレスは選択行に固定され、列アドレスは先頭列に設定される。
【０１００】
次のステップＳ８０で、アドレス指定用のレジスタに設定されたアドレスに対応するメモリセルに対してプログラムベリファイが実施される。
【０１０１】
次のステップＳ９０で、ステップＳ８０で実行したベリファイの判定結果がパス（Ｐａｓｓ）であれば、パスしたメモリセルＭＣに対応するベリファイ用ラッチ回路５４に保持されるデータの論理レベルが反転される。
【０１０２】
次のステップＳ１００で、書込対象メモリセルのうち最終アドレスのメモリセルまでベリファイが完了したか否かの確認が行なわれ、未完了の場合には（ステップＳ１００でＮＯ）、アドレス指定用のレジスタに設定するアドレス番号が増加される（ステップＳ１１０）。この場合、行アドレスは選択行に固定され、列アドレスは次の書込データ“１”のメモリセルの列番号まで増加する。その後、ステップＳ８０に処理が戻る。なお、既にベリファイをパスしたメモリセルについては、ベリファイ動作をスキップしてもよい。
【０１０３】
最終アドレスのメモリセルまでベリファイが完了すると（ステップＳ１００でＹＥＳ）、次のステップＳ１２０に処理が進む。ステップＳ１２０では、データ“１”を書込んだ全書込メモリセルでベリファイがパスしたか否かが判定される。全書込メモリセルでベリファイがパスすると（ステップＳ１２０でＹＥＳ）処理が終了する。全書込メモリセルでベリファイがパスしていない場合には、ステップＳ６０に処理が戻る。
【０１０４】
＜実施の形態２＞
図１２は、この発明の実施の形態２による不揮発性メモリ装置のうちデータのプログラムに関係する部分を示した図である。
【０１０５】
図１２のカラム系選択回路７０は、セレクタ７１とカウンタ７２をさらに含む点で図７のカラム系選択回路３９と異なる。セレクタ７１は、メモリブロック内の各ＡＮＤゲート５５の出力信号を順に選択して出力する。カウンタ７２は、セレクタ７１を介して受けた複数のＡＮＤゲート５５の出力のうち、論理レベルがＨレベルのもの（すなわち、ベリファイ結果がＦａｉｌであり、プログラムが未完了のメモリセル数）をカウントする。カウンタ７２の出力結果は、図４の制御回路３２に出力される。
【０１０６】
図１３は、図１２の不揮発性メモリ装置によるプログラムの手順について説明するための図である。
【０１０７】
一般的にＮＯＲ型のフラッシュメモリでは、ホットエレクトロンを用いた書込が行なわれるので、所定の大きさ書込電流を流すためにソースまたはドレインに高電圧を印加する必要がある。このとき、チャージポンプ回路の電流容量には限界があるので、同時書込可能なメモリセル数には上限が存在する。そこで、同時書込可能なメモリセル数に応じて、メモリアレイが複数のグループ（図５のメモリブロックＭＢ）に分割され、グループごとに順番に書込が行なわれる。
【０１０８】
実施の形態２による不揮発性メモリ装置の場合には、グループごとにプログラムが未完了のメモリセル数をカウントしているので、プログラムが未完了のメモリセル数（Ｆａｉｌビット数）が減少するにつれて、複数のグループに同時にプログラムパルスを印加することにより、同時に書込むグループ数を増加させることができる。この結果、チップ全体でのプログラム時間を短縮することができる。
【０１０９】
以下、図５、図１３を参照して、具体的に説明する。図１３では、図５に示したメモリアレイ３０において、行アドレス信号に応じた選択行として第１行目（メモリゲート線ＭＧＬ０に対応）が選択され、この選択行の全ビットのメモリセルにデータ“１”（高閾値電圧分布）を書込む場合が想定されている。
【０１１０】
図１３（Ａ）に示すプログラムパルスの１発目は、最小分割単位（すなわち、メモリブロックＭＢ０のソース線ＳＬ０、メモリブロックＭＢ１のソース線ＳＬ１、…、メモリブロックＭＢ７のソース線ＳＬ７）ごとにプログラムパルスを印加することになる。各最小分割単位には２５６ビット（ｂｉｔ）のプログラム対象のメモリセルが含まれる。
【０１１１】
プログラムパルスの印加回数が増加するにつれて、ベリファイをＰａｓｓするメモリセル数が増加する。すなわち、図１３に数値で示したプログラム未完了のメモリセル数（Ｆａｉｌビット数とも称する）は減少する。図１３（Ｂ）の場合には、Ｆａｉｌビット数が各ブロックで２００ビットになっている。ベリファイをＰａｓｓしたメモリセルに対しては弱書込を行なうことにすると、１発ごとのプログラムパルスで流れる全書込電流は、Ｆａｉｌビット数が減少するにつれて減少する。
【０１１２】
図１３（Ｃ）では、ソース線ＳＬ０，ＳＬ１，ＳＬ５，ＳＬ６に対応するＦａｉｌビット数がそれぞれ１２０ビットになっている。この場合、連続する２ブロックのＦａｉｌビット数の和が２５６ビット以下であれば、２ブロックをマルチ選択して同時にプログラムパルスを印加することができる。図１３（Ｃ）の場合には、ソース線ＳＬ０，ＳＬ１に対応するメモリセルに同時にプログラムパルスを印加し、ソース線ＳＬ５，ＳＬ６に対応するメモリセルに同時にプログラムパルスを印加している。
【０１１３】
プログラムパルスの印加回数が増加するにつれて、さらにＦａｉｌビット数が減少するので、同時にプログラムパルスを印加するブロック数（すなわち、同時に動作させるソース線ドライバ数）を増加させることができる。図１３（Ｄ）の場合には、ソース線ＳＬ０，ＳＬ１，ＳＬ２用のソース線ドライバを同時に動作させることでメモリブロックＭＢ０，ＭＢ１，ＭＢ２に同時にプログラムパルスが印加されている。同様に、ソース線ＳＬ３，ＳＬ４用のソース線ドライバを同時に動作させ、ソース線ＳＬ５，ＳＬ６，ＳＬ７用のソース線ドライバを同時に動作させることができる。すなわち、３回のプログラムパルスの印加で選択行の全メモリセルにプログラムパルスを印加することができる。最終的に図１３（Ｅ）の場合には、選択行の全メモリセルにプログラムパルスが同時に印加される。
【０１１４】
上記の説明では、選択行の全メモリセルにデータ“１”を書込む場合について説明したが、通常、選択行のメモリセルに書込むデータ“１”、“０”はランダムである。したがって、１発目のプログラムパルスの印加の場合においても、プログラム未完了のメモリセル数（Ｆａｉｌビット数）に応じて、複数のブロックに同時にプログラムパルスを印加することができる。
【０１１５】
上記の説明では、連続するブロックに同時にプログラムパルスを印加する例について説明したが、必ずしも連続するブロックに同時にプログラムパルスを印加する必要はない。たとえば、図１３（Ｃ）の場合には、ソース線ＳＬ０，ＳＬ５に対応するメモリセルに同時にプログラムパルスを印加してもよい。
【０１１６】
図１４は、メモリブロックの同時選択を行なわない通常状態においてソース線およびビット線に印加される電圧波形を示すタイミングチャートである。
【０１１７】
図１５は、メモリブロックの同時選択状態においてソース線およびビット線に印加される電圧波形を示すタイミングチャートである。図１５では、ソース線ＳＬ０，ＳＬ１に対応するメモリブロックが同時選択されている。
【０１１８】
図５、図１４を参照して、プログラムパルスを印加しない定常状態（時刻ｔ１より前）では、各ソース線ドライバＳＬＤから出力される電圧はＬレベルであり、各主ビット線ＢＬの電圧はＨレベルになっている。
【０１１９】
時刻ｔ１で、ソース線ドライバＳＬＤ０からソース線ＳＬ０にＨレベルの電圧が供給される。同時に、主ビット線ＢＬ０〜ＢＬ２５５に対応するスイッチ用のトランジスタ６３（図１２参照）がオン状態になることにより、主ビット線ＢＬ０〜ＢＬ２５５の電圧がＬレベルになる（ただし、主ビット線ＢＬ０〜ＢＬ２５５に接続される全選択メモリセルにデータ“１”を書込むとする）。
【０１２０】
次の時刻ｔ２で、ソース線ドライバＳＬＤ０からソース線ＳＬ０に供給される電圧はＬレベルに戻り、ソース線ドライバＳＬＤ１からソース線ＳＬ１に供給される電圧がＨレベルに変化する。同時に、主ビット線ＢＬ０〜ＢＬ２５５の電圧はＨレベルに戻り、主ビット線ＢＬ２５６〜ＢＬ５１１の電圧がＬレベルに変化する。
【０１２１】
次の時刻ｔ３で、ソース線ドライバＳＬＤ１からソース線ＳＬ１に供給される電圧はＬレベルに戻り、ソース線ドライバＳＬＤ２からソース線ＳＬ２に供給される電圧がＨレベルに変化する。同時に、主ビット線ＢＬ２５６〜ＢＬ５１１の電圧はＨレベルに戻り、主ビット線ＢＬ５１２〜ＢＬ７５５の電圧がＬレベルに変化する。以下、同様に進行する。
【０１２２】
次に、図５、図１５を参照して、ソース線ＳＬ０，ＳＬ１に対応するメモリセルに同時にプログラムパルスを印加する場合を説明する。この場合、時刻ｔ１で、ソース線ドライバＳＬＤ０からソース線ＳＬ０にＨレベルの電圧が供給されるとともに、ソース線ドライバＳＬＤ１からソース線ＳＬ１にＨレベルの電圧が供給される。同時に、主ビット線ＢＬ０〜ＢＬ２５５の電圧がＬレベルになるとともに、主ビット線ＢＬ２５６〜ＢＬ５１１の電圧がＬレベルになる。
【０１２３】
次に時刻ｔ３で、ソース線ドライバＳＬＤ０，ＳＬＤ１からソース線ＳＬ０，ＳＬ１にそれぞれ供給される電圧はＬレベルに戻り、ソース線ドライバＳＬＤ２からソース線ＳＬ２に供給される電圧がＨレベルに変化する。同時に、主ビット線ＢＬ０〜ＢＬ５１１の電圧はＨレベルに戻り、主ビット線ＢＬ５１２〜ＢＬ７５５の電圧がＬレベルに変化する。以下、図１４の場合と同様に進行する。
【０１２４】
図１６は、実施の形態２の場合のプログラム手順を示すフローチャートである。図１６のフローチャートは、ステップＳ５５，Ｓ９５をさらに含む点で、図１１のフローチャートと異なる。図１１と同一のステップについては、同一の参照符号を付して説明を簡略化する。なお、以下に示したプログラム手順は、図３の制御回路３２による制御によって実行される。
【０１２５】
まず、ステップＳ１０で、全ての書込用ラッチ回路５３および全てのベリファイ用ラッチ回路５４が初期化される。
【０１２６】
次のステップＳ２０で、アドレス指定用のレジスタに、書込対象のメモリセルのうち先頭アドレスが設定される。この場合、行アドレスは選択行に固定され、列アドレスは書込対象のメモリセルのうち先頭列に設定される。
【０１２７】
次のステップＳ３０で、設定された列アドレスに対応する書込用ラッチ回路５３に書込データ（“１”または“０”）が入力される。
【０１２８】
次のステップＳ４０で、全書込データの入力が完了したか否かの確認が行なわれ、未完了の場合には（ステップＳ４０でＮＯ）、アドレス指定用のレジスタに設定するアドレス番号が増加される（ステップＳ５０）。その後、ステップＳ３０に処理が戻る。
【０１２９】
全書込データの入力が完了すると（ステップＳ４０でＹＥＳ）、次のステップＳ５５で、同時にデータ書込みを行なうブロックの組合せが決定される。既に説明したように、パルス電圧の印加は、図５に示したメモリブロック単位で行なわれ、具体的には、選択行に対応する各メモリブロックのソース線にパルス電圧が印加される。この際、チャージポンプ回路の電流容量を超えなければ、いくつかのブロックをまとめて同時にパルス電圧を印加することが可能である。そこで、ステップＳ５５では、図１３のカウンタ７２によって各ブロックごとにカウントされるプログラム未完了のメモリセル数（Ｆａｉｌビット数）に基づいて、チャージポンプ回路の電流容量を超えない範囲内で、同時にデータ書込みを行なうブロックの組合せが決定される。
【０１３０】
次のステップＳ６０で、ステップＳ５５で決定したブロックの組合せごとに順番にプログラムパルスが印加される。パルス電圧を印加するごとに、図３の制御回路３２に設けられたＳＬカウンタによってパルス電圧を印加したブロック数がカウントされる。
【０１３１】
次のステップＳ７０で、アドレス指定用のレジスタに、書込対象のメモリセルのうち先頭アドレスが設定される。この場合、行アドレスは選択行に固定され、列アドレスは先頭列に設定される。
【０１３２】
次のステップＳ８０で、アドレス指定用のレジスタに設定されたアドレスに対応するメモリセルに対してプログラムベリファイが実施される。
【０１３３】
次のステップＳ９０で、ステップＳ８０で実行したベリファイの判定結果がパス（Ｐａｓｓ）であれば、パスしたメモリセルＭＣに対応するベリファイ用ラッチ回路５４に保持されるデータの論理レベルが反転される。
【０１３４】
次のステップＳ９５で、ステップＳ８０で実行したベリファイの判定結果がフェイル（Ｆａｉｌ）であれば、メモリブロックごとに設けられた図１２のカウンタ７２によって、Ｆａｉｌビット数としてカウントする。
【０１３５】
次のステップＳ１００で、書込対象メモリセルのうち最終アドレスのメモリセルまでベリファイが完了したか否かの確認が行なわれ、未完了の場合には（ステップＳ１００でＮＯ）、アドレス指定用のレジスタに設定するアドレス番号が増加される（ステップＳ１１０）。この場合、行アドレスは選択行に固定され、列アドレスは次の書込データ“１”のメモリセルの列番号まで増加する。その後、ステップＳ８０に処理が戻る。なお、既にベリファイをパスしたメモリセルについては、ベリファイ動作をスキップしてもよい。
【０１３６】
最終アドレスのメモリセルまでベリファイが完了すると（ステップＳ１００でＹＥＳ）、次のステップＳ１２０で、データ“１”を書込んだ全書込メモリセルでベリファイがパスしたか否かが判定される。全書込メモリセルでベリファイがパスすると（ステップＳ１２０でＹＥＳ）処理が終了する。全書込メモリセルでベリファイがパスしていない場合には、ステップＳ５５に処理が戻る。
【０１３７】
ステップＳ５５では、ステップＳ９５でカウントされたブロックごとのＦａｉｌビット数に基づいて、チャージポンプ回路の電流容量を超えない範囲内で、同時にデータ書込みを行なうブロックの組合せが新たに決定される。
【０１３８】
今回開示された実施の形態はすべての点で例示であって制限的なものでないと考えられるべきである。この発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１３９】
１  マイクロコンピュータチップ、４  不揮発性メモリ装置、２０  Ｐ型シリコン基板、２１  コントロールゲート、２２  窒化シリコン膜、２３  メモリゲート、２４  ソース、２５  ドレイン、３０  メモリアレイ、３２  制御回路、３３  チャージポンプ（電源回路）、３４  電源切替回路、３５  ワード線デコーダ部、３６  コントロールゲート線ドライバ部、３７  メモリゲート線ドライバ部、３８  ソース線ドライバ部、３９，７０  カラム系選択回路、５０  ベリファイ用センスアンプ、５１，７１  セレクタ、５２  電流調整回路、５３  書込用ラッチ回路、５４  ベリファイ用ラッチ回路、６０  電流切替回路、６５，６７  書込用電流源トランジスタ、７２  カウンタ、ＢＬ  主ビット線、ＢＬＡ，ＢＬＢ，ＳＢＬ  副ビット線、ＣＧＬ  コントロールゲート線、ＥＶ  消去ベリファイ電圧、ＭＢ０〜ＭＢ３１  メモリブロック、ＭＣ，ＭＣ０，ＭＣ１  メモリセル、ＭＧＬ  メモリゲート線、ＰＶ  プログラムベリファイ電圧、ＳＬ  ソース線、ＳＬＤ  ソース線ドライバ。
【図１】
2013041642.tif 000003
【図２】
2013041642.tif 000004
【図３】
2013041642.tif 000005
【図４】
2013041642.tif 000006
【図５】
2013041642.tif 000007
【図６】
2013041642.tif 000008
【図７】
2013041642.tif 000009
【図８】
2013041642.tif 000010
【図９】
2013041642.tif 000011
【図１０】
2013041642.tif 000012
【図１１】
2013041642.tif 000013
【図１２】
2013041642.tif 000014
【図１３】
2013041642.tif 000015
【図１４】
2013041642.tif 000016
【図１５】
2013041642.tif 000017
【図１６】
2013041642.tif 000018