(57)【要約】      （修正有）【課題】メモリセル特性の製造時のばらつきや経時的な変動に対応して、最適な読み出し／ベリファイ動作を実行することができる不揮発性半導体記憶装置を提供すること。【解決手段】参照信号生成回路１００は、読み出し動作及びベリファイ動作時に用いられる複数の参照信号群Ｉｒｅｆを生成する。ベリファイ動作時、カウンタ回路５０は、ベリファイに失敗した回数Ｃを数え、その回数Ｃを示す回数信号を参照信号生成回路１００に出力する。ベリファイ動作及び読み出し動作時、参照信号生成回路１００は、その回数信号が示す回数Ｃに基づき、複数の参照信号群Ｉｒｅｆの中から一の参照信号群Ｉｒｅｆを選択し、その一の参照信号群Ｉｒｅｆをセンスアンプ３０に出力する。センスアンプ３０は、メモリセルから出力される読み出し信号Ｉｃｅｌｌと、上記一の参照信号群Ｉｒｅｆとを比較することによって、メモリセルに書き込まれたデータ値を検出する。【選択図】      図２
2005327359.tif 000002
【特許請求の範囲】
【請求項１】
複数のメモリセルを有するメモリセルアレイと、
読み出し動作及びベリファイ動作時に用いられる複数の参照信号群を生成する参照信号生成回路と、
前記メモリセルアレイから出力される読み出し信号と前記参照信号生成回路から出力される前記参照信号群とを比較するセンスアンプと
を具備し、
前記参照信号生成回路は、ベリファイ動作時に用いられる前記参照信号群に応じて、読み出し動作時に用いられる前記参照信号群を決定する
ことを特徴とする不揮発性半導体記憶装置。
【請求項２】
請求項１に記載の不揮発性半導体記憶装置において、
前記センスアンプ及び前記参照信号生成回路に接続されたカウンタ回路を更に具備し、
ベリファイ動作時、
前記カウンタ回路は、ベリファイに失敗した回数を数え、前記回数を示す回数信号を前記参照信号生成回路に出力し、
ベリファイ動作及び読み出し動作時、
前記参照信号生成回路は、前記回数信号が示す前記回数に基づき、前記複数の参照信号群の中から一の参照信号群を選択し、前記一の参照信号群を前記センスアンプに出力し、
前記センスアンプは、前記メモリセルから出力される読み出し信号と、前記一の参照信号群とを比較することによって、前記メモリセルに書き込まれたデータ値を検出する
不揮発性半導体記憶装置。
【請求項３】
請求項２に記載の不揮発性半導体記憶装置において、
前記参照信号生成回路は、
前記複数の参照信号群のそれぞれを生成するための複数のリファレンスセル群と、
前記複数のリファレンスセル群に接続されたセレクタ回路と
を備え、
前記セレクタ回路は、前記回数信号が示す前記回数に基づき、前記複数のリファレンスセル群の中から一のリファレンスセル群を選択し、
前記一のリファレンスセル群からの出力は、前記一の参照信号群として前記センスアンプに入力される
不揮発性半導体記憶装置。
【請求項４】
請求項３に記載の不揮発性半導体記憶装置において、
前記複数のリファレンスセル群の各々は、複数のリファレンスセルを備え、
前記複数のリファレンスセルは、それぞれ異なる閾値電圧を有し、
前記参照信号群は、前記複数のリファレンスセルのそれぞれのコントロールゲートに所定の電圧を印加することにより生成される
不揮発性半導体記憶装置。
【請求項５】
請求項４に記載の不揮発性半導体記憶装置において、
前記各々のリファレンスセル群に属する前記複数のリファレンスセルは、
ベリファイ動作時に用いられる第１リファレンスセルと、
読み出し動作時に用いられる第２リファレンスセルと
を含み、
前記複数のリファレンスセル群のそれぞれに属する複数の前記第１リファレンスセルは、それぞれ異なる閾値電圧を有し、
前記複数のリファレンスセル群のそれぞれに属する複数の前記第２リファレンスセルは、それぞれ異なる閾値電圧を有する
不揮発性半導体記憶装置。
【請求項６】
請求項５に記載の不揮発性半導体記憶装置において、
前記複数の第１リファレンスセルは、閾値電圧が等間隔になるように形成され、
前記複数の第２リファレンスセルは、閾値電圧が等間隔になるように形成された
不揮発性半導体記憶装置。
【請求項７】
請求項５又は６に記載の不揮発性半導体記憶装置において、
前記セレクタ回路は、前記回数信号が示す前記回数の増加に伴い、より低い閾値電圧を有する前記第１リファレンスセル及び前記第２リファレンスセルを備える前記リファレンス群を、前記一のリファレンスセル群として選択する
不揮発性半導体記憶装置。
【請求項８】
請求項２に記載の不揮発性半導体記憶装置において、
前記参照信号生成回路は、
Ｍ行Ｎ列（Ｍ、Ｎは２以上の整数）に配置された複数のリファレンスセルを有するリファレンスセルアレイと、
前記リファレンスセルアレイに接続されたセレクタ回路と
を備え、
第ｉ行第ｊ列（ｉは１以上Ｍ以下の整数；ｊは１以上Ｎ−１以下の整数）の前記リファレンスセルの閾値電圧は、第ｉ行第（ｊ＋１）列の前記リファレンスセルの閾値電圧より所定の電圧差だけ高く、
第ｋ列（ｋは１以上Ｎ以下の整数）に属するＭ個の前記リファレンスセルは、それぞれ異なる閾値電圧を有し、
前記セレクタ回路は、前記回数信号が示す前記回数がＣ（Ｃは０以上Ｎ−１以下の整数）の時、第（Ｃ＋１）列に属するＭ個の前記リファレンスセルを選択し、
前記一の参照信号群は、前記第（Ｃ＋１）列に属するＭ個のリファレンスセルのそれぞれのコントロールゲートに所定の電圧を印加することによって生成される
不揮発性半導体記憶装置。
【請求項９】
請求項８に記載の不揮発性半導体記憶装置において、
第ｋ列に属するＭ個の前記リファレンスセルは、
Ｒ個（Ｒは１以上Ｍ／２以下の整数）の第１リファレンスセルと、
Ｒ個の第２リファレンスセルと
を含み、
ベリファイ動作時、前記Ｒ個の第１リファレンスセルのいずれかのコントロールゲートに前記所定の電圧が印加され、
読み出し動作時、前記Ｒ個の第２リファレンスセルのいずれかのコントロールゲートに前記所定の電圧が印加される
不揮発性半導体記憶装置。
【請求項１０】
不揮発性半導体記憶装置のメモリセルアクセス方法であって、
前記不揮発性半導体記憶装置は、複数のメモリセルがアレイ状に配置されたメモリセルアレイと、前記メモリセルのデータの読み出し／ベリファイ動作に用いられる複数のリファレンスセル群とを備え、
前記メモリセルアクセス方法は、
（Ａ）前記複数のメモリセルにデータを書き込むステップと、
（Ｂ）前記複数のメモリセルへの前記データの書き込みをベリファイするステップと、
（Ｃ）前記（Ｂ）ベリファイするステップにおいて、ベリファイに失敗した回数を数えるステップと、
（Ｄ）前記回数に応じて、前記複数のリファレンスセル群から一のリファレンスセル群を選択するステップと、
（Ｅ）前記一のリファレンスセル群を用いて、読み出し／ベリファイ動作を行うステップと
を具備する
不揮発性半導体記憶装置のメモリセルアクセス方法
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性半導体記憶装置に関し、特に、不揮発性半導体記憶装置におけるベリファイ動作及び読み出し動作を実行するための技術に関する。
【背景技術】
【０００２】
フラッシュメモリ等の不揮発性半導体記憶装置は、メモリセルのフローティングゲートに電子（例えば、ホットエレクトロン）を注入し、メモリセルの閾値電圧を変えることによって、データを記憶する。メモリセルの閾値電圧は、電子がフローティングゲートに注入された場合に高くなり、電子がフローティングゲートから引き抜かれた場合に低くなる。また、近年、記憶容量の増大を図るために、１つのメモリセルに複数ビットのデータが記憶される多値型の不揮発性半導体記憶装置が提案されている。この場合、フローティングゲートへの電荷の注入量が高精度に制御される。
【０００３】
図１Ａは、４値フラッシュメモリにおけるメモリセルの閾値電圧Ｖｔｈの分布を示している。図１Ａにおいて、縦軸は、メモリセル（メモリトランジスタ）の閾値電圧Ｖｔｈを表し、横軸は、メモリセルの分布頻度を表している。メモリセルの閾値電圧Ｖｔｈは、プログラムされたデータ（“００”、“０１”、“１０”、“１１”）に応じて異なる。また、各メモリセルの構造のばらつき等により、同じデータがプログラムされたメモリセル間においても、閾値電圧Ｖｔｈは異なり得る。つまり、メモリセル全体の閾値電圧Ｖｔｈは、図１Ａに示されるような複数の分布Ｄ０〜Ｄ３を有する。分布Ｄ０〜Ｄ３は、２ビットのデータ“００”、“０１”、“１０”、“１１”にそれぞれ対応している。各メモリセルの閾値電圧Ｖｔｈは、プログラムされたデータに応じて、分布Ｄ０〜Ｄ３のいずれかに属する。
【０００４】
データの読み出しは、メモリセルの閾値電圧Ｖｔｈを、リード基準電圧ＶＲ（ＶＲ１〜ＶＲ３）と比較することにより行われる。これらリード基準電圧ＶＲ１〜ＶＲ３は、分布間のマージン（ΔＶｍ１〜ΔＶｍ３）に位置するように設定されている。例えば、メモリセルの閾値電圧Ｖｔｈがリード基準電圧ＶＲ１より高いとき、メモリセルに保持されているデータは、“００”と判定される。具体的な比較方法として、様々な方法が提案されている（特許文献１〜４参照）。例えば、これら複数種のリード基準電圧ＶＲをメモリセルにつながるワード線に直接印加する方式や、これら複数種のリード基準電圧ＶＲを閾値電圧として有するリファレンスセル群を用意し、メモリセルとリファレンスセル双方の読み出し信号（電圧／電流）をセンスアンプで比較する方式などが提案されている。
【０００５】
データの書き込み（プログラム）は、例えばドレインに５Ｖ、コントロールゲートに１２Ｖを印加することにより行われる。これにより、ドレイン付近で発生したホットエレクトロンがフローティングゲートに注入され、メモリセルの閾値電圧Ｖｔｈが上昇する。
【０００６】
ここで、フラッシュメモリにおいて、書き込みが正常に行われたかどうかをチェックする「ベリファイ動作」が実行される。具体的には、書き込み後のメモリセルの閾値電圧Ｖｔｈがベリファイ基準電圧ＶＶ（ＶＶ１〜ＶＶ３）に達しているかどうかがチェックされる。例えば、データ“００”が書き込まれたメモリセルに対して読み出し動作が行われ、そのメモリセルの閾値電圧Ｖｔｈがベリファイ基準電圧ＶＶ１に達しているかどうかの判定が行われる。閾値電圧Ｖｔｈがベリファイ基準電圧ＶＶ１に達していない場合、そのメモリセルに対して再度書き込み動作が実行される。これにより、データ“００”が書き込まれたメモリセルの閾値電圧Ｖｔｈは、ベリファイ基準電圧ＶＶ１より高くなる。他のデータの書き込みに対しても同様にベリファイ動作が実行され、各メモリセルの閾値電圧Ｖｔｈは、分布Ｄ０〜Ｄ３のいずれかに属するようになる。
【０００７】
図１Ａに示されるように、これらベリファイ基準電圧ＶＶ１〜ＶＶ３は、それぞれリード基準電圧ＶＲ１〜ＶＲ３よりも高く設定されている。これにより、リード基準電圧ＶＲを用いてメモリセルのデータを読み出す際に、誤ったデータ値が検出されることが抑制される。言い換えれば、マージンΔＶｍ１〜ΔＶｍ３が形成される。
【０００８】
一般に、半導体製品は、ウエハ上でのチップの位置、製造ロット内でのウエハの位置、および製造ロットに依存してチップの特性がばらつく。図１Ｂは、そのような書き込み特性のばらつきを示す。あるチップにおける閾値電圧Ｖｔｈの分布がＤ０〜Ｄ３で示されるのに対し、他のチップにおける閾値電圧Ｖｔｈの分布は、分布Ｄ０´〜Ｄ３´となり得る（閾値電圧分布のシフト）。上記ベリファイ動作は繰り返し実行されるが、所定の書き込み時間（書き込み回数）内でもベリファイが完了しない場合、メモリセルの閾値電圧Ｖｔｈは、ベリファイ基準電圧ＶＶより低くなってしまう。これは、マージン（ΔＶｍ１〜ΔＶｍ３）の減少を意味し、データの誤読み出しの原因となる。特に、多値型の不揮発性半導体記憶装置においては、マージンは２値型のものに比べてもともと小さいので、マージン減少の影響は顕著となる。
【０００９】
このような閾値電圧分布のシフトに対応することを目的とした不揮発性半導体記憶装置として、以下のものが知られている。
【００１０】
特許文献１に開示された不揮発性多値半導体メモリは、電気的に書き換え可能な不揮発性の多値メモリセルと、プログラム電圧生成回路と、参照電圧生成回路と、書き換え可能な第１記憶部とを備える。プログラム電圧生成回路は、データの書き込みに用いられ、書き込みデータの論理に応じて各メモリセルの閾値電圧を変更するために複数のプログラム電圧を生成する。第１記憶部は、複数の参照値を記憶し、その複数の参照値のそれぞれは、メモリセルの閾値電圧を判定するための複数の参照電圧に対応する。この複数の参照値の少なくとも１つは、外部から書き換え可能である。メモリセルからのデータの読み出し時、参照電圧生成回路は、第１記憶部に記憶された参照値に応じて、参照電圧をそれぞれ生成する。生成された参照電圧を、メモリセルにつながるワード線に印加することによって、メモリセルのデータの読み出しが行われる。
【００１１】
この特許文献１に係る技術によれば、複数の参照値は、試験モード時に外部から書き換えられる。また、その複数の参照値の最適化は、チップ全体に対して行われ、ブロック毎の書きこみ特性のばらつきに対応することはできない。
【００１２】
メモリセルの閾値電圧は、データ書き換えの繰り返しや経時的な要因によっても変動し得る。このような閾値電圧の変動に対応することを目的とした技術が、特許文献２及び特許文献３に開示されている。
【００１３】
特許文献２に開示されたＥＥＰＲＯＭ装置は、メモリセルに対する書き込み回数を計数する計数回路を備える。この計数回路によってカウントされた書き込み回数が所定の値（例えば、１０５回）に達すると、メモリセルアレイの読み出し基準電圧が変更される。特許文献３に開示された不揮発性半導体記憶装置は、多ビットデータを記憶する複数のメモリセルと、多ビットデータに応じた数のリファレンス用メモリセルと、判定電圧設定手段と、読み出し手段とを備える。判定電圧設定手段は、リファレンス用メモリセルのデータを読み出し、そのリファレンス用メモリセルの閾値電圧の変動を判定する。そして判定電圧設定手段は、その判定結果に応じた判定基準電圧を発生させる。読み出し手段は、その判定基準電圧をワード線に印加することによって、メモリセルのデータの読み出しを行う。これら特許文献２及び特許文献３に係る技術によれば、メモリセル特性の製造時のばらつきに対応して、基準電圧を最適化することができない。
【００１４】
不揮発性半導体記憶装置に関する他の技術が、特許文献４に開示されている。特許文献４に開示された半導体記憶装置によれば、データの書き込み／消去時にワード線に印加される書き込み／消去電圧が変更される。
【００１５】
【特許文献１】特開２００３−２６３８９７号公報
【特許文献２】特開昭６３−２９３９７号公報
【特許文献３】特開平１１−２１３６８２号公報
【特許文献４】特開２００３−５１１９３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１６】
本発明の目的は、データの誤読み出しを低減させることができる不揮発性半導体記憶装置を提供することにある。
【００１７】
本発明の他の目的は、メモリセル特性の製造時のばらつきや経時的な変動に対応して、最適な読み出し動作を実行することができる不揮発性半導体記憶装置を提供することにある。
【００１８】
本発明の更に他の目的は、歩留まりを向上させ、製造コストを低減させることができる不揮発性半導体記憶装置を提供することにある。
【課題を解決するための手段】
【００１９】
以下に、［発明を実施するための最良の形態］で使用される番号・符号を用いて、［課題を解決するための手段］を説明する。これらの番号・符号は、［特許請求の範囲］の記載と［発明を実施するための最良の形態］との対応関係を明らかにするために括弧付きで付加されたものである。ただし、それらの番号・符号を、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【００２０】
本発明に係る不揮発性半導体記憶装置（１０）は、複数のメモリセルを有するメモリセルアレイ（２０）と、参照信号生成回路（１００）と、センスアンプ（３０）とを備える。参照信号生成回路（１００）は、読み出し動作及びベリファイ動作時に用いられる複数の参照信号群（Ｉｒｅｆ）を生成する。センスアンプ（３０）は、メモリセルアレイ（２０）から出力される読み出し信号（Ｉｃｅｌｌ）と参照信号生成回路（１００）から出力される参照信号群（Ｉｒｅｆ）とを比較する。参照信号生成回路（１００）は、ベリファイ動作時に用いられる参照信号群（Ｉｒｅｆ）に応じて、読み出し動作時に用いられる参照信号群（Ｉｒｅｆ）を決定する。
【００２１】
本発明に係る不揮発性半導体記憶装置（１０）は、複数のメモリセルを有するメモリセルアレイ（２０）と、参照信号生成回路（１００）と、そのメモリセルアレイ（２０）及び参照信号生成回路（１００）に接続されたセンスアンプ（３０）と、そのセンスアンプ（３０）及び参照信号生成回路（１００）に接続されたカウンタ回路（５０）とを備える。参照信号生成回路（１００）は、読み出し動作及びベリファイ動作時に用いられる複数の参照信号群（Ｉｒｅｆ）を生成する。ベリファイ動作時、カウンタ回路（５０）は、ベリファイに失敗した回数（Ｃ）を数え、その回数（Ｃ）を示す回数信号（Ｓ２、Ｓ３）を参照信号生成回路（１００）に出力する。ベリファイ動作及び読み出し動作時、参照信号生成回路（１００）は、回数信号（Ｓ２、Ｓ３）が示す回数（Ｃ）に基づき、複数の参照信号群（Ｉｒｅｆ）の中から一の参照信号群（Ｉｒｅｆ）を選択し、その一の参照信号群（Ｉｒｅｆ）をセンスアンプ（３０）に出力する。センスアンプ（３０）は、メモリセルから出力される読み出し信号（Ｉｃｅｌｌ）と、上記一の参照信号群（Ｉｒｅｆ）とを比較することによって、メモリセルに書き込まれたデータ値を検出する。
【００２２】
本発明に係る不揮発性半導体記憶装置（１０）において、参照信号生成回路（１００）は、複数の参照信号群（Ｉｒｅｆ）のそれぞれを生成するための複数のリファレンスセル群（７５）と、その複数のリファレンスセル群（７５）に接続されたセレクタ回路（８２）とを備える。このセレクタ回路（８２）は、上記回数信号（Ｓ２、Ｓ３）が示す回数（Ｃ）に基づき、複数のリファレンスセル群（７５）の中から一のリファレンスセル群（７５）を選択する。この一のリファレンスセル群（７５）からの出力は、上記一の参照信号群（Ｉｒｅｆ）としてセンスアンプ（３０）に入力される。
【００２３】
上記複数のリファレンスセル群（７５）の各々は、複数のリファレンスセル（７１、７２）を備える。これら複数のリファレンスセル（７１、７２）は、それぞれ異なる閾値電圧（ＶＶ、ＶＲ）を有する。この時、上記参照信号群（Ｉｒｅｆ）は、複数のリファレンスセル（７１、７２）のそれぞれのコントロールゲートに所定の電圧（Ｖｒｅａｄ）を印加することにより生成される。
【００２４】
また、各々のリファレンスセル群（７５）に属する複数のリファレンスセル（７１、７２）は、ベリファイ動作時に用いられる第１リファレンスセル（７１）と、読み出し動作時に用いられる第２リファレンスセル（７２）とを含む。複数のリファレンスセル群（７５）のそれぞれに属する複数の第１リファレンスセル（７１）は、それぞれ異なる閾値電圧を有する。また、複数のリファレンスセル群（７５）のそれぞれに属する複数の第２リファレンスセル（７２）は、それぞれ異なる閾値電圧を有する。これら複数の第１リファレンスセル（７１）は、閾値電圧（ＶＶ）が等間隔になるように形成され、複数の第２リファレンスセル（７２）は、閾値電圧（ＶＲ）が等間隔になるように形成されると好ましい。
【００２５】
本発明に係る不揮発性半導体記憶装置（１０）において、セレクタ回路（８２）は、上記回数信号（Ｓ１、Ｓ２）が示す回数（Ｃ）の増加に伴い、より低い閾値電圧（ＶＶ、ＶＲ）を有する第１リファレンスセル（７１）及び第２リファレンスセル（７２）を備えるリファレンス群（７５）を、上記一のリファレンスセル群（７５）として選択する。
【００２６】
また、本発明に係る不揮発性半導体記憶装置（１０）において、参照信号生成回路（１００）は、Ｍ行Ｎ列（Ｍ、Ｎは２以上の整数）に配置された複数のリファレンスセル（７１、７２）を有するリファレンスセルアレイ（７０）と、そのリファレンスセルアレイ（７０）に接続されたセレクタ回路（８２）とを備える。第ｉ行第ｊ列（ｉは１以上Ｍ以下の整数；ｊは１以上Ｎ−１以下の整数）のリファレンスセル（７１、７２）の閾値電圧は、第ｉ行第（ｊ＋１）列のリファレンスセル（７１、７２）の閾値電圧（ＶＶ、ＶＲ）より所定の電圧差（ΔＶｓ）だけ高くなるように設定される。また、第ｋ列（ｋは１以上Ｎ以下の整数）に属するＭ個のリファレンスセル（７１、７２）は、それぞれ異なる閾値電圧（ＶＶ、ＶＲ）を有する。この時、セレクタ回路（８２）は、上記回数信号（Ｓ１、Ｓ２）が示す回数がＣ（Ｃは０以上Ｎ−１以下の整数）の時、第（Ｃ＋１）列に属するＭ個のリファレンスセル（７１、７２）を選択する。そして、上記一の参照信号群（Ｉｒｅｆ）は、その第（Ｃ＋１）列に属するＭ個のリファレンスセル（７１、７２）のそれぞれのコントロールゲートに所定の電圧（Ｖｒｅａｄ）を印加することによって生成される。また、第ｋ列に属するＭ個のリファレンスセル（７１、７２）は、Ｒ個（Ｒは１以上Ｍ／２以下の整数）の第１リファレンスセル（７１）と、Ｒ個の第２リファレンスセル（７２）とを含む。ベリファイ動作時、それらＲ個の第１リファレンスセル（７１）のいずれかのコントロールゲートに所定の電圧（Ｖｒｅａｄ）が印加される。また、読み出し動作時、それらＲ個の第２リファレンスセル（７２）のいずれかのコントロールゲートに所定の電圧（Ｖｒｅａｄ）が印加される。
【００２７】
本発明に係る不揮発性半導体記憶装置（１０）のメモリセルアクセス方法は、（Ａ）複数のメモリセルにデータを書き込むステップと、（Ｂ）その複数のメモリセルへのデータの書き込みをベリファイするステップと、（Ｃ）上記（Ｂ）ベリファイするステップにおいて、ベリファイに失敗した回数を数えるステップと、（Ｄ）その回数に応じて、複数のリファレンスセル群（７５）から一のリファレンスセル群（７５）を選択するステップと、（Ｅ）その一のリファレンスセル群（７５）を用いて、読み出し／ベリファイ動作を行うステップとを備える。
【発明の効果】
【００２８】
本発明に係る不揮発性半導体記憶装置によれば、データの誤読み出しが低減される。
【００２９】
本発明に係る不揮発性半導体記憶装置は、メモリセル特性の製造時のばらつきや経時的な変動に対応して、最適な読み出し／ベリファイ動作を実行することが可能である。
【００３０】
本発明に係る不揮発性半導体記憶装置によれば、歩留まりが向上し、製造コストが低減される。
【発明を実施するための最良の形態】
【００３１】
添付図面を参照して、本発明による不揮発性半導体記憶装置及びメモリセルアクセス方法を説明する。
【００３２】
図２は、本発明に係る不揮発性半導体記憶装置１０の構成を示すブロック図である。不揮発性半導体記憶装置１０は、複数のメモリセルがアレイ状に配置されたメモリセルアレイ２０を備えている。このメモリセルは、コントロールゲート及びフローティングゲートを有する不揮発性のメモリセルである。複数のメモリセルは、複数のワード線及び複数のビット線に接続されている。複数のワード線は、Ｘデコーダ２１に接続され、複数のビット線は、Ｙセレクタ２３を介してＹデコーダ２２に接続されている。また、Ｘデコーダ２１とＹデコーダ２２は、アドレスバッファ２４に接続されている。
【００３３】
また、不揮発性半導体記憶装置１０は、Ｉ／Ｏバッファ１２及び制御回路１５を備えている。Ｉ／Ｏバッファ１２には、アクセスを行うメモリセルのアドレスを示すアドレスデータＤＡ、メモリセルに書き込まれるデータを示す書き込みデータＤＷ、及びメモリセルから読み出されるデータを示す読み出しデータＤＲが入力される。制御回路１５は、上記・下記の各回路に直接的・間接的に接続されており、メモリセルに対する読み出し／書き込み／ベリファイを制御する。
【００３４】
本実施の形態において、メモリセルに書き込まれたデータ値の検出は、「読み出し信号」と「参照信号」を比較することにより行われる。この「読み出し信号」とは、メモリセルのデータの読み出し時／ベリファイ時にビット線に現れるビット線信号、あるいはそのビット線信号に対応した信号を意味する。つまり、「読み出し信号」は、メモリセル（メモリセルトランジスタ）の閾値電圧Ｖｔｈに対応する信号である。
【００３５】
以下の説明において、この「読み出し信号」の例として「メモリセル電流Ｉｃｅｌｌ」が用いられる。この「メモリセル電流Ｉｃｅｌｌ」は、メモリセルのデータの読み出し時／ベリファイ時にビット線に発生する電流であり、その大きさはメモリセルの閾値電圧Ｖｔｈと相関を有する。また、以下の説明において、「参照信号」の例として「参照電流Ｉｒｅｆ」が用いられる。この「参照電流Ｉｒｅｆ」は、以下に説明される参照電流生成回路１００によって生成される。このように、本実施の形態によれば、メモリセルから出力される「メモリセル電流Ｉｃｅｌｌ」と、参照電流生成回路１００から出力される「参照電流Ｉｒｅｆ」とを比較することによって、メモリセルのデータ値の検出が行われる。但し、データ値の検出は、電流以外の“量”を用いて行われてもよい。例えば、読み出し電圧と参照電圧を比較することによって、データ値の検出が行われてもよい。
【００３６】
本発明に係る不揮発性半導体記憶装置１０は、一群の参照電流Ｉｒｅｆ（以下、「参照電流群」あるいは「参照信号群」と参照される）を生成する参照電流生成回路１００を備えている。この参照電流群が含む参照電流Ｉｒｅｆの種類数は、１メモリセルに記憶されるデータのビット数に依存する。図２に示されるように、参照電流生成回路１００は、複数のリファレンスセル群７５を含むリファレンスセルアレイ７０を備えている。後に詳述されるように、複数のリファレンスセル群７５の各々は、複数のリファレンスセルを備え、複数種の参照電流Ｉｒｅｆ（一種類の参照電流群）を生成する。また、参照電流生成回路１００は、リファレンスセルアレイ７０に接続されたリファレンスセルワード線ドライバ８１とセレクタ回路８２、及びデコーダ９０を備えている。
【００３７】
また、図２に示されるように、本発明に係る不揮発性半導体記憶装置１０は、センスアンプ３０と、コンパレータ４０と、カウンタ回路５０と、カウント回数格納回路６０とを備えている。センスアンプ３０は、参照電流生成回路１００に接続され、又、Ｙセレクタ２３を介してメモリセルアレイ２０に接続されている。コンパレータ４０は、センスアンプ３０、Ｉ／０バッファ１２、制御回路１５、カウンタ回路５０に接続されている。カウンタ回路５０は、コンパレータ４０を介してセンスアンプ３０に接続され、又、カウント回数格納回路６０を介して参照電流生成回路１００に接続されている。
【００３８】
図３は、本実施の形態に係るカウンタ回路５０の一構成例を詳細に示す回路図である。このカウンタ回路５０は、コンパレータ４０からの信号が入力される入力端子５１、クロック信号ＣＬＫが入力されるクロック端子、リセット信号ＲＥＳＥＴが入力されるリセット端子、及びカウント結果を出力する出力端子５９ａ〜５９ｃを備えている。また、図３に示されるように、カウンタ回路５０は、ＮＡＮＤ５２、５４、インバータ５３、ＥＸＯＲ５６ａ、ＥＸＮＯＲ５６ｂ、ＮＯＲ５７ａ〜５７ｃ、及びフリップフロップ５５、５８ａ〜５８ｃを備えている。
【００３９】
入力端子５１は、ＮＡＮＤ５２の入力とＥＸＮＯＲ５６ｂの入力に接続されている。ＮＡＮＤ５２の出力は、インバータ５３の入力とフリップフロップ５５の入力に接続されている。インバータ５３の出力は、ＮＡＮＤ５４の入力とフリップフロップ５５の入力に接続されている。ＮＡＮＤ５４の出力は、ＥＸＯＲ５６ａの入力に接続されている。ＮＯＲ５７ａの入力は、リセット端子とＥＸＯＲ５６ａの出力に接続され、その出力はフリップフロップ５８ａの入力に接続されている。ＮＯＲ５７ｂの入力は、リセット端子とフリップフロップ５５の出力に接続され、その出力はフリップフロップ５８ｂの入力に接続されている。ＮＯＲ５７ｃの入力は、リセット端子とＥＸＮＯＲ５６ｂの出力に接続され、その出力はフリップフロップ５８ｃの入力に接続されている。クロック信号ＣＬＫは、フリップフロップ５８ａ〜５８ｃに供給される。フリップフロップ５８ａの出力は、出力端子５９とＥＸＯＲ５６ａの入力に接続されている。フリップフロップ５８ｂの出力は、出力端子５９ｂ、ＮＡＮＤ５４の入力、及びフリップフロップ５５の入力に接続されている。フリップフロップ５８ｃの出力は、出力端子５９ｃ、ＮＡＮＤ５２の入力、及びＥＸＮＯＲ５６ｂの入力に接続されている。
【００４０】
リセット信号ＲＥＳＥＴが入力された場合、ＮＯＲ５７ａ〜５７ｃの出力は「０」になり、出力端子５９ａ〜５９ｃにおける論理値（ＣＣ２、ＣＣ１、ＣＣ０）も全て「０」となる。ＥＸＮＯＲ５６ｂの動作に着目すると、論理値ＣＣ０が「０」の場合、入力端子５１に「０」が入力されると論理値ＣＣは「０」のままであり、入力端子５１に「１」が入力されると論理値ＣＣは「１」に変わることが分かる。同様に、論理値ＣＣ０が「１」の場合、入力端子５１に「０」が入力されると論理値ＣＣは「１」のままであり、入力端子５１に「１」が入力されると論理値ＣＣは「０」に変わることが分かる。このように、入力端子５１に信号（パルス）が入力される度に、論理値ＣＣ０は「０」から「１」、あるいは「１」から「０」に変化する。
【００４１】
また、図３に示されるように、論理値ＣＣ１が「０」の場合に、「１」がフリップフロップ５５に入力され、論理値ＣＣ１が「１」の場合に、「０」がフリップフロップ５５に入力されている。ここで、ＮＡＮＤ５２の動作に着目すると、論理値ＣＣ０が「０」の場合、フリップフロップ５５に入力される論理値は変化しないことが分かる。一方、論理値ＣＣ０が「１」の場合、入力端子５１にパルスが入力されると、ＮＡＮＤ５２の出力もパルス状に変化する。このパルス状の変化は、フリップフロップ５５に対するクロック信号の役割を果たす。このクロック信号により、論理値ＣＣ１は「０」から「１」、あるいは「１」から「０」に変化する。つまり、論理値ＣＣ０が「１」である場合にのみ、パルスの入力によって論理値ＣＣ１が反転する。すなわち、「桁上がり」が実現される。
【００４２】
また、ＮＡＮＤ５４の動作に着目すると、論理値ＣＣ１が「０」の場合、ＮＡＮＤ５４の出力は変化しないことが分かる。一方、論理値ＣＣ１が「１」の場合、入力端子５１にパルスが入力されると、ＮＡＮＤ５４の出力もパルス状に変化することが分かる。上述のＥＸＮＯＲ５６ｂの動作と同様に、ＥＸＯＲ５６ａの動作に着目すると、このパルス状の変化により、論理値ＣＣ２は「０」から「１」、あるいは「１」から「０」に変化することが分かる。すなわち、「桁上がり」が実現される。
【００４３】
このように、本実施の形態に係るカウンタ回路５０によれば、入力端子５１に信号（パルス）が入力される度に、出力端子５９ａ〜５９ｃに現れる論理値が変化する。具体的には、リセット時に（ＣＣ２、ＣＣ１、ＣＣ０）は（０、０、０）となり、１つのパルスが入力端子５１に入力されると、（ＣＣ２、ＣＣ１、ＣＣ０）は（０、０、１）となる。以降、パルスが入力される度に、（ＣＣ２、ＣＣ１、ＣＣ０）は、（０、１、０）、（０、１、１）、（１、０、０）・・・と変化していく。すなわち、（ＣＣ２、ＣＣ１、ＣＣ０）は、パルスの数を２進表記で表している。このように、カウンタ回路５０は、入力されるパルスの数をカウントし、その数を示す信号を出力する。具体的には、このパルスは、コンパレータ４０から出力される比較結果信号Ｓ１（後述）である。また、論理値ＣＣ０〜ＣＣ２は、カウント回数信号Ｓ２として、カウント回数格納回路６０に出力される（図２参照）。尚、出力端子の数は３個に限られず、カウンタ回路５０が有する出力端子の数は任意である。
【００４４】
図４は、本実施の形態に係るカウント回数格納回路６０の一構成例を詳細に示すブロック回路図である。このカウント回数格納回路６０は、上記カウント回路５０がカウントしたパルスの数を記憶する。図４に示されるように、カウント回数格納回路６０は、カウント回数信号Ｓ２のビット数に応じた複数の格納回路６１（６１ａ〜６１ｃ）を備えている。各々の格納回路６１は、データを記憶するための不揮発性のメモリセル６２、トランジスタ６３、書き込み回路６４、及び読み出し回路６８を備えている。このメモリセル６２は、トランジスタ６３を介して、書き込み回路６４と読み出し回路６８に接続されている。また、各格納回路６１には、論理値ＣＣ０〜ＣＣ２（カウント回数信号Ｓ２）のいずれか、及び制御回路１５からの制御信号ＣＭＤ１、ＣＭＤ２が入力される。また、複数の格納回路６１ａ〜６１ｃのそれぞれは、格納値ＬＣ０〜ＬＣ２を出力する。
【００４５】
図５は、本実施の形態に係る格納回路６１の一構成例を詳細に示す回路図である。図５には、例として、図４に示された格納回路６１ａの構成が示されている。書き込み回路６４ａは、ＮＡＮＤ６５、トランジスタ６６、及び書き込み電圧端子６７を備えている。書き込み電圧端子６７は、トランジスタ６６を介して、メモリセル６２ａに接続されている。また、このＮＡＮＤ６５には、制御信号ＣＭＤ１と論理値ＣＣ０が入力され、ＮＡＮＤ６５の出力は、トランジスタ６６のゲートに接続されている。つまり、ＮＡＮＤ６５は、制御信号ＣＭＤ１と論理値０に応じて、トランジスタ６６のＯＮ／ＯＦＦを制御する。また、読み出し回路６８ａは、センスアンプ６９を備えている。このセンスアンプ６９もメモリセル６２ａに接続されている。また、このセンスアンプ６９には、制御信号ＣＭＤ２が入力される。
【００４６】
この格納回路６１ａの動作は以下の通りである。まず、メモリセル６２ａに論理値ＣＣ０を格納する場合、制御信号ＣＭＤ１が入力され（「１」に設定され）、書き込み回路６４ａがアクティブ状態に設定される。同時に、制御信号ＣＭＤ２によって、センスアンプ６９が非アクティブ状態に設定される。この時、論理値ＣＣ０が「０」の場合、トランジスタ６６がＯＮされ、論理値ＣＣ０が「１」の場合、トランジスタ６６はＯＦＦされる。そして、トランジスタ６３ａがＯＮされ、メモリセル６２ａのコントロールゲートに所定の電圧が印加される。論理値ＣＣ０が「０」の場合、書き込み電圧Ｖｐｐによって、メモリセル６２ａのフローティングゲートに電子が注入される。すなわち、メモリセル６２ａに、データ“０”がプログラムされる。論理値ＣＣが「１」の場合、フローティングゲートに電子は注入されない。つまり、メモリセル６２ａのデータは“１”のままである。
【００４７】
メモリセル６２ａに格納されたデータを読み出す場合、制御信号ＣＭＤ１が「０」に設定され、書き込み回路６４ａが非アクティブ状態に設定される。同時に、制御信号ＣＭＤ２によって、センスアンプ６９がアクティブ状態に設定される。そして、トランジスタ６３ａがＯＮされ、メモリセル６２ａのコントロールゲートにデータ読み出し用の電圧が印加される。格納されているデータが“０”の場合、メモリセル６２ａの閾値電圧は高く、格納されているデータが“１”の場合、メモリセル６２ａの閾値電圧は低い。センスアンプ６９は、メモリセル６２ａの読み出し電流あるいは読み出し電圧のセンス動作を行い、メモリセル６２ａに格納されているデータを検出する。そして、センスアンプ６９は、読み出したデータが“０”の場合、格納値ＬＣ０として「０」（「Ｌｏｗ」）を出力し、読み出したデータが“１”の場合、格納値ＬＣ１として「１」（「Ｈｉｇｈ」）を出力する。
【００４８】
他の格納回路６１ｂ、６１ｃの動作も、上述の格納回路６１ａの動作と同様である。例えば、カウンタ回路５０がカウントしたパルスの数が４回であった場合、つまり、論理値ＣＣ０、ＣＣ１、ＣＣ２が、それぞれ「０」、「０」、「１」であった場合、メモリセル６２ａ、６２ｂ、６２ｃには、それぞれデータ“０”、“０”、“１”が格納される。そして、カウント回数格納回路６０は、格納値ＬＣ０、ＬＣ１、ＬＣ２として、それぞれ「０」、「０」、「１」を出力する。これら格納値ＬＣ０、ＬＣ１、ＬＣ２は、基準電圧設定信号Ｓ３として、参照電流生成回路１００に出力される（図２参照）。
【００４９】
図６は、本実施の形態に係る参照電流生成回路１００のリファレンスセルアレイ７０の構成を示す回路図である。リファレンスセルアレイ７０は、複数のワード線ＷＬ（ＷＬ１〜ＷＬ６）と、それら複数のワード線と交差するように配置された複数のビット線ＢＬ（ＢＬ０〜ＢＬｎ）とを備えている。複数のワード線ＷＬは、リファレンスセルワード線ドライバ８１（図２参照）に接続されている。また、複数のビット線ＢＬは、セレクタ回路８２（図２参照）に接続されている。
【００５０】
また、リファレンスセルアレイ７０は、Ｍ行Ｎ列（Ｍ、Ｎは２以上の整数）のアレイ状に配置された複数のリファレンスセル７１、７２を備えている。これら複数のリファレンスセル７１、７２の各々も、不揮発性のメモリセルであり、コントロールゲートとフローティングゲートを有している。各リファレンスセル７１、７２のコントロールゲートは、複数のワード線ＷＬのいずれかに接続されている。また、各リファレンスセル７１、７２のドレインは、複数のビット線ＢＬのいずれかに接続され、ソースはグランドに接続されている。
【００５１】
図６において、ワード線ＷＬ１には、Ｎ個（ｎ＝Ｎ−１）のリファレンスセル７１ａ−０〜７１ａ−ｎが接続されている。ワード線ＷＬ２には、Ｎ個のリファレンスセル７２ａ−０〜７２ａ−ｎが接続されている。ワード線ＷＬ３には、Ｎ個のリファレンスセル７１ｂ−０〜７１ｂ−ｎが接続されている。ワード線ＷＬ４には、Ｎ個のリファレンスセル７２ｂ−０〜７２ｂ−ｎが接続されている。ワード線ＷＬ５には、Ｎ個のリファレンスセル７１ｃ−０〜７１ｃ−ｎが接続されている。ワード線ＷＬ６には、Ｎ個のリファレンスセル７２ｃ−０〜７２ｃ−ｎが接続されている。
【００５２】
また、図６において、ビット線ＢＬ０には、Ｍ個（図６においてＭ＝６）のリファレンスセル７１ａ−０、７２ａ−０、７１ｂ−０、７２ｂ−０、７１ｃ−０、７２ｃ−０が接続されている。これら、ビット線ＢＬ０に接続されたＭ個のリファレンスセルは、第０リファレンスセル群７５−０と参照される。同様に、ビット線ＢＬｘ（ｘは、０以上ｎ以下の整数）には、Ｍ個のリファレンスセル７１ａ−ｘ、７２ａ−ｘ、７１ｂ−ｘ、７２ｂ−ｘ、７１ｃ−ｘ、７２ｃ−ｘが接続されている。これら、ビット線ＢＬｘに接続されたＭ個のリファレンスセルは、第ｘリファレンスセル群７５−ｘと参照される。
【００５３】
１つのリファレンスセル群７５が含む複数のリファレンスセル（リファレンスセルトランジスタ）７１、７２は、それぞれ異なる閾値電圧を有する。図７は、例として、第０リファレンスセル群７５−０に属する６個のリファレンスセルの閾値電圧を示す。図７において、縦軸は、閾値電圧Ｖｔｈを示す。リファレンスセル７１ａ−０の閾値電圧Ｖｔｈは、図７に示されたベリファイ基準電圧ＶＶａ−０に設定される。同様に、リファレンスセル７２ａ−０の閾値電圧Ｖｔｈは、リード基準電圧ＶＲａ−０に設定される。リファレンスセル７１ｂ−０の閾値電圧Ｖｔｈは、ベリファイ基準電圧ＶＶｂ−０に設定される。リファレンスセル７２ｂ−０の閾値電圧Ｖｔｈは、リード基準電圧ＶＲｂ−０に設定される。リファレンスセル７１ｃ−０の閾値電圧Ｖｔｈは、ベリファイ基準電圧ＶＶｃ−０に設定される。リファレンスセル７２ｃ−０の閾値電圧Ｖｔｈは、リード基準電圧ＶＲｃ−０に設定される。後に示されるように、リファレンスセル７１（第１リファレンスセル）は、ベリファイ動作時の参照電流Ｉｒｅｆを生成するために用いられる。また、リファレンスセル７２（第２リファレンスセル）は、読み出し動作時の参照電流Ｉｒｅｆを生成するために用いられる。
【００５４】
このように、各リファレンスセル群７５は、異なる閾値電圧Ｖｔｈを有する複数の第１リファレンスセル７１（７１ａ〜７１ｃ）と、異なる閾値電圧Ｖｔｈを有する複数の第２リファレンスセル７２（７２ａ〜７２ｃ）を含んでいる。複数の第１リファレンスセル７１の数と、複数の第２リファレンスセル７２の数は同じである。これら複数のリファレンスセル７１、７２が有する異なる閾値電圧Ｖｔｈのセット（図７参照）は、「閾値電圧群」と参照される。この時、閾値電圧群の内容は、リファレンス群によって異なる。例えば、ワード線ＷＬ１に接続されている複数の第１リファレンスセル７１ａ−０〜７１ａ−ｎは、それぞれ異なる閾値電圧Ｖｔｈを有する。また、例えば、ワード線ＷＬ２に接続されている複数の第２リファレンスセル７２ａ−０〜７２ａ−ｎは、それぞれ異なる閾値電圧Ｖｔｈを有する。
【００５５】
具体的には、ワード線ＷＬ１に接続された複数の第１リファレンスセル７１ａ−０〜７１ａ−ｎの閾値電圧Ｖｔｈは、等間隔に設定される。また、ワード線ＷＬ２に接続された複数の第２リファレンスセル７２ａ−０〜７２ａ−ｎの閾値電圧Ｖｔｈは、等間隔に設定される。他のワード線ＷＬに接続されたＮ個のリファレンスセルについても同様である。この時、ビット線ＢＬｘ（ｘは、０以上ｎ以下の整数）に接続された第１リファレンスセル７１ａ−ｘの閾値電圧Ｖｔｈは、例えば、（ベリファイ基準電圧ＶＶａ−０）−（ｘ×ΔＶｓ）で与えられる。ここで、ΔＶｓは、閾値電圧Ｖｔｈの飛び幅を示す。また、第２リファレンスセル７２ａ−ｘの閾値電圧Ｖｔｈは、（リード基準電圧ＶＲａ−０）−（ｘ×ΔＶｓ）で与えられる。第１リファレンスセル７１ｂ−ｘの閾値電圧Ｖｔｈは、（ベリファイ基準電圧ＶＶｂ−０）−（ｘ×ΔＶｓ）で与えられる。第２リファレンスセル７２ｂ−ｘの閾値電圧Ｖｔｈは、（リード基準電圧ＶＲｂ−０）−（ｘ×ΔＶｓ）で与えられる。第１リファレンスセル７１ｃ−ｘの閾値電圧Ｖｔｈは、（ベリファイ基準電圧ＶＶｃ−０）−（ｘ×ΔＶｓ）で与えられる。第２リファレンスセル７２ｃ−ｘの閾値電圧Ｖｔｈは、（リード基準電圧ＶＲｃ−０）−（ｘ×ΔＶｓ）で与えられる。
【００５６】
図８は、本実施の形態に係る参照電流生成回路１００のデコーダ９０の構成を示す回路図である。デコーダ９０は、デコード回路９１Ａ〜９１Ｅを備えている。デコード回路９１Ａは、ＮＡＮＤ９５Ａ、インバータ９６Ａ、及びインバータ９２ａ〜９２ｃを備えている。デコード回路９１Ｂは、ＮＡＮＤ９５Ｂ、インバータ９６Ｂ、及びインバータ９２ｄ、９２ｅを備えている。デコード回路９１Ｃは、ＮＡＮＤ９５Ｃ、インバータ９６Ｃ、及びインバータ９２ｆ、９２ｇを備えている。デコード回路９１Ｄは、ＮＡＮＤ９５Ｄ、インバータ９６Ｄ、及びインバータ９２ｈを備えている。デコード回路９１Ｅは、ＮＡＮＤ９５Ｅ、インバータ９６Ｅ、及びインバータ９２ｉ、９２ｊを備えている。
【００５７】
各デコード回路９１には、基準電圧設定信号Ｓ３（格納値ＬＣ０、ＬＣ１、ＬＣ２）が入力される。カウント回路５０によるパルスのカウント数Ｃが０の場合（ＬＣ０＝０、ＬＣ１＝０、ＬＣ２＝０）、デコード回路９１Ａの出力ＴＢ０のみが「１」になる。カウント数Ｃが１の場合（ＬＣ０＝１、ＬＣ１＝０、ＬＣ２＝０）、デコード回路９１Ｂの出力ＴＢ１のみが「１」になる。カウント数Ｃが２の場合（ＬＣ０＝０、ＬＣ１＝１、ＬＣ２＝０）、デコード回路９１Ｃの出力ＴＢ２のみが「１」になる。カウント数Ｃが３の場合（ＬＣ０＝１、ＬＣ１＝１、ＬＣ２＝０）、デコード回路９１Ｄの出力ＴＢ３のみが「１」になる。カウント数Ｃが４の場合（ＬＣ０＝０、ＬＣ１＝０、ＬＣ２＝１）、デコード回路９１Ｅの出力ＴＢ４のみが「１」になる。
【００５８】
このように、デコーダ９０によって、基準電圧設定信号Ｓ３（ＬＣ０〜ＬＣ２）がデコードされ、セレクト信号Ｓ４（ＴＢ０〜ＴＢ４）が生成される。生成されたセレクト信号Ｓ４は、セレクタ回路８２に出力される（図２参照）。尚、デコード回路９１の数は、基準電圧設定信号Ｓ３のビット数に応じて、任意に設定され得る。
【００５９】
図９は、セレクタ回路８２と、以上に示された複数のリファレンスセル群７５とデコーダ９０を含む参照電流回路１００の全体的な構成を示すブロック回路図である。図９において、簡単のため、第０リファレンスセル群７５−０〜第４リファレンスセル群７５−４だけが示されている。また、各リファレンスセル群７５において、ワード線ＷＬ１に接続された第１リファレンスセル７１ａ（以下、「ベリファイ基準セル」と参照される）と、ワード線ＷＬ２に接続された第２リファレンスセル７２ａ（以下、「リード基準セル」と参照される）のみが示されている。
【００６０】
図９に示されるように、セレクタ回路８２は、複数のリファレンスセル群７５とデコーダ９０に接続されている。このセレクタ回路８２は、複数の選択用トランジスタ８３（８３ａ〜８３ｅ）を備えている。この複数の選択用トランジスタ８３の数は、複数のリファレンスセル群７５の数（Ｎ）と同じであり、所望の値に設定され得る。図９においては、５個の選択用トランジスタ８３ａ〜８３ｅが示され、それら選択用トランジスタ８３ａ〜８３ｅのそれぞれは、複数のリファレンスセル群７５−０〜７５−４（ビット線ＢＬ０〜ＢＬ４）のそれぞれに接続されている。
【００６１】
また、複数の選択用トランジスタ８３ａ〜８３ｅのそれぞれのゲートは、デコーダ９０の出力ＴＢ０〜ＴＢ４のそれぞれに接続されている。従って、カウンタ回路５０によるパルスのカウント数Ｃに応じて、複数の選択用トランジスタ８３ａ〜８３ｅのいずれかがＯＮされる。つまり、１つのリファレンスセル群７５が選択される。例えば、カウント数Ｃが４の場合、出力ＴＢ４のみが「１」になり（図８参照）、第４リファレンスセル群７５−４が選択される。このように、セレクタ回路８２は、基準電圧設定信号Ｓ３（格納値ＬＣ０〜ＬＣ３）が示すカウント数Ｃに基づいて、複数のリファレンスセル群７５の中から１つのリファレンスセル群を選択する。この１つのリファレンスセル群は、以下、「選択リファレンスセル群」と参照される。
【００６２】
本発明に係る不揮発性半導体記憶装置１０は、以上に説明されたメモリセルアレイ２０、センスアンプ３０、カウンタ回路５０、及び参照電流生成回路１００を図２に示すように組み合わせることによって構成されている。既出の図と、図１０〜図１２を参照して、本発明に係る不揮発性半導体記憶装置１０の全体的な動作を以下に説明する。図１０は、不揮発性半導体記憶装置１０のメモリセルのアクセス方法を示すフローチャートである。また、図１１と図１２は、そのアクセス方法を説明するための図である。図１１及び図１２において、縦軸は、メモリセルの閾値電圧Ｖｔｈを表し、横軸は、メモリセルの分布頻度を表している。
【００６３】
まず、初期設定が行われる（図１０；ステップＳ１）。つまり、カウンタ回路５０にリセット信号ＲＥＳＥＴ（図３参照）が入力され、カウント数Ｃが０に設定される。この時、参照電流生成回路１００のセレクタ回路８２は、第０リファレンスセル群７５−０を選択リファレンスセル群として選択する。図７に示されたように、この第０リファレンス群７５−０が含む複数のリファレンスセル７１、７２の閾値電圧Ｖｔｈ（閾値電圧群）は、ベリファイ基準電圧ＶＶａ−０、リード基準電圧ＶＲａ−０、ベリファイ基準電圧ＶＶｂ−０、リード基準電圧ＶＲｂ−０、ベリファイ基準電圧ＶＶｃ−０、リード基準電圧ＶＲｃ−０である。第０リファレンスセル群７５−０が示すこれら基準電圧は、基準電圧の初期値である。
【００６４】
（書き込み動作）
制御回路１５に外部から書き込み（プログラム）用コマンドが入力されると、不揮発性半導体記憶装置１０は「書き込みモード」の状態に移る。次に、アドレスデータＤＡと書き込みデータＤＷが、Ｉ／Ｏバッファ１２に入力される（図２参照）。アドレスデータＤＡは、データの書き込みが行われるメモリセルのアドレスを示す。書き込みデータＤＷは、そのメモリセルに書き込まれるデータ値を示す。制御回路１５は、アドレスデータＤＡを、アドレスバッファ２４を介してＸデコーダ２１及びＹデコーダ２２に出力する。そして、このアドレスデータＤＡが、Ｘデコーダ２１及びＹデコーダ２２でデコードされ、所望のワード線及びビット線が選択される。つまり、書き込み対象のメモリセルが選択される。そして、その選択されたメモリセルに対して、書き込みデータＤＷが書き込まれる（図１０；ステップＳ２）。
【００６５】
（ベリファイ動作）
次に、データが正常に書き込まれたかどうかをチェックするベリファイ動作が実行される（図１０；ステップＳ３）。このベリファイ動作は、１種類のデータが書き込まれる毎に実行される。例えば、複数のアドレスのメモリセルにデータ“００”が書き込まれたとする。この時、その複数のアドレスのメモリセルに対して、データ“００”のベリファイ動作が実行される。
【００６６】
まず、１つのアドレスのメモリセルが選択され、そのメモリセルの閾値電圧Ｖｔｈが検出される。つまり、そのメモリセルのデータの「読み出し」が実行される。具体的には、そのメモリセルのコントロールゲートに所定の読み出し電圧Ｖｒｅａｄ（図７参照）が印加される。この時、Ｙセレクタ２３によって選択されているビット線には、読み出し電圧Ｖｒｅａｄとメモリセルの閾値電圧Ｖｔｈとの差に応じた電流が流れる。この電流が、メモリセル電流Ｉｃｅｌｌ（読み出し信号）として、メモリセルからセンスアンプ３０に出力される。
【００６７】
同時に、制御回路１５からの制御信号に応じて、リファレンスセルワード線ドライバ８１は、ワード線ＷＬ１を選択する。このワード線ＷＬ１につながる複数の第１リファレンスセル７１ａ（図６参照）は、データ“００”のベリファイ動作時に用いられる。尚、ワード線ＷＬ３につながる複数の第１リファレンスセル７１ｂは、データ“０１”のベリファイ動作時に用いられ、ワード線ＷＬ５につながる複数の第１リファレンスセル７１ｃは、データ“１０”のベリファイ動作時に用いられる。また、今、カウント数Ｃは０であり、ビット線ＢＬ０が選択されている。つまり、ワード線ＷＬ１が選択されることによって、第１リファレンスセル７１ａ−０（ベリファイ基準セル７１ａ−０；図９参照）が選択される。このベリファイ基準セル７１ａ−０の閾値電圧は、ベリファイ基準電圧ＶＶａ−０である（図７参照）。そして、そのワード線ＷＬ１に読み出し電圧Ｖｒｅａｄが印加されると、ビット線ＢＬ０には、読み出し電圧Ｖｒｅａｄとベリファイ基準電圧ＶＶａ−０との差に応じた電流が流れる。この電流が、参照電流Ｉｒｅｆ（参照信号）として、センスアンプ３０に出力される。
【００６８】
次に、センスアンプ３０は、メモリセルから出力されたメモリセル電流Ｉｃｅｌｌと、参照電流生成回路１００から出力された参照電流Ｉｒｅｆとの比較を行う。メモリセルとリファレンスセル７１ａ−０のコントロールゲートには同一の読み出し電圧Ｖｒｅａｄが印加されているので、メモリセル電流Ｉｃｅｌｌと参照電流Ｉｒｅｆを比較することは、メモリセルの閾値電圧Ｖｔｈとベリファイ基準電圧ＶＶａ−０
を比較することを意味する。このようにして、メモリセルの閾値電圧Ｖｔｈが所望の電圧（ＶＶａ−０）に達しているかを検出することが可能となる。センスアンプ３０は、上記比較結果に基づいて、メモリセルに書き込まれたデータ値としてある値（“００”あるいはそれ以外の値）を検出する。ベリファイチェックモードにおいて、センスアンプ３０は、検出したメモリセルのデータ値（読み出しデータＤＲ）をコンパレータ４０に出力する。また、このコンパレータ４０には、Ｉ／Ｏバッファ１２から書き込みデータＤＷ（この場合、データ値“００”）が入力されている。コンパレータ４０は、その読み出しデータＤＲと書き込みデータＤＷの比較を行う。
【００６９】
メモリセルの閾値電圧Ｖｔｈがベリファイ基準電圧ＶＶａ−０に達していない場合、書き込みデータＤＷと読み出しデータＤＲは不一致である（図１０；ステップＳ４；Ｎｏ）。この時、コンパレータ４０は、ベリファイに「失敗」したことを示す比較結果信号Ｓ１をカウンタ回路５０に出力する。これにより、カウント数Ｃに１が加算され（図１０；ステップＳ５）、カウント数Ｃは１になる。つまり、カウント回路５０によってカウントされるカウント数Ｃは、「ベリファイに失敗した回数」を示す。カウント回数格納回路６０に格納されたカウント数Ｃは、参照電流生成回路１００に出力される。参照電流生成回路１００のセレクタ回路８２は、そのカウント数Ｃに基づいて、複数のリファレンスセル群７５の中から１つのリファレンスセル群７５を選択する。この場合、カウント数Ｃは１なので、第１リファレンスセル群７５−１（ビット線ＢＬ１）が選択リファレンスセル群として選択される。これにより、選択リファレンスセル群が有する複数のリファレンスセルの閾値電圧（基準電圧）は、変更される（図１０；ステップＳ６）。
【００７０】
ベリファイに失敗した場合、コンパレータ４０は、メモリセルに対して再書込みを実行するように指示する制御信号を、制御回路１５に出力する。これにより、指定されたメモリセルに対して、書き込みデータＤＷが再度書き込まれる。そして、そのメモリセルに対して、再度ベリファイ動作が実行される。この時、ビット線ＢＬ１が選択されているので、参照電流Ｉｒｅｆは、ベリファイ基準セル７１ａ−１により生成される。このベリファイ基準セル７１ａ−１の閾値電圧Ｖｔｈは、ベリファイ基準電圧ＶＶａ−１である。上述の通り、ベリファイ基準電圧ＶＶａ−１は、（（ＶＶａ−０）−ΔＶｓ）で与えられる。ワード線ＷＬ１に読み出し電圧Ｖｒｅａｄが印加されると、ビット線ＢＬ１には、読み出し電圧Ｖｒｅａｄとベリファイ基準電圧ＶＶａ−１との差に応じた電流が流れる。その電流が、参照電流Ｉｒｅｆとしてセンスアンプ３０に出力される。センスアンプ３０は、その参照電流Ｉｒｅｆを用い、メモリセルに書き込まれた値の検出を再度行う。このようにして、ベリファイ動作が再度実行される。
【００７１】
ベリファイが成功するまで、上述の動作は繰り返される。ベリファイに成功した場合（図１０；ステップＳ４；Ｙｅｓ）、データ値“００”の書き込みが行われた全てアドレスのメモリセルに対してベリファイが完了したかチェックされる（図１０；ステップＳ７）。全てのアドレスに対してベリファイが完了していない時（図１０；ステップＳ７；Ｎｏ）、ベリファイ対象のアドレスは、次のアドレスに設定される（図１０；ステップＳ８）。そして、その次のアドレスのメモリセルに対して、上述と同様のベリファイ動作が実行される。
【００７２】
このように、データ値“００”の書き込みが行われた全てのアドレスのメモリセルに対してベリファイが実行される。そして、上述のように、ベリファイに失敗した場合、カウント数Ｃに１が追加される。セレクタ８２は、カウント数Ｃが増加するにつれて、より低いベリファイ基準電圧ＶＶａを有するベリファイ基準セル７１ａを備えるリファレンスセル群７５を選択するようになる。
【００７３】
図１１は、選択リファレンスセル群の推移、つまりベリファイ基準電圧ＶＶａの遷移を説明するための図である。あるチップにおいて、メモリセルへのデータ“００”の書き込み特性は、分布Ｄ０´で表されるとする。この場合、ベリファイ基準電圧が初期値ＶＶａ−０に設定されていると、いくつかのメモリセルに対するベリファイ動作は失敗する。結果として、ベリファイ基準電圧は、初期値ＶＶａ−０からＶＶａ−２に遷移することになる。このベリファイ基準電圧ＶＶａ−２は、（（ＶＶａ−０）−２×ΔＶｓ）で与えられる。
【００７４】
データ“００”が書き込まれたメモリセルの全てに対してベリファイ動作が完了すると（図１０；ステップＳ９；Ｎｏ）、次にデータ“０１”の書き込み／ベリファイ動作が実行される（図１０；ステップＳ１０）。データ“０１”の書き込み／ベリファイ動作も、上述の手順と同様の手順で実行される。このようにして、全データ値に対して書き込み／ベリファイ動作が完了すると（図１０；ステップＳ９；Ｙｅｓ）、処理は終了する。
【００７５】
図１２は、あるチップに対する書き込み／ベリファイ動作の結果の一例を示す図である。このチップのメモリセルの閾値電圧Ｖｔｈは、分布Ｄ０´〜分布Ｄ３’を有するとする。そして、上述の書き込み／ベリファイ動作において、例えば、カウンタ回路５０は、ベリファイ失敗を４回カウントしたとする（カウント数Ｃ＝４）。よって、セレクタ回路８２は、第４リファレンスセル群７５−４を選択リファレンスセル群として選択している。この時、データ“００”のベリファイに用いられる第１リファレンスセル７１ａ−４の閾値電圧は、ベリファイ基準電圧ＶＶａ−４である。このベリファイ基準電圧ＶＶａ−４は、（（ＶＶａ−０）−ΔＶｓｕｍ）で与えられる。このΔＶｓｕｍは、４×ΔＶｓで与えられる。また、データ“０１”のベリファイに用いられる第１リファレンスセル７１ｂ−４の閾値電圧は、ベリファイ基準電圧ＶＶｂ−４で与えられる（（ＶＶｂ−４）＝（ＶＶｂ−０）−ΔＶｓｕｍ）。また、データ“１０”のベリファイに用いられる第１リファレンスセル７１ｃ−４の閾値電圧は、ベリファイ基準電圧ＶＶｃ−４で与えられる（（ＶＶｃ−４）＝（ＶＶｃ−０）−ΔＶｓｕｍ）。これらベリファイ基準電圧ＶＶａ−４、ＶＶｂ−４、ＶＶｃ−４を用いることによって、全てのメモリセルに対してベリファイ動作が成功することになる。
【００７６】
（読み出し動作）
メモリセルに書き込まれたデータの読み出し動作も、センスアンプ３０がメモリセル電流Ｉｃｅｌｌと参照電流Ｉｒｅｆとを比較することによって実行される。但し、この時、参照電流Ｉｒｅｆは、第２リファレンスセル７２を用いることによって生成される。
【００７７】
まず、１つのアドレスのメモリセルが選択され、そのメモリセルのコントロールゲートに所定の読み出し電圧Ｖｒｅａｄ（図１２参照）が印加される。この時、Ｙセレクタ２３によって選択されているビット線には、読み出し電圧Ｖｒｅａｄとメモリセルの閾値電圧Ｖｔｈとの差に応じた電流が流れる。この電流が、メモリセル電流Ｉｃｅｌｌ（読み出し信号）として、メモリセルからセンスアンプ３０に出力される。
【００７８】
同時に、制御回路１５からの制御信号に応じて、リファレンスセルワード線ドライバ８１は、ワード線ＷＬ２、ＷＬ４、ＷＬ６のいずれかを選択する。これらワード線ＷＬ２、ＷＬ４、ＷＬ６につながる複数の第２リファレンスセル７２ａ、７２ｂ、７２ｃ（図６参照）は、それぞれデータ“００−０１”、“０１−１０”、“１０−１１”の読み出しに用いられる。
【００７９】
ここで、図１２に示された例によれば、カウント数Ｃは４であり、ビット線ＢＬ４が選択されている。よって、例えばワード線ＷＬ２が選択されると、第２リファレンスセル７２ａ−４（リード基準セル７２ａ−４；図９参照）が選択される。このリード基準セル７２ａ−４の閾値電圧は、リード基準電圧ＶＲａ−４である。第０リファレンスセル群７５−０のリード基準セル７２ａ−０（図９参照）の閾値電圧がＶＲａ−０（初期値）で与えられる時、このリード基準電圧ＶＲａ−４は、（（ＶＲａ−０）−ΔＶｓｕｍ）で与えられる。また、例えばワード線ＷＬ４が選択されると、リード基準セル７２ｂ−４が選択される。このリード基準セル７２ｂ−４の閾値電圧は、リード基準電圧ＶＲｂ−４である。第０リファレンスセル群７５−０のリード基準セル７２ｂ−０の閾値電圧がＶＲｂ−０（初期値）で与えられる時、このリード基準電圧ＶＲｂ−４は、（（ＶＲｂ−０）−ΔＶｓｕｍ）で与えられる。また、例えばワード線ＷＬ６が選択されると、リード基準セル７２ｃ−４が選択される。このリード基準セル７２ｃ−４の閾値電圧は、リード基準電圧ＶＲｃ−４である。第０リファレンスセル群７５−０のリード基準セル７２ｃ−０の閾値電圧がＶＲｃ−０（初期値）で与えられる時、このリード基準電圧ＶＲｃ−４は、（（ＶＲｂ−０）−ΔＶｓｕｍ）で与えられる。
【００８０】
ワード線ＷＬに読み出し電圧Ｖｒｅａｄが印加されると、ビット線ＢＬ４には、読み出し電圧Ｖｒｅａｄとリード基準電圧ＶＲａ−４、ＶＲｂ−４、ＶＲｃ−４とのいずれかとの差に応じた電流が流れる。この電流が、参照電流Ｉｒｅｆ（参照信号）として、センスアンプ３０に出力される。センスアンプ３０は、メモリセルから出力されたメモリセル電流Ｉｃｅｌｌと、参照電流生成回路１００から出力された参照電流Ｉｒｅｆとの比較を行う。そして、センスアンプ３０は、上記比較結果に基づいて、メモリセルに書き込まれたデータ値を検出する。このようにして検出されたデータ値は、読み出しデータＤＲとして、センスアンプ３０からＩ／Ｏバッファ１２に出力される。
【００８１】
以上に示されたように、本発明に係る不揮発性半導体記憶装置１０によれば、参照信号生成回路１００は、ベリファイ動作時に用いられる参照電流群に応じて、読み出し動作時に用いられる参照電流群を決定する。具体的には、参照電流生成回路１００の複数のリファレンスセル群７５の各々は、異なる閾値電圧Ｖｔｈを有する複数のリファレンスセル７１、７２を備える。その複数のリファレンスセル７１、７２のコントロールゲートに所定の読み出し電圧Ｖｒｅａｄを印加することによって、複数の参照電流Ｉｒｅｆ（参照電流群）が生成される。この参照電流群は、メモリセルに対するベリファイ動作／リード動作に用いられる。ここで、複数のリファレンスセル群７５のそれぞれは、互いに異なる複数の参照電流群のそれぞれを生成する。セレクタ回路８２は、ベリファイに失敗した回数を示すカウント数Ｃに基づいて、複数の参照電流群の中から１つの参照電流群を選択する。具体的には、セレクタ回路８２は、カウント数Ｃが増加するにつれて、より低い閾値電圧Ｖｔｈを有するリファレンスセル７１、７２を含むリファレンスセル群７５を、選択リファレンスセル群として選択する。
【００８２】
この不揮発性半導体記憶装置１０による効果は以下の通りである。図１１及び図１２に示されたように、ベリファイ基準電圧ＶＶは固定されず、チップの書き込み特性のばらつきに対応して変更される。つまり、チップの書き込み特性に最適なベリファイ基準電圧ＶＶを設定することが可能となる。これにより、メモリセルにデータを書き込む際のエラーが防止される。それは、所定の書き込み時間（書き込み回数）中に、メモリセルの閾値電圧Ｖｔｈがベリファイ基準電圧ＶＶに到達しなくなってしまうことが抑制されるからである。
【００８３】
また、メモリセルの書き込み特性は、データ書き換えの繰り返しや経時的な要因によっても変動し得る。本発明に係る不揮発性半導体記憶装置１０によれば、基準電圧の設定変更に必要な回路が予め組み込まれているので、メモリセル特性の経時的な変動に対応して、最適なベリファイ基準電圧ＶＶを設定することが可能となる。
【００８４】
更に、リード基準電圧ＶＲは、ベリファイ基準電圧ＶＶの変化と連動して変化する。従って、メモリセルの閾値電圧Ｖｔｈの分布（例えば、図１１に示された分布Ｄ０）の下限とリード基準電圧ＶＲとの間には、必ず所定のマージンが確保される。すなわち、閾値電圧Ｖｔｈの分布の下限とリード基準電圧ＶＲが接近しすぎることが防止される。これにより、メモリセルに書き込まれたデータ値が誤って読み出されることが抑制される。このように、メモリセル特性の製造時のばらつきや経時的な変動に対応して、最適なリード基準電圧ＶＲを設定することが可能となる。特に、多値型の不揮発性半導体記憶装置においては、マージンは２値型のものに比べてもともと小さいので、誤読み出しが低減される効果は顕著となる。
【００８５】
本発明に係る不揮発性半導体記憶装置１０において、上述の参照電流生成回路１００は、メモリセルアレイ２０単位で設置されてもよい。これにより、サンプル間だけでなく同一サンプル内でも発生し得る書き込み特性のばらつきに対応することが可能となる。
【００８６】
このように、本発明に係る不揮発性半導体記憶装置１０によれば、メモリセル特性の製造時のばらつきや経時的な変動に対応して、最適な読み出し／ベリファイ動作を実行することが可能となる。図１１から明らかなように、この不揮発性半導体記憶装置１０は、閾値電圧Ｖｔｈの分布間のマージンΔＶｍの半分程度までの分布のばらつき（閾値電圧のシフト）に対応することが可能である。これにより、分布のばらつきによって従来は不良品と判定されていたチップを、良品として救済することが可能となる。従って、歩留まりが向上し、製造コストが低減される。
【図面の簡単な説明】
【００８７】
【図１Ａ】図１Ａは、多値型の不揮発性半導体記憶装置におけるメモリセルの閾値電圧の分布を示す図である。
【図１Ｂ】図１Ｂは、多値型の不揮発性半導体記憶装置におけるメモリセルの閾値電圧の分布を示す図である。
【図２】図２は、本発明の実施の形態に係る不揮発性半導体記憶装置の構成を示すブロック図である。
【図３】図３は、本発明の実施の形態に係るカウンタ回路の構成例を示す回路図である。
【図４】図４は、本発明の実施の形態に係るカウント回数格納回路の構成例を示すブロック回路図である。
【図５】図５は、本発明の実施の形態に係る格納回路の構成例を示す回路図である。
【図６】図６は、本発明の実施の形態に係るリファレンスセルアレイの構成を示す回路図である。
【図７】図７は、本発明の実施の形態に係るリファレンスセルの閾値電圧の分布を示す図である。
【図８】図８は、本発明の実施の形態に係るデコーダの構成例を示す回路図である。
【図９】図９は、本発明の実施の形態に係る参照電流生成回路の構成を示すブロック回路図である。
【図１０】図１０は、本発明に係るメモリセルアクセス方法を示すフローチャートである。
【図１１】図１１は、本発明に係るメモリセルアクセス方法を説明するための図である。
【図１２】図１２は、本発明に係るメモリセルアクセス方法を説明するための図である。
【符号の説明】
【００８８】
１０    不揮発性半導体記憶装置
１２    Ｉ／Ｏバッファ
１５    制御回路
２０    メモリセルアレイ
２１    Ｘデコーダ
２２    Ｙデコーダ
２３    Ｙセレクタ
２４    アドレスバッファ
３０    センスアンプ
４０    コンパレータ
５０    カウンタ回路
６０    カウント回数格納回路
６１    格納回路
７０    リファレンスセルアレイ
７１    第１リファレンスセル
７２    第２リファレンスセル
７５    リファレンスセル群
８１    リファレンスセルワード線ドライバ
８２    セレクタ回路
９０    デコーダ
１００    参照電流生成回路
【図１Ａ】
2005327359.tif 000003
【図１Ｂ】
2005327359.tif 000004
【図２】
2005327359.tif 000005
【図３】
2005327359.tif 000006
【図４】
2005327359.tif 000007
【図５】
2005327359.tif 000008
【図６】
2005327359.tif 000009
【図７】
2005327359.tif 000010
【図８】
2005327359.tif 000011
【図９】
2005327359.tif 000012
【図１０】
2005327359.tif 000013
【図１１】
2005327359.tif 000014
【図１２】
2005327359.tif 000015