JP2005285253A - 不揮発性半導体記憶装置 - Google Patents

不揮発性半導体記憶装置 Download PDF

Info

Publication number
JP2005285253A
JP2005285253A JP2004099590A JP2004099590A JP2005285253A JP 2005285253 A JP2005285253 A JP 2005285253A JP 2004099590 A JP2004099590 A JP 2004099590A JP 2004099590 A JP2004099590 A JP 2004099590A JP 2005285253 A JP2005285253 A JP 2005285253A
Authority
JP
Japan
Prior art keywords
bit
buffer
value
verify
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2004099590A
Other languages
English (en)
Other versions
JP4421925B2 (ja
Inventor
Tomoyuki Fujisawa
友之 藤沢
Teru Shibahara
輝 柴原
Hidenori Mitani
秀徳 三谷
Akihiko Kanda
明彦 神田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Technology Corp
Original Assignee
Renesas Technology Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Renesas Technology Corp filed Critical Renesas Technology Corp
Priority to JP2004099590A priority Critical patent/JP4421925B2/ja
Priority to US11/082,992 priority patent/US7242611B2/en
Priority to TW094108567A priority patent/TWI346954B/zh
Priority to CNB2005100627678A priority patent/CN100492539C/zh
Publication of JP2005285253A publication Critical patent/JP2005285253A/ja
Priority to US11/819,016 priority patent/US7742334B2/en
Priority to US11/819,015 priority patent/US7518929B2/en
Application granted granted Critical
Publication of JP4421925B2 publication Critical patent/JP4421925B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/562Multilevel memory programming aspects
    • G11C2211/5621Multilevel programming verification

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)

Abstract

【課題】 不揮発性のメモリセルトランジスタに多値書込みを行なう際に、ベリファイを適切に行なうことのできる不揮発性半導体記憶装置を提供する。
【解決手段】 メモリアレイ21のメモリセルは2ビットを記憶する。メモリアレイ用センスアンプ20は、ベリファイ時に2ビットを出力する。ページバッファの各2ビットが対応するメモリセルへの書込み目標値を記憶する。マスクバッファの各ビットが対応するメモリセルへの処理を定めた値を記憶する。ライトドライバは、選択されたメモリセルに対応するマスクバッファ内のビットが「0」のときに書込みパルスを印加する。ベリファイ回路54は、メモリアレイ用センスアンプ20から出力される2ビットとページバッファ内の対応する2ビットとを比較し、比較結果が一致するときに、対応するマスクバッファ内のビットが「0」であれば「1」に書き換える。
【選択図】 図10

Description

本発明は、不揮発性半導体記憶装置に関し、特に不揮発性半導体記憶装置の多値書込み技術に関する。
近年、不揮発なデータ記憶が可能なフラッシュメモリなどの不揮発性半導体記憶装置が主流となってきている。フラッシュメモリなどの不揮発性半導体記憶装置の書込みが正常に行なわれたか否かを確かめるために、ベリファイ動作が行なわれる。
たとえば、特許文献1では、以下のようなベリファイ動作が記載されている。すなわち、1本のビット線に対応して、1個のページバッファP/Bが接続される。各ページバッファP/Bは、選択されたメモリセルに対するプログラムデータをラッチする。複数個のページバッファP/Bは、カラムゲートを経由して、読出し/書込み回路内のセンスアンプS/A・0に接続される。ベリファイリードでは、選択されたカラムのリードデータの検出を、通常データリードのためのセンスアンプを用いて行なう。センスアンプS/A・0により検出されたリードデータ、即ち、ベリファイリード結果は、選択されたカラムのページバッファP/Bに転送される。ページバッファP/B内のプログラムデータは、このベリファイリード結果に基づいて書き換えられる。
特開2001−312980号公報
しかしながら、1個のメモリセルトランジスタに多値を書込み場合には、メモリセルの閾値が所望の範囲にあるかどうかを確かめるために、下裾ベリファイと上裾ベリファイの2回のベリファイが必要なところ、ページバッファ内のプログラムデータが、1回のベリファイリード結果により書き換えられるため、2回目のベリファイを行なうことができない。
それゆえに、本発明は、不揮発性のメモリセルトランジスタに多値書込みを行なう際に、ベリファイを適切に行なうことのできる不揮発性半導体記憶装置を提供することである。
上記課題を解決するために、本発明のある局面に係る不揮発性半導体記憶装置は、各々が、閾値電圧に応じてNビットの論理値を記憶する不揮発性のメモリセルトランジスタが複数個行列状に配置されたメモリアレイと、下裾ベリファイ時には、下裾ベリファイ用の閾値電圧の区分に基づいて、選択されたメモリセルの閾値電圧の範囲を2分探索でN回調べることによって、Nビットの論理値を出力し、上裾ベリファイ時には、上裾ベリファイ用の閾値電圧の区分に基づいて、選択されたメモリセルの閾値電圧の範囲を2分探索でN回調べることによって、Nビットの論理値を出力するメモリアレイ用センスアンプと、各Nビットが、対応するメモリセルへの書込み目標値を記憶する第1のバッファと、各1ビットが、対応するメモリセルへの処理を定めた値を記憶する第2のバッファと、選択されたメモリセルに対応する第2のバッファ内のビットが第1の値を示すときに、書込みパルスの印加を選択するライトドライバと、メモリアレイ用センスアンプから出力されるNビットの論理値と、第1のバッファ内の対応するNビットの書込み目標値とを比較し、比較結果が一致するときにはベリファイ成功を示す信号を出力し、比較結果が不一致のときにはベリファイ失敗を示す信号を出力するベリファイ回路とを備え、ベリファイ回路は、比較結果が一致すると判定した場合に、選択されたメモリセルに対応する第2のバッファ内のビットが第1の値を示すときに、ビットを第2の値に書き換える。
本発明のある局面に係る不揮発性半導体記憶装置によれば、不揮発性のメモリセルトランジスタに多値書込みを行なう際に、ベリファイを適切に行なうことができる。
以下、本発明の実施の形態について図面を用いて説明する。
[第1の実施形態]
本実施の形態は、マスクバッファとページバッファとを有する不揮発性半導体記憶装置に関する。
まず、本実施の形態に係る不揮発性半導体記憶装置の説明の前に、フラッシュメモリセルについて説明する。
フラッシュメモリセルは、フローティングゲート、コントロールゲート、ソースおよびドレインを有するトランジスタで構成される。コントロールゲートは、メモリセルを選択するためのワード線WLと接続される。ソースおよびドレインは、ソース線SLおよびビット線BLとそれぞれ接続する。
フラッシュメモリセルへのデータの書込みは、書込みパルスを印加することにより、チャネルホットエレクトン(CHE)を利用してフローティングゲートに電子を注入させて、閾値電圧を上昇させることによって行なわれる。
フラッシュメモリセルからのデータの読出しは、予めビット線をプリチャージしておき、コントロールゲートと結合されたワード線に一定電圧を与えてある所定時間メモリディスチャージを行なって、それからビット線に流れる電流の大きさを検出することによって実行される。
(メモリセルがSLCであるフラッシュメモリ)
図1は、SLC(Single Level Cell)のフラッシュメモリセルの閾値電圧Vthの分布を示す。同図において、横軸は度数(メモリセルの数)を示す。同図に示すように、メモリセルごとに閾値電圧はばらつく。したがって、このようなばらつきを考慮して、それぞれのメモリセルが有する閾値電圧に対して論理値が対応づけられる。つまり、閾値電圧が"0"下裾以上の範囲に属するメモリセルは論理値「0」に対応させられ、閾値電圧が"1"下裾以上、かつ"1"上裾以下の範囲に属するメモリセルは、論理値「1」を対応させられる。したがって、メモリセルには、閾値電圧に応じて「0」または「1」の2値データが記憶されることになる。
(メモリセルがSLCであるフラッシュメモリの書込みシーケンス)
図2は、メモリセルがSLCであるフラッシュメモリの書込みシーケンスを示すフローチャートである。
ステップS101において、所定の電圧の所定のパルス幅の書込みパルスがメモリセルトランジスタのゲートに印加される。
ステップS102において、メモリセルの閾値電圧Vthの下裾ベリファイが行なわれる。すなわち、メモリセルの閾値電圧Vthが"0"下裾レベル(=V_0L)以上かどうかが判定される。具体的には、ベリファイ用ゲート電圧をメモリセルに与えて、そのときメモリセルに流れる電流値Imが、"0"下裾レベルにおいて流れる電流値Is以下のときに、閾値電圧Vthが"0"下裾レベル以上であり、電流値Imが電流値Isを越えるときに、閾値電圧Vthが"0"下裾レベル未満と判定される。
ステップS101とステップS102とが繰返されることによって、書込みパルスの印加回数が増え、メモリセルの閾値電圧Vthが増加する。そして、増加した閾値電圧Vthに対して下裾ベリファイが行なわれる。
そして、ステップS102において、閾値電圧Vthが、"0"下裾レベル(V_0L)以上となったときには、そのメモリセルへの書込みが終了する。
(メモリセルがSLCであるフラッシュメモリのページバッファ)
図3は、メモリセルがSLCであるフラッシュメモリの書込みシーケンスにおける、ページバッファ内の選択されたメモリセルに対応するビットの格納値の推移を示す図である。
同図に示すように、ページバッファの各ビットは、対応するメモリセルに書込みパルスを印加するか否かを定めるパルス印加指示値を格納する。パルス印加指示値が「0」のときには書込みパルスが印加され、パルス印加指示値が「1」のときには書込みパルスが印加されない。
ページバッファの各ビットのパルス印加指示値の初期値は、外部から与えられる。パルス印加指示値が「0」であるメモリセルには書込みパルスが印加されて、メモリセルの閾値Vthが上昇する。あるメモリセルの閾値Vthが"0"下裾レベル(V_0L)以上となったとき、そのメモリセルへの書込みが終了し、ページバッファ内のそのメモリセルに対応するビットのパルス印加指示値が「1」に書き換えられる。
最終的にページバッファ内のすべてのビットのパルス印加指示値が「1」となったときに、フラッシュメモリへの書込みが終了する。
(第1の実施形態の不揮発性半導体記憶装置)
図4は、第1の実施形態に係るメモリセルがMLCである不揮発性半導体記憶装置100の構成を示すブロック図である。同図を参照して、この不揮発性半導体記憶装置100は、メモリアレイ21と、ライトドライバ&32ビットto64ビット変換回路19と、メモリアレイ用センスアンプ20と、ページバッファ&周辺回路群24と、マスクバッファ&周辺回路群25と、ベリファイ回路17と、ページバッファ/マスクバッファ用制御回路18と、CPU26と、CUI27と、OSC28とを備える。
OSC28は、内部クロック信号ICLKを生成する。
CPU26は、OSC28からの内部クロック信号ICLKを受けて、不揮発性半導体記憶装置の全体制御を行なう。
CUI27は、外部から与えられるデータ信号を受け、内部の各構成要素に分配する。
メモリアレイ21は、行列状に配置された複数個のフラッシュメモリ用のメモリセルトランジスタを含む。各メモリセルトランジスタは、MLC(Multi Level Cell)である。
図5は、MLCのメモリセルの閾値電圧Vthの分布を示す。同図において、横軸は度数(メモリセルの数)を示す。同図に示すように、メモリセルごとに閾値電圧はばらつく。したがって、このようなばらつきを考慮して、それぞれのメモリセルが有する閾値電圧に対して論理値が対応づけられる。つまり、閾値電圧Vthが"11"下裾(V_11L)以上、かつ"11"上裾(V_11H)以下の範囲に属するメモリセルは論理値「11」に対応させられ、閾値電圧Vthが"10"下裾(V_10L)以上、かつ"10"上裾(V_10H)以下の範囲に属するメモリセルは論理値「10」に対応させられ、閾値電圧Vthが"01"下裾(V_01L)以上、かつ"01"上裾(V_01H)以下の範囲に属するメモリセルは論理値「01」に対応させられ、閾値電圧Vthが"00"下裾(V_00L)以上の範囲に属するメモリセルは論理値「00」に対応させられる。したがって、メモリセルには、閾値電圧Vthに応じて「11」、「10」、「01」または「00」の4値データが記憶されることになる。
メモリアレイ21のメモリセルは、図示しないアドレスデコーダによって、32個の列が選択される。
メモリアレイ用センスアンプ20は、選択された32個のメモリセルの閾値を調べて、第1センスデータおよび第2センスデータをシリアルに出力する。下裾ベリファイ時には、下裾ベリファイ用の閾値電圧の区分に基づいて、選択された32個のメモリセルのそれぞれの閾値電圧の範囲を2分探索で2回調べることによって、2ビットの論理値(第1センスデータおよび第2センスデータ)を出力し、上裾ベリファイ時には、上裾ベリファイ用の閾値電圧の区分に基づいて、選択された32個のメモリセルのそれぞれの閾値電圧の範囲を2分探索で2回調べることによって、2ビットの論理値(第1センスデータおよび第2センスデータ)をシリアルに出力する。
ページバッファ&周辺回路群24は、ページバッファアレイ11と、Yゲート22と、ページバッファ用センスアンプ&ライトドライバ13と、64ビットto32ビット変換回路15とを備える。
ページバッファアレイ11は、各セルが2値(0または1)を保持するSRAM(Static Random Access Memory)で構成されている。ページバッファアレイ11の各セルは、対応するメモリアレイ21のメモリセルの上位ビットの書込み目標値または下位ビットの書込み目標値を保持する。
Yゲート22は、メモリアレイ21の選択された32個のメモリセルに対応するページバッファアレイ11の64個のセルとページバッファ用センスアンプ&ライトドライバ13とを接続する。
ページバッファ用センスアンプ&ライトドライバ13は、ページバッファアレイ11の64個のセルからYゲート22を介して出力された64ビットのデータを増幅して、64ビットto32ビット変換回路15に送る。また、ページバッファ用センスアンプ&ライトドライバ13は、64ビットto32ビット変換回路15から出力された64ビットのデータをYゲート22を介してページバッファアレイ11の64個のセルに書込む。
64ビットto32ビット変換回路15は、ページバッファ用センスアンプ&ライトドライバ13から出力された64ビットのデータを32ビットずつ2回に分けてベリファイ回路17に出力する。また、64ビットto32ビット変換回路15は、ベリファイ回路17から1回につき32ビットのデータを受け、2回受けるごとに64ビットのデータにしてベージバッファ用センスアンプ&ライトドライバ13に出力する。
マスクバッファ&周辺回路群25は、マスクバッファアレイ12と、Yゲート23と、マスクバッファ用センスアンプ&ライトドライバ14と、32ビットto16ビット変換回路16とを備える。
マスクバッファアレイ12の各セルは、各セルが2値(0または1)を保持するSRAMで構成されている。マスクバッファアレイ12の各セルは、対応するメモリセルに対するパルス印加指示値を保持する。
Yゲート23は、メモリアレイ21の選択された32個のメモリセルに対応するマスクバッファアレイ11の32個のセルとマスクバッファ用センスアンプ&ライトドライバ14とを接続する
マスクバッファ用センスアンプ&ライトドライバ14は、マスクバッファアレイ12の32個のセルからYゲート23を介して出力された32ビットのデータを増幅して、32ビットto16ビット変換回路16に送る。また、マスクバッファ用センスアンプ&ライトドライバ14は、32ビットto16ビット変換回路16から出力された32ビットのデータをYゲート23を介してマスクバッファアレイ12の32個のセルに書込む。
32ビットto16ビット変換回路16は、マスクバッファ用センスアンプ&ライトドライバ14から出力された32ビットのデータを16ビットずつ2回に分けてベリファイ回路17に出力する。また、32ビットto16ビット変換回路16は、ベリファイ回路17から1回につき16ビットのデータを受け、2回受けるごとに32ビットのデータにしてマスクバッファ用センスアンプ&ライトドライバ14に出力する。
ライトドライバ&32ビットto64ビット変換回路19の32ビットto64ビット変換回路部は、マスクバッファセンスアンプ14から32ビットのデータを2回受けるごとに、64ビットのデータにしてライトドライバ部に送る。このように32ビットのデータを64ビットのデータに変換したのは、メモリアレイ21への書込み時には、2回分の読出しの対象である64個のメモリセルを選択するものとして、書込みの高速化を図るためである。ライトドライバ&32ビットto64ビット変換回路19のライトドライバ部は、パルス印加指示値を示す各ビットのデータが「0」のときに、メモリアレイ21の選択されたメモリセルに対して、図示しない電圧制御回路で生成される書込みパルスを印加させる。
ページバッファ/マスクバッファ用制御回路18は、ベリファイ回路17を制御する。
ベリファイ回路17は、下裾ベリファイと上裾ベリファイに加えて、ダミーベリファイを行なう。
ダミーベリファイとは、メモリアレイ21のメモリセルに記憶されている論理値と、外部からページバッファアレイに与えられた書込み目標値とから、新たな書込み目標値を生成して、新たな書込み目標値をページバッファアレイに転送することをいう。
図6は、ダミーベリファイによって、メモリセルに記憶されている論理値および外部から与えられた書込み目標値から生成される新たな書込み目標値を示す。同図に示すように、新たな書込み目標値は、メモリセルに記憶されている論理値と、外部から与えられた書込み目標値との論理積である。このように論理積(AND論理)を採用するのは、以下の理由による。
まず、メモリセルに記憶されている論理値が「0」で、外部から与えられた書込み目標値が「0」のときには、メモリセルの論理値は現状のまま変更する必要がないので、新たな書込み目標値は、外部から与えられた書込み目標値「0」で問題ない。
また、メモリセルに記憶されている論理値が「1」で、外部から与えられた書込み目標値が「1」のときには、メモリセルの論理値は現状のまま変更する必要がないので、新たな書込み目標値は、外部から与えられた書込み目標値「1」で問題ない。
一方、メモリセルに記憶されている論理値が「1」で、外部から与えられた書込み目標値が「0」のときには、書込みパルスの印加によりメモリセルの閾値を上げることができ、メモリセルの論理値を「1」から「0」に変更することができる。したがって、新たな書込み目標値は外部から与えられた書込み目標値「0」とする。
他方、メモリセルに記憶されている論理値が「0」で、外部から与えられた書込み目標値が「1」のときには、書込みパルスの印加ではメモリセルの閾値を下げることができないので、メモリセルの論理値を「0」から「1」に変更できない。したがって、新たな書込み目標値はメモリセルに現状記憶されている論理値「0」とする。
図7は、ベリファイ回路17の詳細な構成を示す。同図を参照して、このベリファイ回路17は、ラッチ部31と、EXNOR部32と、目標セルデータ生成部33と、2ビット比較部34と、ベリファイ判定部35とを備える。
ラッチ部31は、メモリアレイ用センスアンプ20から送られる32ビットの第1センスデータ、メモリアレイ用センスアンプ20から送られる32ビットの第2センスデータ、ページバッファアレイ11から送られる32ビットの上位ビットの書込み目標値、ページバッファアレイ11から送られる32ビットの下位ビットの書込み目標値、マスクバッファアレイ12から送られる32ビットのパルス印加指示値をラッチする。
EXNOR部32は、32ビットのうちの各ビットについて、ラッチ部31から出力される第1センスデータと、ラッチ部31から出力される上位ビットの書込み目標値とが一致すれば、第1ビット目に「1」を出力し、不一致ならば、第1ビット目に「0」を出力する。また、EXNOR部32は、32ビットのうちの各ビットについて、ラッチ部31から出力される第2センスデータと、ラッチ部31から出力される下位ビットの書込み目標値とが一致すれば、第2ビット目に「1」を出力し、不一致ならば、第2ビット目に「0」を出力する。
2ビット比較部34は、32ビットのうちの各ビットについて、第1センスデータと上位ビットの書込み目標値とが一致し、かつ第2センスデータと下位ビットの書込み目標値とが一致するとき、またはパルス印加指示値が「1」のときに、「1」を出力する。この出力は、セレクタS2によって、15ビットずつ2回に分けてマスクバッファアレイ12の対応するビットに送られる。
ベリファイ判定部35は、2ビット比較部34が出力する32ビットのデータがいずれも「1」のときのみ、ベリファイのPASSを示すベリファイ判定信号D1HVPASSを出力する。
目標セルデータ生成部33は、32ビットのうちの各ビットについて、ラッチ部31から出力される第1センスデータと、ラッチ部31から出力される上位ビットの書込み目標値との論理積を算出する。この論理積は、ページバッファアレイ11の対応するビットに送られる。また、目標セルデータ生成部33は、32ビットのうちの各ビットについて、ラッチ部31から出力される第2センスデータと、ラッチ部31から出力される下位ビットの書込み目標値との論理積を算出する。この論理積は、ページバッファアレイ11の対応するビットに送られる。
(書込みシーケンス)
次に、本実施の形態に係る不揮発性半導体記憶装置の書込みシーケンスを説明する。図8は、第1の実施形態における書込みシーケンスを示すフローチャートである。
同図を参照して、ステップS201において、マスクバッファアレイ12の選択された32個のメモリセルに対応する32ビットのパルス印加指示値がYゲート23、マスクバッファ用センスアンプ部14および書込みデータバスWDATAを介して、ライトドライバ&32ビットto64ビット変換回路19に送られる。ライトドライバ&32ビットto64ビット変換回路19のライトドライバ部は、パルス印加指示値が「0」のビットに対応するメモリセルに図示しない電圧制御回路で生成される書込みパルスを印加させる。
ステップS202において、選択された32個のメモリセルの閾値電圧Vthの下裾ベリファイが以下のようにして行なわれる。
まず、閾値電圧Vthが"01"下裾レベル(=V_01L)以上かどうかが判定される。具体的には、メモリアレイ用センスアンプ20は、ベリファイ電圧(=α)を各メモリセルに与えたときに流れる電流量Imを検出する。メモリアレイ用センスアンプ20は、検出した電流量Imが、閾値電圧Vthが"01"下裾レベル(=V_01L)のときに流れる電流値Is(=I_01L)以下かどうかを判定する。メモリアレイ用センスアンプ20は、電流Imが電流Is以下のときには「0」を、電流Imが電流Isを越えるときには「1」を第1センスデータとして読出しデータバスRDATAを通じてベリファイ回路17に出力する。
電流Imが電流Is以下のときには、さらに、閾値電圧Vthが"00"下裾レベル(=V_00L)以上かどうかが判定される。具体的には、メモリアレイ用センスアンプ20は、ベリファイ電圧(=α)をメモリセルに与えたときに流れる電流量Imを検出する。メモリアレイ用センスアンプ20は、検出した電流量Imが、閾値電圧Vthが"00"下裾レベル(=V_00L)のときに流れる電流値Is(=I_00L)以下かどうかを判定する。メモリアレイ用センスアンプ20は、電流Imが電流Is以下のときには「0」を、電流Imが電流Isを越えるときには「1」を第2センスデータとして読出しデータバスRDATAを通じてベリファイ回路17に出力する。
一方、電流Imが電流Isを越えるときには、閾値電圧Vthが"10"下裾レベル(=V_10L)以上かどうかが判定される。具体的には、メモリアレイ用センスアンプ20は、ベリファイ電圧(=α)をメモリセルに与えたときに流れる電流量Imを検出する。メモリアレイ用センスアンプ20は、検出した電流量Imが、閾値電圧Vthが"10"下裾レベル(=V_10L)のときに流れる電流値Is(=I_10L)以下かどうかを判定する。メモリアレイ用センスアンプ20は、電流Imが電流Is以下のときには「0」を、電流Imが電流Isを越えるときには「1」を第2センスデータとして読出しデータバスRDATAを通じてベリファイ回路17に出力する。
一方、ページバッファアレイ11に保持している選択された32個のメモリセルの上位および下位ビットの書込み目標値が、Yゲート22、およびページバッファ用センスアンプ13を介して64ビットto32ビット変換回路15に送られる。
64ビットto32ビット変換回路15は、まず32ビット分の上位ビットの書込み目標値をベリファイ回路17に送る。ベリファイ回路17は、各ビットごとに、第1センスデータと上位ビットの書込み目標値とが一致するか否かを調べる。次に、64ビットto32ビット変換回路15は、32ビット分の下位ビットの書込み目標値をベリファイ回路17に送る。ベリファイ回路17は、各ビットごとに、第2センスデータと下位ビットの書込み目標値とが一致するか否かを調べる。
ベリファイ回路17は、第1センスデータと上位ビットの書込み目標値とが一致し、かつ第2センスデータと下位ビットの書込み目標値とが一致するようなビットについては、マスクバッファアレイ12内の対応するビットを「1」とする。
ベリファイ回路17は、32ビットすべてについて、第1センスデータと上位ビットの書込み目標値とが一致し、かつ第2センスデータと下位ビットの書込み目標値とが一致したときには、下裾ベリファイのPASS(成功)を示すベリファイ判定信号D1HVPASSをCPU26に送り、CPU26は、ステップS203に処理を移す。一方、ベリファイ回路17は、32ビットすべてについては、不一致のときには、下裾ベリファイのFAIL(失敗)を示すベリファイ判定信号D1HVPASSをCPU26に送り、CPU26は、ステップS201およびS202を繰返す。
ステップS203において、選択された32個のメモリセルの閾値電圧Vthの上裾ベリファイが以下のようにして行なわれる。
まず、閾値電圧Vthが"10"上裾レベル(=V_10H)以下かどうかが判定される具体的には、メモリアレイ用センスアンプ20は、ベリファイ電圧(=α)を各メモリセルに与えたときに流れる電流量Imを検出する。メモリアレイ用センスアンプ20は、検出した電流量Imが、閾値電圧Vthが”10”上裾レベル(=V_10H)のときに流れる電流値Is(=I_10H)以上かどうかを判定する。メモリアレイ用センスアンプ20は、電流Imが電流Is以上のときには「1」を、電流Imが電流Is未満のときには「0」を第1センスデータとして読出しデータバスRDATAを通じてベリファイ回路17に出力する。
電流Imが電流Is未満のときには、さらに、閾値電圧Vthが"01"上裾レベル(=V_01H)以下かどうかが判定される。具体的には、メモリアレイ用センスアンプ20は、ベリファイ電圧(=α)をメモリセルに与えたときに流れる電流量Imを検出する。メモリアレイ用センスアンプ20は、検出した電流量Imが、閾値電圧Vthが"01"上裾レベル(=V_01H)のときに流れる電流値Is(=I_01H)以上かどうかを判定する。メモリアレイ用センスアンプ20は、電流Imが電流Is以上のときには「1」を、電流Imが電流Is未満のときには「0」を第2センスデータとして読出しデータバスRDATAを通じてベリファイ回路17に出力する。
一方、電流Imが電流Is以上のときには、閾値電圧Vthが"11"上裾レベル(=V_11H)以下かどうかが判定される。具体的には、メモリアレイ用センスアンプ20は、ベリファイ電圧(=α)をメモリセルに与えたときに流れる電流量Imを検出する。メモリアレイ用センスアンプ20は、検出した電流量Imが、閾値電圧Vthが"11"上裾レベル(=V_11H)のときに流れる電流値Is(=I_11H)以上かどうかを判定する。メモリアレイ用センスアンプ20は、電流Imが電流Is以上のときには「1」を、電流Imが電流Is未満のときには「0」を第2センスデータとして読出しデータバスRDATAを通じてベリファイ回路17に出力する。
一方、ページバッファアレイ11に保持している選択された32個のメモリセルの上位および下位ビットの書込み目標値が、Yゲート22、およびページバッファ用センスアンプ13を介して64ビットto32ビット変換回路15に送られる。
64ビットto32ビット変換回路15は、まず32ビット分の上位ビットの書込み目標値をベリファイ回路17に送る。ベリファイ回路17は、各ビットごとに、第1センスデータと上位ビットの書込み目標値とが一致するか否かを調べる。次に、64ビットto32ビット変換回路15は、32ビット分の下位ビットの書込み目標値をベリファイ回路17に送る。ベリファイ回路17は、各ビットごとに、第2センスデータと下位ビットの書込み目標値とが一致するか否かを調べる。
ベリファイ回路17は、32ビットすべてについて、第1センスデータと上位ビットの書込み目標値とが一致し、かつ第2センスデータと下位ビットの書込み目標値とが一致したときには、上裾ベリファイのPASS(成功)を示すベリファイ判定信号D1HVPASSをCPU26に送り、CPU26は、メモリセルの書込みシーケンスは終了する。一方、ベリファイ回路17は、32ビットすべてについては、不一致のときには、上裾ベリファイのFAIL(失敗)を示すベリファイ判定信号D1HVPASSをCPU26に送り、CPU26は、書込みシーケンスを異常終了する。
(ページバッファおよびマスクバッファの各ビットの遷移)
図9は、書込みシーケンスにおける、ページバッファアレイ11およびマスクバッファアレイ12内の選択されたメモリセルに対応するビットの格納値の推移を示す。同図に示すように、マスクバッファアレイの32ビットは、対応する32個のメモリセルに書込みパルスを印加するか否かを定めたパルス印加指示値を保持し、書込みシーケンスにおいて変化する。パルス印加指示値が「0」のときには書込みパルスが印加され、パルス印加指示値が「1」のときには書込みパルスは印加されない。
マスクバッファアレイ12のパルス印加指示値が「0」であるメモリセルには書込みパルスが印加されて、メモリセルの閾値Vthが上昇する。あるメモリセルの閾値Vthの下裾ベリファイがPASSしたときには、そのメモリセルへの書込みが終了し、そのメモリセルに対応するマスクバッファアレイ12内のパルス印加指示値が「1」に書き換えられる。
最終的にマスクバッファアレイ12のうちの選択された32個のメモリセルに対応する32ビットに格納されるパルス印加指示値がすべて「1」となったときに、書込みシーケンスが終了する。
一方、ページバッファアレイ11の各2ビットは、対応するメモリセルに書込むべき上位ビットの書込み目標値および下位ビットの書込み目標値を保持し、書込みシーケンスにおいて変化しない。
下裾ベリファイ時には、ページバッファアレイ11の2ビット(上位ビットおよび下位ビット)と、メモリアレイ用センスアンプ20から出力される下位ベリファイ用の2ビット(第1センスデータおよび第2センスデータ)とが比較されて、同一のときには対応するメモリセルの下裾ベリファイがPASSと判定され、相違するときには、そのメモリセルの下裾ベリファイがFAILと判定される。
また、上裾ベリファイ時も、ページバッファアレイ11の2ビット(上位ビットおよび下位ビット)と、メモリアレイ用センスアンプ20から出力される上位ベリファイ用の2ビット(第1センスデータおよび第2センスデータ)とが比較されて、同一のときには対応するメモリセルの上裾ベリファイがPASSと判定され、相違するときには、そのメモリセルの上裾ベリファイがFAILと判定される。
(下裾ベリファイ時の動作)
次に、ベリファイ回路17における下裾ベリファイ時の詳細な動作を説明する。
まず、メモリアレイ用センスアンプ20は、32ビット分の第1センスデータを読出しデータバスRDATAに出力する。ラッチ部31のラッチL1は、クロックCLK1に同期して32ビット分の第1センスデータを保持する。また、ページバッファアレイ11は、32ビット分の上位ビットの書込み目標値を出力し、ラッチ部31のラッチL3は、クロックCLK1に同期して32ビット分の上位ビットの書込み目標値を保持する。
次に、メモリアレイ用センスアンプ20は、32ビット分の第2センスデータを読出しデータバスRDATAに出力する。ラッチ部31のラッチL2は、クロックCLK2に同期して32ビット分の第2センスデータを保持する。また、ページバッファアレイ11は、32ビット分の下位ビットの書込み目標値を出力し、ラッチ部31のラッチL4は、クロックCLK2に同期して32ビット分の下位ビットの書込み目標値を保持する。
EXNOR部32の反転排他的論理和回路E1は、ラッチL1の出力とラッチL3の出力とを受けて、各ビットについて、第1センスデータと上位ビットの書込み目標値とが一致するときに「1」を出力し、不一致のときに「0」を出力する。また、EXNOR部32の反転排他的論理和回路E2は、ラッチL2の出力とラッチL4の出力とを受けて、各ビットについて、第2センスデータと下位ビットの書込み目標値とが一致するときに「1」を出力し、不一致のときに「0」を出力する。
2ビット比較部34の論理積回路A3は、反転排他的論和回路E1の出力と反転排他的論理和回路E2の出力とを受けて、各ビットについて、第1センスデータと上位ビットの書込み目標値とが一致し、かつ第2センスデータと下位ビットの書込み目標値とが一致するときのみ、「1」を出力する。
一方、マスクバッファアレイ12は、第16〜第31ビットの16ビット分のパルス印加指示値を出力し、ラッチ部31のラッチL5は、クロックCLK1に同期して、第16〜第31ビットの16ビット分のパルス印加指示値を保持する。2ビット比較部34の論理和回路O1は、論理積回路A3の出力の第16〜第31ビットの16ビット分と、ラッチL5の出力とを受けて、各ビットについて、第1センスデータと上位ビットの書込み目標値とが一致し、かつ第2センスデータと下位ビットの書込み目標値とが一致するとき、またはパルス印加指示値が「1」(書込み完了)のときに、「1」を出力する。セレクタS2は、論理和回路O1の出力を選択して、マスクバッファアレイ12の第16〜第31ビットに出力する。
次に、マスクバッファアレイ12は、第0〜第15ビットの16ビット分のパルス印加指示値を出力し、ラッチ部31のラッチL6は、クロックCLK2に同期して、第0〜第15ビットの16ビット分のパルス印加指示値を保持する。2ビット比較部34の論理和回路O2は、論理積回路A3の出力の第0〜第15ビットの16ビット分と、ラッチL6の出力とを受けて、各ビットについて、第1センスデータと上位ビットの書込み目標値とが一致し、かつ第2センスデータと下位ビットの書込み目標値とが一致するとき、またはパルス印加指示値が「1」(書込み完了)のときに、「1」を出力する。セレクタS2は、論理和回路O2の出力を選択して、マスクバッファアレイ12の第0〜第15ビットに出力する。
また、ベリファイ判定部35は、論理和回路O1の出力と論理和回路O2に出力とを受けて、32ビットすべてについて、第1センスデータと上位ビットの書込み目標値とが一致し、かつ第2センスデータと下位ビットの書込み目標値とが一致するとき、またはパルス印加指示値が「1」(書込み完了)のときに、ベリファイ判定信号DIHVPASSを「1」とする。
(上裾ベリファイ時の動作)
上裾ベリファイ時にメモリアレイ用センスアンプ20から送られる第1センスデータおよび第2センスデータは、上述したように下裾ベリファイ時と異なる。一方、ベリファイ回路17における上裾ベリファイの動作は、下裾ベリファイの動作と同様である。したがって、ベリファイ回路17の上裾ベリファイ時の動作の説明は繰返さない。
(ダミーベリファイ時の動作)
次に、ベリファイ回路17におけるダミーベリファイ時の詳細な動作を説明する。
メモリアレイ用センスアンプ20は、32ビット分の第1センスデータを読出しデータバスRDATAに出力する。ラッチ部31のラッチL1は、クロックCLK1に同期して32ビット分の第1センスデータを保持する。また、ページバッファアレイ11は、32ビット分の上位ビットの書込み目標値を出力し、ラッチ部31のラッチL3は、クロックCLK1に同期して32ビット分の上位ビットの書込み目標値を保持する。
目標セルデータ生成部33の論理積回路A2は、ラッチL1の出力とラッチL3の出力とを受けて、各ビットについて、第1センスデータと上位ビットの書込み目標値とがいずれも「1」のときのみ「1」を出力する。セレクタS1は、論理積回路A2の出力をページバッファアレイ11の上位ビットの書込み目標値を格納しているビットに出力する。
次に、メモリアレイ用センスアンプ20は、32ビット分の第2センスデータを読出しデータバスRDATAに出力する。ラッチ部31のラッチL2は、クロックCLK2に同期して32ビット分の第2センスデータを保持する。また、ページバッファアレイ11は、32ビット分の下位ビットの書込み目標値を出力し、ラッチ部31のラッチL4は、クロックCLK2に同期して32ビット分の下位ビットの書込み目標値を保持する。
次に、目標セルデータ生成部33の論理積回路A1は、ラッチL2の出力とラッチL4の出力とを受けて、各ビットについて、第2センスデータと下位ビットの書込み目標値とがいずれも「1」のときのみ「1」を出力する。セレクタS1は、論理積回路A1の出力をページバッファアレイ11の下位ビットの書込み目標値を格納しているビットに出力する。
以上のように、本実施の形態に係る不揮発性半導体記憶装置によれば、マスクバッファとページバッファの2つのバッファを備えて、マスクバッファ内のパルス印加指示値は、下裾ベリファイがPASSすると書換えるが、ページバッファ内の書込み目標値は変化しないようにしたので、下裾ベリファイだけでなく、上裾ベリファイも行なうことができ、不揮発性のメモリセルトランジスタに多値書込みを行なう際に、ベリファイを適切に行なうことができる。
[第2の実施形態]
本実施の形態は、第1の実施形態と同様にマスクバッファとページバッファとを有するとともに、高速かつ小面積な不揮発性半導体記憶装置に関する。
(全体構成)
図10は、第2の実施形態に係る不揮発性半導体記憶装置の構成を示すブロック図である。同図を参照して、この不揮発性半導体記憶装置は、メモリアレイ21と、ライトドライバ&32ビットto64ビット変換回路19と、メモリアレイ用センスアンプ20と、セレクタ55と、ページバッファ/マスクバッファアレイ51と、Yゲート52と、ベリファイ回路54と、ページバッファ/マスクバッファ用制御回路53と、CPU26と、CUI27と、OSC28とを備える。
メモリアレイ21と、ライトドライバ&32ビットto64ビット変換回路19と、メモリアレイ用センスアンプ20は、第1の実施形態と同様であり、ここでは説明を繰返さない。
CUI27は、外部から与えられるデータ信号を受け、内部の各構成要素に分配する。
OSC28は、外部から設定可能な図示しないレジスタの設定値に応じた周期の内部クロック信号ICLKを生成する。
CPU26は、OSC28からの内部クロック信号ICLKを受けて、不揮発性半導体記憶装置の全体制御を行なう。
ページバッファ/マスクバッファアレイ51は、ページバッファ部とマスクバッファ部とを有するアレイである。ページバッファ部は、第1の実施形態のページバッファと同様であり、マスクバッファ部は第1の実施形態のマスクバッファと同様である。マスクバッファ部の各ビットは、下裾ベリファイ時には、第1の実施形態と同様に、対応するメモリセルに書込みパルスを印加するか否かを定めるパルス印加指示値を格納する。パルス印加指示値が「0」のときには書込み未完了、つまりベリファイ判定がまだ成功していないことを示し、パルス印加指示値が「1」のときには書込み完了、つまりベリファイ判定が既に成功していることを示す。一方、マスクバッファ部の各ビットは、上裾ベリファイ時には、対応するメモリセルの上裾ベリファイの結果に係らず、自動的にPASS(成功)とするか否かを定めた値を格納する。この値が「1」のときには、自動的にPASS(成功)となる。したがって、第2の実施形態では、マスクバッファ部のデータをパルス印加指示値といわずに、ベリファイ判定値ということにする。
Yゲート52は、ページバッファ/マスクバッファアレイ51の選択された列のベリファイ回路54と接続する。
メモリアレイ用センスアンプ20は、第1センスデータおよび第2センスデータをシリアルに読書きデータバスRWDATAを通じてベリファイ回路54に転送する。
ベリファイ回路52は、書込み時には、読書きデータバスRWDATAを通じて、マスクバッファ部に保持されている値をライトドライバ&32ビットto64ビット変換回路19のライトドライバ部に転送する。
したがって、ベリファイ回路54とライトドライバ&32ビットto64ビット変換回路との間、およびベリファイ回路54とメモリアレイ用センスアンプ20との間は、読出しと書込みの兼用バスである読書きデータバスRWDATAで接続される。
セレクタ55は、ベリファイ回路19からライトドライバ&32ビットto64ビット変換回路19へのデータの転送と、メモリアレイ用センスアンプ20からベリファイ回路52へのデータの転送のいずれかを通す。
また、ページバッファ/マスクバッファ用制御回路53は、OSC28で生成された内部クロックICLKに基づき、図11のベリファイ回路54を制御する信号、たとえばベリファイ回路54内のセンスアンプ部62のビット線対の増幅を制御する信号(SAN,ISAP)、ベリファイ回路54内のビット線対のプリチャージを制御する信号(IPCBL_SA,IPCSA)、ベリファイ回路内のラッチ部63のビット線対のラッチを制御する信号(ITRANSA,ITRANISA,PRESET,IRESET00,IPBWRT)、センスアンプ部62とEXNOR部61との接続を制御する信号(ISAI)、ラッチ部63のデータをページバッファ部またはマスクバッファ部に転送する信号IDRVなどを生成して、ベリファイ回路54に送る。
ベリファイ回路54は、第1の実施形態と同様に、下裾ベリファイ、上裾ベリファイ、およびダミーベリファイの機能を有し、さらに、パルスチェックベリファイ、00データ転送、11データ転送、マスクバッファデータ転送、フラッシュトウページバッファ転送、およびフラッシュトウページバッファ反転転送の機能を有する。
パルスチェックベリファイとは、書込みパルスの電圧の増加幅を大きくできないかを調べるために、第1センスデータが「1」(つまり、メモリセルの閾値Vthが「01」下裾レベル未満)、かつマスクバッファ51のパルス印加指示値が「0」(書込み対象)である(これを第1の状態という)メモリセルが存在しないことを調べるものである。つまり、このような第1の状態のメモリセルが存在しなくなったときには、選択されたメモリセルは、次のいずれかの状態である。第2の状態は、閾値Vthが「01」下裾レベル未満であり、かつベリファイ判定値が「1」(書込み完了)の状態である。第3の状態は、閾値Vthが「01」下裾レベル以上であり、かつベリファイ判定値が「1」(書込み完了)の状態である。第4の状態は、閾値Vthが「01」下裾レベル以上であり、かつベリファイ判定値が「0」(書込み未完了)の状態である。
第1の状態は、書込み目標値が「10」、「01」、または「00」であり、閾値が低い状態にあるので、閾値を徐々に増加させて、所望の閾値にすることが必要となり、書き込みパルスの電圧の増加幅を大きくするのは適切でない。
一方、第2の状態および第3の状態は、書込みが完了しているので、書込みパルスを印加することがなく、書込みパルスの電圧の増加幅を大きくしても問題ない。
第4の状態は、書込み目標値が「00」である。なぜなら、書込み目標値が「01」であれば、閾値Vthが「01」下裾レベル以上であれば、ベリファイ判定値が「1」(書込み完了)となるはずだからである。書込み目標値が「00」のときには、閾値に上限がないので、書込みパルスの電圧の増加幅を大きくしても問題なく、増加幅を大きくすることによってメモリセルへのデータの書込みを高速化できる。
したがって、第1の状態のメモリセルがなくなったときに、パルスチェックベリファイがPASS(成功)し、書込みパルスの電圧の増加幅を0.1Vから0.2Vに増加させる。
00データ転送とは、パルスチェックベリファイ、または下裾ベリファイがPASS(成功)したときに、メモリアレイ21の選択された各メモリセルに対応するページバッファ部の書込み目標値が「00」(上位ビットの書込み目標値が0、下位ビットの書込み目標値が0)のときに、そのメモリセルに対応するマスクバッファ部のビットが「0」となるように、また書込み目標値が「10」、「01」、および「11」のときに、そのメモリセルに対応するマスクバッファ部のビットが「1」となるように、マスクバッファ部にデータを転送することをいう。これにより、書込みパルスを印加するメモリセルを書込み目標値が「00」であるメモリセルに限定できる。これにより、書込み目標値が「00」であり、下裾ベリファイがPASSしたメモリセルについても、さらに書込みパルスを印加するメモリセルとされる。これは、書込みパルスの電圧の増加幅を0.2Vにするときには、同時にベリファイ電圧もαからβに増加させるので、αのベリファイ電圧では下裾ベリファイがPASSしていても、ベリファイ電圧をβに増加させると、下裾ベリファイがFAILすることがあることを考慮したものである。
11データ転送とは、メモリアレイ21の選択された各メモリセルに対応するページバッファ部の書込み目標値が「11」(上位ビットの書込み目標値が1、下位ビットの書込み目標値が1)のときに、そのメモリセルに対応するマスクバッファ部のビットが「1」となり、書込み目標値が「10」、「01」、および「00」のときに、そのメモリセルに対応するマスクバッファ部のビットが「0」となるように、マスクバッファ部にデータを転送することをいう。これにより、書込み目標値が「11」である、書込み対象となることがないメモリセルの上裾ベリファイは自動的にPASS(成功)とされる。
マスクバッファデータ転送とは、メモリアレイ21の選択された各メモリセルに対応するマスクバッファ部のビットをライトドライバ部に転送することをいう。これにより、マスクバッファ部のデータをベリファイ回路54に一旦取込んで、取込んだデータをライトドライバ部に送ることができる。したがって、メモリアレイ用センスアンプ20からベリファイ回路54にデータを送るバスRWDATAを用いて、ライトドライバ部にもデータを送ることができる。
フラッシュトウページバッファ転送とは、メモリアレイ21の選択された各メモリセルに記憶されている2ビットの論理値をページバッファ部の対応する2ビットに転送することをいう。
フラッシュトウページバッファ反転転送とは、メモリアレイ21の選択された各メモリセルに記憶されている2ビットの論理値の反転値をページバッファ部の対応する2ビットに転送することをいう。
(ベリファイ回路54の詳細な構成)
図11は、ベリファイ回路54の詳細な構成を示す。同図を参照して、ベリファイ回路54は、EXNOR部61と、センスアンプ部62と、ラッチ部63と、ベリファイ判定部64と、ドライバ部65と、セレクタS10と、インバータIV1と、インバータIV3と、反転論理和回路NO3と、反転論理積回路NA3と、論理和回路O3とを含む。
インバータIV1は、読書きデータバスRWDATAのデータのレベルを反転して、EXNOR部61に出力する。
EXNOR部61は、ビット線対BL,IBLのデータと、読書きデータバスRWDATAのデータとを受ける。EXNOR部61は、ビット線BLのデータのレベルと読書きデータバスRWDATAのレベルとが一致するときに、ビット線BLに「1」レベル(未増幅のデータ)を出力し、ビット線IBLに「0」レベル(未増幅のデータ)を出力し、不一致のときに、ビット線BLに「0」レベル(未増幅のデータ)を出力し、ビット線IBLに「1」レベル(未増幅のデータ)を出力する。
また、EXNOR部61は、制御信号IPCBL_SAに接続されるプリチャージ用のトランジスタを含む。制御信号IPCBL_SAが「0」になることによって、ビット線対BL,IBLがプリチャージされる。
センスアンプ部62は、EXNOR部61から出力されるビット線対BL,IBLのデータを増幅して、ビット線BLにセンスアンプ増幅信号SA、ビット線IBLに反転センスアンプ増幅信号ISAを出力する。センスアンプ部62は、制御信号SAN/ISAPが「1」/「0」になると、活性化する。
センスアンプ部62は、制御信号ISAIが接続される分離用のトランジスタを含む。制御信号ISAIが接続されるトランジスタは、EXNOR部61とセンスアンプ部62とを分離するためのものである。EXNOR部61がビット線対BL,IBLのプリチャージを行なっているときに、制御信号ISAIが「1」となり、EXNOR部61とセンスアンプ部62とが分離されて、センスアンプ部62がEXNOR部61から出力されたビット線対BL,IBLのデータを増幅する。これにより、センスアンプ処理の時間が短縮される。
また、センスアンプ部62は、制御信号IPCSAと接続されるプリチャージ用のトランジスタを含む。制御信号IPCSAが「0」となることによって、センスアンプ増幅信号SAおよび反転センスアンプ増幅信号ISAを「1」にプリチャージする。
反転論理和回路NO3は、FFIREGノードのデータと、外部データIEXDATAとを受けて、反転論理和をドライバ部65に出力する。ベリファイ動作時などの内部動作では、外部データIEXDATAは、「0」に固定される。外部動作時には、FFIREGノードは「0」にセットされるため、外部データIEXDATAが有効となる。
反転論理積回路NA3は、読書きデータバスRWDATAのデータと取込み指示信号IPBWRTとを受けて、それらの反転論理積を論理和回路O3に出力する。
論理和回路O3は、反転論理積回路NA3の出力と、リセット信号IRESET00の反転値とを受けて、それらの論理和を反転論理和回路NO5に出力する。
ラッチ部63は、センスアンプ増幅信号SAと、反転センスアンプ増幅信号ISAとを受けて、センスアンプ増幅信号SAおよび反転センスアンプ増幅信号ISAのレベルに応じた論理値をラッチする。ラッチ部63は、反転論理和回路NO6と、反転論理和回路NO5と、反転論理和回路NO7と、反転論理和回路NO1とを含む。
反転論理和回路NO6は、ビット線BLのデータと増幅取込み信号ITRANSAとを受けて、それらの反転論理和を反転論理和回路NO5に出力する。
反転論理和回路NO5は、反転論理和回路NO6の出力と、反転論理和回路NO1の出力ノードFFIREGのデータと、論理和回路O3の出力IRWとを受けて、それらの反転論理和をノードFFREGに出力する。
反転論理和回路NO7は、ビット線IBLのデータと反転増幅取込み信号ITRANISAとを受けて、それらの反転論理和を反転論理和回路NO1に出力する。
反転論理和回路NO1は、反転論理和回路NO7の出力と、プリセット信号PRESETと、反転論理和回路NO5の出力ノードFFREGのデータとを受けて、それらの反転論理和をノードFFIREGに出力する。
ベリファイ判定部64は、ラッチ部63のFFIREGノードと接続し、FFIREGノードのラッチデータに基づくベリファイ判定結果を示すベリファイ判定信号D1HVPASSをCPU26に出力する。
ドライバ部65は、内部動作時に、ラッチ部63のFFIREGノードのデータを反転論理和回路NO3を経由して受けて、FFIREGノードのデータのレベルを反転したデータをビット線BLに出力し、FFIREGノードのデータをビット線IBLに出力する。このビット線対BL,IBLのデータは、ベージバッファ/マスクバッファアレイ51の対応するビットに書込まれる。
また、ドライバ部65は、FFIREGノードのデータをデータ線IBDATを通じてインバータIV3に出力する。インバータIV3に入力されたデータは、セレクタS10を経由して読書きデータバスRWDATAに送られ、メモリアレイ21に書込まれる。
また、ドライバ部65は、外部動作時には、外部データIEXDATAのデータを反転論理和回路NO3を経由して受けて、外部データIEXDATAをビット線BLに出力し、外部データIEXDATAの反転データをビット線IBLに出力する。このビット線対BL,IBLのデータは、ベージバッファ/マスクバッファアレイ51の対応するビットに書込まれる。
インバータIV3は、データ線IBDATのデータのレベルを反転して、セレクタS10に出力する。
セレクタS10は、ライトドライバ転送制御信号WTRが「0」のときに、読書きデータバスRWDATAをEXNOR部61と接続し、ライトドライバ転送制御信号WTRが「1」のときに、読書きデータバスRWDATAをデータ線IBDATと接続する。ライトドライバ転送制御信号WTRは、マスクバッファデータ転送の所定の期間に「1」となる。
(書込みシーケンス)
次に、本実施の形態に係る不揮発性半導体記憶装置の書込みシーケンスを説明する。図12は、第2の実施形態における書込みシーケンスを示すフローチャートである。
同図を参照して、ステップS701において、ダミーベリファイが以下のようにして行なわれる。メモリアレイ用センスアンプ20は、ベリファイ電圧(=α)を各メモリセルに与えたときに流れる電流量Imを検出する。メモリアレイ用センスアンプ20は、検出した電流量Imが、閾値電圧Vthが"01"下裾レベル(=V_01L)のときに流れる電流値Is(=I_01L)以下かどうかを判定する。メモリアレイ用センスアンプ20は、電流Imが電流Is以下のときには「0」を、電流Imが電流Isを越えるときには「1」を第1センスデータとして読書きデータバスRWDATAを通じてベリファイ回路54に出力する。
電流Imが電流Is以下のときには、さらに、閾値電圧Vthが"00"下裾レベル(=V_00L)以上かどうかが判定される。具体的には、メモリアレイ用センスアンプ20は、ベリファイ電圧(=α)をメモリセルに与えたときに流れる電流量Imを検出する。メモリアレイ用センスアンプ20は、検出した電流量Imが、閾値電圧Vthが"00"下裾レベル(=V_00L)のときに流れる電流値Is(=I_00L)以下かどうかを判定する。メモリアレイ用センスアンプ20は、電流Imが電流Is以下のときには「0」を、電流Imが電流Isを越えるときには「1」を第2センスデータとして読書きデータバスRWDATAを通じてベリファイ回路54に出力する。
一方、電流Imが電流Isを越えるときには、閾値電圧Vthが"10"下裾レベル(=V_10L)以上かどうかが判定される。具体的には、メモリアレイ用センスアンプ20は、ベリファイ電圧(=α)をメモリセルに与えたときに流れる電流量Imを検出する。メモリアレイ用センスアンプ20は、検出した電流量Imが、閾値電圧Vthが"10"下裾レベル(=V_10L)のときに流れる電流値Is(=I_10L)以下かどうかを判定する。メモリアレイ用センスアンプ20は、電流Imが電流Is以下のときには「0」を、電流Imが電流Isを越えるときには「1」を第2センスデータとして読書きデータバスRWDATAを通じてベリファイ回路54に出力する。
一方、ページバッファ/マスクバッファアレイ51のページバッファ部に保持している選択された32個のメモリセルの上位ビットの書込み目標値が、Yゲート52を介してベリファイ回路54に送られる。ベリファイ回路54は、各ビットごとに、第1センスデータと上位ビットの書込み目標値とのAND論理値を算出する。
ベリファイ回路54は、第1センスデータと上位ビットのAND論理値をページバッファ/マスクバッファアレイ51のページバッファ部の対応するビットに転送する。
次に、ページバッファ/マスクバッファアレイ51のページバッファ部に保持している選択された32個のメモリセルの下位ビットの書込み目標値が、Yゲート52を介してベリファイ回路54に送られる。ベリファイ回路54は、各ビットごとに、第2センスデータと下位ビットの書込み目標値とのAND論理を算出する。
ベリファイ回路54は、第2センスデータと下位ビットのAND論理値をページバッファ/マスクバッファアレイ51のページバッファ部の対応するビットに転送する。
ステップS702において、選択された32個のメモリセルの閾値電圧Vthの下裾ベリファイが以下のようにして行なわれる。
まず、閾値電圧Vthが"01"下裾レベル(=V_01L)以上かどうかが判定される。具体的には、メモリアレイ用センスアンプ20は、ベリファイ電圧(=α)を各メモリセルに与えたときに流れる電流量Imを検出する。メモリアレイ用センスアンプ20は、検出した電流量Imが、閾値電圧Vthが"01"下裾レベル(=V_01L)のときに流れる電流値Is(=I_01L)以下かどうかを判定する。メモリアレイ用センスアンプ20は、電流Imが電流Is以下のときには「0」を、電流Imが電流Isを越えるときには「1」を第1センスデータとして読書きデータバスRWDATAを通じてベリファイ回路54に出力する。
電流Imが電流Is以下のときには、さらに、閾値電圧Vthが"00"下裾レベル(=V_00L)以上かどうかが判定される。具体的には、メモリアレイ用センスアンプ20は、ベリファイ電圧(=α)をメモリセルに与えたときに流れる電流量Imを検出する。メモリアレイ用センスアンプ20は、検出した電流量Imが、閾値電圧Vthが"00"下裾レベル(=V_00L)のときに流れる電流値Is(=I_00L)以下かどうかを判定する。メモリアレイ用センスアンプ20は、電流Imが電流Is以下のときには「0」を、電流Imが電流Isを越えるときには「1」を第2センスデータとして読書きデータバスRWDATAを通じてベリファイ回路54に出力する。
一方、電流Imが電流Isを越えるときには、閾値電圧Vthが"10"下裾レベル(=V_10L)以上かどうかが判定される。具体的には、メモリアレイ用センスアンプ20は、ベリファイ電圧(=α)をメモリセルに与えたときに流れる電流量Imを検出する。メモリアレイ用センスアンプ20は、検出した電流量Imが、閾値電圧Vthが"10"下裾レベル(=V_10L)のときに流れる電流値Is(=I_10L)以下かどうかを判定する。メモリアレイ用センスアンプ20は、電流Imが電流Is以下のときには「0」を、電流Imが電流Isを越えるときには「1」を第2センスデータとして読書きデータバスRWDATAを通じてベリファイ回路54に出力する。
一方、ページバッファ/マスクバッファアレイ51のページバッファ部に保持している選択された32個のメモリセルの上位ビットの書込み目標値が、Yゲート52を介してベリファイ回路54に送られる。ベリファイ回路54は、各ビットごとに、第1センスデータと上位ビットの書込み目標値とが一致するか否かを調べる。
次に、ページバッファ/マスクバッファアレイ51のページバッファ部に保持している選択された32個のメモリセルの下位ビットの書込み目標値が、Yゲート52を介してベリファイ回路54に送られる。ベリファイ回路54は、各ビットごとに、第2センスデータと下位ビットの書込み目標値とが一致するか否かを調べる。
次に、ページバッファ/マスクバッファアレイ51のマスクバッファ部に保持している選択された32個のメモリセルに対応するベリファイ判定値が、Yゲート52を介してベリファイ回路54に送られる。
ベリファイ回路54は、第1センスデータと上位ビットの書込み目標値とが一致し、かつ第2センスデータと下位ビットの書込み目標値とが一致するようなビット、またはベリファイ判定値が「1」となるようなビットについては、ページバッファ/マスクバッファアレイ51のマスクバッファ部の対応するビットのベリファイ判定値が「1」となるように、マスクバッファ部にデータを転送する。
ベリファイ回路54は、32ビットすべてについて、第1センスデータと上位ビットの書込み目標値とが一致し、かつ第2センスデータと下位ビットの書込み目標値とが一致したとき、またはベリファイ判定値が「1」となったときには、下裾ベリファイのPASSを示すベリファイ判定信号D1HVPASSをCPU26に送り、CPU26は、ステップS707に処理を移す。一方、ベリファイ回路54は、32ビットすべてについては、不一致のときには、下裾ベリファイのFAILを示すベリファイ判定信号D1HVPASSをCPU26に送り、CPU26は、ステップS703に処理を移す。
ステップS703において、ページバッファ/マスクバッファアレイ51の選択された32個のメモリセルに対応する32ビットのベリファイ判定値がYゲート23、ベリファイ回路52、読書きデータバスRWDATA、およびセレクタ55を介して、ライトドライバ&32ビットto64ビット変換回路19に送られる。ライトドライバ&32ビットto64ビット変換回路19のライトドライバ部は、ベリファイ判定値が「0」のビットに対応するメモリセルに図示しない電圧制御回路で生成される書込みパルスを印加させる。この書込みパルスの電圧の初期値は、2.0Vとする。
ステップS704において、ステップS702と同様にして下裾ベリファイが行なわれる。ベリファイ回路54は、32ビットすべてについて、第1センスデータと上位ビットの書込み目標値とが一致し、かつ第2センスデータと下位ビットの書込み目標値とが一致したとき、またはベリファイ判定値が「1」となったときには、下裾ベリファイのPASSを示すベリファイ判定信号D1HVPASSをCPU26に送り、CPU26は、ステップS707に処理を移す。一方、ベリファイ回路54は、32ビットすべてについては、不一致のときには、下裾ベリファイのFAILを示すベリファイ判定信号D1HVPASSをCPU26に送り、CPU26は、ステップS705に処理を移す。
ステップS705において、CPU26は、選択されたメモリセルに対して書込みパルスが印加された回数(すなわち、S703〜S705のループの回数)が所定回数以上となったときには、ステップS706に処理を移す。一方、CPU26は、選択されたメモリセルに対して書込みパルスが印加された回数が所定回数X未満のときには、書込みパルスの電圧を0.1Vインクリメントするようにライトドライバ&32ビットto64ビット変換回路19のライトドライバ部に指示してS703の処理を繰返させる。
ステップS706において、以下のようにパルスチェックベリファイが行なわれる。メモリアレイ用センスアンプ20は、ベリファイ電圧(=α)を各メモリセルに与えたときに流れる電流量Imを検出する。メモリアレイ用センスアンプ20は、検出した電流量Imが、閾値電圧Vthが"01"下裾レベル(=V_01L)のときに流れる電流値Is(=I_01L)以下かどうかを判定する。メモリアレイ用センスアンプ20は、電流Imが電流Is以下のときには「0」を、電流Imが電流Isを越えるときには「1」を第1センスデータとして読書きデータバスRWDATAを通じてベリファイ回路54に出力する。
次に、ページバッファ/マスクバッファアレイ51のマスクバッファ部に保持している選択された32個のメモリセルに対応するベリファイ判定値が、Yゲート52を介してベリファイ回路54に送られる。
ベリファイ回路54は、各ビットごとに、第1センスデータが「0」、かつベリファイ判定値が「0」であるか否かを調べる。ベリファイ回路54は、32ビットすべてについて、第1センスデータが「0」、かつベリファイ判定値が「0」のときには、パルスチェックベリファイのPASSを示すベリファイ判定信号D1HVPASSをCPU26に送り、CPU26は、ステップS707に処理を移す。
一方、ベリファイ回路54は、32ビットすべてについては、第1センスデータが「0」、かつベリファイ判定値が「0」とはならないときには、パルスチェックベリファイのFAILを示すベリファイ判定信号D1HVPASSをCPU26に送り、CPU26は、書込みパルスの電圧を0.1Vインクリメントするようにライトドライバ&32ビットto64ビット変換回路19のライトドライバ部に指示してS703の処理を繰返させる。
ステップS707において、以下のようにして00データ転送が行なわれる。00データ転送とは、ページバッファ部に「00」(上位ビットの書込み目標値が0、下位ビットの書込み目標値が0)が格納されているメモリセルに対応するマスクバッファ部のビットのみがベリファイ判定値「0」が格納されるように、マスクバッファ部にデータを転送することをいう。
具体的には、ページバッファ/マスクバッファアレイ51のページバッファ部に保持している選択された32個のメモリセルの上位ビットの書込み目標値が、Yゲート52を介してベリファイ回路54に送られる。
次に、ページバッファ/マスクバッファアレイ51のページバッファ部に保持している選択された32個のメモリセルの32ビット分の下位ビットの書込み目標値が、Yゲート52を介してベリファイ回路54に送られる。
ベリファイ回路54は、上位ビットの書込み目標値が「0」、かつ下位ビットの書込み目標値が「0」となるビットについては、マスクバッファ部の対応するビットに「0」を書込み、それ以外のビットについては、マスクバッファ部の対応するビットに「1」を書込む。
さらに、ステップS708において、ステップS702およびS704と同様にして下裾ベリファイが行なわれる。ただし、ベリファイ電圧をβ(=α+ΔV)とする。下裾ベリファイがPASSしたときには、CPU26は、ステップS711の処理に移行する。下裾ベリファリがFAILしたときには、CPU26は、ステップS709の処理に移行する。
ステップS709において、ステップS703と同様にして、書込みパルスが印加される。
ステップS710において、ステップS708と同様にして、下裾ベリファイが行なわれる。下裾ベリファイがFAILしたときには、CPU26は、書込みパルスの電圧を0.2Vインクリメントするように図示しない電圧制御回路に指示するとともに、S709の処理を繰返す。下裾ベリファイがPASSしたときには、CPU26は、ステップS711の処理に移行する。
ステップS711において、以下のようにして11データ転送が行なわれる。11データ転送とは、ページバッファ部に「11」(上位ビットの書込み目標値が1、下位ビットの書込み目標値が1)が格納されているメモリセルに対応するマスクバッファ部のビットのみがベリファイ判定値「1」が格納されるように、マスクバッファ部にデータを転送することをいう。これにより、ページバッファ部に「11」が格納されているメモリセルの上裾ベリファイは自動的にPASSされる。
具体的には、ページバッファ/マスクバッファアレイ51のページバッファ部に保持している選択された32個のメモリセルの上位ビットの書込み目標値が、Yゲート52を介してベリファイ回路54に送られる。
次に、ページバッファ/マスクバッファアレイ51のページバッファ部に保持している選択された32個のメモリセルの32ビット分の下位ビットの書込み目標値が、Yゲート52を介してベリファイ回路54に送られる。
ベリファイ回路54は、上位ビットの書込み目標値が「1」、かつ下位ビットの書込み目標値が「1」となるビットについては、マスクバッファ部の対応するビットに「1」を書込み、それ以外のビットについては、マスクバッファ部の対応するビットに「0」を書込む。
ステップ712において、選択された32個のメモリセルの閾値電圧Vthの上裾ベリファイが以下のようにして行なわれる。
まず、閾値電圧Vthが"10"上裾レベル(=V_10H)以下かどうかが判定される具体的には、メモリアレイ用センスアンプ20は、ベリファイ電圧(=α)を各メモリセルに与えたときに流れる電流量Imを検出する。メモリアレイ用センスアンプ20は、検出した電流量Imが、閾値電圧Vthが"10"上裾レベル(=V_10H)のときに流れる電流値Is(=I_10H)以上かどうかを判定する。メモリアレイ用センスアンプ20は、電流Imが電流Is以上のときには「1」を、電流Imが電流Is未満のときには「0」を第1センスデータとして読書きデータバスRWDATAを通じてベリファイ回路54に出力する。
電流Imが電流Is未満のときには、さらに、閾値電圧Vthが"01"上裾レベル(=V_01H)以上かどうかが判定される。具体的には、メモリアレイ用センスアンプ20は、ベリファイ電圧(=α)をメモリセルに与えたときに流れる電流量Imを検出する。メモリアレイ用センスアンプ20は、検出した電流量Imが、閾値電圧Vthが"01"上裾レベル(=V_01H)のときに流れる電流値Is(=I_01H)以上かどうかを判定する。メモリアレイ用センスアンプ20は、電流Imが電流Is以上のときには「1」を、電流Imが電流Is未満のときには「0」を第2センスデータとして読書きデータバスRWDATAを通じてベリファイ回路54に出力する。
一方、電流Imが電流Is以上のときには、閾値電圧Vthが"11"上裾レベル(=V_11H)以下かどうかが判定される。具体的には、メモリアレイ用センスアンプ20は、ベリファイ電圧(=α)をメモリセルに与えたときに流れる電流量Imを検出する。メモリアレイ用センスアンプ20は、検出した電流量Imが、閾値電圧Vthが"11"下裾レベル(=V_11H)のときに流れる電流値Is(=I_11H)以上かどうかを判定する。メモリアレイ用センスアンプ20は、電流Imが電流Is以上のときには「1」を、電流Imが電流Is未満のときには「0」を第2センスデータとして読書きデータバスRWDATAを通じてベリファイ回路54に出力する。
一方、ページバッファ/マスクバッファアレイ51のページバッファ部に保持している選択された32個のメモリセルの上位ビットの書込み目標値が、Yゲート52を介してベリファイ回路54に送られる。ベリファイ回路54は、各ビットごとに、第1センスデータと上位ビットの書込み目標値とが一致するか否かを調べる。
次に、ページバッファ/マスクバッファアレイ51のページバッファ部に保持している選択された32個のメモリセルの下位ビットの書込み目標値が、Yゲート52を介してベリファイ回路54に送られる。ベリファイ回路54は、各ビットごとに、第2センスデータと下位ビットの書込み目標値とが一致するか否かを調べる。
次に、ページバッファ/マスクバッファアレイ51のマスクバッファ部に保持している選択された32個のメモリセルに対応するベリファイ判定値が、Yゲート52を介してベリファイ回路54に送られる。
ベリファイ回路54は、第1センスデータと上位ビットの書込み目標値とが一致し、かつ第2センスデータと下位ビットの書込み目標値とが一致するようなビット、またはベリファイ判定値が「1」となるようなビットについては、ページバッファ/マスクバッファアレイ51のマスクバッファ部の対応するビットのベリファイ判定値が「1」となるように、マスクバッファ部にデータを転送する。
ベリファイ回路54は、32ビットすべてについて、第1センスデータと上位ビットの書込み目標値とが一致し、かつ第2センスデータと下位ビットの書込み目標値とが一致したとき、またはベリファイ判定値が「1」となったときには、上裾ベリファイのPASSを示すベリファイ判定信号D1HVPASSをCPU26に送り、CPU26は、書込みシーケンスを正常終了する。一方、ベリファイ回路54は、32ビットすべてについては、不一致のときには、上裾ベリファイのFAILを示すベリファイ判定信号D1HVPASSをCPU26に送り、CPU26は、書込みシーケンスを異常終了する。
(下裾ベリファイの動作)
次に、下裾ベリファイ時の詳細な動作を説明する。
図13は、下裾ベリファイのタイミングチャートを示す。同図の第1〜第4サイクルがベリファイ周期である。同図を参照して、第1サイクルにおいて、ページバッファ/マスクバッファ用制御回路53は、プリセット信号PRESETを「1」にする。これにより、ラッチ部63のFFREGノードが「1」にプリセットされる。その後、ページバッファ/マスクバッファ用制御回路53は、プリセット信号PRESETを「0」にもどす。
メモリアレイ用センスアンプ52は、第1センスデータを読書きデータバスRWDATAに出力する。ページバッファ/マスクバッファアレイ51のページバッファ部は、ビット線BLに上位ビットの書込み目標値を出力する。
EXNOR部61は、読書きデータバスRWDATAを通じて第1センスデータを受け、ビット線BLを通じてページバッファ/マスクバッファアレイ51のページバッファ部から上位ビットの書込み目標値を受ける。EXNOR部61は、第1センスデータと上位ビットの書込み目標値が一致するか否かに応じたデータをビット線対BL,IBLに出力する。
その後、ページバッファ/マスクバッファ用制御回路53は、センスアンプ活性化信号SAN/ISAPを「1」/「0」にする。これにより、センスアンプ部62は、EXNOR部61から出力されるビット線対BL,IBLのデータを増幅する。EXNOR部61が一致に応じたデータを出力したときには、センスアンプ増幅信号SAは「1」となる。一方、EXNOR部61が不一致に応じたデータを出力したときには、センスアンプ増幅信号SAは「0」となる。
その後、ページバッファ/マスクバッファ用制御回路53は、増幅信号取込み信号ITRANSAを「0」にする。これにより、ラッチ部63のFFREGノードは、センスアンプ増幅信号SAのレベルに応じて変化する。EXNOR部61が一致に応じたデータを出力したとき(すなわち、センスアンプ増幅信号SAが「1」のとき)には、FFREGノードは「1」となる。一方、EXNOR部61が不一致に応じたデータを出力したとき(すなわち、センスアンプ増幅信号SAが「0」のとき)には、FFREGノードは「0」となる。
第2サイクルにおいて、メモリアレイ用センスアンプ52は、第2センスデータを読書きデータバスRWDATAに出力する。ページバッファ/マスクバッファアレイ51のページバッファ部は、ビット線BLに下位ビットの書込み目標値を出力する。
EXNOR部61は、読書きデータバスRWDATAを通じて第2センスデータを受け、ビット線BLを通じてページバッファ/マスクバッファアレイ51のページバッファ部から下位ビットの書込み目標値を受ける。EXNOR部61は、第2センスデータと下位ビットの書込み目標値が一致するか否かに応じたデータをビット線対BL,IBLに出力する。
その後、ページバッファ/マスクバッファ用制御回路53は、センスアンプ活性化信号SAN/ISAPを「1」/「0」にする。これにより、センスアンプ部62は、EXNOR部61から出力されるビット線対BL,IBLのデータを増幅する。EXNOR部61が一致に応じたデータを出力したときには、センスアンプ増幅信号SAは「1」となる。一方、EXNOR部61が不一致に応じたデータを出力したときには、センスアンプ増幅信号SAは「0」となる。
その後、ページバッファ/マスクバッファ用制御回路53は、増幅信号取込み信号ITRANSAを「0」にする。これにより、ラッチ部63のFFREGノードは、センスアンプ増幅信号SAのレベルに応じて変化する。EXNOR部61が一致に応じたデータを出力し(すなわちセンスアンプ増幅信号SAが「1」である)、かつ変化前のFFREGノードが「1」のときのみ、FFREGノードは「1」となる。つまり、2ビットが一致したときに、FFREGノードは「1」となる。一方、EXNOR部61が不一致に応じたデータを出力したとき(すなわちセンスアンプ増幅信号SAが「0」のとき)、または変化前のFFREGノードが「0」のときには、FFREGノードは「0」となる。つまり、少なくとも1ビットが不一致のときに、FFREGノードは「0」となる。
第3サイクルにおいて、メモリアレイ用センスアンプ52は、固定値「1」を読書きデータバスRWDATAに出力する。ページバッファ/マスクバッファアレイ51のマスクバッファ部は、ビット線IBLにパルス印加指示値を出力する。
EXNOR部61は、読書きデータバスRWDATAを通じて固定値「1」を受け、ビット線IBLを通じてページバッファ/マスクバッファアレイ51のマスクバッファ部からパルス印加指示値を受ける。EXNOR部61は、パルス印加指示値が「1」の「0」のいずれであるかに応じたデータをビット線対BL,IBLに出力する。
その後、ページバッファ/マスクバッファ用制御回路53は、センスアンプ活性化信号SAN/ISAPを「1」/「0」にする。これにより、センスアンプ部62は、EXNOR部61から出力されるビット線対BL,IBLのデータを増幅する。EXNOR部61がベリファイ判定値を「1」(書込み完了)と判定したデータを出力したときには、反転センスアンプ増幅信号ISAは「0」となる。一方、EXNOR部61がベリファイ判定値を「0」(書込み未完了)と判定したデータを出力したときには、反転センスアンプ増幅信号ISAは「1」となる。
その後、ページバッファ/マスクバッファ用制御回路53は、反転増幅信号取込み信号ITRANISAを「0」にする。これにより、ラッチ部63の変化前のFFREGノードのレベルと、反転センスアンプ増幅信号ISAのレベルとに応じて、FFIREGノードが変化する。EXNOR部61がベリファイ判定値を「0」(書込み未完了)と判定し(すなわち反転センスアンプ増幅信号ISAが「1」である)、かつ変化前のFFREGノードが「0」(少なくとも1ビットが不一致)のときのみ、FFIREGノードは「1」となる。一方、EXNOR部61がベリファイ判定値を「1」(書込み完了)と判定したとき(すなわち反転センスアンプ増幅信号ISAが「0」のとき)、または変化前のFFREGノードが「1」(2ビットが一致)のときには、FFIREGノードは「0」となる。
第4サイクルにおいて、ページバッファ/マスクバッファ制御回路53は、ドライバ制御信号IDRVを「0」にする。これにより、ドライバ部65は、FFIREGノードのデータをビット線対BL,IBLを介してページバッファ/マスクバッファアレイ51のマスクバッファ部に対応するビットに出力する。FFIREGノードが「1」のときには、ページバッファ/マスクバッファアレイ51のマスクバッファ部に「0」(書込み未完了)が書込まれ、FFIREGノードが「0」のときには、ページバッファ/マスクバッファアレイ51のマスクバッファ部に「1」(書込み完了)が書込まれる。
また、ページバッファ/マスクバッファ制御回路53は、判定結果出力制御信号CDENを「1」にする。これにより、FFIREGノードの32ビットがいずれもが「0」のときに、ベリファイ判定部64のノードCDFは「1」となり、ノードCDFから出力されるベリファイ判定信号DIHVPASSが「1」(ベリファイ判定がPASSを示す)となる。
一方、FFIREGノードの32ビットのうちの少なくとも1ビットが「1」のときに、ベリファイ判定部64のノードCDFは「0」となり、ノードCDFから出力されるベリファイ判定信号DIHVPASSが「0」(ベリファイ判定がFAILを示す)となる。
(パルスチェックベリファイ)
図14は、パルスチェックベリファイのタイミングチャートを示す。同図の第1〜第3サイクルがベリファイ周期である。同図を参照して、第1サイクルにおいて、ページバッファ/マスクバッファ用制御回路53は、プリセット信号PRESETを「1」にする。これにより、ラッチ部63のFFREGノードが「1」にプリセットされる。その後、ページバッファ/マスクバッファ用制御回路53は、プリセット信号PRESETを「0」にもどす。
メモリアレイ用センスアンプ52は、第1センスデータを読書きデータバスRWDATAに出力する。ページバッファ/マスクバッファ用制御回路53は、制御線CTRLを通じてビット線BLを強制的に「0」にする。
EXNOR部61は、読書きデータバスRWDATAを通じて第1センスデータを受け、ビット線BLを通じて固定値「0」を受け、第1センスデータが「1」であるか「0」であるかに応じたデータをビット線対BL,IBLに出力する。
その後、ページバッファ/マスクバッファ用制御回路53は、センスアンプ活性化信号SAN/ISAPを「1」/「0」にする。これにより、センスアンプ部62は、EXNOR部61から出力されるビット線対BL,IBLのデータを増幅する。EXNOR部61が第1センスデータを「1」と判定したデータを出力したときには、センスアンプ増幅信号SAは「0」となり、反転センスアンプ増幅信号ISAは「1」となる。EXNOR部61が第1センスデータを「0」と判定したデータを出力したときには、センスアンプ増幅信号SAは「1」となり、反転センスアンプ増幅信号ISAは「0」となる。
その後、ページバッファ/マスクバッファ用制御回路53は、増幅信号取込み信号ITRANSAを「0」にする。これにより、ラッチ部63のFFREGノードは、センスアンプ増幅信号SAのレベルに応じて変化する。EXNOR部61が第1センスデータを「0」と判定したとき(すなわち、センスアンプ増幅信号SAが「1」のとき)には、FFREGノードは「1」となる。一方、EXNOR部61が第1センスデータを「1」と判定したとき(すなわち、センスアンプ増幅信号SAが「0」のとき)には、FFREGノードは「0」となる。
第2サイクルにおいても、メモリアレイ用センスアンプ20は、読書きデータバスRWDATAを通じて第1センスデータを送り、ベリファイ回路54およびページバッファ/マスクバッファ用制御回路53は、第1サイクルと同様の処理を行なう。この第2サイクルは、ベリファイ判定信号DIHVPASSが出力されるまでの期間を下裾ベリファイおよび上裾ベリファイと同一にするために設けたもので、必須のものではない。
第3サイクルにおいて、メモリアレイ用センスアンプ52は、読書きデータバスRWDATAを強制的に「1」にする。ページバッファ/マスクバッファアレイのうちの32ビット分のマスクバッファは、ビット線BLにベリファイ判定値を出力する。
EXNOR部61は、読書きデータバスRWDATAを通じて固定値「1」を受け、ビット線BLを通じてベリファイ判定値を受け、ベリファイ判定値が「1」であるか「0」であるかに応じたデータをビット線対BL,IBLに出力する。
その後、ページバッファ/マスクバッファ用制御回路53は、センスアンプ活性化信号SAN/ISAPを「1」/「0」にする。これにより、センスアンプ部62は、EXNOR部61から出力されるビット線対BL,IBLのデータを増幅する。EXNOR部61がベリファイ判定値を「1」と判定したデータを出力したときには、センスアンプ増幅信号SAは「1」となり、反転センスアンプ増幅信号ISAが「0」となる。EXNOR部61がベリファイ判定値を「0」と判定したデータを出力したときには、センスアンプ増幅信号SAは「0」となり、反転センスアンプ増幅信号ISAは「1」となる。
その後、ページバッファ/マスクバッファ用制御回路53は、反転増幅信号取込み信号ITRANISAを「0」にする。これにより、ラッチ部63の変化前のFFREGノードのレベルと、反転センスアンプ増幅信号ISAのレベルとに応じて、FFIREGノードが変化する。EXNOR部61がベリファイ判定値を「0」(書込み未完了)と判定し(すなわち反転センスアンプ増幅信号ISAが「1」である)、かつ変化前のFFREGノードが「0」(第1センスデータが「1」)のときのみ、FFIREGノードは「1」となる。一方、EXNOR部61がベリファイ判定値を「1」(書込み完了)と判定したとき(すなわち反転センスアンプ増幅信号ISAが「0」のとき)、または変化前のFFREGノードが「1」(第1センスデータが「0」)のときには、FFIREGノードは「0」となる。
次に、ページバッファ/マスクバッファ制御回路53は、判定結果出力制御信号CDENを「1」にする。これにより、FFIREGノードの32ビットがいずれもが「0」のときに、ベリファイ判定部64のノードCDFは「1」となり、ノードCDFから出力されるベリファイ判定信号DIHVPASSが「1」(ベリファイ判定がPASSを示す)となる。
一方、FFIREGノードの32ビットのうちの少なくとも1ビットが「1」のときに、ベリファイ判定部64のノードCDFは「0」となり、ノードCDFから出力されるベリファイ判定信号DIHVPASSが「0」(ベリファイ判定がFAILを示す)となる。
(00データ転送)
図15は、00データ転送のタイミングチャートを示す。同図の第1〜第4サイクルがベリファイ周期である。同図を参照して、第1サイクルにおいて、ページバッファ/マスクバッファ用制御回路53は、リセット信号IRESET00を「0」にする。これにより、ラッチ部63のFFREGノードが「0」にリセットされる。その後、ページバッファ/マスクバッファ用制御回路53は、リセット信号IRESET00を「1」にもどす。
メモリアレイ用センスアンプ52は、固定値「1」を読書きデータバスRWDATAに出力する。ページバッファ/マスクバッファアレイ51のページバッファ部は、ビット線BLに上位ビットの書込み目標値を出力する。
EXNOR部61は、読書きデータバスRWDATAを通じて固定値「1」を受け、ビット線BLを通じてページバッファ/マスクバッファアレイ51のページバッファ部から上位ビットの書込み目標値を受ける。EXNOR部61は、上位ビットの書込み目標値が「1」か「0」のいずれであるかに応じたデータをビット線対BL,IBLに出力する。
その後、ページバッファ/マスクバッファ用制御回路53は、センスアンプ活性化信号SAN/ISAPを「1」/「0」にする。これにより、センスアンプ部62は、EXNOR部61から出力されるビット線対BL,IBLのデータを増幅する。EXNOR部61が上位ビットの書込み目標値を「1」と判定したデータを出力したときには、反転センスアンプ増幅信号ISAは「0」となる。一方、EXNOR部61が上位ビットの書込み目標値を「0」と判定したデータを出力したときには、反転センスアンプ増幅信号ISAは「1」となる。
その後、ページバッファ/マスクバッファ用制御回路53は、反転増幅信号取込み信号ITRANISAを「0」にする。これにより、ラッチ部63のFFREGノードの「0」と、反転センスアンプ増幅信号ISAのレベルとに応じて、FFIREGノードが変化する。EXNOR部61が上位ビットを「1」と判定したとき(すなわち反転センスアンプ増幅信号ISAが「0」のとき)には、FFIREGノードは「0」となり、FFREGノードは、「1」となる。一方、EXNOR部61が上位ビットを「0」と判定したとき(すなわち反転センスアンプ増幅信号ISAが「1」のとき)には、FFIREGノードは「1」となり、FFREGノードは「0」となる。
第2サイクルにおいて、メモリアレイ用センスアンプ52は、固定値「1」を読書きデータバスRWDATAに出力する。ページバッファ/マスクバッファアレイ51のページバッファ部は、ビット線BLに下位ビットの書込み目標値を出力する。
EXNOR部61は、読書きデータバスRWDATAを通じて固定値「1」を受け、ビット線BLを通じてページバッファ/マスクバッファアレイ51のページバッファ部から下位ビットの書込み目標値を受ける。EXNOR部61は、下位ビットの書込み目標値が「1」の「0」のいずれであるかに応じたデータをビット線対BL,IBLに出力する。
その後、ページバッファ/マスクバッファ用制御回路53は、センスアンプ活性化信号SAN/ISAPを「1」/「0」にする。これにより、センスアンプ部62は、EXNOR部61から出力されるビット線対BL,IBLのデータを増幅する。EXNOR部61が下位ビットの書込み目標値を「1」と判定したデータを出力したときには、反転センスアンプ増幅信号ISAは「0」となる。一方、EXNOR部61が下位ビットの書込み目標値を「0」と判定したデータを出力したときには、反転センスアンプ増幅信号ISAは「1」となる。
その後、ページバッファ/マスクバッファ用制御回路53は、反転増幅信号取込み信号ITRANISAを「0」にする。これにより、ラッチ部63の変化前のFFREGノードのレベルと、反転センスアンプ増幅信号ISAのレベルとに応じて、FFIREGノードが変化する。EXNOR部61が上位ビットを「0」と判定したとき(すなわち反転センスアンプ増幅信号ISAが「1」のとき)、かつ変化前のFFREGノードが「0」のときのみ、FFIREGノードは「1」となり、FFREGノードは「0」となる。つまり、ページバッファ/マスクバッファアレイ51のページバッファ部の書込み目標値が「00」のときには、FFIREGノードは「1」となり、FFREGノードは「0」となる。一方、EXNOR部61が上位ビットを「1」と判定したとき(すなわち反転センスアンプ増幅信号ISAが「0」のとき)、または変化前のFFREGノードが「1」のときには、FFIREGノードは「0」となり、FFREGノードは「1」となる。つまり、ページバッファの書込み目標値が「01」、「10」、または「11」のときには、FFIREGノードは「0」となり、FFREGノードは「1」となる。
第3サイクルにおいて、メモリアレイ用センスアンプ52は、固定値「1」を読書きデータバスRWDATAに出力する。ページバッファ/マスクバッファ用制御回路53は、制御線CTRLを通じてビット線BLを強制的に「0」にする。
EXNOR部61は、読書きデータバスRWDATAを通じて固定値「1」を受け、ビット線BLを通じて「0」を受け、これらが不一致と判定する。
その後、ページバッファ/マスクバッファ用制御回路53は、センスアンプ活性化信号SAN/ISAPを「1」/「0」にする。これにより、センスアンプ部62は、EXNOR部61から出力されるビット線対BL,IBLのデータを増幅する。EXNOR部61が不一致と判定するので、反転センスアンプ増幅信号ISAは「1」となる。
その後、ページバッファ/マスクバッファ用制御回路53は、反転増幅信号取込み信号ITRANISAを「0」にする。これにより、ラッチ部63の変化前のFFREGノードのレベルと、反転センスアンプ増幅信号ISA「1」のレベルとに応じて、FFIREGノードが変化する。変化前のFFREGノードが「0」のとき、FFIREGノードは「1」となる。つまり、ページバッファ/マスクバッファアレイ51のページバッファ部の書込み目標値が「00」のときには、FFIREGノードは「1」となる。一方、変化前のFFREGノードが「1」のときには、FFIREGノードは「0」となる。つまり、ページバッファの書込み目標値が「01」、「10」、または「11」のときには、FFIREGノードは「0」となる。
第4サイクルにおいて、ページバッファ/マスクバッファ制御回路53は、ドライバ制御信号IDRVを「0」にする。これにより、ドライバ部65は、FFIREGノードのデータをビット線対BL,IBLを介してページバッファ/マスクバッファアレイ51のマスクバッファ部の対応するビットに出力する。FFIREGノードが「1」のときには、ページバッファ/マスクバッファアレイ51のマスクバッファ部に「0」(書込み未完了)が書込まれ、FFIREGノードが「0」のときには、ページバッファ/マスクバッファアレイ51のマスクバッファ部に「1」(書込み完了)が書込まれる。
(11データ転送)
図16は、11データ転送のタイミングチャートを示す。同図の第1〜第4サイクルがベリファイ周期である。同図を参照して、第1サイクルにおいて、ページバッファ/マスクバッファ用制御回路53は、プリセット信号PRESETを「1」にする。これにより、ラッチ部63のFFREGノードが「1」にプリセットされる。その後、ページバッファ/マスクバッファ用制御回路53は、プリセット信号PRESETを「0」にもどす。
メモリアレイ用センスアンプ52は、固定値「1」を読書きデータバスRWDATAに出力する。ページバッファ/マスクバッファアレイ51のページバッファ部は、ビット線BLに上位ビットの書込み目標値を出力する。
EXNOR部61は、読書きデータバスRWDATAを通じて固定値「1」を受け、ビット線BLを通じてページバッファ/マスクバッファアレイ51のページバッファ部から上位ビットの書込み目標値を受ける。EXNOR部61は、上位ビットの書込み目標値が「1」の「0」のいずれであるかに応じたデータをビット線対BL,IBLに出力する。
その後、ページバッファ/マスクバッファ用制御回路53は、センスアンプ活性化信号SAN/ISAPを「1」/「0」にする。これにより、センスアンプ部62は、EXNOR部61から出力されるビット線対BL,IBLのデータを増幅する。EXNOR部61が上位ビットの書込み目標値を「1」と判定したデータを出力したときには、センスアンプ増幅信号SAは「1」となる。一方、EXNOR部61が上位ビットの書込み目標値を「1」と判定したデータを出力したときには、センスアンプ増幅信号SAは「0」となる。
その後、ページバッファ/マスクバッファ用制御回路53は、増幅信号取込み信号ITRANSAを「0」にする。これにより、ラッチ部63のFFREGノードは、センスアンプ増幅信号SAのレベルに応じて変化する。EXNOR部61が上位ビットの書込み目標値を「1」と判定したとき(すなわち、センスアンプ増幅信号SAが「1」のとき)には、FFREGノードは「1」となる。一方、EXNOR部61が上位ビットの書込み目標値を「0」と判定したとき(すなわち、センスアンプ増幅信号SAが「0」のとき)には、FFREGノードは「0」となる。
第2サイクルにおいて、メモリアレイ用センスアンプ52は、固定値「1」を読書きデータバスRWDATAに出力する。ページバッファ/マスクバッファアレイ51のページバッファ部は、ビット線BLに下位ビットの書込み目標値を出力する。
EXNOR部61は、読書きデータバスRWDATAを通じて固定値「1」を受け、ビット線BLを通じてページバッファ/マスクバッファアレイ51のページバッファ部から下位ビットの書込み目標値を受ける。EXNOR部61は、下位ビットの書込み目標値が「1」の「0」のいずれであるかに応じたデータをビット線対BL,IBLに出力する。
その後、ページバッファ/マスクバッファ用制御回路53は、センスアンプ活性化信号SAN/ISAPを「1」/「0」にする。これにより、センスアンプ部62は、EXNOR部61から出力されるビット線対BL,IBLのデータを増幅する。EXNOR部61が下位ビットの書込み目標値を「1」と判定したときには、センスアンプ増幅信号SAは「1」となる。一方、EXNOR部61が下位ビットの書込み目標値を「0」と判定したときには、センスアンプ増幅信号SAは「0」となる。
その後、ページバッファ/マスクバッファ用制御回路53は、増幅信号取込み信号ITRANSAを「0」にする。これにより、ラッチ部63のFFREGノードは、センスアンプ増幅信号SAのレベルに応じて変化する。EXNOR部61が下位ビットの書込み目標値を「1」と判定し(すなわちセンスアンプ増幅信号SAが「1」である)、かつ変化前のFFREGノードが「1」のときのみ、FFREGノードは「1」となり、FFIREGノードは「0」となる。つまり、ページバッファ/マスクバッファアレイ51のページバッファ部の書込み目標値が「11」のときには、FFIREGノードは「1」となり、FFIREGノードは「0」となる。一方、EXNOR部61が下位ビットの書込み目標値を「0」と判定したとき(すなわちセンスアンプ増幅信号SAが「0」のとき)、または変化前のFFREGノードが「0」のときには、FFREGノードは「0」となり、FFIREGノードは「1」となる。つまり、ページバッファの書込み目標値が「00」、「01」、または「10」のときには、FFREGノードは「0」となり、FFIREGノードは「1」となる。
第3サイクルにおいて、メモリアレイ用センスアンプ52は、固定値「1」を読書きデータバスRWDATAに出力する。ページバッファ/マスクバッファ用制御回路53は、制御線CTRLを通じてビット線BLを強制的に「0」にする。
EXNOR部61は、読書きデータバスRWDATAを通じて固定値「1」を受け、ビット線BLを通じて「0」を受け、これらが不一致と判定する。
その後、ページバッファ/マスクバッファ用制御回路53は、センスアンプ活性化信号SAN/ISAPを「1」/「0」にする。これにより、センスアンプ部62は、EXNOR部61から出力されるビット線対BL,IBLのデータを増幅する。EXNOR部61が不一致と判定するので、反転センスアンプ増幅信号ISAは「1」となる。
その後、ページバッファ/マスクバッファ用制御回路53は、反転増幅信号取込み信号ITRANISAを「0」にする。これにより、ラッチ部63の変化前FFREGノードのレベルと、反転センスアンプ増幅信号ISA「1」のレベルとに応じて、FFIREGノードが変化する。変化前のFFREGノードが「0」のとき、FFIREGノードは「1」となる。つまり、ページバッファ/マスクバッファアレイ51のページバッファ部の書込み目標値が「00」、「01」、または「11」のときには、FFIREGノードは「1」となる。一方、変化前のFFREGノードが「1」のときには、FFIREGノードは「0」となる。つまり、ページバッファの書込み目標値が「11」のときには、FFIREGノードは「0」となる。
第4サイクルにおいて、ページバッファ/マスクバッファ制御回路53は、ドライバ制御信号IDRVを「0」にする。これにより、ドライバ部65は、FFIREGノードのデータをビット線対BL,IBLを介してページバッファ/マスクバッファアレイ51のマスクバッファ部の対応するビットに出力する。FFIREGノードが「1」のときには、ページバッファ/マスクバッファアレイ51のマスクバッファ部に「0」(書込み未完了)が書込まれ、FFIREGノードが「0」のときには、ページバッファ/マスクバッファアレイ51のマスクバッファ部に「1」(書込み完了)が書込まれる。
(上裾ベリファイの動作)
上裾ベリファイ時にメモリアレイ用センスアンプ20から送られる第1センスデータおよび第2センスデータは、上述したように下裾ベリファイ時と異なる。一方、ベリファイ回路54における上裾ベリファイの動作は、下裾ベリファイの動作と同様である。したがって、ベリファイ回路54の上裾ベリファイ時の動作の説明は繰返さない。
(ダミーベリファイ)
図17は、ダミーベリファイのタイミングチャートを示す。同図の第1〜第4サイクルがベリファイ周期である。同図を参照して、第1サイクルにおいて、ページバッファ/マスクバッファ用制御回路53は、プリセット信号PRESETを「1」にする。これにより、ラッチ部63のFFREGノードが「1」にプリセットされる。その後、ページバッファ/マスクバッファ用制御回路53は、プリセット信号PRESETを「0」にもどす。
メモリアレイ用センスアンプ52は、第1センスデータを読書きデータバスRWDATAに出力する。ページバッファ/マスクバッファアレイ51のページバッファ部は、ビット線BLに上位ビットの書込み目標値を出力する。
EXNOR部61は、読書きデータバスRWDATAを通じて第1センスデータを受け、ビット線BLを通じてページバッファ/マスクバッファアレイ51のページバッファ部から上位ビットの書込み目標値を受ける。EXNOR部61は、第1センスデータと上位ビットの書込み目標値が一致するか否かに応じたデータをビット線対BL,IBLに出力する。
その後、ページバッファ/マスクバッファ用制御回路53は、センスアンプ活性化信号SAN/ISAPを「1」/「0」にする。これにより、センスアンプ部62は、EXNOR部61から出力されるビット線対BL,IBLのデータを増幅する。EXNOR部61が一致と判定したデータを出力したときには、センスアンプ増幅信号SAは「1」となる。一方、EXNOR部61が不一致と判定したデータを出力したときには、センスアンプ増幅信号SAは「0」となる。
その後、ページバッファ/マスクバッファ用制御回路53は、増幅信号取込み信号ITRANSAを「0」にする。これにより、ラッチ部63のFFREGノードは、センスアンプ増幅信号SAのレベルに応じて変化する。EXNOR部61が一致と判定したとき(すなわち、センスアンプ増幅信号SAが「1」のとき)には、FFREGノードは「1」となり、FFIREGノードは「0」となる。一方、EXNOR部61が不一致と判定したとき(すなわち、センスアンプ増幅信号SAが「0」のとき)には、FFREGノードは「0」となり、FFIREGノードは「1」となる。したがって、FFIREGノードが「0」となるのは、第1センスデータが「1」、かつ上位ビットの書込み目標値が「1」のとき、または第1センスデータが「0」、かつ上位ビットの書込み目標値が「0」のときである。一方、FFIREGノードが「1」となるのは、第1センスデータが「1」、かつ上位ビットの書込み目標値が「0」のとき、または第1センスデータが「0」、かつ上位ビットの書込み目標値が「1」のときである。
ページバッファ/マスクバッファ用制御回路53は、取込み指示信号IPBWRTを「0」にする。これにより、ラッチ部63に第1センスデータが入力される。ラッチ部63のFFREGノードは、第1センスデータのレベルと、変化前のFFIREGノードのレベルとに応じて変化する。第1センスデータが「1」、かつ変化前のFFIREGノードが「0」のときには、FFREGノードは「1」となり、FFIREGノードは「0」となる。一方、第1センスデータが「0」のとき、または変化前のFFIREGノードが「1」のときには、FFREGノードは「0」となり、FFIREGノードは「1」となる。
したがって、第1センスデータが「1」、かつ上位ビットの書込み目標値が「1」のときに、FFREGノードが「1」となる。一方、第1センスデータが「0」、または上位ビットの書込み目標値が「0」のときには、FFREGノードが「0」となる。つまり、FFREGノードは、第1センスデータと上位ビットの書込み目標値との論理積の値となる。その後、ページバッファ/マスクバッファ用制御回路53は、取込み指示信号IPBWRTを「1」にもどす。
次に、第2サイクルにおいて、ページバッファ/マスクバッファ制御回路53は、ドライバ制御信号IDRVを「0」にする。これにより、ドライバ部65は、FFIREGノードのデータをビット線対BL,IBLを介してページバッファ/マスクバッファアレイ51のマスクバッファ部の対応するビットに出力する。FFREGノードが「1」のときには、ページバッファ/マスクバッファアレイ51のページバッファ部の上位ビットに「1」が書込まれ、FFREGノードが「0」のときには、ページバッファ/マスクバッファアレイ51のページバッファ部の上位ビットに「0」が書込まれる。これにより、ページバッファ/マスクバッファアレイ51のページバッファ部に格納される上位ビットの論理値は、第1センスデータと上位ビットの書込み目標値との論理積である。
次に、第3サイクルにおいて、第2センスデータとページバッファ/マスクバッファアレイ51のページバッファ部の下位ビットについて、第1サイクルにおける第1センスデータとページバッファ/マスクバッファアレイ51のページバッファ部の上位ビットに対する処理と同様の処理が行なわれる。
次に、第4サイクルにおいて、ページバッファ/マスクバッファアレイ51のページバッファ部の下位ビットについて、第3サイクルにおけるページバッファ/マスクバッファアレイ51のページバッファ部の上位ビットに対する処理と同様の処理が行なわれる。これにより、ページバッファ/マスクバッファアレイ51のページバッファ部に格納される下位ビットの論理値は、第2センスデータと下位ビットの書込み目標値との論理積である。
(マスクバッファデータ転送)
図18は、マスクバッファデータ転送のタイミングチャートを示す。同図の第1サイクル〜第2サイクルがベリファイ周期である。同図を参照して、第1サイクルにおいて、ページバッファ/マスクバッファ用制御回路53は、プリセット信号PRESETを「1」にする。これにより、ラッチ部63のFFREGノードが「1」にプリセットされる。その後、ページバッファ/マスクバッファ用制御回路53は、プリセット信号PRESETを「0」にもどす。
メモリアレイ用センスアンプ20は、読書きデータバスRWDATAを強制的に「1」にする。ページバッファ/マスクバッファアレイのうちの32ビット分のマスクバッファは、ビット線BLにベリファイ判定値を出力する。
EXNOR部61は、読書きデータバスRWDATAを通じて固定値「1」を受け、ビット線BLを通じてベリファイ判定値を受け、ベリファイ判定値が「1」であるか「0」であるかを判定する。
その後、ページバッファ/マスクバッファ用制御回路53は、センスアンプ活性化信号SAN/ISAPを「1」/「0」にする。これにより、センスアンプ部62は、EXNOR部61から出力されるビット線対BL,IBLのデータを増幅する。EXNOR部61がベリファイ判定値を「1」と判定したデータを出力したときには、センスアンプ増幅信号SAは「1」となる。EXNOR部61がベリファイ判定値を「0」と判定したデータを出力したときには、センスアンプ増幅信号SAは「0」となる。
その後、ページバッファ/マスクバッファ用制御回路53は、増幅信号取込み信号ITRANSAを「0」にする。これにより、ラッチ部63のFFREGノードは、センスアンプ増幅信号SAのレベルに応じて変化する。EXNOR部61がベリファイ判定値を「1」と判定したとき(すなわち、センスアンプ増幅信号SAが「1」のとき)には、FFREGノードは「1」となる。一方、EXNOR部61がベリファイ判定値を「0」と判定したとき(すなわち、センスアンプ増幅信号SAが「0」のとき)には、FFREGノードは「0」となる。
ドライバ部65のインバータIV2に接続されるデータ線IBDATには、FFIREGノードのデータが送られる。ライトドライバ転送制御信号WTRが「1」となると、セレクタS10が読書きデータバスRWDATAとデータ線IBDATとを接続する。これにより、読書きデータバスRWDATAを通じてライトドライバ&32ビットto64ビット変換回路19に転送される。これにより、32ビット分のデータがライトドライバ&32ビットto64ビット変換回路19に転送される。
第2サイクルにおいて、ページバッファ/マスクバッファアレイのうちの別の32ビット分のマスクバッファについても、第1サイクルと同様の処理が行なわれる。これにより、さらに32ビット分のデータがライトドライバ&32ビットto64ビット変換回路19に転送される。
ライトドライバ&32ビットto64ビット変換回路19の32ビットto64ビット変換回路部は、読書きデータバスRWDATAから第1サイクルで受けた32ビット分のデータと第2サイクルで受けた32ビット分のデータから64ビット分のデータを生成する。
ライトドライバ&32ビットto64ビット変換回路19のライトドライバ部は、FFREGノードが「0」のとき、すなわちページバッファ/マスクバッファアレイ51のマスクバッファ部のベリファイ判定値が「0」のときに、対応するメモリセルに図示しない電圧制御回路で生成される書込みパルスを印加させる。一方、ライトドライバは、FFREGノードが「1」のとき、すなわちページバッファ/マスクバッファアレイ51のマスクバッファ部のベリファイ判定値が「1」のときに、対応するメモリセルに書込みパルスを印加させない。
(フラッシュトウページバッファ転送)
図19は、フラッシュトウページバッファ転送のタイミングチャートを示す。同図の第1〜第4サイクルがベリファイ周期である。同図を参照して、第1サイクルにおいて、ページバッファ/マスクバッファ用制御回路53は、プリセット信号PRESETを「1」にする。これにより、ラッチ部63のFFREGノードが「1」にプリセットされる。その後、ページバッファ/マスクバッファ用制御回路53は、プリセット信号PRESETを「0」にもどす。
メモリアレイ用センスアンプ52は、第1センスデータを読書きデータバスRWDATAに出力する。ページバッファ/マスクバッファ用制御回路53は、制御線CTRLを通じてビット線BLを強制的に「1」にする。
EXNOR部61は、読書きデータバスRWDATAを通じて第1センスデータを受け、ビット線BLを通じて固定値「1」を受け、第1センスデータが「1」であるか「0」であるかに応じたデータをビット線対BL,IBLに出力する。
その後、ページバッファ/マスクバッファ用制御回路53は、センスアンプ活性化信号SAN/ISAPを「1」/「0」にする。これにより、センスアンプ部62は、EXNOR部61から出力されるビット線対BL,IBLのデータを増幅する。EXNOR部61が第1センスデータを「1」と判定したデータを出力したときには、センスアンプ増幅信号SAは「1」となる。EXNOR部61が第1センスデータを「0」と判定したデータを出力したときには、センスアンプ増幅信号SAは「0」となる。
その後、ページバッファ/マスクバッファ用制御回路53は、増幅信号取込み信号ITRANSAを「0」にする。これにより、ラッチ部63のFFREGノードは、センスアンプ増幅信号SAのレベルに応じて変化する。EXNOR部61が第1センスデータを「1」と判定したとき(すなわち、センスアンプ増幅信号SAが「1」のとき)には、FFREGノードは「1」となる。一方、EXNOR部61が第1センスデータを「0」と判定したとき(すなわち、センスアンプ増幅信号SAが「0」のとき)には、FFREGノードは「0」となる。
次に、第2サイクルにおいて、ページバッファ/マスクバッファ制御回路53は、ドライバ制御信号IDRVを「0」にする。これにより、ドライバ部65は、FFIREGノードのデータをビット線対BL,IBLを介してページバッファ/マスクバッファアレイ51のページバッファ部の対応するビットに出力する。FFREGノードが「1」のときには、ページバッファ/マスクバッファアレイ51のページバッファ部の上位ビットに「1」が書込まれ、FFREGノードが「0」のときには、ページバッファ/マスクバッファアレイ51のページバッファ部の上位ビットに「0」が書込まれる。これにより、ページバッファ/マスクバッファアレイ51のページバッファ部に格納される上位ビットの論理値は、第1センスデータの論理値となる。
次に、第3サイクルにおいて、第2センスデータとページバッファ/マスクバッファアレイ51のページバッファ部の下位ビットについて、第1サイクルにおける第1センスデータとページバッファ/マスクバッファアレイ51のページバッファ部の上位ビットに対する処理と同様の処理が行なわれる。
次に、第4サイクルにおいて、ページバッファ/マスクバッファアレイ51のページバッファ部の下位ビットについて、第3サイクルにおけるページバッファ/マスクバッファアレイ51のページバッファ部の上位ビットに対する処理と同様の処理が行なわれる。これにより、ページバッファ/マスクバッファアレイ51のページバッファ部に格納される下位ビットの論理値は、第2センスデータの論理値である。
(フラッシュトウページバッファ反転転送)
図20は、フラッシュトウページバッファ反転転送のタイミングチャートを示す。同図の第1〜第4サイクルがベリファイ周期である。同図を参照して、第1サイクルにおいて、ページバッファ/マスクバッファ用制御回路53は、プリセット信号PRESETを「1」にする。これにより、ラッチ部63のFFREGノードが「1」にプリセットされる。その後、ページバッファ/マスクバッファ用制御回路53は、プリセット信号PRESETを「0」にもどす。
メモリアレイ用センスアンプ52は、第1センスデータを読書きデータバスRWDATAに出力する。ページバッファ/マスクバッファ用制御回路53は、制御線CTRLを通じてビット線BLを強制的に「0」にする。
EXNOR部61は、読書きデータバスRWDATAを通じて第1センスデータを受け、ビット線BLを通じて固定値「0」を受け、第1センスデータが「0」であるか「1」であるかに応じたデータをビット線対BL,IBLに出力する。
その後、ページバッファ/マスクバッファ用制御回路53は、センスアンプ活性化信号SAN/ISAPを「1」/「0」にする。これにより、センスアンプ部62は、EXNOR部61から出力されるビット線対BL,IBLのデータを増幅する。EXNOR部61が第1センスデータを「0」と判定したデータを出力したときには、センスアンプ増幅信号SAは「1」となる。EXNOR部61が第1センスデータを「1」と判定したデータを出力したときには、センスアンプ増幅信号SAは「0」となる。
その後、ページバッファ/マスクバッファ用制御回路53は、増幅信号取込み信号ITRANSAを「0」にする。これにより、ラッチ部63のFFREGノードは、センスアンプ増幅信号SAのレベルに応じて変化する。EXNOR部61が第1センスデータを「0」と判定したとき(すなわち、センスアンプ増幅信号SAが「1」のとき)には、FFREGノードは「1」となる。一方、EXNOR部61が第1センスデータを「1」と判定したとき(すなわち、センスアンプ増幅信号SAが「0」のとき)には、FFREGノードは「0」となる。
次に、第2サイクルにおいて、ページバッファ/マスクバッファ制御回路53は、ドライバ制御信号IDRVを「0」にする。これにより、ドライバ部65は、FFIREGノードのデータをビット線対BL,IBLを介してページバッファ/マスクバッファアレイ51のページバッファ部の対応するビットに出力する。FFREGノードが「1」のときには、ページバッファ/マスクバッファアレイ51のページバッファ部の上位ビットに「1」が書込まれ、FFREGノードが「0」のときには、ページバッファ/マスクバッファアレイ51のページバッファ部の上位ビットに「0」が書込まれる。これにより、ページバッファ/マスクバッファアレイ51のページバッファ部に格納される上位ビットの論理値は、第1センスデータの論理値の反転値となる。
次に、第3サイクルにおいて、第2センスデータとページバッファ/マスクバッファアレイ51のページバッファ部の下位ビットについて、第1サイクルにおける第1センスデータとページバッファ/マスクバッファアレイ51のページバッファ部の上位ビットに対する処理と同様の処理が行なわれる。
次に、第4サイクルにおいて、ページバッファ/マスクバッファアレイ51のページバッファ部の下位ビットについて、第3サイクルにおけるページバッファ/マスクバッファアレイ51のページバッファ部の上位ビットに対する処理と同様の処理が行なわれる。これにより、ページバッファ/マスクバッファアレイ51のページバッファ部に格納される下位ビットの論理値は、第2センスデータの論理値の反転値である。
以上のように、本実施の形態に係る不揮発性半導体記憶装置によれば、第1の実施形態と同様に、マスクバッファとページバッファの2つのバッファを備えることにより、不揮発性のメモリセルトランジスタに多値書込みを行なう際に、ベリファイを適切に行なうことができるとともに、次のようなことが可能となる。
まず、ベリファイ回路54内部にセンスアンプ部62を取込むことにより、不揮発性半導体記憶装置の面積を縮小できる。
また、ベリファイ回路54とメモリアレイ用センスアンプ20とを接続する読出し用のバスと、ベリファイ回路54とライトドライバ&32ビットto64ビット変換回路19とを接続する書込み用のバスを共通化できる。
また、パルスチェックベリファイと00転送とにより、論理値「00」の書込みにおいて、書込みパルスの増加幅を大きくすることによって、メモリセルへの書込みを高速化できる。
また、11転送により、上裾ベリファイ時に、書込み非対象である論理値「11」の上裾ベリファイを自動的にPASS(成功)することができる。これによって、"11"上裾レベル(=V_11H)のレベルがノイズなどによって変動して、無用なベリファイの失敗が発生しないようにできる。
また、ダミーベリファイによって、書込み不可の書込み目標値を、書込み可能な書込み目標値に修正することができる。
メモリアレイからページバッファ部へのデータの転送、およびマスクバッファ部から読書きデータバスRWDATAを通じてのデータの転送が可能となる。
また、外部から設定可能な図示しないレジスタの設定値に応じた周期の内部クロック信号ICLKに基づいて、ベリファイ回路54を制御する信号が生成されるので、ベリファイ周期を所望のものに設定することができる。ベリファイ周期を長くすることによって、低消費電流で動作させることができる。
本発明は、上記の実施形態に限定するものではなく、たとえば、以下のような変形例も含む。
(1) Nビットの書込み
本発明の実施の形態では、2ビットの書込みの例を説明したが、3ビット以上の書込みにも適用することができる。
(2) 第1の実施形態のベリファイ回路
本発明の第1の実施形態においても、ベリファイ回路17に素子の追加、および/または制御する信号を追加することによって、上裾ベリファイ前に「11」転送して、上裾ベリファイ時にマスクバッファ内のベリファイ判定値が「1」であれば自動的に上裾ベリファイをPASSさせる機能を備えることができる。
また、本発明の第1の実施形態においても、ベリファイ回路17に素子の追加、および/または制御する信号を追加することによって、パルスチェックベリファイおよび「00」転送後に、書込みパルスの電圧の増加幅を大きくする機能を備えることができる。
同様に、本発明の第1の実施形態においても、ベリファイ回路17に素子の追加、および/または制御する信号を追加することによって、フラッシュトウページバッファ転送、フラッシュトウページバッファ反転転送、およびマスクバッファデータ転送の機能を備えることができる。
(3) レジスタの設定値に応じたクロック
外部から設定可能な図示しないレジスタの設定値に応じた周期の内部クロック信号ICLKに基づいて、ベリファイ回路54を制御する信号が生成されることを説明したが、ベリファイ動作に関連する他の回路の制御信号も生成するものとしてもよい。たとえば、メモリアレイ用センスアンプ20、およびメモリアレイ21に接続されるビット線をプリチャージするプリチャージ回路もレジスタの設定値に応じた周期の内部クロック信号ICLKに基づいて生成するものとしてもよい。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
SLCのメモリセルの閾値電圧Vthの分布を示す図である。 メモリセルがSLCであるフラッシュメモリの書込みシーケンスの示すフローチャートである。 メモリセルがSLCであるフラッシュメモリの書込みシーケンスにおけるページバッファ内の選択されたメモリセルに対応するビットの格納値の推移を示す図である。 第1の実施形態に係るメモリセルがMLCである不揮発性半導体記憶装置の構成を示すブロック図である MLCのメモリセルの閾値電圧Vthの分布を示す図である。 ダミーベリファイによって、メモリセルに格納されている値および外部から与えられた書込み目標値から生成される新たな書込み目標値を示す図である。 ベリファイ回路17の詳細な構成を示す図である。 第1の実施形態における書込みシーケンスを示すフローチャートである。 書込みシーケンスにおける、ページバッファアレイ11およびマスクバッファアレイ12内の選択されたメモリセルに対応するビットの格納値の推移を示す 第2の実施形態に係る不揮発性半導体記憶装置の構成を示すブロック図である。 ベリファイ回路54の詳細な構成を示す図である。 第2の実施形態における書込みシーケンスを示すフローチャートである 下裾ベリファイのタイミングチャートを示す図である。 パルスチェックベリファイのタイミングチャートを示す図である。 00データ転送のタイミングチャートを示す図である。 11データ転送のタイミングチャートを示す図である。 ダミーベリファイのタイミングチャートを示す図である。 マスクバッファデータ転送のタイミングチャートを示す図である。 フラッシュトウページバッファ転送のタイミングチャートを示す図である。 フラッシュトウページバッファ反転転送のタイミングチャートを示す図である。
符号の説明
11 ページバッファアレイ、12 マスクバッファアレイ、13 ページバッファ用センスアンプ、14 マスクバッファ用センスアンプ、15 64ビットto32ビット変換回路、16 32ビットto64ビット変換回路、17,54 ベリファイ回路、18,53 ページバッファ/マスクバッファ用制御回路、19 ライトドライバ&32ビットto64ビット変換回路、20 メモリアレイ用センスアンプ、21 メモリアレイ、22,23,52 Yゲート、24 ページバッファ&周辺回路群、25 マスクバッファ&周辺回路群、26 CPU、27 CUI、28 OSC、31 ラッチ部、32,61 EXNOR部、33 目標セルデータ生成部、34 2ビット比較部、35,64 ベリファイ判定部、51 ページバッファ/マスクバッファアレイ、62 センスアンプ部、65 ドライバ部、100,200 不揮発性半導体記憶装置、L1,L2,L3,L4,L5,L6 ラッチ回路、E1,E2 排他的論理和回路、A1,A2,A3 論理積回路、O1,O2,O3 論理和回路、55,S1,S2,S10 セレクタ、IV1,IV2,IV3 インバータ、NO1,NO2,NO3,NO5,NO6,NO7 反転論理和回路、NA3,NA4,NA5 反転論理積回路。

Claims (11)

  1. 各々が、閾値電圧に応じてNビットの論理値を記憶する不揮発性のメモリセルトランジスタが複数個行列状に配置されたメモリアレイと、
    下裾ベリファイ時には、下裾ベリファイ用の閾値電圧の区分に基づいて、選択されたメモリセルの閾値電圧の範囲を2分探索でN回調べることによって、Nビットの論理値を出力し、上裾ベリファイ時には、上裾ベリファイ用の閾値電圧の区分に基づいて、選択されたメモリセルの閾値電圧の範囲を2分探索でN回調べることによって、Nビットの論理値を出力するメモリアレイ用センスアンプと、
    各Nビットが、対応するメモリセルへの書込み目標値を記憶する第1のバッファと、
    各1ビットが、対応するメモリセルへの処理を定めた値を記憶する第2のバッファと、
    前記選択されたメモリセルに対応する第2のバッファ内のビットが第1の値を示すときに、書込みパルスの印加を選択するライトドライバと、
    前記メモリアレイ用センスアンプから出力されるNビットの論理値と、前記第1のバッファ内の対応するNビットの書込み目標値とを比較し、比較結果が一致するときにはベリファイ成功を示す信号を出力し、比較結果が不一致のときにはベリファイ失敗を示す信号を出力するベリファイ回路とを備え、
    前記ベリファイ回路は、比較結果が一致すると判定した場合に、前記選択されたメモリセルに対応する前記第2のバッファ内のビットが第1の値を示すときに、前記ビットを第2の値に書き換える、不揮発性半導体記憶装置。
  2. 前記ベリファイ回路は、上裾ベリファイ前に、前記書込み目標値がメモリセルの閾値電圧が最小の範囲に対応するメモリセルについては、対応する前記第2のバッファのビットに前記第2の値を転送し、
    前記ベリファイ回路は、上裾ベリファイ時には、前記比較するNビットの論理値に対応する前記第2のバッファのビットが第2の値のときには、前記比較結果が不一致のときにも、ベリファイ成功を示す信号を出力する、請求項1記載の不揮発性半導体記憶装置。
  3. 下裾ベリファイの繰返し回数に応じて、書込みパルスの電圧を増加させる電圧制御回路をさらに備え、
    前記ベリファイ回路は、選択された複数個のメモリセルのうち、前記メモリアレイ用センスアンプから出力されるNビットの論理値が所定の閾値以下に対応し、かつ対応する第2のバッファのビットが第1の値であるようなメモリセルが存在しないか否かを調べ、
    前記ベリファイ回路は、前記メモリセルが存在しないときには、選択された複数個のメモリセルのうち、前記第1のバッファのNビットの論理値が最大の閾値の範囲に対応するメモリセルについては、対応する前記第2のバッファのビットに第1の値を転送し、前記第1のバッファのNビットの論理値が前記最大の閾値の範囲に対応しないメモリセルについては、対応する前記第2のバッファのビットに第2の値を転送し、
    前記電圧制御回路は、前記第2のバッファへの第1または第2の値の転送後の書込みパルスの電圧の増加幅を、前記第2のバッファへの第1または第2の値の転送前の書込みパルスの電圧の増加幅よりも大きくする、請求項1記載の不揮発性半導体記憶装置。
  4. 前記第1のバッファと前記第2のバッファとは、バッファアレイを構成し、
    前記バッファアレイと前記ベリファイ回路との間で、前記書込み目標値および前記処理を定めた値が転送され、
    前記メモリアレイ用センスアンプは、前記メモリセルに記憶されているNビットの論理値の各ビットをシリアルに読書き兼用バスを通じて前記ベリファイ回路に転送し、
    前記ベリファイ回路は、前記読書き兼用バスを通じて、前記処理を定めた値を前記ライトドライバに転送する、請求項1記載の不揮発性半導体記憶装置。
  5. 前記ベリファイ回路は、
    前記バッファアレイと接続されるビット線対と、
    前記ビット線対の一方のビット線のデータのレベルと、前記読書き兼用バスのデータのレベルとが一致するか否かを比較して、比較結果に応じたデータを前記ビット線対に出力する比較部と、
    前記比較結果に応じたデータが出力された前記ビット線対のデータを増幅するセンスアンプ部と、
    前記増幅された前記ビット線対のデータを受けて、前記ビット線対のデータのレベルに応じた論理値をラッチするラッチ部と、
    前記ラッチ部でラッチされている論理値に基づき、ベリファイ結果を出力するベリファイ判定部と、
    前記ラッチ部でラッチされた論理値に基づく値を前記ビット線対を介して前記バッファアレイに出力するドライバ部とを備え、
    前記読書き兼用バスには、ベリファイ時に、前記メモリアレイ用センスアンプからメモリセルに記憶されているNビットの論理値の各ビットがシリアルに入力され、
    前記ビット線対の一方のビット線には、ベリファイ時に、前記バッファアレイ内の第1のバッファのNビットの書込み目標値の各ビットがシリアルに入力され、
    前記ベリファイ判定部は、前記Nビットの論理値のNビット目および前記Nビットの書込み目標値のNビット目について前記比較部での処理、前記センスアンプ部での処理、および前記ラッチ部での処理の後、前記ラッチ部でラッチされている論理値に基づき、ベリファイ結果を出力し、
    前記ドライバ部は、ベリファイ時に、前記Nビット目についての前記処理の後、前記ラッチ部でラッチされたデータに基づく値を、前記ビット線対を介して前記バッファアレイ内の前記第2のバッファの対応するビットに出力する、請求項4記載の不揮発性半導体記憶装置。
  6. 前記ベリファイ回路が、さらに、前記メモリアレイのメモリセルに記憶されているNビットの論理値を前記第1のバッファの対応するNビットに転送するときには、
    前記読書き兼用バスには、前記メモリアレイ用センスアンプからメモリセルに記憶されているNビットの論理値の各ビットがシリアルに入力され、
    前記ビット線対の一方のビット線には、固定値が入力され、
    前記ドライバ部は、前記Nビットの論理値のNビット目について前記比較部での処理、前記センスアンプ部での処理、および前記ラッチ部での処理の後、前記ラッチ部でラッチされているデータに基づく値を、前記ビット線対を介して前記バッファアレイ内の前記第1のバッファの対応するビットに出力する、請求項5記載の不揮発性半導体記憶装置。
  7. 前記ベリファイ回路は、さらに、前記第2のバッファに記憶されているビットを前記ライトドライバに転送するときには、
    前記読書き兼用バスには、固定値が入力され、
    前記ビット線対の一方のビット線には、前記バッファアレイを構成する第2のバッファの処理を示す値が入力され、
    前記ドライバ部は、前記処理を示す値の前記比較部での処理、前記センスアンプ部での処理、および前記ラッチ部での処理の後、前記ラッチ部でラッチされているデータに基づく値を、前記読書き兼用バスを介して前記ライトドライバに出力する、請求項5記載の不揮発性半導体記憶装置。
  8. 前記ベリファイ回路は、さらに、前記第1のバッファに記憶されているNビットの書込み目標値と、前記メモリアレイのメモリセルに記憶されているNビットの論理値に基づいて、新たなNビットの書込み目標値を生成して、前記新たなNビットの書込み目標値を前記第1のバッファに転送するときには、
    前記読書き兼用バスには、前記メモリアレイ用センスアンプからメモリセルに記憶されているNビットの論理値の各ビットがシリアルに入力され、
    前記ビット線対の一方のビット線には、前記バッファアレイを構成する第1のバッファ内のNビットの書込み目標値の各ビットがシリアルに入力され、
    前記ドライバ部は、前記各ビットの前記比較部での処理、前記センスアンプ部での処理、および前記ラッチ部での処理の後、前記ラッチ部でラッチされているデータに基づく値を、前記ビット線対を介して前記第1のバッファの対応するビットに出力する、請求項5記載の不揮発性半導体記憶装置。
  9. 前記ベリファイ回路は、前記第1のバッファ内のNビットの書込み目標値が所定の論理値のときに、前記第2のバッファの対応するビットに所定の値を転送するときには、
    前記読書き兼用バスには、固定値が入力され、
    前記ビット線対の一方のビット線には、前記バッファアレイ内の第1のバッファのNビットの書込み目標値の各ビットがシリアルに入力され、
    前記ドライバ部は、前記Nビットの書込み目標値のNビット目について前記比較部での処理、前記センスアンプ部での処理、および前記ラッチ部での処理の後、前記ラッチ部でラッチされているデータに基づく値を、前記ビット線対を介して前記バッファアレイを構成する前記第2のバッファの対応するビットに出力する、請求項5記載の不揮発性半導体記憶装置。
  10. 前記ベリファイ回路は、前記メモリアレイ用センスアンプから出力されるNビットの論理値と、前記第2のバッファ内の対応するビットの処理を示す値との組合わせが所定の条件を満たすかを調べるときには、
    前記読書き兼用バスには、前記メモリアレイ用センスアンプからメモリセルに記憶されているNビットの論理値の各ビットがシリアルに入力され、
    前記ビット線対の一方のビット線には、固定値が入力され、
    前記Nビットの論理値のNビット目について前記比較部での処理、前記センスアンプ部での処理、および前記ラッチ部での処理の後、
    前記読書き兼用バスには、固定値が入力され、
    前記ビット線対の一方のビット線には、前記バッファアレイ内の第2のバッファの処理を定めた値が入力され、
    前記ベリファイ判定部は、前記処理を示す値について前記比較部での処理、前記センスアンプ部での処理、および前記ラッチ部での処理の後、前記ラッチ部でラッチされたデータに基づき、ベリファイ結果を出力する、請求項5記載の不揮発性半導体記憶装置。
  11. レジスタの設定値に応じた周期の内部クロックを生成する内部クロック発生部と、
    前記内部クロック発生部で生成された内部クロックに基づき、前記ベリファイ回路内の前記センスアンプ部のビット線対の増幅を制御する信号、前記ベリファイ回路内の前記ビット線対のプリチャージを制御する信号、前記ベリファイ回路内の前記ラッチ部の前記ビット線対のラッチを制御する信号、前記ベリファイ回路内の前記ドライブ部のラッチされたデータの前記第2のバッファへの出力を制御する信号を生成する制御回路とをさらに備えた請求項5記載の不揮発性半導体記憶装置。
JP2004099590A 2004-03-30 2004-03-30 不揮発性半導体記憶装置 Expired - Lifetime JP4421925B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2004099590A JP4421925B2 (ja) 2004-03-30 2004-03-30 不揮発性半導体記憶装置
US11/082,992 US7242611B2 (en) 2004-03-30 2005-03-18 Nonvolatile semiconductor memory device for writing multivalued data
TW094108567A TWI346954B (en) 2004-03-30 2005-03-21 Nonvolatile semiconductor memory device
CNB2005100627678A CN100492539C (zh) 2004-03-30 2005-03-30 写入多值数据的非易失性半导体存储装置
US11/819,016 US7742334B2 (en) 2004-03-30 2007-06-25 Nonvolatile semiconductor memory device for writing multivalued data
US11/819,015 US7518929B2 (en) 2004-03-30 2007-06-25 Nonvolatile semiconductor memory device for writing multivalued data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004099590A JP4421925B2 (ja) 2004-03-30 2004-03-30 不揮発性半導体記憶装置

Publications (2)

Publication Number Publication Date
JP2005285253A true JP2005285253A (ja) 2005-10-13
JP4421925B2 JP4421925B2 (ja) 2010-02-24

Family

ID=35050008

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004099590A Expired - Lifetime JP4421925B2 (ja) 2004-03-30 2004-03-30 不揮発性半導体記憶装置

Country Status (4)

Country Link
US (3) US7242611B2 (ja)
JP (1) JP4421925B2 (ja)
CN (1) CN100492539C (ja)
TW (1) TWI346954B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009176393A (ja) * 2007-12-27 2009-08-06 Toshiba Corp 不揮発性半導体記憶装置及びその自動テスト方法
US20110274831A1 (en) * 2009-02-16 2011-11-10 Nippon Chemi-Con Corporation Manufacturing method of electronic part

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4421925B2 (ja) * 2004-03-30 2010-02-24 三星電子株式会社 不揮発性半導体記憶装置
US7307878B1 (en) * 2005-08-29 2007-12-11 Spansion Llc Flash memory device having improved program rate
KR101197556B1 (ko) * 2006-01-09 2012-11-09 삼성전자주식회사 불 휘발성 메모리의 프로그램 동작을 검증하는 장치 및방법, 그리고 그 장치를 포함한 메모리 카드
US7342830B1 (en) * 2006-01-17 2008-03-11 Spansion Llc Program and program verify operations for flash memory
US7920430B2 (en) * 2008-07-01 2011-04-05 Qimonda Ag Integrated circuits and methods for operating the same using a plurality of buffer circuits in an access operation
WO2010016300A1 (ja) * 2008-08-05 2010-02-11 日本電気株式会社 半導体検証装置、方法およびプログラム
JP5193830B2 (ja) 2008-12-03 2013-05-08 株式会社東芝 不揮発性半導体メモリ
US8194481B2 (en) * 2008-12-18 2012-06-05 Mosaid Technologies Incorporated Semiconductor device with main memory unit and auxiliary memory unit requiring preset operation
US8068382B2 (en) * 2009-08-05 2011-11-29 Mosaid Technologies Incorporated Semiconductor memory with multiple wordline selection
US8037235B2 (en) * 2008-12-18 2011-10-11 Mosaid Technologies Incorporated Device and method for transferring data to a non-volatile memory device
WO2010131477A1 (ja) * 2009-05-14 2010-11-18 パナソニック株式会社 不揮発性記憶装置及び不揮発性記憶装置へのデータ書込み方法
JP2011040136A (ja) * 2009-08-13 2011-02-24 Toshiba Corp 半導体記憶装置
US8295095B2 (en) * 2010-04-20 2012-10-23 Micron Technology, Inc. Programming methods for a memory device
JP5577881B2 (ja) * 2010-06-23 2014-08-27 セイコーエプソン株式会社 プリペイドカード処理装置、プリペイドカード処理装置の処理方法
CN102411994B (zh) * 2011-11-24 2015-01-07 深圳市芯海科技有限公司 集成电路内置存储器的数据校验方法及装置
KR20130104287A (ko) * 2012-03-13 2013-09-25 삼성전자주식회사 센싱 검증부를 포함하는 반도체 메모리 장치
US9229889B2 (en) * 2013-03-13 2016-01-05 Atieva, Inc. Dual voltage communication bus
JP2014186787A (ja) 2013-03-25 2014-10-02 Toshiba Corp 不揮発性半導体記憶装置、メモリコントローラ、及びメモリシステム
US9019780B1 (en) * 2013-10-08 2015-04-28 Ememory Technology Inc. Non-volatile memory apparatus and data verification method thereof
US20150262640A1 (en) * 2014-03-11 2015-09-17 Akira Katayama Memory system
KR102292217B1 (ko) 2015-02-06 2021-08-24 삼성전자주식회사 내부적으로 데이터 읽기 검증을 수행할 수 있는 메모리 장치, 이의 작동 방법, 및 이를 포함하는 메모리 시스템
TWI522794B (zh) * 2015-06-10 2016-02-21 國立成功大學 節能非揮發性微處理器
JP6859717B2 (ja) * 2017-01-20 2021-04-14 セイコーエプソン株式会社 回路装置、リアルタイムクロック装置、電子機器、移動体及び検証方法
KR20180089053A (ko) * 2017-01-31 2018-08-08 에스케이하이닉스 주식회사 페일 영역을 판단할 수 있는 메모리 장치 및 이의 테스트 방법, 이를 이용하는 메모리 모듈 및 시스템
US10032511B1 (en) * 2017-05-18 2018-07-24 Macronix International Co., Ltd. Memory with dynamic permissible bit write logic and method
WO2019107112A1 (ja) * 2017-11-29 2019-06-06 パナソニックIpマネジメント株式会社 固体撮像装置
JP6904918B2 (ja) * 2018-03-29 2021-07-21 ファナック株式会社 制御装置およびそのデータ書き込み方法
KR20200071916A (ko) * 2018-12-11 2020-06-22 삼성전자주식회사 메모리 시스템 및 메모리 시스템의 동작 방법

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5602789A (en) * 1991-03-12 1997-02-11 Kabushiki Kaisha Toshiba Electrically erasable and programmable non-volatile and multi-level memory systemn with write-verify controller
US5787039A (en) * 1997-03-06 1998-07-28 Macronix International Co., Ltd. Low current floating gate programming with bit-by-bit verification
JP3169858B2 (ja) 1997-06-20 2001-05-28 日本電気アイシーマイコンシステム株式会社 多値型半導体記憶装置
US6185128B1 (en) * 1999-10-19 2001-02-06 Advanced Micro Devices, Inc. Reference cell four-way switch for a simultaneous operation flash memory device
JP3940544B2 (ja) 2000-04-27 2007-07-04 株式会社東芝 不揮発性半導体メモリのベリファイ方法
JP4559606B2 (ja) 2000-09-28 2010-10-13 ルネサスエレクトロニクス株式会社 不揮発性半導体記憶装置
JP4082482B2 (ja) 2000-12-11 2008-04-30 株式会社ルネサステクノロジ 記憶システムおよびデータ処理システム
JP2003242787A (ja) * 2002-02-14 2003-08-29 Mitsubishi Electric Corp 不揮発性半導体記憶装置
JP4010400B2 (ja) 2002-06-14 2007-11-21 シャープ株式会社 半導体記憶装置およびデータ書き込み制御方法
JP4421925B2 (ja) * 2004-03-30 2010-02-24 三星電子株式会社 不揮発性半導体記憶装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009176393A (ja) * 2007-12-27 2009-08-06 Toshiba Corp 不揮発性半導体記憶装置及びその自動テスト方法
US20110274831A1 (en) * 2009-02-16 2011-11-10 Nippon Chemi-Con Corporation Manufacturing method of electronic part

Also Published As

Publication number Publication date
US7742334B2 (en) 2010-06-22
US20090129149A1 (en) 2009-05-21
CN1677570A (zh) 2005-10-05
US20080019176A1 (en) 2008-01-24
US7242611B2 (en) 2007-07-10
JP4421925B2 (ja) 2010-02-24
US20050232017A1 (en) 2005-10-20
US7518929B2 (en) 2009-04-14
TWI346954B (en) 2011-08-11
CN100492539C (zh) 2009-05-27
TW200535850A (en) 2005-11-01

Similar Documents

Publication Publication Date Title
JP4421925B2 (ja) 不揮発性半導体記憶装置
US8270215B2 (en) Nonvolatile memory device and method of programming the same
US9423969B2 (en) Sensing operations in a memory device
JP3993323B2 (ja) 不揮発性半導体記憶装置
KR100933859B1 (ko) 플래시 메모리 소자 및 그것의 프로그램 방법
KR102386703B1 (ko) 메모리 장치 및 그것의 동작 방법
US20080049497A1 (en) Methods of Programming Multi-Bit Flash Memory Devices and Related Devices
JP2001014873A (ja) 不揮発性半導体記憶装置
JP2006331614A (ja) 面積が減少したページバッファ回路と、これを含むフラッシュメモリ装置およびそのプログラム動作方法
TWI508084B (zh) 自記憶體陣列判定及轉移資料
JP2014044791A (ja) 不揮発性メモリのための適応的エラー訂正
JP2013069408A (ja) 揮発性メモリ装置のマルチレベルセルプログラム方法
JP2009070539A (ja) 不揮発性メモリ装置及びそのマルチレベルセルプログラム方法
US11232835B2 (en) Methods and apparatus for reading NAND flash memory
TWI508076B (zh) 記憶體及程式化記憶體之方法
TWI702601B (zh) 半導體記憶裝置
JP2012507803A (ja) メモリ・デバイスにおけるデータ転送およびプログラミング
JP4724692B2 (ja) 高速プログラム型のmlcメモリ
JP7018089B2 (ja) 半導体記憶装置および読出し方法
JP2008084499A (ja) 半導体記憶装置
KR20100100437A (ko) 비휘발성 메모리 장치의 데이터 독출 방법 및 이를 포함하는 데이터 입출력 방법
JP7012174B1 (ja) 半導体装置および連続読出し方法
CN109637575B (zh) 闪存存储单元的双数据读取验证方法和设备
JP2001357700A (ja) 半導体記憶装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060807

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20080627

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090325

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090414

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090714

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20091110

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091203

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121211

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4421925

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131211

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250