(57)【要約】【課題】動作信頼性を向上出来る半導体記憶装置を提供すること。【解決手段】データを保持可能なメモリセルＭＴと、前記メモリセルＭＴに電気的に接続されたビット線ＢＬ及びソース線ＳＬと、前記ソース線ＳＬに電圧を印加するソース線ドライバ２０と、電流をセンスしてデータを読み出すセンスアンプ１２と、読み出し動作及びベリファイ動作時において、オン状態または／及びオフ状態の前記メモリセルＭＴの数をカウントするカウント回路２３と、前記読み出し動作及びベリファイ動作時において、ソース線ＳＬの電圧が基準電圧ＶＲＥＦ＿ＳＲＣを超えたか否かを検出する検出回路２１と、前記検出回路２１における検出結果に応じて、前記センスアンプ１２におけるセンス回数を制御し、且つ前記カウント回路２３におけるカウント結果に応じて、前記ソース線ドライバ２０の駆動力を制御する制御回路１６とを具備する。【選択図】図７
2010211899.tif 000002
【特許請求の範囲】
【請求項１】
電荷蓄積層と制御ゲートとを含み、データを保持可能なメモリセルと、
前記メモリセルのドレインに電気的に接続されたビット線と、
前記メモリセルのソースに電気的に接続されたソース線と、
前記ソース線に電圧を印加するソース線ドライバと、
前記データの読み出し動作及びベリファイ動作時において、前記ビット線に流れる電流をセンスして、前記データを読み出すセンスアンプと、
前記読み出し動作及びベリファイ動作時において、オン状態または／及びオフ状態の前記メモリセルの数をカウントするカウント回路と、
前記読み出し動作及びベリファイ動作時において、前記ソース線の電圧が基準電圧を超えたか否かを検出する検出回路と、
前記検出回路における検出結果に応じて、前記センスアンプにおけるデータのセンス回数を制御し、且つ前記カウント回路におけるカウント結果に応じて、前記ソース線ドライバの駆動力を制御する制御回路と
を具備することを特徴とする半導体記憶装置。
【請求項２】
前記制御回路は、前記ソース線の電圧が前記基準電圧を超えた場合、前記センス回数を２回以上とし、且つ、
前記オン状態の前記メモリセルの数が規定値以下であった場合、１回目のセンス時よりも、２回目以降のセンス時における前記ソース線ドライバの駆動力を上昇させる
ことを特徴とする請求項１記載の半導体記憶装置。
【請求項３】
電荷蓄積層と制御ゲートとを含み、データを保持可能なメモリセルと、
前記メモリセルのドレインに電気的に接続されたビット線と、
前記メモリセルのソースに電気的に接続されたソース線と、
前記ソース線に電圧を印加するソース線ドライバと、
前記データの読み出し動作及びベリファイ動作時において、前記ビット線に流れる電流をセンスして、前記データを読み出すセンスアンプと、
前記読み出し動作及びベリファイ動作時において、オン状態または／及びオフ状態の前記メモリセルの数をカウントするカウント回路と、
前記読み出し動作及びベリファイ動作時において、前記ソース線の電圧が基準電圧を超えたか否かを検出する検出回路と、
前記検出回路における検出結果と前記カウント回路におけるカウント結果とに応じて、前記センスアンプにおけるデータのセンス回数を制御し、且つ前記カウント回路におけるカウント結果に応じて、前記ソース線ドライバの駆動力を制御する制御回路と
を具備することを特徴とする半導体記憶装置。
【請求項４】
前記制御回路は、前記ソース線の電圧が前記基準電圧を超えた場合、及び前記ソース線の電圧が前記基準電圧を超え、且つ前記オン状態の前記メモリセルの数が第１規定値を超えた場合、前記センス回数を２回以上とし、且つ
前記オン状態の前記メモリセルの数が第２規定値以下であった場合に、１回目のセンス時よりも、２回目以降のセンス時における前記ソース線ドライバの駆動力を上昇させる
ことを特徴とする請求項３記載の半導体記憶装置。
【請求項５】
電荷蓄積層と制御ゲートとを含み、データを保持可能なメモリセルと、
前記メモリセルのドレインに電気的に接続されたビット線と、
前記メモリセルのソースに電気的に接続されたソース線と、
前記ソース線に電圧を印加するソース線ドライバと、
前記データの読み出し動作及びベリファイ動作時において、前記ビット線に流れる電流をセンスして、前記データを読み出すセンスアンプと、
前記読み出し動作及びベリファイ動作時において、オン状態または／及びオフ状態の前記メモリセルの数をカウントするカウント回路と、
前記読み出し動作及びベリファイ動作時において、前記ソース線の電圧が基準電圧を超えたか否かを検出する検出回路と、
前記検出回路における検出結果と前記カウント回路におけるカウント結果とに応じて、前記センスアンプにおけるデータのセンス回数、及び前記ソース線ドライバの駆動力を制御する制御回路と
を具備することを特徴とする半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、半導体記憶装置に関する。
【背景技術】
【０００２】
従来、不揮発性の半導体メモリとしてＮＡＮＤ型フラッシュメモリが知られている。またＮＡＮＤ型フラッシュメモリでは、データの読み出し方法として、電流をセンスする方法を知られている（例えば特許文献１参照）。
【０００３】
本手法であると、ビット線の電位を一定に保つことで、ビット線間のノイズの影響を低減している。しかしながら、ビット線の電位を一定とするために、ビット線からソース線にセル電流を流し続ける必要がある。そのため、セル電流の総計が、非常に大きくなり、製品としての信頼性を悪化させる恐れがあった。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２００６−５００７２７号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
この発明は、動作信頼性を向上出来る半導体記憶装置を提供する。
【課題を解決するための手段】
【０００６】
この発明の一態様に係る半導体記憶装置は、電荷蓄積層と制御ゲートとを含み、データを保持可能なメモリセルと、前記メモリセルのドレインに電気的に接続されたビット線と、前記メモリセルのソースに電気的に接続されたソース線と、前記ソース線に電圧を印加するソース線ドライバと、前記データの読み出し動作及びベリファイ動作時において、前記ビット線に流れる電流をセンスして、前記データを読み出すセンスアンプと、前記読み出し動作及びベリファイ動作時において、オン状態または／及びオフ状態の前記メモリセルの数をカウントするカウント回路と、前記読み出し動作及びベリファイ動作時において、前記ソース線の電圧が基準電圧を超えたか否かを検出する検出回路と、前記検出回路における検出結果に応じて、前記センスアンプにおけるデータのセンス回数を制御し、且つ前記カウント回路におけるカウント結果に応じて、前記ソース線ドライバの駆動力を制御する制御回路とを具備する。
【発明の効果】
【０００７】
本発明によれば、動作信頼性を向上出来る半導体記憶装置を提供出来る。
【図面の簡単な説明】
【０００８】
【図１】この発明の第１の実施形態に係るフラッシュメモリのブロック図。
【図２】この発明の第１の実施形態に係るフラッシュメモリの一部領域のブロック図。
【図３】この発明の第１の実施形態に係るメモリセルユニットの断面図。
【図４】この発明の第１の実施形態に係るメモリセルの閾値分布を示すグラフ。
【図５】この発明の第１の実施形態に係るセンスアンプの回路図。
【図６】この発明の第１の実施形態に係るメモリセルユニットの回路図。
【図７】この発明の第１の実施形態に係るフラッシュメモリの動作を示すフローチャート。
【図８】この発明の第１の実施形態に係るフラッシュメモリにおける、各種電圧のタイミングチャート。
【図９】この発明の第２の実施形態に係るフラッシュメモリの動作を示すフローチャート。
【図１０】この発明の第２の実施形態に係るフラッシュメモリにおける、オンセル数とソース線の電圧との関係を示すグラフ。
【図１１】この発明の第３の実施形態に係るフラッシュメモリの動作を示すフローチャート。
【図１２】この発明の第３の実施形態に係るフラッシュメモリにおける、オンセル数とソース線の電圧との関係を示すグラフ。
【図１３】この発明の第４の実施形態に係るフラッシュメモリの動作を示すフローチャート。
【図１４】この発明の第４の実施形態に係るフラッシュメモリにおける、オンセル数とソース線の電圧との関係を示すグラフ。
【図１５】この発明の第５の実施形態に係るフラッシュメモリの動作を示すフローチャート。
【図１６】この発明の第５の実施形態に係るフラッシュメモリにおける、オンセル数とソース線の電圧との関係を示すグラフ。
【図１７】この発明の第６の実施形態に係るフラッシュメモリの動作を示すフローチャート。
【図１８】この発明の第６の実施形態に係るフラッシュメモリにおける、オンセル数とソース線の電圧との関係を示すグラフ。
【図１９】この発明の第７の実施形態に係るフラッシュメモリの動作を示すフローチャート。
【図２０】この発明の第７の実施形態に係るフラッシュメモリにおける、オンセル数とソース線の電圧との関係を示すグラフ。
【図２１】この発明の第８の実施形態に係るソース線ドライバの回路図。
【図２２】この発明の第８の実施形態に係るフラッシュメモリのにおける、各種電圧のタイミングチャート。
【図２３】この発明の第８の実施形態に係るソース線ドライバの回路図。
【図２４】この発明の第８の実施形態に係るフラッシュメモリのにおける、各種電圧のタイミングチャート。
【図２５】この発明の第８の実施形態に係るソース線ドライバの回路図。
【発明を実施するための形態】
【０００９】
以下、この発明の実施形態につき図面を参照して説明する。この説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。
【００１０】
［第１の実施形態］  
この発明の第１の実施形態に係る半導体記憶装置について、ＮＡＮＤ型フラッシュメモリを例に挙げて説明する。
【００１１】
＜ＮＡＮＤ型フラッシュメモリの構成＞  
図１は、この発明の第１の実施形態に係るＮＡＮＤ型フラッシュメモリのブロック図である。図示するようにＮＡＮＤ型フラッシュメモリ１は、メモリセルアレイ１１、センスアンプ１２、ロウデコーダ１３、データバス１４、Ｉ／Ｏバッファ１５、制御信号発生回路１６、アドレスレジスタ１７、カラムデコーダ１８、内部電圧発生回路１９、ソース線ドライバ２０、セルソースモニタ回路２１、基準電圧生成回路２２、及びデータパターンモニタ回路２３を備えている。
【００１２】
まずメモリセルアレイ１１について、図２を用いて説明する。図２は、メモリセルアレイ１１、センスアンプ１２、ロウデコーダ１３、制御信号発生回路１６、ソース線ドライバ２０、及びセルソースモニタ回路２１の詳細を示すブロック図である。
【００１３】
図示するようにメモリセルアレイ１１は、複数のメモリセルユニット３０を備えている。メモリセルユニット３０の各々は、例えば３２個のメモリセルトランジスタＭＴ０〜ＭＴ３１と、選択トランジスタＳＴ１、ＳＴ２とを含んでいる。以下、メモリセルトランジスタＭＴ０〜ＭＴ３１を区別しない場合には、一括してメモリセルトランジスタＭＴと呼ぶことにする。メモリセルトランジスタＭＴは、半導体基板上にゲート絶縁膜を介在して形成された電荷蓄積層（例えば浮遊ゲート）と、電荷蓄積層上にゲート間絶縁膜を介在して形成された制御ゲートとを有する積層ゲート構造を備えている。なお、メモリセルトランジスタＭＴの個数は３２個に限られず、８個や１６個、６４個、１２８個、２５６個等であってもよく、その数は限定されるものではない。メモリセルトランジスタＭＴは、隣接するもの同士でソース、ドレインを共有している。そして、選択トランジスタＳＴ１、ＳＴ２間に、その電流経路が直列接続されるようにして配置されている。直列接続されたメモリセルトランジスタＭＴの一端側のドレインは選択トランジスタＳＴ１のソースに接続され、他端側のソースは選択トランジスタＳＴ２のドレインに接続されている。
【００１４】
同一行にあるメモリセルトランジスタＭＴの制御ゲートはワード線ＷＬ０〜ＷＬ３１のいずれかに共通接続され、同一行にあるメモリセルの選択トランジスタＳＴ１、ＳＴ２のゲートは、それぞれセレクトゲート線ＳＧＤ、ＳＧＳに共通接続されている。なお説明の簡単化のため、以下ではワード線ＷＬ０〜ＷＬ３１を、単にワード線ＷＬと呼ぶことがある。また、選択トランジスタＳＴ１のドレインは、ビット線ＢＬ０〜ＢＬｎ（ｎは自然数）のいずれかに接続される。ビット線ＢＬ０〜ＢＬｎについても、単にビット線ＢＬと呼ぶことがある。選択トランジスタＳＴ２のソースはソース線ＳＬに共通接続される。なお、選択トランジスタＳＴ１、ＳＴ２は必ずしも両方必要ではなく、メモリセルユニット３０を選択出来るのであればいずれか一方のみが設けられていても良い。
【００１５】
図２では、１行のメモリセルユニット３０のみを図示している。しかし、メモリセルアレイ１１内には複数行（図中における縦方向に複数個）のメモリセルユニット３０が設けられても良い。この場合、同一列にあるメモリセルユニット３０は同一のビット線ＢＬに接続される。また、同一のワード線ＷＬに接続された複数のメモリセルトランジスタＭＴには一括してデータが書き込まれ、この単位をページと呼ぶ。更に、同一行にある複数のメモリセルユニット３０は一括してデータが消去され、この単位をメモリブロックと呼ぶ。
【００１６】
次に、上記メモリセルアレイ１１の備えるメモリセルユニット３０の構成について、図３を用いて説明する。図３は、メモリセルユニット３０のビット線方向に沿った断面図である。
【００１７】
図示するように、ｐ型半導体基板４０の表面領域内にｎ型ウェル領域４１が形成され、ｎ型ウェル領域４１の表面領域内にｐ型ウェル領域４２が形成されている。ｐ型ウェル領域４２上にはゲート絶縁膜４３が形成され、ゲート絶縁膜４３上に、メモリセルトランジスタＭＴ及び選択トランジスタＳＴ１、ＳＴ２のゲート電極が形成されている。メモリセルトランジスタＭＴ及び選択トランジスタＳＴ１、ＳＴ２のゲート電極は、ゲート絶縁膜４３上に形成された多結晶シリコン層４４、多結晶シリコン層４４上に形成されたゲート間絶縁膜４５、及びゲート間絶縁膜４５上に形成された多結晶シリコン層４６を有している。ゲート間絶縁膜４５は、例えばシリコン酸化膜、またはシリコン酸化膜とシリコン窒化膜との積層構造であるＯＮ膜、ＮＯ膜、またはＯＮＯ膜、またはそれらを含む積層構造、またはＴｉＯ２、ＨｆＯ２、Ａｌ２Ｏ３、ＨｆＡｌＯｘ、ＨｆＡｌＳｉ膜とシリコン酸化膜またはシリコン窒化膜との積層構造で形成される。またゲート絶縁膜４３はトンネル絶縁膜として機能するものである。
【００１８】
メモリセルトランジスタＭＴにおいては、多結晶シリコン層４４は浮遊ゲート（ＦＧ）として機能する。他方、多結晶シリコン層４６は、ビット線に直交する方向で隣接するもの同士で共通接続されており、制御ゲート（ワード線ＷＬ）として機能する。選択トランジスタＳＴ１、ＳＴ２においては、多結晶シリコン層４４、４６はワード線方向で隣接するもの同士で共通接続されている。そして、多結晶シリコン層４４、４６が、セレクトゲート線ＳＧＳ、ＳＧＤとして機能する。なお、多結晶シリコン層４４のみがセレクトゲート線として機能しても良い。この場合、選択トランジスタＳＴ１、ＳＴ２の多結晶シリコン層４６の電位は、一定の電位、またはフローティングの状態とされる。ゲート電極間に位置する半導体基板４０表面内には、ｎ＋型不純物拡散層４７が形成されている。不純物拡散層４７は隣接するトランジスタ同士で共用されており、ソース（Ｓ）またはドレイン（Ｄ）として機能する。また、隣接するソースとドレインとの間の領域は、電子の移動領域となるチャネル領域として機能する。これらのゲート電極、不純物拡散層４７、及びチャネル領域によって、メモリセルトランジスタＭＴ及び選択トランジスタＳＴ１、ＳＴ２となるＭＯＳトランジスタが形成されている。
【００１９】
半導体基板４０上には、上記メモリセルトランジスタＭＴ及び選択トランジスタＳＴ１、ＳＴ２を被覆するようにして、層間絶縁膜４８が形成されている。層間絶縁膜４８中には、ソース側の選択トランジスタＳＴ２の不純物拡散層（ソース）４７に達するコンタクトプラグＣＰ１が形成されている。そして層間絶縁膜４８上には、コンタクトプラグＣＰ１に接続される金属配線層４９が形成されている。金属配線層４９はソース線ＳＬの一部として機能する。また層間絶縁膜４８中には、ドレイン側の選択トランジスタＳＴ１の不純物拡散層（ドレイン）４７に達するコンタクトプラグＣＰ２が形成されている。そして層間絶縁膜４８上に、コンタクトプラグＣＰ２に接続される金属配線層５０が形成されている。
【００２０】
層間絶縁膜４８上には、金属配線層４９、５０を被覆するようにして、層間絶縁膜５１が形成されている。そして層間絶縁膜５１中に、金属配線層５０に達するコンタクトプラグＣＰ３が形成されている。そして、層間絶縁膜５１上には、複数のコンタクトプラグＣＰ３に共通に接続された金属配線層５２が形成されている。金属配線層５２はビット線ＢＬとして機能する。
【００２１】
次に、上記メモリセルトランジスタＭＴの閾値分布について図４を用いて説明する。図４は、横軸に閾値電圧Ｖthをとり、縦軸にメモリセルトランジスタＭＴの存在確率を示したグラフである。
【００２２】
図示するように、各々のメモリセルトランジスタＭＴは２値（2-levels）のデータ（１ビットデータ）を保持出来る。すなわちメモリセルトランジスタＭＴは、閾値電圧Ｖthの低い順に“１”及び“０”の２種のデータを保持出来る。メモリセルトランジスタＭＴにおける“１”データの閾値電圧Ｖth１は負の値（Ｖth１＜０）である。“０”データの閾値電圧Ｖth０は正の値（０＜Ｖth０）である。
【００２３】
なお、メモリセルトランジスタＭＴが保持可能なデータは上記２値に限らない。例えば４値（２ビットデータ）、８値（３ビットデータ）、または１６値（４ビットデータ）などであっても良い。
【００２４】
図１に戻って説明を続ける。センスアンプ１２は、データの読み出し時及びベリファイ時には、メモリセルトランジスタＭＴからビット線ＢＬに読み出されたデータをセンスして増幅する。またデータの書き込み時には、ビット線ＢＬに書き込みデータを転送する。センスアンプ１２の構成について、図５を用いて説明する。図５は、１本のビット線ＢＬに対応するセンスアンプ１２の回路図である。すなわち、図５の構成が、ビット線ＢＬ毎に設けられる。
【００２５】
図示するようにセンスアンプ１２は、スイッチ素子６０〜６３、ｎチャネルＭＯＳトランジスタ６４〜６６、ｐチャネルＭＯＳトランジスタ６７、キャパシタ素子６８、及びラッチ回路６９を備えている。ＭＯＳトランジスタ６４の電流経路の一端は、スイッチ素子６０を介してノードＮ＿ＶＤＤに接続され、他端はノードＮ１に接続され、ゲートには信号Ｓ１が入力される。ＭＯＳトランジスタ６５の電流経路の一端はノードＮ１に接続され、他端はビット線ＢＬ、及びスイッチ素子６３を介してノードＮ＿ＶＳＳに接続される。ＭＯＳトランジスタ６５のゲートには、信号ＢＬＣＬＡＭＰが与えられる。スイッチ素子６３は、ラッチ回路６９の保持するデータに応じて、ビット線ＢＬをノードＮ＿ＶＳＳに接続する。ＭＯＳトランジスタ６６の電流経路の一端はノードＮ１に接続され、他端はノードＮ２に接続され、ゲートには信号Ｓ２が与えられる。ノードＮ２は、スイッチ素子６１を介してノードＮ＿ＶＤＤに接続される。キャパシタ素子６８の一方電極はノードＮ２に接続され、他方電極はノードＮ＿ＶＳＳに接続される。ＭＯＳトランジスタ６７の電流経路の一端は、スイッチ素子６２を介してノードＮ＿ＶＤＤに接続され、他端はラッチ回路６９に接続され、ゲートはノードＮ２に接続される。
【００２６】
なお、ノードＮ＿ＶＤＤはセンスアンプ１２の電源電圧ノードとして機能し、電圧ＶＤＤ（例えば１．５Ｖ）が与えられている。電圧ＶＤＤはフラッシュメモリ１の内部電源である。またノードＮ＿ＶＳＳは、センスアンプ１２の接地ノードとして機能し、電圧ＶＳＳ（例えば接地電位（０Ｖ））である。
【００２７】
センスアンプ１２は図２に示すように、例えばメモリセルアレイ１１のビット線に沿った方向の両端に設けられている。そして、一方のセンスアンプ１２に含まれる図５の回路ユニットは、例えば偶数ビット線ＢＬ０、ＢＬ２、ＢＬ４…に接続され、他方のセンスアンプ１２に含まれる図５の回路ユニットは、奇数ビット線ＢＬ１、ＢＬ３、ＢＬ５…に接続される。
【００２８】
図１に戻って説明を続ける。ロウデコーダ１３は、データの書き込み動作時、読み出し動作時、及び消去時において、メモリセルアレイ１１のロウ方向を選択する。すなわちロウデコーダ１３は、セレクトゲート線ＳＧＤ、ＳＧＳ、及びワード線ＷＬに電圧を印加する。ロウデコーダ１２は図１に示すように、例えばメモリセルアレイ１１のワード線に沿った方向の両端に設けられており、それぞれに、ワード線ＷＬ、セレクトゲート線ＳＧＤ、ＳＧＳの一端及び他端が接続されている。
【００２９】
ロウデコーダ１３は、セレクトゲート線ＳＧＤ、ＳＧＳ、及びワード線ＷＬの選択動作を行い、これらに必要な電圧を印加する。また、メモリセルユニット３０が形成されたｐ型ウェル領域４２に、必要な電圧を印加する。例えばデータの消去時には、全ワード線ＷＬに０Ｖを印加し、ウェル領域４２に正電圧（例えば２０Ｖ）を印加する。これにより、電荷蓄積層４４内の電子がウェル領域４２に引き抜かれ、データが消去される。データのプログラム動作時、読み出し動作時、及びベリファイ動作時については、後に詳細に説明する。
【００３０】
ソース線ドライバ２０は、ソース線ＳＬに電圧を与える。図２に示すようにソース線ドライバ２０は、ｎチャネルＭＯＳトランジスタ３１を備えている。ＭＯＳトランジスタ３１のドレインはソース線ＳＬに接続され、ソースは接地され、ゲートには信号Ｇ＿ＳＲＣが入力される。ＭＯＳトランジスタ３１がオン状態となることで、ソース線ＳＬには接地電位が与えられる。
【００３１】
セルソースモニタ回路２１は、ソース線ＳＬの電位をモニタする。図２に示すように、セルソースモニタ回路２１は例えばオペアンプ３２を備えている。オペアンプ３２の正転入力端子（＋）にはソース線ＳＬが接続され、反転入力端子（−）には基準電圧ＶＲＥＦ＿ＳＲＣが与えられる。そしてオペアンプ３２は、ソース線ＳＬの電位と基準電圧ＶＲＥＦ＿ＳＲＣとを比較・増幅し、その結果を制御信号発生回路１６へ出力する。
【００３２】
図１に戻って説明を続ける。基準電圧生成回路２２は、基準電圧ＶＲＥＦ＿ＳＲＣを生成して、これをセルソースモニタ回路２１に出力する。
【００３３】
データパターンモニタ回路２１は、データのベリファイ動作時において、センスアンプ１２におけるセンス・増幅結果に基づいて、ベリファイにパス（pass）したメモリセルトランジスタＭＴ数または／及びフェイル（fail）したメモリセルトランジスタＭＴ数をカウントする。言い換えれば、オフ状態のメモリセルトランジスタＭＴ数（これをオフセル数と呼ぶことがある）または／及びオン状態のメモリセルトランジスタＭＴ数（これをオンセル数と呼ぶことがある）をカウントする。そしてそのカウント数を、制御信号発生回路１６へ出力する。また同様の動作を、データの読み出し動作時において行う。
【００３４】
カラムデコーダ１８は、メモリセルアレイ１１のカラム方向を選択する。
【００３５】
Ｉ／Ｏバッファ１５は、読み出し動作時には、センスアンプ１２によって読み出されたデータを一時的に保持し、Ｉ／Ｏ端子から外部へ出力する。また書き込み動作時には、Ｉ／Ｏ端子を介して外部から与えられるデータを一時的に保持し、センスアンプ１２へ転送する。Ｉ／Ｏバッファ１５とセンスアンプ１２との間のデータの授受は、データ線１４を介して行われる。またＩ／Ｏバッファ１５は、Ｉ／Ｏ端子を介して外部から与えられる信号を一時的に保持する。そして保持する信号のうち、アドレスＡｄｄをアドレスレジスタ１７へ転送し、コマンドＣｏｍを制御信号発生回路１６へ転送する。
【００３６】
アドレスレジスタ１７は、受け取ったアドレスＡｄｄのうち、ロウアドレスをロウデコーダ１３へ転送し、カラムアドレスをカラムデコーダ１８へ転送する。これらのロウアドレス及びカラムアドレスに基づいて、ロウデコーダ１３及びカラムデコーダ１８における選択動作が行われる。
【００３７】
内部電圧発生回路１９は、制御信号発生回路１６の命令に基づいて、読み出し動作、書き込み動作、及び消去動作に必要な電圧を発生する。すなわち内部電圧発生回路１９は、例えば昇圧回路を含み、昇圧回路によって電源電圧を昇圧して、必要な電圧（ＶＰＧＭやＶＰＡＳＳ等）を発生する。そして発生した電圧を、センスアンプ１２やロウデコーダ１３に供給する。
【００３８】
制御信号発生回路１６は、各種の外部制御信号を受信し、これに基づいてＮＡＮＤ型フラッシュメモリ１全体の動作を制御する。外部制御信号には、例えばチップイネーブル信号／ＣＥ、アドレスラッチイネーブル信号ＡＬＥ、コマンドラッチイネーブル信号ＣＬＥ、ライトイネーブル信号／ＷＥ、リードイネーブル信号／ＲＥ、及びコマンドＣｏｍが含まれる。チップイネーブル信号／ＣＥは、ＮＡＮＤ型フラッシュメモリ１全体をイネーブルにする信号である。アドレスラッチイネーブル信号ＡＬＥは、アドレスＡｄｄのラッチを命令する信号である。コマンドラッチイネーブル信号ＣＬＥは、コマンドＣｏｍのラッチを命令する信号である。ライトイネーブル信号／ＷＥは、書き込み動作を命令する信号である。リードイネーブル信号／ＲＥは、読み出し動作を命令する信号である。
【００３９】
そしてこれらの信号に基づいて、制御信号発生回路１６は、Ｉ／Ｏバッファ１５に保持された信号がアドレスＡｄｄであるかコマンドＣｏｍであるかを識別し、Ｉ／Ｏバッファ１５に対して信号の転送を命令する。また、アドレスレジスタ１７に対してロウアドレス及びカラムアドレスを、ロウデコーダ１３及びカラムデコーダ１８へ転送するよう、命令する。また、内部電圧発生回路１９に対して、必要な電圧を発生するよう命令する。
【００４０】
また制御信号発生回路１６は、読み出し動作時及びベリファイ動作時において、セルソースモニタ回路２１から、ソース線ＳＬの電圧と基準電圧ＶＲＥＦ＿ＳＲＣとの比較結果を受信し、データパターンモニタ回路２３から、パスまたは／及びフェイルのカウント数を受信する。そして、センスアンプ１２におけるデータの読み出し回数（センス回数）と、ソース線ドライバ２０の駆動力とを制御する。この点については、以下で詳しく説明する。
【００４１】
＜ＮＡＮＤ型フラッシュメモリ１の動作＞  
次に、上記構成のＮＡＮＤ型フラッシュメモリ１の動作について説明する。
【００４２】
＜書き込み動作＞
まず、データの書き込み動作について説明する。データの書き込みは、プログラム動作とベリファイ動作の繰り返しによって行われる。プログラム動作とは、ワード線ＷＬとチャネルとの間に高電圧を印加することにより、電子を電荷蓄積層に注入して、メモリセルトランジスタＭＴの閾値を正方向に変化させる動作である。またベリファイ動作とは、メモリセルトランジスタＭＴの閾値が、プログラム動作により所望の値になっているか否か、すなわち、データが正しく書き込まれているか否かを判定する動作である。書き込み動作は、プログラム→ベリファイ→プログラム→ベリファイ→…の繰り返しによって行われる。そして、この繰り返しの度に、選択ワード線ＷＬに印加される電圧ＶＰＧＭはステップアップされる。
【００４３】
＜＜プログラム動作＞＞  
まず、データのプログラム動作について、図２を参照しつつ説明する。プログラムにあたってセンスアンプ１２は、ビット線ＢＬにプログラムデータを転送する。すなわち、電荷蓄積層に電子を注入することによりメモリセルトランジスタＭＴの閾値を上昇させる際には、ビット線ＢＬに書き込み電圧（例えば０Ｖ）を印加する。他方、電子を注入しない際には、書き込み禁止電圧（例えばＶＤＤ）を印加する。またソース線ドライバ２０及びロウデコーダ１３はそれぞれ、ソース線ＳＬ及びウェル領域４２に０Ｖを印加する。
【００４４】
そしてロウデコーダ１３は、いずれかのワード線ＷＬを選択し、この選択ワード線に電圧ＶＰＧＭを印加する。また、残りのワード線ＷＬ（非選択ワード線ＷＬ）に、電圧ＶＰＡＳＳを印加する。電圧ＶＰＧＭは、ＦＮ（Fowler-Nordheim）トンネリングにより電荷蓄積層に電子を注入するための高電圧（例えば２０Ｖ程度）であり、電圧ＶＰＡＳＳは、保持するデータに関わらずメモリセルトランジスタＭＴをオン状態とする電圧である。更にロウデコーダ１３は、セレクトゲート線ＳＧＳに０Ｖを印加し、セレクトゲート線ＳＧＤに電圧ＶＳＧＤを印加する。電圧ＶＳＧＤは、ビット線ＢＬに書き込み電圧が印加されている場合には選択トランジスタＳＴ１をオンさせ、書き込み禁止電圧が印加されている場合には選択トランジスタＳＴ１をカットオフさせる電圧である。
【００４５】
ビット線ＢＬに書き込み電圧（０Ｖ）が印加されているメモリセルユニット３０では、選択トランジスタＳＴ１はオン状態となり、書き込み電圧がメモリセルトランジスタＭＴのチャネルへ転送される。すると、選択ワード線ＷＬに接続されたメモリセルトランジスタＭＴでは、ゲートとチャネルとの間の電位差がほぼＶＰＧＭとなり、電荷が電荷蓄積層に注入される。その結果、メモリセルトランジスタＭＴの閾値電圧が上昇する。
【００４６】
他方、ビット線ＢＬに書き込み禁止電圧（ＶＤＤ）が印加されている場合には、選択トランジスタＳＴ１はカットオフ状態となる。従って、メモリセルユニット９内のメモリセルトランジスタＭＴのチャネルは電気的にフローティングの状態となる。すると、メモリセルトランジスタＭＴのチャネル電位は、ゲート電位（ＶＰＧＭ、ＶＰＡＳＳ）とのカップリングにより上昇する。そのため、選択ワード線ＷＬに接続されたメモリセルトランジスタＭＴでは、ゲートとチャネルとの間の電位差が十分ではなく、電荷蓄積層に電荷が（保持データが遷移するほどには）注入されない。その結果、メモリセルトランジスタＭＴの閾値は変わらない。
【００４７】
＜＜ベリファイ動作＞＞
次に、ベリファイ動作について説明する。図６は、データの読み出し時におけるメモリセルユニット３０の回路図である。以下では、ワード線ＷＬ１に接続されたメモリセルトランジスタＭＴに対してベリファイが行われる場合を例に説明する。
【００４８】
まずセンスアンプ１２が、全ビット線ＢＬをプリチャージする。またロウデコーダ１３は、ウェル領域４２に０Ｖを印加する。ソース線ドライバ２０においては、信号Ｇ＿ＳＲＣ＝“Ｈ”レベルとされることによりＭＯＳトランジスタ３１がオン状態とされ、ソース線ＳＬは接地電位ノードに接続される。
【００４９】
更にロウデコーダ１３は、ワード線ＷＬ１を選択し、選択ワード線ＷＬ１に読み出し電圧ＶＣＧＲを印加する。読み出し電圧ＶＣＧＲは、読み出しレベルに応じた値とされ、例えば図４の閾値分布の場合には０Ｖである。更にロウデコーダ１３は、非選択ワード線ＷＬ０、ＷＬ２〜ＷＬ３１に電圧ＶＲＥＡＤを印加する。更にロウデコーダ１３は、セレクトゲート線ＳＧＤ、ＳＧＳに電圧ＶＤＤを印加する。電圧ＶＲＥＡＤは、保持するデータに関わらずメモリセルトランジスタＭＴをオン状態とする電圧である。またセレクトゲート線ＳＧＤ、ＳＧＳに印加される電圧ＶＤＤは、選択トランジスタＳＴ１、ＳＴ２をオン状態とすることの出来る電圧である。
【００５０】
以上の結果、非選択ワード線ＷＬ０、ＷＬ２〜ＷＬ３１に接続されたメモリセルトランジスタＭＴはオン状態となり、チャネルが形成される。また選択トランジスタＳＴ１、ＳＴ２もオン状態とされる。そして、選択ワード線ＷＬ１に接続されたメモリセルトランジスタＭＴがオン状態となれば、ビット線ＢＬとソース線ＳＬとが電気的に導通状態となる。すなわち、ビット線ＢＬからソース線ＳＬへ電流が流れる。他方、オフ状態であれば、ビット線ＢＬとソース線ＳＬとは電気的に非導通状態となる。すなわち、ビット線ＢＬからソース線ＳＬへは電流は流れない。この電流を、センスアンプ１２がセンス・増幅する。以上の動作により、全ビット線につき一括してデータが読み出される。
【００５１】
そして、センスアンプ１２によってセンス・増幅された結果に基づいて、データパターンモニタ回路２３は、ベリファイにパスまたは／及びフェイルしたメモリセルトランジスタＭＴ数、すなわちオンセル数または／及びオフセル数をカウントする。そしてカウント結果を制御信号発生回路１６へ出力する。また、ビット線ＢＬがプリチャージされてからデータがセンスされるまでの期間、セルソースモニタ回路２１は、オペアンプ３２によって、ソース線ＳＬの電圧ＶＳＬと基準電圧ＶＲＥＦ＿ＳＲＣとを比較する。そして比較結果を制御信号発生回路１６へ出力する。
【００５２】
・センスアンプ１２の動作について  
次に、上記プリチャージからセンスまでのセンスアンプ１２の動作について、図５を参照しつつ説明する。以下では、データの読み出した際にメモリセルトランジスタＭＴがオン状態となることを“１”読み出しと呼び、オフ状態であることを“０”読み出しと呼ぶことにする。なお、ベリファイ動作の間、信号Ｓ１、Ｓ２はそれぞれ例えば（Ｖｔ＋０．９Ｖ）、（Ｖｔ＋１．２Ｖ）とされる。また、信号ＢＬＣＬＡＭＰは（ＶＴＮ＋０．７Ｖ）とされる。ＶｔはＭＯＳトランジスタ６４、６６の閾値電圧であり、ＶＴＮはＭＯＳトランジスタ６５の閾値電圧である。
【００５３】
まず、“１”読み出しを行う場合につき説明する。  
初めに、ビット線ＢＬのプリチャージが行われる。プリチャージにあたって、スイッチ素子６０がオン状態とされる。すると、メモリセルユニット３０は導通状態にあるから、スイッチ素子６０、ＭＯＳトランジスタ６４の電流経路、ノードＮ１、及びＭＯＳトランジスタ６５の電流経路を介して、ビット線ＢＬに電流が流れる。その結果、ビット線ＢＬの電位はプチチャージ電位ＶＰＲＥ（例えば０．７Ｖ）程度となる。すなわち、ビット線ＢＬからソース線ＳＬに電流を流しながら、ビット線ＢＬの電位はＶＰＲＥに固定される。また、スイッチ素子６１がオン状態とされることで、容量素子６８が充電され、ノードＮ２の電位は２．５Ｖ程度となる。スイッチ素子６２、６３はオフ状態である。
【００５４】
次に、ノードＮ２のディスチャージが行われる。すなわち、スイッチ素子６１がオフ状態とされる。すると、ノードＮ２からビット線ＢＬに流れる電流によって、ノードＮ２が放電され、その電位は約０．９Ｖ程度に低下する。そして、ノードＮ１の電位が０．９Ｖよりも低下しようとすると、ＭＯＳトランジスタ６４が電流を供給しはじめる。その結果、ノードＮ１の電位は０．９Ｖに維持される。
【００５５】
次に、データのセンスが行われる。図示するように、スイッチ素子６２がオン状態とされる。また、ノードＮ２の電位が０．９Ｖであるので、ＭＯＳトランジスタ６７がオン状態となる。よって、ラッチ回路６９は電圧ＶＤＤを保持する。ラッチ回路６９がＶＤＤを保持することで、スイッチ素子６０がオフ状態、スイッチ素子６３がオン状態となる。その結果、ノードＮ２の電位は略０Ｖとなる。その結果、ラッチ回路６９は電圧ＶＤＤを保持した状態（“１”データを保持した状態）で安定する。また、ビット線ＢＬからスイッチ素子６３を介してノードＮ＿ＶＳＳに電流が流れ、ビット線ＢＬの電位は略０Ｖとなる。
【００５６】
次に、“０”読み出しを行う場合につき説明する。この場合、ビット線ＢＬがＶＰＲＥにプリチャージされてもビット線ＢＬに電流は流れず、その電位は略ＶＰＲＥ一定となる。そしてノードＮ２の電位は、約２．５Ｖを維持する。従って、ＭＯＳトランジスタ６７はオフ状態となり、ラッチ回路６９は０Ｖを保持する。これにより、スイッチ素子６０がオン状態、スイッチ素子６３がオフ状態となり、ノードＮ２の電位は２．５Ｖを維持し、ラッチ回路１２９は０Ｖを保持した状態（“０”データを保持した状態）で安定する。
【００５７】
以上のようにして、ビット線に読み出されたデータが、センスアンプ１２によってセンス・増幅される。また本実施形態では、データをベリファイ時において、データの読み出し（上記のプリチャージからセンスまでの処理）が１回、または複数回（例えば２回）、行われる。２回の読み出しを行う場合には、まず１回目の読み出しにおいて、セル電流の流れやすいメモリセルトランジスタＭＴについて読み出しを行い、次に流れにくいメモリセルトランジスタＭＴについて読み出しを行う。これは、ソース線ＳＬのノイズ（変動）の影響を抑えるためであり、２回目の読み出しでは、１回目の読み出しでオン状態となったメモリセルトランジスタＭＴをオフ状態とさせつつ、読み出しが行われる。センスの回数は内部電圧発生回路１９の命令によって決定される。この点については以下で説明する。
【００５８】
・制御信号発生回路１６の動作について  
次に、上記ベリファイ動作時における制御信号発生回路１６の動作について説明する。図７は、ベリファイ動作時における制御信号発生回路１６の処理の一部を示すフローチャートである。
【００５９】
図示するように制御信号発生回路１６は、プリチャージからデータのセンスまでの期間、またはセンス直後のタイミングにおいて、ソース線ＳＬの電圧ＶＳＬが基準電圧ＶＲＥＦ＿ＳＲＣを超えているか否かを判断する（ステップＳ１０）。これは、セルソースモニタ回路２１から与えられる信号によって判断可能である。その結果、超えていなければ（ステップＳ１０、ＮＯ）、制御信号発生回路１６は、当該ベリファイ時におけるセンス回数を１回と決定し（Ｓ１１）、その旨をセンスアンプ１２やロウデコーダ１３に命令する。従ってこの場合には、再度のデータの読み出しを行うことなく、ＶＰＧＭをステップアップさせてプログラム動作を開始するか、または書き込み動作を終了する。
【００６０】
他方、電圧ＶＳＬが基準電圧ＶＲＥＦ＿ＳＲＣを超えている場合（ステップＳ１０、ＹＥＳ）、制御信号発生回路１６は、当該ベリファイ時におけるセンス回数を複数回（例えば２回）と決定し（ステップＳ１２）、その旨をセンスアンプ１２やロウデコーダ１３に命令する。従ってこの場合には、再度、ビット線ＢＬをプリチャージし、ワード線ＷＬに電圧ＶＣＧＲ、ＶＲＥＡＤを印加し、データを読み出す。これは、ビット線ＢＬに流れる電流量が電圧ＶＳＬの浮きにより小さくなったために、実際にはオン状態であったメモリセルトランジスタＭＴを、センスアンプ１２が誤ってオフ状態と判断しているかもしれないからである。
【００６１】
また１回目のセンスの後、制御信号発生回路１６は、データパターンモニタ回路２３から、オンセル数及びオフセル数の情報を受信する（ステップＳ１３）。そして制御信号発生回路１６は、オンセル数が規定数を超えているか否かを判定する（ステップＳ１４）。
【００６２】
オンセル数が規定数を超えている場合（ステップＳ１４、ＹＥＳ）、制御信号発生回路１６は、２回目の読み出し時におけるソース線ドライバ２０の駆動力を、１回目の読み出し時と同じとする（ステップＳ１６）。すなわち、ＭＯＳトランジスタ３１の電流駆動力は不変である。
【００６３】
他方、オンセル数が規定数を超えていない場合（ステップＳ１４、ＮＯ）、すなわち規定数以下である場合、制御信号発生回路１６は、２回目の読み出し時におけるソース線ドライバ２０の駆動力を、１回目の読み出し時よりも大きくする（ステップＳ１５）。すなわち、ＭＯＳトランジスタ３１の電流駆動力が上昇される。
【００６４】
以上のようにして、制御信号発生回路１６は、読み出し回数を１回にするか複数回にするかを決定し、また２回目以降の読み出し時におけるソース線ドライバ２０の駆動力を制御する。
【００６５】
・ベリファイ動作時における各ノードの電圧変化について  
上記説明したベリファイ動作時におけるワード線ＷＬ、セレクトゲート線ＳＧＤ、ＳＧＳ、ビット線ＢＬ、及びソース線ＳＬの電位について、図８を用いて説明する。図８は、これらの電位のタイミングチャートである。
【００６６】
プログラム動作の終了後、時刻ｔ０においてベリファイ動作が開始される。図示するように、時刻ｔ０においてロウデコーダ１３は、選択ワード線ＷＬに電圧ＶＣＧＲ（＝０Ｖ）を印加し、非選択ワード線ＷＬに電圧ＶＲＥＡＤを印加する。またセレクトゲート線ＳＧＤ、ＳＧＳに電圧ＶＤＤを印加する。またセンスアンプ１２は、ビット線ＢＬを電圧ＶＰＲＥにプリチャージする。更にソース線ドライバ２０及びロウデコーダ１３はそれぞれ、ソース線ＳＬ及びウェル領域４２に０Ｖを印加する。なお、これらの電圧印加は、同時ではなく、異なるタイミングで行われても良い。
【００６７】
以上の結果、ビット線ＢＬからソース線ＳＬにセル電流が流れ、１回目のデータの読み出しが行われる。１回目の読み出しの期間、ソース線ドライバ２０の駆動力は一定であるので、ソース線ＳＬの電圧ＶＳＬは、セル電流の大きさによって変動する。
【００６８】
この際、電圧ＶＳＬが基準電圧ＶＲＥＦ＿ＳＲＣを超えていない場合を、図中のＣＡＳＥ Ｉとして示している。この場合には、制御信号発生回路１６はセンス回数を１回と決定する。そして時刻ｔ１においてセンスを行い、ベリファイ動作を終了する。その後は、必要であればプログラム動作を再度行うか、または書き込み動作を終了する。
【００６９】
１回目の読み出し時において電圧ＶＳＬが基準電圧ＶＲＥＦ＿ＳＲＣを超えている場合を、図中のＣＡＳＥ IIとして示している。この場合には、制御信号発生回路１６はセンス回数を複数回（例えば２回）と決定する。そして時刻ｔ１において１回目センスを行った後、２回目の読み出しを行う。
【００７０】
すなわち、制御信号発生回路１６の命令に応答してセンスアンプ１２は、１回目の読み出し時においてオフ状態と判定されたメモリセルトランジスタＭＴが接続されたビット線ＢＬを再度プリチャージする。オン状態と判定されたメモリセルトランジスタＭＴが接続されたビット線ＢＬは、例えば０Ｖ等の一定電位に固定される。また制御信号発生回路１６は、１回目の読み出し時におけるオンセル数及びオフセル数の情報に従って、２回目の読み出し時におけるソース線ドライバ２０の駆動力を制御する。以下、オンセル数が規定数を超えている場合（ステップＳ１４、ＹＥＳ）をＣＡＳＥ IIIとし、超えていない場合（ステップＳ１４、ＮＯ）をＣＡＳＥ IVとする。
【００７１】
ＣＡＳＥ IIIの場合、ソース線ドライバ２０の駆動力は、１回目の読み出し時と同じである。しかし、電流の流れるビット線ＢＬの数は１回目の読み出し時に比べて少ないため、ソース線ＳＬの電圧ＶＳＬの上昇は抑制される。他方、ＣＡＳＥ IVの場合、ソース線ドライバ２０の駆動力は、１回目の読み出し時よりも大きくされる。従って、電圧ＶＳＬの上昇は抑制される。なお図中では、便宜上、ＣＡＳＥ IIIのＶＳＬがＣＡＳＥ IVのＶＳＬよりも大きくしている。これは視覚的に２つのケースがあることを分かりやすくするために過ぎず、場合によってはＣＡＳＥ IVのＶＳＬがＣＡＳＥ IIIのＶＳＬよりも大きくなり、または両者は同一となっても良い。
【００７２】
その後、時刻ｔ２において、センスアンプ１２は２回目のセンスを行い、ベリファイ動作を終了する。その後は、再度プログラム動作を行うか、または書き込み動作を終了する。
【００７３】
＜読み出し動作＞  
データの読み出し動作は、上記ベリファイ動作と同じである。
【００７４】
＜効果＞  
以上のように、この発明の第１の実施形態に係るＮＡＮＤ型フラッシュメモリであると、下記（１）の効果が得られる。  
（１）ＮＡＮＤ型フラッシュメモリの動作性能を向上出来る。  
本実施形態に係るＮＡＮＤ型フラッシュメモリであると、データの読み出し動作時及びベリファイ動作時においてソース線ＳＬの電圧をモニタするセルソースモニタ回路２１、及びオンセル数及びオフセル数をカウントするデータパターンモニタ回路２３を備えている。そして、セルソースモニタ回路２１におけるモニタ結果に応じて、データの読み出し回数（センス回数）が決定される。また、読み出し回数が複数回の場合、データパターンモニタ回路２３のカウント結果に応じて、２回目以降の読み出し時におけるソース線ドライバ２０の能力が決定される。従って、ＮＡＮＤ型フラッシュメモリの動作性能を向上出来る。本効果につき、以下詳細に説明する。
【００７５】
従来、電流をセンスすることによって、全ビット線につき一括してデータを読み出す方法が知られている。この方式では、読み出しの期間、隣接するビット線のノイズの影響を無くす為に、ビット線を一定電位に保つ必要がある。そのため、読み出し中は、ビット線に電流を流し続ける。すると、セル電流の総計は１００ｍＡ程度の非常に大きいものとなる。そしてこの電流はソース線に流れ込むので、ソース線の電位も上昇する。
【００７６】
従って、データの誤読み出しを防止するためには、複数回のセンスが必要となる。つまり、セル電流の多いメモリセルトランジスタを順にふるい落として、最終的にはソース線の電位の上昇が抑えられた状態でセンスした結果を、ラッチ回路に取り込む方法をとることになる。他方、データパターンによってはセル電流総計が少ない場合もあり得る。この場合には、ソース線の電位が殆ど上昇せず、誤読み出しは生じにくいため、複数回のセンスは必要ない。
【００７７】
しかし、読み出し動作はワーストデータパターンを想定して行う必要がある。そのため、データパターンに関わらず、常に複数回のセンスを行う必要がある。つまり、例え１回目の読み出し時に流れるセル電流が小さく、誤読み出しが生じにくいケースだったとしても、２回目の読み出しを行っている。そのため、場合によっては無駄に複数回の読み出しを行うこととなり、ＮＡＮＤ型フラッシュメモリの動作速度を低下させる。
【００７８】
しかしながら、本実施形態に係るＮＡＮＤ型フラッシュメモリであると、セルソースモニタ回路２１が、ソース線ＳＬの電圧ＶＳＬが基準電圧ＶＲＥＦ＿ＳＲＣを超えているか否かをモニタしている。そして、電圧ＶＳＬが基準電圧ＶＲＥＦ＿ＳＲＣを超える場合には、複数回（例えば２回、しかし２回に限定されない）の読み出しを行い、超えない場合には、読み出し回数を１回とする。すなわちセンス回数を、セル電流が大きい場合には複数回、小さい場合には１回とする。従って、データの読み出しを必要な場合にのみ複数回行い、不要な場合には１回で済ませることが可能となる。従って、ＮＡＮＤ型フラッシュメモリの動作速度を向上出来る。
【００７９】
更に本実施形態に係るＮＡＮＤ型フラッシュメモリであると、データパターンモニタ回路２３が、ベリファイ結果をモニタしている。そして、オンセル数が規定数を超えていない場合には、２回目の読み出し時におけるソース線ドライバ２０の能力を上昇させる。これは、１回目のセンスの結果、オンセル数が少なかったということは、２回目のセンスにおいてオンセル数が多くなることが予想されるからである。従って、ソース線ドライバ２０の能力を上昇させることで、ソース線ＳＬの電圧ＶＳＬが上昇することを抑制し、２回目の読み出し時における誤読み出しを防止出来る。他方、１回目のセンスの結果、オンセル数が多い場合、２回目にビット線ＢＬに流れる電流は小さいと予想される。なぜなら、これらのメモリセルトランジスタＭＴに接続されたビット線ＢＬは、２回目の読み出し時には０Ｖに固定されるからである。従って、ソース線ドライバ２０の能力をそのままとしても、ソース線ＳＬの電圧ＶＳＬの上昇は小さく、誤読み出しの発生確率は低いからである。
【００８０】
以上のように、データの読み出し速度を向上することで、書き込み動作を高速化出来、且つ、誤読み出しの発生を抑制出来る結果、ＮＡＮＤ型フラッシュメモリの動作性能を向上出来る。
【００８１】
［第２の実施形態］  
次に、この発明の第２の実施形態に係る半導体記憶装置について説明する。本実施形態は、上記第１の実施形態において、データの読み出し動作時及びベリファイ動作時において、データの読み出し回数を、電圧ＶＳＬだけでなく、データパターンモニタ回路２３におけるモニタ結果にも基づいて、決定するものである。以下では、第１の実施形態と異なる点についてのみ説明する。図９は、読み出し動作時及びベリファイ動作時における制御信号発生回路１６の処理の一部を示すフローチャートである。
【００８２】
図示するように制御信号発生回路１６は、ステップＳ１０において、ソース線ＳＬの電圧ＶＳＬが基準電圧ＶＲＥＦ＿ＳＲＣを超えているか否かを判断する。その結果、電圧ＶＳＬが基準電圧ＶＲＥＦ＿ＳＲＣを超えていれば（ステップＳ１０、ＹＥＳ）、読み出し回数を２回とする（ステップＳ１２）。これは第１の実施形態と同様である。
【００８３】
他方、電圧ＶＳＬが基準電圧ＶＲＥＦ＿ＳＲＣを超えていなければ（ステップＳ１０、ＮＯ）、制御信号発生回路１６は、データパターンモニタ回路２３から、オンセル数及びオフセル数の情報を受信する（ステップＳ２０）。そして制御信号発生回路１６は、オンセル数が規定数を超えているか否かを判定する（ステップＳ２１）。ステップＳ２１で用いる規定数は、ステップＳ１４で使用する規定数と同じでも異なっていても良い。そして、オンセル数が規定数を超えていなければ（ステップＳ２１、ＮＯ）、読み出し回数を１回とする（ステップＳ１１）。しかし、規定数を超えていれば（ステップＳ２１、ＹＥＳ）、読み出し回数を２回とする（ステップＳ１２）。その他の動作は第１の実施形態と同様であるので、説明は省略する。
【００８４】
＜効果＞  
以上のように、この発明の第２の実施形態に係るＮＡＮＤ型フラッシュメモリであると、第１の実施形態で説明した（１）の効果に加えて、下記（２）の効果が得られる。  
（２）ＮＡＮＤ型フラッシュメモリの動作信頼性を向上出来る。  
本実施形態に係るＮＡＮＤ型フラッシュメモリであると、データの読み出し回数を、電圧ＶＳＬとオンセル数との両方に基づいて決定している。従って、誤読み出しの発生をより効果的に防止でき、ＮＡＮＤ型フラッシュメモリの動作信頼性を向上出来る。本効果について、以下説明する。
【００８５】
図１０は、読み出し動作時及びベリファイ動作時において、１ページ内に含まれるオンセル数と、電圧ＶＳＬ（すなわちセル電流）との関係を示すグラフである。図中において、電圧ＶＳＬはオンセル数に比例しているが、必ずしも比例関係にある必要は無い。しかし、大まかには、オンセル数が増加する程、電圧ＶＳＬも大きくなる。また、電圧ＶＳＬの増加の程度には、メモリセルトランジスタＭＴの特性などによりばらつきがある。図中では、グラフをそのうちの一つの例として示している。
【００８６】
図示するように、電圧ＶＳＬが基準電圧ＶＲＥＦ＿ＳＲＣを超えた場合には、オンセル数にかかわらず、２回の読み出しが行われる。これが図中の斜線の領域Ａ２に相当し、第１の実施形態と同様である。本実施形態では、電圧ＶＳＬが基準電圧ＶＲＥＦ＿ＳＲＣを超えなかった場合であっても、オンセル数がある一定の規定数Ｎ１を超えなかった場合には、２回の読み出しが行われる。これが図中の斜線の領域Ａ３に相当する。読み出しが１回だけのケースは、電圧ＶＳＬが基準電圧ＶＲＥＦ＿ＳＲＣを超えず、且つオンセル数が規定数Ｎ１を超えた場合である。これは図中の白抜きの領域Ａ１に相当する。
【００８７】
領域Ａ３は、オンセル数が多かったにも関わらず、電圧ＶＳＬが基準電圧ＶＲＥＦ＿ＳＲＣ以下であった場合である。オンセル数が多ければ、電圧ＶＳＬは、基準電圧ＶＲＥＦ＿ＳＲＣ以下であったとしても、基準電圧ＶＲＥＦ＿ＳＲＣに近いレベルの高い電圧まで上昇している可能性が高い。つまり、電圧ＶＳＬと基準電圧ＶＲＥＦ＿ＳＲＣとの差は、非常に小さい可能性がある。従って、このような場合には、読み出しを２回行う。
【００８８】
このように、本実施形態によれば、ケース毎に読み出し回数を細かく設定することが可能となり、ＮＡＮＤ型フラッシュメモリの動作信頼性を向上出来る。
【００８９】
［第３の実施形態］  
次に、この発明の第３の実施形態に係る半導体記憶装置について説明する。本実施形態は、上記第２の実施形態と同様に、データの読み出し動作時及びベリファイ動作時における読み出し回数を、電圧ＶＳＬだけでなく、データパターンモニタ回路２３におけるモニタ結果にも基づいて、決定するものである。以下では、第１の実施形態と異なる点についてのみ説明する。図１１は、ベリファイ動作時における制御信号発生回路１６の処理の一部を示すフローチャートである。
【００９０】
図示するように制御信号発生回路１６は、ステップＳ１０において、ソース線ＳＬの電圧ＶＳＬが基準電圧ＶＲＥＦ＿ＳＲＣを超えているか否かを判断する。その結果、電圧ＶＳＬが基準電圧ＶＲＥＦ＿ＳＲＣを超えていなければ（ステップＳ１０、ＮＯ）、読み出し回数を１回とする（ステップＳ１１）。これは第１の実施形態と同様である。
【００９１】
他方、電圧ＶＳＬが基準電圧ＶＲＥＦ＿ＳＲＣを超えていれば（ステップＳ１０、ＹＥＳ）、制御信号発生回路１６は、データパターンモニタ回路２３から、オンセル数及びオフセル数の情報を受信する（ステップＳ１３）。そして制御信号発生回路１６は、オンセル数が規定数を超えているか否かを判定する（ステップＳ３０）。ステップＳ２１で用いる規定数は、ステップＳ１４で使用する規定数と同じでも異なっていても良い。そして、オンセル数が規定値を超えていなければ（ステップＳ３０、ＮＯ）、読み出し回数を１回とする（ステップＳ１１）。しかし、規定数を超えていれば（ステップＳ３０、ＹＥＳ）、読み出し回数を２回とする（ステップＳ１２）。その他の動作は第１の実施形態と同様であるので、説明は省略する。
【００９２】
＜効果＞  
以上のように、この発明の第３の実施形態に係るＮＡＮＤ型フラッシュメモリであると、第１の実施形態で説明した（１）の効果に加えて、下記（３）の効果が得られる。
【００９３】
（３）ＮＡＮＤ型フラッシュメモリの動作速度を向上出来る。  
図１２は、読み出し動作時及びベリファイ動作時において、１ページ内に含まれるオンセル数と、電圧ＶＳＬとの関係を示すグラフである。図示するように、電圧ＶＳＬが基準電圧ＶＲＥＦ＿ＳＲＣを超えない場合には、オンセル数にかかわらず、読み出し回数は１回である。これが図中の白抜きの領域Ａ４に相当し、第１の実施形態と同様である。
【００９４】
本実施形態では、電圧ＶＳＬが基準電圧ＶＲＥＦ＿ＳＲＣを超えた場合であっても、オンセル数がある一定の規定数Ｎ２を超えなかった場合には、読み出し回数を１回とする。これが図中の斜線の領域Ａ６に相当する。読み出しが２回のケースは、電圧ＶＳＬが基準電圧ＶＲＥＦ＿ＳＲＣを超え、且つオンセル数が規定数Ｎ２を超えた場合である。これは図中の斜線の領域Ａ５に相当する。
【００９５】
領域Ａ６は、電圧ＶＳＬが基準電圧ＶＲＥＦ＿ＳＲＣを超えたにも関わらず、オンセル数が少なかった場合である。オンセル数が少なければ、電圧ＶＳＬは、基準電圧ＶＲＥＦ＿ＳＲＣを超えていたとしても、基準電圧ＶＲＥＦ＿ＳＲＣ近辺の値である可能性が高い。つまり、電圧ＶＳＬと基準電圧ＶＲＥＦ＿ＳＲＣとの差は、非常に小さい可能性がある。従って、このような場合には、読み出しを１回とする。
【００９６】
以上により、必要な場合にのみ、読み出し回数を複数回とすることが出来、ＮＡＮＤ型フラッシュメモリの動作速度を向上出来る。
【００９７】
［第４の実施形態］  
次に、この発明の第４の実施形態に係る半導体記憶装置について説明する。本実施形態は、上記第２、第３の実施形態を組み合わせたものである。図１３は、読み出し動作時及びベリファイ動作時における制御信号発生回路１６の処理の一部を示すフローチャートである。
【００９８】
図示するように制御信号発生回路１６は、まずデータパターンモニタ回路２３から、オンセル数及びオフセル数の情報を受信する（ステップＳ１３）。そして、電圧ＶＳＬが基準電圧ＶＲＥＦ＿ＳＲＣを超えていれば（ステップＳ１０、ＹＥＳ）、制御信号発生回路１６は、オンセル数が規定数を超えているか否かを判定する（ステップＳ３０）。この際に用いる規定数を、規定数Ｎ２とする。勿論、規定数Ｎ２は、ステップＳ１４で使用する規定数と同じでも異なっていても良い。そして、オンセル数が規定数Ｎ２を超えていなければ（ステップＳ３０、ＮＯ）、読み出し回数を１回とする（ステップＳ１１）。しかし、規定数Ｎ２を超えていれば（ステップＳ３０、ＹＥＳ）、読み出し回数を２回とする（ステップＳ１２）。
【００９９】
他方、ステップＳ１０において電圧ＶＳＬが基準電圧ＶＲＥＦ＿ＳＲＣを超えていなければ（ステップＳ１０、ＮＯ）、制御信号発生回路１６は、オンセル数が規定数を超えているか否かを判定する（ステップＳ２１）。この際に用いる規定数を、規定数Ｎ１とすると、Ｎ２＜Ｎ１である。勿論、規定数Ｎ１は、ステップＳ１４で使用する規定数と同じでも異なっていても良いが、例えば規定数Ｎ２＜ステップＳ１４で使用する規定数＜規定値Ｎ１である。そして、オンセル数が規定数Ｎ１を超えていなければ（ステップＳ２１、ＮＯ）、読み出し回数を１回とする（ステップＳ１１）。しかし、規定数Ｎ１を超えていれば（ステップＳ２１、ＹＥＳ）、読み出し回数を２回とする（ステップＳ１２）。
【０１００】
＜効果＞  
以上のように、この発明の第４の実施形態に係るＮＡＮＤ型フラッシュメモリであると、第１乃至第３の実施形態で説明した（１）乃至（３）の効果が得られる。
【０１０１】
図１４は、本実施形態に係るＮＡＮＤ型フラッシュメモリにおいて、１ページ内に含まれるオンセル数と、電圧ＶＳＬとの関係を示すグラフであり、図中ではＣＡＳＥ ＡとＣＡＳＥ Ｂの２つの場合を示している。図中において、斜線を付した領域が、読み出し回数が２回の領域であり、白抜きの領域が、１回の領域である。
【０１０２】
図示するように、本実施形態に係る手法であると、電圧ＶＳＬが基準電圧ＶＲＥＦ＿ＳＲＣ以下であったとしても、オンセル数が多ければ２回の読み出しを行う。他方、電圧ＶＳＬが基準電圧ＶＲＥＦ＿ＳＲＣを超えていたとしても、オンセル数が少なければ、読み出しを１回だけとする。これにより、ＮＡＮＤ型フラッシュメモリの高速化と信頼性向上とを両立出来る。
【０１０３】
［第５の実施形態］  
次に、この発明の第５の実施形態に係る半導体記憶装置について説明する。本実施形態は、上記第１乃至第４の実施形態のいずれかにおいて、データの読み出し動作時及びベリファイ動作時におけるソース線ドライバ２０の能力を、データパターンモニタ回路２３におけるモニタ結果だけでなく、セルソースモニタ回路２１における電圧ＶＳＬの検出結果にも基づいて、決定するものである。以下では、第１乃至第４の実施形態と異なる点についてのみ説明する。図１５は、読み出し動作時及びベリファイ動作時における制御信号発生回路１６の処理の一部を示すフローチャートであり、図７、図９、図１１、図１３におけるステップＳ１４〜Ｓ１６の部分の処理に相当する。
【０１０４】
図示するように制御信号発生回路１６は、セルソースモニタ検出回路２１の検出結果に基づき、ソース線ＳＬの電圧ＶＳＬが基準電圧ＶＲＥＦ＿ＳＲＣを超えているか否かを判断する（ステップＳ４０）。その結果、電圧ＶＳＬが基準電圧ＶＲＥＦ＿ＳＲＣを超えていれば（ステップＳ４０、ＹＥＳ）、２回目の読み出し時におけるソース線ドライバ２０の駆動力を上昇させる（ステップＳ１５）。
【０１０５】
他方、電圧ＶＳＬが基準電圧ＶＲＥＦ＿ＳＲＣを超えていなければ（ステップＳ４０、ＮＯ）、ステップＳ１４に進み、第１乃至第４の実施形態と同様の処理を行う。その他の動作は第１乃至第４の実施形態と同様であるので、説明は省略する。
【０１０６】
＜効果＞  
以上のように、この発明の第２の実施形態に係るＮＡＮＤ型フラッシュメモリであると、下記（４）の効果が更に得られる。  
（４）ＮＡＮＤ型フラッシュメモリの動作信頼性を向上出来る。  
本実施形態に係るＮＡＮＤ型フラッシュメモリであると、２回目のデータ読み出しにおけるソース線ドライバ２０の駆動力を、電圧ＶＳＬとオンセル数との両方に基づいて決定している。従って、誤読み出しの発生をより効果的に防止でき、ＮＡＮＤ型フラッシュメモリの動作信頼性を向上出来る。
【０１０７】
図１６は、図１０、図１２、図１４と同様に、１ページ内に含まれるオンセル数と、電圧ＶＳＬとの関係を示すグラフである。図中において、斜線を付した領域が、２回目の読み出し時において、ソース線ドライバ２０の駆動力が上昇されるケースに相当する。すなわち、電圧ＶＳＬが基準電圧ＶＲＥＦ＿ＳＲＣを超えた場合には、オンセル数にかかわらず、ソース線ドライバ２０の駆動力は上昇される。また本実施形態では、電圧ＶＳＬが基準電圧ＶＲＥＦ＿ＳＲＣを超えなかった場合であっても、オンセル数がある一定の規定数Ｎ３を超えなかった場合には、ソース線ドライバ２０の駆動力は上昇される。これは、第１の実施形態で説明した通り、２回目の読み出しにおいて、ビット線ＢＬに流れる電流が大きい可能性があるからである。これにより、２回目の読み出しにおける読み出し精度を向上出来る。
【０１０８】
［第６の実施形態］  
次に、この発明の第６の実施形態に係る半導体記憶装置について説明する。本実施形態は、第５の実施形態と同様に、上記第１乃至第４の実施形態のいずれかにおいて、データの読み出し動作時及びベリファイ動作時におけるソース線ドライバ２０の能力を、データパターンモニタ回路２３におけるモニタ結果だけでなく、セルソースモニタ回路２１における電圧ＶＳＬの検出結果にも基づいて、決定するものである。以下では、第１乃至第４の実施形態と異なる点についてのみ説明する。図１７は、読み出し動作時及びベリファイ動作時における制御信号発生回路１６の処理の一部を示すフローチャートであり、図７、図９、図１１、図１３におけるステップＳ１４〜Ｓ１６の部分の処理に相当する。
【０１０９】
図示するように制御信号発生回路１６は、セルソースモニタ検出回路２１の検出結果に基づき、ソース線ＳＬの電圧ＶＳＬが基準電圧ＶＲＥＦ＿ＳＲＣを超えているか否かを判断する（ステップＳ４０）。その結果、電圧ＶＳＬが基準電圧ＶＲＥＦ＿ＳＲＣを超えていなければ（ステップＳ４０、ＮＯ）、ソース線ドライバ２０の駆動力を不変とする（ステップＳ１６）。つまり、２回目の読み出し時におけるソース線ドライバ２０の駆動力は、１回目の読み出し時と同じとされる。
【０１１０】
他方、電圧ＶＳＬが基準電圧ＶＲＥＦ＿ＳＲＣを超えていれば（ステップＳ４１、ＹＥＳ）、オンセル数が規定数を超えているか否かを判定する（ステップＳ４１）。そして、オンセル数が規定値を超えていなければ（ステップＳ４１、ＮＯ）、ソース線ドライバ２０の駆動力を上昇させる（ステップＳ１５）。規定数を超えていれば（ステップＳ４１、ＹＥＳ）、ステップＳ１６に進む。その他の動作は第１乃至第４の実施形態と同様であるので、説明は省略する。
【０１１１】
＜効果＞  
以上のように、この発明の第６の実施形態に係るＮＡＮＤ型フラッシュメモリであると、下記（５）の効果が更に得られる。  
（５）ＮＡＮＤ型フラッシュメモリの消費電力を低減出来る。  
図１８は、図１６と同様に、１ページ内に含まれるオンセル数と、電圧ＶＳＬとの関係を示すグラフである。図中において、斜線を付した領域が、ソース線ドライバ２０の駆動力が上昇されるケースに相当する。すなわち、電圧ＶＳＬが基準電圧ＶＲＥＦ＿ＳＲＣを超えなかった場合には、オンセル数にかかわらず、ソース線ドライバ２０の駆動力は一定とされる。また本実施形態では、電圧ＶＳＬが基準電圧ＶＲＥＦ＿ＳＲＣを超えた場合であっても、オンセル数がある一定の規定数Ｎ４を超えた場合には、ソース線ドライバ２０の駆動力は一定とされる。これは、第１の実施形態で説明した通り、２回目の読み出しにおいて、ビット線ＢＬに流れる電流が小さいと考えられるからである。従って、ソース線ドライバ２０の駆動力を不要に上昇させる必要が無く、ＮＡＮＤ型フラッシュメモリの消費電力を低減出来る。
【０１１２】
［第７の実施形態］  
次に、この発明の第７の実施形態に係る半導体記憶装置について説明する。本実施形態は、上記第５、第６の実施形態を組み合わせたものである。図１９は、読み出し動作時及びベリファイ動作時における制御信号発生回路１６の処理の一部を示すフローチャートであり、図７、図９、図１１、図１３におけるステップＳ１４〜Ｓ１６の部分の処理に相当する。
【０１１３】
図示するように制御信号発生回路１６は、電圧ＶＳＬが基準電圧ＶＲＥＦ＿ＳＲＣを超えていなければ（ステップＳ４０、ＮＯ）、オンセル数が規定数を超えているか否かを判定する（ステップＳ１４）。この際に用いる規定数を、規定数Ｎ３とする。そして、オンセル数が規定数Ｎ３を超えていれば（ステップＳ１４、ＹＥＳ）、ソース線ドライバ２０の駆動力を一定とする（ステップＳ１６）。しかし、規定数Ｎ３を超えていなければ（ステップＳ１４、ＮＯ）、駆動力を上昇させる（ステップＳ１５）。
【０１１４】
他方、ステップＳ４０において電圧ＶＳＬが基準電圧ＶＲＥＦ＿ＳＲＣを超えていれば（ステップＳ４０、ＹＥＳ）、制御信号発生回路１６は、オンセル数が規定数を超えているか否かを判定する（ステップＳ４１）。この際に用いる規定数を、規定数Ｎ４とすると、Ｎ３＜Ｎ４である。そして、オンセル数が規定数Ｎ４を超えていなければ（ステップＳ４１、ＮＯ）、駆動力を上昇させる（ステップＳ１５）。しかし、規定数Ｎ４を超えていれば（ステップＳ４１、ＹＥＳ）、駆動力を不変とする（ステップＳ１６）。
【０１１５】
＜効果＞  
以上のように、この発明の第７の実施形態に係るＮＡＮＤ型フラッシュメモリであると、第５、第６の実施形態で説明した（４）、（５）の効果を更に得られる。
【０１１６】
図２０は、本実施形態に係るＮＡＮＤ型フラッシュメモリにおいて、１ページ内に含まれるオンセル数と、電圧ＶＳＬとの関係を示すグラフであり、図中ではＣＡＳＥ ＡとＣＡＳＥ Ｂの２つの場合を示している。図中において、斜線を付した領域が、ソース線ドライバ２０の駆動力を上昇させるケースに相当する。
【０１１７】
図示するように、本実施形態に係る手法であると、電圧ＶＳＬが基準電圧ＶＲＥＦ＿ＳＲＣ以下であったとしても、オンセル数が少なければソース線ドライバ２０の能力を上昇させる。他方、電圧ＶＳＬが基準電圧ＶＲＥＦ＿ＳＲＣを超えていたとしても、オンセル数が多ければ、ソース線ドライバ２０の能力を不変とする。これにより、ＮＡＮＤ型フラッシュメモリの信頼性向上と低消費電力化とを両立出来る。
【０１１８】
［第８の実施形態］  
次に、この発明の第８の実施形態に係る半導体記憶装置について説明する。本実施形態は、上記第１乃至第７の実施形態におけるソース線ドライバ２０の構成と、制御信号発生回路１６によるソース線ドライバ２０の制御方法に関するものである。ソース線ドライバ２０の構成以外は第１乃至第７の実施形態と同様であるので、説明は省略する。
【０１１９】
＜第１の例＞
図２１は、第１の例に係るソース線ドライバ２０及び制御信号発生回路１６のブロック図である。図示するように、制御信号発生回路１６は、ＭＯＳトランジスタ３１のゲートに入力される信号Ｇ＿ＳＲＣの電位を制御する。
【０１２０】
図２２は、データの読み出し時及びベリファイ時におけるビット線ＢＬ及び信号Ｇ＿ＳＲＣの電位を示すタイミングチャートである。図中の横軸の時刻ｔ０〜ｔ２は、図８と対応する。図示するように、１回目の読み出しの期間、制御信号発生回路１６は、信号Ｇ＿ＳＲＣの電位をＶＧ＿ＳＲＣ１とする。次に２回目の読み出しの期間、オンセル数が規定数を超えていない場合（ステップＳ１４、ＮＯ、ＣＡＳＥ III）には、信号Ｇ＿ＳＲＣをＶＧ＿ＳＲＣ１のままとする。他方、オンセル数が規定数を超えている場合（ステップＳ１４、ＹＥＳ、ＣＡＳＥ IV）には、信号Ｇ＿ＳＲＣをＶＧ＿ＳＲＣ２（＞ＶＧ＿ＳＲＣ１）とする。これにより、ＭＯＳトランジスタ３１の電流駆動力を増大させる。
【０１２１】
＜第２の例＞
図２３は、第２の例に係るソース線ドライバ２０及び制御信号発生回路１６のブロック図である。図示するように、ソース線ドライバ２０において、ＭＯＳトランジスタ３１は、２つのＭＯＳトランジスタ７０、７１によって構成され、更にスイッチ素子７２、７３を備えている。ＭＯＳトランジスタ７０、７１は、ゲートに信号Ｇ＿ＳＲＣが与えられ、ソースが接地され、ドレインがそれぞれスイッチ素子７２、７３を介してソース線ＳＬに接続されている。制御信号発生回路１６は、信号ＣＮＴ１、ＣＮＴ２を発生し、これによりスイッチ素子７２、７３を制御する。
【０１２２】
図２４は、データの読み出し時及びベリファイ時におけるビット線ＢＬ及び信号ＣＮＴ１、ＣＮＴ２の電位を示すタイミングチャートである。図中の横軸の時刻ｔ０〜ｔ２は、図８と対応する。図示するように、１回目の読み出しの期間、制御信号発生回路１６は、信号ＣＮＴ１、ＣＮＴ２をそれぞれ“Ｈ”レベル及び“Ｌ”レベルとする。これにより、ＭＯＳトランジスタ７０がソース線ＳＬに接続され、ＭＯＳトランジスタ７１は非接続とされる。次に２回目の読み出しの期間、オンセル数が規定数を超えていない場合（ステップＳ１４、ＮＯ、ＣＡＳＥ III）には、制御信号発生回路１６は、信号ＣＮＴ１、ＣＮＴ２をそれぞれ“Ｈ”レベル及び“Ｌ”レベルで維持する。他方、オンセル数が規定数を超えている場合（ステップＳ１４、ＹＥＳ、ＣＡＳＥ IV）には、信号ＣＮＴ１だけでなく信号ＣＮＴ２も“Ｈ”レベルとし、ＭＯＳトランジスタ７１をソース線ＳＬに接続する。その結果、２つのＭＯＳトランジスタ７０、７１によってソース線ＳＬは接地され、ソース線ドライバ２０の能力が増大される。
【０１２３】
＜第３の例＞
図２５は、第３の例に係るソース線ドライバ２０及び制御信号発生回路１６のブロック図である。図示するように、ソース線ドライバ２０において、ＭＯＳトランジスタ３１は、２つのＭＯＳトランジスタ７０、７１によって構成される。ＭＯＳトランジスタ７０、７１は、ソースが接地され、ドレインがソース線ＳＬに接続され、ゲートにそれぞれ信号ＣＮＴ１、ＣＮＴ２が入力される。制御信号発生回路１６は、信号ＣＮＴ１、ＣＮＴ２を発生し、これによりＭＯＳトランジスタ７０、７１のオン／オフを制御する。
【０１２４】
データの読み出し時及びベリファイ時におけるビット線ＢＬ及び信号ＣＮＴ１、ＣＮＴ２の電位は、図２４と同様である。すなわち、ＣＡＳＥ IVでは、ＭＯＳトランジスタ７０、７１の両方がオン状態とされることで、ソース線ドライバ２０の能力が増大される。
【０１２５】
以上のように、ソース線ドライバ２０の駆動力は、ＭＯＳトランジスタ３１のゲート電位によって制御したり、または複数の前記ＭＯＳトランジスタのうち、前記ソース線の電位を接地電位に放電可能とされたＭＯＳトランジスタの数によって制御したりすることが出来る。しかしながらソース線ドライバ２０の構成は、制御信号発生回路１６によって能力を可変な構成であれば、上記構成に限定されるものでは無い。
【０１２６】
以上のように、この発明の第１乃至第８の実施形態に係るＮＡＮＤ型フラッシュメモリであると、読み出し動作及びベリファイ動作時において、オン状態または／及びオフ状態のメモリセルＭＴの数をカウントするカウント回路２３と、読み出し動作及びベリファイ動作時において、ソース線ＳＬの電圧ＶＳＬが基準電圧ＶＲＥＦ＿ＳＲＣを超えたか否かを検出する検出回路２１とを備えている。そして制御回路１６は、検出回路２１における検出結果、または検出回路２１における検出結果とカウント回路２３におけるカウント結果とに応じて、センスアンプ１２におけるデータのセンス回数を制御する。更に制御回路１６は、カウント回路２３におけるカウント結果、またはカウント結果と検出回路２１における検出結果とに基づいて、ソース線ドライバ２０の駆動力を制御する。これにより、ＮＡＮＤ型フラッシュメモリの動作信頼性を向上出来る。
【０１２７】
なお、上記実施形態では、セルソースモニタ回路２１がソース線ＳＬの電圧ＶＳＬを検出する場合を例に挙げて説明した。しかし、電圧ではなく電流を検出しても良い。例えば、セルソースモニタ回路２１は、ＭＯＳトランジスタ３１とカレントミラー回路を構成するＭＯＳトランジスタを備え、このＭＯＳトランジスタに流れる電流を基準電流と比較し、比較結果を制御信号発生回路１６に与えても良い。また、ＭＯＳトランジスタ３１のソースは、必ずしも接地されている必要は無く、ある一定の電位が与えられても良い。この電位は、例えば正の電位であり、この場合には、データの読み出し時においてワード線には読み出しレベルにこの正の電位を加えた電圧が印加される。
【０１２８】
また、セルソースモニタ回路２１は、１回目の読み出し時においてのみ、ソース線ＳＬの電圧をモニタすれば良く、２回目以降の読み出し時には必ずしもモニタする必要は無い。このことは、データパターンモニタ回路２３も同様である。
【０１２９】
更に、制御信号発生回路１６は、ベリファイ動作時と読み出し動作時のいずれか一方においてのみ、センス回数及びソース線ドライバ２０の能力を制御しても良いし、両方の場合において制御しても良い。勿論、データの消去後に行う消去ベリファイ動作時にも、同様の制御を行っても良い。
【０１３０】
更に、上記実施形態ではメモリセルトランジスタＭＴの電荷蓄積層４４が導電物（例えば多結晶シリコン層）で形成される場合を例に説明した。しかし、電荷蓄積層４４は、シリコン窒化膜等の絶縁物で形成されても良い。すなわち、所謂ＭＯＮＯＳ構造であっても良い。またメモリセルトランジスタＭＴは、２ビット以上のデータを保持可能とされても良い。例えば２ビットデータを保持可能なメモリセルトランジスタＭＴの場合、メモリセルトランジスタＭＴの閾値分布は、４つの状態を取りうる。そしてデータの読み出し時には、各状態間の電圧（読み出しレベル）が、電圧ＶＣＧＲとして順次発生される。
【０１３１】
更に、上記実施形態ではＮＡＮＤ型フラッシュメモリを例に説明したが、例えばＮＯＲ型フラッシュメモリにも適用出来、セル電流の増加によりソース線電位の上昇が問題となる半導体記憶装置全般に適用可能である。
【０１３２】
なお、本願発明は上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出されうる。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出されうる。
【符号の説明】
【０１３３】
１…フラッシュメモリ、１１…メモリセルアレイ、１２…センスアンプ、１３…ロウデコーダ、１４…データバス、１５…Ｉ／Ｏバッファ、１６…制御信号発生回路、１７…アドレスレジスタ、１８…カラムデコーダ、１９…内部電圧発生回路、２０…ソース線ドライバ、２１…セルソースモニタ回路、２２…基準電圧生成回路、２３…データパターンモニタ回路、３０…メモリセルユニット、３１、６４〜６７、７０、７１…ＭＯＳトランジスタ、３２…比較器、４０…半導体基板、４１、４２…ウェル領域、４３…ゲート絶縁膜、４４、４６…多結晶シリコン層、４５…ゲート間絶縁膜、４７…不純物拡散層、４８、５１…層間絶縁膜、４９、５０、５２…金属配線層、６０〜６３、７２、７３…スイッチ素子、６９…ラッチ回路
【図１】
2010211899.tif 000003
【図２】
2010211899.tif 000004
【図３】
2010211899.tif 000005
【図４】
2010211899.tif 000006
【図５】
2010211899.tif 000007
【図６】
2010211899.tif 000008
【図７】
2010211899.tif 000009
【図８】
2010211899.tif 000010
【図９】
2010211899.tif 000011
【図１０】
2010211899.tif 000012
【図１１】
2010211899.tif 000013
【図１２】
2010211899.tif 000014
【図１３】
2010211899.tif 000015
【図１４】
2010211899.tif 000016
【図１５】
2010211899.tif 000017
【図１６】
2010211899.tif 000018
【図１７】
2010211899.tif 000019
【図１８】
2010211899.tif 000020
【図１９】
2010211899.tif 000021
【図２０】
2010211899.tif 000022
【図２１】
2010211899.tif 000023
【図２２】
2010211899.tif 000024
【図２３】
2010211899.tif 000025
【図２４】
2010211899.tif 000026
【図２５】
2010211899.tif 000027