(57)【要約】【課題】  不揮発性のメモリセルトランジスタに多値書込みを行なう際に、ベリファイを適切に行なうことのできる不揮発性半導体記憶装置を提供する。【解決手段】  メモリアレイ２１のメモリセルは２ビットを記憶する。メモリアレイ用センスアンプ２０は、ベリファイ時に２ビットを出力する。ページバッファの各２ビットが対応するメモリセルへの書込み目標値を記憶する。マスクバッファの各ビットが対応するメモリセルへの処理を定めた値を記憶する。ライトドライバは、選択されたメモリセルに対応するマスクバッファ内のビットが「０」のときに書込みパルスを印加する。ベリファイ回路５４は、メモリアレイ用センスアンプ２０から出力される２ビットとページバッファ内の対応する２ビットとを比較し、比較結果が一致するときに、対応するマスクバッファ内のビットが「０」であれば「１」に書き換える。【選択図】        図１０
2005285253.tif 000002
【特許請求の範囲】
【請求項１】
各々が、閾値電圧に応じてＮビットの論理値を記憶する不揮発性のメモリセルトランジスタが複数個行列状に配置されたメモリアレイと、
下裾ベリファイ時には、下裾ベリファイ用の閾値電圧の区分に基づいて、選択されたメモリセルの閾値電圧の範囲を２分探索でＮ回調べることによって、Ｎビットの論理値を出力し、上裾ベリファイ時には、上裾ベリファイ用の閾値電圧の区分に基づいて、選択されたメモリセルの閾値電圧の範囲を２分探索でＮ回調べることによって、Ｎビットの論理値を出力するメモリアレイ用センスアンプと、
各Ｎビットが、対応するメモリセルへの書込み目標値を記憶する第１のバッファと、
各１ビットが、対応するメモリセルへの処理を定めた値を記憶する第２のバッファと、
前記選択されたメモリセルに対応する第２のバッファ内のビットが第１の値を示すときに、書込みパルスの印加を選択するライトドライバと、
前記メモリアレイ用センスアンプから出力されるＮビットの論理値と、前記第１のバッファ内の対応するＮビットの書込み目標値とを比較し、比較結果が一致するときにはベリファイ成功を示す信号を出力し、比較結果が不一致のときにはベリファイ失敗を示す信号を出力するベリファイ回路とを備え、
前記ベリファイ回路は、比較結果が一致すると判定した場合に、前記選択されたメモリセルに対応する前記第２のバッファ内のビットが第１の値を示すときに、前記ビットを第２の値に書き換える、不揮発性半導体記憶装置。
【請求項２】
前記ベリファイ回路は、上裾ベリファイ前に、前記書込み目標値がメモリセルの閾値電圧が最小の範囲に対応するメモリセルについては、対応する前記第２のバッファのビットに前記第２の値を転送し、
前記ベリファイ回路は、上裾ベリファイ時には、前記比較するＮビットの論理値に対応する前記第２のバッファのビットが第２の値のときには、前記比較結果が不一致のときにも、ベリファイ成功を示す信号を出力する、請求項１記載の不揮発性半導体記憶装置。
【請求項３】
下裾ベリファイの繰返し回数に応じて、書込みパルスの電圧を増加させる電圧制御回路をさらに備え、
前記ベリファイ回路は、選択された複数個のメモリセルのうち、前記メモリアレイ用センスアンプから出力されるＮビットの論理値が所定の閾値以下に対応し、かつ対応する第２のバッファのビットが第１の値であるようなメモリセルが存在しないか否かを調べ、
前記ベリファイ回路は、前記メモリセルが存在しないときには、選択された複数個のメモリセルのうち、前記第１のバッファのＮビットの論理値が最大の閾値の範囲に対応するメモリセルについては、対応する前記第２のバッファのビットに第１の値を転送し、前記第１のバッファのＮビットの論理値が前記最大の閾値の範囲に対応しないメモリセルについては、対応する前記第２のバッファのビットに第２の値を転送し、
前記電圧制御回路は、前記第２のバッファへの第１または第２の値の転送後の書込みパルスの電圧の増加幅を、前記第２のバッファへの第１または第２の値の転送前の書込みパルスの電圧の増加幅よりも大きくする、請求項１記載の不揮発性半導体記憶装置。
【請求項４】
前記第１のバッファと前記第２のバッファとは、バッファアレイを構成し、
前記バッファアレイと前記ベリファイ回路との間で、前記書込み目標値および前記処理を定めた値が転送され、
前記メモリアレイ用センスアンプは、前記メモリセルに記憶されているＮビットの論理値の各ビットをシリアルに読書き兼用バスを通じて前記ベリファイ回路に転送し、
前記ベリファイ回路は、前記読書き兼用バスを通じて、前記処理を定めた値を前記ライトドライバに転送する、請求項１記載の不揮発性半導体記憶装置。
【請求項５】
前記ベリファイ回路は、
前記バッファアレイと接続されるビット線対と、
前記ビット線対の一方のビット線のデータのレベルと、前記読書き兼用バスのデータのレベルとが一致するか否かを比較して、比較結果に応じたデータを前記ビット線対に出力する比較部と、
前記比較結果に応じたデータが出力された前記ビット線対のデータを増幅するセンスアンプ部と、
前記増幅された前記ビット線対のデータを受けて、前記ビット線対のデータのレベルに応じた論理値をラッチするラッチ部と、
前記ラッチ部でラッチされている論理値に基づき、ベリファイ結果を出力するベリファイ判定部と、
前記ラッチ部でラッチされた論理値に基づく値を前記ビット線対を介して前記バッファアレイに出力するドライバ部とを備え、
前記読書き兼用バスには、ベリファイ時に、前記メモリアレイ用センスアンプからメモリセルに記憶されているＮビットの論理値の各ビットがシリアルに入力され、
前記ビット線対の一方のビット線には、ベリファイ時に、前記バッファアレイ内の第１のバッファのＮビットの書込み目標値の各ビットがシリアルに入力され、
前記ベリファイ判定部は、前記Ｎビットの論理値のＮビット目および前記Ｎビットの書込み目標値のＮビット目について前記比較部での処理、前記センスアンプ部での処理、および前記ラッチ部での処理の後、前記ラッチ部でラッチされている論理値に基づき、ベリファイ結果を出力し、
前記ドライバ部は、ベリファイ時に、前記Ｎビット目についての前記処理の後、前記ラッチ部でラッチされたデータに基づく値を、前記ビット線対を介して前記バッファアレイ内の前記第２のバッファの対応するビットに出力する、請求項４記載の不揮発性半導体記憶装置。
【請求項６】
前記ベリファイ回路が、さらに、前記メモリアレイのメモリセルに記憶されているＮビットの論理値を前記第１のバッファの対応するＮビットに転送するときには、
前記読書き兼用バスには、前記メモリアレイ用センスアンプからメモリセルに記憶されているＮビットの論理値の各ビットがシリアルに入力され、
前記ビット線対の一方のビット線には、固定値が入力され、
前記ドライバ部は、前記Ｎビットの論理値のＮビット目について前記比較部での処理、前記センスアンプ部での処理、および前記ラッチ部での処理の後、前記ラッチ部でラッチされているデータに基づく値を、前記ビット線対を介して前記バッファアレイ内の前記第１のバッファの対応するビットに出力する、請求項５記載の不揮発性半導体記憶装置。
【請求項７】
前記ベリファイ回路は、さらに、前記第２のバッファに記憶されているビットを前記ライトドライバに転送するときには、
前記読書き兼用バスには、固定値が入力され、
前記ビット線対の一方のビット線には、前記バッファアレイを構成する第２のバッファの処理を示す値が入力され、
前記ドライバ部は、前記処理を示す値の前記比較部での処理、前記センスアンプ部での処理、および前記ラッチ部での処理の後、前記ラッチ部でラッチされているデータに基づく値を、前記読書き兼用バスを介して前記ライトドライバに出力する、請求項５記載の不揮発性半導体記憶装置。
【請求項８】
前記ベリファイ回路は、さらに、前記第１のバッファに記憶されているＮビットの書込み目標値と、前記メモリアレイのメモリセルに記憶されているＮビットの論理値に基づいて、新たなＮビットの書込み目標値を生成して、前記新たなＮビットの書込み目標値を前記第１のバッファに転送するときには、
前記読書き兼用バスには、前記メモリアレイ用センスアンプからメモリセルに記憶されているＮビットの論理値の各ビットがシリアルに入力され、
前記ビット線対の一方のビット線には、前記バッファアレイを構成する第１のバッファ内のＮビットの書込み目標値の各ビットがシリアルに入力され、
前記ドライバ部は、前記各ビットの前記比較部での処理、前記センスアンプ部での処理、および前記ラッチ部での処理の後、前記ラッチ部でラッチされているデータに基づく値を、前記ビット線対を介して前記第１のバッファの対応するビットに出力する、請求項５記載の不揮発性半導体記憶装置。
【請求項９】
前記ベリファイ回路は、前記第１のバッファ内のＮビットの書込み目標値が所定の論理値のときに、前記第２のバッファの対応するビットに所定の値を転送するときには、
前記読書き兼用バスには、固定値が入力され、
前記ビット線対の一方のビット線には、前記バッファアレイ内の第１のバッファのＮビットの書込み目標値の各ビットがシリアルに入力され、
前記ドライバ部は、前記Ｎビットの書込み目標値のＮビット目について前記比較部での処理、前記センスアンプ部での処理、および前記ラッチ部での処理の後、前記ラッチ部でラッチされているデータに基づく値を、前記ビット線対を介して前記バッファアレイを構成する前記第２のバッファの対応するビットに出力する、請求項５記載の不揮発性半導体記憶装置。
【請求項１０】
前記ベリファイ回路は、前記メモリアレイ用センスアンプから出力されるＮビットの論理値と、前記第２のバッファ内の対応するビットの処理を示す値との組合わせが所定の条件を満たすかを調べるときには、
前記読書き兼用バスには、前記メモリアレイ用センスアンプからメモリセルに記憶されているＮビットの論理値の各ビットがシリアルに入力され、
前記ビット線対の一方のビット線には、固定値が入力され、
前記Ｎビットの論理値のＮビット目について前記比較部での処理、前記センスアンプ部での処理、および前記ラッチ部での処理の後、
前記読書き兼用バスには、固定値が入力され、
前記ビット線対の一方のビット線には、前記バッファアレイ内の第２のバッファの処理を定めた値が入力され、
前記ベリファイ判定部は、前記処理を示す値について前記比較部での処理、前記センスアンプ部での処理、および前記ラッチ部での処理の後、前記ラッチ部でラッチされたデータに基づき、ベリファイ結果を出力する、請求項５記載の不揮発性半導体記憶装置。
【請求項１１】
レジスタの設定値に応じた周期の内部クロックを生成する内部クロック発生部と、
前記内部クロック発生部で生成された内部クロックに基づき、前記ベリファイ回路内の前記センスアンプ部のビット線対の増幅を制御する信号、前記ベリファイ回路内の前記ビット線対のプリチャージを制御する信号、前記ベリファイ回路内の前記ラッチ部の前記ビット線対のラッチを制御する信号、前記ベリファイ回路内の前記ドライブ部のラッチされたデータの前記第２のバッファへの出力を制御する信号を生成する制御回路とをさらに備えた請求項５記載の不揮発性半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性半導体記憶装置に関し、特に不揮発性半導体記憶装置の多値書込み技術に関する。
【背景技術】
【０００２】
近年、不揮発なデータ記憶が可能なフラッシュメモリなどの不揮発性半導体記憶装置が主流となってきている。フラッシュメモリなどの不揮発性半導体記憶装置の書込みが正常に行なわれたか否かを確かめるために、ベリファイ動作が行なわれる。
【０００３】
たとえば、特許文献１では、以下のようなベリファイ動作が記載されている。すなわち、１本のビット線に対応して、１個のページバッファＰ／Ｂが接続される。各ページバッファＰ／Ｂは、選択されたメモリセルに対するプログラムデータをラッチする。複数個のページバッファＰ／Ｂは、カラムゲートを経由して、読出し／書込み回路内のセンスアンプＳ／Ａ・０に接続される。ベリファイリードでは、選択されたカラムのリードデータの検出を、通常データリードのためのセンスアンプを用いて行なう。センスアンプＳ／Ａ・０により検出されたリードデータ、即ち、ベリファイリード結果は、選択されたカラムのページバッファＰ／Ｂに転送される。ページバッファＰ／Ｂ内のプログラムデータは、このベリファイリード結果に基づいて書き換えられる。
【特許文献１】特開２００１−３１２９８０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、１個のメモリセルトランジスタに多値を書込み場合には、メモリセルの閾値が所望の範囲にあるかどうかを確かめるために、下裾ベリファイと上裾ベリファイの２回のベリファイが必要なところ、ページバッファ内のプログラムデータが、１回のベリファイリード結果により書き換えられるため、２回目のベリファイを行なうことができない。
【０００５】
それゆえに、本発明は、不揮発性のメモリセルトランジスタに多値書込みを行なう際に、ベリファイを適切に行なうことのできる不揮発性半導体記憶装置を提供することである。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明のある局面に係る不揮発性半導体記憶装置は、各々が、閾値電圧に応じてＮビットの論理値を記憶する不揮発性のメモリセルトランジスタが複数個行列状に配置されたメモリアレイと、下裾ベリファイ時には、下裾ベリファイ用の閾値電圧の区分に基づいて、選択されたメモリセルの閾値電圧の範囲を２分探索でＮ回調べることによって、Ｎビットの論理値を出力し、上裾ベリファイ時には、上裾ベリファイ用の閾値電圧の区分に基づいて、選択されたメモリセルの閾値電圧の範囲を２分探索でＮ回調べることによって、Ｎビットの論理値を出力するメモリアレイ用センスアンプと、各Ｎビットが、対応するメモリセルへの書込み目標値を記憶する第１のバッファと、各１ビットが、対応するメモリセルへの処理を定めた値を記憶する第２のバッファと、選択されたメモリセルに対応する第２のバッファ内のビットが第１の値を示すときに、書込みパルスの印加を選択するライトドライバと、メモリアレイ用センスアンプから出力されるＮビットの論理値と、第１のバッファ内の対応するＮビットの書込み目標値とを比較し、比較結果が一致するときにはベリファイ成功を示す信号を出力し、比較結果が不一致のときにはベリファイ失敗を示す信号を出力するベリファイ回路とを備え、ベリファイ回路は、比較結果が一致すると判定した場合に、選択されたメモリセルに対応する第２のバッファ内のビットが第１の値を示すときに、ビットを第２の値に書き換える。
【発明の効果】
【０００７】
本発明のある局面に係る不揮発性半導体記憶装置によれば、不揮発性のメモリセルトランジスタに多値書込みを行なう際に、ベリファイを適切に行なうことができる。
【発明を実施するための最良の形態】
【０００８】
以下、本発明の実施の形態について図面を用いて説明する。
【０００９】
［第１の実施形態］
本実施の形態は、マスクバッファとページバッファとを有する不揮発性半導体記憶装置に関する。
【００１０】
まず、本実施の形態に係る不揮発性半導体記憶装置の説明の前に、フラッシュメモリセルについて説明する。
【００１１】
フラッシュメモリセルは、フローティングゲート、コントロールゲート、ソースおよびドレインを有するトランジスタで構成される。コントロールゲートは、メモリセルを選択するためのワード線ＷＬと接続される。ソースおよびドレインは、ソース線ＳＬおよびビット線ＢＬとそれぞれ接続する。
【００１２】
フラッシュメモリセルへのデータの書込みは、書込みパルスを印加することにより、チャネルホットエレクトン（ＣＨＥ）を利用してフローティングゲートに電子を注入させて、閾値電圧を上昇させることによって行なわれる。
【００１３】
フラッシュメモリセルからのデータの読出しは、予めビット線をプリチャージしておき、コントロールゲートと結合されたワード線に一定電圧を与えてある所定時間メモリディスチャージを行なって、それからビット線に流れる電流の大きさを検出することによって実行される。
【００１４】
（メモリセルがＳＬＣであるフラッシュメモリ）
図１は、ＳＬＣ(Single Level Cell)のフラッシュメモリセルの閾値電圧Ｖｔｈの分布を示す。同図において、横軸は度数（メモリセルの数）を示す。同図に示すように、メモリセルごとに閾値電圧はばらつく。したがって、このようなばらつきを考慮して、それぞれのメモリセルが有する閾値電圧に対して論理値が対応づけられる。つまり、閾値電圧が"０"下裾以上の範囲に属するメモリセルは論理値「０」に対応させられ、閾値電圧が"１"下裾以上、かつ"１"上裾以下の範囲に属するメモリセルは、論理値「１」を対応させられる。したがって、メモリセルには、閾値電圧に応じて「０」または「１」の２値データが記憶されることになる。
【００１５】
（メモリセルがＳＬＣであるフラッシュメモリの書込みシーケンス）
図２は、メモリセルがＳＬＣであるフラッシュメモリの書込みシーケンスを示すフローチャートである。
【００１６】
ステップＳ１０１において、所定の電圧の所定のパルス幅の書込みパルスがメモリセルトランジスタのゲートに印加される。
【００１７】
ステップＳ１０２において、メモリセルの閾値電圧Ｖｔｈの下裾ベリファイが行なわれる。すなわち、メモリセルの閾値電圧Ｖｔｈが"０"下裾レベル（＝Ｖ_０Ｌ)以上かどうかが判定される。具体的には、ベリファイ用ゲート電圧をメモリセルに与えて、そのときメモリセルに流れる電流値Ｉｍが、"０"下裾レベルにおいて流れる電流値Ｉｓ以下のときに、閾値電圧Ｖｔｈが"０"下裾レベル以上であり、電流値Ｉｍが電流値Ｉｓを越えるときに、閾値電圧Ｖｔｈが"０"下裾レベル未満と判定される。
【００１８】
ステップＳ１０１とステップＳ１０２とが繰返されることによって、書込みパルスの印加回数が増え、メモリセルの閾値電圧Ｖｔｈが増加する。そして、増加した閾値電圧Ｖｔｈに対して下裾ベリファイが行なわれる。
【００１９】
そして、ステップＳ１０２において、閾値電圧Ｖｔｈが、"０"下裾レベル（Ｖ_０Ｌ）以上となったときには、そのメモリセルへの書込みが終了する。
【００２０】
（メモリセルがＳＬＣであるフラッシュメモリのページバッファ）
図３は、メモリセルがＳＬＣであるフラッシュメモリの書込みシーケンスにおける、ページバッファ内の選択されたメモリセルに対応するビットの格納値の推移を示す図である。
【００２１】
同図に示すように、ページバッファの各ビットは、対応するメモリセルに書込みパルスを印加するか否かを定めるパルス印加指示値を格納する。パルス印加指示値が「０」のときには書込みパルスが印加され、パルス印加指示値が「１」のときには書込みパルスが印加されない。
【００２２】
ページバッファの各ビットのパルス印加指示値の初期値は、外部から与えられる。パルス印加指示値が「０」であるメモリセルには書込みパルスが印加されて、メモリセルの閾値Ｖｔｈが上昇する。あるメモリセルの閾値Ｖｔｈが"０"下裾レベル（Ｖ_０Ｌ）以上となったとき、そのメモリセルへの書込みが終了し、ページバッファ内のそのメモリセルに対応するビットのパルス印加指示値が「１」に書き換えられる。
【００２３】
最終的にページバッファ内のすべてのビットのパルス印加指示値が「１」となったときに、フラッシュメモリへの書込みが終了する。
【００２４】
（第１の実施形態の不揮発性半導体記憶装置）
図４は、第１の実施形態に係るメモリセルがＭＬＣである不揮発性半導体記憶装置１００の構成を示すブロック図である。同図を参照して、この不揮発性半導体記憶装置１００は、メモリアレイ２１と、ライトドライバ＆３２ビットｔｏ６４ビット変換回路１９と、メモリアレイ用センスアンプ２０と、ページバッファ＆周辺回路群２４と、マスクバッファ＆周辺回路群２５と、ベリファイ回路１７と、ページバッファ／マスクバッファ用制御回路１８と、ＣＰＵ２６と、ＣＵＩ２７と、ＯＳＣ２８とを備える。
【００２５】
ＯＳＣ２８は、内部クロック信号ＩＣＬＫを生成する。
【００２６】
ＣＰＵ２６は、ＯＳＣ２８からの内部クロック信号ＩＣＬＫを受けて、不揮発性半導体記憶装置の全体制御を行なう。
【００２７】
ＣＵＩ２７は、外部から与えられるデータ信号を受け、内部の各構成要素に分配する。
【００２８】
メモリアレイ２１は、行列状に配置された複数個のフラッシュメモリ用のメモリセルトランジスタを含む。各メモリセルトランジスタは、ＭＬＣ(Multi Level Cell)である。
【００２９】
図５は、ＭＬＣのメモリセルの閾値電圧Ｖｔｈの分布を示す。同図において、横軸は度数（メモリセルの数）を示す。同図に示すように、メモリセルごとに閾値電圧はばらつく。したがって、このようなばらつきを考慮して、それぞれのメモリセルが有する閾値電圧に対して論理値が対応づけられる。つまり、閾値電圧Ｖｔｈが"１１"下裾（Ｖ_１１Ｌ）以上、かつ"１１"上裾（Ｖ_１１Ｈ）以下の範囲に属するメモリセルは論理値「１１」に対応させられ、閾値電圧Ｖｔｈが"１０"下裾（Ｖ_１０Ｌ）以上、かつ"１０"上裾（Ｖ_１０Ｈ）以下の範囲に属するメモリセルは論理値「１０」に対応させられ、閾値電圧Ｖｔｈが"０１"下裾（Ｖ_０１Ｌ）以上、かつ"０１"上裾（Ｖ_０１Ｈ）以下の範囲に属するメモリセルは論理値「０１」に対応させられ、閾値電圧Ｖｔｈが"００"下裾（Ｖ_００Ｌ）以上の範囲に属するメモリセルは論理値「００」に対応させられる。したがって、メモリセルには、閾値電圧Ｖｔｈに応じて「１１」、「１０」、「０１」または「００」の４値データが記憶されることになる。
【００３０】
メモリアレイ２１のメモリセルは、図示しないアドレスデコーダによって、３２個の列が選択される。
【００３１】
メモリアレイ用センスアンプ２０は、選択された３２個のメモリセルの閾値を調べて、第１センスデータおよび第２センスデータをシリアルに出力する。下裾ベリファイ時には、下裾ベリファイ用の閾値電圧の区分に基づいて、選択された３２個のメモリセルのそれぞれの閾値電圧の範囲を２分探索で２回調べることによって、２ビットの論理値（第１センスデータおよび第２センスデータ）を出力し、上裾ベリファイ時には、上裾ベリファイ用の閾値電圧の区分に基づいて、選択された３２個のメモリセルのそれぞれの閾値電圧の範囲を２分探索で２回調べることによって、２ビットの論理値（第１センスデータおよび第２センスデータ）をシリアルに出力する。
【００３２】
ページバッファ＆周辺回路群２４は、ページバッファアレイ１１と、Ｙゲート２２と、ページバッファ用センスアンプ＆ライトドライバ１３と、６４ビットｔｏ３２ビット変換回路１５とを備える。
【００３３】
ページバッファアレイ１１は、各セルが２値（０または１）を保持するＳＲＡＭ(Static Random Access Memory)で構成されている。ページバッファアレイ１１の各セルは、対応するメモリアレイ２１のメモリセルの上位ビットの書込み目標値または下位ビットの書込み目標値を保持する。
【００３４】
Ｙゲート２２は、メモリアレイ２１の選択された３２個のメモリセルに対応するページバッファアレイ１１の６４個のセルとページバッファ用センスアンプ＆ライトドライバ１３とを接続する。
【００３５】
ページバッファ用センスアンプ＆ライトドライバ１３は、ページバッファアレイ１１の６４個のセルからＹゲート２２を介して出力された６４ビットのデータを増幅して、６４ビットｔｏ３２ビット変換回路１５に送る。また、ページバッファ用センスアンプ＆ライトドライバ１３は、６４ビットｔｏ３２ビット変換回路１５から出力された６４ビットのデータをＹゲート２２を介してページバッファアレイ１１の６４個のセルに書込む。
【００３６】
６４ビットｔｏ３２ビット変換回路１５は、ページバッファ用センスアンプ＆ライトドライバ１３から出力された６４ビットのデータを３２ビットずつ２回に分けてベリファイ回路１７に出力する。また、６４ビットｔｏ３２ビット変換回路１５は、ベリファイ回路１７から１回につき３２ビットのデータを受け、２回受けるごとに６４ビットのデータにしてベージバッファ用センスアンプ＆ライトドライバ１３に出力する。
【００３７】
マスクバッファ＆周辺回路群２５は、マスクバッファアレイ１２と、Ｙゲート２３と、マスクバッファ用センスアンプ＆ライトドライバ１４と、３２ビットｔｏ１６ビット変換回路１６とを備える。
【００３８】
マスクバッファアレイ１２の各セルは、各セルが２値（０または１）を保持するＳＲＡＭで構成されている。マスクバッファアレイ１２の各セルは、対応するメモリセルに対するパルス印加指示値を保持する。
【００３９】
Ｙゲート２３は、メモリアレイ２１の選択された３２個のメモリセルに対応するマスクバッファアレイ１１の３２個のセルとマスクバッファ用センスアンプ＆ライトドライバ１４とを接続する
マスクバッファ用センスアンプ＆ライトドライバ１４は、マスクバッファアレイ１２の３２個のセルからＹゲート２３を介して出力された３２ビットのデータを増幅して、３２ビットｔｏ１６ビット変換回路１６に送る。また、マスクバッファ用センスアンプ＆ライトドライバ１４は、３２ビットｔｏ１６ビット変換回路１６から出力された３２ビットのデータをＹゲート２３を介してマスクバッファアレイ１２の３２個のセルに書込む。
【００４０】
３２ビットｔｏ１６ビット変換回路１６は、マスクバッファ用センスアンプ＆ライトドライバ１４から出力された３２ビットのデータを１６ビットずつ２回に分けてベリファイ回路１７に出力する。また、３２ビットｔｏ１６ビット変換回路１６は、ベリファイ回路１７から１回につき１６ビットのデータを受け、２回受けるごとに３２ビットのデータにしてマスクバッファ用センスアンプ＆ライトドライバ１４に出力する。
【００４１】
ライトドライバ＆３２ビットｔｏ６４ビット変換回路１９の３２ビットｔｏ６４ビット変換回路部は、マスクバッファセンスアンプ１４から３２ビットのデータを２回受けるごとに、６４ビットのデータにしてライトドライバ部に送る。このように３２ビットのデータを６４ビットのデータに変換したのは、メモリアレイ２１への書込み時には、２回分の読出しの対象である６４個のメモリセルを選択するものとして、書込みの高速化を図るためである。ライトドライバ＆３２ビットｔｏ６４ビット変換回路１９のライトドライバ部は、パルス印加指示値を示す各ビットのデータが「０」のときに、メモリアレイ２１の選択されたメモリセルに対して、図示しない電圧制御回路で生成される書込みパルスを印加させる。
【００４２】
ページバッファ／マスクバッファ用制御回路１８は、ベリファイ回路１７を制御する。
【００４３】
ベリファイ回路１７は、下裾ベリファイと上裾ベリファイに加えて、ダミーベリファイを行なう。
【００４４】
ダミーベリファイとは、メモリアレイ２１のメモリセルに記憶されている論理値と、外部からページバッファアレイに与えられた書込み目標値とから、新たな書込み目標値を生成して、新たな書込み目標値をページバッファアレイに転送することをいう。
【００４５】
図６は、ダミーベリファイによって、メモリセルに記憶されている論理値および外部から与えられた書込み目標値から生成される新たな書込み目標値を示す。同図に示すように、新たな書込み目標値は、メモリセルに記憶されている論理値と、外部から与えられた書込み目標値との論理積である。このように論理積（ＡＮＤ論理）を採用するのは、以下の理由による。
【００４６】
まず、メモリセルに記憶されている論理値が「０」で、外部から与えられた書込み目標値が「０」のときには、メモリセルの論理値は現状のまま変更する必要がないので、新たな書込み目標値は、外部から与えられた書込み目標値「０」で問題ない。
【００４７】
また、メモリセルに記憶されている論理値が「１」で、外部から与えられた書込み目標値が「１」のときには、メモリセルの論理値は現状のまま変更する必要がないので、新たな書込み目標値は、外部から与えられた書込み目標値「１」で問題ない。
【００４８】
一方、メモリセルに記憶されている論理値が「１」で、外部から与えられた書込み目標値が「０」のときには、書込みパルスの印加によりメモリセルの閾値を上げることができ、メモリセルの論理値を「１」から「０」に変更することができる。したがって、新たな書込み目標値は外部から与えられた書込み目標値「０」とする。
【００４９】
他方、メモリセルに記憶されている論理値が「０」で、外部から与えられた書込み目標値が「１」のときには、書込みパルスの印加ではメモリセルの閾値を下げることができないので、メモリセルの論理値を「０」から「１」に変更できない。したがって、新たな書込み目標値はメモリセルに現状記憶されている論理値「０」とする。
【００５０】
図７は、ベリファイ回路１７の詳細な構成を示す。同図を参照して、このベリファイ回路１７は、ラッチ部３１と、ＥＸＮＯＲ部３２と、目標セルデータ生成部３３と、２ビット比較部３４と、ベリファイ判定部３５とを備える。
【００５１】
ラッチ部３１は、メモリアレイ用センスアンプ２０から送られる３２ビットの第１センスデータ、メモリアレイ用センスアンプ２０から送られる３２ビットの第２センスデータ、ページバッファアレイ１１から送られる３２ビットの上位ビットの書込み目標値、ページバッファアレイ１１から送られる３２ビットの下位ビットの書込み目標値、マスクバッファアレイ１２から送られる３２ビットのパルス印加指示値をラッチする。
【００５２】
ＥＸＮＯＲ部３２は、３２ビットのうちの各ビットについて、ラッチ部３１から出力される第１センスデータと、ラッチ部３１から出力される上位ビットの書込み目標値とが一致すれば、第１ビット目に「１」を出力し、不一致ならば、第１ビット目に「０」を出力する。また、ＥＸＮＯＲ部３２は、３２ビットのうちの各ビットについて、ラッチ部３１から出力される第２センスデータと、ラッチ部３１から出力される下位ビットの書込み目標値とが一致すれば、第２ビット目に「１」を出力し、不一致ならば、第２ビット目に「０」を出力する。
【００５３】
２ビット比較部３４は、３２ビットのうちの各ビットについて、第１センスデータと上位ビットの書込み目標値とが一致し、かつ第２センスデータと下位ビットの書込み目標値とが一致するとき、またはパルス印加指示値が「１」のときに、「１」を出力する。この出力は、セレクタＳ２によって、１５ビットずつ２回に分けてマスクバッファアレイ１２の対応するビットに送られる。
【００５４】
ベリファイ判定部３５は、２ビット比較部３４が出力する３２ビットのデータがいずれも「１」のときのみ、ベリファイのＰＡＳＳを示すベリファイ判定信号Ｄ１ＨＶＰＡＳＳを出力する。
【００５５】
目標セルデータ生成部３３は、３２ビットのうちの各ビットについて、ラッチ部３１から出力される第１センスデータと、ラッチ部３１から出力される上位ビットの書込み目標値との論理積を算出する。この論理積は、ページバッファアレイ１１の対応するビットに送られる。また、目標セルデータ生成部３３は、３２ビットのうちの各ビットについて、ラッチ部３１から出力される第２センスデータと、ラッチ部３１から出力される下位ビットの書込み目標値との論理積を算出する。この論理積は、ページバッファアレイ１１の対応するビットに送られる。
【００５６】
（書込みシーケンス）
次に、本実施の形態に係る不揮発性半導体記憶装置の書込みシーケンスを説明する。図８は、第１の実施形態における書込みシーケンスを示すフローチャートである。
【００５７】
同図を参照して、ステップＳ２０１において、マスクバッファアレイ１２の選択された３２個のメモリセルに対応する３２ビットのパルス印加指示値がＹゲート２３、マスクバッファ用センスアンプ部１４および書込みデータバスＷＤＡＴＡを介して、ライトドライバ＆３２ビットｔｏ６４ビット変換回路１９に送られる。ライトドライバ＆３２ビットｔｏ６４ビット変換回路１９のライトドライバ部は、パルス印加指示値が「０」のビットに対応するメモリセルに図示しない電圧制御回路で生成される書込みパルスを印加させる。
【００５８】
ステップＳ２０２において、選択された３２個のメモリセルの閾値電圧Ｖｔｈの下裾ベリファイが以下のようにして行なわれる。
【００５９】
まず、閾値電圧Ｖｔｈが"０１"下裾レベル（＝Ｖ_０１Ｌ）以上かどうかが判定される。具体的には、メモリアレイ用センスアンプ２０は、ベリファイ電圧（＝α）を各メモリセルに与えたときに流れる電流量Ｉｍを検出する。メモリアレイ用センスアンプ２０は、検出した電流量Ｉｍが、閾値電圧Ｖｔｈが"０１"下裾レベル（＝Ｖ_０１Ｌ）のときに流れる電流値Ｉｓ（＝Ｉ_０１Ｌ）以下かどうかを判定する。メモリアレイ用センスアンプ２０は、電流Ｉｍが電流Ｉｓ以下のときには「０」を、電流Ｉｍが電流Ｉｓを越えるときには「１」を第１センスデータとして読出しデータバスＲＤＡＴＡを通じてベリファイ回路１７に出力する。
【００６０】
電流Ｉｍが電流Ｉｓ以下のときには、さらに、閾値電圧Ｖｔｈが"００"下裾レベル（＝Ｖ_００Ｌ）以上かどうかが判定される。具体的には、メモリアレイ用センスアンプ２０は、ベリファイ電圧（＝α）をメモリセルに与えたときに流れる電流量Ｉｍを検出する。メモリアレイ用センスアンプ２０は、検出した電流量Ｉｍが、閾値電圧Ｖｔｈが"００"下裾レベル（＝Ｖ_００Ｌ）のときに流れる電流値Ｉｓ（＝Ｉ_００Ｌ）以下かどうかを判定する。メモリアレイ用センスアンプ２０は、電流Ｉｍが電流Ｉｓ以下のときには「０」を、電流Ｉｍが電流Ｉｓを越えるときには「１」を第２センスデータとして読出しデータバスＲＤＡＴＡを通じてベリファイ回路１７に出力する。
【００６１】
一方、電流Ｉｍが電流Ｉｓを越えるときには、閾値電圧Ｖｔｈが"１０"下裾レベル（＝Ｖ_１０Ｌ）以上かどうかが判定される。具体的には、メモリアレイ用センスアンプ２０は、ベリファイ電圧（＝α）をメモリセルに与えたときに流れる電流量Ｉｍを検出する。メモリアレイ用センスアンプ２０は、検出した電流量Ｉｍが、閾値電圧Ｖｔｈが"１０"下裾レベル（＝Ｖ_１０Ｌ）のときに流れる電流値Ｉｓ（＝Ｉ_１０Ｌ）以下かどうかを判定する。メモリアレイ用センスアンプ２０は、電流Ｉｍが電流Ｉｓ以下のときには「０」を、電流Ｉｍが電流Ｉｓを越えるときには「１」を第２センスデータとして読出しデータバスＲＤＡＴＡを通じてベリファイ回路１７に出力する。
【００６２】
一方、ページバッファアレイ１１に保持している選択された３２個のメモリセルの上位および下位ビットの書込み目標値が、Ｙゲート２２、およびページバッファ用センスアンプ１３を介して６４ビットｔｏ３２ビット変換回路１５に送られる。
【００６３】
６４ビットｔｏ３２ビット変換回路１５は、まず３２ビット分の上位ビットの書込み目標値をベリファイ回路１７に送る。ベリファイ回路１７は、各ビットごとに、第１センスデータと上位ビットの書込み目標値とが一致するか否かを調べる。次に、６４ビットｔｏ３２ビット変換回路１５は、３２ビット分の下位ビットの書込み目標値をベリファイ回路１７に送る。ベリファイ回路１７は、各ビットごとに、第２センスデータと下位ビットの書込み目標値とが一致するか否かを調べる。
【００６４】
ベリファイ回路１７は、第１センスデータと上位ビットの書込み目標値とが一致し、かつ第２センスデータと下位ビットの書込み目標値とが一致するようなビットについては、マスクバッファアレイ１２内の対応するビットを「１」とする。
【００６５】
ベリファイ回路１７は、３２ビットすべてについて、第１センスデータと上位ビットの書込み目標値とが一致し、かつ第２センスデータと下位ビットの書込み目標値とが一致したときには、下裾ベリファイのＰＡＳＳ（成功）を示すベリファイ判定信号Ｄ１ＨＶＰＡＳＳをＣＰＵ２６に送り、ＣＰＵ２６は、ステップＳ２０３に処理を移す。一方、ベリファイ回路１７は、３２ビットすべてについては、不一致のときには、下裾ベリファイのＦＡＩＬ（失敗）を示すベリファイ判定信号Ｄ１ＨＶＰＡＳＳをＣＰＵ２６に送り、ＣＰＵ２６は、ステップＳ２０１およびＳ２０２を繰返す。
【００６６】
ステップＳ２０３において、選択された３２個のメモリセルの閾値電圧Ｖｔｈの上裾ベリファイが以下のようにして行なわれる。
【００６７】
まず、閾値電圧Ｖｔｈが"１０"上裾レベル（＝Ｖ_１０Ｈ）以下かどうかが判定される具体的には、メモリアレイ用センスアンプ２０は、ベリファイ電圧（＝α）を各メモリセルに与えたときに流れる電流量Ｉｍを検出する。メモリアレイ用センスアンプ２０は、検出した電流量Ｉｍが、閾値電圧Ｖｔｈが”１０”上裾レベル（＝Ｖ_１０Ｈ）のときに流れる電流値Ｉｓ（＝Ｉ_１０Ｈ）以上かどうかを判定する。メモリアレイ用センスアンプ２０は、電流Ｉｍが電流Ｉｓ以上のときには「１」を、電流Ｉｍが電流Ｉｓ未満のときには「０」を第１センスデータとして読出しデータバスＲＤＡＴＡを通じてベリファイ回路１７に出力する。
【００６８】
電流Ｉｍが電流Ｉｓ未満のときには、さらに、閾値電圧Ｖｔｈが"０１"上裾レベル（＝Ｖ_０１Ｈ）以下かどうかが判定される。具体的には、メモリアレイ用センスアンプ２０は、ベリファイ電圧（＝α）をメモリセルに与えたときに流れる電流量Ｉｍを検出する。メモリアレイ用センスアンプ２０は、検出した電流量Ｉｍが、閾値電圧Ｖｔｈが"０１"上裾レベル（＝Ｖ_０１Ｈ）のときに流れる電流値Ｉｓ（＝Ｉ_０１Ｈ）以上かどうかを判定する。メモリアレイ用センスアンプ２０は、電流Ｉｍが電流Ｉｓ以上のときには「１」を、電流Ｉｍが電流Ｉｓ未満のときには「０」を第２センスデータとして読出しデータバスＲＤＡＴＡを通じてベリファイ回路１７に出力する。
【００６９】
一方、電流Ｉｍが電流Ｉｓ以上のときには、閾値電圧Ｖｔｈが"１１"上裾レベル（＝Ｖ_１１Ｈ）以下かどうかが判定される。具体的には、メモリアレイ用センスアンプ２０は、ベリファイ電圧（＝α）をメモリセルに与えたときに流れる電流量Ｉｍを検出する。メモリアレイ用センスアンプ２０は、検出した電流量Ｉｍが、閾値電圧Ｖｔｈが"１１"上裾レベル（＝Ｖ_１１Ｈ）のときに流れる電流値Ｉｓ（＝Ｉ_１１Ｈ）以上かどうかを判定する。メモリアレイ用センスアンプ２０は、電流Ｉｍが電流Ｉｓ以上のときには「１」を、電流Ｉｍが電流Ｉｓ未満のときには「０」を第２センスデータとして読出しデータバスＲＤＡＴＡを通じてベリファイ回路１７に出力する。
【００７０】
一方、ページバッファアレイ１１に保持している選択された３２個のメモリセルの上位および下位ビットの書込み目標値が、Ｙゲート２２、およびページバッファ用センスアンプ１３を介して６４ビットｔｏ３２ビット変換回路１５に送られる。
【００７１】
６４ビットｔｏ３２ビット変換回路１５は、まず３２ビット分の上位ビットの書込み目標値をベリファイ回路１７に送る。ベリファイ回路１７は、各ビットごとに、第１センスデータと上位ビットの書込み目標値とが一致するか否かを調べる。次に、６４ビットｔｏ３２ビット変換回路１５は、３２ビット分の下位ビットの書込み目標値をベリファイ回路１７に送る。ベリファイ回路１７は、各ビットごとに、第２センスデータと下位ビットの書込み目標値とが一致するか否かを調べる。
【００７２】
ベリファイ回路１７は、３２ビットすべてについて、第１センスデータと上位ビットの書込み目標値とが一致し、かつ第２センスデータと下位ビットの書込み目標値とが一致したときには、上裾ベリファイのＰＡＳＳ（成功）を示すベリファイ判定信号Ｄ１ＨＶＰＡＳＳをＣＰＵ２６に送り、ＣＰＵ２６は、メモリセルの書込みシーケンスは終了する。一方、ベリファイ回路１７は、３２ビットすべてについては、不一致のときには、上裾ベリファイのＦＡＩＬ（失敗）を示すベリファイ判定信号Ｄ１ＨＶＰＡＳＳをＣＰＵ２６に送り、ＣＰＵ２６は、書込みシーケンスを異常終了する。
【００７３】
（ページバッファおよびマスクバッファの各ビットの遷移）
図９は、書込みシーケンスにおける、ページバッファアレイ１１およびマスクバッファアレイ１２内の選択されたメモリセルに対応するビットの格納値の推移を示す。同図に示すように、マスクバッファアレイの３２ビットは、対応する３２個のメモリセルに書込みパルスを印加するか否かを定めたパルス印加指示値を保持し、書込みシーケンスにおいて変化する。パルス印加指示値が「０」のときには書込みパルスが印加され、パルス印加指示値が「１」のときには書込みパルスは印加されない。
【００７４】
マスクバッファアレイ１２のパルス印加指示値が「０」であるメモリセルには書込みパルスが印加されて、メモリセルの閾値Ｖｔｈが上昇する。あるメモリセルの閾値Ｖｔｈの下裾ベリファイがＰＡＳＳしたときには、そのメモリセルへの書込みが終了し、そのメモリセルに対応するマスクバッファアレイ１２内のパルス印加指示値が「１」に書き換えられる。
【００７５】
最終的にマスクバッファアレイ１２のうちの選択された３２個のメモリセルに対応する３２ビットに格納されるパルス印加指示値がすべて「１」となったときに、書込みシーケンスが終了する。
【００７６】
一方、ページバッファアレイ１１の各２ビットは、対応するメモリセルに書込むべき上位ビットの書込み目標値および下位ビットの書込み目標値を保持し、書込みシーケンスにおいて変化しない。
【００７７】
下裾ベリファイ時には、ページバッファアレイ１１の２ビット（上位ビットおよび下位ビット）と、メモリアレイ用センスアンプ２０から出力される下位ベリファイ用の２ビット（第１センスデータおよび第２センスデータ）とが比較されて、同一のときには対応するメモリセルの下裾ベリファイがＰＡＳＳと判定され、相違するときには、そのメモリセルの下裾ベリファイがＦＡＩＬと判定される。
【００７８】
また、上裾ベリファイ時も、ページバッファアレイ１１の２ビット（上位ビットおよび下位ビット）と、メモリアレイ用センスアンプ２０から出力される上位ベリファイ用の２ビット（第１センスデータおよび第２センスデータ）とが比較されて、同一のときには対応するメモリセルの上裾ベリファイがＰＡＳＳと判定され、相違するときには、そのメモリセルの上裾ベリファイがＦＡＩＬと判定される。
【００７９】
（下裾ベリファイ時の動作）
次に、ベリファイ回路１７における下裾ベリファイ時の詳細な動作を説明する。
【００８０】
まず、メモリアレイ用センスアンプ２０は、３２ビット分の第１センスデータを読出しデータバスＲＤＡＴＡに出力する。ラッチ部３１のラッチＬ１は、クロックＣＬＫ１に同期して３２ビット分の第１センスデータを保持する。また、ページバッファアレイ１１は、３２ビット分の上位ビットの書込み目標値を出力し、ラッチ部３１のラッチＬ３は、クロックＣＬＫ１に同期して３２ビット分の上位ビットの書込み目標値を保持する。
【００８１】
次に、メモリアレイ用センスアンプ２０は、３２ビット分の第２センスデータを読出しデータバスＲＤＡＴＡに出力する。ラッチ部３１のラッチＬ２は、クロックＣＬＫ２に同期して３２ビット分の第２センスデータを保持する。また、ページバッファアレイ１１は、３２ビット分の下位ビットの書込み目標値を出力し、ラッチ部３１のラッチＬ４は、クロックＣＬＫ２に同期して３２ビット分の下位ビットの書込み目標値を保持する。
【００８２】
ＥＸＮＯＲ部３２の反転排他的論理和回路Ｅ１は、ラッチＬ１の出力とラッチＬ３の出力とを受けて、各ビットについて、第１センスデータと上位ビットの書込み目標値とが一致するときに「１」を出力し、不一致のときに「０」を出力する。また、ＥＸＮＯＲ部３２の反転排他的論理和回路Ｅ２は、ラッチＬ２の出力とラッチＬ４の出力とを受けて、各ビットについて、第２センスデータと下位ビットの書込み目標値とが一致するときに「１」を出力し、不一致のときに「０」を出力する。
【００８３】
２ビット比較部３４の論理積回路Ａ３は、反転排他的論和回路Ｅ１の出力と反転排他的論理和回路Ｅ２の出力とを受けて、各ビットについて、第１センスデータと上位ビットの書込み目標値とが一致し、かつ第２センスデータと下位ビットの書込み目標値とが一致するときのみ、「１」を出力する。
【００８４】
一方、マスクバッファアレイ１２は、第１６〜第３１ビットの１６ビット分のパルス印加指示値を出力し、ラッチ部３１のラッチＬ５は、クロックＣＬＫ１に同期して、第１６〜第３１ビットの１６ビット分のパルス印加指示値を保持する。２ビット比較部３４の論理和回路Ｏ１は、論理積回路Ａ３の出力の第１６〜第３１ビットの１６ビット分と、ラッチＬ５の出力とを受けて、各ビットについて、第１センスデータと上位ビットの書込み目標値とが一致し、かつ第２センスデータと下位ビットの書込み目標値とが一致するとき、またはパルス印加指示値が「１」（書込み完了）のときに、「１」を出力する。セレクタＳ２は、論理和回路Ｏ１の出力を選択して、マスクバッファアレイ１２の第１６〜第３１ビットに出力する。
【００８５】
次に、マスクバッファアレイ１２は、第０〜第１５ビットの１６ビット分のパルス印加指示値を出力し、ラッチ部３１のラッチＬ６は、クロックＣＬＫ２に同期して、第０〜第１５ビットの１６ビット分のパルス印加指示値を保持する。２ビット比較部３４の論理和回路Ｏ２は、論理積回路Ａ３の出力の第０〜第１５ビットの１６ビット分と、ラッチＬ６の出力とを受けて、各ビットについて、第１センスデータと上位ビットの書込み目標値とが一致し、かつ第２センスデータと下位ビットの書込み目標値とが一致するとき、またはパルス印加指示値が「１」（書込み完了）のときに、「１」を出力する。セレクタＳ２は、論理和回路Ｏ２の出力を選択して、マスクバッファアレイ１２の第０〜第１５ビットに出力する。
【００８６】
また、ベリファイ判定部３５は、論理和回路Ｏ１の出力と論理和回路Ｏ２に出力とを受けて、３２ビットすべてについて、第１センスデータと上位ビットの書込み目標値とが一致し、かつ第２センスデータと下位ビットの書込み目標値とが一致するとき、またはパルス印加指示値が「１」（書込み完了）のときに、ベリファイ判定信号ＤＩＨＶＰＡＳＳを「１」とする。
【００８７】
（上裾ベリファイ時の動作）
上裾ベリファイ時にメモリアレイ用センスアンプ２０から送られる第１センスデータおよび第２センスデータは、上述したように下裾ベリファイ時と異なる。一方、ベリファイ回路１７における上裾ベリファイの動作は、下裾ベリファイの動作と同様である。したがって、ベリファイ回路１７の上裾ベリファイ時の動作の説明は繰返さない。
【００８８】
（ダミーベリファイ時の動作）
次に、ベリファイ回路１７におけるダミーベリファイ時の詳細な動作を説明する。
【００８９】
メモリアレイ用センスアンプ２０は、３２ビット分の第１センスデータを読出しデータバスＲＤＡＴＡに出力する。ラッチ部３１のラッチＬ１は、クロックＣＬＫ１に同期して３２ビット分の第１センスデータを保持する。また、ページバッファアレイ１１は、３２ビット分の上位ビットの書込み目標値を出力し、ラッチ部３１のラッチＬ３は、クロックＣＬＫ１に同期して３２ビット分の上位ビットの書込み目標値を保持する。
【００９０】
目標セルデータ生成部３３の論理積回路Ａ２は、ラッチＬ１の出力とラッチＬ３の出力とを受けて、各ビットについて、第１センスデータと上位ビットの書込み目標値とがいずれも「１」のときのみ「１」を出力する。セレクタＳ１は、論理積回路Ａ２の出力をページバッファアレイ１１の上位ビットの書込み目標値を格納しているビットに出力する。
【００９１】
次に、メモリアレイ用センスアンプ２０は、３２ビット分の第２センスデータを読出しデータバスＲＤＡＴＡに出力する。ラッチ部３１のラッチＬ２は、クロックＣＬＫ２に同期して３２ビット分の第２センスデータを保持する。また、ページバッファアレイ１１は、３２ビット分の下位ビットの書込み目標値を出力し、ラッチ部３１のラッチＬ４は、クロックＣＬＫ２に同期して３２ビット分の下位ビットの書込み目標値を保持する。
【００９２】
次に、目標セルデータ生成部３３の論理積回路Ａ１は、ラッチＬ２の出力とラッチＬ４の出力とを受けて、各ビットについて、第２センスデータと下位ビットの書込み目標値とがいずれも「１」のときのみ「１」を出力する。セレクタＳ１は、論理積回路Ａ１の出力をページバッファアレイ１１の下位ビットの書込み目標値を格納しているビットに出力する。
【００９３】
以上のように、本実施の形態に係る不揮発性半導体記憶装置によれば、マスクバッファとページバッファの２つのバッファを備えて、マスクバッファ内のパルス印加指示値は、下裾ベリファイがＰＡＳＳすると書換えるが、ページバッファ内の書込み目標値は変化しないようにしたので、下裾ベリファイだけでなく、上裾ベリファイも行なうことができ、不揮発性のメモリセルトランジスタに多値書込みを行なう際に、ベリファイを適切に行なうことができる。
【００９４】
［第２の実施形態］
本実施の形態は、第１の実施形態と同様にマスクバッファとページバッファとを有するとともに、高速かつ小面積な不揮発性半導体記憶装置に関する。
【００９５】
（全体構成）
図１０は、第２の実施形態に係る不揮発性半導体記憶装置の構成を示すブロック図である。同図を参照して、この不揮発性半導体記憶装置は、メモリアレイ２１と、ライトドライバ＆３２ビットｔｏ６４ビット変換回路１９と、メモリアレイ用センスアンプ２０と、セレクタ５５と、ページバッファ／マスクバッファアレイ５１と、Ｙゲート５２と、ベリファイ回路５４と、ページバッファ／マスクバッファ用制御回路５３と、ＣＰＵ２６と、ＣＵＩ２７と、ＯＳＣ２８とを備える。
【００９６】
メモリアレイ２１と、ライトドライバ＆３２ビットｔｏ６４ビット変換回路１９と、メモリアレイ用センスアンプ２０は、第１の実施形態と同様であり、ここでは説明を繰返さない。
【００９７】
ＣＵＩ２７は、外部から与えられるデータ信号を受け、内部の各構成要素に分配する。
【００９８】
ＯＳＣ２８は、外部から設定可能な図示しないレジスタの設定値に応じた周期の内部クロック信号ＩＣＬＫを生成する。
【００９９】
ＣＰＵ２６は、ＯＳＣ２８からの内部クロック信号ＩＣＬＫを受けて、不揮発性半導体記憶装置の全体制御を行なう。
【０１００】
ページバッファ／マスクバッファアレイ５１は、ページバッファ部とマスクバッファ部とを有するアレイである。ページバッファ部は、第１の実施形態のページバッファと同様であり、マスクバッファ部は第１の実施形態のマスクバッファと同様である。マスクバッファ部の各ビットは、下裾ベリファイ時には、第１の実施形態と同様に、対応するメモリセルに書込みパルスを印加するか否かを定めるパルス印加指示値を格納する。パルス印加指示値が「０」のときには書込み未完了、つまりベリファイ判定がまだ成功していないことを示し、パルス印加指示値が「１」のときには書込み完了、つまりベリファイ判定が既に成功していることを示す。一方、マスクバッファ部の各ビットは、上裾ベリファイ時には、対応するメモリセルの上裾ベリファイの結果に係らず、自動的にＰＡＳＳ（成功）とするか否かを定めた値を格納する。この値が「１」のときには、自動的にＰＡＳＳ（成功）となる。したがって、第２の実施形態では、マスクバッファ部のデータをパルス印加指示値といわずに、ベリファイ判定値ということにする。
【０１０１】
Ｙゲート５２は、ページバッファ／マスクバッファアレイ５１の選択された列のベリファイ回路５４と接続する。
【０１０２】
メモリアレイ用センスアンプ２０は、第１センスデータおよび第２センスデータをシリアルに読書きデータバスＲＷＤＡＴＡを通じてベリファイ回路５４に転送する。
【０１０３】
ベリファイ回路５２は、書込み時には、読書きデータバスＲＷＤＡＴＡを通じて、マスクバッファ部に保持されている値をライトドライバ＆３２ビットｔｏ６４ビット変換回路１９のライトドライバ部に転送する。
【０１０４】
したがって、ベリファイ回路５４とライトドライバ＆３２ビットｔｏ６４ビット変換回路との間、およびベリファイ回路５４とメモリアレイ用センスアンプ２０との間は、読出しと書込みの兼用バスである読書きデータバスＲＷＤＡＴＡで接続される。
【０１０５】
セレクタ５５は、ベリファイ回路１９からライトドライバ＆３２ビットｔｏ６４ビット変換回路１９へのデータの転送と、メモリアレイ用センスアンプ２０からベリファイ回路５２へのデータの転送のいずれかを通す。
【０１０６】
また、ページバッファ／マスクバッファ用制御回路５３は、ＯＳＣ２８で生成された内部クロックＩＣＬＫに基づき、図１１のベリファイ回路５４を制御する信号、たとえばベリファイ回路５４内のセンスアンプ部６２のビット線対の増幅を制御する信号（ＳＡＮ，ＩＳＡＰ）、ベリファイ回路５４内のビット線対のプリチャージを制御する信号（ＩＰＣＢＬ＿ＳＡ，ＩＰＣＳＡ）、ベリファイ回路内のラッチ部６３のビット線対のラッチを制御する信号（ＩＴＲＡＮＳＡ，ＩＴＲＡＮＩＳＡ，ＰＲＥＳＥＴ，ＩＲＥＳＥＴ００，ＩＰＢＷＲＴ）、センスアンプ部６２とＥＸＮＯＲ部６１との接続を制御する信号（ＩＳＡＩ）、ラッチ部６３のデータをページバッファ部またはマスクバッファ部に転送する信号ＩＤＲＶなどを生成して、ベリファイ回路５４に送る。
【０１０７】
ベリファイ回路５４は、第１の実施形態と同様に、下裾ベリファイ、上裾ベリファイ、およびダミーベリファイの機能を有し、さらに、パルスチェックベリファイ、００データ転送、１１データ転送、マスクバッファデータ転送、フラッシュトウページバッファ転送、およびフラッシュトウページバッファ反転転送の機能を有する。
【０１０８】
パルスチェックベリファイとは、書込みパルスの電圧の増加幅を大きくできないかを調べるために、第１センスデータが「１」（つまり、メモリセルの閾値Ｖｔｈが「０１」下裾レベル未満）、かつマスクバッファ５１のパルス印加指示値が「０」（書込み対象）である（これを第１の状態という）メモリセルが存在しないことを調べるものである。つまり、このような第１の状態のメモリセルが存在しなくなったときには、選択されたメモリセルは、次のいずれかの状態である。第２の状態は、閾値Ｖｔｈが「０１」下裾レベル未満であり、かつベリファイ判定値が「１」（書込み完了）の状態である。第３の状態は、閾値Ｖｔｈが「０１」下裾レベル以上であり、かつベリファイ判定値が「１」（書込み完了）の状態である。第４の状態は、閾値Ｖｔｈが「０１」下裾レベル以上であり、かつベリファイ判定値が「０」（書込み未完了）の状態である。
【０１０９】
第１の状態は、書込み目標値が「１０」、「０１」、または「００」であり、閾値が低い状態にあるので、閾値を徐々に増加させて、所望の閾値にすることが必要となり、書き込みパルスの電圧の増加幅を大きくするのは適切でない。
【０１１０】
一方、第２の状態および第３の状態は、書込みが完了しているので、書込みパルスを印加することがなく、書込みパルスの電圧の増加幅を大きくしても問題ない。
【０１１１】
第４の状態は、書込み目標値が「００」である。なぜなら、書込み目標値が「０１」であれば、閾値Ｖｔｈが「０１」下裾レベル以上であれば、ベリファイ判定値が「１」（書込み完了）となるはずだからである。書込み目標値が「００」のときには、閾値に上限がないので、書込みパルスの電圧の増加幅を大きくしても問題なく、増加幅を大きくすることによってメモリセルへのデータの書込みを高速化できる。
【０１１２】
したがって、第１の状態のメモリセルがなくなったときに、パルスチェックベリファイがＰＡＳＳ（成功）し、書込みパルスの電圧の増加幅を０．１Ｖから０．２Ｖに増加させる。
【０１１３】
００データ転送とは、パルスチェックベリファイ、または下裾ベリファイがＰＡＳＳ（成功）したときに、メモリアレイ２１の選択された各メモリセルに対応するページバッファ部の書込み目標値が「００」（上位ビットの書込み目標値が０、下位ビットの書込み目標値が０）のときに、そのメモリセルに対応するマスクバッファ部のビットが「０」となるように、また書込み目標値が「１０」、「０１」、および「１１」のときに、そのメモリセルに対応するマスクバッファ部のビットが「１」となるように、マスクバッファ部にデータを転送することをいう。これにより、書込みパルスを印加するメモリセルを書込み目標値が「００」であるメモリセルに限定できる。これにより、書込み目標値が「００」であり、下裾ベリファイがＰＡＳＳしたメモリセルについても、さらに書込みパルスを印加するメモリセルとされる。これは、書込みパルスの電圧の増加幅を０．２Ｖにするときには、同時にベリファイ電圧もαからβに増加させるので、αのベリファイ電圧では下裾ベリファイがＰＡＳＳしていても、ベリファイ電圧をβに増加させると、下裾ベリファイがＦＡＩＬすることがあることを考慮したものである。
【０１１４】
１１データ転送とは、メモリアレイ２１の選択された各メモリセルに対応するページバッファ部の書込み目標値が「１１」（上位ビットの書込み目標値が１、下位ビットの書込み目標値が１）のときに、そのメモリセルに対応するマスクバッファ部のビットが「１」となり、書込み目標値が「１０」、「０１」、および「００」のときに、そのメモリセルに対応するマスクバッファ部のビットが「０」となるように、マスクバッファ部にデータを転送することをいう。これにより、書込み目標値が「１１」である、書込み対象となることがないメモリセルの上裾ベリファイは自動的にＰＡＳＳ（成功）とされる。
【０１１５】
マスクバッファデータ転送とは、メモリアレイ２１の選択された各メモリセルに対応するマスクバッファ部のビットをライトドライバ部に転送することをいう。これにより、マスクバッファ部のデータをベリファイ回路５４に一旦取込んで、取込んだデータをライトドライバ部に送ることができる。したがって、メモリアレイ用センスアンプ２０からベリファイ回路５４にデータを送るバスＲＷＤＡＴＡを用いて、ライトドライバ部にもデータを送ることができる。
【０１１６】
フラッシュトウページバッファ転送とは、メモリアレイ２１の選択された各メモリセルに記憶されている２ビットの論理値をページバッファ部の対応する２ビットに転送することをいう。
【０１１７】
フラッシュトウページバッファ反転転送とは、メモリアレイ２１の選択された各メモリセルに記憶されている２ビットの論理値の反転値をページバッファ部の対応する２ビットに転送することをいう。
【０１１８】
（ベリファイ回路５４の詳細な構成）
図１１は、ベリファイ回路５４の詳細な構成を示す。同図を参照して、ベリファイ回路５４は、ＥＸＮＯＲ部６１と、センスアンプ部６２と、ラッチ部６３と、ベリファイ判定部６４と、ドライバ部６５と、セレクタＳ１０と、インバータＩＶ１と、インバータＩＶ３と、反転論理和回路ＮＯ３と、反転論理積回路ＮＡ３と、論理和回路Ｏ３とを含む。
【０１１９】
インバータＩＶ１は、読書きデータバスＲＷＤＡＴＡのデータのレベルを反転して、ＥＸＮＯＲ部６１に出力する。
【０１２０】
ＥＸＮＯＲ部６１は、ビット線対ＢＬ，ＩＢＬのデータと、読書きデータバスＲＷＤＡＴＡのデータとを受ける。ＥＸＮＯＲ部６１は、ビット線ＢＬのデータのレベルと読書きデータバスＲＷＤＡＴＡのレベルとが一致するときに、ビット線ＢＬに「１」レベル（未増幅のデータ）を出力し、ビット線ＩＢＬに「０」レベル（未増幅のデータ）を出力し、不一致のときに、ビット線ＢＬに「０」レベル（未増幅のデータ）を出力し、ビット線ＩＢＬに「１」レベル（未増幅のデータ）を出力する。
【０１２１】
また、ＥＸＮＯＲ部６１は、制御信号ＩＰＣＢＬ＿ＳＡに接続されるプリチャージ用のトランジスタを含む。制御信号ＩＰＣＢＬ＿ＳＡが「０」になることによって、ビット線対ＢＬ，ＩＢＬがプリチャージされる。
【０１２２】
センスアンプ部６２は、ＥＸＮＯＲ部６１から出力されるビット線対ＢＬ，ＩＢＬのデータを増幅して、ビット線ＢＬにセンスアンプ増幅信号ＳＡ、ビット線ＩＢＬに反転センスアンプ増幅信号ＩＳＡを出力する。センスアンプ部６２は、制御信号ＳＡＮ／ＩＳＡＰが「１」／「０」になると、活性化する。
【０１２３】
センスアンプ部６２は、制御信号ＩＳＡＩが接続される分離用のトランジスタを含む。制御信号ＩＳＡＩが接続されるトランジスタは、ＥＸＮＯＲ部６１とセンスアンプ部６２とを分離するためのものである。ＥＸＮＯＲ部６１がビット線対ＢＬ，ＩＢＬのプリチャージを行なっているときに、制御信号ＩＳＡＩが「１」となり、ＥＸＮＯＲ部６１とセンスアンプ部６２とが分離されて、センスアンプ部６２がＥＸＮＯＲ部６１から出力されたビット線対ＢＬ，ＩＢＬのデータを増幅する。これにより、センスアンプ処理の時間が短縮される。
【０１２４】
また、センスアンプ部６２は、制御信号ＩＰＣＳＡと接続されるプリチャージ用のトランジスタを含む。制御信号ＩＰＣＳＡが「０」となることによって、センスアンプ増幅信号ＳＡおよび反転センスアンプ増幅信号ＩＳＡを「１」にプリチャージする。
【０１２５】
反転論理和回路ＮＯ３は、ＦＦＩＲＥＧノードのデータと、外部データＩＥＸＤＡＴＡとを受けて、反転論理和をドライバ部６５に出力する。ベリファイ動作時などの内部動作では、外部データＩＥＸＤＡＴＡは、「０」に固定される。外部動作時には、ＦＦＩＲＥＧノードは「０」にセットされるため、外部データＩＥＸＤＡＴＡが有効となる。
【０１２６】
反転論理積回路ＮＡ３は、読書きデータバスＲＷＤＡＴＡのデータと取込み指示信号ＩＰＢＷＲＴとを受けて、それらの反転論理積を論理和回路Ｏ３に出力する。
【０１２７】
論理和回路Ｏ３は、反転論理積回路ＮＡ３の出力と、リセット信号ＩＲＥＳＥＴ００の反転値とを受けて、それらの論理和を反転論理和回路ＮＯ５に出力する。
【０１２８】
ラッチ部６３は、センスアンプ増幅信号ＳＡと、反転センスアンプ増幅信号ＩＳＡとを受けて、センスアンプ増幅信号ＳＡおよび反転センスアンプ増幅信号ＩＳＡのレベルに応じた論理値をラッチする。ラッチ部６３は、反転論理和回路ＮＯ６と、反転論理和回路ＮＯ５と、反転論理和回路ＮＯ７と、反転論理和回路ＮＯ１とを含む。
【０１２９】
反転論理和回路ＮＯ６は、ビット線ＢＬのデータと増幅取込み信号ＩＴＲＡＮＳＡとを受けて、それらの反転論理和を反転論理和回路ＮＯ５に出力する。
【０１３０】
反転論理和回路ＮＯ５は、反転論理和回路ＮＯ６の出力と、反転論理和回路ＮＯ１の出力ノードＦＦＩＲＥＧのデータと、論理和回路Ｏ３の出力ＩＲＷとを受けて、それらの反転論理和をノードＦＦＲＥＧに出力する。
【０１３１】
反転論理和回路ＮＯ７は、ビット線ＩＢＬのデータと反転増幅取込み信号ＩＴＲＡＮＩＳＡとを受けて、それらの反転論理和を反転論理和回路ＮＯ１に出力する。
【０１３２】
反転論理和回路ＮＯ１は、反転論理和回路ＮＯ７の出力と、プリセット信号ＰＲＥＳＥＴと、反転論理和回路ＮＯ５の出力ノードＦＦＲＥＧのデータとを受けて、それらの反転論理和をノードＦＦＩＲＥＧに出力する。
【０１３３】
ベリファイ判定部６４は、ラッチ部６３のＦＦＩＲＥＧノードと接続し、ＦＦＩＲＥＧノードのラッチデータに基づくベリファイ判定結果を示すベリファイ判定信号Ｄ１ＨＶＰＡＳＳをＣＰＵ２６に出力する。
【０１３４】
ドライバ部６５は、内部動作時に、ラッチ部６３のＦＦＩＲＥＧノードのデータを反転論理和回路ＮＯ３を経由して受けて、ＦＦＩＲＥＧノードのデータのレベルを反転したデータをビット線ＢＬに出力し、ＦＦＩＲＥＧノードのデータをビット線ＩＢＬに出力する。このビット線対ＢＬ，ＩＢＬのデータは、ベージバッファ／マスクバッファアレイ５１の対応するビットに書込まれる。
【０１３５】
また、ドライバ部６５は、ＦＦＩＲＥＧノードのデータをデータ線ＩＢＤＡＴを通じてインバータＩＶ３に出力する。インバータＩＶ３に入力されたデータは、セレクタＳ１０を経由して読書きデータバスＲＷＤＡＴＡに送られ、メモリアレイ２１に書込まれる。
【０１３６】
また、ドライバ部６５は、外部動作時には、外部データＩＥＸＤＡＴＡのデータを反転論理和回路ＮＯ３を経由して受けて、外部データＩＥＸＤＡＴＡをビット線ＢＬに出力し、外部データＩＥＸＤＡＴＡの反転データをビット線ＩＢＬに出力する。このビット線対ＢＬ，ＩＢＬのデータは、ベージバッファ／マスクバッファアレイ５１の対応するビットに書込まれる。
【０１３７】
インバータＩＶ３は、データ線ＩＢＤＡＴのデータのレベルを反転して、セレクタＳ１０に出力する。
【０１３８】
セレクタＳ１０は、ライトドライバ転送制御信号ＷＴＲが「０」のときに、読書きデータバスＲＷＤＡＴＡをＥＸＮＯＲ部６１と接続し、ライトドライバ転送制御信号ＷＴＲが「１」のときに、読書きデータバスＲＷＤＡＴＡをデータ線ＩＢＤＡＴと接続する。ライトドライバ転送制御信号ＷＴＲは、マスクバッファデータ転送の所定の期間に「１」となる。
【０１３９】
（書込みシーケンス）
次に、本実施の形態に係る不揮発性半導体記憶装置の書込みシーケンスを説明する。図１２は、第２の実施形態における書込みシーケンスを示すフローチャートである。
【０１４０】
同図を参照して、ステップＳ７０１において、ダミーベリファイが以下のようにして行なわれる。メモリアレイ用センスアンプ２０は、ベリファイ電圧（＝α）を各メモリセルに与えたときに流れる電流量Ｉｍを検出する。メモリアレイ用センスアンプ２０は、検出した電流量Ｉｍが、閾値電圧Ｖｔｈが"０１"下裾レベル（＝Ｖ_０１Ｌ）のときに流れる電流値Ｉｓ（＝Ｉ_０１Ｌ）以下かどうかを判定する。メモリアレイ用センスアンプ２０は、電流Ｉｍが電流Ｉｓ以下のときには「０」を、電流Ｉｍが電流Ｉｓを越えるときには「１」を第１センスデータとして読書きデータバスＲＷＤＡＴＡを通じてベリファイ回路５４に出力する。
【０１４１】
電流Ｉｍが電流Ｉｓ以下のときには、さらに、閾値電圧Ｖｔｈが"００"下裾レベル（＝Ｖ_００Ｌ）以上かどうかが判定される。具体的には、メモリアレイ用センスアンプ２０は、ベリファイ電圧（＝α）をメモリセルに与えたときに流れる電流量Ｉｍを検出する。メモリアレイ用センスアンプ２０は、検出した電流量Ｉｍが、閾値電圧Ｖｔｈが"００"下裾レベル（＝Ｖ_００Ｌ）のときに流れる電流値Ｉｓ（＝Ｉ_００Ｌ）以下かどうかを判定する。メモリアレイ用センスアンプ２０は、電流Ｉｍが電流Ｉｓ以下のときには「０」を、電流Ｉｍが電流Ｉｓを越えるときには「１」を第２センスデータとして読書きデータバスＲＷＤＡＴＡを通じてベリファイ回路５４に出力する。
【０１４２】
一方、電流Ｉｍが電流Ｉｓを越えるときには、閾値電圧Ｖｔｈが"１０"下裾レベル（＝Ｖ_１０Ｌ）以上かどうかが判定される。具体的には、メモリアレイ用センスアンプ２０は、ベリファイ電圧（＝α）をメモリセルに与えたときに流れる電流量Ｉｍを検出する。メモリアレイ用センスアンプ２０は、検出した電流量Ｉｍが、閾値電圧Ｖｔｈが"１０"下裾レベル（＝Ｖ_１０Ｌ）のときに流れる電流値Ｉｓ（＝Ｉ_１０Ｌ）以下かどうかを判定する。メモリアレイ用センスアンプ２０は、電流Ｉｍが電流Ｉｓ以下のときには「０」を、電流Ｉｍが電流Ｉｓを越えるときには「１」を第２センスデータとして読書きデータバスＲＷＤＡＴＡを通じてベリファイ回路５４に出力する。
【０１４３】
一方、ページバッファ／マスクバッファアレイ５１のページバッファ部に保持している選択された３２個のメモリセルの上位ビットの書込み目標値が、Ｙゲート５２を介してベリファイ回路５４に送られる。ベリファイ回路５４は、各ビットごとに、第１センスデータと上位ビットの書込み目標値とのＡＮＤ論理値を算出する。
【０１４４】
ベリファイ回路５４は、第１センスデータと上位ビットのＡＮＤ論理値をページバッファ／マスクバッファアレイ５１のページバッファ部の対応するビットに転送する。
【０１４５】
次に、ページバッファ／マスクバッファアレイ５１のページバッファ部に保持している選択された３２個のメモリセルの下位ビットの書込み目標値が、Ｙゲート５２を介してベリファイ回路５４に送られる。ベリファイ回路５４は、各ビットごとに、第２センスデータと下位ビットの書込み目標値とのＡＮＤ論理を算出する。
【０１４６】
ベリファイ回路５４は、第２センスデータと下位ビットのＡＮＤ論理値をページバッファ／マスクバッファアレイ５１のページバッファ部の対応するビットに転送する。
【０１４７】
ステップＳ７０２において、選択された３２個のメモリセルの閾値電圧Ｖｔｈの下裾ベリファイが以下のようにして行なわれる。
【０１４８】
まず、閾値電圧Ｖｔｈが"０１"下裾レベル（＝Ｖ_０１Ｌ）以上かどうかが判定される。具体的には、メモリアレイ用センスアンプ２０は、ベリファイ電圧（＝α）を各メモリセルに与えたときに流れる電流量Ｉｍを検出する。メモリアレイ用センスアンプ２０は、検出した電流量Ｉｍが、閾値電圧Ｖｔｈが"０１"下裾レベル（＝Ｖ_０１Ｌ）のときに流れる電流値Ｉｓ（＝Ｉ_０１Ｌ）以下かどうかを判定する。メモリアレイ用センスアンプ２０は、電流Ｉｍが電流Ｉｓ以下のときには「０」を、電流Ｉｍが電流Ｉｓを越えるときには「１」を第１センスデータとして読書きデータバスＲＷＤＡＴＡを通じてベリファイ回路５４に出力する。
【０１４９】
電流Ｉｍが電流Ｉｓ以下のときには、さらに、閾値電圧Ｖｔｈが"００"下裾レベル（＝Ｖ_００Ｌ）以上かどうかが判定される。具体的には、メモリアレイ用センスアンプ２０は、ベリファイ電圧（＝α）をメモリセルに与えたときに流れる電流量Ｉｍを検出する。メモリアレイ用センスアンプ２０は、検出した電流量Ｉｍが、閾値電圧Ｖｔｈが"００"下裾レベル（＝Ｖ_００Ｌ）のときに流れる電流値Ｉｓ（＝Ｉ_００Ｌ）以下かどうかを判定する。メモリアレイ用センスアンプ２０は、電流Ｉｍが電流Ｉｓ以下のときには「０」を、電流Ｉｍが電流Ｉｓを越えるときには「１」を第２センスデータとして読書きデータバスＲＷＤＡＴＡを通じてベリファイ回路５４に出力する。
【０１５０】
一方、電流Ｉｍが電流Ｉｓを越えるときには、閾値電圧Ｖｔｈが"１０"下裾レベル（＝Ｖ_１０Ｌ）以上かどうかが判定される。具体的には、メモリアレイ用センスアンプ２０は、ベリファイ電圧（＝α）をメモリセルに与えたときに流れる電流量Ｉｍを検出する。メモリアレイ用センスアンプ２０は、検出した電流量Ｉｍが、閾値電圧Ｖｔｈが"１０"下裾レベル（＝Ｖ_１０Ｌ）のときに流れる電流値Ｉｓ（＝Ｉ_１０Ｌ）以下かどうかを判定する。メモリアレイ用センスアンプ２０は、電流Ｉｍが電流Ｉｓ以下のときには「０」を、電流Ｉｍが電流Ｉｓを越えるときには「１」を第２センスデータとして読書きデータバスＲＷＤＡＴＡを通じてベリファイ回路５４に出力する。
【０１５１】
一方、ページバッファ／マスクバッファアレイ５１のページバッファ部に保持している選択された３２個のメモリセルの上位ビットの書込み目標値が、Ｙゲート５２を介してベリファイ回路５４に送られる。ベリファイ回路５４は、各ビットごとに、第１センスデータと上位ビットの書込み目標値とが一致するか否かを調べる。
【０１５２】
次に、ページバッファ／マスクバッファアレイ５１のページバッファ部に保持している選択された３２個のメモリセルの下位ビットの書込み目標値が、Ｙゲート５２を介してベリファイ回路５４に送られる。ベリファイ回路５４は、各ビットごとに、第２センスデータと下位ビットの書込み目標値とが一致するか否かを調べる。
【０１５３】
次に、ページバッファ／マスクバッファアレイ５１のマスクバッファ部に保持している選択された３２個のメモリセルに対応するベリファイ判定値が、Ｙゲート５２を介してベリファイ回路５４に送られる。
【０１５４】
ベリファイ回路５４は、第１センスデータと上位ビットの書込み目標値とが一致し、かつ第２センスデータと下位ビットの書込み目標値とが一致するようなビット、またはベリファイ判定値が「１」となるようなビットについては、ページバッファ／マスクバッファアレイ５１のマスクバッファ部の対応するビットのベリファイ判定値が「１」となるように、マスクバッファ部にデータを転送する。
【０１５５】
ベリファイ回路５４は、３２ビットすべてについて、第１センスデータと上位ビットの書込み目標値とが一致し、かつ第２センスデータと下位ビットの書込み目標値とが一致したとき、またはベリファイ判定値が「１」となったときには、下裾ベリファイのＰＡＳＳを示すベリファイ判定信号Ｄ１ＨＶＰＡＳＳをＣＰＵ２６に送り、ＣＰＵ２６は、ステップＳ７０７に処理を移す。一方、ベリファイ回路５４は、３２ビットすべてについては、不一致のときには、下裾ベリファイのＦＡＩＬを示すベリファイ判定信号Ｄ１ＨＶＰＡＳＳをＣＰＵ２６に送り、ＣＰＵ２６は、ステップＳ７０３に処理を移す。
【０１５６】
ステップＳ７０３において、ページバッファ／マスクバッファアレイ５１の選択された３２個のメモリセルに対応する３２ビットのベリファイ判定値がＹゲート２３、ベリファイ回路５２、読書きデータバスＲＷＤＡＴＡ、およびセレクタ５５を介して、ライトドライバ＆３２ビットｔｏ６４ビット変換回路１９に送られる。ライトドライバ＆３２ビットｔｏ６４ビット変換回路１９のライトドライバ部は、ベリファイ判定値が「０」のビットに対応するメモリセルに図示しない電圧制御回路で生成される書込みパルスを印加させる。この書込みパルスの電圧の初期値は、２．０Ｖとする。
【０１５７】
ステップＳ７０４において、ステップＳ７０２と同様にして下裾ベリファイが行なわれる。ベリファイ回路５４は、３２ビットすべてについて、第１センスデータと上位ビットの書込み目標値とが一致し、かつ第２センスデータと下位ビットの書込み目標値とが一致したとき、またはベリファイ判定値が「１」となったときには、下裾ベリファイのＰＡＳＳを示すベリファイ判定信号Ｄ１ＨＶＰＡＳＳをＣＰＵ２６に送り、ＣＰＵ２６は、ステップＳ７０７に処理を移す。一方、ベリファイ回路５４は、３２ビットすべてについては、不一致のときには、下裾ベリファイのＦＡＩＬを示すベリファイ判定信号Ｄ１ＨＶＰＡＳＳをＣＰＵ２６に送り、ＣＰＵ２６は、ステップＳ７０５に処理を移す。
【０１５８】
ステップＳ７０５において、ＣＰＵ２６は、選択されたメモリセルに対して書込みパルスが印加された回数（すなわち、Ｓ７０３〜Ｓ７０５のループの回数）が所定回数以上となったときには、ステップＳ７０６に処理を移す。一方、ＣＰＵ２６は、選択されたメモリセルに対して書込みパルスが印加された回数が所定回数Ｘ未満のときには、書込みパルスの電圧を０．１Ｖインクリメントするようにライトドライバ＆３２ビットｔｏ６４ビット変換回路１９のライトドライバ部に指示してＳ７０３の処理を繰返させる。
【０１５９】
ステップＳ７０６において、以下のようにパルスチェックベリファイが行なわれる。メモリアレイ用センスアンプ２０は、ベリファイ電圧（＝α）を各メモリセルに与えたときに流れる電流量Ｉｍを検出する。メモリアレイ用センスアンプ２０は、検出した電流量Ｉｍが、閾値電圧Ｖｔｈが"０１"下裾レベル（＝Ｖ_０１Ｌ）のときに流れる電流値Ｉｓ（＝Ｉ_０１Ｌ）以下かどうかを判定する。メモリアレイ用センスアンプ２０は、電流Ｉｍが電流Ｉｓ以下のときには「０」を、電流Ｉｍが電流Ｉｓを越えるときには「１」を第１センスデータとして読書きデータバスＲＷＤＡＴＡを通じてベリファイ回路５４に出力する。
【０１６０】
次に、ページバッファ／マスクバッファアレイ５１のマスクバッファ部に保持している選択された３２個のメモリセルに対応するベリファイ判定値が、Ｙゲート５２を介してベリファイ回路５４に送られる。
【０１６１】
ベリファイ回路５４は、各ビットごとに、第１センスデータが「０」、かつベリファイ判定値が「０」であるか否かを調べる。ベリファイ回路５４は、３２ビットすべてについて、第１センスデータが「０」、かつベリファイ判定値が「０」のときには、パルスチェックベリファイのＰＡＳＳを示すベリファイ判定信号Ｄ１ＨＶＰＡＳＳをＣＰＵ２６に送り、ＣＰＵ２６は、ステップＳ７０７に処理を移す。
【０１６２】
一方、ベリファイ回路５４は、３２ビットすべてについては、第１センスデータが「０」、かつベリファイ判定値が「０」とはならないときには、パルスチェックベリファイのＦＡＩＬを示すベリファイ判定信号Ｄ１ＨＶＰＡＳＳをＣＰＵ２６に送り、ＣＰＵ２６は、書込みパルスの電圧を０．１Ｖインクリメントするようにライトドライバ＆３２ビットｔｏ６４ビット変換回路１９のライトドライバ部に指示してＳ７０３の処理を繰返させる。
【０１６３】
ステップＳ７０７において、以下のようにして００データ転送が行なわれる。００データ転送とは、ページバッファ部に「００」（上位ビットの書込み目標値が０、下位ビットの書込み目標値が０）が格納されているメモリセルに対応するマスクバッファ部のビットのみがベリファイ判定値「０」が格納されるように、マスクバッファ部にデータを転送することをいう。
【０１６４】
具体的には、ページバッファ／マスクバッファアレイ５１のページバッファ部に保持している選択された３２個のメモリセルの上位ビットの書込み目標値が、Ｙゲート５２を介してベリファイ回路５４に送られる。
【０１６５】
次に、ページバッファ／マスクバッファアレイ５１のページバッファ部に保持している選択された３２個のメモリセルの３２ビット分の下位ビットの書込み目標値が、Ｙゲート５２を介してベリファイ回路５４に送られる。
【０１６６】
ベリファイ回路５４は、上位ビットの書込み目標値が「０」、かつ下位ビットの書込み目標値が「０」となるビットについては、マスクバッファ部の対応するビットに「０」を書込み、それ以外のビットについては、マスクバッファ部の対応するビットに「１」を書込む。
【０１６７】
さらに、ステップＳ７０８において、ステップＳ７０２およびＳ７０４と同様にして下裾ベリファイが行なわれる。ただし、ベリファイ電圧をβ（＝α＋ΔＶ）とする。下裾ベリファイがＰＡＳＳしたときには、ＣＰＵ２６は、ステップＳ７１１の処理に移行する。下裾ベリファリがＦＡＩＬしたときには、ＣＰＵ２６は、ステップＳ７０９の処理に移行する。
【０１６８】
ステップＳ７０９において、ステップＳ７０３と同様にして、書込みパルスが印加される。
【０１６９】
ステップＳ７１０において、ステップＳ７０８と同様にして、下裾ベリファイが行なわれる。下裾ベリファイがＦＡＩＬしたときには、ＣＰＵ２６は、書込みパルスの電圧を０．２Ｖインクリメントするように図示しない電圧制御回路に指示するとともに、Ｓ７０９の処理を繰返す。下裾ベリファイがＰＡＳＳしたときには、ＣＰＵ２６は、ステップＳ７１１の処理に移行する。
【０１７０】
ステップＳ７１１において、以下のようにして１１データ転送が行なわれる。１１データ転送とは、ページバッファ部に「１１」（上位ビットの書込み目標値が１、下位ビットの書込み目標値が１）が格納されているメモリセルに対応するマスクバッファ部のビットのみがベリファイ判定値「１」が格納されるように、マスクバッファ部にデータを転送することをいう。これにより、ページバッファ部に「１１」が格納されているメモリセルの上裾ベリファイは自動的にＰＡＳＳされる。
【０１７１】
具体的には、ページバッファ／マスクバッファアレイ５１のページバッファ部に保持している選択された３２個のメモリセルの上位ビットの書込み目標値が、Ｙゲート５２を介してベリファイ回路５４に送られる。
【０１７２】
次に、ページバッファ／マスクバッファアレイ５１のページバッファ部に保持している選択された３２個のメモリセルの３２ビット分の下位ビットの書込み目標値が、Ｙゲート５２を介してベリファイ回路５４に送られる。
【０１７３】
ベリファイ回路５４は、上位ビットの書込み目標値が「１」、かつ下位ビットの書込み目標値が「１」となるビットについては、マスクバッファ部の対応するビットに「１」を書込み、それ以外のビットについては、マスクバッファ部の対応するビットに「０」を書込む。
【０１７４】
ステップ７１２において、選択された３２個のメモリセルの閾値電圧Ｖｔｈの上裾ベリファイが以下のようにして行なわれる。
【０１７５】
まず、閾値電圧Ｖｔｈが"１０"上裾レベル（＝Ｖ_１０Ｈ）以下かどうかが判定される具体的には、メモリアレイ用センスアンプ２０は、ベリファイ電圧（＝α）を各メモリセルに与えたときに流れる電流量Ｉｍを検出する。メモリアレイ用センスアンプ２０は、検出した電流量Ｉｍが、閾値電圧Ｖｔｈが"１０"上裾レベル（＝Ｖ_１０Ｈ）のときに流れる電流値Ｉｓ（＝Ｉ_１０Ｈ）以上かどうかを判定する。メモリアレイ用センスアンプ２０は、電流Ｉｍが電流Ｉｓ以上のときには「１」を、電流Ｉｍが電流Ｉｓ未満のときには「０」を第１センスデータとして読書きデータバスＲＷＤＡＴＡを通じてベリファイ回路５４に出力する。
【０１７６】
電流Ｉｍが電流Ｉｓ未満のときには、さらに、閾値電圧Ｖｔｈが"０１"上裾レベル（＝Ｖ_０１Ｈ）以上かどうかが判定される。具体的には、メモリアレイ用センスアンプ２０は、ベリファイ電圧（＝α）をメモリセルに与えたときに流れる電流量Ｉｍを検出する。メモリアレイ用センスアンプ２０は、検出した電流量Ｉｍが、閾値電圧Ｖｔｈが"０１"上裾レベル（＝Ｖ_０１Ｈ）のときに流れる電流値Ｉｓ（＝Ｉ_０１Ｈ）以上かどうかを判定する。メモリアレイ用センスアンプ２０は、電流Ｉｍが電流Ｉｓ以上のときには「１」を、電流Ｉｍが電流Ｉｓ未満のときには「０」を第２センスデータとして読書きデータバスＲＷＤＡＴＡを通じてベリファイ回路５４に出力する。
【０１７７】
一方、電流Ｉｍが電流Ｉｓ以上のときには、閾値電圧Ｖｔｈが"１１"上裾レベル（＝Ｖ_１１Ｈ）以下かどうかが判定される。具体的には、メモリアレイ用センスアンプ２０は、ベリファイ電圧（＝α）をメモリセルに与えたときに流れる電流量Ｉｍを検出する。メモリアレイ用センスアンプ２０は、検出した電流量Ｉｍが、閾値電圧Ｖｔｈが"１１"下裾レベル（＝Ｖ_１１Ｈ）のときに流れる電流値Ｉｓ（＝Ｉ_１１Ｈ）以上かどうかを判定する。メモリアレイ用センスアンプ２０は、電流Ｉｍが電流Ｉｓ以上のときには「１」を、電流Ｉｍが電流Ｉｓ未満のときには「０」を第２センスデータとして読書きデータバスＲＷＤＡＴＡを通じてベリファイ回路５４に出力する。
【０１７８】
一方、ページバッファ／マスクバッファアレイ５１のページバッファ部に保持している選択された３２個のメモリセルの上位ビットの書込み目標値が、Ｙゲート５２を介してベリファイ回路５４に送られる。ベリファイ回路５４は、各ビットごとに、第１センスデータと上位ビットの書込み目標値とが一致するか否かを調べる。
【０１７９】
次に、ページバッファ／マスクバッファアレイ５１のページバッファ部に保持している選択された３２個のメモリセルの下位ビットの書込み目標値が、Ｙゲート５２を介してベリファイ回路５４に送られる。ベリファイ回路５４は、各ビットごとに、第２センスデータと下位ビットの書込み目標値とが一致するか否かを調べる。
【０１８０】
次に、ページバッファ／マスクバッファアレイ５１のマスクバッファ部に保持している選択された３２個のメモリセルに対応するベリファイ判定値が、Ｙゲート５２を介してベリファイ回路５４に送られる。
【０１８１】
ベリファイ回路５４は、第１センスデータと上位ビットの書込み目標値とが一致し、かつ第２センスデータと下位ビットの書込み目標値とが一致するようなビット、またはベリファイ判定値が「１」となるようなビットについては、ページバッファ／マスクバッファアレイ５１のマスクバッファ部の対応するビットのベリファイ判定値が「１」となるように、マスクバッファ部にデータを転送する。
【０１８２】
ベリファイ回路５４は、３２ビットすべてについて、第１センスデータと上位ビットの書込み目標値とが一致し、かつ第２センスデータと下位ビットの書込み目標値とが一致したとき、またはベリファイ判定値が「１」となったときには、上裾ベリファイのＰＡＳＳを示すベリファイ判定信号Ｄ１ＨＶＰＡＳＳをＣＰＵ２６に送り、ＣＰＵ２６は、書込みシーケンスを正常終了する。一方、ベリファイ回路５４は、３２ビットすべてについては、不一致のときには、上裾ベリファイのＦＡＩＬを示すベリファイ判定信号Ｄ１ＨＶＰＡＳＳをＣＰＵ２６に送り、ＣＰＵ２６は、書込みシーケンスを異常終了する。
【０１８３】
（下裾ベリファイの動作）
次に、下裾ベリファイ時の詳細な動作を説明する。
【０１８４】
図１３は、下裾ベリファイのタイミングチャートを示す。同図の第１〜第４サイクルがベリファイ周期である。同図を参照して、第１サイクルにおいて、ページバッファ／マスクバッファ用制御回路５３は、プリセット信号ＰＲＥＳＥＴを「１」にする。これにより、ラッチ部６３のＦＦＲＥＧノードが「１」にプリセットされる。その後、ページバッファ／マスクバッファ用制御回路５３は、プリセット信号ＰＲＥＳＥＴを「０」にもどす。
【０１８５】
メモリアレイ用センスアンプ５２は、第１センスデータを読書きデータバスＲＷＤＡＴＡに出力する。ページバッファ／マスクバッファアレイ５１のページバッファ部は、ビット線ＢＬに上位ビットの書込み目標値を出力する。
【０１８６】
ＥＸＮＯＲ部６１は、読書きデータバスＲＷＤＡＴＡを通じて第１センスデータを受け、ビット線ＢＬを通じてページバッファ／マスクバッファアレイ５１のページバッファ部から上位ビットの書込み目標値を受ける。ＥＸＮＯＲ部６１は、第１センスデータと上位ビットの書込み目標値が一致するか否かに応じたデータをビット線対ＢＬ，ＩＢＬに出力する。
【０１８７】
その後、ページバッファ／マスクバッファ用制御回路５３は、センスアンプ活性化信号ＳＡＮ／ＩＳＡＰを「１」／「０」にする。これにより、センスアンプ部６２は、ＥＸＮＯＲ部６１から出力されるビット線対ＢＬ，ＩＢＬのデータを増幅する。ＥＸＮＯＲ部６１が一致に応じたデータを出力したときには、センスアンプ増幅信号ＳＡは「１」となる。一方、ＥＸＮＯＲ部６１が不一致に応じたデータを出力したときには、センスアンプ増幅信号ＳＡは「０」となる。
【０１８８】
その後、ページバッファ／マスクバッファ用制御回路５３は、増幅信号取込み信号ＩＴＲＡＮＳＡを「０」にする。これにより、ラッチ部６３のＦＦＲＥＧノードは、センスアンプ増幅信号ＳＡのレベルに応じて変化する。ＥＸＮＯＲ部６１が一致に応じたデータを出力したとき（すなわち、センスアンプ増幅信号ＳＡが「１」のとき）には、ＦＦＲＥＧノードは「１」となる。一方、ＥＸＮＯＲ部６１が不一致に応じたデータを出力したとき（すなわち、センスアンプ増幅信号ＳＡが「０」のとき）には、ＦＦＲＥＧノードは「０」となる。
【０１８９】
第２サイクルにおいて、メモリアレイ用センスアンプ５２は、第２センスデータを読書きデータバスＲＷＤＡＴＡに出力する。ページバッファ／マスクバッファアレイ５１のページバッファ部は、ビット線ＢＬに下位ビットの書込み目標値を出力する。
【０１９０】
ＥＸＮＯＲ部６１は、読書きデータバスＲＷＤＡＴＡを通じて第２センスデータを受け、ビット線ＢＬを通じてページバッファ／マスクバッファアレイ５１のページバッファ部から下位ビットの書込み目標値を受ける。ＥＸＮＯＲ部６１は、第２センスデータと下位ビットの書込み目標値が一致するか否かに応じたデータをビット線対ＢＬ，ＩＢＬに出力する。
【０１９１】
その後、ページバッファ／マスクバッファ用制御回路５３は、センスアンプ活性化信号ＳＡＮ／ＩＳＡＰを「１」／「０」にする。これにより、センスアンプ部６２は、ＥＸＮＯＲ部６１から出力されるビット線対ＢＬ，ＩＢＬのデータを増幅する。ＥＸＮＯＲ部６１が一致に応じたデータを出力したときには、センスアンプ増幅信号ＳＡは「１」となる。一方、ＥＸＮＯＲ部６１が不一致に応じたデータを出力したときには、センスアンプ増幅信号ＳＡは「０」となる。
【０１９２】
その後、ページバッファ／マスクバッファ用制御回路５３は、増幅信号取込み信号ＩＴＲＡＮＳＡを「０」にする。これにより、ラッチ部６３のＦＦＲＥＧノードは、センスアンプ増幅信号ＳＡのレベルに応じて変化する。ＥＸＮＯＲ部６１が一致に応じたデータを出力し（すなわちセンスアンプ増幅信号ＳＡが「１」である）、かつ変化前のＦＦＲＥＧノードが「１」のときのみ、ＦＦＲＥＧノードは「１」となる。つまり、２ビットが一致したときに、ＦＦＲＥＧノードは「１」となる。一方、ＥＸＮＯＲ部６１が不一致に応じたデータを出力したとき（すなわちセンスアンプ増幅信号ＳＡが「０」のとき）、または変化前のＦＦＲＥＧノードが「０」のときには、ＦＦＲＥＧノードは「０」となる。つまり、少なくとも１ビットが不一致のときに、ＦＦＲＥＧノードは「０」となる。
【０１９３】
第３サイクルにおいて、メモリアレイ用センスアンプ５２は、固定値「１」を読書きデータバスＲＷＤＡＴＡに出力する。ページバッファ／マスクバッファアレイ５１のマスクバッファ部は、ビット線ＩＢＬにパルス印加指示値を出力する。
【０１９４】
ＥＸＮＯＲ部６１は、読書きデータバスＲＷＤＡＴＡを通じて固定値「１」を受け、ビット線ＩＢＬを通じてページバッファ／マスクバッファアレイ５１のマスクバッファ部からパルス印加指示値を受ける。ＥＸＮＯＲ部６１は、パルス印加指示値が「１」の「０」のいずれであるかに応じたデータをビット線対ＢＬ，ＩＢＬに出力する。
【０１９５】
その後、ページバッファ／マスクバッファ用制御回路５３は、センスアンプ活性化信号ＳＡＮ／ＩＳＡＰを「１」／「０」にする。これにより、センスアンプ部６２は、ＥＸＮＯＲ部６１から出力されるビット線対ＢＬ，ＩＢＬのデータを増幅する。ＥＸＮＯＲ部６１がベリファイ判定値を「１」（書込み完了）と判定したデータを出力したときには、反転センスアンプ増幅信号ＩＳＡは「０」となる。一方、ＥＸＮＯＲ部６１がベリファイ判定値を「０」（書込み未完了）と判定したデータを出力したときには、反転センスアンプ増幅信号ＩＳＡは「１」となる。
【０１９６】
その後、ページバッファ／マスクバッファ用制御回路５３は、反転増幅信号取込み信号ＩＴＲＡＮＩＳＡを「０」にする。これにより、ラッチ部６３の変化前のＦＦＲＥＧノードのレベルと、反転センスアンプ増幅信号ＩＳＡのレベルとに応じて、ＦＦＩＲＥＧノードが変化する。ＥＸＮＯＲ部６１がベリファイ判定値を「０」（書込み未完了）と判定し（すなわち反転センスアンプ増幅信号ＩＳＡが「１」である）、かつ変化前のＦＦＲＥＧノードが「０」（少なくとも１ビットが不一致）のときのみ、ＦＦＩＲＥＧノードは「１」となる。一方、ＥＸＮＯＲ部６１がベリファイ判定値を「１」（書込み完了）と判定したとき（すなわち反転センスアンプ増幅信号ＩＳＡが「０」のとき）、または変化前のＦＦＲＥＧノードが「１」（２ビットが一致）のときには、ＦＦＩＲＥＧノードは「０」となる。
【０１９７】
第４サイクルにおいて、ページバッファ／マスクバッファ制御回路５３は、ドライバ制御信号ＩＤＲＶを「０」にする。これにより、ドライバ部６５は、ＦＦＩＲＥＧノードのデータをビット線対ＢＬ，ＩＢＬを介してページバッファ／マスクバッファアレイ５１のマスクバッファ部に対応するビットに出力する。ＦＦＩＲＥＧノードが「１」のときには、ページバッファ／マスクバッファアレイ５１のマスクバッファ部に「０」（書込み未完了）が書込まれ、ＦＦＩＲＥＧノードが「０」のときには、ページバッファ／マスクバッファアレイ５１のマスクバッファ部に「１」（書込み完了）が書込まれる。
【０１９８】
また、ページバッファ／マスクバッファ制御回路５３は、判定結果出力制御信号ＣＤＥＮを「１」にする。これにより、ＦＦＩＲＥＧノードの３２ビットがいずれもが「０」のときに、ベリファイ判定部６４のノードＣＤＦは「１」となり、ノードＣＤＦから出力されるベリファイ判定信号ＤＩＨＶＰＡＳＳが「１」（ベリファイ判定がＰＡＳＳを示す）となる。
【０１９９】
一方、ＦＦＩＲＥＧノードの３２ビットのうちの少なくとも１ビットが「１」のときに、ベリファイ判定部６４のノードＣＤＦは「０」となり、ノードＣＤＦから出力されるベリファイ判定信号ＤＩＨＶＰＡＳＳが「０」（ベリファイ判定がＦＡＩＬを示す）となる。
【０２００】
（パルスチェックベリファイ）
図１４は、パルスチェックベリファイのタイミングチャートを示す。同図の第１〜第３サイクルがベリファイ周期である。同図を参照して、第１サイクルにおいて、ページバッファ／マスクバッファ用制御回路５３は、プリセット信号ＰＲＥＳＥＴを「１」にする。これにより、ラッチ部６３のＦＦＲＥＧノードが「１」にプリセットされる。その後、ページバッファ／マスクバッファ用制御回路５３は、プリセット信号ＰＲＥＳＥＴを「０」にもどす。
【０２０１】
メモリアレイ用センスアンプ５２は、第１センスデータを読書きデータバスＲＷＤＡＴＡに出力する。ページバッファ／マスクバッファ用制御回路５３は、制御線ＣＴＲＬを通じてビット線ＢＬを強制的に「０」にする。
【０２０２】
ＥＸＮＯＲ部６１は、読書きデータバスＲＷＤＡＴＡを通じて第１センスデータを受け、ビット線ＢＬを通じて固定値「０」を受け、第１センスデータが「１」であるか「０」であるかに応じたデータをビット線対ＢＬ，ＩＢＬに出力する。
【０２０３】
その後、ページバッファ／マスクバッファ用制御回路５３は、センスアンプ活性化信号ＳＡＮ／ＩＳＡＰを「１」／「０」にする。これにより、センスアンプ部６２は、ＥＸＮＯＲ部６１から出力されるビット線対ＢＬ，ＩＢＬのデータを増幅する。ＥＸＮＯＲ部６１が第１センスデータを「１」と判定したデータを出力したときには、センスアンプ増幅信号ＳＡは「０」となり、反転センスアンプ増幅信号ＩＳＡは「１」となる。ＥＸＮＯＲ部６１が第１センスデータを「０」と判定したデータを出力したときには、センスアンプ増幅信号ＳＡは「１」となり、反転センスアンプ増幅信号ＩＳＡは「０」となる。
【０２０４】
その後、ページバッファ／マスクバッファ用制御回路５３は、増幅信号取込み信号ＩＴＲＡＮＳＡを「０」にする。これにより、ラッチ部６３のＦＦＲＥＧノードは、センスアンプ増幅信号ＳＡのレベルに応じて変化する。ＥＸＮＯＲ部６１が第１センスデータを「０」と判定したとき（すなわち、センスアンプ増幅信号ＳＡが「１」のとき）には、ＦＦＲＥＧノードは「１」となる。一方、ＥＸＮＯＲ部６１が第１センスデータを「１」と判定したとき（すなわち、センスアンプ増幅信号ＳＡが「０」のとき）には、ＦＦＲＥＧノードは「０」となる。
【０２０５】
第２サイクルにおいても、メモリアレイ用センスアンプ２０は、読書きデータバスＲＷＤＡＴＡを通じて第１センスデータを送り、ベリファイ回路５４およびページバッファ／マスクバッファ用制御回路５３は、第１サイクルと同様の処理を行なう。この第２サイクルは、ベリファイ判定信号ＤＩＨＶＰＡＳＳが出力されるまでの期間を下裾ベリファイおよび上裾ベリファイと同一にするために設けたもので、必須のものではない。
【０２０６】
第３サイクルにおいて、メモリアレイ用センスアンプ５２は、読書きデータバスＲＷＤＡＴＡを強制的に「１」にする。ページバッファ／マスクバッファアレイのうちの３２ビット分のマスクバッファは、ビット線ＢＬにベリファイ判定値を出力する。
【０２０７】
ＥＸＮＯＲ部６１は、読書きデータバスＲＷＤＡＴＡを通じて固定値「１」を受け、ビット線ＢＬを通じてベリファイ判定値を受け、ベリファイ判定値が「１」であるか「０」であるかに応じたデータをビット線対ＢＬ，ＩＢＬに出力する。
【０２０８】
その後、ページバッファ／マスクバッファ用制御回路５３は、センスアンプ活性化信号ＳＡＮ／ＩＳＡＰを「１」／「０」にする。これにより、センスアンプ部６２は、ＥＸＮＯＲ部６１から出力されるビット線対ＢＬ，ＩＢＬのデータを増幅する。ＥＸＮＯＲ部６１がベリファイ判定値を「１」と判定したデータを出力したときには、センスアンプ増幅信号ＳＡは「１」となり、反転センスアンプ増幅信号ＩＳＡが「０」となる。ＥＸＮＯＲ部６１がベリファイ判定値を「０」と判定したデータを出力したときには、センスアンプ増幅信号ＳＡは「０」となり、反転センスアンプ増幅信号ＩＳＡは「１」となる。
【０２０９】
その後、ページバッファ／マスクバッファ用制御回路５３は、反転増幅信号取込み信号ＩＴＲＡＮＩＳＡを「０」にする。これにより、ラッチ部６３の変化前のＦＦＲＥＧノードのレベルと、反転センスアンプ増幅信号ＩＳＡのレベルとに応じて、ＦＦＩＲＥＧノードが変化する。ＥＸＮＯＲ部６１がベリファイ判定値を「０」（書込み未完了）と判定し（すなわち反転センスアンプ増幅信号ＩＳＡが「１」である）、かつ変化前のＦＦＲＥＧノードが「０」（第１センスデータが「１」）のときのみ、ＦＦＩＲＥＧノードは「１」となる。一方、ＥＸＮＯＲ部６１がベリファイ判定値を「１」（書込み完了）と判定したとき（すなわち反転センスアンプ増幅信号ＩＳＡが「０」のとき）、または変化前のＦＦＲＥＧノードが「１」（第１センスデータが「０」）のときには、ＦＦＩＲＥＧノードは「０」となる。
【０２１０】
次に、ページバッファ／マスクバッファ制御回路５３は、判定結果出力制御信号ＣＤＥＮを「１」にする。これにより、ＦＦＩＲＥＧノードの３２ビットがいずれもが「０」のときに、ベリファイ判定部６４のノードＣＤＦは「１」となり、ノードＣＤＦから出力されるベリファイ判定信号ＤＩＨＶＰＡＳＳが「１」（ベリファイ判定がＰＡＳＳを示す）となる。
【０２１１】
一方、ＦＦＩＲＥＧノードの３２ビットのうちの少なくとも１ビットが「１」のときに、ベリファイ判定部６４のノードＣＤＦは「０」となり、ノードＣＤＦから出力されるベリファイ判定信号ＤＩＨＶＰＡＳＳが「０」（ベリファイ判定がＦＡＩＬを示す）となる。
【０２１２】
（００データ転送）
図１５は、００データ転送のタイミングチャートを示す。同図の第１〜第４サイクルがベリファイ周期である。同図を参照して、第１サイクルにおいて、ページバッファ／マスクバッファ用制御回路５３は、リセット信号ＩＲＥＳＥＴ００を「０」にする。これにより、ラッチ部６３のＦＦＲＥＧノードが「０」にリセットされる。その後、ページバッファ／マスクバッファ用制御回路５３は、リセット信号ＩＲＥＳＥＴ００を「１」にもどす。
【０２１３】
メモリアレイ用センスアンプ５２は、固定値「１」を読書きデータバスＲＷＤＡＴＡに出力する。ページバッファ／マスクバッファアレイ５１のページバッファ部は、ビット線ＢＬに上位ビットの書込み目標値を出力する。
【０２１４】
ＥＸＮＯＲ部６１は、読書きデータバスＲＷＤＡＴＡを通じて固定値「１」を受け、ビット線ＢＬを通じてページバッファ／マスクバッファアレイ５１のページバッファ部から上位ビットの書込み目標値を受ける。ＥＸＮＯＲ部６１は、上位ビットの書込み目標値が「１」か「０」のいずれであるかに応じたデータをビット線対ＢＬ，ＩＢＬに出力する。
【０２１５】
その後、ページバッファ／マスクバッファ用制御回路５３は、センスアンプ活性化信号ＳＡＮ／ＩＳＡＰを「１」／「０」にする。これにより、センスアンプ部６２は、ＥＸＮＯＲ部６１から出力されるビット線対ＢＬ，ＩＢＬのデータを増幅する。ＥＸＮＯＲ部６１が上位ビットの書込み目標値を「１」と判定したデータを出力したときには、反転センスアンプ増幅信号ＩＳＡは「０」となる。一方、ＥＸＮＯＲ部６１が上位ビットの書込み目標値を「０」と判定したデータを出力したときには、反転センスアンプ増幅信号ＩＳＡは「１」となる。
【０２１６】
その後、ページバッファ／マスクバッファ用制御回路５３は、反転増幅信号取込み信号ＩＴＲＡＮＩＳＡを「０」にする。これにより、ラッチ部６３のＦＦＲＥＧノードの「０」と、反転センスアンプ増幅信号ＩＳＡのレベルとに応じて、ＦＦＩＲＥＧノードが変化する。ＥＸＮＯＲ部６１が上位ビットを「１」と判定したとき（すなわち反転センスアンプ増幅信号ＩＳＡが「０」のとき）には、ＦＦＩＲＥＧノードは「０」となり、ＦＦＲＥＧノードは、「１」となる。一方、ＥＸＮＯＲ部６１が上位ビットを「０」と判定したとき（すなわち反転センスアンプ増幅信号ＩＳＡが「１」のとき）には、ＦＦＩＲＥＧノードは「１」となり、ＦＦＲＥＧノードは「０」となる。
【０２１７】
第２サイクルにおいて、メモリアレイ用センスアンプ５２は、固定値「１」を読書きデータバスＲＷＤＡＴＡに出力する。ページバッファ／マスクバッファアレイ５１のページバッファ部は、ビット線ＢＬに下位ビットの書込み目標値を出力する。
【０２１８】
ＥＸＮＯＲ部６１は、読書きデータバスＲＷＤＡＴＡを通じて固定値「１」を受け、ビット線ＢＬを通じてページバッファ／マスクバッファアレイ５１のページバッファ部から下位ビットの書込み目標値を受ける。ＥＸＮＯＲ部６１は、下位ビットの書込み目標値が「１」の「０」のいずれであるかに応じたデータをビット線対ＢＬ，ＩＢＬに出力する。
【０２１９】
その後、ページバッファ／マスクバッファ用制御回路５３は、センスアンプ活性化信号ＳＡＮ／ＩＳＡＰを「１」／「０」にする。これにより、センスアンプ部６２は、ＥＸＮＯＲ部６１から出力されるビット線対ＢＬ，ＩＢＬのデータを増幅する。ＥＸＮＯＲ部６１が下位ビットの書込み目標値を「１」と判定したデータを出力したときには、反転センスアンプ増幅信号ＩＳＡは「０」となる。一方、ＥＸＮＯＲ部６１が下位ビットの書込み目標値を「０」と判定したデータを出力したときには、反転センスアンプ増幅信号ＩＳＡは「１」となる。
【０２２０】
その後、ページバッファ／マスクバッファ用制御回路５３は、反転増幅信号取込み信号ＩＴＲＡＮＩＳＡを「０」にする。これにより、ラッチ部６３の変化前のＦＦＲＥＧノードのレベルと、反転センスアンプ増幅信号ＩＳＡのレベルとに応じて、ＦＦＩＲＥＧノードが変化する。ＥＸＮＯＲ部６１が上位ビットを「０」と判定したとき（すなわち反転センスアンプ増幅信号ＩＳＡが「１」のとき）、かつ変化前のＦＦＲＥＧノードが「０」のときのみ、ＦＦＩＲＥＧノードは「１」となり、ＦＦＲＥＧノードは「０」となる。つまり、ページバッファ／マスクバッファアレイ５１のページバッファ部の書込み目標値が「００」のときには、ＦＦＩＲＥＧノードは「１」となり、ＦＦＲＥＧノードは「０」となる。一方、ＥＸＮＯＲ部６１が上位ビットを「１」と判定したとき（すなわち反転センスアンプ増幅信号ＩＳＡが「０」のとき）、または変化前のＦＦＲＥＧノードが「１」のときには、ＦＦＩＲＥＧノードは「０」となり、ＦＦＲＥＧノードは「１」となる。つまり、ページバッファの書込み目標値が「０１」、「１０」、または「１１」のときには、ＦＦＩＲＥＧノードは「０」となり、ＦＦＲＥＧノードは「１」となる。
【０２２１】
第３サイクルにおいて、メモリアレイ用センスアンプ５２は、固定値「１」を読書きデータバスＲＷＤＡＴＡに出力する。ページバッファ／マスクバッファ用制御回路５３は、制御線ＣＴＲＬを通じてビット線ＢＬを強制的に「０」にする。
【０２２２】
ＥＸＮＯＲ部６１は、読書きデータバスＲＷＤＡＴＡを通じて固定値「１」を受け、ビット線ＢＬを通じて「０」を受け、これらが不一致と判定する。
【０２２３】
その後、ページバッファ／マスクバッファ用制御回路５３は、センスアンプ活性化信号ＳＡＮ／ＩＳＡＰを「１」／「０」にする。これにより、センスアンプ部６２は、ＥＸＮＯＲ部６１から出力されるビット線対ＢＬ，ＩＢＬのデータを増幅する。ＥＸＮＯＲ部６１が不一致と判定するので、反転センスアンプ増幅信号ＩＳＡは「１」となる。
【０２２４】
その後、ページバッファ／マスクバッファ用制御回路５３は、反転増幅信号取込み信号ＩＴＲＡＮＩＳＡを「０」にする。これにより、ラッチ部６３の変化前のＦＦＲＥＧノードのレベルと、反転センスアンプ増幅信号ＩＳＡ「１」のレベルとに応じて、ＦＦＩＲＥＧノードが変化する。変化前のＦＦＲＥＧノードが「０」のとき、ＦＦＩＲＥＧノードは「１」となる。つまり、ページバッファ／マスクバッファアレイ５１のページバッファ部の書込み目標値が「００」のときには、ＦＦＩＲＥＧノードは「１」となる。一方、変化前のＦＦＲＥＧノードが「１」のときには、ＦＦＩＲＥＧノードは「０」となる。つまり、ページバッファの書込み目標値が「０１」、「１０」、または「１１」のときには、ＦＦＩＲＥＧノードは「０」となる。
【０２２５】
第４サイクルにおいて、ページバッファ／マスクバッファ制御回路５３は、ドライバ制御信号ＩＤＲＶを「０」にする。これにより、ドライバ部６５は、ＦＦＩＲＥＧノードのデータをビット線対ＢＬ，ＩＢＬを介してページバッファ／マスクバッファアレイ５１のマスクバッファ部の対応するビットに出力する。ＦＦＩＲＥＧノードが「１」のときには、ページバッファ／マスクバッファアレイ５１のマスクバッファ部に「０」（書込み未完了）が書込まれ、ＦＦＩＲＥＧノードが「０」のときには、ページバッファ／マスクバッファアレイ５１のマスクバッファ部に「１」（書込み完了）が書込まれる。
【０２２６】
（１１データ転送）
図１６は、１１データ転送のタイミングチャートを示す。同図の第１〜第４サイクルがベリファイ周期である。同図を参照して、第１サイクルにおいて、ページバッファ／マスクバッファ用制御回路５３は、プリセット信号ＰＲＥＳＥＴを「１」にする。これにより、ラッチ部６３のＦＦＲＥＧノードが「１」にプリセットされる。その後、ページバッファ／マスクバッファ用制御回路５３は、プリセット信号ＰＲＥＳＥＴを「０」にもどす。
【０２２７】
メモリアレイ用センスアンプ５２は、固定値「１」を読書きデータバスＲＷＤＡＴＡに出力する。ページバッファ／マスクバッファアレイ５１のページバッファ部は、ビット線ＢＬに上位ビットの書込み目標値を出力する。
【０２２８】
ＥＸＮＯＲ部６１は、読書きデータバスＲＷＤＡＴＡを通じて固定値「１」を受け、ビット線ＢＬを通じてページバッファ／マスクバッファアレイ５１のページバッファ部から上位ビットの書込み目標値を受ける。ＥＸＮＯＲ部６１は、上位ビットの書込み目標値が「１」の「０」のいずれであるかに応じたデータをビット線対ＢＬ，ＩＢＬに出力する。
【０２２９】
その後、ページバッファ／マスクバッファ用制御回路５３は、センスアンプ活性化信号ＳＡＮ／ＩＳＡＰを「１」／「０」にする。これにより、センスアンプ部６２は、ＥＸＮＯＲ部６１から出力されるビット線対ＢＬ，ＩＢＬのデータを増幅する。ＥＸＮＯＲ部６１が上位ビットの書込み目標値を「１」と判定したデータを出力したときには、センスアンプ増幅信号ＳＡは「１」となる。一方、ＥＸＮＯＲ部６１が上位ビットの書込み目標値を「１」と判定したデータを出力したときには、センスアンプ増幅信号ＳＡは「０」となる。
【０２３０】
その後、ページバッファ／マスクバッファ用制御回路５３は、増幅信号取込み信号ＩＴＲＡＮＳＡを「０」にする。これにより、ラッチ部６３のＦＦＲＥＧノードは、センスアンプ増幅信号ＳＡのレベルに応じて変化する。ＥＸＮＯＲ部６１が上位ビットの書込み目標値を「１」と判定したとき（すなわち、センスアンプ増幅信号ＳＡが「１」のとき）には、ＦＦＲＥＧノードは「１」となる。一方、ＥＸＮＯＲ部６１が上位ビットの書込み目標値を「０」と判定したとき（すなわち、センスアンプ増幅信号ＳＡが「０」のとき）には、ＦＦＲＥＧノードは「０」となる。
【０２３１】
第２サイクルにおいて、メモリアレイ用センスアンプ５２は、固定値「１」を読書きデータバスＲＷＤＡＴＡに出力する。ページバッファ／マスクバッファアレイ５１のページバッファ部は、ビット線ＢＬに下位ビットの書込み目標値を出力する。
【０２３２】
ＥＸＮＯＲ部６１は、読書きデータバスＲＷＤＡＴＡを通じて固定値「１」を受け、ビット線ＢＬを通じてページバッファ／マスクバッファアレイ５１のページバッファ部から下位ビットの書込み目標値を受ける。ＥＸＮＯＲ部６１は、下位ビットの書込み目標値が「１」の「０」のいずれであるかに応じたデータをビット線対ＢＬ，ＩＢＬに出力する。
【０２３３】
その後、ページバッファ／マスクバッファ用制御回路５３は、センスアンプ活性化信号ＳＡＮ／ＩＳＡＰを「１」／「０」にする。これにより、センスアンプ部６２は、ＥＸＮＯＲ部６１から出力されるビット線対ＢＬ，ＩＢＬのデータを増幅する。ＥＸＮＯＲ部６１が下位ビットの書込み目標値を「１」と判定したときには、センスアンプ増幅信号ＳＡは「１」となる。一方、ＥＸＮＯＲ部６１が下位ビットの書込み目標値を「０」と判定したときには、センスアンプ増幅信号ＳＡは「０」となる。
【０２３４】
その後、ページバッファ／マスクバッファ用制御回路５３は、増幅信号取込み信号ＩＴＲＡＮＳＡを「０」にする。これにより、ラッチ部６３のＦＦＲＥＧノードは、センスアンプ増幅信号ＳＡのレベルに応じて変化する。ＥＸＮＯＲ部６１が下位ビットの書込み目標値を「１」と判定し（すなわちセンスアンプ増幅信号ＳＡが「１」である）、かつ変化前のＦＦＲＥＧノードが「１」のときのみ、ＦＦＲＥＧノードは「１」となり、ＦＦＩＲＥＧノードは「０」となる。つまり、ページバッファ／マスクバッファアレイ５１のページバッファ部の書込み目標値が「１１」のときには、ＦＦＩＲＥＧノードは「１」となり、ＦＦＩＲＥＧノードは「０」となる。一方、ＥＸＮＯＲ部６１が下位ビットの書込み目標値を「０」と判定したとき（すなわちセンスアンプ増幅信号ＳＡが「０」のとき）、または変化前のＦＦＲＥＧノードが「０」のときには、ＦＦＲＥＧノードは「０」となり、ＦＦＩＲＥＧノードは「１」となる。つまり、ページバッファの書込み目標値が「００」、「０１」、または「１０」のときには、ＦＦＲＥＧノードは「０」となり、ＦＦＩＲＥＧノードは「１」となる。
【０２３５】
第３サイクルにおいて、メモリアレイ用センスアンプ５２は、固定値「１」を読書きデータバスＲＷＤＡＴＡに出力する。ページバッファ／マスクバッファ用制御回路５３は、制御線ＣＴＲＬを通じてビット線ＢＬを強制的に「０」にする。
【０２３６】
ＥＸＮＯＲ部６１は、読書きデータバスＲＷＤＡＴＡを通じて固定値「１」を受け、ビット線ＢＬを通じて「０」を受け、これらが不一致と判定する。
【０２３７】
その後、ページバッファ／マスクバッファ用制御回路５３は、センスアンプ活性化信号ＳＡＮ／ＩＳＡＰを「１」／「０」にする。これにより、センスアンプ部６２は、ＥＸＮＯＲ部６１から出力されるビット線対ＢＬ，ＩＢＬのデータを増幅する。ＥＸＮＯＲ部６１が不一致と判定するので、反転センスアンプ増幅信号ＩＳＡは「１」となる。
【０２３８】
その後、ページバッファ／マスクバッファ用制御回路５３は、反転増幅信号取込み信号ＩＴＲＡＮＩＳＡを「０」にする。これにより、ラッチ部６３の変化前ＦＦＲＥＧノードのレベルと、反転センスアンプ増幅信号ＩＳＡ「１」のレベルとに応じて、ＦＦＩＲＥＧノードが変化する。変化前のＦＦＲＥＧノードが「０」のとき、ＦＦＩＲＥＧノードは「１」となる。つまり、ページバッファ／マスクバッファアレイ５１のページバッファ部の書込み目標値が「００」、「０１」、または「１１」のときには、ＦＦＩＲＥＧノードは「１」となる。一方、変化前のＦＦＲＥＧノードが「１」のときには、ＦＦＩＲＥＧノードは「０」となる。つまり、ページバッファの書込み目標値が「１１」のときには、ＦＦＩＲＥＧノードは「０」となる。
【０２３９】
第４サイクルにおいて、ページバッファ／マスクバッファ制御回路５３は、ドライバ制御信号ＩＤＲＶを「０」にする。これにより、ドライバ部６５は、ＦＦＩＲＥＧノードのデータをビット線対ＢＬ，ＩＢＬを介してページバッファ／マスクバッファアレイ５１のマスクバッファ部の対応するビットに出力する。ＦＦＩＲＥＧノードが「１」のときには、ページバッファ／マスクバッファアレイ５１のマスクバッファ部に「０」（書込み未完了）が書込まれ、ＦＦＩＲＥＧノードが「０」のときには、ページバッファ／マスクバッファアレイ５１のマスクバッファ部に「１」（書込み完了）が書込まれる。
【０２４０】
（上裾ベリファイの動作）
上裾ベリファイ時にメモリアレイ用センスアンプ２０から送られる第１センスデータおよび第２センスデータは、上述したように下裾ベリファイ時と異なる。一方、ベリファイ回路５４における上裾ベリファイの動作は、下裾ベリファイの動作と同様である。したがって、ベリファイ回路５４の上裾ベリファイ時の動作の説明は繰返さない。
【０２４１】
（ダミーベリファイ）
図１７は、ダミーベリファイのタイミングチャートを示す。同図の第１〜第４サイクルがベリファイ周期である。同図を参照して、第１サイクルにおいて、ページバッファ／マスクバッファ用制御回路５３は、プリセット信号ＰＲＥＳＥＴを「１」にする。これにより、ラッチ部６３のＦＦＲＥＧノードが「１」にプリセットされる。その後、ページバッファ／マスクバッファ用制御回路５３は、プリセット信号ＰＲＥＳＥＴを「０」にもどす。
【０２４２】
メモリアレイ用センスアンプ５２は、第１センスデータを読書きデータバスＲＷＤＡＴＡに出力する。ページバッファ／マスクバッファアレイ５１のページバッファ部は、ビット線ＢＬに上位ビットの書込み目標値を出力する。
【０２４３】
ＥＸＮＯＲ部６１は、読書きデータバスＲＷＤＡＴＡを通じて第１センスデータを受け、ビット線ＢＬを通じてページバッファ／マスクバッファアレイ５１のページバッファ部から上位ビットの書込み目標値を受ける。ＥＸＮＯＲ部６１は、第１センスデータと上位ビットの書込み目標値が一致するか否かに応じたデータをビット線対ＢＬ，ＩＢＬに出力する。
【０２４４】
その後、ページバッファ／マスクバッファ用制御回路５３は、センスアンプ活性化信号ＳＡＮ／ＩＳＡＰを「１」／「０」にする。これにより、センスアンプ部６２は、ＥＸＮＯＲ部６１から出力されるビット線対ＢＬ，ＩＢＬのデータを増幅する。ＥＸＮＯＲ部６１が一致と判定したデータを出力したときには、センスアンプ増幅信号ＳＡは「１」となる。一方、ＥＸＮＯＲ部６１が不一致と判定したデータを出力したときには、センスアンプ増幅信号ＳＡは「０」となる。
【０２４５】
その後、ページバッファ／マスクバッファ用制御回路５３は、増幅信号取込み信号ＩＴＲＡＮＳＡを「０」にする。これにより、ラッチ部６３のＦＦＲＥＧノードは、センスアンプ増幅信号ＳＡのレベルに応じて変化する。ＥＸＮＯＲ部６１が一致と判定したとき（すなわち、センスアンプ増幅信号ＳＡが「１」のとき）には、ＦＦＲＥＧノードは「１」となり、ＦＦＩＲＥＧノードは「０」となる。一方、ＥＸＮＯＲ部６１が不一致と判定したとき（すなわち、センスアンプ増幅信号ＳＡが「０」のとき）には、ＦＦＲＥＧノードは「０」となり、ＦＦＩＲＥＧノードは「１」となる。したがって、ＦＦＩＲＥＧノードが「０」となるのは、第１センスデータが「１」、かつ上位ビットの書込み目標値が「１」のとき、または第１センスデータが「０」、かつ上位ビットの書込み目標値が「０」のときである。一方、ＦＦＩＲＥＧノードが「１」となるのは、第１センスデータが「１」、かつ上位ビットの書込み目標値が「０」のとき、または第１センスデータが「０」、かつ上位ビットの書込み目標値が「１」のときである。
【０２４６】
ページバッファ／マスクバッファ用制御回路５３は、取込み指示信号ＩＰＢＷＲＴを「０」にする。これにより、ラッチ部６３に第１センスデータが入力される。ラッチ部６３のＦＦＲＥＧノードは、第１センスデータのレベルと、変化前のＦＦＩＲＥＧノードのレベルとに応じて変化する。第１センスデータが「１」、かつ変化前のＦＦＩＲＥＧノードが「０」のときには、ＦＦＲＥＧノードは「１」となり、ＦＦＩＲＥＧノードは「０」となる。一方、第１センスデータが「０」のとき、または変化前のＦＦＩＲＥＧノードが「１」のときには、ＦＦＲＥＧノードは「０」となり、ＦＦＩＲＥＧノードは「１」となる。
【０２４７】
したがって、第１センスデータが「１」、かつ上位ビットの書込み目標値が「１」のときに、ＦＦＲＥＧノードが「１」となる。一方、第１センスデータが「０」、または上位ビットの書込み目標値が「０」のときには、ＦＦＲＥＧノードが「０」となる。つまり、ＦＦＲＥＧノードは、第１センスデータと上位ビットの書込み目標値との論理積の値となる。その後、ページバッファ／マスクバッファ用制御回路５３は、取込み指示信号ＩＰＢＷＲＴを「１」にもどす。
【０２４８】
次に、第２サイクルにおいて、ページバッファ／マスクバッファ制御回路５３は、ドライバ制御信号ＩＤＲＶを「０」にする。これにより、ドライバ部６５は、ＦＦＩＲＥＧノードのデータをビット線対ＢＬ，ＩＢＬを介してページバッファ／マスクバッファアレイ５１のマスクバッファ部の対応するビットに出力する。ＦＦＲＥＧノードが「１」のときには、ページバッファ／マスクバッファアレイ５１のページバッファ部の上位ビットに「１」が書込まれ、ＦＦＲＥＧノードが「０」のときには、ページバッファ／マスクバッファアレイ５１のページバッファ部の上位ビットに「０」が書込まれる。これにより、ページバッファ／マスクバッファアレイ５１のページバッファ部に格納される上位ビットの論理値は、第１センスデータと上位ビットの書込み目標値との論理積である。
【０２４９】
次に、第３サイクルにおいて、第２センスデータとページバッファ／マスクバッファアレイ５１のページバッファ部の下位ビットについて、第１サイクルにおける第１センスデータとページバッファ／マスクバッファアレイ５１のページバッファ部の上位ビットに対する処理と同様の処理が行なわれる。
【０２５０】
次に、第４サイクルにおいて、ページバッファ／マスクバッファアレイ５１のページバッファ部の下位ビットについて、第３サイクルにおけるページバッファ／マスクバッファアレイ５１のページバッファ部の上位ビットに対する処理と同様の処理が行なわれる。これにより、ページバッファ／マスクバッファアレイ５１のページバッファ部に格納される下位ビットの論理値は、第２センスデータと下位ビットの書込み目標値との論理積である。
【０２５１】
（マスクバッファデータ転送）
図１８は、マスクバッファデータ転送のタイミングチャートを示す。同図の第１サイクル〜第２サイクルがベリファイ周期である。同図を参照して、第１サイクルにおいて、ページバッファ／マスクバッファ用制御回路５３は、プリセット信号ＰＲＥＳＥＴを「１」にする。これにより、ラッチ部６３のＦＦＲＥＧノードが「１」にプリセットされる。その後、ページバッファ／マスクバッファ用制御回路５３は、プリセット信号ＰＲＥＳＥＴを「０」にもどす。
【０２５２】
メモリアレイ用センスアンプ２０は、読書きデータバスＲＷＤＡＴＡを強制的に「１」にする。ページバッファ／マスクバッファアレイのうちの３２ビット分のマスクバッファは、ビット線ＢＬにベリファイ判定値を出力する。
【０２５３】
ＥＸＮＯＲ部６１は、読書きデータバスＲＷＤＡＴＡを通じて固定値「１」を受け、ビット線ＢＬを通じてベリファイ判定値を受け、ベリファイ判定値が「１」であるか「０」であるかを判定する。
【０２５４】
その後、ページバッファ／マスクバッファ用制御回路５３は、センスアンプ活性化信号ＳＡＮ／ＩＳＡＰを「１」／「０」にする。これにより、センスアンプ部６２は、ＥＸＮＯＲ部６１から出力されるビット線対ＢＬ，ＩＢＬのデータを増幅する。ＥＸＮＯＲ部６１がベリファイ判定値を「１」と判定したデータを出力したときには、センスアンプ増幅信号ＳＡは「１」となる。ＥＸＮＯＲ部６１がベリファイ判定値を「０」と判定したデータを出力したときには、センスアンプ増幅信号ＳＡは「０」となる。
【０２５５】
その後、ページバッファ／マスクバッファ用制御回路５３は、増幅信号取込み信号ＩＴＲＡＮＳＡを「０」にする。これにより、ラッチ部６３のＦＦＲＥＧノードは、センスアンプ増幅信号ＳＡのレベルに応じて変化する。ＥＸＮＯＲ部６１がベリファイ判定値を「１」と判定したとき（すなわち、センスアンプ増幅信号ＳＡが「１」のとき）には、ＦＦＲＥＧノードは「１」となる。一方、ＥＸＮＯＲ部６１がベリファイ判定値を「０」と判定したとき（すなわち、センスアンプ増幅信号ＳＡが「０」のとき）には、ＦＦＲＥＧノードは「０」となる。
【０２５６】
ドライバ部６５のインバータＩＶ２に接続されるデータ線ＩＢＤＡＴには、ＦＦＩＲＥＧノードのデータが送られる。ライトドライバ転送制御信号ＷＴＲが「１」となると、セレクタＳ１０が読書きデータバスＲＷＤＡＴＡとデータ線ＩＢＤＡＴとを接続する。これにより、読書きデータバスＲＷＤＡＴＡを通じてライトドライバ＆３２ビットｔｏ６４ビット変換回路１９に転送される。これにより、３２ビット分のデータがライトドライバ＆３２ビットｔｏ６４ビット変換回路１９に転送される。
【０２５７】
第２サイクルにおいて、ページバッファ／マスクバッファアレイのうちの別の３２ビット分のマスクバッファについても、第１サイクルと同様の処理が行なわれる。これにより、さらに３２ビット分のデータがライトドライバ＆３２ビットｔｏ６４ビット変換回路１９に転送される。
【０２５８】
ライトドライバ＆３２ビットｔｏ６４ビット変換回路１９の３２ビットｔｏ６４ビット変換回路部は、読書きデータバスＲＷＤＡＴＡから第１サイクルで受けた３２ビット分のデータと第２サイクルで受けた３２ビット分のデータから６４ビット分のデータを生成する。
【０２５９】
ライトドライバ＆３２ビットｔｏ６４ビット変換回路１９のライトドライバ部は、ＦＦＲＥＧノードが「０」のとき、すなわちページバッファ／マスクバッファアレイ５１のマスクバッファ部のベリファイ判定値が「０」のときに、対応するメモリセルに図示しない電圧制御回路で生成される書込みパルスを印加させる。一方、ライトドライバは、ＦＦＲＥＧノードが「１」のとき、すなわちページバッファ／マスクバッファアレイ５１のマスクバッファ部のベリファイ判定値が「１」のときに、対応するメモリセルに書込みパルスを印加させない。
【０２６０】
（フラッシュトウページバッファ転送）
図１９は、フラッシュトウページバッファ転送のタイミングチャートを示す。同図の第１〜第４サイクルがベリファイ周期である。同図を参照して、第１サイクルにおいて、ページバッファ／マスクバッファ用制御回路５３は、プリセット信号ＰＲＥＳＥＴを「１」にする。これにより、ラッチ部６３のＦＦＲＥＧノードが「１」にプリセットされる。その後、ページバッファ／マスクバッファ用制御回路５３は、プリセット信号ＰＲＥＳＥＴを「０」にもどす。
【０２６１】
メモリアレイ用センスアンプ５２は、第１センスデータを読書きデータバスＲＷＤＡＴＡに出力する。ページバッファ／マスクバッファ用制御回路５３は、制御線ＣＴＲＬを通じてビット線ＢＬを強制的に「１」にする。
【０２６２】
ＥＸＮＯＲ部６１は、読書きデータバスＲＷＤＡＴＡを通じて第１センスデータを受け、ビット線ＢＬを通じて固定値「１」を受け、第１センスデータが「１」であるか「０」であるかに応じたデータをビット線対ＢＬ，ＩＢＬに出力する。
【０２６３】
その後、ページバッファ／マスクバッファ用制御回路５３は、センスアンプ活性化信号ＳＡＮ／ＩＳＡＰを「１」／「０」にする。これにより、センスアンプ部６２は、ＥＸＮＯＲ部６１から出力されるビット線対ＢＬ，ＩＢＬのデータを増幅する。ＥＸＮＯＲ部６１が第１センスデータを「１」と判定したデータを出力したときには、センスアンプ増幅信号ＳＡは「１」となる。ＥＸＮＯＲ部６１が第１センスデータを「０」と判定したデータを出力したときには、センスアンプ増幅信号ＳＡは「０」となる。
【０２６４】
その後、ページバッファ／マスクバッファ用制御回路５３は、増幅信号取込み信号ＩＴＲＡＮＳＡを「０」にする。これにより、ラッチ部６３のＦＦＲＥＧノードは、センスアンプ増幅信号ＳＡのレベルに応じて変化する。ＥＸＮＯＲ部６１が第１センスデータを「１」と判定したとき（すなわち、センスアンプ増幅信号ＳＡが「１」のとき）には、ＦＦＲＥＧノードは「１」となる。一方、ＥＸＮＯＲ部６１が第１センスデータを「０」と判定したとき（すなわち、センスアンプ増幅信号ＳＡが「０」のとき）には、ＦＦＲＥＧノードは「０」となる。
【０２６５】
次に、第２サイクルにおいて、ページバッファ／マスクバッファ制御回路５３は、ドライバ制御信号ＩＤＲＶを「０」にする。これにより、ドライバ部６５は、ＦＦＩＲＥＧノードのデータをビット線対ＢＬ，ＩＢＬを介してページバッファ／マスクバッファアレイ５１のページバッファ部の対応するビットに出力する。ＦＦＲＥＧノードが「１」のときには、ページバッファ／マスクバッファアレイ５１のページバッファ部の上位ビットに「１」が書込まれ、ＦＦＲＥＧノードが「０」のときには、ページバッファ／マスクバッファアレイ５１のページバッファ部の上位ビットに「０」が書込まれる。これにより、ページバッファ／マスクバッファアレイ５１のページバッファ部に格納される上位ビットの論理値は、第１センスデータの論理値となる。
【０２６６】
次に、第３サイクルにおいて、第２センスデータとページバッファ／マスクバッファアレイ５１のページバッファ部の下位ビットについて、第１サイクルにおける第１センスデータとページバッファ／マスクバッファアレイ５１のページバッファ部の上位ビットに対する処理と同様の処理が行なわれる。
【０２６７】
次に、第４サイクルにおいて、ページバッファ／マスクバッファアレイ５１のページバッファ部の下位ビットについて、第３サイクルにおけるページバッファ／マスクバッファアレイ５１のページバッファ部の上位ビットに対する処理と同様の処理が行なわれる。これにより、ページバッファ／マスクバッファアレイ５１のページバッファ部に格納される下位ビットの論理値は、第２センスデータの論理値である。
【０２６８】
（フラッシュトウページバッファ反転転送）
図２０は、フラッシュトウページバッファ反転転送のタイミングチャートを示す。同図の第１〜第４サイクルがベリファイ周期である。同図を参照して、第１サイクルにおいて、ページバッファ／マスクバッファ用制御回路５３は、プリセット信号ＰＲＥＳＥＴを「１」にする。これにより、ラッチ部６３のＦＦＲＥＧノードが「１」にプリセットされる。その後、ページバッファ／マスクバッファ用制御回路５３は、プリセット信号ＰＲＥＳＥＴを「０」にもどす。
【０２６９】
メモリアレイ用センスアンプ５２は、第１センスデータを読書きデータバスＲＷＤＡＴＡに出力する。ページバッファ／マスクバッファ用制御回路５３は、制御線ＣＴＲＬを通じてビット線ＢＬを強制的に「０」にする。
【０２７０】
ＥＸＮＯＲ部６１は、読書きデータバスＲＷＤＡＴＡを通じて第１センスデータを受け、ビット線ＢＬを通じて固定値「０」を受け、第１センスデータが「０」であるか「１」であるかに応じたデータをビット線対ＢＬ，ＩＢＬに出力する。
【０２７１】
その後、ページバッファ／マスクバッファ用制御回路５３は、センスアンプ活性化信号ＳＡＮ／ＩＳＡＰを「１」／「０」にする。これにより、センスアンプ部６２は、ＥＸＮＯＲ部６１から出力されるビット線対ＢＬ，ＩＢＬのデータを増幅する。ＥＸＮＯＲ部６１が第１センスデータを「０」と判定したデータを出力したときには、センスアンプ増幅信号ＳＡは「１」となる。ＥＸＮＯＲ部６１が第１センスデータを「１」と判定したデータを出力したときには、センスアンプ増幅信号ＳＡは「０」となる。
【０２７２】
その後、ページバッファ／マスクバッファ用制御回路５３は、増幅信号取込み信号ＩＴＲＡＮＳＡを「０」にする。これにより、ラッチ部６３のＦＦＲＥＧノードは、センスアンプ増幅信号ＳＡのレベルに応じて変化する。ＥＸＮＯＲ部６１が第１センスデータを「０」と判定したとき（すなわち、センスアンプ増幅信号ＳＡが「１」のとき）には、ＦＦＲＥＧノードは「１」となる。一方、ＥＸＮＯＲ部６１が第１センスデータを「１」と判定したとき（すなわち、センスアンプ増幅信号ＳＡが「０」のとき）には、ＦＦＲＥＧノードは「０」となる。
【０２７３】
次に、第２サイクルにおいて、ページバッファ／マスクバッファ制御回路５３は、ドライバ制御信号ＩＤＲＶを「０」にする。これにより、ドライバ部６５は、ＦＦＩＲＥＧノードのデータをビット線対ＢＬ，ＩＢＬを介してページバッファ／マスクバッファアレイ５１のページバッファ部の対応するビットに出力する。ＦＦＲＥＧノードが「１」のときには、ページバッファ／マスクバッファアレイ５１のページバッファ部の上位ビットに「１」が書込まれ、ＦＦＲＥＧノードが「０」のときには、ページバッファ／マスクバッファアレイ５１のページバッファ部の上位ビットに「０」が書込まれる。これにより、ページバッファ／マスクバッファアレイ５１のページバッファ部に格納される上位ビットの論理値は、第１センスデータの論理値の反転値となる。
【０２７４】
次に、第３サイクルにおいて、第２センスデータとページバッファ／マスクバッファアレイ５１のページバッファ部の下位ビットについて、第１サイクルにおける第１センスデータとページバッファ／マスクバッファアレイ５１のページバッファ部の上位ビットに対する処理と同様の処理が行なわれる。
【０２７５】
次に、第４サイクルにおいて、ページバッファ／マスクバッファアレイ５１のページバッファ部の下位ビットについて、第３サイクルにおけるページバッファ／マスクバッファアレイ５１のページバッファ部の上位ビットに対する処理と同様の処理が行なわれる。これにより、ページバッファ／マスクバッファアレイ５１のページバッファ部に格納される下位ビットの論理値は、第２センスデータの論理値の反転値である。
【０２７６】
以上のように、本実施の形態に係る不揮発性半導体記憶装置によれば、第１の実施形態と同様に、マスクバッファとページバッファの２つのバッファを備えることにより、不揮発性のメモリセルトランジスタに多値書込みを行なう際に、ベリファイを適切に行なうことができるとともに、次のようなことが可能となる。
【０２７７】
まず、ベリファイ回路５４内部にセンスアンプ部６２を取込むことにより、不揮発性半導体記憶装置の面積を縮小できる。
【０２７８】
また、ベリファイ回路５４とメモリアレイ用センスアンプ２０とを接続する読出し用のバスと、ベリファイ回路５４とライトドライバ＆３２ビットｔｏ６４ビット変換回路１９とを接続する書込み用のバスを共通化できる。
【０２７９】
また、パルスチェックベリファイと００転送とにより、論理値「００」の書込みにおいて、書込みパルスの増加幅を大きくすることによって、メモリセルへの書込みを高速化できる。
【０２８０】
また、１１転送により、上裾ベリファイ時に、書込み非対象である論理値「１１」の上裾ベリファイを自動的にＰＡＳＳ（成功）することができる。これによって、"１１"上裾レベル（＝Ｖ_１１Ｈ）のレベルがノイズなどによって変動して、無用なベリファイの失敗が発生しないようにできる。
【０２８１】
また、ダミーベリファイによって、書込み不可の書込み目標値を、書込み可能な書込み目標値に修正することができる。
【０２８２】
メモリアレイからページバッファ部へのデータの転送、およびマスクバッファ部から読書きデータバスＲＷＤＡＴＡを通じてのデータの転送が可能となる。
【０２８３】
また、外部から設定可能な図示しないレジスタの設定値に応じた周期の内部クロック信号ＩＣＬＫに基づいて、ベリファイ回路５４を制御する信号が生成されるので、ベリファイ周期を所望のものに設定することができる。ベリファイ周期を長くすることによって、低消費電流で動作させることができる。
【０２８４】
本発明は、上記の実施形態に限定するものではなく、たとえば、以下のような変形例も含む。
【０２８５】
（１）  Ｎビットの書込み
本発明の実施の形態では、２ビットの書込みの例を説明したが、３ビット以上の書込みにも適用することができる。
【０２８６】
（２）  第１の実施形態のベリファイ回路
本発明の第１の実施形態においても、ベリファイ回路１７に素子の追加、および／または制御する信号を追加することによって、上裾ベリファイ前に「１１」転送して、上裾ベリファイ時にマスクバッファ内のベリファイ判定値が「１」であれば自動的に上裾ベリファイをＰＡＳＳさせる機能を備えることができる。
【０２８７】
また、本発明の第１の実施形態においても、ベリファイ回路１７に素子の追加、および／または制御する信号を追加することによって、パルスチェックベリファイおよび「００」転送後に、書込みパルスの電圧の増加幅を大きくする機能を備えることができる。
【０２８８】
同様に、本発明の第１の実施形態においても、ベリファイ回路１７に素子の追加、および／または制御する信号を追加することによって、フラッシュトウページバッファ転送、フラッシュトウページバッファ反転転送、およびマスクバッファデータ転送の機能を備えることができる。
【０２８９】
（３）  レジスタの設定値に応じたクロック
外部から設定可能な図示しないレジスタの設定値に応じた周期の内部クロック信号ＩＣＬＫに基づいて、ベリファイ回路５４を制御する信号が生成されることを説明したが、ベリファイ動作に関連する他の回路の制御信号も生成するものとしてもよい。たとえば、メモリアレイ用センスアンプ２０、およびメモリアレイ２１に接続されるビット線をプリチャージするプリチャージ回路もレジスタの設定値に応じた周期の内部クロック信号ＩＣＬＫに基づいて生成するものとしてもよい。
【０２９０】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０２９１】
【図１】ＳＬＣのメモリセルの閾値電圧Ｖｔｈの分布を示す図である。
【図２】メモリセルがＳＬＣであるフラッシュメモリの書込みシーケンスの示すフローチャートである。
【図３】メモリセルがＳＬＣであるフラッシュメモリの書込みシーケンスにおけるページバッファ内の選択されたメモリセルに対応するビットの格納値の推移を示す図である。
【図４】第１の実施形態に係るメモリセルがＭＬＣである不揮発性半導体記憶装置の構成を示すブロック図である
【図５】ＭＬＣのメモリセルの閾値電圧Ｖｔｈの分布を示す図である。
【図６】ダミーベリファイによって、メモリセルに格納されている値および外部から与えられた書込み目標値から生成される新たな書込み目標値を示す図である。
【図７】ベリファイ回路１７の詳細な構成を示す図である。
【図８】第１の実施形態における書込みシーケンスを示すフローチャートである。
【図９】書込みシーケンスにおける、ページバッファアレイ１１およびマスクバッファアレイ１２内の選択されたメモリセルに対応するビットの格納値の推移を示す
【図１０】第２の実施形態に係る不揮発性半導体記憶装置の構成を示すブロック図である。
【図１１】ベリファイ回路５４の詳細な構成を示す図である。
【図１２】第２の実施形態における書込みシーケンスを示すフローチャートである
【図１３】下裾ベリファイのタイミングチャートを示す図である。
【図１４】パルスチェックベリファイのタイミングチャートを示す図である。
【図１５】００データ転送のタイミングチャートを示す図である。
【図１６】１１データ転送のタイミングチャートを示す図である。
【図１７】ダミーベリファイのタイミングチャートを示す図である。
【図１８】マスクバッファデータ転送のタイミングチャートを示す図である。
【図１９】フラッシュトウページバッファ転送のタイミングチャートを示す図である。
【図２０】フラッシュトウページバッファ反転転送のタイミングチャートを示す図である。
【符号の説明】
【０２９２】
１１  ページバッファアレイ、１２  マスクバッファアレイ、１３  ページバッファ用センスアンプ、１４  マスクバッファ用センスアンプ、１５  ６４ビットｔｏ３２ビット変換回路、１６  ３２ビットｔｏ６４ビット変換回路、１７，５４  ベリファイ回路、１８，５３  ページバッファ／マスクバッファ用制御回路、１９  ライトドライバ＆３２ビットｔｏ６４ビット変換回路、２０  メモリアレイ用センスアンプ、２１  メモリアレイ、２２，２３，５２  Ｙゲート、２４  ページバッファ＆周辺回路群、２５  マスクバッファ＆周辺回路群、２６  ＣＰＵ、２７  ＣＵＩ、２８  ＯＳＣ、３１  ラッチ部、３２，６１  ＥＸＮＯＲ部、３３  目標セルデータ生成部、３４  ２ビット比較部、３５，６４  ベリファイ判定部、５１  ページバッファ／マスクバッファアレイ、６２  センスアンプ部、６５  ドライバ部、１００，２００  不揮発性半導体記憶装置、Ｌ１，Ｌ２，Ｌ３，Ｌ４，Ｌ５，Ｌ６  ラッチ回路、Ｅ１，Ｅ２  排他的論理和回路、Ａ１，Ａ２，Ａ３  論理積回路、Ｏ１，Ｏ２，Ｏ３  論理和回路、５５，Ｓ１，Ｓ２，Ｓ１０  セレクタ、ＩＶ１，ＩＶ２，ＩＶ３  インバータ、ＮＯ１，ＮＯ２，ＮＯ３，ＮＯ５，ＮＯ６，ＮＯ７  反転論理和回路、ＮＡ３，ＮＡ４，ＮＡ５  反転論理積回路。
【図１】
2005285253.tif 000003
【図２】
2005285253.tif 000004
【図３】
2005285253.tif 000005
【図４】
2005285253.tif 000006
【図５】
2005285253.tif 000007
【図６】
2005285253.tif 000008
【図７】
2005285253.tif 000009
【図８】
2005285253.tif 000010
【図９】
2005285253.tif 000011
【図１０】
2005285253.tif 000012
【図１１】
2005285253.tif 000013
【図１２】
2005285253.tif 000014
【図１３】
2005285253.tif 000015
【図１４】
2005285253.tif 000016
【図１５】
2005285253.tif 000017
【図１６】
2005285253.tif 000018
【図１７】
2005285253.tif 000019
【図１８】
2005285253.tif 000020
【図１９】
2005285253.tif 000021
【図２０】
2005285253.tif 000022