(57)【特許請求の範囲】
【請求項１】
電気的に消去書き込み可能なメモリセルを配列して構成され、各メモリセルはしきい値電圧が第１の値以下である第１論理状態としきい値がそれより高い第２の値以上である第２論理状態とを不揮発に記憶するメモリセルアレイと、
前記メモリセルアレイからの読み出しデータをセンスするセンスアンプを兼ねた、前記メモリセルアレイへの書き込みデータがロードされるデータ保持回路と、
前記メモリセルアレイの書き込みシーケンスを制御するコントローラと
を備え、
前記コントローラは、
前記データ保持回路にロードされた書き込みデータに基づいて、前記メモリセルアレイの選択メモリセルに書き込み電圧を印加してそのデータを第１論理状態から第２論理状態にシフトさせるための書き込み制御機能と、
前記メモリセルアレイに書き込まれたデータを読み出して、前記選択メモリセルのデータが第２論理状態にシフトしたことを確認するための書き込みベリファイ制御機能と、
前記メモリセルアレイに書き込まれたデータを読み出して、第１論理状態に保持されるべきメモリセルのしきい値電圧が第１論理状態の変動の上限値として設定された第３の値を越えてシフトしていないことを確認するための誤書き込みベリファイ制御機能と、
前記メモリセルアレイに書き込まれたデータを読み出して、第２論理状態にシフトされた前記選択メモリセルのしきい値電圧がその上限値である第４の値を超えてシフトしていないことを確認するための過書き込みベリファイ制御機能と
を備え、
前記データ保持回路は、
前記メモリセルアレイの１ページ分の読み出し又は書き込みデータを保持する第１のラッチ回路を有するページバッファと、
前記ページバッファの各第１のラッチ回路とデータ転送可能に接続された第２のラッチ回路を有し、前記データ保持回路にロードされた前記書き込みデータを、書き込みの終了が判定されるまで保持するキャッシュとを有し、
前記第１のラッチ回路は、第１のノードおよびこれとレベル反転した第２のノードを有し、
前記第２のラッチ回路は、書き込みデータがロードされる第３のノードを有し、
前記第１のノードは第１の転送ゲートを介して第４のノードに接続され、
前記第２のノードは第２の転送ゲートを介して第４のノードに接続され、
前記第４のノードは第３の転送ゲートを介して第３のノードに接続され、
前記第４のノードは第４の転送ゲートを介してメモリセルアレイ内のビット線に接続され、
第１論理状態のメモリセルのしきい値電圧は負、第２論理状態のメモリセルのしきい値電圧は正でありかつ、前記第３の値は負であって、
前記誤書き込みベリファイ制御機能により制御されるベリファイ読出し動作は、前記第３のノードにロードされた書き込みデータを前記第２及び第３の転送ゲートを介して第２のノードに転送し、前記第１のノードに現れる論理反転したデータを、前記第１及び第４の転送ゲートを介して前記ビット線に転送することにより前記ビット線をプリチャージした後、確認すべきメモリセルの制御ゲートに所定の読み出し電圧を印加し、メモリセルのソースからドレインに読み出し電流を流して、前記ビット線の充電電圧を検出することにより行われる
ことを特徴とする不揮発性半導体記憶装置。
【請求項２】
前記誤書き込みベリファイ制御機能により制御されるベリファイ読出し動作は、前記メモリセルアレイのドレインにつながるビット線を、データ保持回路にロードされた書き込みデータがメモリセルを第１論理状態にする値である場合には、当該メモリセルが第１論理状態のままであるときにビット線レベルの読み出し結果が反転するように第１レベルにプリチャージし、データ保持回路にロードされた書き込みデータがメモリセルを第２論理状態にする値である場合には、ビット線レベルの読出し結果が第１レベルを読み出したときと反転するように第２レベルにプリチャージし、確認すべきメモリセルの制御ゲートに所定の読み出し電圧を印加した後の前記ビット線のレベルが前記第１レベルを読み出した結果と同じになるようなレベルのままであるメモリセルを誤書き込みセルとして検出するものである
ことを特徴とする請求項１記載の不揮発性半導体記憶装置。
【請求項３】
前記書き込み制御機能により制御される書き込み動作と、前記書き込みベリファイ制御機能により制御されるベリファイ読み出し動作は、前記書き込みデータの全ビットの書き込み終了が判定されるまで繰り返し実行され、
書き込み終了が判定された後に、前記誤書き込みベリファイ制御機能により制御されるベリファイ読出し動作及び前記過書き込みベリファイ制御機能により制御されるベリファイ読み出しが順次実行される
ことを特徴とする請求項１記載の不揮発性半導体記憶装置。
【請求項４】
前記書き込みベリファイ制御機能、前記誤書き込みベリファイ制御機能及び前記過書き込みベリファイ制御機能に基づく判定結果をそれぞれ外部に知らせるための第１乃至第３のステータスレジスタを備えた
ことを特徴とする請求項１記載の不揮発性半導体記憶装置。
【請求項５】
電気的に消去書き込み可能なメモリセルを配列して構成され、各メモリセルはしきい値電圧が第１の値以下である第１論理状態としきい値がそれより高い第２の値以上である第２論理状態とを不揮発に記憶するメモリセルアレイと、
前記メモリセルアレイからの読み出しデータをセンスするセンスアンプを兼ねた、前記メモリセルアレイへの書き込みデータがロードされるデータ保持回路と、
前記メモリセルアレイの書き込みシーケンスを制御するコントローラと
を備え、
前記コントローラは、
前記データ保持回路にロードされた書き込みデータに基づいて、前記メモリセルアレイの選択メモリセルに書き込み電圧を印加してそのデータを第１論理状態から第２論理状態にシフトさせるための書き込み制御機能と、
前記メモリセルアレイに書き込まれたデータを読み出して、前記選択メモリセルのデータが第２論理状態にシフトしたことを確認するための書き込みベリファイ制御機能と、
前記メモリセルアレイに書き込まれたデータを読み出して、第１論理状態に保持されるべきメモリセルのしきい値電圧が第１論理状態の変動の上限値として設定された第３の値を越えてシフトしていないことを確認するための誤書き込みベリファイ制御機能と、
前記メモリセルアレイに書き込まれたデータを読み出して、第２論理状態にシフトされた前記選択メモリセルのしきい値電圧がその上限値である第４の値を超えてシフトしていないことを確認するための過書き込みベリファイ制御機能と
を備え、
前記データ保持回路は、
前記メモリセルアレイの１ページ分の読み出し又は書き込みデータを保持する第１のラッチ回路を有するページバッファと、
前記ページバッファの各第１のラッチ回路とデータ転送可能に接続された第２のラッチ回路を有し、前記データ保持回路にロードされた前記書き込みデータを、書き込みの終了が判定されるまで保持するキャッシュとを有し、
前記第１のラッチ回路は、第１のノードおよびこれとレベル反転した第２のノードを有し、
前記第２のラッチ回路は、書き込みデータがロードされる第３のノードを有し、
前記第１のノードは第１の転送ゲートを介して第４のノードに接続され、
前記第２のノードは第２の転送ゲートを介して第４ノードに接続され、
前記第４のノードは第３の転送ゲートを介して第３のノードに接続され、
前記第４のノードは第４の転送ゲートを介してメモリセルアレイ内のビット線に接続され、
第１論理状態のメモリセルのしきい値電圧が負、第２論理状態のメモリセルのしきい値電圧が正でありかつ、前記第３の値が負であって、
前記誤書き込みベリファイ制御機能により制御されるベリファイ読出し動作は、前記第３のノードにロードされた書き込みデータを前記第１及び第３の転送ゲートを介して前記第１のノードに転送し、前記第１のノードに転送されたデータを前記ビット線に転送することにより前記ビット線をプリチャージした後、確認すべきメモリセルの制御ゲートに通常読み出し時の読み出し電圧を印加し、メモリセルのドレインからソースに読み出し電流を流して、前記ビット線の放電電圧を検出することにより行われる
ことを特徴とする不揮発性半導体記憶装置。
【請求項６】
電気的に消去書き込み可能なメモリセルを配列して構成され、各メモリセルはしきい値電圧が第１の値以下である第１論理状態としきい値がそれより高い第２の値以上である第２論理状態とを不揮発に記憶するメモリセルアレイと、
前記メモリセルアレイからの読み出しデータをセンスするセンスアンプを兼ねた、前記メモリセルアレイへの書き込みデータがロードされるデータ保持回路と、
前記メモリセルアレイの書き込みシーケンスを制御するコントローラと
を備え、
前記コントローラは、
前記データ保持回路にロードされた書き込みデータに基づいて、前記メモリセルアレイの選択メモリセルに書き込み電圧を印加してそのデータを第１論理状態から第２論理状態にシフトさせるための書き込み制御機能と、
前記メモリセルアレイに書き込まれたデータを読み出して、前記選択メモリセルのデータが第２論理状態にシフトしたことを確認するための書き込みベリファイ制御機能と、
前記メモリセルアレイに書き込まれたデータを読み出して、第１論理状態に保持されるべきメモリセルのしきい値電圧が第１論理状態の変動の上限値として設定された第３の値を越えてシフトしていないことを確認するための誤書き込みベリファイ制御機能と、
前記メモリセルアレイに書き込まれたデータを読み出して、第２論理状態にシフトされた前記選択メモリセルのしきい値電圧がその上限値である第４の値を超えてシフトしていないことを確認するための過書き込みベリファイ制御機能と
を備え、
前記データ保持回路は、
前記メモリセルアレイの１ページ分の読み出し又は書き込みデータを保持する第１のラッチ回路を有するページバッファと、
前記ページバッファの各第１のラッチ回路とデータ転送可能に接続された第２のラッチ回路を有し、前記データ保持回路にロードされた前記書き込みデータを、書き込みの終了が判定されるまで保持するキャッシュとを有し、
前記第１のラッチ回路は、第１のノードおよびこれとレベル反転した第２のノードを有し、
前記第２のラッチ回路は、書き込みデータがロードされる第３のノードを有し、
前記第１のノードは第１の転送ゲートを介して第４のノードに接続され、
前記第２のノードは第２の転送ゲートを介して第４のノードに接続され、
前記第４のノードは第３の転送ゲートを介して第３のノードに接続され、
前記第４のノードは第４の転送ゲートを介してメモリセルアレイ内のビット線に接続され、
第１論理状態のメモリセルのしきい値電圧が負、第２論理状態のメモリセルのしきい値電圧が正でありかつ、前記第３の値がゼロ又は正であって、
前記誤書き込みベリファイ制御機能により制御されるベリファイ読出し動作は、前記第３のノードにロードされた書き込みデータを前記第１及び第３の転送ゲートを介して前記第１のノードに転送し、前記第１のノードに転送されたデータを前記ビット線に転送することにより前記ビット線をプリチャージした後、確認すべきメモリセルの制御ゲートに前記第３の値に相当する読み出し電圧を印加し、メモリセルのドレインからソースに読み出し電流を流して、前記ビット線の放電電圧を検出することにより行われる
ことを特徴とする不揮発性半導体記憶装置。
【請求項７】
電気的に消去書き込み可能なメモリセルを配列して構成され、各メモリセルはしきい値電圧が第１の値以下である第１論理状態としきい値がそれより高い第２の値以上である第２論理状態とを不揮発に記憶するメモリセルアレイと、
前記メモリセルアレイからの読み出しデータをセンスするセンスアンプを兼ねた、前記メモリセルアレイへの書き込みデータがロードされるデータ保持回路と、
前記メモリセルアレイの書き込みシーケンスを制御するコントローラと
を備え、
前記コントローラは、
前記データ保持回路にロードされた書き込みデータに基づいて、前記メモリセルアレイの選択メモリセルに書き込み電圧を印加してそのデータを第１論理状態から第２論理状態にシフトさせるための書き込み制御機能と、
前記メモリセルアレイに書き込まれたデータを読み出して、前記選択メモリセルのデータが第２論理状態にシフトしたことを確認するための書き込みベリファイ制御機能と、
前記メモリセルアレイに書き込まれたデータを読み出して、第１論理状態に保持されるべきメモリセルのしきい値電圧が第１論理状態の変動の上限値として設定された第３の値を越えてシフトしていないことを確認するための誤書き込みベリファイ制御機能と、
前記メモリセルアレイに書き込まれたデータを読み出して、第２論理状態にシフトされた前記選択メモリセルのしきい値電圧がその上限値である第４の値を超えてシフトしていないことを確認するための過書き込みベリファイ制御機能と
を備え、
前記データ保持回路は、
前記メモリセルアレイの１ページ分の読み出し又は書き込みデータを保持する第１のラッチ回路を有するページバッファと、
前記ページバッファの各第１のラッチ回路とデータ転送可能に接続された第２のラッチ回路を有し、前記データ保持回路にロードされた前記書き込みデータを、書き込みの終了が判定されるまで保持するキャッシュとを有し、
前記第１のラッチ回路は、第１のノードおよびこれとレベル反転した第２のノードを有し、
前記第２のラッチ回路は、書き込みデータがロードされる第３のノードを有し、
前記第１のノードは第１の転送ゲートを介して第４のノードに接続され、
前記第２のノードは第２の転送ゲートを介して第４のノードに接続され、
前記第４のノードは第３の転送ゲートを介して第３のノードに接続され、
前記第４のノードは第４の転送ゲートを介してメモリセルアレイ内のビット線に接続され、
前記コントローラは、
前記メモリセルアレイの第１のページのデータを前記第１及び第４の転送ゲートを介して前記ページバッファの第１のノードに読み出し、その読み出しデータを前記第２のノードから前記第２及び第３の転送ゲートを介して論理反転されたデータとして前記キャッシュの第３のノードに転送し、第３のノードに転送されたデータを前記第１及び第３の転送ゲートを介して再度前記ページバッファの第１のノードに転送し、ページバッファの第１のノードに転送されたデータを前記第１及び第４の転送ゲートを介して前記メモリセルアレイの第２のページに書き込むオンチップコピーモードを有する
ことを特徴とする不揮発性半導体記憶装置。
【請求項８】
前記メモリセルアレイは、直列接続された複数のメモリセルの一端が第１の選択ゲートトランジスタを介してビット線に、他端が第２の選択ゲートトランジスタを介してソース線に接続されたＮＡＮＤセルユニットを、少なくとも一方向に複数個配列して構成され、
前記一方向に配列されたＮＡＮＤセルユニットは、第１及び第２の選択ゲートトランジスタのゲートがそれぞれ第１及び第２の選択ゲート線に共通接続され、前記一方向に配列された各メモリセルの制御ゲートが共通にワード線に接続されて、一括消去の単位となるセルブロックを構成している
ことを特徴とする請求項１、５、６又は７記載の不揮発性半導体記憶装置。
【請求項９】
前記コントローラは更に、
選択されたセルブロック内の全メモリセルに消去電圧を印加して、そのデータを第２論理状態から第１論理状態にシフトさせるための消去制御機能と、
消去されたセルブロック内のメモリセルのデータを読み出して、それが第１論理状態にシフトしたことを確認するための消去ベリファイ制御機能とを有する
ことを特徴とする請求項８記載の不揮発性半導体記憶装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、電気的に消去書き込み可能な不揮発性半導体記憶装置（ＥＥＰＲＯＭ）に係り、特にその書き込み制御に関する。
【０００２】
【従来の技術】
ＥＥＰＲＯＭのメモリセルには一般に、浮遊ゲートと制御ゲートが積層されたＭＯＳトランジスタ構造が用いられる。ＮＡＮＤ型フラッシュメモリでは、複数のメモリセルが直列接続されてＮＡＮＤセルユニットを構成する。このＮＡＮＤ型フラッシュメモリでは、メモリセルの浮遊ゲートに電子を注入してしきい値を高くした状態をデータ“０”（書き込み状態）とし、浮遊ゲートの電子を放出したしきい値の低い状態をデータ“１”（消去状態）として、データを不揮発に記憶する。そのデータのしきい値分布を図４に示している。データの書き込み動作は、ビット線を介してデータに応じてＮＡＮＤセルユニットのチャネル電位を制御し、選択されたワード線に書き込み電圧を印加して行われる。具体的に書き込み動作を説明すると、次の通りである。
【０００３】
書き込みデータ“０”のときは、ビット線に０Ｖが与えられ、これがＮＡＮＤセルユニットの選択ゲートを介してＮＡＮＤセルユニットのチャネルに転送される。書き込みデータ“１”（書き込み禁止）のときは、ビット線にＶｄｄが与えられ、これがＮＡＮＤセルユニットの選択ゲートを介してＮＡＮＤセルユニットのチャネルに転送される。このとき、ＮＡＮＤセルユニットのチャネルは、Ｖｄｄ−Ｖｔ（Ｖｔ：選択ゲートのしきい値）まで充電されて、フローティング状態になる。この後、選択ワード線に昇圧された書き込み電圧Ｖｐｇｍが与えられる。“０”データが与えられたセルでは、浮遊ゲートとチャネル間に十分な電位差が与えられるため、チャネルから浮遊ゲートへの電子注入によりしきい値が高くなる。“１”データが与えられたセルでは、選択ワード線に与えられたＶｐｇｍと同じＮＡＮＤセルユニット内の非選択ワード線に与えられた書き込み中間電圧Ｖｐａｓｓによって、フローティング状態のチャネルの電位がブーストされ、浮遊ゲートへの電子注入が生じない。従ってメモリセルは、“１”データのまま維持される。
【０００４】
実際のデータ書き込み動作では、図５に示すように、書き込みパルス電圧値を少しずつシフトしながら、書き込みパルス電圧印加とその後のベリファイ読み出しを繰り返すことによって、データ“０”を所定のしきい値分布に書き込む。ベリファイ読み出しにおいては、選択ワード線にベリファイ読み出し電圧Ｖｐｖが印加される。選択されたメモリセルのしきい値が直前の書き込みでＶｐｖを越えていれば、そのセルに対する書き込みは終了する。そのメモリセルのしきい値がＶｐｖ未満であれば、書き込み動作が継続される。この様なメモリセル毎の書き込みデータ制御は、ページバッファで行われる。
【０００５】
ページバッファには、ビット線をセンスするセンスアンプとしての機能と読み出しデータや書き込みデータを一時的に保持するデータラッチ機能がある。ページバッファには、書き込み動作の初期に１ページ分の書き込みデータがロードされる。“０”データがロードされると、“０”書き込みとなり、“１”データがロードされると、“１”書き込み（即ち書き込み禁止）となる。ベリファイ読み出しにおいて、“０”書き込みセルが所定のしきい値まで書き込まれている場合には、ビット線センスの結果は論理“Ｈ”となり、“１”データが取り込まれる。“１”書き込みセルでは、ビット線センスの結果に関係なく、論理“Ｈ”即ち“１”データが保持される。従って、ページバッファに保持されるデータがすべて論理“Ｈ”即ちデータ“１”になるまで、書き込みパルス印加とベリファイ読み出しを繰り返すことにより、選択ページ内全てのメモリセルに所望のデータを書き込むことができる。
【０００６】
データ消去は、ＮＡＮＤセルブロック（ワード線方向の複数のＮＡＮＤセルユニットの範囲）での一括消去が行われる。このとき、選択されたＮＡＮＤセルブロックの全ワード線を０Ｖとし、ＮＡＮＤセルブロックが形成されたウェル及びチャネル領域に昇圧された消去電圧Ｖｅｒａを与える。これにより、全てのメモリセルで浮遊ゲートの電子がチャネルに放出され、しきい値の低いデータ“１”状態に消去される。
このデータ消去においても、消去状態を確認するためのベリファイ読み出しを行うことにより、しきい値分布を一定範囲に追い込むことができる。
【０００７】
以上のようなＥＥＰＲＯＭにおいて、書き込みベリファイ読み出しでの判定しきい値は、図４に示すように、“０”データのしきい値分布の下限値Ｖｐｖに設定される。しかし、“０”データのしきい値分布の上限値は通常確認することはなく、突発的に予想外の書き込みがなされるメモリセルがあって、予想されるしきい値分布範囲より高いしきい値状態に書き込まれる場合がある。これを過書き込み（オーバープログラム）と称する。
【０００８】
この過書き込みがあると、過書き込みセルを含むＮＡＮＤセル内の他のセルを正しく読み出すことができなくなる。データ読み出し時、ＮＡＮＤセル内の選択セルのワード線には読み出し電圧Ｖｒｒ（例えば０Ｖ）が与えられ、同じＮＡＮＤセル内の非選択セルのワード線には、保持するデータに拘わらずセルをオンさせるパス電圧Ｖｒｅａｄが与えられる。過書き込みセルがその非選択セルに含まれていると、非選択セルで電流をカットオフし、或いは制限する。この結果、選択セルのデータによらず、“０”データしか読み出されなくなってしまう。
【０００９】
また、書き込み電圧Ｖｐｇｍが与えられる選択ワード線に含まれるメモリセルのうち、“１”データ書き込みのセル（即ち“１”データを保持すべきセル）では、弱い“０”書き込みモードになるために、“１”データのしきい値分布の上限値Ｖｅｖより異常にしきい値が高くなる不規律（ｅｒｒａｔｉｃ）書き込みが生じる可能性がある。これらの不規律書き込みの結果、“１”データを保持すべきメモリセルの幾つかは、しきい値が図４の読み出し電圧Ｖｒｒを越えて、“０”と判定される誤（ｅｒｒｏｎｅｏｕｓ）書き込みとなる。“１”データを保持すべきセルが誤書き込みによって“０”データになっても、従来の書き込みベリファイ方式ではこれを検出することができない。
【００１０】
通常は、この様な過書き込みや誤書き込みの発生頻度を考慮して、メモリシステムに搭載されるＥＣＣ回路の訂正能力が設計される。従って、通常の読み出し動作では、過書き込みや誤書き込みによるエラービットがあったとしても、ＥＣＣ回路で正しいデータに訂正されるので、問題は少ない。
しかし、メモリチップ内であるページのデータを他のページにコピーする動作を考えると、前述のような書き込み時に発生するエラービットは問題になる。即ち、コピーされるデータには既にエラービットが含まれていて、これがそのまま他のページにコピーされる可能性がある。これを防止するためには、コピーされるデータをＥＣＣ回路を用いて検査し、エラーがあるは場合には正しいデータに復元してからコピー先に書き込みすべきである。しかしこのＥＣＣ回路による処理は、データを検査するだけでも時間がかかるため、コピー動作の高速化を阻害する。
【００１１】
ＥＣＣ回路を用いることなく、信頼性の高い書き込みを実現するためには、前述の過書き込みセルの検出と誤書き込みセルの検出を書き込み時に行い、それらが含まれている場合には、メモリチップをコントロールしているコントローラに知らせることが必要になる。そのための過書き込みベリファイや誤書き込みベリファイの方法については、既に提案されている（例えば、特許文献１参照）。ここでは、過書き込みベリファイ動作は、通常の書き込み動作が終わった後に続けて行われる。過書き込みは、所定の読み出し電圧を選択ワード線に印加した読み出し動作で、メモリセルがオンするか否かにより判定される。しかし、この過書き込みベリファイのみでは、ＥＣＣ回路によるデータ検査を省略した高速コピー動作実現のためには、書き込み動作の信頼性が十分ではない。
【００１２】
一方、誤書き込みベリファイも、通常の書き込み動作が終了した後に行うことができるとされている。誤書き込みセルは、選択ワード線に印加する電圧を異ならせた２回の読み出し動作で検出される。この２回の読み出しで誤書き込みと判定されるしきい値レベルは、通常の読み出し電圧Ｖｒｒ＝０Ｖ以上で且つ、“０”データのしきい値の下限値以下の範囲である。これは、他の誤書き込みベリファイの提案においても同様である。しかしこの誤書き込みベリファイの方法では、しきい値が０Ｖにきわめて近いがパス（誤書き込みではない）と判定されたセルは、その後の何らかの変動要因によって、誤書き込み状態になる可能性がある。
【００１３】
【特許文献１】
特開２０００−１００１７８公報
【００１４】
【発明が解決しようとする課題】
従来提案されている過書き込みベリファイや誤書き込みベリファイ法は、例えば過書き込みベリファイのみでは、高速のオンチップコピー動作の実現を考えた場合に、十分に信頼性の高い書き込みが難しい。また、２回の読み出しを行う誤書き込みベリファイ法も、パスとされたセルがその後の変動要因で容易に誤書き込み状態になる可能性があった。
【００１５】
この発明は、誤書き込み及び過書き込みの判定機能を備えた不揮発性半導体記憶装置を提供するすることを目的としている。
【００１６】
【課題を解決するための手段】
この発明に係る不揮発性半導体記憶装置は、電気的に消去書き込み可能なメモリセルを配列して構成され、各メモリセルはしきい値電圧が第１の値以下である第１論理状態としきい値がそれより高い第２の値以上である第２論理状態とを不揮発に記憶するメモリセルアレイと、前記メモリセルアレイからの読み出しデータをセンスするセンスアンプを兼ねた、前記メモリセルアレイへの書き込みデータがロードされるデータ保持回路と、前記メモリセルアレイの書き込みシーケンスを制御するコントローラとを備え、前記コントローラは、前記データ保持回路にロードされた書き込みデータに基づいて、前記メモリセルアレイの選択メモリセルに書き込み電圧を印加してそのデータを第１論理状態から第２論理状態にシフトさせるための書き込み制御機能と、前記メモリセルアレイに書き込まれたデータを読み出して、前記選択メモリセルのデータが第２論理状態にシフトしたことを確認するための書き込みベリファイ制御機能と、前記メモリセルアレイに書き込まれたデータを読み出して、第１論理状態に保持されるべきメモリセルのしきい値電圧が第１論理状態の変動の上限値として設定された第３の値を越えてシフトしていないことを確認するための誤書き込みベリファイ制御機能と、前記メモリセルアレイに書き込まれたデータを読み出して、第２論理状態にシフトされた前記選択メモリセルのしきい値電圧がその上限値である第４の値を超えてシフトしていないことを確認するための過書き込みベリファイ制御機能とを備え、前記データ保持回路は、前記メモリセルアレイの１ページ分の読み出し又は書き込みデータを保持する第１のラッチ回路を有するページバッファと、前記ページバッファの各第１のラッチ回路とデータ転送可能に接続された第２のラッチ回路を有し、前記データ保持回路にロードされた前記書き込みデータを、書き込みの終了が判定されるまで保持するキャッシュとを有し、前記第１のラッチ回路は、第１のノードおよびこれとレベル反転した第２のノードを有し、前記第２のラッチ回路は、書き込みデータがロードされる第３のノードを有し、前記第１のノードは第１の転送ゲートを介して第４のノードに接続され、前記第２のノードは第２の転送ゲートを介して第４のノードに接続され、前記第４のノードは第３の転送ゲートを介して第３のノードに接続され、前記第４のノードは第４の転送ゲートを介してメモリセルアレイ内のビット線に接続され、第１論理状態のメモリセルのしきい値電圧は負、第２論理状態のメモリセルのしきい値電圧は正でありかつ、前記第３の値は負であって、前記誤書き込みベリファイ制御機能により制御されるベリファイ読出し動作は、前記第３のノードにロードされた書き込みデータを前記第３の転送ゲートを介して第２のノードに転送し、前記第１のノードに現れる論理反転したデータを、前記第１の転送ゲートを介して前記ビット線に転送することにより前記ビット線をプリチャージした後、確認すべきメモリセルの制御ゲートに所定の読み出し電圧を印加し、メモリセルのソースからドレインに読み出し電流を流して、前記ビット線の充電電圧を検出することにより行われることを特徴とする。
また、この発明の別の態様に係る不揮発性半導体記憶装置は、電気的に消去書き込み可能なメモリセルを配列して構成され、各メモリセルはしきい値電圧が第１の値以下である第１論理状態としきい値がそれより高い第２の値以上である第２論理状態とを不揮発に記憶するメモリセルアレイと、前記メモリセルアレイからの読み出しデータをセンスするセンスアンプを兼ねた、前記メモリセルアレイへの書き込みデータがロードされるデータ保持回路と、前記メモリセルアレイの書き込みシーケンスを制御するコントローラとを備え、前記コントローラは、前記データ保持回路にロードされた書き込みデータに基づいて、前記メモリセルアレイの選択メモリセルに書き込み電圧を印加してそのデータを第１論理状態から第２論理状態にシフトさせるための書き込み制御機能と、前記メモリセルアレイに書き込まれたデータを読み出して、前記選択メモリセルのデータが第２論理状態にシフトしたことを確認するための書き込みベリファイ制御機能と、前記メモリセルアレイに書き込まれたデータを読み出して、第１論理状態に保持されるべきメモリセルのしきい値電圧が第１論理状態の変動の上限値として設定された第３の値を越えてシフトしていないことを確認するための誤書き込みベリファイ制御機能と、前記メモリセルアレイに書き込まれたデータを読み出して、第２論理状態にシフトされた前記選択メモリセルのしきい値電圧がその上限値である第４の値を超えてシフトしていないことを確認するための過書き込みベリファイ制御機能とを備え、前記データ保持回路は、前記メモリセルアレイの１ページ分の読み出し又は書き込みデータを保持する第１のラッチ回路を有するページバッファと、前記ページバッファの各第１のラッチ回路とデータ転送可能に接続された第２のラッチ回路を有し、前記データ保持回路にロードされた前記書き込みデータを、書き込みの終了が判定されるまで保持するキャッシュとを有し、前記第１のラッチ回路は、第１のノードおよびこれとレベル反転した第２のノードを有し、前記第２のラッチ回路は、書き込みデータがロードされる第３のノードを有し、前記第１のノードは第１の転送ゲートを介して第４のノードに接続され、前記第２のノードは第２の転送ゲートを介して第４ノードに接続され、前記第４のノードは第３の転送ゲートを介して第３のノードに接続され、前記第４のノードは第４の転送ゲートを介してメモリセルアレイ内のビット線に接続され、第１論理状態のメモリセルのしきい値電圧が負、第２論理状態のメモリセルのしきい値電圧が正でありかつ、前記第３の値が負であって、前記誤書き込みベリファイ制御機能により制御されるベリファイ読出し動作は、前記第３のノードにロードされた書き込みデータを前記第１及び第３の転送ゲートを介して前記第１のノードに転送し、前記第１のノードに転送されたデータを前記ビット線に転送することにより前記ビット線をプリチャージした後、確認すべきメモリセルの制御ゲートに通常読み出し時の読み出し電圧を印加し、メモリセルのドレインからソースに読み出し電流を流して、前記ビット線の放電電圧を検出することにより行われることを特徴とする。
この発明に係る不揮発性半導体記憶装置はまた、電気的に消去書き込み可能なメモリセルを配列して構成され、各メモリセルはしきい値電圧が第１の値以下である第１論理状態としきい値がそれより高い第２の値以上である第２論理状態とを不揮発に記憶するメモリセルアレイと、前記メモリセルアレイからの読み出しデータをセンスするセンスアンプを兼ねた、前記メモリセルアレイへの書き込みデータがロードされるデータ保持回路と、前記メモリセルアレイの書き込みシーケンスを制御するコントローラとを備え、前記コントローラは、前記データ保持回路にロードされた書き込みデータに基づいて、前記メモリセルアレイの選択メモリセルに書き込み電圧を印加してそのデータを第１論理状態から第２論理状態にシフトさせるための書き込み制御機能と、前記メモリセルアレイに書き込まれたデータを読み出して、前記選択メモリセルのデータが第２論理状態にシフトしたことを確認するための書き込みベリファイ制御機能と、前記メモリセルアレイに書き込まれたデータを読み出して、第１論理状態に保持されるべきメモリセルのしきい値電圧が第１論理状態の変動の上限値として設定された第３の値を越えてシフトしていないことを確認するための誤書き込みベリファイ制御機能と、前記メモリセルアレイに書き込まれたデータを読み出して、第２論理状態にシフトされた前記選択メモリセルのしきい値電圧がその上限値である第４の値を超えてシフトしていないことを確認するための過書き込みベリファイ制御機能とを備え、前記データ保持回路は、前記メモリセルアレイの１ページ分の読み出し又は書き込みデータを保持する第１のラッチ回路を有するページバッファと、前記ページバッファの各第１のラッチ回路とデータ転送可能に接続された第２のラッチ回路を有し、前記データ保持回路にロードされた前記書き込みデータを、書き込みの終了が判定されるまで保持するキャッシュとを有し、前記第１のラッチ回路は、第１のノードおよびこれとレベル反転した第２のノードを有し、前記第２のラッチ回路は、書き込みデータがロードされる第３のノードを有し、前記第１のノードは第１の転送ゲートを介して第４のノードに接続され、前記第２のノードは第２の転送ゲートを介して第４のノードに接続され、前記第４のノードは第３の転送ゲートを介して第３のノードに接続され、前記第４のノードは第４の転送ゲートを介してメモリセルアレイ内のビット線に接続され、第１論理状態のメモリセルのしきい値電圧が負、第２論理状態のメモリセルのしきい値電圧が正でありかつ、前記第３の値がゼロ又は正であって、前記誤書き込みベリファイ制御機能により制御されるベリファイ読出し動作は、前記第３のノードにロードされた書き込みデータを前記第１及び第３の転送ゲートを介して前記第１のノードに転送し、前記第１のノードに転送されたデータを前記ビット線に転送することにより前記ビット線をプリチャージした後、確認すべきメモリセルの制御ゲートに前記第３の値に相当する読み出し電圧を印加し、メモリセルのドレインからソースに読み出し電流を流して、前記ビット線の放電電圧を検出することにより行われることを特徴とする。
この発明に係る不揮発性半導体記憶装置はまた、電気的に消去書き込み可能なメモリセルを配列して構成され、各メモリセルはしきい値電圧が第１の値以下である第１論理状態としきい値がそれより高い第２の値以上である第２論理状態とを不揮発に記憶するメモリセルアレイと、前記メモリセルアレイからの読み出しデータをセンスするセンスアンプを兼ねた、前記メモリセルアレイへの書き込みデータがロードされるデータ保持回路と、前記メモリセルアレイの書き込みシーケンスを制御するコントローラとを備え、前記コントローラは、前記データ保持回路にロードされた書き込みデータに基づいて、前記メモリセルアレイの選択メモリセルに書き込み電圧を印加してそのデータを第１論理状態から第２論理状態にシフトさせるための書き込み制御機能と、前記メモリセルアレイに書き込まれたデータを読み出して、前記選択メモリセルのデータが第２論理状態にシフトしたことを確認するための書き込みベリファイ制御機能と、前記メモリセルアレイに書き込まれたデータを読み出して、第１論理状態に保持されるべきメモリセルのしきい値電圧が第１論理状態の変動の上限値として設定された第３の値を越えてシフトしていないことを確認するための誤書き込みベリファイ制御機能と、前記メモリセルアレイに書き込まれたデータを読み出して、第２論理状態にシフトされた前記選択メモリセルのしきい値電圧がその上限値である第４の値を超えてシフトしていないことを確認するための過書き込みベリファイ制御機能とを備え、前記データ保持回路は、前記メモリセルアレイの１ページ分の読み出し又は書き込みデータを保持する第１のラッチ回路を有するページバッファと、前記ページバッファの各第１のラッチ回路とデータ転送可能に接続された第２のラッチ回路を有し、前記データ保持回路にロードされた前記書き込みデータを、書き込みの終了が判定されるまで保持するキャッシュとを有し、前記第１のラッチ回路は、第１のノードおよびこれとレベル反転した第２のノードを有し、前記第２のラッチ回路は、書き込みデータがロードされる第３のノードを有し、前記第１のノードは第１の転送ゲートを介して第４のノードに接続され、前記第２のノードは第２の転送ゲートを介して第４のノードに接続され、前記第４のノードは第３の転送ゲートを介して第３のノードに接続され、前記第４のノードは第４の転送ゲートを介してメモリセルアレイ内のビット線に接続され、前記コントローラは、前記メモリセルアレイの第１のページのデータを前記第１及び第４の転送ゲートを介して前記ページバッファの第１のノードに読み出し、その読み出しデータを前記第２のノードから前記第２及び第３の転送ゲートを介して論理反転されたデータとして前記キャッシュの第３のノードに転送し、第３のノードに転送されたデータを前記第１及び第３の転送ゲートを介して再度前記ページバッファの第１のノードに転送し、ページバッファの第１のノードに転送されたデータを前記第１及び第４の転送ゲートを介して前記メモリセルアレイの第２のページに書き込むオンチップコピーモードを有することを特徴とする。
【００１７】
【発明の実施の形態】
以下、図面を参照して、この発明の実施の形態を説明する。
［実施の形態１］
図１は、この発明の実施の形態によるＮＡＮＤ型ＥＥＰＲＯＭフラッシュメモリの構成を示すブロック図である。ＮＡＮＤ型フラッシュメモリは、メモリセルアレイ１００と、このメモリセルアレイ１００のワード線選択を行うロウデコーダ１４０及び、ビット線選択を行うカラムデコーダ１３０を有する。メモリセルアレイ１００の読み出しデータを検知し、書き込みデータをラッチするセンスアンプ兼データラッチ回路として、１ページ分のページバッファ（ＰＢ）１１０が設けられている。
【００１８】
ＮＡＮＤ型フラッシュメモリにおいては、書き込み動作の最初にページバッファにロードしたデータが書き込み動作終了時には、書き換えられてしまう。この実施の形態では、不規律（erratic）書き込みによる誤（erroneous）書き込みを見出す動作（以下、誤書きこみベリファイという）を実行するために、書き込み動作が終了した後にも、当初の書き込みデータを保持するようにする。そのために、ロードした書き込みデータを、書き込み動作終了までそのまま保持するように、１ページ分のメモリセルに対して２つのデータ保持回路を備える。図１において、ページバッファ１１０がセンスアンプを兼ねた一つのデータ保持回路であり、これにデータ転送可能に接続されたキャッシュ１２０がもう一つのデータ保持回路となる。
【００１９】
アドレスは、入出力バッファ２００を介してアドレスレジスタ２１０に取り込まれ、ロウデコーダ１４０及びカラムデコーダ１３０に転送される。制御回路３００は、制御信号に基づいて、コマンドアドレスの入力やデータの入出力の制御を行い、またコマンドレジスタ２２０に取り込まれたコマンドに応じて、読み出し、書き込み、消去等のシーケンス制御を行い、それに伴って必要な高電圧を発生するための高電圧発生回路（昇圧回路）３１０の制御を行う。
【００２０】
ステータスレジスタ４００は、フラッシュメモリの種々の状態を外部に知らせるためのもので、チップがレディ／ビジー状態のいずれにあるかを示すデータを保持するレディ／ビジーレジスタ４０１、書き込みのパス／フェイルを示すデータを保持する書き込みステータスレジスタ４０２、誤書き込み状態の有無（誤書き込みベリファイのパス／フェイル）を示すデータを保持する誤書き込みステータスレジスタ４０３、過書き込み状態の有無（過書き込みベリファイのパス／フェイル）を示すデータを保持する過書き込みステータスレジスタ４０４を有する。
【００２１】
メモリセルアレイ１００は、図２に示すように、電気的書換え可能な不揮発性メモリセルＭＣをマトリクス状に配列して構成されている。メモリセルＭＣは、浮遊ゲートと制御ゲートが積層されたＭＯＳトランジスタ構造を有する。この例では、１６個のメモリセルＭＣが直列に接続されてＮＡＮＤセルユニットを構成している。その一方の端のメモリセルＭＣのドレインは、選択ゲートトランジスタＳＧ１を介してビット線ＢＬに接続され、他方の端のメモリセルＭＣのソースは、選択ゲートトランジスタＳＧ２を介して共通ソース線ＣＥＬＳＲＣに接続されている。
【００２２】
ロウ方向のメモリセルＭＣの制御ゲートは、共通のワード線ＷＬｉに接続され、ロウ方向の選択ゲートトランジスタＳＧ１，ＳＧ２のゲート電極はそれぞれ、共通の選択ゲート線ＳＧＤ，ＳＧＳに接続されている。１本のワード線ＷＬｉに沿った多数のメモリセルＭＣのデータ範囲が１回の書き込み及び読み出しで同時にアクセスされる単位の１ページとなる。またカラム方向に隣接する、１６ページ分のメモリセルセル範囲であるセルブロックＢ１，Ｂ２がそれぞれ一括データ消去の単位となる。
【００２３】
図２に示すように、ページバッファ１１０は、少なくとも１ページ分のデータを保持する、複数のページバッファユニットＰＢＵにより構成され、キャッシュ１２０もそれと同数のキャッシュユニットＣＡＵを備える。具体的に例えば、ページバッファ１１０は、５２８バイト分となる。キャッシュ１２０を構成するデータラッチは、後に具体例を示すように、インバータを組み合わせたラッチでもよいし、キャパシタ素子であってもよく、書きこみデータを所定の時間保持できるものであれば形を問わない。
【００２４】
図２におけるページバッファ１１０とキャッシュ１２０の一セット１４１の具体構成を示すと、図３のようになる。ここでは、２本のビット線ＢＬｅとＢＬｏが、ＮＭＯＳトランジスタ１４、１５を介して１つのページバッファユニットＰＢＵに接続されているが、これが１本であってもよいし、あるいは、２本以上の複数本であってもよい。ＮＭＯＳトランジスタ１４，１５の制御信号ＢＬＳｅとＢＬＳｏは、どちらのビット線のセルに対するアクセスかを切り替えるビット線選択信号である。
【００２５】
ＮＭＯＳトランジスタ１４，１５を介してビット線に接続されるノードＳＡＢＬは、ＮＭＯＳトランジスタ９と５を介して、クロックトインバータ１，２の逆並列接続により構成されたラッチ回路ＬＡＴＣＨ１のノードＮ１に接続されている。ＮＭＯＳトランジスタ９は、読み出し動作においては、ビット線をプリチャージする動作と、所定時間メモリセルによるビット線放電が行われた後にビット線電位をセンスする動作とに用いられる。ＮＭＯＳトランジスタ５は、所定のタイミングでノードＮ１，Ｎ４間のデータ転送を行う制御に用いられる。ＮＭＯＳトランジスタ５，９の接続ノードＮ４に接続されたＮＭＯＳトランジスタ１０は、ビット線や、ノードＮ４，Ｎ１を適宜プリチャージするためのトランジスタである。またＮＭＯＳトランジスタ１２と再充電回路１３は、書きこみベリファイ読み出しで、“１”書き込みのセルに対して、“１”データを保持するために用いられる。即ち、ラッチ回路ＬＡＴＣＨ１のノードＮ１に一旦“１”書き込みデータがロードされ、又は書き込みパスデータに対応する論理“Ｈ”データがセットされた場合には、その後のベリファイ読み出しのビット線センスの結果に拘わらず、ノードＮ１を論理“Ｈ”データに戻す機能を有する。
【００２６】
通常の読み出し動作や、ベリファイ読み出し動作では、ビット線の電位をノードＮ４で増幅した後、ノードＮ１にデータを取り込むが、ラッチ回路ＬＡＴＣＨ１のもう一方のノードＮ２とノードＮ４の間にもＮＭＯＳトランジスタ６を介在させている。このＮＭＯＳトランジスタ６を介してビット線データをラッチＬＡＴＣＨ１に取り込めば、通常の読み出し動作とは論理反転したデータをラッチすることが可能である。これは、後述する反転読み出しや、反転データ転送への対応である。
【００２７】
ノードＮ４は、転送ゲートＮＭＯＳトランジスタ７を介してクロックトインバータ３，４の逆並列接続からなるラッチ回路ＬＡＴＣＨ２のノードＮ５に接続されている。このラッチ回路ＬＡＴＣＨ２がキャッシュユニットＣＡＵの本体である。ラッチ回路ＬＡＴＣＨ２のノードＮ５，Ｎ６は、ＮＭＯＳトランジスタ１６，１７を介してデータ線ｉｏ，ｉｏｎに接続されている。ＮＭＯＳトランジスタ１６，１７のゲートには、カラム選択信号ＣＳＬが供給される。カラム選択信号ＣＳＬが“Ｈ”レベルの場合に、データ線を介して、ラッチＬＡＴＣＨ２とチップ外部とのデータ入出力が可能となっている。ノードＮ５に接続されたＰＭＯＳトランジスタ８は、キャッシュユニットＣＡＵのラッチデータをリセットするためのものである。
【００２８】
この様に構成されたフラッシュメモリの誤書きこみのチェックを含めた書きこみ動作制御について説明する。
図６は書き込み動作制御フローチャートであり、図９は、その書き込みシーケンスでのセルデータとページバッファ（ＰＢ）１１０及びキャッシュ（Ｃａｃｈｅ）１２０のデータ変化の様子を、４ビットのセルＣｅｌｌ０−Ｃｅｌｌ３を例に挙げて示している。ここで、ＰＢのデータは、ノードＮ１のそれであり、Ｃａｃｈｅのデータは、ノードＮ５のそれである。
【００２９】
データ消去状態では、全てのメモリセルＣｅｌｌ０−３には、“１”状態が記憶されている（図９の状態Ａ１参照）。まず、書き込みデータを外部入出力端子からキャッシュ１２０に取り込み（ステップＳ１）、そのデータをページバッファ１１０に転送する（ステップＳ２）。これが図９の状態Ｂ１であり、ここでは、セルＣｅｌｌ０−３に対して、書き込みデータｃａ０＝“１”，ｃａ１＝“０”，ｃａ２＝“１”，ｃａ３＝“０”がロードされた例を示している。
【００３０】
続いて、書き込みパルス印加動作を行う（ステップＳ３）。このとき、図９の状態Ｃ１に示すように、ページバッファ１１０から、メモリセルＣｅｌｌにつながるビット線ＢＬｉにデータを転送する。即ち、“０”を書き込むメモリセルＣｅｌｌ１，３には、ビット線ＢＬに“０”データに対応する０Ｖが転送され、“１”状態を保持すべきメモリセルＣｅｌｌ０，２には、ビット線ＢＬに“１”データに相当するＶｄｄが転送される。この後、選択ワード線ＷＬｊに書き込みパルス電圧Ｖｐｇｍを印加する。ＮＡＮＤセルユニット内で書き込み電圧Ｖｐｇｍが印加されたメモリセルＣｅｌｌと直列に接続された非選択メモリセルの制御ゲート（非選択ワード線）には、書き込み電圧Ｖｐｇｍより低い中間電圧（パス電圧）Ｖｐａｓｓを印加する。選択されたＮＡＮＤセルブロックにおいては、同時にビット線ＢＬ側の選択ゲート線ＳＧＤにＶｄｄを印加する。
【００３１】
これにより、“０”データを書きこむメモリセルＣｅｌｌにおいては、チャネルが０Ｖで、制御ゲートに約２０Ｖが印加されるため、ＦＮトンネル電流により浮遊ゲートへの電子注入が生じ、そのしきい値が高くなる。一方、“１”データ状態を保持するメモリセルでは、ビット線ＢＬへの電圧Ｖｄｄ印加と、選択ゲート線ＳＧＤへの電圧Ｖｄｄ印加により、チャネルは、Ｖｄｄ−Ｖｔ（Ｖｔは選択ゲートトランジスタのしきい値電圧）まで充電されてフローティングになる。このため、書き込み電圧Ｖｐｇｍやパス電圧Ｖｐａｓｓが印加されたとき、容量カップリングでチャネル電位がＶｄｄ以上に持ち上げられ、制御ゲートとフローティングチャネルの間の電位差が小さく保たれるので、書き込み（電子注入）が行われない。
【００３２】
続いて、ベリファイ読み出し（ステップＳ４）では、選択ビット線ＢＬの全てを所定レベルにプリチャージし、選択ワード線ＷＬｊにしきい値判定に必要な読み出し電圧Ｖｐｖを与えて、ビット線ＢＬにチャージされた電荷をメモリセルＣｅｌｌを介して放電させる（図９の状態Ｄ１）。もし、メモリセルＣｅｌｌのしきい値がＶｐｖ以上であれば、セル電流は殆ど流れないため、プリチャージレベルの低下が小さく、その後のセンス動作で、“Ｈ”レベルがＰＢに取り込まれる。これは、書き込み“パス”状態を意味する。一方、“０”書き込みされたメモリセルＣｅｌｌで、書き込みしきい値がＶｐｖより低いと、セル電流が多く流れるため、ビット線電位の低下が大きく、その後のセンス動作で、“Ｌ”レベルがＰＢに取り込まれる。これは、書きこみ“フェイル”状態を意味する。
【００３３】
ベリファイ読み出し時に、“１”セルに対して、“１”書きこみを行った部位においては、ビット線プリチャージ後に、一旦ビット線電位が“１”状態のメモリセルにより放電されるが、ＮＭＯＳトランジスタ１２と再充電回路１３によって、“１”書きこみ部には、強制的に“１”データが取り込まれる。“０”書き込みを行ったセルで“０”が書き込まれた場合には、ベリファイ読み出しの結果に基づいて、対応するページバッファユニットＰＢＵのデータが“１”に反転される。“０”書き込みが不十分でるセルについては、ページバッファユニットＰＢＵのデータは初期の“０”のまま保持される。図９の状態Ｅ１では、“０”書き込みを行うセルｃｅｌｌ１，３のうち、セルｃｅｌｌ１では“０”が書き込まれ、セルｃｅｌｌ３で書き込みが不十分であった場合を示している。
【００３４】
この場合、判定ステップＳ５で全てのセルが書き込まれていないものと判定されて、未書き込みのセルについて再度書き込みパルス印加動作（ステップＳ３）、ベリファイ読み出し動作（ステップＳ４）が繰り返される。書き込み動作の繰り返しでは、図５に示すように、書き込みパルス電圧ＶｐｇｍがΔＶｐｇｍだけステップ的に高くされ、書き込み動作が加速される。これによって、再度の書き込みを行ってもメモリセルのしきい値は、ΔＶｐｇｍ相当しかシフトしないため、書きこみとベリファイ読み出しを繰り返し行っても、最終的には、書きこみ状態のしきい値分布幅は、ΔＶｐｇｍ＋αに制御される。ここで“＋α”は、セルアレイ内のノイズに起因するしきい値分布のばらつき幅である。
判定ステップＳ５において、ベリファイ読み出し後のページバッファ１１０のデータが全て“１”ならば、全てのセルに対する書き込み動作が終了となる（図９の状態Ｆ１）。
【００３５】
この後、この実施の形態では、選択ワード線に沿ったメモリセルのうち、“１”書き込みセル（書き込み禁止のセル）での誤書き込みを検出するための、誤書き込みベリファイ読み出しを行う。この誤書き込みベリファイ読み出し動作は、書き込み動作の間、キャッシュ１２０に保持していた書き込みデータを反転してページバッファ１１０に転送し（ステップＳ６）、そのデータを実際に書き込まれたメモリセルデータと照合することにより行う（ステップＳ７）。
書き込みベリファイ動作及び誤書き込みベリファイ動作の詳細については、通常読み出し動作との比較のため、通常読み出し動作を説明した後に説明する。
【００３６】
図１３は、通常のデータ読み出しの動作タイミングを示している。時刻Ｒ１で、ＮＭＯＳトランジスタ１０のゲートにＶｄｄ＋αの電圧を印加し、ＮＭＯＳトランジスタ９のゲート（ＢＬＣＬＡＭＰ）にビット線プリチャージ用のクランプ電圧Ｖｐｒｅを印加する。これにより、選択されたビット線に、Ｖｐｒｅ−Ｖｔ（Ｖｔは、ＮＭＯＳトランジスタ９のしきい値）がプリチャージされる。同時に、選択されたＮＡＮＤセルブロックの選択ワード線に読み出し電圧Ｖｒｒを、選択ゲート線ＳＧＤ及び非選択ワード線にパス電圧Ｖｒｅａｄを与えることで、ビット線から読み出しを行うメモリセルのチャネルまでプリチャージする。
【００３７】
時刻Ｒ２で、ＮＭＯＳトランジスタ９のゲート（ＢＬＣＬＡＭＰ）を０Ｖにして、ビット線をフローティングにしつつ、選択されたＮＡＮＤセルブロックのソース側の選択ゲート線ＳＧＳにパス電圧Ｖｒｅａｄを与える。これにより、選択ワード線の読み出し電圧Ｖｒｒより、メモリセルのしきい値が高ければビット線の放電はなく、低ければ読み出し電流が流れてビット線が放電される。
【００３８】
時刻Ｒ３で、ページバッファＰＢ側のラッチ回路ＬＡＴＣＨ１を非活性状態にして、時刻Ｒ４からＲ５にかけて、ノードＮ４だけでなくＮ１もおよそＶｄｄにプリチャージする。そして時刻Ｒ６で、ＮＭＯＳトランジスタ９のゲートにセンス用電圧Ｖsen（＜Ｖｐｒｅ）を印加し、プリチャージ時よりも低いクランプ状態でノードＮ４、Ｎ１とビット線を接続する。この時、ビット線の電位が、Ｖｓｅｎ−Ｖｔ（ＶｔはＮＭＯＳトランジスタ９のしきい値）以下であれば、ノードＮ４、Ｎ１は、ビット線とほぼ同電位になるまで放電され、Ｖｓｅｎ−Ｖｔより高ければ、ＮＭＯＳトランジスタ９はカットオフするため、ノードＮ４、Ｎ１は、Ｖｄｄを保持する。時刻Ｒ８でこの電位をクロックトインバータ１で更にセンスして、時刻Ｒ９でラッチして読み出しデータを保持する。
【００３９】
図１４は、書き込みベリファイ読み出し動作のタイミング図であり、時刻Ｖ１−Ｖ７は、図１３の通常読み出し動作の時刻Ｒ１−Ｒ７までに対応する。通常読み出し動作との違いは、選択ワード線に与える読み出し電圧が、図４に示す“０”データの判定しきい値であるＶｐｖであることと、時刻Ｖ８、Ｖ９の動作である。即ち通常読み出し動作と同様に、ビット線の電位をＮＭＯＳトランジスタ９によるクランプ動作により増幅した後、時刻Ｖ８、Ｖ９間に、Ｖｄｄ＋αの制御信号ＲＥＧが印加される。これにより、ベリファイ読み出し直前の書き込みパルス印加動作で“１”書き込みであった場合には、ＮＭＯＳトランジスタ１２が導通した時に、再充電回路１３によりノードＮ４、Ｎ１が再充電される。そして時刻Ｖ１０、Ｖ１１の間でラッチ回路ＬＡＴＣＨ１のノードＮ１に“Ｈ”レベルが取り込まれる。ベリファイ読み出し直前の書きこみパルス印加動作で“０”書き込みであった場合には、ＮＭＯＳトランジスタ１２が導通しても、再充電回路１３がオフする（即ち電位を供給しない）ために、時刻Ｖ７までにノードＮ４、Ｎ１に取り込んだ電位がラッチＬＡＴＣＨ１に取り込まれる。
【００４０】
次に、書き込みシーケンス終了後のステップＳ６，Ｓ７での誤書き込みベリファイ読み出しの動作を、図１０を用いて説明する。図１０は、図９に示した書き込みシーケンスに続くものである。前述のように書き込みパルス印加動作と書き込みベリファイ読み出しの繰り返しにより、ページバッファ１１０のラッチＬＡＴＣＨ１のデータ（ノードＮ１側）が全て“Ｈ”になれば、書き込み終了である。この後、キャッシュ１２０の各ラッチＬＡＴＣＨ２に保持されていた書き込みデータを、反転してページバッファ１１０のそれぞれ対応するラッチＬＡＴＣＨ１に転送する（図１０の状態Ａ２）。
【００４１】
このデータ反転転送は、図３において、キャッシュユニットＣＡＵのノードＮ５のデータを、ＮＭＯＳトランジスタ７と６を介してページバッファユニットＰＢＵのノードＮ２へ転送する動作である。これにより、ノードＮ５とノードＮ１のデータは反転する。続いて、ノードＮ１のデータを書き込みを行った選択ビット線に出力する（図１０の状態Ｂ２）。ここで、図１０の状態Ｂ２に示すように、ページバッファ１１０のラッチＬＡＴＣＨ１のノードＮ１のデータをビット線に出力することがビット線プリチャージとなる。ここで、“１”書きこみを行ったページバッファユニットでは、ノードＮ５が“１”，ノードＮ１が“０”となっているため、ビット線には０Ｖがプリチャージされる。“０”書きこみを行ったページバッファユニットでは、その逆となり、ビット線には“Ｈ”レベルのプリチャージが行われる。
【００４２】
ここで、チェックしたいのは、“１”状態のメモリセルに対して“１”書きこみを行ったメモリセルのしきい値が“０”状態のしきい値側に大きくシフトしていないかどうかということである。そこで、ＮＡＮＤセルブロックの共通ソース線ＣＥＬＳＲＣにＶｄｄを印加しておいて、後述する消去ベリファイ読み出しと同様に、負のしきい値によってビット線が所定のレベルまで充電されか否かを検出する。具体的には、選択ワード線には所定の読み出し電圧を印加し、それ以外の非選択ワード線には読み出し用の転送電圧（パス電圧）Ｖｒｅａｄを印加する。選択ゲート線にはＶｒｅａｄを印加する。もし、選択メモリセルのしきい値が“１”状態（負）のままであれば、メモリセルのソースフォロワの動作により、０Ｖにプリチャージされたビット線が充電されて、論理的に“Ｈ”（＝“１”）のデータが読み出される。このとき“０”書き込みセルに対応するビット線は、“Ｈ”（＝“１”）にプリチャージされたフローティングのままである（図１０の状態Ｃ２）。
【００４３】
このビット線の“Ｈ”データをページバッファ１１０でセンスしてそのラッチ回路ＬＡＴＣＨ１に取り込めば、ノードＮ１が“Ｈ”レベル（＝“１”）となる（図１０の状態Ｄ２）。もし、“１”を保持すべきメモリセルが誤書き込みされていれば、そのしきい値は正常な“１”データのそれより高い。この場合、ビット線に充電される電位が低くなり、ページバッファ１１０でセンスしてラッチすると、本来“Ｈ”であるべきところが“Ｌ”（＝“０”）となる。次に、ページバッファ１１０のラッチデータ（ノードＮ１のデータ）が全て“Ｈ”であるか否かを検出する（図１０の状態Ｅ２）。オール“Ｈ”が検出されれば、誤書き込みがないことになり、オール“Ｈ”でなければ、誤書きこみがあったことがわかる。
【００４４】
以上のように誤書き込みベリファイ読み出し動作は、メモリセルによるソースフォロア動作を利用して実施される。これは、消去ベリファイ読み出しと同様の動作になる。消去ベリファイ読み出しの動作タイミングを図１５に、これと同様の誤書き込みベリファイ読み出しの動作タイミングを図１６に示す。
【００４５】
まず、消去ベリファイ読み出しの動作を、図１５を参照して説明する。メモリセルのソースフォロワ動作を利用した消去ベリファイ読み出しでは、ビット線を０Ｖにプリチャージした後に、しきい値が負であるメモリセルを通してソース線からビット線を充電させる。図２０Ａには、その時のバイアス関係を示している。
【００４６】
まず、時刻Ｅ１からＥ３で、ページバッファ１１０のラッチ回路ＬＡＴＣＨ１のノードＮ２を０Ｖにリセットする。このとき、再充電回路１３が０Ｖを出力し、これをＮＭＯＳトランジスタ６と１２をオンにしてノードＮ２に転送することにより、Ｎ２＝０Ｖにセットされる。また、ＮＡＮＤセルブロックの共通ソース線ＣＥＬＳＲＣに、Ｖｄｄを印加する。
【００４７】
続いて、時刻Ｅ４からＥ５で、オンとなるＮＭＯＳトランジスタ９と６を介して、選択ビット線を０Ｖにプリチャージする。また、選択されたＮＡＮＤセルブロックの全ワード線に読み出し電圧Ｖｃｇｅｖを、選択ゲート線ＳＧＳに“Ｈ”レベル電圧（転送電圧）Ｖｒｅａｄを与えて、ＮＡＮＤセルユニットのチャネル内を充電しておく。ワード線電圧Ｖｃｇｅｖは、図４に示す消去時のしきい値上限値Ｖｅｖを保証するに必要な電圧（例えば、０Ｖ）とする。
【００４８】
時刻Ｅ５で、ビット線のプリチャージを止め、ＮＡＮＤセルブロックの選択ゲート線ＳＧＤを“Ｈ”レベル（転送電圧）Ｖｒｅａｄにする。これにより、メモリセルのしきい値Ｖｔｃｅｌｌが負であれば、ビット線には、Ｖｃｇｅｖ−Ｖｔｃｅｌｌが充電される。消去ベリファイでは、ＮＡＮＤセルユニット内の全てのメモリセルがベリファイの対象となっているので、直列に接続されたメモリセル全てが、所定の負のしきい値の範囲でなければ消去ベリファイでパスしない。
【００４９】
時刻Ｅ６からＥ８では、ノードＮ４、Ｎ１をＶｄｄにプリチャージし、時刻Ｅ９からＥ１０において、ＮＭＯＳトランジスタ９のゲートにセンス電圧Ｖｓｅｎｅｖを印加してビット線電位をセンスする。このとき、ビット線の電位がＶｓｅｎｅｖ−Ｖｔ以下であれば、ノードＮ４、Ｎ１の電位はビット線とほぼ同電位となり、その後の時刻Ｅ１１、Ｅ１２のデータ取り込みで、ラッチＬＡＴＣＨ１には“Ｌ”レベルのデータが取り込まれる。この場合、消去不十分であるフェイルとなる。一方、ビット線電位がＶｓｅｎｅｖ−Ｖｔより高ければ、ＮＭＯＳトランジスタ９はカットオフし、ノードＮ４、Ｎ１の電位はＶｄｄが保持されて、その後のラッチＬＡＴＣＨ１へのデータ取り込みでは、“Ｈ”レベルのデータが取り込まれる。この場合は、消去ベリファイはパスとなる。
【００５０】
図２０Ａに示した消去ベリファイ動作での、全メモリセルが消去されている場合のビット線充電の様子を具体的に説明する。選択ゲート線ＳＧＤ，ＳＧＳには、パス電圧Ｖｒｅａｄ＝４Ｖが印加され、全ワード線には、読み出し電圧Ｖｃｇｅｖが印加される。共通ソース線ＣＥＲＳＲＣに電圧Ｖｄｄが与えられたとき、選択ゲートトランジスタのしきい値電圧を２．０Ｖとすると、ワード線ＷＬ０により駆動されるメモリセルのソースに約２Ｖが転送され、ドレインには、Ｖｃｇｅｖ−Ｖｔｃｅｌｌ＋βが転送される。Ｖｔｃｅｌｌは、セルのしきい値（負）である。βは、ソース側電位が高いことにより、浮遊ゲートの電位が容量カップリングによって持ち上がる結果の電圧である。このβは、メモリセルの負のしきい値をより深く見せる効果となるが、これよりビット線側のセルでは、拡散層電位がＶｃｇｅｖ−Ｖｔｃｅｌｌ付近にクランプされるので小さくなり、ビット線ＢＬに転送される電圧は、Ｖｃｇｅｖ−Ｖｔｃｅｌｌ（約１Ｖ）となる。
【００５１】
次に、図１６を用いて誤書きこみベリファイ読み出しの動作を説明する。この誤書き込みベリファイにおいて、メモリセルによりソースフォロア動作させる時のバイアス関係を図２０Ｂに示している。
まず、時刻ＥＰ１以降の動作が始まる前に、先に述べたように、キャッシュ１２０のラッチ回路ＬＡＴＣＨ２から、ページバッファ１１０側のラッチ回路ＬＡＴＣＨ１にデータが反転転送されている。したがって、“１”状態のメモリセルに“１”書き込みを行ったページバッファユニットＰＢＵでは、ノードＮ１が“０”データ（すなわち、０Ｖ）となっている。時刻ＥＰ１からＥＰ２においては、ＮＭＯＳトランジスタ９のゲートにプリチャージ電圧Ｖｐｒｅ、ＮＭＯＳトランジスタ５のゲートにＶｄｄ＋αを与えて、ページバッファ１１０のラッチＬＡＴＣＨ１のデータに基づき選択ビット線を充電する。ノードＮ１が“０”データの時、ビット線は０Ｖ、Ｎ１が“１”データの時、ビット線には、Ｖｐｒｅ−Ｖｔ（Ｖｔは、ＮＭＯＳトランジスタ９のしきい値）がプリチャージされる。
【００５２】
またこの時、ＮＡＮＤセルブロックの共通ソース線ＣＥＬＳＲＣはＶｄｄに充電され、選択されたＮＡＮＤセルブロックにおいては選択ゲートＳＧＳが“Ｈ”レベルになることにより、ＮＡＮＤセルのチャネルまでＶｄｄに充電されている。また、選択ワード線には、誤書き込みベリファイ用の読み出し電圧Ｖｃｇｅｐｖが印加されている。ここで、ベリファイ読み出し電圧Ｖｃｇｅｐｖは、消去ベリファイ時のベリファイ読み出し電圧Ｖｃｇｅｖよりやや高い電圧にすることが望ましい。例えば、Ｖｃｇｅｖが０Ｖのとき、Ｖｃｇｅｐｖを０．５Ｖにする。
【００５３】
図４に示すように、“１”状態の分布を消去動作で作る場合に、消去ベリファイ動作で保証するメモリセルのしきい値の上限は、Ｖｅｖである。書き込み動作で“１”データのセルに誤書き込みストレスがかかった後には、このしきい値の上限Ｖｅｖより少なからず正側にシフトするしきい値変動が避けられない。このため、消去ベリファイ時と同じベリファイ条件で、誤書きこみチェックを行うとフェイルが多発してしまう。よって、誤書きこみベリファイ時の選択ワード線には、消去しきい値分布の上限値Ｖｅｖの許容される変動の上限値であるしきい値Ｖｅｐｖを保証するに必要な読み出し電圧Ｖｃｇｅｐｖを印加する。但し、しきい値Ｖｅｐｖは、通常読み出し時に選択ワード線に与えられる読み出し電圧Ｖｒｒ（即ち、通常の読み出しで“１”状態と“０”状態を区別するしきい値）よりは低いものとする。非選択ワード線には例えば転送電圧Ｖｒｅａｄとして例えば４Ｖを与える。
【００５４】
時刻ＥＰ２で、このプリチャージを停止するとともに、選択されたＮＡＮＤセルブロックの選択ゲート線ＳＧＤを“Ｈ”レベル（＝Ｖｒｅａｄ）にする。これにより、選択メモリセルのしきい値Ｖｔｃｅｌｌが負のままであれば、メモリセルにはソースからドレインに読み出し電流が流れ、ビット線はＶｃｇｅｐｖ−Ｖｔｃｅｌｌに充電される。もし、“１”状態のメモリセルのしきい値が誤書き込みにより正側にシフトしていると、ビット線に充電される電位が低くなる。
一例として、Ｖｅｖがおよそ−１Ｖに対して、Ｖｅｐｖをおよそ−０．５Ｖに定める。この場合、通常読み出し時の選択ワード線電圧Ｖｒｒに対して０．５Ｖの“１”状態読み出しマージンを確保する誤書きこみベリファイとなる。
【００５５】
時刻ＥＰ３からＥＰ５で、ＭＯＳトランジスタ５，１０をオンにして、ノードＮ４、Ｎ１をＶｄｄにプリチャージした後、時刻ＥＰ６からＥＰ７で、ＮＭＯＳトランジスタ９のゲートにセンス用電圧Ｖｓｅｎｅｖを印加する。この時、選択ビット線の電位がＶｓｅｎｅｖ−Ｖｔより高ければ、ＮＭＯＳトランジスタ９はカットオフのままであり、ノードＮ１、Ｎ４にはＶｄｄが保持される。この場合、後に“Ｈ”レベルがラッチＬＡＴＣＨ１にとりこまれて、誤書き込みベリファイのパス状態となる。一方、選択ビット線の電位がＶｓｅｎｅｖ−Ｖｔより低ければ、ＮＭＯＳトランジスタ９はオンするため、ノードＮ４、Ｎ１は放電されてほぼビット線の電位と等しくなる。これは、後に、“Ｌ”レベルがラッチＬＡＴＣＨ１のノードＮ１に取り込まれて、誤書き込みベリファイのフェイル状態となる。
【００５６】
また、“０”書き込みを行ったページバッファユニットＰＢＵにおいては、この誤書き込みベリファイでは、選択ビット線にＶｐｒｅ−Ｖｔをプリチャージした後、メモリセルからのビット線充電もなく、フローティングのままとなっている。なぜなら、“０”書き込みを行ったメモリセルのしきい値は、正の値となっており、Ｖｃｇｅｐｖのゲート電圧でオンしないからである。“０”書き込みのビットは、この誤書き込みベリファイではチェックの対象ではなく、必ずパスさせれる必要があるので、時刻ＥＰ８からＥＰ９でＮＭＯＳトランジスタ１２をオンさせて、再充電回路１３により、ノードＮ４、Ｎ１を強制的に“Ｈ”レベルにする。
【００５７】
再充電回路１３は、時刻ＥＰ３までのノードＮ１のデータが“Ｈ”ならば、このようにノードＮ４を再充電する。前述の“１”書き込みを行ったページバッファユニットＰＢＵにおいては、この再充電は行われない。
そして、時刻ＥＰ１０、ＥＰ１１の期間に、ノードＮ１の電位をラッチＬＡＴＣＨ１に取り込んだとき、全てのページバッファユニットＰＢＵにおいてノードＮ１の電位が“Ｈ”レベルであれば、全体の誤書きこみベリファイの結果がパスとなる。
【００５８】
以上のようにこの実施の形態では、書き込みデータがロードされた後、ベリファイ読み出し時に書き込みが十分なセル対応箇所をデータ反転させるようにしたページバッファ１１０とは別に、外部から供給された書き込みデータをそのまま保持しておくキャッシュ１２０を付加している。そして、このキャッシュ１２０の保持データと実際にメモリセルに書き込まれたデータを照合することによって、誤書き込みビットを検出する書き込みベリファイが可能になる。
【００５９】
図６の制御フローチャートでは、書き込みを行った後に、誤書き込みベリファイのみ実行して終わる。この図６の動作制御においては、誤書き込みベリファイを伴う実行コマンドによって、誤書きこみベリファイまでを自動で行う。したがって、書き込み動作が開始してから、誤書き込みベリファイが終了するまでの間は、チップがビジー状態であることを示すフラグを、ステータスレジスタ４００のレディ／ビジーレジスタ４０１が出力する。また、ステータスレジスタ４００はその他のステータス情報として、書きこみ動作のパス／フェイルのフラグを出力する書き込みステータスレジスタ４０２、誤書きこみベリファイのパス／フェイルのフラグを出力する誤書き込みステータスレジスタ４０３を有する。この様に書き込みのパス／フェイルの情報と、誤書き込みベリファイでのパス／フェイル情報を分離することにより、書き込み動作が正常に行われなかったのか、あるいは、書き込み動作は正常に行われたが誤書き込みの結果としてフェイルになったのかを判断することが可能になる。
【００６０】
［実施の形態２］
次に、上記実施の形態１での誤書き込みベリファイ動作に加えて、過書き込みベリファイ動作を行うようにした実施の形態を説明する。フラッシュメモリ構成は、実施の形態１と同様である。
【００６１】
図７がこの実施の形態での過書き込みベリファイを含む動作制御フローチャートである。ステップＳ１のデータロードから、ステップＳ７の誤書きこみベリファイまでは、実施の形態１と同様である。
誤書きこみベリファイを行った後に、ページバッファ１１０のデータをチェックし（ステップＳ８）、ノードＮ１の全てのデータが“Ｈ”ならば、誤書きこみベリファイ結果がパスであるので、次の過書き込みベリファイのステップＳ９に進む。もし、誤書きこみベリファイでフェイルしているビットがある場合には、ステップＳ８の判定結果で全体の書き込み動作を停止してよい。
【００６２】
過書き込みベリファイ動作でのデータ変化の様子を、図１１に示す。このベリファイ読み出しは、通常の読み出し動作と同様、全ての選択ビット線を、論理的に“１”と示されている所定電位にプリチャージし（図１１の状態Ａ３）、その後選択ワード線に、通常読み出し時のパス電圧Ｖｒｅａｄよりやや低い読み出し電圧Ｖｏｐｖを与えて読み出し動作を行う（図１１の状態Ｂ３）。この読み出し電圧Ｖｏｐｖは、過書き込みを許容する“０”データしきい値の上限値であり、図４に示すように、書き込み分布の予想上限値より高く、パス電圧Ｖｒｅａｄよりやや低い値が良い。ＶｏｐｖをＶｒｅａｄより低くするのは、“０”書き込み後のしきい値のＶｒｅａｄに対するマージンを確保するためである。
【００６３】
書き込み後に、メモリセルのしきい値が所定の分布幅以下に制御されていれば、読み出し電圧Ｖｏｐｖの印加によりメモリセルはオンしてドレインからソースに読み出し電流が流れ、ビット線は放電される。したがって、正常であれば、ビット線電位は“Ｌ”レベルになる。過書き込みベリファイ後のチェックは、ページバッファ１１０のラッチＬＡＴＣＨ１のノードＮ１が“Ｈ”であることによって判定される。このため、ビット線電位のセンスおよびラッチを、通常の読み出しの場合とは反対側のノードＮ２で行う（図１１の状態Ｃ３）。そして、ラッチＬＡＴＣＨ１のノードＮ１がオール“１”（＝“Ｈ”）であるか否かにより、過書き込みの有無を判定する（図１１の状態Ｄ３）。  オール“１”で過書き込みベリファイは、パスになる。
【００６４】
図１７は、上述した過書き込みベリファイ読み出し動作のタイミング図である。時刻ＯＰ１からＯＰ２では、ＮＭＯＳトランジスタ９とＮＭＯＳトランジスタ１０をオンにして、選択ビット線をＶｐｒｅ−Ｖｔにプリチャージする。選択ワード線、非選択ワード線及びドレイン側の選択ゲート線ＳＧＤには、時刻ＯＰ１で、読み出し時のパス電圧Ｖｒｅａｄよりやや低いベリファイ読み出し電圧Ｖｏｐｖを印加する。時刻ＯＰ２でビット線プリチャージを停止すると共に、選択ＮＡＮＤセルブロックのソース側の選択ゲート線ＳＧＳを“Ｈ”レベル＝Ｖｏｐｖにして、ＮＡＮＤセルユニットによるビット線放電を行わせる。
【００６５】
時刻ＯＰ３でページバッファ１１０側のラッチＬＡＴＣＨ１をオフにし、時刻ＯＰ４で信号ＢＬＣＯＰＶによりＮＭＯＳトランジスタ６をオンさせて、ノードＮ４、Ｎ２をＶｄｄにプリチャージする。そして、時刻ＯＰ６からＯＰ７で、ＮＭＯＳトランジスタ９のゲートにセンス用電圧Ｖｓｅｎを印加して、ビット線電位をセンスする。ビット線電位がＶｓｅｎ−Ｖｔ以下であれば、ＮＭＯＳトランジスタ９が導通するため、ノードＮ４、Ｎ２は、ビット線とほぼ同電位になる。ビット線電位がＶｓｅｎ−Ｖｔより高ければ、ＮＭＯＳトランジスタ９はオンしないので、ノードＮ４、Ｎ２はＶｄｄに近い値に保持される。時刻ＯＰ８、ＯＰ９で、ノードＮ２の電位をラッチＬＡＴＣＨ１に取り込む。
【００６６】
このようにして過書き込みベリファイを行った後、ページバッファ１１０側のラッチＬＡＴＣＨ１のデータ（ノードＮ１）をチェックする。これらの読み出しデータがオール“１”（＝“Ｈ”）であれば、書き込み時の選択セルでのオーバープログラムはなく、書き込まれた“０”データのしきい値は、通常読み出し時のパス電圧Ｖｒｅａｄでオンできるものであることが確認されたことになる。これにより過書き込みに対するベリファイはパスになる。“Ｌ”データがあれば、対応するメモリセルが過書き込み状態であることになり、フェイルとなる。
【００６７】
図１７では、選択ゲート線ＳＧＳ，ＳＧＤ、選択ワード線及び非選択ワード線にベリファイ読み出し電圧Ｖｏｐｖを印加したが、これは一例に過ぎない。例えば他の好ましい電圧印加条件として、選択ワード線にベリファイ読み出し電圧Ｖｏｐｖを印加し、非選択ワード線には通常読み出しに用いられるパス電圧Ｖｒｅａｄを、選択ゲート線ＳＧＳ，ＳＧＤにＶｒｅａｄと同じか又は他のパス電圧（転送電圧）を印加することができる。
【００６８】
図７の動作制御シーケンスは、誤書きこみベリファイと過書き込みベリファイを伴う書きこみ実行コマンドを入力することにより、制御回路３００によって自動で行われる。実行中にチップはビジー状態であることをステータスとして出力する。また、それぞれの状態がチェックできるように、書きこみ動作のパス／フェイル、誤書きこみベリファイのパス／フェイル、過書き込みベリファイのパス／フェイルをそれぞれ、ステータスレジスタ４００により出力する。
【００６９】
［実施の形態３］
図１８は、図１６と少し異なる誤書き込みベリファイのタイミング図である。図１６では、クランプ用ＮＭＯＳトランジスタ９のゲート電圧ＢＬＣＬＡＭＰは、ビット線プリチャージ時にＶｐｒｅ、ビット線センス時にＶｓｅｎｅｖ（＜Ｖｐｒｅ）としていた。Ｖｐｒｅは、図１３に示す通常のデータ読み出し時のプリチャージに適用する電圧と同じである。
【００７０】
誤書きこみベリファイで検証する必要のないメモリセル、即ちページバッファ１１０内のラッチＬＡＴＣＨ１のノードＮ１が“Ｈ”（＝“１”データ）の場合、ビット線へのプリチャージ電圧は、Ｖｐｒｅ−Ｖｔとなり、センス時には、ビット線電位がＶｓｅｎｅｖ−Ｖｔより高いか低いかが論理的な判定基準となる。図１６の動作波形では、Ｖｐｒｅ−Ｖｔ＜Ｖｓｅｎｅｖ−Ｖｔの場合に、ノードＮ４、Ｎ１に誤書き込みベリファイでフェイルとなる“Ｌ”レベルデータが取り込まれてしまうのを防ぐために、時刻ＥＰ８からＥＰ９で、再充電回路１３によってノードＮ４、Ｎ１への再充電を行っていた。
【００７１】
これに対して、図１８では、時刻ＥＰ１からＥＰ２のビット線プリチャージ時に、ＮＭＯＳトランジスタ９のゲート電圧ＢＬＣＬＡＭＰを、Ｖｐｒｅより高いＶｄｄ＋α（αは、しきい値電圧Ｖｔ相当）にする。これにより、ビット線にプリチャージされる“Ｈ”レベルの電位は、約Ｖｄｄとなる。この読み出し方式においては、ＮＡＮＤセルのソース線ＣＥＬＳＲＣもＶｄｄであるため、ビット線に充電されたＶｄｄレベルの充電電位は、ビット線電位のセンスが行われるまで、ほぼ一定に保たれる。よって、時刻ＥＰ６からＥＰ７のビット線センス時に、ＮＭＯＳトランジスタ９のゲートがＶｓｅｎｅｖ、ノードＮ４とビット線がＶｄｄとなり、ＮＭＯＳトランジスタ９はオンしない。したがって、誤書き込みベリファイでチェックする必要のないメモリセル対応のノードＮ４、Ｎ１電位はほぼＶｄｄとなり、誤書き込みベリファイでパスするデータ“Ｈ”が確実にラッチＬＡＴＣＨ１に取り込まれる。このため、時刻ＥＰ８からＥＰ９で、ノードＮ４、Ｎ１の再充電を行う必要がない。
【００７２】
［実施の形態４］
図１６、１８の誤書き込みベリファイでは、図２０Ｂに示したように、メモリセルによるソースフォロワ動作によって、ビット線にメモリセルの負のしきい値に相当する電圧を出力して読み出しを行っている。消去ベリファイでは、消去単位が複数のＮＡＮＤセルユニットの集まりであるセルブロック単位となるため、選択されたＮＡＮＤセルブロック内の全メモリセルがベリファイの対象となる。したがって、図２０Ａに示すように、全てのメモリセルのワード線に消去ベリファイ用の読み出し電圧Ｖｃｇｅｖが印加される。
【００７３】
一方、誤書き込みベリファイでは、ある選択ワード線に対して書き込みを行った後に、その選択ワード線のメモリセルに対してベリファイ読み出しを行う。図２０Ｂでは、ＷＬ１が選択ワード線であり、非選択ワード線ＷＬ０やＷＬ２には、読出し用転送（パス）電圧Ｖｒｅａｄ（例えば、４Ｖ）が印加される。したがって、消去ベリファイ時とは厳密にはＮＡＮＤセル内のバイアス条件が異なる。
【００７４】
具体的に図２０Ａ，Ｂに示すバイアス関係を比較する。消去ベリファイでは、ワード線ＷＬ０のソース線ＣＥＬＳＲＣ側には約２Ｖが転送され、ビット線ＢＬ側にはＶｃｇｅｖ−ｖｔｃｅｌｌ＋βが転送される。更に、ワード線ＷＬ１，ＷＬ２のビット線ＢＬ側にはＶｃｇｅｖ−Ｖｔｃｅｌｌが転送される。前述のように、βは、ワード線ＷＬ０の電圧が、セルのソースに転送された２Ｖからの容量カップリングにより持ち上がる昇圧分である。他のワード線ＷＬ１、ＷＬ２では、セルのソース側電位が低下するためこの様な容量カップリングの影響が小さくなり、それぞれのメモリセルがビット線側に転送する電圧は、およそＶｃｇｅｖ−Ｖｔｃｅｌｌとなる。
【００７５】
一方、誤書き込みベリファイでは、図２０Ｂに示すように、ワード線ＷＬ１が選択された場合、非選択ワード線ＷＬ０、ＷＬ２の電圧が十分高いため選択セルのソースに約２Ｖが転送され、そのドレインに現れる電圧は、Ｖｃｇｅｐｖ−ｖｔｃｅｌｌ＋βとなる。ワード線ＷＬ２にも高い電圧４Ｖが与えられているから、結局ビット線にはＶｃｇｅｐｖ−ｖｔｃｅｌｌ＋βが転送される。βの影響は、メモリセルの形状や、選択ゲートＳＧＳの電位、非選択ワード線の読み出し用パス電圧等で決まる。
【００７６】
したがって、図２０Ａ，Ｂを比較すると、図２０Ｂのビット線電圧の方が、注目するメモリセルのしきい値電圧が同じでも高くなる。これは、誤書き込みベリファイ時の方が、消去ベリファイ時より読み出し条件が甘くなることを意味する。つまり、“１”状態のしきい値が大きく正の方向にシフトしても誤書き込みベリファイでパスする傾向になる。
【００７７】
以上の点を考慮した誤書き込みベリファイの他のバイアス関係例を、図２０Ｂに対応させて、図２０Ｃに示す。共通ソース線ＣＥＬＳＲＣ側の選択ゲート線ＳＧＳに与える電圧を、パス電圧Ｖｒｅａｄ＝４Ｖよりやや低めのパス電圧、例えば２．５Ｖに設定する。これにより、選択ワード線ＷＬ１のメモリセルのソース側に転送される電圧が約１Ｖになったとすると、前述の浮遊ゲートとソース／ドレイン間の容量カップリングの影響が小さくなる。即ち、βより小さい電圧上昇分γを用いて、ビット線ＢＬに転送される電圧は、Ｖｃｇｅｐｖ−Ｖｔｃｅｌｌ＋γとなる。これにより、誤書き込み判定のしきい値を実質的により低く設定することができる。
【００７８】
選択ゲート線ＳＧＳの印加電圧を決める目安は、共通ソース線ＣＥＬＳＲＣから選択ゲートトランジスタのドレインに転送される電圧を、消去ベリファイ時のＮＡＮＤセルチャネル内の電圧（即ちビット線電圧）相当に抑えるようにすることである。好ましくは、この選択ゲート線ＳＧＳの転送電圧は、調整できる様にしておくことが好ましい。これにより、読み出し条件を最適化して、所望の誤書き込みを実現することができる。
【００７９】
［実施の形態５］
図１６，１８で説明した誤書き込みベリファイは、消去ベリファイと同様のメモリセルによるソースフォロワによる読出し方式であったが、ビット線側から共通ソース線側に読み出し電流を流す通常の読出し方式と同様のベリファイ読出し方式も可能である。この場合、動作制御フローは基本的に、図６と同様であるが、図６のステップＳ６でのデータ転送及びステップＳ７の誤書き込みベリファイ読み出しの動作条件が異なる。
【００８０】
この誤書き込みベリファイ動作のデータ変化の様子を、図１０に対応させて図１２に示し、動作タイミング図は、図１８に対応させて図１９に示す。実施の形態１と異なるのは、上述のように、書き込みパルス印加動作および書き込みベリファイのループが終了した後の、データ転送（ステップＳ６）と、誤書き込みベリファイ読出し動作（ステップＳ７）である。まず、データ転送では、書き込みデータが保持されているキャッシュ１２０のラッチＬＡＴＣＨ２から、ページバッファ１１０のラッチＬＡＴＣＨ１へ、データを反転することなくそのまま転送する（図１２の状態Ａ４）。即ち図３では、ノードＮ５のデータが、ノードＮ１に転送される。
【００８１】
続いて、全ての選択ビット線をラッチＬＡＴＣＨ１のデータによりプリチャージして（図１２の状態Ｂ４）、その後メモリセルによりビット線を放電させる（図１２の状態Ｃ４）。“１”書き込みを行ったメモリセルでは、そのデータが“１”状態のままであれば、ドレインからソースにセル電流が流れてビット線を放電する。一方“０”書き込みを行ったメモリセルでは、最初から、ビット線がラッチＬＡＴＣＨ１の“０”データに対応して０Ｖになっている。その後、ビット線の読み出しデータを反転してページバッファ１１０に取り込む（図１２の状態Ｄ４）。即ち、ビット線電位をラッチＬＡＴＣＨ１の反対側のノードＮ２でセンスして、ラッチＬＡＴＣＨ１に取り込む。そして、ページバッファ１１０のデータがオール“１”であるか否かを判定し、オール“１”であれば、誤書き込みベリファイはパスとなる（図１２の状態Ｅ４）。
【００８２】
具体的に図１９の動作タイミングを説明すると、時刻ＥＰ１からＥＰ２において、ラッチＬＡＴＣＨ１に取り込まれた元の書き込みデータにより、ビット線を選択的にプリチャージする。すなわち、“１”状態のメモリセルに“１”書き込みを行ったページバッファユニットでは、ビット線をＶｐｒｅ−Ｖｔにプリチャージする。これが誤書き込みベリファイの対象となる。“０”書き込みを行ったページバッファユニットにおいては、ビット線を０Ｖにプリチャージする。このとき、ビット線側選択ゲート線ＳＧＤ及び非選択ワード線にはパス電圧Ｖｒｅａｄを与え、選択ワード線には通常の読出し時と同じ、読み出し電圧Ｖｒｒを、ソース線側選択ゲート線ＳＧＳには０Ｖを与える。
【００８３】
時刻ＥＰ２で、ビット線プリチャージを停止すると共に、ＮＡＮＤセルブロックのソース線側選択ゲート線ＳＧＳを“Ｈ”レベル（＝Ｖｒｅａｄ）にして、メモリセルによるビット線の放電を行う。着目すべき“１”状態のメモリセルが“１”状態のままであれば、速やかにビット線が放電される。時刻ＥＰ３からＥＰ５では、ＢＬＰＲＥ＝Ｖｄｄ＋αを与えてトランジスタ１０をオンにするとともに、ＢＬＯＰＶ＝Ｖｄｄ＋αを与えてトランジスタ６をオンして、ノードＮ４とＮ２をＶｄｄにプリチャージする。時刻ＥＰ６からＥＰ７でＮＭＯＳトランジスタ９のゲート電圧ＢＬＣＬＡＭＰをＶｓｅｎにする。これにより、ビット線の電位がＶｓｅｎ−Ｖｔ以下であれば、ＮＭＯＳトランジスタ９がオンするので、ノードＮ４，Ｎ２は、ほぼビット線と同電位まで低下する。この場合が誤書き込み判定のパスとなる。一方、誤書き込みのメモリセルがありそのビット線の電位がＶｓｅｎ−Ｖｔより高ければ、ノードＮ４、Ｎ２はほぼＶｄｄを保持する。この場合はフェイルとなる。時刻ＥＰ１０、ＥＰ１１で、このデータをラッチＬＡＴＣＨ１に取り込む。
【００８４】
この読出し方式では、選択ワード線の読み出し電圧Ｖｒｒが、通常読出し時のそれと同じであり、たとえば０Ｖである。このように、通常読み出し時と同じＶｒｒ＝０Ｖを用いた誤書き込みベリファイ読み出しで負のしきい値Ｖｅｐｖを保証するには、図１９の時刻ＥＰ２からＥＰ６までのビット線放電時間Ｔｄｉｓを、より短縮すればよい。これにより、図４に示すように、通常読み出し電圧Ｖｒｒに対してマージンをもって、“１”データの誤書き込みによるしきい値変動の上限値である負のしきい値電圧Ｖｅｐｖを保証することができる。
【００８５】
誤書き込みベリファイの判定しきい値電圧Ｖｅｐｖがゼロ又は正に設定される場合には、ベリファイ読み出しはより簡単である。即ち通常読出し時の選択ワード線の読み出し電圧Ｖｒｒと、“１”データのしきい値変動の上限値Ｖｅｐｖとを、Ｖｒｒ＞Ｖｅｐｖ≧０Ｖの関係に設定した場合には、誤書き込みベリファイ時の読み出し電圧を、Ｖｒｒより低いＶｅｐｖ相当の値に設定してベリファイ読み出しを行えばよい。これによって、通常読み出し電圧Ｖｒｒに対してマージンをもって、“１”データの誤書き込みによるしきい値変動の上限値であるゼロ又は正の値Ｖｅｐｖを保証することができる。
【００８６】
［実施の形態６］
ここまでの実施の形態では、書き込みパルス印加動作、書き込みベリファイ動作に続いて、誤書き込みベリファイ動作や、過書き込みベリファイ動作を実行するケースについて記述したが、この発明はこの一連の動作制御に制限されることはない。例えば、書き込みデータを保持するラッチ回路（キャッシュ１２０側のラッチＬＡＴＣＨ２）に書き込みデータが保持されている間は、別のコマンドによって、誤書き込みベリファイのみ任意のタイミングで実行することが可能である。
【００８７】
また、誤書き込みベリファイ動作は、キャッシュ１２０のラッチＬＡＴＣＨ２に保持されたデータをもとに、実行される。従って、ラッチＬＡＴＣＨ２に外部入出力端子から所望のデータを入力して、コマンド起動により、誤書き込みベリファイのみを実行することも可能である。すなわち、書き込みサイクルとは独立に、誤書き込みベリファイを実施したいメモリセルのアドレスに合わせて外部からラッチＬＡＴＣＨ２に“１”データを入力し、そのアドレスのメモリセルに対して誤書き込みベリファイを実行することができる。
【００８８】
［実施の形態７］
図７に示したような、書き込み動作後に誤書き込みベリファイ動作、過書き込みベリファイ動作を続けて行う動作制御によって、オンチップのページコピー動作を実用的なものにすることができる。
具体的なページコピー動作のフローチャートを、図８に示す。まず、コピー元のページアドレス１のデータを読出す（ステップＳ１１）。この時、図１３で説明したようなタイミングで普通にデータを読出し、ページバッファ１１０のラッチＬＡＴＣＨ１に取り込む。次に、この読出しデータを書き込みデータに変換するため、キャッシュ１２０のラッチＬＡＴＣＨ２にデータを反転させて転送する（ステップＳ１２）。この反転データ転送は、図３において、ＮＭＯＳトランジスタ６，７を同時にオンさせて、ラッチＬＡＴＣＨ２のクロックトインバータを高インピーダンス（ＨｉＺ）状態にして、ラッチＬＡＴＣＨ１のノードＮ２のデータをラッチＬＡＴＣＨ２に転送、保持する。
【００８９】
このようにすると、次に書き込むデータがラッチＬＡＴＣＨ２に一旦保持されるため、実施の形態２と同様の状態となる。この後、ラッチＬＡＴＣＨ２に転送されたデータを更にページバッファ１１０のラッチＬＡＴＣＨ１に転送する（ステップＳ１３）。以下、書き込みパルス印加動作（ステップＳ１４）、べリファイ読み出し動作（ステップＳ１５）、ベリファイ判定動作（ステップＳ１６）等は、コピー先のページアドレス２を選択した状態で行う。その詳細は実施の形態２と同様なので説明を省略する。更にその後のデータ転送（ステップＳ１７）、誤書き込みベリファイ（ステップＳ１８）、ベリファイ判定（ステップＳ１９）、過書き込みベリファイ（ステップＳ２０）も、図７のステップＳ６−Ｓ９と同様である。
【００９０】
誤書き込みベリファイや過書き込みベリファイが終了した時点で、もしステータスフラグがフェイルを示しているならば、そのコピ−先のページアドレス２を外部コントローラ側で変更して、違うページアドレスに書き込めばよい。ＮＡＮＤ型フラッシュメモリでは、書き込み動作がページ単位であり、消去動作が複数のページ分のＮＡＮＤセルブロック単位となっている。あるブロックの複数のページを、異なるブロックの複数のページにコピーする場合においては、その中のあるページのコピー書き込みで誤書き込みベリファイや、過書き込みベリファイ結果がフェイルになる可能性がある。この場合には、フェイルが出たコピー先ブロックへの他のページのコピー動作も停止し、コピー先のブロックを変更して、また複数のページに対するコピー動作を行えばよい。
【００９１】
コピー書き込み動作でフェイルした場合、それが誤書き込みベリファイや過書き込みベリファイによるフェイルであるならば、それらは、それぞれのベリファイ読出しによるマージン不足によるものである。このことは、ステータスレジスタ４００からの出力により判断できる。この様なフェイルに対しては、もう一度消去を行って書き込みをすれば、コピー動作がパスとなる可能性がある。
一方、コピー書き込みの失敗が書き込みベリファイによるものである場合、すなわち、書き込みパルスを所定の最大回数繰り返し印加しても書き込めなかった場合には、セルアレイが致命的な欠陥を抱えている可能性がある。このため、そのコピー書き込みを試みた領域は、使用不可能領域として扱う必要がある。この場合の対応は、チップ外のコントローラで行うことになる。
【００９２】
【発明の効果】
以上述べたようにこの発明によれば、誤書き込み及び過書き込みの判定機能を備えた不揮発性半導体記憶装置を提供することができる。
【図面の簡単な説明】
【図１】この発明の実施の形態によるフラッシュメモリの構成を示すブロック図である。
【図２】同実施の形態のメモリセルアレイの構成を示す図である。
【図３】同実施の形態のページバッファ及びキャッシュ部の構成を示す図である。
【図４】メモリセルデータのしきい値分布を示す図である。
【図５】書き込み動作のワード線電圧変化を示す図である。
【図６】実施の形態による誤書き込みベリファイを含む書き込み動作制御フローを示す図である。
【図７】誤書き込みベリファイと過書き込みベリファイを含む書き込み動作制御フローを示す図である。
【図８】チップ内のページコピーの動作制御フローを示す図である。
【図９】書き込みシーケンスにおけるページバッファ及びキャッシュのデータとセルデータの変化を示す図である。
【図１０】書き込み後の誤書き込みベリファイのシーケンスにおけるページバッファ及びキャッシュのデータとセルデータの変化を示す図である。
【図１１】誤書き込みベリファイシーケンス後のオーバープログラムベリファイシーケンスにおけるページバッファ及びキャッシュのデータとセルデータの変化を示す図である。
【図１２】書き込み後の誤書き込みベリファイの他のシーケンスにおけるページバッファ及びキャッシュのデータとセルデータの変化を示す図である。
【図１３】通常読み出し動作のタイミング図である。
【図１４】書き込みベリファイ動作のタイミング図である。
【図１５】データ消去ベリファイ動作のタイミング図である。
【図１６】図６のシーケンスにおける誤書き込みベリファイ動作のタイミング図である。
【図１７】図７のシーケンスにおける過書き込みベリファイ動作のタイミング図である。
【図１８】他の誤書き込みベリファイ動作のタイミング図である。
【図１９】他の誤書き込みベリファイ動作のタイミング図である。
【図２０Ａ】消去ベリファイ時のセル電流によるビット線充電動作を説明するための図である。
【図２０Ｂ】誤書き込みベリファイ時のセル電流によるビット線充電動作を説明するための図である。
【図２０Ｃ】他の誤書き込みベリファイ時のセル電流によるビット線充電動作を説明するための図である。
【符号の説明】
１００…メモリセルアレイ、１１０…ページバッファ、１２０…キャッシュ、１３０…カラムデコーダ、１４０…ロウデコーダ、２００…Ｉ／Ｏバッファ、２１０…アドレスレジスタ、２２０…コマンドレジスタ、３００…コントローラ、４００…ステータスレジスタ。
【図１】
0003850791.tif 000002
【図２】
0003850791.tif 000003
【図３】
0003850791.tif 000004
【図４】
0003850791.tif 000005
【図５】
0003850791.tif 000006
【図６】
0003850791.tif 000007
【図７】
0003850791.tif 000008
【図８】
0003850791.tif 000009
【図９】
0003850791.tif 000010
【図１０】
0003850791.tif 000011
【図１１】
0003850791.tif 000012
【図１２】
0003850791.tif 000013
【図１３】
0003850791.tif 000014
【図１４】
0003850791.tif 000015
【図１５】
0003850791.tif 000016
【図１６】
0003850791.tif 000017
【図１７】
0003850791.tif 000018
【図１８】
0003850791.tif 000019
【図１９】
0003850791.tif 000020
【図２０Ａ】
0003850791.tif 000021
【図２０Ｂ】
0003850791.tif 000022
【図２０Ｃ】
0003850791.tif 000023