(57)【要約】【課題】半導体記憶装置において、読み出し精度を維持しつつ、書き込み及び読み出しを繰り返すプログラムベリファイに要する時間を短縮する。【解決手段】メモリセルアレイ内のメモリストリングからデータのベリファイ読み出しを行う場合、フェイルビットカウンタがインヒビットセル数及びフェイルセル数をカウントし、制御回路がカウントしたインヒビットセル数及びフェイルセル数から共通ソース線ＣＳＬに流れる電流により生じる共通ソース線ＣＳＬの浮き上がり電圧を算出するとともに、算出した電圧に応じて、ビット線及びワード線に印加する電圧を補正する。【選択図】図１
2012133840.tif 000002
【特許請求の範囲】
【請求項１】
メモリセルが直列に接続された複数のメモリストリングが並列に配置され、それぞれのメモリストリングの一端が第１の選択トランジスタを介して当該メモリストリングに対応するビット線に接続され、それぞれの他端が第２の選択トランジスタを介して共通ソース線に接続され、各メモリストリングの同一行のメモリセルの制御ゲートが共通のワード線に接続されているメモリセルアレイと、
前記メモリセルからデータの読み出しを行う際に、前記複数のメモリストリングから前記共通ソース線に流れる電流により上昇した前記共通ソース線の電圧に応じて、読み出し対象となる前記メモリセルに印加する電圧を補正する制御回路と
を備えることを特徴とする半導体記憶装置。
【請求項２】
前記制御回路は、更に、
前記共通ソース線に流れる電流により上昇した前記共通ソース線の電圧に応じて、読み出し対象となる前記メモリセルが接続されている前記ビット線にプリチャージする電圧を補正する
ことを特徴とする請求項１に記載の半導体記憶装置。
【請求項３】
前制御回路は、更に、
前記共通ソース線に流れる電流により上昇した前記共通ソース線の電圧に応じて、読み出し対象となる前記メモリセルが接続されている前記ワード線に印加する読み出し電圧を補正する
ことを特徴とする請求項１又は請求項２に記載の半導体記憶装置。
【請求項４】
前記ビット線に印加するプリチャージ電圧に対する補正値であって、上昇する前記共通ソース線の電圧に対応する補正値を記憶している補正電圧テーブルを更に備え、
前記制御回路は、更に、
上昇した前記共通ソース線の電圧に対応する補正値を前記補正電圧テーブルから読み出し、読み出した補正値を用いて前記ビット線のプリチャージ電圧を補正して前記ビット線に印加する
ことを特徴とする請求項１から請求項３のいずれか一項に記載の半導体記憶装置。
【請求項５】
前記ワード線に印加する読み出し電圧に対する補正値であって、上昇する前記共通ソース線の電圧に対応する補正値を記憶している補正電圧テーブルを更に備え、
前記制御回路は、更に、
上昇した前記共通ソース線の電圧に対応する補正値を前記補正電圧テーブルから読み出し、読み出した補正値を用いて前記読み出し電圧を補正して前記ワード線に印加する
ことを特徴とする請求項１から請求項４のいずれか一項に記載の半導体記憶装置。
【請求項６】
メモリセルが直列に接続された複数のメモリストリングが並列に配置され、それぞれのメモリストリングの一端が第１の選択トランジスタを介して当該メモリストリングに対応するビット線に接続され、それぞれの他端が第２の選択トランジスタを介して共通ソース線に接続され、各メモリストリングの同一行のメモリセルの制御ゲートが共通のワード線に接続されているメモリセルアレイを有する半導体記憶装置における記憶方法であって、
前記メモリセルからデータの読み出しを行う際に、前記複数のメモリストリングから前記共通ソース線に流れる電流により上昇した前記共通ソース線の電圧に応じて、読み出し対象となる前記メモリセルに印加する電圧を補正する制御ステップ
を有することを特徴とする記憶方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体記憶装置、及び記憶方法に関する。
【背景技術】
【０００２】
複数のメモリセルが直列に接続された複数のメモリストリングが、複数のビット線とワード線との間に接続されて構成される不揮発性半導体記憶装置がある（例えば、特許文献１を参照）。この特許文献１に記載の不揮発性半導体記憶装置は、ＮＡＮＤ型フラッシュメモリで構成されるメモリセルアレイを有している。
【０００３】
図７は、ＮＡＮＤ型フラッシュメモリの構成を示す図である。図７に示すメモリセルアレイは、Ｎ＋１本のビット線ＢＬ０〜ＢＬＮ（ビット線ＢＬで総称される）と、ｎ＋１本のワード線ＷＬ０〜ＷＬｎ（ワード線ＷＬで総称される）と、共通ソース線ＣＳＬと、各ビット線ＢＬと共通ソース線ＣＳＬとの間にそれぞれ接続されたＮ個のメモリストリングＳＴ０〜ＳＴＮ（メモリストリングＳＴで総称される）と、を備える。各メモリストリングＳＴは、互いに直列接続されたｎ＋１個のフローティングゲート構造の電気的書き換え可能な不揮発性のメモリセルＭＣ０〜ＭＣｎ（メモリセルＭＣで総称される）を備え、ドレイン側のメモリセルＭＣｎは選択ゲートトランジスタＳＳ１を介して対応するビット線ＢＬに接続され、ソース側のメモリセルＭＣ０は選択ゲートトランジスタＧＳ１を介して共通ソース線ＣＳＬに接続される。また、同一行のメモリセルの制御ゲートは、共通のワード線ＷＬに接続されている。
【０００４】
図７に示すメモリセルアレイにおいて、メモリセルＭＣの消去は、例えば、半導体基板に２０［Ｖ］の高電圧を印加し、ワード線ＷＬ０〜ＷＬｎに０［Ｖ］を印加することにより行われる。これにより、例えば、ポリシリコンなどからなる電荷蓄積層であるフローティングゲートより電子を引き抜いて、メモリセルＭＣの閾値電圧を消去閾値電圧（例えば、−１［Ｖ］）ＶｔｈＬに設定する。
一方、書き込み（プログラム）においては、半導体基板に０［Ｖ］を印加し、制御ゲート（選択したワード線ＷＬ）に例えば２０［Ｖ］の高電圧を印加することにより、半導体基板よりフローティングゲートに電子を注入し、メモリセルＭＣの閾値電圧を上昇させる。そして、メモリセルＭＣ０〜ＭＣｎの閾値電圧を閾値電圧ＶｔｈＬのままに維持させることにより当該メモリセルのデータ値を“１”とするか、又は、書き込み閾値電圧（例えば、３［Ｖ］）よりも高い所定の閾値電圧ＶｔｈＨに設定することにより当該メモリセルのデータ値を“０”とする。
【０００５】
また、メモリセルからデータを読み出すときには、全てのビット線ＢＬを所定の電圧でプリチャージした後に、閾値ＶｔｈＬとＶｔｈＨとの間の読み出し電圧（例えば、２［Ｖ］）を、読み出し対象のメモリセルＭＣに共通に接続されたワード線ＷＬを介して、選択メモリセルの各制御ゲートに印加する。また、読み出し電圧よりも高い電圧を、上記選択メモリセル以外のメモリセルＭＣ、及び選択ゲートトランジスタＳＳ１，ＧＳ１の各制御ゲートに印加して、上記選択メモリセル以外のメモリセルＭＣ、及び選択ゲートトランジスタＳＳ１、ＧＳ１を導通させる。
これにより、選択メモリセルのデータ値が“１”のときには、当該選択メモリセルにセル電流が流れる一方、選択メモリセルのデータ値が“０”のときには、当該選択メモリセルにセル電流が流れないので、セル電流が流れるか否かに基づいて、各選択メモリセルに書き込まれているデータを読み出すことができる。
【０００６】
ところで、図７に示すＮＡＮＤ型のメモリセルアレイにおいて、メモリセルＭＣのデータ読み出しの際に、各メモリストリングから共通ソース線ＣＳＬに流れる電流の量に応じて共通ソース線ＣＳＬに電圧の浮き上がりが生じ、見かけ上の読み出しセルの閾値電圧が変化するという問題が生じる。ここで、共通ソース線ＣＳＬの電圧の浮き上がりとは、各メモリストリングから共通ソース線ＣＳＬに流れ込む電流と、共通ソース線の寄生抵抗とにより生じる電圧降下のために、共通ソース線ＣＳＬの電圧が接地電圧より高くなることをいう。
【０００７】
例えば、図７に示すメモリセルアレイにおいて、メモリセルＭＣａ，ＭＣｂ，ＭＣｃを選択してデータ“０”の書き込み（閾値電圧を上昇させる書き込み）を行い、この後に、メモリセルＭＣａ，ＭＣｂ，ＭＣｃに対してベリファイ（検証）読み出しを行うものとする。この場合に、メモリセルＭＣａ，ＭＣｂ，ＭＣｃのそれぞれが書き込み不十分であり、かつ書き込み後のメモリセルＭＣａの閾値電圧Ｖｔｈａと、メモリセルＭＣｂの閾値電圧Ｖｔｈｂとが同等であり、かつメモリセルＭＣｃの閾値電圧Ｖｔｈｃが、メモリセルＭＣａの閾値電圧Ｖｔｈａ及びメモリセルＭＣｂの閾値電圧Ｖｔｈｂよりも高いとする（Ｖｔｈａ≒Ｖｔｈｂ＜Ｖｔｈｃ）。また、各閾値電圧Ｖｔｈａ，Ｖｔｈｂ，Ｖｔｈｃが後述するベリファイ読み出し電圧よりも低い（Ｖｔｈａ，Ｖｔｈｂ，Ｖｔｈｃ＜Ｖｖｆｙ）ものとする。
【０００８】
この状態において、メモリセルＭＣａ，ＭＣｂ，ＭＣｃの制御ゲートに共通接続されるワード線ＷＬにベリファイ読み出し用の電圧Ｖｖｆｙを印加し、他のワード線ＷＬには電圧Ｖｒｅａｄを印加し、この電圧Ｖｒｅａｄが印加されるワード線ＷＬに接続されるメモリセルをパス状態（電流が流れる状態）にし、また、選択ゲートトランジスタＳＳ１，ＧＳ１をオン状態にするものとする。
このように、メモリセルＭＣａ，ＭＣｂ、及びＭＣｃの制御ゲートにベリファイ電圧Ｖｖｆｙを印加すると、メモリセルＭＣａ，ＭＣｂ及びＭＣｃはそれぞれの閾値電圧Ｖｔｈａ，Ｖｔｈｂ，Ｖｔｈｃがベリファイ電圧Ｖｖｆｙより低いため、本来は、メモリセルＭＣａ，ＭＣｂ，及びＭＣｃの全てにセル電流が流れてオンセル（ビット線ＢＬから電流が流れるセル）になるはずである。
【０００９】
しかしながら、メモリセルＭＣｃに比べて閾値電圧が低いメモリセルＭＣａ，ＭＣｂが最初にオンセルになると、このメモリセルＭＣａ、ＭＣｂを通してセル電流Ｉａ及びＩｂが共通ソース線ＣＳＬに流れ、寄生抵抗を有する共通ソース線ＣＳＬの電圧の浮き上がり（「ＣＳＬノイズ」とも呼ぶ）が生じる。このため、メモリセルＭＣｃについては、ゲート・ソース間電圧ＶＧＳとドレイン・ソース間電圧ＶＤＳが低下し（閾値電圧Ｖｔｈｃが見かけ上高くなり）、メモリセルＭＣｃに電流が流れず、このメモリセルＭＣｃがオフセル（正常にデータ“０”が書き込まれたメモリセル）と誤判定される可能性が生じる。
【００１０】
また、図８は、共通ソース線ＣＳＬの電圧の浮き上がり（ＣＳＬノイズ）がゲート・ソース間電圧ＶＧＳ及びドレイン・ソース間電圧ＶＤＳに与える影響について説明するための図である。図８（Ａ）に示すメモリセルＭＣにおいて、ＣＳＬノイズの無い場合は、図８（Ｂ）に示すように、メモリセルＭＣのドレイン端子（Ｄ）には、ビット線ＢＬを通してプリチャージ電圧０．６［Ｖ］が印加され、ゲート端子（Ｇ）にはワード線ＷＬを通して１．０［Ｖ］の電圧が印加され、ソース端子（Ｓ）には、共通ソース線ＣＳＬを通して０．０［Ｖ］の電圧が印加される。この図８（Ｂ）に示す場合は、ゲート・ソース間電圧ＶＧＳは１．０［Ｖ］（ＶＧＳ＝１．０［Ｖ］）となり、ドレイン・ソース間電圧は０．６［Ｖ］（ＶＤＳ＝０．６［Ｖ］）となる。
【００１１】
一方、共通ソース線ＣＳＬに上述したＣＳＬノイズが０．３［Ｖ］発生した場合は、図８（Ｃ）に示すように、メモリセルＭＣのソース電圧が０．３［Ｖ］に上昇する。このため、ゲート・ソース間電圧ＶＧＳは０．７［Ｖ］（ＶＧＳ＝０．７［Ｖ］）となり、ドレイン・ソース間電圧ＶＤＳは０．３［Ｖ］（ＶＤＳ＝０．３［Ｖ］）となる。このように、共通ソース線ＣＳＬにＣＳＬノイズが発生すると、メモリセルＭＣに対するゲート・ソース間電圧ＶＧＳ及びドレイン・ソース間電圧ＶＤＳが低下し、メモリセルＭＣに流れる電流が減少することになる。
【００１２】
例えば、図９は、ドレイン・ソース間電圧ＶＤＳに対するドレイン電流ＩＤの変化の一例を示す図であり、特性曲線ＡはＣＳＬノイズ無し場合、特性曲線ＢはＣＳＬノイズ有りの場合を示している。図９に示すように、同じワード線電圧を印加していても、ＣＳＬノイズによりゲート・ソース間電圧ＶＧＳが低下し、ドレイン電流が特性曲線Ａから特性曲線Ｂに低下する。また、ＣＳＬノイズによりドレイン・ソース間電圧ＶＤＳも低下する。このため、ＣＳＬノイズ無し場合のドレイン電流（特性曲線Ａ上のａ１点に相当するドレイン電流）から、ＣＳＬノイズありの場合のドレイン電流（特性曲線Ｂ上のｂ１点に相当するドレイン電流）にセル電流が低下する。
このように同じワード線電圧を印加しても、ドレイン電流の読み出し判定値が、図のａ１点に相当するドレイン電流よりわずかに低い場合は、ＣＳＬノイズの無い場合はオンセルと判定されるが、ＣＳＬノイズがある場合は、ドレイン電流が図のｂ１点に相当するドレイン電流になることにより、オフセルと判定されてしまう。すなわち、ＣＳＬノイズにより誤判定が生じる。
【００１３】
上述したように、ＣＳＬノイズが生じると、読み出しセルの閾値電圧が見かけ上高くなってしまい、読み出し、書き込み精度が低下する問題が生じる。そこで、前述した特許文献１に記載の不揮発性半導体記憶装置では、読み出しの前に、複数のビット線ＢＬをプリチャージした後に、所定の読み出し電圧より低いダミー読み出し電圧を選択ワード線に接続された複数の選択メモリセルに印加し、かつ非選択ワード線に接続された複数の非選択メモリセルを導通させる。そして、読み出し電圧より十分に低い閾値電圧の選択メモリセルに接続されたビット線ＢＬの電荷を選択メモリセル及び共通ソース線ＣＳＬを介して放電し、ＣＳＬノイズを低減させて読み出しセルの閾値電圧の変化を防ぎ、各選択メモリセルからの読み出しを行う。すなわち、ＣＳＬノイズの発生に伴う共通ソース線ＣＳＬの電位の上昇を低減させた後に読み出しを行うことで、読み出し精度を向上するようにしている。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】特開２０１０−２７１４１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１５】
しかしながら、特許文献１に記載の不揮発性半導体記憶装置では、読み出し期間中における共通ソース線の電圧の上昇（浮き上がり）を抑制するために、ダミー読み出し電圧を各選択メモリセルに印加し、一度に共通ソース線に流れる電流を低減させている。そのため、データの書き込みとベリファイ読み出しとを繰り返すプログラムベリファイ時において、プログラムされたセルのベリファイ読み出しの回数だけダミー読み出し期間が必要になり、プログラムベリファイに要する時間が長くなってしまうという問題がある。
【００１６】
本発明は上記課題を解決するためになされたものであり、本発明の目的は、ＮＡＮＤ型フラッシュメモリ等の不揮発性メモリを有する半導体記憶装置において、読み出し精度を維持しつつ、書き込みとベリファイ読み出しとを繰り返すプログラムベリファイに要する時間を短縮することができる、半導体記憶装置、及び記憶方法を提供することにある。
【課題を解決するための手段】
【００１７】
上記課題を解決するために、本発明は、メモリセルが直列に接続された複数のメモリストリングが並列に配置され、それぞれのメモリストリングの一端が第１の選択トランジスタを介して当該メモリストリングに対応するビット線に接続され、それぞれの他端が第２の選択トランジスタを介して共通ソース線に接続され、各メモリストリングの同一行のメモリセルの制御ゲートが共通のワード線に接続されているメモリセルアレイと、前記メモリセルからデータの読み出しを行う際に、前記複数のメモリストリングから前記共通ソース線に流れる電流により上昇した前記共通ソース線の電圧に応じて、読み出し対象となる前記メモリセルに印加する電圧を補正する制御回路とを備えることを特徴とする半導体記憶装置である。
この構成により、各メモリストリングから共通ソース線に流れ込む電流により生じる共通ソース線の電圧の浮き上がり（ＣＳＬノイズ）に応じて、読み出し対象のメモリセルに印加する電圧を補正する。これにより、メモリセルのデータの読み出しを行う際に、共通ソース線の電圧の浮き上がりによりメモリセルの閾値電圧が見かけ上変化することを抑制する。
【００１８】
また、本発明は、前記制御回路は、更に、前記共通ソース線に流れる電流により上昇した前記共通ソース線の電圧に応じて、読み出し対象となる前記メモリセルが接続されている前記ビット線にプリチャージする電圧を補正することを特徴とする。
また、本発明は、前前制御回路は、更に、前記共通ソース線に流れる電流により上昇した前記共通ソース線の電圧に応じて、読み出し対象となる前記メモリセルが接続されている前記ワード線に印加する読み出し電圧を補正することを特徴とする。
また、本発明は、前記ビット線に印加するプリチャージ電圧に対する補正値であって、上昇する前記共通ソース線の電圧に対応する補正値を記憶している補正電圧テーブルを更に備え、前記制御回路は、更に、上昇した前記共通ソース線の電圧に対応する補正値を前記補正電圧テーブルから読み出し、読み出した補正値を用いて前記ビット線のプリチャージ電圧を補正して前記ビット線に印加することを特徴とする。
また、本発明は、前記ワード線に印加する読み出し電圧に対する補正値であって、上昇する前記共通ソース線の電圧に対応する補正値を記憶している補正電圧テーブルを更に備え、前記制御回路は、更に、上昇した前記共通ソース線の電圧に対応する補正値を前記補正電圧テーブルから読み出し、読み出した補正値を用いて前記読み出し電圧を補正して前記ワード線に印加することを特徴とする。
【００１９】
また、本発明は、メモリセルが直列に接続された複数のメモリストリングが並列に配置され、それぞれのメモリストリングの一端が第１の選択トランジスタを介して当該メモリストリングに対応するビット線に接続され、それぞれの他端が第２の選択トランジスタを介して共通ソース線に接続され、各メモリストリングの同一行のメモリセルの制御ゲートが共通のワード線に接続されているメモリセルアレイを有する半導体記憶装置における記憶方法であって、前記メモリセルからデータの読み出しを行う際に、前記複数のメモリストリングから前記共通ソース線に流れる電流により上昇した前記共通ソース線の電圧に応じて、読み出し対象となる前記メモリセルに印加する電圧を補正する制御ステップを有することを特徴とする記憶方法である。
【発明の効果】
【００２０】
この発明によれば、メモリストリング内のメモリセルからデータの読み出しを行う際に、メモリセルに印加する電圧を補正することにより、メモリストリングから流れ込む電流による共通ソース線の電圧の浮き上がり（ＣＳＬノイズ）の影響を低減することができ、ダミー読み出し期間を設けて共通ソース線の電圧の浮き上がりを抑制することなく、データ読み出し精度を維持しつつ、書き込み及び読み出しを繰り返すプログラムベリファイに要する時間を短縮することができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の第１の実施形態に係る半導体記憶装置の構成を示すブロック図である。
【図２】プログラムベリファイ時におけるオンセル数と共通ソース線ＣＳＬの電圧との推移例を示す図である。
【図３】ワード線電圧とビット線プリチャージ電圧の補正の手順を示すフローチャートである。
【図４】本発明の第２の実施形態に係る半導体記憶装置の構成を示すブロック図である。
【図５】本発明の第３の実施形態に係る半導体記憶装置の構成を示すブロック図である。
【図６】補正電圧テーブルに記憶されている補正電圧を説明するための図である。
【図７】ＮＡＮＤ型フラッシュメモリによるメモリセルアレイの構成を示す図である。
【図８】ＣＳＬノイズがゲート・ソース間電圧ＶＧＳ及びドレイン・ソース間電圧ＶＤＳに与える影響について説明するための図である。
【図９】ＣＳＬノイズによるドレイン電流ＩＤの変化について説明するための図である。
【発明を実施するための形態】
【００２２】
［概要］
ＮＡＮＤ型フラッシュメモリにデータを記憶させるプログラム書き込みにおいて、プログラム電圧をループごとに一定値ずつステップ状に増加させてプログラムする場合、メモリセルの閾値電圧の分布幅を狭く制御するため、そのループごとに、ビットそれぞれのベリファイが必要となる。このベリファイ読み出しの際に、メモリストリングから共通ソース線に電流が流れ込むことにより共通ソース線の電圧が上昇し、いわゆる、ＣＳＬ（Common Source Line；共通ソース線）ノイズが発生する。このＣＳＬノイズにより、メモリセルの閾値電圧Ｖｔｈが見かけ上高くなりメモリセルからのデータ読み出し精度が低下する。これを回避するために、本発明の半導体記憶装置では、このプログラムベリファイ動作のフローにおいて、フェイルしたセルと、インヒビットセルとの数をカウントし、次のベリファイ読み出し動作において、ワード線に印加する電圧や、ビット線に印加するプリチャージ電圧をカウントした数に応じて補正する。
【００２３】
なお、インヒビットセルとは、メモリストリング内のプログラムされてはならないセル（消去状態又は以前の状態を維持しなければならないセル）を意味し、例えば、ベリファイ読み出しにおいて、読み出し判定値以上のドレイン電流ＩＤが流れるセルである。また、フェイルセルは、データを書き込む対象のセルであり、ベリファイ読み出しにおいて、正しく書き込みが行われていないと判定されたセルのことであり、読み出し判定値以上のドレイン電流ＩＤが流れるセルである。
【００２４】
このように、本発明の半導体記憶装置においては、プログラムベリファイ時のフェイルビット数及びインヒビットセル数をカウントし、このカウント数に応じて補正された電圧を、ワード線ないしはビット線又はその両方に対して印加する。これにより、特許文献１に記載されている不揮発性半導体装置で用いられるダミー読み出し期間を設ける必要がなく、プログラムの書き込みの速度と精度を高めることが可能となる。
【００２５】
［第１の実施形態］
（半導体記憶装置１の全体構成の説明）
図１は、本発明の第１の実施形態に係る半導体記憶装置の構成を示すブロック図である。図１に示す半導体記憶装置１は、ＮＡＮＤ型フラッシュメモリで構成される半導体記憶装置の例であり、本発明に直接関係する要部のみを示したものである。
【００２６】
図１に示すように、本実施形態に係る半導体記憶装置１は、メモリセルアレイ１０と、制御回路１１と、ロウデコーダ（Ｘデコーダ）１２と、ページバッファコントロール（ＰＢコントロール）１３と、ページバッファ（ＰＢ）１４と、フェイルビットカウンタ２１と、高電圧コントローラ２２と、Ｉ／Ｏバッファ（入出力バッファ）２４と、入出力端子となるＩ／Ｏパッド（入出力パッド）２５とを有している。
【００２７】
制御回路１１は、ロウデコーダ１２、ページバッファコントロール１３、ページバッファ１４、フェイルビットカウンタ２１、及び高電圧コントローラ２２等の動作を統括して制御する制御部であり、メモリセルＭＣからのデータの読み出し、メモリセルＭＣへのデータの書き込み及び消去を行う際に、半導体記憶装置１の全体の動作を制御する。この制御回路１１は、Ｉ／Ｏバッファ２４からアドレス信号や、制御コマンド信号等を入力する他、後述するフェイルビットカウンタ２１からフェイルセルやインヒビットセルのカウント数の情報を入力し、このカウント数の情報を基に、ビット線ＢＬに印加するプリチャージ電圧やワード線ＷＬに印加する電圧に対する補正値を算出する。
【００２８】
ロウデコーダ１２は、Ｉ／Ｏバッファ２４から制御回路１１を通してアドレス信号を入力し、入力したアドレス信号をデコードし、データの読み出し、書き込み及び消去の対象となるメモリセルに接続されるワード線ＷＬを選択する。また、ロウデコーダ１２は、高電圧コントローラ２２から電圧信号ＶＳＥＬを入力し、データの読み出し、書き込み及び消去に応じた電圧をワード線ＷＬに印加する機能を備える。
【００２９】
ページバッファコントロール１３は、ページバッファ１４の動作を制御するための回路である。このページバッファコントロール１３は、高電圧コントローラ２２から、メモリセルＭＣへのデータの読み出し、書き込み、及び消去に応じたビット線ＢＬの電圧信号ＶＢＳＬＴを入力し、この電圧信号をページバッファ１４に出力する。
【００３０】
メモリセルアレイ１０は、ページ単位（カラム方向アドレスの８ビット単位）の複数のメモリセルブロックが、並列に配置されて構成されており、合計３２７６８本のビット線ＢＬ０〜ＢＬ３２７６７が配置される。このページ単位のメモリセルブロックは、図７に示すＮＡＮＤ型フラッシュメモリにおいて「ＢＬＮ＝ＢＬ７」の場合である。すなわち、ページ単位のメモリセルブロックは、８列のメモリストリングＳＴ０〜ＳＴ７を備え、８本のビット線ＢＬ０〜ＢＬ７と、ｎ＋１本のワード線ＷＬ０〜ＷＬｎと、共通ソース線ＣＳＬと、を備える。
【００３１】
各メモリストリングＳＴ０〜ＳＴ７は、互いに直列接続されたｎ＋１個のフローティングゲート構造の電気的書き換え可能な不揮発性のメモリセルＭＣ０〜ＭＣｎを備え、ドレイン側のメモリセルＭＣｎは選択ゲートトランジスタＳＳ１を介して対応するビット線ＢＬに接続され、ソース側のメモリセルＭＣ０は選択ゲートトランジスタＧＳ１を介して共通ソース線ＣＳＬに接続される。また、共通ソース線ＣＳＬは、トランジスタＮＴを介してグランド（接地電位）に接続される。このトランジスタＮＴはゲート端子に印加される信号ＣＲによりオン・オフが制御され、ベリファイ読み出し動作時にはオンになる。
【００３２】
このメモリセルアレイ１０おいて、各メモリストリングＳＴに対応するビット線ＢＬは、ページ単位でデータ書き込み及び読み出しを行うために、ページバッファ１４に接続される。このページバッファ１４みは、ページ単位のページバッファブロック（ＰＢｘ８）１４Ａと、ページバッファ変換部（ＰＢ変換部）１４Ｂとが並列に配置されて構成される。
【００３３】
ページバッファブロック１４Ａは、ページバッファコントロール１３から制御指令及びプリチャージ電圧の信号を入力し、ビット線ＢＬにプリチャージ電圧を印加するプリチャージ回路を備える。また、ページバッファブロック１４Ａは、メモリセルＭＣに書き込まれたデータを読み出すためのセンスアンプ回路を備え、メモリセルＭＣから読み出したデータを、ページバッファ変換部１４Ｂ及び出力データバス（ＤＯＵＴＢＵＳ［６３：０］）を通して、Ｉ／Ｏバッファ２４に出力する。また、ページバッファブロック１４Ａは、ページバッファ変換部１４ＢからメモリセルＭＣへの書き込みデータを入力し、ビット線ＢＬの電圧を操作してメモリセルＭＣへのデータ書き込みを行う。なお、メモリセルＭＣからのデータの読み出し、メモリセルＭＣへのデータの書き込み及び消去は、制御回路１１を中心にして、ページバッファブロック１４Ａと、ページバッファ変換部１４Ｂと、ロウデコーダ１２と、ページバッファコントロール１３と、高電圧コントローラ２２との協同動作により行われる。
【００３４】
また、ページバッファ変換部１４Ｂは、Ｉ／Ｏバッファ２４から入力データバス（ＤＩＮＢＵＳ［６３：０］）を介して、アドレス信号及び書き込みデータの信号を入力する。このページバッファ変換部１４Ｂは、入力されたアドレス信号に基づき、指定されたページバッファブロック１４Ａをページ単位で選択するカラムデコーダの機能を有し、また、Ｉ／Ｏバッファ２４から入力した書き込みデータの信号をページバッファブロック１４Ａに出力する。また、ページバッファ変換部１４Ｂは、ページバッファブロック１４Ａにより読み出されたメモリセルＭＣのデータを、Ｉ／Ｏバッファ２４に出力する。
【００３５】
フェイルビットカウンタ２１は、ベリファイ読み出し時において、フェイルセル（オンセル）と判定されたメモリセルのビット数（「フェイルセル数」とも呼ぶ）をカウントする。また、フェイルビットカウンタ２１は、インヒビットセルの内のオンセルとなるセルの数をカウントする。なお、インヒビットセルは、プログラム書き込みを開始する前に事前に設定されるものである。例えば、このインヒビットセルの情報は、制御回路１１により予め保持することができ、フェイルビットカウンタ２１は、この制御回路１１に保存されたインヒビットセルの情報を基にオンセルとなるインヒビットセル数をカウントする。又は、オンセルとなるインヒビットセル数の情報を制御回路１１において算出し、この制御回路１１で算出されたインヒビットセル数の情報を使用するようにしてもよい。このフェイルセル数及びインヒビットセル数の情報は、制御回路１１に出力される。
【００３６】
高電圧コントローラ２２は、メモリセルＭＣからのデータの読み出し、データの書き込み及び消去の際に使用される電圧であって、外部より供給される電圧より高い昇圧された電圧を発生する。この高電圧コントローラ２２で生成された電圧の信号は、信号ＶＳＥＬとしてロウデコーダ１２に出力され、また信号ＶＢＳＬＴとしてページバッファコントロール１３に出力される。この高電圧コントローラ２２における電圧信号の発生動作は、制御回路１１により制御される。
【００３７】
Ｉ／Ｏバッファ２４は、データの入出力、アドレス信号の入力、及び制御コマンド信号等の入力に使用されるバッファ回路であり、このＩ／Ｏバッファ２４は、外部回路との接続端子となるＩ／Ｏパッド２５に接続される。
【００３８】
（ビット線ＢＬ及びワード線ＷＬに印加する電圧の補正動作についての説明）
前述したように、本発明の半導体記憶装置１においては、ＣＳＬノイズに応じて、ビット線ＢＬに印加するプリチャージ電圧、及びワード線ＷＬに印加する電圧を補正する点に特徴がある。以下、この補正動作について詳細に説明する。
【００３９】
半導体記憶装置１のプログラムベリファイ時において、プログラム電圧をループごとに一定値ずつステップ状に増加させてプログラムする場合、メモリセルの閾値電圧の分布幅を狭く制御するため、そのループごとに、ビットそれぞれのベリファイが必要となる。このプログラムベリファイ時においては、以下の手順により、ワード線ＷＬに印加する電圧と、ビット線ＢＬに印加するプリチャージ電圧とを補正する。
第１の手順において、最初のプログラムベリファイ時に、フェイルビットカウンタ２１は、メモリセルアレイ１０に書き込むデータからオンセルとなるインヒビットセルの数を算出し、算出したインヒビットセルのカウント数（インヒビットセル数）を示す情報を制御回路１１に出力する。
なお、制御回路１１が、メモリセルアレイ１０に書き込むデータからインヒビットセル数を算出するようにしてもよい。
【００４０】
第２の手順において、制御回路１１は、第１の手順においてカウントされたインヒビットセル数に応じて高電圧コントローラ２２を制御し、ロウデコーダ１２によりワード線ＷＬに印加する電圧を補正し、ページバッファコントロール１３によりビット線ＢＬに印加するプリチャージ電圧を補正する。
【００４１】
第３の手順において、次回以降のプログラムベリファイ時には、制御回路１１が、インヒビットセル数及び前回ベリファイでフェイルしたセルのビット数（フェイルセル数）に応じ、第２の手順と同様にして、ワード線ＷＬに印加する電圧と、ビット線ＢＬに印加するプリチャージ電圧とを補正する。
【００４２】
なお、上述の第１及び第２の手順において算出する電圧の補正レベルΔＶは、
ΔＶ＝ΔＶＣＳＬ×（全オンセル数）・・・式（１）、
で表すことができる。
ここで、全オンセル数は、「全オンセル数＝フェイルビット数＋インヒビットセル数」であり、ΔＶＣＳＬは、１つのオンセル当たりの共通ソース線ＣＳＬに生じる浮き電圧である。すなわち、共通ソース線ＣＳＬにおいて浮き上がった電圧ΔＶを、ビット線ＢＬのプリチャージ電圧と、ワード線ＷＬの読み出し電圧とに対する補正レベルにする。
【００４３】
このように、制御回路１１は、ＣＳＬノイズでメモリセルＭＣの共通ソース線ＣＳＬ側の電圧が浮き上がっていても、その浮き上がり電圧に応じて、ワード線ＷＬに印加する電圧、ビット線ＢＬに印加するプリチャージ電圧を補正する。つまり、ゲート・ソース間電圧ＶＧＳと、ドレイン・ソース間電圧ＶＤＳとがＣＳＬノイズの浮き上がり電圧に応じて補正されるので、メモリセルＭＣの閾値見かけ上高くなることを抑制する。その結果、プログラムベリファイにおいて、最初のベリファイにてパスしたメモリセルＭＣの閾値Ｖｔｈと、プログラムベリファイの終盤のベリファイにてパスしたメモリセルＭＣの閾値Ｖｔｈとに生じる差（ばらつき）を低減させることができ、書き込み精度を向上させることができる。
【００４４】
図２は、ＩＳＰＰ（Incremental Step Pulse-Program）サイクルにおける、ベリファイ回数に対するオンセル数と共通ソース線ＣＳＬの電圧ＶＣＳＬとの推移例を示す図である。また、同図において、横軸にベリファイ回数を示し、縦方向にオンセル数と、共通ソース線ＣＳＬの電圧（メモリセルＭＣのソース電圧）ＶＣＳＬと、を並べて示したものである。
【００４５】
なお、ＩＳＰＰとは、メモリセルのゲートに印加する電圧をステップ状に増加させて書き込みを行う方式であり、具体的には、「メモリセルのゲートに書き込み電圧を印加→ベリファイ（検証）→書き込み電圧を増加→書き込みに失敗したメモリセルのゲートに書き込み電圧を印加」、を繰り返し行い、所望のメモリセルへの書き込みを行うものである。なお、メモリセルにデータを書き込むとは、例えば、制御ゲート（選択したワード線ＷＬ）に高電圧（例えば、２０［Ｖ］）を印加してフローティングゲートに電子を注入し、閾値電圧を上昇させることを意味する。
【００４６】
図２において、オンセルの個数ｎ１は、最初のプログラムベリファイにおけるフェイルセル（オンセルのままのメモリセル）の個数と、インヒビットセルの個数とを加算した個数を示し、オンセルの個数ｎ２は、プログラムベリファイ終了時におけるインヒビットセルの個数を示している。また、共通ソース線ＣＳＬの電圧ＶＣＳＬにおいて、電圧ＶＣＳＬ１は、最初のプログラムベリファイ時におけるフェイルセルとインヒビットセルから流れる電流により発生する共通ソース線ＣＳＬの電圧の浮き上がり（ＣＳＬノイズ）を示している。また、電圧ＶＣＳＬ２は、プログラムベリファイ終了時におけるインヒビットセルから流れる電流により発生する共通ソース線ＣＳＬの電圧を示している。
【００４７】
この図に示すように、初回パス（First Pass）時においては、フェイルセル（書き込みに失敗しオンセルのままのメモリセル）の個数が多く、フェイルビットとインヒビットセルとを合わせた個数がｎ１となる。また、このフェイルセルとインヒビットセルとを通してビット線ＢＬから共通ソース線ＣＳＬに流れる電流により、共通ソース線ＣＳＬの電圧が高くなり電圧ＶＣＳＬ１となる。この状態において、電圧ＶＣＳＬ１を補正レベルΔＶとして求め、次回のプログラムベリファイ時に、この補正レベルΔＶにより、ワード線ＷＬに印加する電圧と、ビット線ＢＬに印加するプリチャージ電圧とを補正する。
【００４８】
例えば、図２（Ｂ）に示すように、メモリセルＭＣの各端子に印加される電圧が、ソース電圧が０．０［Ｖ］、ゲート電圧が１．０［Ｖ］、ドレイン電圧が０．６［Ｖ］として予め設定されている場合において、図２（Ａ）に示す共通ソース線ＣＳＬの電圧ＶＣＳＬがＣＳＬノイズにより、０．３［Ｖ］に上昇すると算出された場合に、このＣＳＬノイズの０．３［Ｖ］を補正レベルΔＶとする。
そして、この補正レベルΔＶ（＝０．３［Ｖ］）により、ワード線ＷＬに印加する電圧と、ビット線ＢＬに印加するプリチャージ電圧を補正する。この結果、メモリセルＭＣのソース電圧が０．３［Ｖ］、ゲート電圧が１．３［Ｖ］、ドレイン電圧が０．９［Ｖ］となる。すなわち、ベリファイ読み出しにおいて、ビット線ＢＬ及びワード線ＷＬに印加する電圧の組み合わせ（ゲート電圧及びドレイン電圧）に、補正レベルΔＶを加えて補正した補正電圧をビット線ＢＬ及びワード線ＷＬに印加する。
【００４９】
そして、図２（Ａ）に示すように、プログラムベリファイの回数が増えるに従い、フェイルビットとなるメモリセルＭＣ（フェイルセル）の個数が次第に減少し、それに伴い、共通ソース線ＣＳＬの電圧ＶＣＳＬも次第に減少する。
そして、プログラムベリファイの終了時、すなわち、全ビットパス（All Bit Pass）の時点では、共通ソース線電圧ＶＣＳＬは、インヒビットセルに流れる電流により発生する電圧ＶＣＳＬ２となり、補正レベルΔＶが電圧ＶＣＳＬ２となる。
【００５０】
また、図３は、上述したプログラムベリファイ時における、ワード線ＷＬに印加する電圧と、ビット線ＢＬに印加するプリチャージ電圧の補正の手順をフローチャートで示したものである。このプログラムベリファイ動作は、制御回路１１により制御されるものである。以下、その手順を説明する。
【００５１】
プログラムベリファイを開始すると、制御回路１１は、最初に、フェイルビットカウンタ２１によりオンセルとなるインヒビットセルの数を計数（カウント）する（ステップＳ１）。インヒビットセルの数は、制御回路１１に保持されたインヒビットセルの情報を基に、事前に計数することができる。続いて、制御回路１１は、インヒビットセル数から補正レベルΔＶを算出し、ビット線ＢＬ及びワード線ＷＬに印加するベリファイ読み出しの電圧の組み合わせに補正レベルΔＶを加えた補正電圧を算出する（ステップＳ２）。
【００５２】
続いて、制御回路１１は、高電圧コントローラ２２、ロウデコーダ１２、及びページバッファコントロール１３を制御することにより、ビット線ＢＬ及びワード線ＷＬに電圧を印加してメモリセルＭＣへのデータ書き込みを行う（ステップＳ３）。このステップＳ３における書き込みにおいては、例えば、選択したメモリセルＭＣの閾値を上昇させるように書き込み（データ“０”の書き込み）を行う。
【００５３】
そして、ステップＳ３におけるメモリセルＭＣへのデータの書き込み後に、ページバッファ１４により、書き込み対象となったメモリセルＭＣからデータを読み出し、フェイルビットカウンタ２１が、書き込み対象となったメモリセルＭＣから読み出したデータと、書き込んだデータとを比較して検証を行い（ステップＳ４）、データが一致しないメモリセル（フェイルセル）を検出し、このフェイルセルの個数を計数する（ステップＳ５）。このフェイルビットカウンタ２１におけるフェイルセルの計数結果の情報は、制御回路１１に出力される。
【００５４】
続いて、制御回路１１は、フェイルビットカウンタ２１から入力したフェイルセル数の情報を基に、フェイルセル数が、０（ゼロ）であるか否かを判定する（ステップＳ６）。そして、フェイルセルが無い場合は（ステップＳ６：Ｙｅｓ）、全てのメモリセルＭＣに正常にデータが書き込まれたものとして、プログラムベリファイ動作を終了する。
一方、ステップＳ６においてフェイルセルがあると判定された場合は（ステップＳ６：Ｎｏ）、ステップＳ７に移行し、フェイルビットカウンタ２１により計数されたフェイルセル数とインヒビットセル数とから補正レベルΔＶを算出し、ベリファイ読み出しの電圧の組み合わせに算出した補正レベルΔＶを加えた補正電圧（ＣＳＬノイズに対応した電圧）を算出する（ステップＳ７）。このステップＳ７で算出した補正電圧は、次回のステップＳ４におけるデータ読み出し（ベリファイ読み出し）の際に使用される。
【００５５】
続いて、制御回路１１では、データ書き込み使用するビット線ＢＬ及びワード線ＷＬの書き込み印加電圧を更新して（ステップＳ８）、ステップＳ３に戻る。このステップＳ３では、ステップＳ８において更新された電圧をビット線ＢＬ及びワード線ＷＬに印加してメモリセルへＭＣのデータの書き込みを行う。
上記手順により、ベリファイ読み出し時におけるビット線ＢＬ及びワード線ＷＬへの印加電圧を、フェイルセル数及びインヒビットセル数に応じて補正する。これにより、共通ソース線ＣＳＬに生じるＣＳＬノイズの影響を低減しながら、メモリセルＭＣに対するベリファイ読み出しを行うことができ、メモリセルからのデータの読み出し精度を維持しつつ、プログラムベリファイに要する時間を短縮することができる。また、ベリファイ読み出しの精度を向上させることにより、データの書き込み精度を改善することができる。
【００５６】
なお、上述した例では、ワード線ＷＬへ印加する電圧と、ビット線ＢＬに印加するプリチャージ電圧の両方について補正を行う例について説明したが、これに限定されない。例えば、ビット線ＢＬに印加するプリチャージ電圧のみを、フェイルセル数及びインヒビットセル数に応じて補正するようにしてもよい。同様に、ワード線ＷＬに印加する電圧のみを、フェイルセル数及びインヒビットセル数に応じて補正するようにしてもよい。
【００５７】
［第２の実施形態］
次に、本発明の第２の実施形態として、メモリセルアレイ１０内のメモリセルＭＣの分布や状態によりＣＳＬノイズがメモリセルアレイ１０の全エリアで一定ではない場合を考える。例えば、メモリセルアレイ１０内に共通ソース線ＣＳＬが複数設けられ、メモリセルアレイ１０が複数のエリアに分割され、エリアごとに共通ソース線ＣＳＬが異なる場合などでは、エリアごとにインヒビットセル数、及びフェイルビット数をカウントし、ベリファイ読み出しの電圧を補正する必要がある。
しかし、ワード線ＷＬへの印加電圧は各エリアで共通であることから、各エリアに対してのワード線ＷＬへの印加電圧に対する補正はできない。よって、ビット線ＢＬのプリチャージ電圧を補正することにより、ＣＳＬノイズによる影響を低減させる。
【００５８】
図４は、本発明の第２の実施形態に係わる半導体記憶装置の構成を示す図である。この図４に示す半導体記憶装置２は、図１に示す第１の実施形態の半導体記憶装置１と比較して、ページバッファ１４を４つのエリアに分割した点と、フェイルビット数ラッチ３０〜３３を新たに追加したが異なり、他の構成は、図１に示す半導体記憶装置１と同様である。このため、同一の構成部分には同一の符号を付し、重複する説明は省略する。
【００５９】
この図４に示す半導体記憶装置の例では、メモリセルアレイ１０を複数のエリア（この例では４つのエリア）に分割して、ページバッファ１４を、エリア０に対応するページバッファ［エリア０］１４０と、エリア１に対応するページバッファ［エリア１］１４１と、エリア２に対応するページバッファ［エリア２］１４２と、エリア３に対応するページバッファ［エリア３］１４３により分割して構成する。また、フェイルビットカウンタ２１は、エリアごとにフェイルビット数及びインヒビットセル数をカウントし、エリア０におけるカウント結果をフェイルビット数ラッチ３０に記憶させ、エリア１におけるカウント結果をフェイルビット数ラッチ３１に記憶させ、エリア２におけるカウント結果をフェイルビット数ラッチ３２に記憶させ、エリア３におけるカウント結果をフェイルビット数ラッチ３３に記憶させる。このフェイルビット数ラッチ３０〜３３に記憶されているカウント結果（カウント数）の情報は、制御回路１１に出力される。
【００６０】
この図４に示す半導体記憶装置２では、以下の手順により、ビット線ＢＬのプリチャージ電圧を補正する。
第１の手順において、最初のプログラムベリファイ時に、フェイルビットカウンタ２１は、メモリセルアレイ１０に書き込むデータから、各エリア０〜３におけるオンセルとなるインヒビットセルの数を算出し、エリア０におけるインヒビットセルの数をフェイルビット数ラッチ［エリア０］３０に記憶させる。また、フェイルビットカウンタ２１は、エリア１におけるインヒビットセルの数をフェイルビット数ラッチ［エリア１］３１に記憶させ、エリア２におけるインヒビットセルの数をフェイルビット数ラッチ［エリア２］３２に記憶させ、エリア３におけるインヒビットセルの数をフェイルビット数ラッチ［エリア３］３３に記憶させる。
このフェイルビット数ラッチ３０〜３３に記憶されたインヒビットセル数の情報は、制御回路１１に出力される。なお、フェイルビット数は制御回路１１で算出するようにしてもよい。
【００６１】
次に、第２の手順として、制御回路１１は、各エリア０〜３でカウントされたインヒビットセルの数に応じ、ページバッファコントロール１３によりビット線ＢＬに印加するプリチャージ電圧を、上述した式（１）を用いて算出した補正レベルΔＶを用いて補正する。
続いて、第３の手順として、次回以降のベリファイ時には、各エリア０〜３ごとのインヒビットセルの数及びベリファイでフェイルしたセルの数から各エリア０〜３の補正レベルΔＶを算出し、各エリア０〜３ごとにビット線ＢＬに印加するプリチャージ電圧を補正する。
【００６２】
［第３の実施形態］
次に、本発明の第３の実施形態として、ワード線ＷＬ及びビット線ＢＬに対する補正電圧を、補正電圧テーブルを用いて設定する例について説明する。
図５は、本発明の第３の実施形態に係わる半導体記憶装置に構成を示す図である。図５に示す半導体記憶装置は、図１に示す半導体記憶装置１と比較して、補正電圧テーブル２３を新たに追加した点だけが異なり、他の構成は、図１に示す半導体記憶装置１と同様である。このため、同一の構成部分には同一の符号を付し、重複する説明は省略する。
【００６３】
この補正電圧テーブル２３には、インヒビットセル数とフェイルセル数とから算出される共通ソース線ＣＳＬの浮き上がり電圧（より正確にはフェイルセルとインヒビットセルのカウント数）に対応付けられた、ビット線ＢＬ及びワード線ＷＬの補正電圧が記憶されている。この第３の実施形態では、共通ソース線ＣＳＬの浮き上がり電圧に対する補正値を前述した式（１）を用いて算出するのではなく、共通ソース線ＣＳＬの浮き上がり電圧に対応する電圧補正値を補正電圧テーブル２３から読み出し、この読み出した電圧補正値を用いて補正した電圧により書き込みの検証（ベリファイ読み出し）を行う。
【００６４】
制御回路１１は、フェイルビットカウンタ２１からオンセル数（フェイルセル数とインヒビットセル数）の情報を入力すると、このオンセル数の情報を基に補正電圧テーブル２３を参照し、このオンセル数に対応する電圧補正値を補正電圧テーブル２３から読み出し、この読み出した電圧補正値を基に、高電圧コントローラ２２、ロウデコーダ１２、及びページバッファコントロール１３を制御することにより、ビット線ＢＬに印加するプリチャージ電圧と、ワード線ＷＬに印加する電圧とを補正する。
例えば、補正電圧テーブル２３から読み出したビット線ＢＬに対する電圧補正値を、ベリファイ読み出しにおけるプリチャージ電圧に加えた電圧でビット線ＢＬのプリチャージを行う。また、補正電圧テーブル２３から読み出したワード線ＷＬに対する電圧補正値を、ベリファイ読み出しにおける読み出し電圧に加えた電圧をワード線ＷＬに印加する。
【００６５】
図６は、補正電圧テーブル２３に記憶されている電圧補正値を説明するための図である。図６おいては、横軸にドレイン電圧ＶＤＳを取り、縦軸にドレイン電流ＩＤを取り、縦方向に、ゲート・ソース間電圧ＶＧＳがＶ１，Ｖ２，Ｖ３である場合の「ドレイン電圧ＶＤＳとドレイン電流ＩＤとの関係を示すグラフ」を並べて示したものである。
【００６６】
この図において、ゲート・ソース間電圧「ＶＧＳ＝Ｖ１」の場合のグラフにおける点Ａは、共通ソース線ＣＳＬの電圧の浮き上がりがないときに、ベリファイ読み出しの電圧を印加した際のドレイン電流ＩＤを示す点である。また、点Ｂは、共通ソース線ＣＳＬの浮き上がりがあるときに、ベリファイ読み出しの電圧を印加した際のドレイン電流ＩＤを示す点である。
【００６７】
補正電圧テーブル２３には、ＣＳＬノイズによる浮き上がり電圧（ΔＶ）ごとに、共通ソース線ＣＳＬの電圧の浮き上がりがないときと同様に、読み出し判定値以上のドレイン電流量（点Ｃ）が得られるように、ドレイン電圧ＶＤＳに対する電圧補正値（ΔＶＤＳ）が記憶されている。
【００６８】
また、補正電圧テーブル２３には、浮き上がり電圧（ΔＶ）ごとに、共通ソース線ＣＳＬの電圧の浮き上がりがないときと同様に、読み出し判定値以上のドレイン電流（点Ｄ）が得られるように、ゲート・ソース電圧ＶＧＳに対する電圧補正値（ΔＶＧＳ＝Ｖ３−Ｖ２）が記憶されている。
このように、補正電圧テーブル２３を用いることにより、共通ソース線ＣＳＬの浮き上がり電圧に対応する補正電圧を補正電圧テーブル２３から読み出し、読み出した補正電圧を用いて、書き込みの検証を行うことができる。このため、共通ソース線ＣＳＬの浮き上がり電圧に対応する補正電圧（ビット線ＢＬ及びワード線ＷＬに印加する電圧）を容易かつ高速に設定することができる。
なお、補正電圧テーブル２３に記憶されている電圧補正値は、シミュレーションや、実測値などから算出された、メモリセルＭＣにおけるドレイン電圧ＶＤＳ及びゲート・ソース間電圧ＶＧＳに対するドレイン電流ＩＤの関係に基づいて予め定められた値である。
【００６９】
ここで、本発明と上記実施形態の対応について補足して説明しておく。上記実施形態において、本発明における半導体記憶装置は、第１の実施形態の半導体記憶装置１等が対応する。また、本発明におけるメモリセルは、図７に示すメモリセルＭＣ０〜ＭＣｎ等（メモリセルＭＣで総称される）が対応し、本発明におけるメモリストリングは、メモリストリングＳＴ０〜ＳＴＮ（メモリストリングＳＴで総称される）が対応する。また、本発明におけるビット線はビット線ＢＬ０〜ＢＬＮ（ビット線ＢＬで総称される）が対応し、本発明におけるワード線は、ワード線ＷＬ０〜ＷＬｎ（ワード線ＷＬで総称される）が対応し、本発明における共通ソース線は、共通ソース線ＣＳＬが対応する。
【００７０】
また、本発明における第１の選択トランジスタは、図７に示す選択ゲートトランジスタＳＳ１が対応し、本発明における第２の選択トランジスタは、選択ゲートトランジスタＧＳ１が対応する。また、本発明における制御回路は、制御回路１１が対応する。なお、制御回路１１は、ロウデコーダ１２、ページバッファコントロール１３、ページバッファ１４、フェイルビットカウンタ２１、及び高電圧コントローラ２２等の動作を統括して制御し、メモリセルＭＣからのデータの読み出し、メモリセルＭＣへのデータの書き込み及び消去を行う際に、半導体記憶装置１の全体の動作を制御する。 
【００７１】
（１）そして、上記実施形態において、半導体記憶装置１は、メモリセルＭＣが直列に接続されたメモリストリングＳＴが並列に配置され、それぞれのメモリストリングの一端が第１の選択ゲートトランジスタＳＳ１を介して当該メモリストリングＳＴに対応するビット線ＢＬに接続され、他端が第２の選択ゲートトランジスタＧＳ１を介して共通ソース線ＣＳＬに接続され、同一行のメモリセルＭＣの制御ゲートが共通のワード線ＷＬに接続される半導体記憶装置であって、ビット線ＢＬをプリチャージし、所定の読み出し電圧をワード線ＷＬに印加してメモリセルＭＣからのデータの読み出しを行う際に、上記メモリストリングＳＴから共通ソース線ＣＳＬに流れる電流により生じる当該共通ソース線ＣＳＬの電圧の浮き上がりに応じて、上記ビット線ＢＬにプリチャージする電圧を補正する制御回路１１を、備える。
【００７２】
このような構成の半導体記憶装置１では、制御回路１１が、メモリストリングＳＴから共通ソース線ＣＳＬに流れ込む電流により浮き上がる共通ソース線ＣＳＬの電圧（ＣＳＬノイズ）に応じて、ビット線ＢＬにプリチャージする電圧を補正する。
これにより、メモリセルＭＣからデータを読み出す際に、共通ソース線ＣＳＬに生じる電圧の浮き上がりによる生じる影響（閾値電圧Ｖｔｈが見かけ上高くなる問題）を低減することができ、データの書き込みが完了していないメモリセルＭＣを正しく検出することができる。このように、メモリセルＭＣからデータを読み出す際に、ビット線ＢＬにプリチャージする電圧を補正することにより、前述したダミー読み出し期間を設けることなく、データ読み出し精度を維持しつつ、書き込み及び読み出しを繰り返すプログラムベリファイに要する時間を短縮することができる。
【００７３】
また、上記実施形態において、制御回路１１は、共通ソース線ＣＳＬに流れる電流により浮き上がる共通ソース線ＣＳＬの電圧に応じて、上記ワード線ＷＬの読み出し電圧を補正する。
このような構成の半導体記憶装置１では、メモリストリングＳＴから共通ソース線ＣＳＬに流れ込む電流により生じる共通ソース線ＣＳＬの電圧の浮き上がり（ＣＳＬノイズ）に応じて、ワード線ＷＬに印加する電圧（選択したセルの読み出し電圧）を補正する。また、ワード線ＷＬに印加する電圧を補正するのに合わせて、共通ソース線ＣＳＬの電圧の浮き上がり（ＣＳＬノイズ）に応じて、ビット線ＢＬにプリチャージする電圧を補正するようにしてもよい。
これにより、メモリセルＭＣからデータを読み出す際に、共通ソース線ＣＳＬに生じる電圧の浮き上がりによる生じる影響（閾値電圧Ｖｔｈが見かけ上高くなること）を低減することができ、データの書き込みが完了していないメモリセルＭＣを正しく検出することができる。
このように、メモリセルＭＣからデータを読み出す際に、ワード線ＷＬに印加する電圧を補正することにより、前述したダミー読み出し期間を設ける必要がなく、データ読み出し精度を維持しつつ、書き込み及び読み出しを繰り返すプログラムベリファイに要する時間を短縮することができる。
【００７４】
また、上記実施形態において、上記共通ソース線ＣＳＬの浮き上がり電圧に対応する上記ビット線ＢＬのプリチャージ電圧に対する補正値を記憶している補正電圧テーブル２３を備え、制御回路１１は、補正電圧テーブル２３から補正値を読み出し、読み出した補正値を用いて上記ビット線ＢＬのプリチャージ電圧を補正して上記ビット線ＢＬに印加する。
これにより、共通ソース線ＣＳＬの浮き上がり電圧（ＣＳＬノイズ）に対応するビット線ＢＬのプリチャージ電圧を容易かつ高速に設定することができる。
【００７５】
また、上記実施形態において、上記共通ソース線ＣＳＬの浮き上がり電圧に対応するワード線ＷＬの読み出し電圧に対する補正値を記憶している補正電圧テーブル２３を備え、制御回路１１は、補正電圧テーブル２３から補正値を読み出し、読み出した補正値を用いて上記読み出し電圧を補正して上記ワード線ＷＬに印加する。
これにより、共通ソース線ＣＳＬの浮き上がり電圧に対応するワード線ＷＬの電圧を容易かつ高速に設定することができる。
【００７６】
以上、説明したように、本発明の半導体記憶装置では、前述の特許文献１に記載の不揮発性半導体記憶装置で用いられるようなダミー読み出し期間を必要とせず、プログラムベリファイ時におけるメモリセルデータの読み込み速度の向上と、データ読み込み精度の向上とが図れる。
【００７７】
以上、本発明の実施形態について説明したが、本発明の半導体記憶装置は、上述の図示例にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
例えば、上述の実施形態では、不揮発性メモリを有する半導体記憶装置を例にして説明をしたが、不揮発性メモリに限らずに、共通ソース線を有し、当該共通ソース線の電圧が浮き上がるＣＳＬノイズが生じる半導体記憶装置に対して適用するようにしてもよい。
また、上述の第１及び第３の実施形態では、ビット線ＢＬに印加するプリチャージ電圧、及びワード線ＷＬに印加する読み出し電圧を補正する構成について説明したが、ワード線ＷＬに印加する読み出し電圧のみをフェイルセル数及びインヒビットセル数に応じて補正するようにしてもよい。
【符号の説明】
【００７８】
１０…メモリセルアレイ
１１…制御回路
１２…ロウデコーダ（Ｘデコーダ）
１３…ページバッファコントロール
１４…ページバッファ
１４Ａ…ページバッファブロック
１４Ｂ…ページバッファ変換部
２１…フェイルビットカウンタ
２２…高電圧コントローラ
２３…補正電圧テーブル
２４…Ｉ／Ｏバッファ
２５…Ｉ／Ｏパッド
３０，３１，３２，３３…フェイルビット数ラッチ
ＢＬ，ＢＬ０〜ＢＬＮ…ビット線
ＣＳＬ…共通ソース線
ＭＣ，ＭＣａ，ＭＣｂ，ＭＣｃ，ＭＣ０〜ＭＣｎ…メモリセル
ＳＳ１…選択ゲートトランジスタ（第１の選択トランジスタ）
ＧＳ１…選択ゲートトランジスタ（第２の選択トランジスタ）
ＳＴ，ＳＴ０〜ＳＴＮ…メモリストリング
ＷＬ，ＷＬ０〜ＷＬｎ…ワード線
【図１】
2012133840.tif 000003
【図２】
2012133840.tif 000004
【図３】
2012133840.tif 000005
【図４】
2012133840.tif 000006
【図５】
2012133840.tif 000007
【図６】
2012133840.tif 000008
【図７】
2012133840.tif 000009
【図８】
2012133840.tif 000010
【図９】
2012133840.tif 000011