[実施の形態1]
図1は、この発明が適用される半導体記憶装置のメモリアレイの構成とメモリセルのアドレスの構成を概略的に示す図である。図1において、メモリアレイMAは、8Mワード×16ビットのメモリセルを有する。ここで、1ワードは16ビットで構成される。
メモリアレイMAにおいては、64Kワードのブロックが、128個設けられる。したがって、この8Mワードから1ワードを選択するために、23ビットのアドレスA[22:0]が用いられる。メモリアレイMAは、通常、2つのメモリマットに分割される。64KワードのブロックSMAを選択するために、アドレスビットA[22:16]が用いられる。64KワードブロックSMAは、2つの32KワードブロックBALを含む。この32KワードブロックBALは、通常セクタとして用いられ、データの消去単位として利用される。
32KワードのブロックBALから、データ読出時、8ワードの読出データブロックRBKが選択される。この8ワードを、32KワードブロックBALから選択するために、アドレスビットA[14:3]が利用される。最終的に、この8ワードの読出データブロックRBKから1ワードを選択して読出データブロックODKを選択するために、アドレスビットA[2:0]が利用されて、最終的に16ビットのデータDが出力される。
図1に示すメモリアレイのSLC構成においては、16ビットのメモリセルに対し、16ビットのデータが格納される。このSLC構成の半導体記憶装置を、MLC構成の半導体記憶装置として利用することを考える。いま、MLC構成として、4値データすなわち2ビットのデータを1つのメモリセルに格納することを考える。この場合、図2に示すように、16ビットのメモリセルに、32ビットのデータが格納される。すなわち、上位ワードUWおよび下位ワードLWが、16ビットのメモリセルに格納される。これらの16ビット上位ワードUWおよび16ビット下位ワードLWは、外部の論理空間においては別アドレスのワードであり、一方、メモリ空間内においては、同一アドレスのメモリセルに格納される。
この図1に示すアドレスの割付を、多値データを格納するMLC構成に利用する場合、データの記憶容量が、2倍となるため、さらにアドレスビットA[23]が必要となる。このアドレスビット[23]を、SLC構成に悪影響を及ぼすことなく利用することを考える。この場合、後に説明するように、32KワードブロックBALは、アドレスビットA[2]により、2つのブロックに分割される。このブロック選択に、外部のアドレスビットAA[23]を内部のブロックアドレスビットA[2]に変換して、ブロック選択ビットとして利用する。一方、上位ワードUWおよび下位ワードLWを選択するための内部アドレスAE[23]として、外部アドレスビットAA[2]を利用する。
このアドレスビットの割付を行なった場合、データ読出部において、上位ワードUWおよび下位ワードLW選択のために内部アドレスビットAE[23]を利用する。データを書込むプログラム動作時においては、上位ワードUWおよび下位ワードLWの32ビットデータが16ビットのデータに縮退されて、プログラムが行なわれる。したがって、メモリアドレス空間は、データのプログラムについてはSLC構成およびMLC構成において同じであり、プログラム時においては、上位/下位ワード指定のためのアドレスビットAO[23]は不要である。
このアドレス割付を行なうことにより、図1に示す8ワードから1ワードを選択するときに、新たな内部アドレスビットAE[23]を用いて上位ワードUWおよび下位ワードLWを選択する動作を制御する構成が必要となるだけである。他のアドレスについては、SLC構成およびMLC構成については同様であり、SLC構成を利用して、4値データを格納するMLC構成を実現することができる。
また、図2に示すように、16ビットセルにおいて、上位ワードUWおよび下位ワードLWは、それぞれ8ビットのセルに書込むことにより、同一ブロック内の上位バイトデータ格納領域および下位バイトデータ格納領域に、アドレスビットAA[23]の同じ値に応じたデータを格納することができる。従って、図3に示すように、アドレスビットAA[23]を内部のアドレスビットAE[2]およびAO[2]に変換することにより、論理空間ASの上位アドレス空間および下位アドレス空間をそれぞれメモリアドレス空間の別々のブロックに対応付けることができる。すなわち、図3に示すように、アドレスビットAA[23]がそれぞれ“0”および“1”であるサブ論理空間AS0およびAS1において、同一サブ論理空間の連続する2ワードを、それぞれ、メモリアレイ内において、上位サブ論理空間ワード格納ブロック領域および下位サブ論理空間ワードブロック領域に格納できる。メモリアレイのブロック領域の同一アドレスにおいて、同一サブ論理空間の連続する外部2ワードを、それぞれ上位バイト領域および下位バイト領域に分散して格納することができる。
1ワードのメモリセルにおいて、上位バイト領域および下位バイト領域を、外部アドレスビットAA[2]に対応する内部アドレスビットAE[23]で指定する。これにより、内部アドレスビットのアドレスの割付が容易となり、また、MLC構成時、メモリ空間と論理空間との間のアドレスの整合性を取ることができる。また、後に詳細に説明するように、シリアルセンス方式に従ってメモリセルデータを読み出す時に、連続する2ワードの上位ワードおよび下位ワードの識別が容易となり、また、容易にページモードでデータを読み出すことができる。
図4は、この発明の実施の形態1に従う不揮発性半導体記憶装置の全体の構成を概略的に示す図である。図4において、不揮発性半導体記憶装置1は、行列状に配列される複数の不揮発性メモリセルを有するメモリセルアレイ10と、外部からのコマンドおよびアドレスを受けて、内部動作に必要な各種制御信号を発生するコマンドユーザインターフェイス(CUI)2と、コマンドユーザインターフェイス(CUI)2の制御の後に所定の周期で発振し、内部クロック信号を生成する発振器を含むOSC回路3と、OSC回路3からの発振信号(クロック信号)に同期して各種内部消去、ベリファイ、および書込に必要な動作を行なう制御装置(CPU)4を含む。このCPU4は、コマンドユーザインターフェイス(CUI)2から与えられる動作モード指示に従って、消去、プログラム、ベリファイおよびおよび読出に必要な内部信号および内部電圧の発生を制御する。
不揮発性半導体記憶装置1は、さらに、外部から与えられる16ビットデータ(ワードデータ)を2ワード単位で、データビットの位置を変換してページバッファ6に格納し、かつページバッファ6から読出された32ビットデータを16ビットデータに縮退してライトドライバ9へ与えるデータ変換回路8を含む。このデータ変換回路8により、連続して与えられる2ワードデータの同一ワードのビットが整列するようにデータ変換が行なわれてページバッファ6へ格納され、またデータ書込時、このページバッファに格納された32ビットデータ(2ワード)が、16ビットデータに縮退される。これにより、連続して与えられる図2に示す上位ワードUWおよび下位ワードLWが、それぞれ16ビットメモリセルの上位バイト位置および下位バイト位置に格納される。
ライトドライバ9は、このデータ変換回路8から与えられる16ビットデータを、メモリセルアレイ10の選択メモリセルへ書込む。
この不揮発性半導体記憶装置1は、さらに、データ書込時、正確に、アドレスに書込データが書込まれたかを検証するベリファイ回路5を含む。このベリファイ回路5の動作については後に詳細に説明するが、ページバッファ6から2ワードの書込データとメモリセルアレイ10からの2ワードのベリファイリードデータとを受け、その一致/不一致検出を全ビットについて行ない、その判定結果に基づいて、書込(プログラム)完了のビットの値を変更してページバッファ6へデータを書込む。データ変換回路8が、再びプログラム時にデータ変換を行ってライトドライバ9へデータを与える。したがって、データ書込時において、ライトドライバ9は、プログラムが必要なメモリセルに対してのみビット線に高電圧を印加する。
プログラムは、チャネルホットエレクトロン(CHE)を利用してメモリセルアレイ10における16ビットのメモリセル単位で実行される。プログラムは、しきい値電圧を高くする状態を示し、消去は、しきい値電圧を低くする状態を示す。
まず、メモリセルアレイ10へのデータの書込動作(ベリファイ動作を含む)について簡単に説明し、次いで各回路の構成について詳細に説明し、その後、データの外部読出について説明する。
図5は、メモリセルに4値データを格納する動作のシーケンスの一例を示す図である。データ書込時においては、まず外部からは、16ビットデータが連続して与えられる。与えられた16ビットデータが、書込み単位の32ビットデータの上位データ(ワード)であるか下位データ(ワード)であるかを、外部からのアドレスビットAA[2]により設定する。外部のアドレスビットAA[2]が“0”のときには、下位16ビットワードが指定され、外部アドレスビットAA[2]が“1”のときには、上位16ビットワードが指定される。上位ワードUWおよび下位ワードLWの識別は、ページバッファ6へのデータ書込時にのみ必要とされる。メモリセルアレイ10へのデータの書込およびベリファイ読出は、16ビット単位で行なわれるため、上位ワードUWおよび下位ワードLWの識別時には、利用されない。外部へのデータ読出時、外部からのアドレスビットAA[2]を、上位ワードデータおよび下位ワードデータの識別のために利用する。
パッドを介して外部から与えられた外部アドレスビットAA[2]の値が異なる2ワードが、図4に示すデータ変換回路8によりその位置が変更されて、ページバッファ6への書込が行なわれる。このページバッファ6への書込み時のデータビット位置の変換においては、同じ16ビットワードにおいて、下位バイトおよび上位バイトの対称な位置のデータビットが同じメモリセルへ書込まれるように、そのビット位置が変更される。
このワードUWおよびLWのビット位置の変更により、たとえば1つの外部ワードをページバッファから読出すためには、2回ページバッファから読出動作を行なうことにより、16ビットのデータ、すなわち16ビット外部ワードを内部で読出すことができ、また、1つのメモリセルへの書き込み時、同一外部データの2ビットを縮退して書き込むことができる。またSLC構成においても、下位ワードLWまたは上位ワードUWの一方の領域を利用するだけで対応することができるためである。
なお、同一ワードの対応のビットを整列させる場合、隣接データ端子、すなわちデータD[0]およびD[1]を整列させてもよい。この場合、バイトモードで外部データの書込および読出を行なう半導体記憶装置を実現することができる。
データ変換回路8におけるワードおよびビット位置の変更およびページバッファ6への書込が、外部からの32ワードに対して繰返し実行される。その後、データ変換回路8において、32ビットデータを16ビットデータに縮退してライトドライバ9を介してメモリセルアレイ10への書込が行なわれる。この書込み前に、まず、ベリファイ動作が実行され、メモリセルの記憶データとページバッファに格納されたデータとの一致・不一致が検証される。プログラム動作が必要なメモリセルに対してのみ、新たな書込みデータにしたがってプログラムを実行することにより、消費電流を低減する。
メモリセルアレイ10からは、選択メモリセルに対して2回センス動作を連続して行なうシリアルセンス方式に従ってデータの読出が行なわれる。1回目のセンス時に、各ワードの下位バイトデータが読出され、2回目のセンス動作時に各ワードの上位バイトデータが読出される。このメモリセルアレイ10から読出されたデータについて、図4に示すベリファイ回路5においてページバッファ6から読出されるデータとの一致/不一致が検証される。不一致検出時においては、再び、データ変換回路8を介してライトドライバ9を介してメモリセルアレイ10へデータを書込む。
このベリファイ動作時においては、ベリファイ回路5は、各ビットごとに、書込完了を示すビットをページバッファ6の対応の位置に格納する。これにより、各ワードにおいて正常に書込まれたビット以外のデータビットについてのみ、再書込を行なうことができる。このページバッファ6への書込、メモリセルアレイ10への書込(プログラム)およびベリファイは、内部の16ワードについて、順次アドレスを更新して繰返し実行され、内部16ワードについてすべて正確にデータ書込が完了すると、外部からの32ワードのデータの書込が完了する。内部16ワード単位でのデータの書込みを実行することにより、書込みおよびベリファイ時のアドレス発生シーケンスを容易化することができ、アドレス発生部の構成を簡略化することができる。
図6は、データの流れを概略的に示す図である。この図6に示すように、下位ワードLWおよび上位ワードUWが順次与えられる。データ変換回路において、これらの順次与えられる16ビットのワードLWおよびUWが位置を更新され、ページバッファ内において、32ビットデータとして格納される。このページバッファに格納された2ワードの32ビットのデータに、データ変換回路により、上位ワードUWおよび下位ワードLWがそれぞれ8ビットデータに縮退され、16ビットメモリビットデータとしてライトドライバを介してメモリセルアレイ10へ伝達される。メモリセルアレイ10においては、選択メモリブロックBALのブロックBAL0およびBAL1のうちのアドレスビットAA[23]により指定されるブロックの指定アドレスに、上位バイトデータおよび下位バイトデータとしてそれぞれ下位ワードおよび上位ワードデータが格納される。
データ書込時およびベリファイ動作時においては、この選択ブロックBALに書込まれた8ビットデータLWおよびUWは、並行して読出されてベリファイ動作および再書込が実行される。データ読出時においては、このブロックBALにおいて、上位論理アドレス空間に対応する領域BL1および下位論理アドレス空間に対応するBL0は、内部アドレスビットAE[2](外部アドレスビットAA[23])により選択される。ベリファイ時の内部読出時においては、アドレスAA[2]は利用されない。2ワード(32ビット)単位でベリファイ動作が実行される。外部データ読出時において、アドレスビットAA[2]に対応する内部アドレスビットAE[23]に従って最終16ビットデータDが生成されて外部へ読出される。
16ビットのメモリセルに対して上位ワードおよび下位ワードを格納するため、外部からは、常に上位データ(上位ワード)および下位データ(下位ワード)を交互に印加する必要があり、外部アドレスビットAA[2]を常にトグルする必要がある。
図7は、データ書込時の入力アドレスの変化シーケンスの一例を示す図である。図7においては、開始アドレスが、外部アドレスAA[24′h000000]のときのアドレス変更のシーケンスが、一例として示される。ここで、図7おいて、「24′」は24ビット信号/データであることを示し、「h」は16進表示であることを示す。また図7において、「1′b」は1ビットの信号であることを示し、同様「23′」は、23ビットの信号であることを示す。
この図7において、最初のサイクル(Cycle)において、データ書込を示すコマンド「16′h00e8」が与えられる。コマンドは、通常、データバスを用いて転送される。次いで、次のサイクルから、アドレス信号とともに、書込データが転送される。外部アドレスビットAA[2]が0のときに、下位ワードデータがラッチされ、次に与えられるアドレスビットAA[2]が“1”のときに、ページバッファへ、32ビットの上位および下位ワードのデータが同時に書込まれる(データ位置変換が行なわれている)。
以降、外部アドレスビットAA[2]を順次トグルし、かつ残りの外部アドレスビットAA[23:3,1:0]を順次増分して書込データとともに与える。32ワードが与えられたときに、1つの書込単位が終了する。32ワード単位でのデータの書込が実行される。アドレスビットAA[2]は、この不揮発性半導体記憶装置へアクセスする装置が常にトグルすることは特に要求されない。不揮発性半導体記憶装置1へアクセスする装置は、順次アドレス信号を増分し、この半導体記憶装置1内部において、最下位アドレスビットAA[0]をアドレスビットAA[2]に切換えてもよい。この不揮発性半導体記憶装置内において、外部アドレスビットAA[23:3,1:0]が2サイクルごとに1アドレス増分されれば、メモリセルアレイ10への書込アドレスが、書込データに対して1ずつ増分される。
図8は、図4に示すページバッファ6の構成の1例を概略的に示す図である。図8において、ページバッファ6は、書込データおよびベリファイ期待値データを格納するページバッファアレイ12と、このページバッファアレイへデータDIN[15:0]およびDIN[31:16]を書込み、かつページバッファアレイ12からデータPBD[15:0]およびPBD[31:16]を読出すページバッファ書込/読出回路16と、このページバッファアレイ12のワード線を選択するワード線選択回路14を含む。ページバッファアレイ12は、SRAMアレイで構成され、SRAMセルが、32行64列に配列され、ワード線WLが32本、ビット線BLが64対配置される。
ワード線選択回路14は、後に説明するように、書込み時、書込アドレスAO[4:3,1:0]に基づいて生成されるページバッファアドレスPA[13:4]をプリデコードして生成されるワード線プリデコード信号RAL、RAMおよびRAUに従って32本のワード線WLのうち1つのワード線を選択する。このワード線選択時、MLC構成においては、外部アドレスビットAA[2]は利用されない(この構成については後に説明する)。
ページバッファ書込/読出回路16は、メタルスライスで、32ビットデータの書込/読出および16ビットデータの書込/読出を設定することができる。この16ビット構成にページバッファ書込/読出回路16が設定された場合には、この半導体記憶装置はSLC構成で動作し、32ビット構成に設定された場合には、この半導体記憶装置が。MLC構成で動作する。
ページバッファ書込/読出回路16へ与えられるデータDIN[31:16]およびDIN[15:0]は、図4に示すデータ変換回路8から与えられる。
図9は、図8に示すページバッファアレイ12の構成を概略的に示す図である。図9において、ページバッファアレイ12は、32行64列に配列されるSRAMセル30を含む。SRAMセル30の各行に対応してワード線WL[31:0]が配設され、SRAMセル30の各列に対応してビット線対BL[63:0]およびIBL[63:0]が配設される。ビット線BL[i]およびIBL[i]は対をなして配設され、相補データを転送する。ここで、iは0から63に任意の整数である。
SRAMセル30は、データを記憶するラッチ回路を構成するインバータ30aおよび30bと、対応のワード線WL[j]上の信号に応答してインバータ30aおよび30bの入力ノードを、対応のビット線BL[k]およびIBL[k]に接続するトランスファーゲート30cおよび30dを含む。
ページバッファアレイ12は、さらに、ビット線周辺回路として、補のビット線プリチャージ信号ICIBLに従ってビット線IBL[63:0]を電源電圧レベルにプリチャージするビット線プリチャージ回路20と、ビット線プリチャージ信号IPCBLに従ってビット線BL[63:0]を電源電圧Vddレベルにプリチャージするビット線プリチャージ回路22と、データクリア信号DCLRに従って、補のビット線IBL[63:0]を接地電圧レベルに放電するビット線クリア回路24と、データセット信号DSETに従ってビット線BL[63:0]を接地電圧レベルに設定するビット線セット回路26を含む。
ビット線プリチャージ回路20および22は、それぞれ、ゲートにビット線プリチャージ信号IPCIBLおよびIPCBLを受けるPチャネルMOSトランジスタ20aおよび22aで構成される。ビット線クリア回路24は、データクリア信号DCLRに従って導通するNチャネルMOSトランジスタ24aで構成される。ビット線セット回路26は、データセット信号DSETに従って導通し、ビット線BL[63:0]を接地電圧レベルに放電するNチャネルMOSトランジスタ26aを含む。
このビット線プリチャージ回路20、22において、ビット線IBL[63:0]およびBL[63:0]がすべて共通に、電源電圧Vddレベルにプリチャージされ、またビット線リセット回路24およびビット線セット回路26において、ビット線IBL[63:0]およびBL[63:0]が、同時に、クリア信号DCLRおよびデータセット信号DSETに従って接地電圧レベルに設定される。これらのMOSトランジスタ20a、24aおよび26aは、ビット線IBL[63:0]に共通に設けられてもよく、またそれぞれのビット線個々に設けられてもよい。
このビット線の周辺回路にビット線クリア回路24aおよびビット線セット回路26aを設けることにより、ページバッファのリセットおよびセットをページバッファアレイ12内のメモリセルに対して一括して行なう。
32本のワード線WL[31:0]に対し、外部から与えられるアドレスに従って1つのワード線を選択し、また64対のビット線から32対のビット線を選択してデータの書込/読出を実行する。
図10は、図9に示すページバッファアレイに対する制御信号を発生する部分の構成を示す図である。この図10に示すページバッファアレイに対する制御信号を発生する回路は、図4に示すページバッファ制御回路7に含まれる。
図10において、ページバッファ制御回路7は、ページバッファ読出指示信号CHPBRを所定時間遅延する遅延回路50と、ページバッファへの書込みデータの格納を指示するデータセットアップ指示信号CDSETUPを反転するインバータ51と、遅延回路50の出力信号とページバッファ読出指示信号CHPBRとインバータ51の出力信号CIDSETUPを受けてページバッファ読出制御信号CLPBRを生成するNANDゲート53と、データセットアップ指示信号CDSETUPを所定時間遅延する遅延回路54と、遅延回路54の出力信号とデータセットアップ指示信号CDSETUPの一方をメタル配線により選択するメタルスイッチ55と、動作状態のバンクを指定するオペレーションバンクポインタイネーブル信号OBPEとメタルスイッチ55の出力信号S1を受けるOR回路56と、OR回路56の出力信号S2とメタルスイッチ55の出力信号S1とを受けてページバッファへのデータ書込を許可するデータセットアップ許可信号SETUP_MLCを生成するAND回路57と、内部アドレスビットAO[2]を受けるインバータ58と、インバータ58の出力信号とデータセットアップ許可信号SETUP_MLCとを受けるNANDゲート59と、NANDゲート59の出力信号と電源電圧の一方を選択して対応のバンクのページバッファに対するデータ書込を許可するMLCモードアレイ選択信号MLC_SELを生成するメタルスイッチ60を含む。
オペレーションバンクポインタイネーブル信号OBPEは、この不揮発性半導体記憶装置は、マルチバンク構成を有し、各バンクに対してページバッファおよびページバッファ制御回路が設けられており、対応のバンクが活性状態のときに、オペレーションバンクポインタイネーブル信号OBPEがHレベルとなり、ページバッファへのアクセスが許可され、また、メモリセルアレイのデータの外部読み出しが指定される。ページバッファへのデータの書込を行なう動作時においては、オペレーションバンクポインタイネーブル信号OBPEはLレベルに設定され、データセットアップ指示信号CDSETUPがHレベルのときに、対応のバンクのページバッファに対するデータの書込みが実行される。
オペレーションバンクポインタイネーブル信号OBPEがLレベルのときには、また、ページバッファの格納データを外部へ読出すことができる。したがって、メモリセルアレイに対するデータ書込時においては、このオペレーションバンクポインタイネーブル信号OBPEは、Hレベルに設定される。対応のバンクがアクセスされていないときにプログラムデータのページバッファへの書込が実行される。プログラムアドレスビットAO[2]は、外部アドレスビットAA[2]に対応する。
メタルスイッチ55は、SLC構成時には、遅延回路54の出力信号を選択し、MLC構成時に、データセットアップ指示信号CDSETUPを選択する。メタルスイッチ60は、SLC構成時には、電源電圧Vddを選択し、MLC構成時に、NAND回路59の出力信号を選択する。
制御回路7は、さらに、データロード指示信号CLOADWを所定時間遅延する遅延回路61と、遅延回路61の出力信号とデータロード指示信号CLOADWとを受けてデータロード制御信号ILOADを生成するNORゲート62と、データの内部読出時、アドレス信号(クロック信号)の変化に従って生成されるタイミング信号TXLATD_PBを所定時間遅延する遅延回路63と、遅延回路63の出力信号S3とタイミング信号TXLATD_PBを受けるNANDゲート64と、メタルスイッチ60からのMLC選択信号MLC_SELとデータロード制御信号ILOADを受けるゲート回路65と、NANDゲート64の出力信号とNANDゲート53からのページバッファ読出制御信号CLPBRを受けるNORゲート66を含む。
遅延回路61およびNORゲート62は、立下り遅延回路を構成し、データロード指示信号CLOADWがHレベルに立上がるとLレベルに立下がるワンショットのパルス信号を生成し、このワンショットのパルス信号の立上りは、データロード指示信号CLOADWの立下がりから遅延回路51により決定される遅延時間経過後に設定される。遅延回路63およびNANDゲート64も、ワンショットのパルス発生回路を構成し、タイミング信号TXLATD_PBの立上がり時点を遅延してLレベルに立下がるワンショットのパルス信号を生成する。
ページバッファ制御回路7は、さらに、ページバッファプリチャージ制御信号PBPRCGと接地電圧を受けるインバータ69の出力信号と接地電圧とを受ける複合ゲート70を含む。インバータ69へは、テストモード指示信号が通常与えられが、通常動作モード時、このインバータ69の入力信号はLレベルに固定される。同様、別の接地電圧に代えて、テストモード時には、別のテストモード指示信号が与えられるが、通常動作モード時、このテストモード指示信号も接地電圧レベルに固定される。したがって、この複合ゲート70は、通常動作モード時には、ページバッファプリチャージ制御信号PBPRCGを反転するインバータとして動作する。
ページバッファ制御回路7は、さらに、ページバッファ読出指示信号CHPBRとデータセットアップ指示信号CDSETUPとデータレディ指示信号CRDYを受けるゲート回路71と、データセットアップ指示信号CDSETUPとデータレディ指示信号CRDYと複合ゲート70の出力信号を受けるNORゲート72と、ゲート回路71の出力信号とNORゲート72の出力信号を受けるNORゲート73と、ゲート回路65の出力信号とNORゲート66の出力信号を受ける複合ゲート67と、ゲート回路71およびNORゲート72の出力信号を受けるNOR回路73と、NOR回路73の出力信号と複合ゲート67の出力信号を受けるNAND回路68を含む。
複合ゲート67は、等価的に、データセットアップ指示信号CDSETUPとゲート回路65の出力信号とを受けるANDゲートと、NORゲート66の出力信号とこのANDゲートの出力信号を受けるNORゲートとで構成される。ゲート回路71は、ページバッファ読出指示信号CHPBRがLレベルでありかつデータセットアップ指示信号CDSETUPがLレベルであり、データレディ指示信号CRDYがHレベルのときに、Hレベルの信号を生成する。
ページバッファ制御回路7は、さらに、ページバッファクリア指示信号CCLRPBを所定時間遅延する遅延回路74と、遅延回路74の出力信号とページバッファクリア指示信号CCLRPBを受けるNOR回路75と、NOR回路75の出力信号を反転するインバータ76と、ページバッファデータセット制御信号PBDSETを受けるインバータ77とNAND回路68の出力信号とNOR回路75の出力信号とページバッファデータセット制御信号BPDSETを受ける複合ゲート回路78と、NAND回路68の出力信号とインバータ76の出力信号とインバータ77の出力信号とを受ける複合ゲート回路79と、ページバッファデータセット制御信号BPDSETを受けるインバータ80と、インバータ80の出力信号とインバータ76の出力信号とを受けるNAND回路81と、ページバッファデータセット制御信号PBDSETとインバータ76の出力信号とを受けるNAND回路82と、複合ゲート78の出力信号を受けて補のビット線プリチャージ指示信号IPCIBLを生成するインバータ13と、複合ゲート回路79の出力信号を反転してビット線プリチャージ指示信号IPCBLを生成するインバータ84と、NAND回路81の出力信号を反転し、データクリア信号DCLRを生成するインバータ85と、NAND回路84の出力信号を反転してデータセット指示信号DSETを生成するインバータ86を含む。
複合ゲート78は、NAND回路68の出力信号とNOR回路75の出力信号を受けるANDゲート、このANDゲートの出力信号とページバッファデータセット指示信号PBDSETを受けるANDゲートを等価的に含む。複合ゲート回路79は、NAND回路68の出力信号とインバータ76の出力信号を受けるORゲートと、このORゲートの出力信号とインバータ77の出力信号を受けるANDゲートを等価的に含む。
動作モード指示信号CHPBR、CCLRPB、CDSETUPは、図4に示すコマンドユーザインターフェイス(CUI)2から動作モードに応じて設定される信号である。制御信号PBDSETおよびPBPRCGは、後に説明するページバッファ制御回路内の発振回路からのクロック信号に従って各動作サイクルにおいて生成される。
メモリセルに多値データを書込む動作モード時において、ページバッファへのデータ書込みを行って書込みデータをセットアップする動作時においては、データセットアップ指示信号CDSETUPはHレベル、オペレーションバンクポインタイネーブル信号OBPEはLレベルである。したがって、OR回路56の出力信号がHレベルであり、またメタルスイッチ55からの出力信号もHレベルであり、AND回路57からのデータセットアップ指示信号SETUP_MLCがHレベルとなる。したがって、アドレスビットAO[2]が“0”(Lレベル)となるごとに、NAND回路59の出力するMLCモードアレイ選択信号MLC_SELがLレベルとなる。
ページバッファへの書込データ格納時には、データセットアップ指示信号CDSETUPがHレベルであるために、複合ゲート回路67の出力信号はLレベルなとり、応じてNAND回路68の出力信号がHレベルとなる。ページバッファクリア指示信号CCLRBがLレベルであり、NOR回路75の出力信号がHレベルである。また、ページバッファデータセット制御信号PBDSETもLレベルである。したがって、ビット線プリチャージ指示信号IPCIBLおよびIPCBLが、このアドレスビットAO[2]が“0”のときにLレベルとなり、ページバッファにおいてビット線のプリチャージが実行される。
オペレーションバンクポインタイネーブル信号OBPEがLレベルでありかつデータセットアップ指示信号CDSETUPがLレベルのときには、AND回路57の出力信号はLレベルであり、MLCモードアレイ選択信号MLC_SELはHレベルに固定される。このときには、動作モードに応じて生成されるタイミング信号TXLATD_PBに従って、ビット線プリチャージ指示信号IPCIBLおよびIPCBLがLレベルに設定される。ページバッファデータ読出時、ページバッファ読出指示信号CHPBRがHレベルであり、信号CLPBRが所定期間Lレベルとなるためである。
また、書込データの存在時またはベリファイ動作時において書込対象のデータが存在する場合、データレディ信号CRDYがHレベルに設定される。この場合には、NORゲート回路73の出力信号に従ってビット線プリチャージ指示信号IPCIBLおよびIPCBLの活性化が選択的に実行される。
プリチャージ制御信号PBPRCGがHレベルのときには、同様、NORゲート回路72および73およびNAND回路68の経路で、ビット線プリチャージ指示信号IPCIBLおよびIPCBLが選択的に活性化される。
ページバッファの格納内容をすべてリセットする場合には、ページバッファクリア制御信号CCLRPBが活性化される。応じて、NOR回路75の出力信号がLレベル、インバータ76の出力信号がHレベルとなる。ページバッファデータセット制御信号PBDSETはこのときには、Lレベルであるため、ビット線プリチャージ指示信号IPCIBLがHレベル、補のビット線プリチャージ指示信号IPCBLがHレベルとなる。また、NAND回路81の出力信号IDCLRがLレベルとなり、応じてデータクリア指示信号DCLRがHレベルとなる。データセット指示信号DSETはLレベルである。
ページバッファデータセット指示信号PBDSETはHレベルに設定され、データクリア指示信号CCLRPBはLレベルであり、NOR回路75の出力信号はHレベル、インバータ76の出力信号はLレベルである。このときには、インバータ83からの補のビット線プリチャージ指示信号IPCIBLがLレベル、ビット線プリチャージ指示信号IPCBLがHレベルとなる。データクリア指示信号DCLRはLレベルであり、またデータセット指示信号DSETは、インバータ76の出力信号がLレベルであるため、Hレベルとなる。
図11に、ページバッファビット線周辺回路に対する制御信号の論理レベルと動作モードを一覧にして示す。プリチャージモードは、プリチャージ動作指示時の動作を示し、リード、ライトおよびスタンバイ時は、このページバッファへのデータ書込、データ読出およびアクセス待機状態を示す。データセット時およびデータクリア時においては、ページバッファにおいて全ワード線が選択状態に駆動され、ページバッファの全メモリセルに対するデータのセットおよびクリアが実行される。
このページバッファ制御回路7の構成を利用することにより、メモリセルアレイへの書込データ書込時、このアドレスビットAO[2]に従ってページバッファアレイのプリチャージを実行することができ、データ書込時においてのみ、正確なデータの書込を行なうことができる。また、制御信号CHPBRに従って、このページバッファに対する選択的なデータの書込/読出を行なうことができる。
図12は、図4に示すページバッファ制御回路7に含まれるアドレス変換部の構成を概略的に示す図である。図12において、ページバッファ制御回路7は、図10に示すORゲート回路56の出力信号S2を受けるインバータ89と、外部からの7ビットアドレスAA[6:0]とインバータ89の出力信号とを受けるNANDゲート回路90と、図10に示す制御信号S2と図10に示すAND回路からのデータセットアップ許可指示信号SETUP_MLCの一方を選択するメタルスイッチ91と、内部アドレス信号AO[6:0]および[00AO[4:3]、AO[1:0]、1]の一方を選択するメタルスイッチ92と、メタルスイッチ91および92の出力信号を受けるNANDゲート回路95と、制御信号S1およびS2を受けるゲート回路93と、ゲート回路93の出力信号と接地電圧(“0”)の一方を選択するメタルスイッチ94と、メタルスイッチ94の出力信号と7ビットアドレス[00A[3:0]1]を受けるNANDゲート回路96を含む。
メタルスイッチ91は、MLC構成時においては、MLCデータセットアップ許可指示信号SETUP_MLCを選択し、メタルスイッチ92は、MLC構成時、7ビットアドレス[00AO[4:3]、AO[1:0]1]を選択する。メタルスイッチ94は、MLC構成時、ゲート回路93の出力信号を選択する。このゲート回路93は、出力制御信号S1がLレベルであり、かつ出力制御信号S2がHレベルのときにHレベルの信号を出力する。
NANDゲート回路90、95および96は、それぞれイネーブル時、インバータとして動作し、与えられた7ビットアドレスを反転して選択7ビットアドレス[6:0]を生成する。
ページバッファ制御回路7は、さらに、NANDゲート回路90、95および96の出力信号を受け、14ビットの相補書込アドレス信号を生成するNANDゲート回路97と、NANDゲート回路97の出力信号を受けて14ビット相補アドレス信号PA[12:0]、[13:12]を生成するインバータ98を含む。ここで、記号PA[13:0:2]は、P[6:0]の各ビットから相補信号を生成し、2ビットづつ単位で7対の相補信号を構成することを示す。
ページバッファ制御回路7は、さらに、インバータ98からの相補内部アドレス信号PA[13:4]をプリデコードし、ページバッファのワード線を指定するワード線プリデコード信号RAU[1:0]、RAM[3:0]およびRAL[3:0]を生成するワード線プリデコーダ99と、相補内部アドレス信号PA[1:0]と論理“1”(電源電圧Vddレベル)の一方を選択するメタルスイッチ100と、相補内部アドレス信号PA[3:2]とメタルスイッチ100からのアドレスビットとをプリデコードし、ビット線選択信号Y[3:0]を生成するビット線プリデコーダ101を含む。
ワード線プリデコーダ99は、ワード線選択信号IWL_SENの活性化時プリデコード動作を行ない、また、データクリア時活性化されるページバッファワード線クリア指示信号CLRPBWLの活性化時、すべてのプリデコード信号を選択状態へ駆動する。
ワード線プリデコード信号RAU[1:0]は、内部アドレスビットPA[13:12]に基づいて生成され、ワード線プリデコード信号RAM[3:0]は、相補内部アドレス信号PA[11:8]に基づいて生成される。ワード線プリデコード信号RAL[3:0]は、相補内部アドレス信号PA[7:4]に基づいて生成される。このプリデコード信号RAU[1:0]、RAM[3:0]およびRAL[3:0]それぞれにおいて、1つの信号が選択状態に駆動される。
ビット線プリデコーダ101は、MLC構成時においては、相補内部アドレス信号PA[3:2]に従ってプリデコード動作を行ない、ビット線選択信号Y[3:0]のうちの2つのビット線選択信号を選択状態へ駆動し32対のビット線を選択して32ビットデータを転送する。SLC構成時においては、内部アドレス信号PA[3:0]に従って、4つのビット線選択信号Y[3:0]の1つのビット線選択信号が選択状態へ駆動される。したがって、この場合には、64対のビット線から1/4選択が行われ、16対のビット線が選択される。
ワード線については、プリデコード信号RAU[1:0]において1/2選択、プリデコード信号RAM[3:0]およびRAL[3:0]によりそれぞれ、1/4選択が行なわれ、合計1/32選択が実行され、32本のワード線WL[31:0]のうちの1つのワード線が選択状態へ駆動される。
一例として、ページバッファは、階層ワード線構成を有し、4本のメインワード線と、各メインワード線に対応して配置される8本のサブワード線を含む。プリデコード信号RAL[3:0]にしたがって、1つのメインワード線が選択され、プリデコード信号RAU[1:0]およびRAM[3:0]にしたがって、8本のサブワード線のうちの1つのサブワード線が選択される。
メモリセルへのデータの書込時においては、制御信号S1およびS2は、図10に示すように、ともにHレベルに設定される。この状態では、NANDゲート回路90の出力信号は全ビットHレベルであり、またNANDゲート93の出力信号がLレベルであり、NANDゲート回路96の出力信号もHレベルとなる(7ビットについて)。この状態では、したがって、NANDゲート回路97は、NANDゲート回路95からのアドレスビット[00AO[4:3]AO[1:0]1]を選択し、これらのアドレスビットに従って14ビットの相補内部アドレス信号PA[13:0:2]を生成する。MLC構成時、アドレスビットAO[2]は利用されていない。すなわちページバッファへのデータの書込および読出を行なう場合においても、アドレスビットAO[4:3]およびAO[1:0]が指定する領域においてデータの書込/読出が行なわれる。この場合、4ビットアドレスでワード線およびビット線を選択するため、合計16アドレスの領域が指定され、ページバッファの16個の連続アドレスに対し、連続的に外部から32ビットの2ワードデータがそれぞれ格納される。
オペレーションバンクポインタイネーブル信号(図10参照)がHレベルのときには、制御信号S2はHレベルである。このとき、制御信号S1、すなわちデータセットアップ指示信号CDSETUPがLレベルであれば、ゲート回路93の出力信号がHレベルとなり、NANDゲート回路96により、アドレスビット[00AO[3:0]1]に従って相補内部アドレスPA[13:0:12]が生成される。この場合、アドレスAO[3:0]に従ってページバッファへの書込が実行される。メモリセルアレイへのデータの書込は行なわれないため、アドレスビットAO[2]を用いても、単にページバッファ内のアドレス領域の指定だけであり、上位データ/下位データは特に区別される必要はなく、問題は生じない。この場合、外部からの16ビットワードデータがページバッファへ順次格納される。
オペレーションバンクポインタイネーブル信号OBPEがLレベルでありかつ制御信号S1がLレベルのときには、制御信号S2がLレベルである。このときには、NANDゲート回路90により、外部アドレスAA[6:0]に従って相補内部アドレス信号PA[13:0:2]が生成され、ページバッファからのデータの読出が実行される。
図12に示すように、メモリセルへのデータ書込時に、メタルスイッチ92により、外部アドレス信号ビットAA[2]に対応するアドレスビットAO[2]を使用しない内部アドレスを生成することにより、MLC構成時において、アドレスビットAA[2]を32ビットデータの上位/下位ワードデータ識別に利用してページバッファおよびメモリセルへのデータの書込を実行することができる(ページバッファの書込みアドレスは、メモリセルに対する書込アドレスに等しい)。
図13は、図12に示すワード線プリデコーダ99に与えられるワード線選択活性化信号IWL_SELを発生する部分の構成を示す図である。ワード線選択活性化信号IWL_SELも、図4に示すページバッファ制御回路7から生成される。
図13において、ページバッファ制御回路7は、ページバッファアドレス変化を示すタイミング信号TXLATD_PBと図4に示す制御信号S3と図4に示すページバッファ読出制御信号CLPBRを受ける3入力NORゲート回路101と、ページバッファへの書込タイミングを与えるページバッファ書込信号PBWRTを所定時間遅延する遅延回路102と、遅延回路102からの遅延ページバッファ書込制御信号DPBWRTとページバッファへのデータロードを指示するページバッファロード制御信号PBLOADとを受けるNANDゲート回路104と、NORゲート回路101とANDゲート回路104の出力信号を受けるNORゲート回路105と、ページバッファからのデータの読出タイミングを制御するページバッファ読出制御信号PBREADを所定時間遅延する遅延回路103と、遅延回路103の出力信号とページバッファへのデータロードを許可するデータロード指示信号LOADWとを受けるNORゲート回路106と、NORゲート回路105および106の出力信号を受けるNANDゲート回路107と、NANDゲート回路107の出力信号とMLC選択信号MLC_SELとを受けてワード線選択活性化信号IWL_SELを生成するNANDゲート回路108を含む。
制御信号PBWRT、PBLOAD、PBREADは、それぞれ、ページバッファへのデータ書込タイミングを与える制御信号であり、図4に示すOSC回路3内で生成される信号であり、一方、データロード指示信号LOADWは、データロードの許可を指示する信号であり、コマンドユーザインターフェイス回路2から与えられる。
ページバッファ書込制御信号およびページバッファロード制御信号PBLOADがともにHレベルとなると、ANDゲート回路104の出力信号がHレベルとなり、応じてNANDゲート回路107の出力信号がHレベルとなり、ワード線選択活性化信号IWL_SELがLレベルの活性状態となる。ページバッファからのデータ読出時(ベリファイ動作時)、ページバッファ読出制御信号PBREADがHレベルとなると(ロード許可指示信号LOADWはLレベル)、NORゲート回路106の出力信号がLレベルとなり、ワード線選択活性化信号IWL_SELが活性状態へ駆動される。
したがって、ページバッファを利用したメモリセルへのデータの書込およびベリファイ動作時には、これらの制御信号PBWRT、PBLOAD、およびPBREADに従ってデータのページバッファへの書込/読出が制御される。通常のページバッファへの読出動作のみまたは書込動作のみにおいては、オペレーションバンクポインタイネーブル信号OBPEおよびデータセットアップ指示信号CDSETUPに従ってMLCモードアレイ選択信号MLC_SELがHレベルに設定される(アドレスビットAO[2]に無関係に)。このときには、データ書込時においてはロード指示信号LOADWに従ってワード線選択が行なわれ、また、ページバッファ読出制御信号CLPBRに従ってデータの読出が行なわれる。データ読出時、アドレス信号の変化検出に対応するタイミング制御信号TXLATD_PBに従って(内部クロック信号の変化に対応するタイミングを生成して)、データ読出タイミングが設定される。
図14は、図12に示すクリアページバッファワード線信号CLRPBWLを発生する部分の構成を概略的に示す図である。図14においてこの部分は、ページバッファ制御回路7に含まれる。ページバッファ制御回路7は、外部からのページバッファクリア指示信号CCLRPBを遅延する遅延回路109と、遅延回路109の出力信号とページバッファクリア指示信号CCLRPBを受けるANDゲート回路110を含む。遅延回路109およびANDゲート回路110は立上り遅延回路を構成し、このANDゲート回路110から出力されるクリアページバッファワード線指示信号CLRPBWLがHレベルに活性化されると、ページバッファの全ワード線が同時に選択状態へ駆動されて、ページバッファの記憶データのクリアが行なわれる。
図15は、図8に示すワード線選択回路14に含まれるワード線駆動回路112の部分を概略的に示す図である。このワード線駆動回路112は、図12に示すアドレス生成回路のプリデコード信号RAL[3:0]、RAM[3:0]およびRAU[1:0]に従って32本のワード線WL[31:0]のうちの1つを選択状態へ駆動する。このワード線駆動回路112は、スタティックに動作し、与えられたプリデコード信号に従って対応のワード線を選択状態へ駆動する。
このワード線駆動回路112は、特に限定されないが、4本のメインワード線選択信号と、各メインワード線選択信号それぞれに対応して配置される8個のワード線ドライバを含む。4つのメインワード線選択信号の1つが、ロウアドレスプリデコード信号RAL[3:0]に従って選択状態へ駆動される。8個のワード線ドライバのうち1つのワード線ドライバが、ロウプリデコード信号RAM[3:0]およびRAU[1:0]に従って選択状態へ駆動される。活性化されたメインワード線選択信号と選択されたワード線ドライバとにより対応のワード線が選択状態へ駆動される。
このワード線駆動回路112は、与えられたプリデコード信号に従ってスタティックにワード線を選択状態へ駆動することが要求されるだけであり、その内部構成は特に限定されない。スタティックにワード線WL[31:0]を駆動するのは、ページバッファ6がSRAMで構成されており、後に説明するベリファイ動作時におけるページバッファへの書込/読出を高速でアドレス変化(クロック信号のエッジ)に従って連続的に実行するためである。
図16は、図8に示すページバッファ書込/読出回路16の構成を概略的に示す図である。図16において、ページバッファ書込/読出回路は、下位の16ビットデータDIN[15:0]およびSADATA[15:0]の書込および読出を行なう下位ページバッファセンス/ドライブ回路120と、上位の16ビットデータDIN[31:16]およびSDATA[31:16]の書込および読出を行なう上位ページバッファセンス/ドライブ回路122を含む。データDIN[15:0]およびDIN[31:16]は、このページバッファに対する書込データであり、データSADATA[15:0]およびSDATA[31:16]は、ページバッファからの読出データである。
下位ページバッファセンス/ドライブ回路120および上位ページバッファセンス/ドライブ回路122は同一構成を有する。下位ページバッファセンス/ドライブ回路120
は、4ビットのビット線選択信号Y[3:0]および[0Y[2]0Y[0]]の一方を選択するメタルスイッチ125の出力信号をビット線選択信号として受け、データ入力DINに、下位16ビットデータDIN[15:0]を受ける。また、下位ページバッファセンス/ドライブ回路120は、データ読出のために、センスアンプ活性化信号SAENおよび反転遅延センスアンプ活性化信号ISAEN_Dを受け、また図10に示すビット線プリチャージ指示信号IPCIBLをプリチャージ指示信号IPCとして受ける。さらに、データの書込を、バイト単位で行なうために、下位ページバッファセンス/ドライブ回路120は、上位バイト選択信号IDRVEN_Uおよび下位バイト選択信号IDRVEN_Lを受ける。これらのバイト選択信号IDRVEN_UおよびIDRVEN_Lに従って16ビットワードに対し、バイト単位でデータの書込/読出を行なうことができる。
上位ページバッファセンス/ドライブ回路122は、4ビットデータ“0”および4ビットのビット線選択信号[Y[3]0Y[1]0]の一方を選択するメタルスイッチ126の選択した信号を、ビット線選択信号として受ける。データ入力DINには、上位16ビットデータDIN[31:16]が与えられる。センスアンプ活性化信号入力には、センスアンプ活性化信号SAENと接地電位の一方を選択するメタルスイッチ127の出力信号が与えられる。バイトデータ選択信号IDRVENとして、16ビットのデータ“1”と上位バイトデータドライブ信号IDRVEN_UおよびIDRVEN_Lの一方を選択するメタルスイッチ128の出力信号が与えられる。プリチャージ指示信号としては、電源電圧Vddとプリチャージ指示信号IPC(ビット線プリチャージ指示信号IPCBLに対応)の一方を選択するメタルスイッチ129の出力信号が与えられる。反転遅延センスアンプ活性化信号ISAEN_Dが、反転遅延センスアンプ活性化信号として与えられる。
この図16においては、メタルスイッチ126−129の接続経路を、MLC構成時の接続経路を示す。したがって、SLC構成のときには、メタルスイッチ126の出力信号は全ビット“0”となり、センスアンプ活性化信号SAENは非活性状態のLレベル(接地電圧レベル)であり、データドライブ選択信号IDRVENとしては、常時、非活性状態のバイトデータ選択信号が与えられる。また、プリチャージ指示信号IPCは、常時非活性状態に維持される。すなわち、SLC構成の時には、この上位ページバッファセンス/ドライブ回路122は用いられず、下位ページバイアスセンス/ドライブ回路120が用いられて、16ビットデータの書込/読出が実行される。
この下位ページバッファセンス/ドライブ回路120は、ビット線選択信号Y[2]およびY[0]に従ってビット線選択動作を行ない、上位ページバッファセンス/ドライブ回路122が、ビット線選択信号Y[3]およびY[1]に従ってビット線選択動作を実行する。MLC構成時においては、内部アドレス信号PA[1:0]は“1”に設定される。したがって、図12に示すビット線プリデコーダ101は、1/2選択動作を行ない、上位のビット線選択信号Y[3:2]また下位のビット線選択信号Y[1:0]を選択状態へ駆動する。これにより、下位ページバッファセンス/ドライブ回路120および上位ページバッファセンス/ドライブ回路122各々において、16ビットのビット線対の選択が行なわれ、各々16ビットのデータ、すなわち合計32ビットのデータの書込/読出が同時に行なわれる。
図17は、図16に示す下位ページバッファセンス/ドライブ回路120および上位ページバッファセンス/ドライブ回路122の構成を概略的に示す図である。これらの下位ページバッファセンス/ドライブ回路120および上位ページバッファセンス/ドライブ回路122は同一構成を有するため、図17において、これらの構成を共通に示す。
図17において、ページバッファセンス/ドライブ回路120および122の各々は、16ビット内部データバス130と、ビット線選択信号Y[0]に従ってビット線対BLP[15:0]を選択して内部データバス130に接続するマルチプレクサ131と、ビット線選択信号Y[1]に従ってビット線対BLP[31:16]を選択して内部データバス130に結合するマルチプレクサ132と、ビット線選択信号Y[2]に従ってビット線対BLP[47:32]を選択して内部データバス130に接続するマルチプレクサ133と、ビット線選択信号Y[3]に従ってビット線対BLP[63:48]を内部データバス130に接続するマルチプレクサ134を含む。ビット線対BLP[63:0]は、ビット線BL[63:0]およびIBL[63:0]を含む。
このページバッファセンス/ドライブ回路120および122の各々は、さらに、反転遅延センス活性化信号ISAEN_Dとデータバイト選択信号IDRVEN_UおよびIDRVEN_Lに従って選択的に活性化され、活性化時与えられた16ビットデータDINに従って内部データバス130を介して選択ビット線対を駆動するPBライトドライブ回路135と、センスアンプ活性化信号SAENとデータバイト選択信号IDRVEN_UおよびIDRVEN_Lに従って選択的に活性化され、内部データバス130のデータを検知し増幅して16ビット読出データSADATAを生成するPBセンス回路136とを含む。
これらのPBセンス回路136およびPBライトドライブ回路135は、データバイト選択信号IDRVEN_UおよびIDRVEN_Lに従ってバイト単位で活性/非活性が制御される。MLC構成時、下位ページバッファセンス/ドライブ回路120においては、ビット線選択信号Y[2]およびY[0]に従ってマルチプレクサ131および133が選択動作を行ない、マルチプレクサ132および134は非導通状態を維持する。一方、MLC構成時、上位ページバッファセンス/ドライブ回路122においては、ビット線選択信号Y[3]およびY[1]に従ってマルチプレクサ132および134が選択動作を行なう。
内部データバス130は、ビット線プリチャージ指示信号に対応するプリチャージ信号IPCを受けるプリチャージ回路137により、データの書込/読出完了時、所定電圧レベルにプリチャージされる。
図18は、図16に示すセンスアンプ活性化信号SAENおよびISEN_Dを発生する部分の構成を示す図である。この図18に示す構成は、図4に示すページバッファ制御回路7に含まれる。
図18において、ページバッファ制御回路7のページバッファセンスアンプ制御部は、データセットアップ指示信号CDSETUPを受けるインバータ140と、インバータ140の出力信号と電源電圧Vddの一方を選択するメタルスイッチ141と、アクセスモード活性化信号TXLCEを受けるインバータ142と、ページバッファ読出指示信号CHPBRとインバータ142の出力信号とメタルスイッチ141の出力信号とを受けるNANDゲート回路143と、NANDゲート回路143の出力信号とデータストローブ制御信号STRBWとを受けるゲート回路144を含む。このゲート回路144は、データストローブ生成信号STRBWがHレベルであるかまたはNANDゲート回路143の出力信号がLレベルのときにHレベルの信号を出力する。
ページバッファ制御回路7のページバッファ制御部は、さらに、ゲート回路144の出力信号とビット線プリチャージ指示信号IPCBLを受けるNANDゲート回路145と、NANDゲート回路145の出力信号を受けてセンスアンプ活性化信号SAENを生成するインバータ146と、NANDゲート回路145の出力信号を所定時間遅延して反転遅延センス活性化信号ISAEN_Dを生成する遅延回路147を含む。
メタルスイッチ141は、MLC構成時、インバータ140の出力信号を選択する。データセットアップ指示信号CDSETUPは、データ書込時Hレベルに設定される。したがって、この場合には、NANDゲート回路143の出力信号はHレベルに固定され、センスアンプ活性化信号SAENおよびISAEN_Dの活性/非活性はストローブタイミング制御信号STRBWに従って実行される。ストローブタイミング制御信号STRBWは、ページバッファのデータ読出時、内部で発生されるクロック信号に従って所定のタイミングで活性化される。
ページバッファからデータを外部へ読出す場合には、ページバッファ読出指示信号CHPBRがHレベルに設定される。このとき、対応のバンクに対するページバッファの動作が許可される場合には、アクセスイネーブル信号TXLCEがLレベルに設定される(バンクオペレーティングポインタに基づいて生成される)。したがって、このときには、NANDゲート回路143の出力信号がLレベルとなり、応じてORゲート回路144の出力信号がHレベルとなる。ビット線プリチャージ指示信号IPCLBLがLレベルからHレベルとなり、ページバッファビット線および内部データ線のプリチャージが完了すると、センスアンプ活性化信号SAELが活性化される。ページバッファへのデータ書込時においては、ページバッファ読出指示信号CHPBRはLレベルであり、センスアンプ活性化信号SAENはLレベルに固定され、遅延回路147からの反転センスアンプ活性化信号SISAEN_Dが活性状態にあり、ページバッファに対するデータの書込がストローブタイミング制御信号STRBWに従って実行される。
図19は、図16に示すバイト選択信号IDRVEN_UおよびIDRVEN_Lを発生する部分の構成を示す図である。この図19に示す回路も、図4に示すページバッファ制御回路7に含まれる。
図19において、ページバッファ制御回路7は、データレディ指示信号CRDYとデータセットアップ指示信号CDSETUPとを受けるNORゲート回路150と、NORゲート回路150の出力信号とバイトモード指定信号TXLBYTEとを受けるNORゲート回路151と、NORゲート回路151とワードモード指定信号TMS_X16LOADを受けるゲート回路152を含む。このバイトモード指定信号TXLBYTEは、ページバッファへのデータ書込をバイトモードで行なうか否かを示し、Lレベルに設定されると、ページバッファへのデータ書込がバイトモードで実行される。ワードモード指定信号TMS_X16LOADは、ワード単位でのデータ書込を指示し、Hレベルに設定されると、ワード単位でのデータの書込が実行される。ゲート回路152は、NORゲート回路151の出力信号がLレベルまたはワードモード指定信号TMS_X16LOADがHレベルのときにHレベルの信号を出力する。
ページバッファ制御回路7は、さらに、上位/下位バイト指定信号BXHLBとゲート回路152の出力信号を受けるNORゲート回路155と、データロード指示信号LOADWとページバッファ書込制御信号PBWRTとを受けてドライブイネーブル信号IDRVENを生成するNORゲート回路153と、ゲート回路152の出力信号と上位/下位バイト指示信号BXHLBを受けるゲート回路155を含む。
データロード指示信号LOADWは、図13に示すように、データロード指示信号CLOADWが活性化されると、所定期間活性化される。ページバッファ書込制御信号PBWRTは、ページバッファへのデータ書込時に活性化される。上位/下位バイト指定信号BXHLBは、外部からの信号にしたがってその論理レベルが設定され、Hレベルのときに下位バイトデータを指定し、Lレベルのときに上位バイトデータを指定する。
ページバッファ制御回路7は、さらに、NORゲート回路153の出力信号IDRVENとNORゲート回路154の出力信号を受けるNORゲート回路156と、NORゲート回路153の出力信号とゲート回路155の出力信号を受けるNORゲート回路157と、MLC選択信号MLC_SELとNORゲート回路156の出力信号を受けて下位バイトドライブイネーブル信号IDRVEN_Lを生成するNANDゲート回路158と、MLC選択信号MLC_SELとNORゲート回路157の出力信号を受けて上位バイト選択信号IDRVEN_Uを生成するNANDゲート回路159と、NANDゲート回路158および159の出力信号とデータクリア信号IDCLRおよびデータセット信号IDSETとを受けるNANDゲート回路160と、NANDゲート回路160の出力信号を受ける2段の縦続接続されるインバータ161および162と、NORゲート回路156および157の出力信号を受けるNORゲート回路163と、NORゲート回路163の出力信号とMLCモードアレイ選択信号MLC_SELとを受けてデータ取込活性化信号DRVEN_Eを生成するNORゲート回路164を含む。
インバータ162からのビット線ロード指示信号IBLLOADは、ページバッファに対するデータアクセスが行われていないときに活性化される。このビット線ロード指示信号IBLLOADは、データセットアップと異なる時には、図13に示すデータロード指示信号CLOADWに従って活性化されるロード制御信号CLOADに従って活性化される。
ページバッファライト指示信号PBWRTは、ベリファイ動作時に活性化される。
MLC構成時においては、上位/下位バイトデータ選択信号BXHLBはHレベルに設定され、またワードモード指定信号TMS_X16LOADがHレベルに設定される。したがって、ゲート回路154および155の出力信号は、Lレベルに固定される。ビット線へのドライブ活性化信号IDRVENが、ロード指示信号LOADWまたはページバッファ書込指示信号PBWRTに従って活性化される。ページバッファへのデータの書込時、データロード指示信号LOADWに従ってドライブ活性化信号IDRVENが活性化される。MLCモードアレイ選択信号MLC_SELは、MLC構成時、データビットAO[2]が“1”のときにHレベルとなる(図10参照)。したがって、ビット線ドライブイネーブル(バイト選択信号)信号IDRVEN_LおよびIDRVEN_Uは、アドレスビットAO[2]が“1”となると活性化されてLレベルとなる。この時にページバッファに対するデータの書込みが実行される。
一方、ドライブイネーブル信号DRVEN_Eは、図20に示すように、アドレスビットAO[2]が“0”のときに、MLC選択信号MLC_SELがLレベルであり、このときに、ドライブ活性化信号IDRVENに従ってHレベルに設定される。アドレスビットAO[2]が“1”のときには、MLCモードアレイ選択信号MLC_SELがHレベルであり、ドライブ活性化信号DRVEN_EはLレベル(活性状態)に設定される。すなわち、ドライブ活性化信号DRVEN_Eは、2つの連続する16ビットデータの最初のデータの取込/ラッチを指定し、連続する2つの16ビットデータの2回目のデータ印加時に、ビット線ドライブイネーブル信号(バイト選択信号)IDRVEN_UおよびIDRVEN_Lが活性化されて、ページバッファへの書込が実行される。
図21は、図4に示すデータ変換回路8のページバッファ書込データDIN[31:0]を生成する部分の構成を概略的に示す図である。図21において、データ変換回路8は、ドライブ活性化信号DRVEN_Eとデータセットアップ指示信号CDSETUPとを受けるNANDゲート回路173と、データラッチ指示信号MLC_LEを受けるインバータ174と、NANDゲート回路173の出力信号とインバータ174の出力信号とを受けるNANDゲート回路175と、NANDゲート回路175の出力信号と電源電圧Vddの一方を選択するメタルスイッチ176と、メタルスイッチ176の出力信号の立上がりに応答して外部からの書込データWD16[15:0]を取込みラッチするレジスタ回路178と、電源電圧Vddと外部からの書込データWD16[15:0]の一方を選択するメタルスイッチ177を含む。
レジスタ回路178から、16ビットデータDINB[15:8]およびDIN[7:0]が生成され、メタルスイッチ177から、16ビットデータDIN[31:24]およびDINB[23:16]が生成される。このメタルスイッチ177は、MLC構成時に、書込データWD16[15:0]を選択し、SLC構成時には電源電圧Vddを選択する。
このレジスタ回路178に対しては、リセット信号を生成するために、ページバッファクリア指示信号CLRPBと接地電圧の一方を受けるメタルスイッチ170と、メタルスイッチ170の出力信号とメインリセット信号RMRSTを受けるORゲート回路171と、ORゲート回路171の出力信号を受けるインバータ172が設けられる。このインバータ172の出力するリセット信号RSETに従ってレジスタ回路178の記憶データがリセットされる。
データ変換回路8は、さらに、データDINB[15:8]およびDINB[23:16]の配列順序を、データDINB[23:8]およびDINB[8:23]に変換する配線180と、接地電圧とデータセットアップ指示信号CDSETUPの一方を選択するメタルスイッチ179と、メタルスイッチ179の出力信号を受けるインバータ181と、インバータ181の出力信号に従って16ビットデータDINB[23:8]およびDINB[8:23]の一方を選択する複合ゲート回路182を含む。
メタルスイッチ179は、MLC構成時、データセットアップ指示信号CDSETUPを選択し、SLC構成時、接地電圧を選択する。複合ゲート回路182は、インバータ181の出力信号がLレベルのときには、データビットDINB[8:23]を選択し、インバータ181の出力信号がHレベルのときには、[23:8]を選択する。データビットDINB[8:23]およびデータビットDINB[23:8]は、ビットの配置位置が互いに逆である。
プログラム動作時においては、データセットアップ指示信号CDSETUPはHレベルに設定され、データビットDINB[8:23]が選択され、データDIN[23:16]およびDINC[15:8]が生成される。メタルスイッチ183は、MLC構成時、データDINC[15:8]を選択してデータビットDIN[15:8]を生成する。したがって、MLC構成時においては、データビットDIN[23:8]は、そのビット位置が変換されて出力される。
データ書込時においては、データ取込活性化信号(ドライブ活性化信号)DRVEN_Eが1回目の書込データが与えられるとき(アドレスビットAO[2]が“0”のとき)活性化され、NANDゲート回路173の出力信号がLレベルとなり、応じてNANDゲート回路175の出力信号がHレベルとなり、レジスタ回路173が外部からの書込データWD16[15:0]を取込み格納する。したがって、レジスタ回路178において1回目のデータが格納され、続いてメタルスイッチ177から、連続する外部ワードデータ(上位ワード)に従ってデータが生成される。2回目のデータが与えられたときには、したがって、32ビットデータのデータの位置が変更される。
図22は、この図21に示すデータ変換回路8のデータビット位置変換動作を概略的に示す図である。今、書込データWD1およびWD2が順次与えられた状態を考える。書込データWD1の上位バイトデータ[15:8]および書込データWD2の下位バイトデータ[7:0]が、図21に示す複合論理ゲート回路182により、そのビット位置順序が変更され、また、そのデータバイト位置が変更される。したがって、32ビットデータが生成された場合、書込データWD2の上位バイトデータがページバッファに対する書込データDIN[31:24]となり、書込データWD1の上位バイトデータのビット位置を変更したデータがページバッファに対する書込データDIN[23:16]となる。また書込データWD2の下位バイトデータ[7:0]のビット位置を逆転したデータ[0:7]が、ページバッファに対する書込データDIN[15:8]となる。書込データWD1の下位バイトデータ[7:0]が、ページバッファに対する書込データDIN[7:0]となる。したがって、この複合論理ゲートにより、図5に示すページバッファ書込時におけるデータビット位置の変更を実現することができる。
図23は、図4に示すデータ変換回路8のメモリセルへの書込データを発生する部分の構成を概略的に示す図である。図23において、データ変換回路8は、データラッチ制御信号PBLATCHに従ってページバッファから読出された32ビットデータPD32[31:0]を取込みラッチするレジスタ回路185と、このレジスタ回路185の32ビット出力データPD32A[31:16]およびPD32A[15:0]をそれぞれ16ビットデータPD2[15:0]およびPD1[15:0]として受けて16ビットデータWD[15:0]に圧縮して出力するデータ縮退回路186を含む。
レジスタ回路185は、ラッチ回路で構成され、ラッチ指示信号PBLATCHがHレベルの時にスルー状態となり、ラッチ指示信号PBLATCHがLレベルとなるとラッチ状態となる。また、リセット信号RSETに従って格納データがリセットされる。
このデータ縮退回路186は、16ビットデータPD1[15:0]およびPD2[15:0]の対応する位置のビットの縮退動作を処理する。図23においては、1ビット縮退データを生成する部分の構成を代表的に示す。データ縮退回路186は、反転データビットIPD1と反転データビットIPD2を受けるNANDゲート回路190と、反転データビットIPD1とデータビットPD2とを受けるNANDゲート回路191と、データビットPD1およびIPD2を受けるNANDゲート回路192と、これらのゲート回路190から192の出力信号を受けるNANDゲート回路193と、NANDゲート回路193の出力信号を反転して縮退データビットを生成するインバータ194を含む。反転データビットIPD1およびIPD2は、それぞれデータビットPD1およびPD2の反転ビットである。
この図23に示すデータ縮退回路186においては、NANDゲート回路190から192の出力信号がすべてHレベルのときに、縮退データビットがHレベル(“1”)に設定される。この条件が満たされるのは、データビットPD1およびPD2がともに“1”の状態である。データビットPD1およびPD2の少なくとも一方が“0”であれば、縮退データビットは“0”(Lレベル)となる。したがって、2ビットデータ(1,1)がHレベルに対応する状態であり、残りの2ビットデータ(0,0)、(0,1)および(1,0)は、データ“0”を格納する状態に対応させる。
すなわち、図24に示すように、データビット(1,1)を格納する状態を消去状態に対応付け、データ“10”、“01”、“00”を格納する状態を、プログラム状態に対応付ける。
したがって、まずデータ書込時、メモリセルへのデータ書込前に、消去ベリファイ動作を実行して記憶データと書込みデータとを比較する。ベリファイ後、メモリセルのしきい値電圧が書込みデータに対応する場合には、ページバッファの対応の2ビットデータを“11”に変更する。以降、プログラム動作は、各しきい値電圧を1値づつ上昇させる。ベリファイ動作時に、記憶データと書込みデータとが一致すると、そのビットを“1”に設定する。これにより、しきい値電圧をさらに上昇させるメモリセルに対してのみ、縮退データビットに応じてデータの書込が実行される。
このデータの書込は、16ビット単位で同時に行なわれるため、ライトドライバからビット線へ高電圧を供給し、チャネルホットエレクトロン(CHE)に従ってデータの書込が行なわれる。データ書込は、書込み前の消去および消去ベリファイ、プログラムベリファイ動作を必要とし、また書込時、ワード線のプログラム電圧を調整する必要があり、32ワードのデータ(メモリセルに対する16ワードデータ)を単位として同時に実行される。これにより、一度設定したワード線電圧を変更することなく、同一ワード線に接続されるメモリセルに対し16回連続的にデータを書込み、外部からの32ワードのデータを連続的に書込むことができる。また、ベリファイ動作も従って、内部16ワード単位で実行される。
図25は、図4に示すOSC回路3およびコマンドユーザインターフェイス(CUI)に含まれるデータプログラムに関連する部分の構成を概略的に示す図である。図25において、OSC回路3は、発振イネーブル信号IOSCEに従って発振動作を行ない所定の周期でクロック信号を生成する発振器200と、発振器200の出力クロック信号に従ってプログラムおよびベリファイ動作に必要な制御信号すなわちページバッファ書込制御信号PBWRT、ページバッファ読出制御信号PBREAD、ページバッファプリチャージ制御信号PBPRCG、およびベリファイセンスアンプ活性化信号ATDSAを生成するプログラム/ベリファイ制御信号発生回路201を含む。プログラム前に、メモリセルのデータのベリファイを行ない(消去ベリファイ後)、ページバッファの格納データとメモリセルのデータが同じ場合、そのメモリセルに対するプログラム動作は行なわない。
コマンドユーザインターフェイス2は、この発振器200からの発振信号に従って2層のクロック信号P1、P2およびP1_ADを生成するクロック発生回路199と、図示しないCPUの制御の下に、クロック信号P1_ADに従って、そのアドレス値を順次更新するアドレス発生回路202と、アドレス発生回路202の発生するアドレスと外部アドレス信号AAの一方を選択信号SELに従って選択して、プログラム用アドレス信号AOを生成するアドレス選択回路203を含む。
アドレス発生回路202は、たとえば、その初期値が外部アドレス信号AAに初期設定されて順次カウント動作を行なうカウント回路で構成される。アドレス選択回路203は、プログラムおよびベリファイ動作時、外部アドレス信号AAに代えてアドレス発生回路202からのアドレス信号を選択してプログラムアドレス信号AOを生成する。ページバッファへの外部からの書込データ書込時には、このアドレス選択回路203は、外部アドレス信号AAを選択する。このアドレス選択回路203からのアドレス信号AOが、ページバッファおよびメモリセルアレイの行および列選択回路へ与えられる。
クロック信号P1_ADに従ってアドレスを更新することにより、クロック信号をアドレス変化検出信号として利用してページバッファへのデータの書込みおよび読出を実行することができる。
図26は、プログラム時の電圧を発生する部分の構成を概略的に示す図である。この図26に示すプログラム電圧発生回路204は、図4に示すCPU4の制御の下に、そのワード線へ伝達される電圧VPおよび書込時ビット線へ与えられる電圧VWの電圧レベルを調整する。この電圧VPがメモリセルアレイの行選択回路を介してワード線上に伝達され、電圧VWが、図4に示すライトドライバ9およびメモリセルアレイの列選択回路へ与えられる。このプログラム時およびベリファイ時においては、図27に示すように、1つのワード線WLを選択し、連続的に16個のデータを格納する。アドレスAE[23]=0または1の領域に、下位データに対応するバイトデータおよび上位データに対応するバイトデータが同時に格納される。図27に示すように、1つのワード線に対して連続的に上ワードおよび下位ワードに対応する下位バイトおよび上位バイトが、ワード(16ビット)単位で連続的に書込まれる。
1つのワード線を選択状態にして連続的にデータを書込むことにより、ワード線WLの電圧レベルを一定に保持して、外部32ワードデータに対するプログラムおよびベリファイを行なうことができ、ワード単位でワード線の変更を行う必要がなく、高速で書込みを行うことができる。
図28は、ベリファイ時の動作を示すタイミング図である。以下、図28を参照して、ベリファイ動作について簡単に説明する。ベリファイ動作時、ベリファイ開始指示信号STARTがHレベルとなる。16ビットのメモリセルに対する書込データのベリファイ動作には、クロック信号P1およびP2の2クロックサイクルが割当てられる。これらのクロック信号P1およびP2は、図25に示す発振器200から生成される2相のクロック信号PK1およびPK2を分周して、図25に示すクロック発生回路199から生成されるクロック信号である。
このベリファイ動作開始時において、まずページバッファプリチャージ制御信号PBPRCGがHレベルとなり、ページバッファに対するプリチャージが実行される。次いで、ストローブ制御信号STRBがHレベルとなり、ページバッファからのデータ読出が指示され、ベリファイ対象のデータに対応するページバッファデータがページバッファ読出制御信号PBREADに従って生成される。ページバッファから、32ビットデータが読出され、このページバッファ読出制御信号PBREADに従ってシリアルな16ビットデータPD[15:0]およびPD[31:16]に変更される。メモリセルアレイ内においては、このページバッファからのデータ読出と並行して、アドレス変化活性化信号(センスアンプ活性化信号)ATDに従ってセンス動作が行なわれ、メモリセルデータRDが読出される。ページバッファ読出制御信号PBREADは、1回目のセンス期間に活性化され、2回目のセンス動作時には非活性化される。
同一の16ビットのメモリセルから2回データが読出され、各メモリセルに格納される2ビットデータが読出される。2回目の読出データRDおよびページバッファデータPD[15:0]がラッチイネーブル信号LE(MLC_LE)に従ってラッチされ、またそのベリファイ結果もラッチされる。続いて2回目のセンス動作により読出されたデータとページバッファデータPD[31:16]との一致/不一致が検証され、その検証結果に従って、ページバッファプリチャージ指示信号PBPRCGによりページバッファのプリチャージが行なわれた後、対応のメモリセルに対し、ベリファイ結果に対応するデータが格納される。このベリファイ結果時において、したがって、プログラムが完了したメモリセルには、データ“1”が書込まれ、以後の書込が禁止される。
ベリファイ結果が、正確にプログラムデータが書込まれたと判定されるまで、繰返しこのプログラムおよびベリファイ動作が行なわれる。16ビットのメモリセルに対し、クロック信号P1およびP2に対し、2クロックサイクルが割当てられているため、プログラム動作が32ワードに対して連続して行なわれ、またベリファイ動作も、メモリセル16ワード(外部32ワード)に対して連続的に実行される。
メモリセルのデータの読出時において1回目のセンス動作と2回目のセンス動作の間のプリチャージ時間は、通常のプリチャージ時間よりも十分短くされる。メモリセルのデータ読出時において、既に、ビット線は、1回目のセンス動作時に読出電圧レベルに設定され、データ読出時においてビット線電圧の変化は少なく、また、ベリファイ読出データ線の電位変化は生じていてもごくわずかであり、そのプリチャージ時間を短くしても、十分にプリチャージレベルにビット線および内部ベリファイ読出データ線をプリチャージすることができる。各センス期間において最初にビット線およびベリファイデータ読出線をプリチャージし、その後にセンス動作を実行する。従って、センス期間は、プリチャージ期間とセンス動作期間を含んでおり、2回目のセンス期間が1回目のセンス期間よりも短くされ、ベリファイに要する時間を短縮する。
また、2回目のセンス動作期間が短くされてもよい。データセンスがバイナリサーチ方式に従って実行されるため、2回目のセンス時においては、メモリセル読出電位は、比較基準電位を基準として2値の“1”および“0”のいずれかとなり、1回目のセンス時の様に、同一ビット値でもしきい値電圧が異なりメモリセル読出電位が異なる状態を検出する場合と異なり、メモリセル読出電位が2値であり、2回目のセンス時においてセンス動作時間を短縮してもデータを正確に読み出すことができる。
図29は、図4に示すベリファイ回路52含まれるページバッファデータの並列/直列変換部の構成を概略的に示す図である。図29において、データ並列/直列変換部は、ページバッファ読出制御信号PBREADと電源電圧Vddの一方を選択するメタルスイッチ210と、メタルスイッチ210の出力信号を所定時間遅延する遅延回路212と、遅延回路212の出力信号を反転するインバータ214と、インバータ214の出力信号を反転するインバータ216と、インバータ214および216の出力信号に従ってページバッファ読出データPD32A[15:0]およびPD32A[31:16]の一方を選択してページバッファデータPD[15:0]を生成する複合論理ゲート218を含む。
複合論理ゲート回路218は、インバータ216の出力信号がHレベルのときには、下位ページバッファ読出データPD32A[15:0]を選択し、インバータ214の出力信号がHレベルのときに、上位ページバッファ読出データPD32A[31:16]を選択する。したがって、ページバッファ読出制御信号PBREADがHレベルの期間、メモリセルアレイにおいては1回目のセンス動作が行われて、各ワードの下位ビットデータが読み出され、この時には、ページバッファ読出データPD32A[15:0]が選択されてページバッファデータPD[15:0]が生成され、ページバッファ読出制御信号PBREADがLレベルとなり、メモリセルアレイにおいて2回目のセンス動作が行われる時には、ページバッファ読出データPD32A[31:16]に従ってページバッファデータPD[15:0]が生成される。
このページバッファ読出制御信号PBREADを利用して、ページバッファ読出データの上位バイトデータおよび下位バイトデータの一方を、容易にメモリセルアレイからのメモリセル読出データに対応して選択することができる。
図30は、図25に示すクロック発生回路199の構成の一例を示す図である。図30において、クロック発生回路199は、発振器イネーブル指示信号IOSCEに従って発振動作を行なってクロック信号PK1、PK2およびPK20を生成する発振器220と、クロック信号PK1に従って選択的にラッチ状態となるラッチ回路222と、クロック信号PK20に従って選択的にラッチ状態となるリセット機能付きラッチ回路223と、ラッチ回路223の出力信号を反転してラッチ回路222へ転送するインバータ224と、リセット機能付きラッチ回路223の出力信号を反転するインバータ225と、インバータ225の出力信号がHレベルのときにセットされ、かつリセット機能付きラッチ回路223の出力信号がHレベルのときにリセットされるセット/リセットフリップフロップ226と、このセット/リセットフリップフロップ226の出力信号q0を受けるインバータ227と、セット/リセットフリップフロップ226の出力信号q1を受けるインバータ228と、インバータ227の出力信号を反転してクロック信号P1を生成するインバータ229と、インバータ227の出力信号を反転してCPUクロック信号P1_ADを生成するインバータ2230と、インバータ228の反転してクロック信号P2を生成するインバータ231を含む。
クロック信号PK1およびPK20は、2相の互いに相補なクロック信号であり、ラッチ回路222が、クロック信号PK1がLレベルのときにラッチ状態、Hレベルの時にスルー状態となる。リセット機能付きラッチ回路223は、クロック信号PK20がHレベルのときにスルー状態となり、Lレベルのときにラッチ状態となる。このリセット機能付きラッチ回路223は、その内部ノードNBBが、リセット指示信号RMRSTに応答してLレベルにリセットされる。
これらのラッチ回路222および223は、クロック信号PK1およびPK20の分周回路を構成する。フリップフロップ226は、ラッチ回路222の出力ノードNAAの信号に従ってセット/リセットされる。このフリップフロップ226は、その出力および一方入力が交差結合されるNORゲート回路を含み、それぞれの出力信号が遅延回路を介して他方のNORゲート回路へ与えられる。したがって、このセット/リセットフリップフロップ226からは、互いに重なり合わない2相のクロック信号q0およびq1が出力される。応じて、クロック信号PK1およびPK2も、互いに重なり合わない2相のクロック信号である。クロック信号P_ADがCPUへ与えられ、CPUにより、このクロック信号P_ADにしたがって、図25に示すアドレス発生回路202のアドレス更新タイミングおよびアドレス発生タイミングが設定される。
図31は、図25に示すプログラム/ベリファイ制御信号発生回路201の構成の一例を示す図である。図31において、プログラム/ベリファイ制御信号発生回路201は、発振器220からの2相のクロック信号PK1およびPK2に従って選択的にラッチ状態なるラッチ回路223−226と、ラッチ回路236の出力ノードNDからの信号を反転してラッチ回路233へ伝達するインバータ237を含む。
ラッチ回路233および235は、クロック信号PK1がHレベルのときにスルー状態となり、Lレベルのときにラッチ状態となる。ラッチ回路234および236は、クロック信号PK2がHレベルのときにスルー状態となり、Lレベルのときにラッチ状態となる。ラッチ回路234および236は、リセット機能を有し、リセット信号RMRSTに従って内部出力ノードNBおよびNDがLレベルに初期設定される。インバータ237によりラッチ回路236の出力信号が反転して初段のラッチ回路233の入力ノードNDDへ転送されるため、これらのラッチ回路233から236により、クロック信号PK1およびPK2を2分周する分周回路が実現される。
プログラム/ベリファイ制御信号発生回路201は、さらに、プログラム開始指示信号MLCPBSEANとベリファイ動作開始指示信号STARTを受けるORゲート回路240と、ORゲート回路240の出力信号がHレベルのときに、ラッチ回路233の内部出力ノードNAからの信号をラッチ回路234へ伝達する複合論理ゲート241と、ラッチ回路235の内部出力ノードNCの信号を反転するインバータ242と、ベリファイ動作開始指示信号STARTと接地電圧とインバータ242の出力信号を受ける複合論理ゲート回路243と、複合論理ゲート回路243の出力信号とアクセスタイミング信号MLC_ATDの一方を選択するメタルスイッチ244と、メタルスイッチ244の出力信号を反転してメモリセルアレイセンスアンプ活性化信号ATDSAを生成するインバータ245を含む。このメタルスイッチ244は、MLC構成時、アクセスタイミング信号MLC_ATDを選択する。このタイミング信号MLC_ATDに従ってメモリセルアレイに対するアクセスサイクルが設定される。センスアンプ活性化信号ATDSAが、図28に示すタイミング信号ATDに対応し、センス期間を決定する。
プログラム/ベリファイ制御信号発生回路201は、さらに、ラッチ回路234の出力信号とラッチ回路235の出力信号とORゲート回路240の出力信号とを受ける複合ゲート回路246と、複合ゲート回路246の出力信号を反転してページバッファデータ読出制御信号STRBWを発生するインバータ247を含む。複合ゲート回路246は、ラッチ回路234および235の出力信号の一方がHレベルでありかつOR回路240の出力信号がHレベルのときにLレベルの信号を出力する。
プログラム/ベリファイ制御信号発生回路201は、さらに、ベリファイ開始指示信号STARTとインバータ242の出力信号とに従って出力信号を生成する複合論理ゲート回路248と、複合論理ゲート回路248の出力信号を反転してページバッファ書込制御信号PBWRTを発生するインバータ249を含む。この複合論理ゲート回路248は、インバータ242の出力信号がHレベルでありかつベリファイ開始指示信号STARTがHレベルのときにLレベルの信号を出力する。
ここで、複合論理ゲート回路241、243、246および248へ、接地電圧が与えられているのは、通常動作モード時使用されないテストモード信号が与えられるためである。
プログラム/ベリファイ制御信号発生回路201は、さらに、ラッチ回路233の出力信号とORゲート回路240の出力信号とラッチ回路234の出力信号とを受けるNANDゲート回路250と、NANDゲート回路250の出力信号を反転してページバッファ読出制御信号PBREADを生成するインバータ251と、ラッチ回路234の出力信号を受けるインバータ252と、インバータ252の出力信号に従ってラッチ回路233の出力信号およびラッチ回路235の出力信号の一方を選択してかつ反転する複合論理ゲート回路253と、複合論理ゲート回路253の出力信号とORゲート回路240の出力信号とを受けるANDゲート回路254と、ANDゲート回路254の出力信号を反転してページバッファプリチャージ制御信号PBPRCGを発生するインバータ255を含む。複合論理ゲート回路253は、インバータ252の出力信号がHレベル、すなわちラッチ回路234の出力信号がLレベルのとき、ラッチ回路233の出力信号またはラッチ回路235の出力信号がHレベルのときに、Lレベルの信号を出力する。
プログラム/ベリファイ制御信号発生回路201は、さらに、ラッチ回路233の内部出力ノードNAの信号を受けるインバータ256と、ラッチ回路236の内部出力ノードNBからの信号とベリファイ開始指示信号STARTとインバータ256の出力信号を受けるNANDゲート回路257と、NANDゲート回路257の出力信号を受けるインバータ258と、インバータ258の出力信号を受けるインバータ259と、インバータ259の出力信号と電源電圧Vddの一方を選択してメモリセルアレイのベリファイセンスアンプ活性化信号IMLC_SA2を生成するメタルスイッチ260と、ラッチ回路236の出力信号とベリファイ開始指示信号STARTとラッチ回路233の出力信号を受けるNAND回路261と、NANDゲート回路261の出力信号を受けるインバータ262と、インバータ262の出力信号と接地電圧の一方を選択してラッチ指示信号MLC_LEを発生するメタルスイッチ263を含む。メタルスイッチ263は、MLC構成時、インバータ262の出力信号を選択する。このラッチ指示信号MLC_LEが、図28に示すタイミング図におけるラッチ指示信号LEに対応し、メモリセルからの読出データおよびベリファイ結果データをラッチする。
センスアンプ活性化信号IMLC_SA2により2回目のセンス動作により生成されたデータがラッチされる。このセンスアンプ活性化信号IMLC_SA2により2回目のセンス動作期間が決定されてもよい。
プログラム/ベリファイ制御信号発生回路201は、さらに、ラッチ回路236の出力信号を受けるインバータ264と、インバータ256の出力信号とラッチ回路234の出力信号とインバータ264の出力信号とに従って、その出力信号を生成する複合論理ゲート回路265と、複合論理ゲート回路265の出力信号を反転するインバータ266と、インバータ266の出力信号とベリファイ動作開始指示信号STARTとを受けてメモリセルへのアクセスタイミング信号MLC_ATDを生成するNANDゲート回路267を含む。複合論理ゲート回路265は、クロック期間を調整し、ラッチ回路233の出力信号がLレベルでありかつラッチ回路234の出力信号がHレベルのときまたはラッチ回路234の出力信号がHレベルでありかつラッチ回路236の出力信号がLレベルのときに、Lレベルの信号を出力する。
メタルスイッチ244が、MLC構成時、NANDゲート回路267からのアレイ活性化タイミング信号MLC_ATDを選択してタイミング信号ATDSAを生成しており、アレイのセンス期間が、図28に示すようにクロック信号PK1およびPK2により決定される。
図32は、図30および図31に示すクロック発生回路199およびプログラム/ベリファイ制御信号発生回路201の動作を示すタイミング図である。以下、図32を参照して、この図30および図31に示すOSC回路の動作について説明する。
外部からのコマンドに従って、クロック信号を発生する必要がある場合、発振器イネーブル信号IOSCEが活性化され、発振器220が発振動作を行ない、2相のクロック信号PK1およびPK2を生成する。図30に示すように、クロック信号PK1およびPK20に従って、ラッチ回路222および223が信号のラッチ/転送動作を行ない、それらの内部ノードNAAおよびNBBは、クロック信号PK1およびPK2の1クロックサイクルごとにその電圧レベルが変化する。したがって、フリップフロップ226が、図30に示す内部ノードNAAの信号に従ってセット/リセットされるため、クロック信号PK1およびPK2(PK20)の2倍の周期を有する2相の互いに重なり合わないクロック信号P1およびP2が生成される。このクロック信号P1およびP2により、内部動作のクロックサイクルが決定される。
メモリセルアレイにおけるワード線選択タイミングおよび列選択タイミングが、これらのクロック信号P1およびP2により決定される。またベリファイ動作時の制御信号の発生タイミングがこれらのクロック信号P1およびP2により設定される。
図31に示すラッチ回路233から236においては、クロック信号PK1およびPK2により、ラッチ状態およびスルー状態が繰返される。ベリファイ動作開始時には、ベリファイ動作開始指示信号STARTが活性化され、またページバッファからデータを読出してメモリセルへ書込むときには、ページバッファセンスアンプ活性化信号MLCPDSEAENが活性化される。
このプログラム動作時またはベリファイ動作時、OR回路240の出力信号がHレベルとなり、複合論理ゲート回路241により、ラッチ回路233の出力信号がラッチ回路234へ伝達され、これらのラッチ回路234、235、236および233の各内部ノードNBからND、NDDおよびNAの電圧変化シーケンスが初期設定される。ORゲート回路240の出力信号がLレベルのときには、ラッチ回路234の内部ノードNBは、Lレベルに初期設定されているため、複合論理ゲート回路241の出力信号は、ラッチ回路233の内部ノードの電圧レベルにかかわらずLレベルに設定される。
クロック信号PK1およびPK2が発生されると、ラッチ回路233から236が接続され、分周回路として動作し、また、そのとき内部ノードNBの電圧レベルが初期設定される。ORゲート回路240の出力信号がHレベルとなり、かつラッチ回路234および235の出力信号の一方がHレベルの時、インバータ247からのページバッファストローブ制御信号STRBWがHレベルとなる。このストローブ制御信号STRBWにより、ページバッファのベリファイ時のセンスアンプの活性化期間が決定される。ノードNBの電圧レベルがHレベルとなり、またORゲート回路240の出力信号がHレベルでありかつノードNAの電圧レベルがHレベルの期間、インバータ251からのページバッファ読出制御信号PBREADがHレベルとなる。ページバッファ読出制御信号PBREADに従って、ページバッファから、32ビットのベリファイ対象のデータまたは書込対象のデータが読出される。
ベリファイ動作開始時指示信号STARTがHレベルとなると、NANDゲート回路267が、インバータとして動作する。ノードNBがHレベルのとき、ノードNBまたはNAがLレベルのときに、複合ゲート回路265の出力信号がLレベルとなり、インバータ265の出力信号がHレベルとなり、NANDゲート回路267の出力信号MLC_ATDがLレベルとなる。応じて、アクセス活性化信号ATDSAが活性化されてHレベルとなる。このアクセス活性化信号ATDSAに従ってメモリセルアレイにおいては、センスアンプが活性化され(信号MLC_ATDSAが活性化され)、メモリアレイにおいてセンス動作が行なわれ、1つのメモリセルから2ビットデータがシリアルに読出される。ページバッファのセンスアンプ活性化が、図18に示すように、ストローブ制御信号STRBWに従ってビット線プリチャージ完了後実行される。
ノードNDの電圧レベルがHレベル、ノードNCの電圧レベルがLレベル、およびベリファイ開始指示信号STARTがHレベルのときに、ページバッファ書込制御信号PBWRTがLレベルとなる。ベリファイ開始指示信号STARTは、外部32ワードのベリファイ動作期間中Hレベルに設定される。したがって、ストローブ信号STRBWがLレベルとなると、ページバッファ書込制御信号PBWRTが活性化され、ページバッファへのデータの書込が実行され、ベリファイ結果データのページバッファへの書込みが実行される。
ノードNAの電圧レベルがHレベルでありかつノードNBの電圧レベルがLレベルであるかまたはノードNCの電圧レベルがHレベルでありかつノードNBの電圧レベルがLレベルのときに、複合論理ゲート回路253の出力信号がLレベルとなり、ANDゲート回路254の出力信号がLレベルとなり、応じてインバータ255からのページバッファプリチャージ制御信号PBPRCGがHレベルとなり、ページバッファにおけるビット線プリチャージが実行される。ページバッファに対するプリチャージ完了後、ページバッファ書込制御信号PBWRTが活性化され、ベリファイ結果データまたはページバッファデータのページバッファへの書込が実行される。
また、ノードNDの電圧レベルがHレベルでありかつノードNAの電圧レベルがHレベルのときに、インバータ262の出力信号がHレベルとなり、ラッチ指示信号MLC_LEが活性化され、1回目のセンス動作によりメモリセルから読出された最初のデータがラッチされる。
次いで、ノードNAの電圧レベルがLレベルでありかつノードNDの電圧レベルがHレベルの期間、MLCセンス活性化信号MLC_SA2が活性化され、2回めのセンス動作により読出されたデータのラッチまたは、2回目のセンス動作が実行される。
したがって、このクロック信号PK1およびPK2に従って順次ページバッファへの書込/読出制御信号を生成し、またCPUに対するクロック信号P1_AD(P2)に従って、アドレス発生/更新を制御することにより、クロック信号に同期して連続的に、メモリセルアレイからのデータ読出と同期してページバッファから外部32ワードのデータ(内部メモリセル16ワードデータ)を読出すことができる。
なお、メモリセルアレイからのデータの読出を行なうとき、前述のごとく、センスアンプ活性化信号MLC_ATDSAは、2回目のセンス動作時、その活性化期間が短くされる。
図33は、メモリセルアレイ10に対するベリファイに関連する部分の構成を概略的に示す図である。図33において、メモリセルアレイ10に対し、行選択回路270と、書込/ベリファイ列選択回路272と、ベリファイセンスアンプ回路274が設けられる。このベリファイセンスアンプ回路274は、16個のセンスアンプを含み、また書込/ベリファイ列選択回路272も、16対のビット線を同時に選択する。
行選択回路270は、1つのワード線を選択状態へ駆動する。これらの行選択回路270、書込/ベリファイ列選択回路272およびベリファイセンスアンプ回路274は、それぞれの活性化タイミングを、アクセス活性化タイミング信号MLC_ATDSAにより決定される。これらの回路の活性化タイミングは、図4に示すCPU4により設定される。アクセス活性化タイミング信号MLC_ATDSAとしては、図31に示す信号MLCATDが用いられてもよく、また、タイミング信号ATDSAが用いられてもよい。
ベリファイセンスアンプ回路274に対し、2つのレジスタ回路276および278が設けられる。レジスタ回路276は、ラッチ指示信号MLC_LEに従ってベリファイセンスアンプ回路274の出力データをラッチし、レジスタ回路278は、センスアンプ活性化信号MCL_SA2に従って、ベリファイセンスアンプ回路274の出力データをラッチする。これらのレジスタ回路276および278からの読出データRD1およびRD2が、図4に示すベリファイ回路5へ与えられる。このベリファイセンスアンプ回路274は、後に詳細に説明するように、各列(ビット線)について、ワード線電圧を同じとして、2回目のセンス基準電流を、1回目に読出したデータに基づいて設定して、2回目のデータ読出(センス動作)を実行する。
なお、書込/ベリファイ列選択回路272およびベリファイセンスアンプ回路274は、データ読出用の列選択回路と別に設けられる。1つのバンクに対するプログラム動作時、他バンクに対するメモリセルデータの読出を行なうため、外部の読出データを伝達するバスとベリファイデータを伝達するバスの衝突を防止するためである。しかしながら、ベリファイセンスアンプ回路274およびページバッファは、各バンクに共通に設けられ、ベリファイデータを伝達するバスと内部読出データバスとが別に設けられる構成が用いられてもよい。
また、ページバッファについても、各バンクごとに配置されてもよく、所定数のバンクに共通に配置されてもよい。バンクに共通にページバッファが配置される場合には、あるバンクに対するプログラム動作時には、ページバッファへの外部からのアクセスは禁止され、他バンクからのデータの読出が実行されるように構成されてもよい。
図34は、図4に示すベリファイ回路5の構成を概略的に示す図である。図34において、ベリファイ回路5は、メモリセルアレイから読出された16ビットデータRD1[15:0]およびRD2[15:0]をページバッファ読出制御信号PBREADに従って選択する選択回路280と、ページバッファから並列に読出されたデータPD[15:0]およびPD[32:16]をページバッファ読出制御信号PBREADに従って選択する選択回路282と、選択回路280から読出された16ビットメモリセルデータRD[15:0]と選択回路282から出力された16ビットページバッファデータPDB[15:0]の各ビットごとの比較を行なう比較回路284と、比較回路284からの16ビットの比較結果信号CD[15:0]を受けて、1ビットの書込良/不良判定結果を示すベリファイ結果信号PASSを生成する判定回路286と、比較回路284からの比較結果信号CD[15:0]に従って、ページバッファデータPDB[15:0]および比較結果信号CD[15:0]の一方を選択してページバッファへの書込データND[15:0]を生成する書込データ生成回路288を含む。
選択回路280および282は、ページバッファ読出制御信号PBREADがHレベルであり、1回目のセンス動作が行なわれたときに、1回目のメモリセル読出データRD1[15:0]を選択する。このメモリセルアレイから読出されるデータRD1[15:0]は、メモリセルに格納される2ビットデータのうちの上位ビットデータであり、選択回路282は、1回目には、ページバッファから上位16ビットデータPD[32:16]を選択する。
比較回路284は、その内部論理に従って、メモリセルデータが下側しきい値電圧および上側しきい値電圧領域内に収まっているかの判定を行ない、その判定結果を示す16ビット信号CD[15:0]を生成する。
判定回路286は、ラッチ指示信号MLC_LEに従って比較回路284からの1回目の比較結果信号CD[15:0]をラッチし、2回目に生成される比較結果信号CD[15:0]とに従って、最終の32ビットデータについての良/不良判定結果を行なって、ベリファイ結果信号PASSを生成する。
書込データ生成回路288は、ページバッファ読出制御信号PBREAD(またはラッチ指示信号MLC_LE)に従って1回目の比較結果信号CD[15:0]をラッチし、この1回目の判定結果に従ってページバッファに対する書込データを選択する。この1回目の比較結果信号が、不良を示している場合には、2回目のベリファイ結果に関して、ページバッファのデータの変更は行なわない(ベリファイ結果データの書込は禁止される)。これは、以下の理由による。
今、図35に示すように、データ“11”を格納するメモリセルのデータを、データ“00”に書換える動作を考える。プログラム動作時、メモリセルのしきい値電圧は、順次増大していくため、メモリセルの記憶データは“11”、“10”、“01”、および“00”の状態に、順次変化する。ページバッファに格納されているデータは、“00”であり、このデータが、期待値データとなる。したがって、データ“11”を記憶する状態では、1回目および2回目のベリファイ動作はともに不良を示す状態となる。
メモリセルがデータ“10”を格納する状態では、1回目のベリファイ動作が不良と判定され、2回目のベリファイ動作が良と判定される。データ“01”を記憶する状態では、1回目のベリファイ動作時に良と判定され、2回目のベリファイ動作時には不良と判定される。データ“00”を格納する状態では、1回目および2回目のベリファイ動作時、ともに良と判定される。
このベリファイシーケンスにおいて、データ“10”を格納する状態で、2回目のベリファイ結果が良と判定されると、データ“10”が、データ“11”と変えられてページバッファに格納される。データ“01”の書込を行なった後のベリファイ時において、1回目のベリファイ動作時、良と判定されると、2回目のベリファイ時のページバッファからのデータビットは“1”であり、良と判定され、このメモリセルに対するプログラム動作が完了する。したがって、データ“01”をデータ“00”に書込メモリセルに書込んだ状態となり、誤書込が生じる可能性がある。そこで、1回目のベリファイ動作が良と判定されたときのみ、2回目のベリファイ結果をページバッファの格納データに反映させる。これにより、メモリセルがデータ“10”格納する時において、1回目のベリファイ動作が不良であり、2回目のベリファイ動作が良と判定されても、ページバッファのデータ書換えが行なわれるのを防止し、正確なデータの書込を実現する。
図36は、図34に示す比較回路284の構成の一例を示す図である。図36において、比較回路284は、ストローブ制御信号STRBWに従って、メモリセルから読出されたデータRD[15:0]を取込み出力するレジスタ回路290と、ページバッファ書込指示信号F2Pを受けるインバータ291と、読出データ反転モード指示信号INVRTEとインバータ291の出力信号を受けるNANDゲート回路292と、NANDゲート回路292の出力信号を受けるインバータ293と、ページバッファチェック制御信号PBCHKを受ける2段の縦続接続されるインバータ294および295と、レジスタ回路290からのデータRDL[15:0]とインバータ293の出力信号を受けるNANDゲート回路296と、ページバッファ読出データPDB[15:0]とインバータ295の出力信号とインバータ293の出力信号とを受けるNANDゲート回路297と、メモリセル読出データRDL[15:0]とインバータ293の出力信号とを受けるORゲート回路298と、ページバッファ読出データPDB[15:0]とインバータ293および295の出力信号と受けるゲート回路299と、これらのゲート回路296−299の出力信号とを受けて判定結果信号CD[15:0]を生成するNANDゲート回路300を含む。
これらのゲート回路296−300は、16ビットのデータの処理を実行する。レジスタ回路290は、ストローブ信号STRBWがHレベルのときに、メモリセルから読出されたデータRD[15:0]を取りこみ出力して、データRDL[15:0]を生成する。ストローブ信号STRBWがLレベルのときには、このレジスタ回路290は、ラッチ状態となる。
このベリファイ回路においては、ベリファイ動作の種類として、過消去ベリファイモード、メモリセルデータを1に固定するプログラムベリファイモード、各記憶データのしきい値電圧の分布に下側のしきい値をチェックする下側Vthチェックモード、しきい値電圧分布領域の上側のしきい値をチェックする上側Vthチェックモード、ページバッファへデータを書込むページバッファ書込モードがあり、これらのモードに応じて、信号F2P、INVRDEおよびPBCHKや図示しない制御信号PBLOADが設定される。
図37は、この図36に示すモード設定信号INVRDE、PBCHKおよびPBLOADの各モードにおける論理レベルを一覧にして示す図である。過消去ベリファイモード時においては、ページバッファロード制御信号PBLOADがLレベルに設定され、読出データ反転モード指示信号INVRDEおよびページバッファチェック制御信号PBCHKはともにLレベルに設定される。
メモリセルデータを“0”に固定する0固定ベリファイモード時においては、読出データ反転モード指示信号INVRDEがLレベルに設定され、残りの制御信号PBLOADおよびPBCHKがHレベルに設定される。
下側Vthチェックモード時においては、信号PBCHKがLレベル、残りの制御信号PBLOADおよびINVRDEがLレベルに設定される。
メモリセルデータを“1”に固定するモード時における1固定ベリファイモード時においては、制御信号INVRDEがHレベル、PBLOADおよびPBCHKがLレベルに設定される。上側Vthベリファイモード時においては、制御信号PBLOAD、INVRDEおよびPBCHKがHレベルに設定される。
メモリセルアレイからの読出データまたはベリファイ結果データをページバッファ(PB)へ書込むモード時においては、信号PBLOADおよびINVRDEがHレベルに設定され、信号PBCHKがLレベルに設定される。また、ページバッファ書込制御信号F2PがHレベルに設定されると、メモリセルから読出されたデータが、ページバッファ(PB)へ格納される。
ベリファイモード時においては、メモリセルアレイにおいてワード線電圧が、しきい値電圧に係らず一定の読出電圧レベルに設定され、センスアンプにおいて、比較基準電流が、検出対象のしきい値電圧に対応するレベルに設定される。ビット線に電流が流れる状態は、消去状態であり、データ“1”が格納された状態に対応する。一方、ベリファイ読出電圧がワード線に印加されたとき、メモリセルを介してビット線に流れる電流が、センスアンプから供給される比較基準電流よりも小さい時には、データ“0”が読出され、プログラム状態に対応付られる。
なお、メモリセルからのデータのベリファイ時の読出動作は、ワード線が対象のしきい値電圧レベルに設定され、ビット線に流れる電流が、基準電流よりも大きいか小さいかに従ってメモリセルの記憶データの読出が行われてもよい。
下側Vthチェックモード時において、制御信号PBCHKがHレベルであり、制御信号INVRDEおよびF2Pは、Lレベルである。この状態においては、インバータ293の出力信号がLレベルとなり、NANDゲート回路296の出力信号およびNANDゲート回路297の出力信号がHレベルに固定される。一方、ORゲート回路298がイネーブルされ、メモリセルデータRDL[15:0]を出力する。また、ゲート回路299がイネーブルされ、ページバッファデータPDB[15:0]を反転して出力する。NANDゲート回路300は、これらのデータRDL[15:0]およびPDB[15:0]の同一位置のビットについて一方がLレベルであれば、対応のベリファイ結果信号をHレベル(“1”)に設定する。
したがって、下側Vthベリファイ動作時において、正常にメモリセルがプログラムされている場合、メモリセルは、対応の下側しきい値電圧よりも高しきい値電圧状態にあり、大きな電流は流れず、データ“0”が読出される。一方、ゲート回路299は、ページバッファデータPDB[15:0]を反転している。ページバッファデータPDB[15:0]のデータとして、既に、正常にベリファイ動作が完了して、データ“1”が格納されている場合、対応のベリファイ結果信号CDは、Hレベル(“1”)となる。したがって、メモリセルデータが正常にプログラムされているかまたはページバッファから読出されたデータがベリファイ完了を示しているときには、ベリファイ結果信号CD[i](i=0から15)がHレベルとなり、メモリセルデータの16ビットがすべて正常であれば、ベリファイ結果データ信号CD[15:0]は、全ビットが“1”となる。
上側Vthベリファイモード時においては、制御信号PBCHKおよびINVRDEがHレベルに設定される。この場合、制御信号F2PがLレベルであり、インバータ293の出力信号がHレベルまたインバータ295の出力信号もHレベルであり、NANDゲート回路296および297がイネーブルされ、ORゲート回路298の出力信号がHレベル(全ビットについて)、またゲート回路299も、その出力信号がHレベルに固定される。このときには、ページバッファから読出されたデータPDB[i]とメモリセルデータRDL[i]の反転値の一方が“1”(Hレベル)であれば、ベリファイ結果指示信号CD[i]がHレベル(“1”)となる。
この上側Vthベリファイモード時においては、正常にプログラムされているメモリセルについては大きな電流が流れ、データ“1”が読出される。したがって、正常にメモリセルデータがプログラムされているかまたはページバッファにおいてベリファイ完了が設定されているときには、対応のベリファイ結果指示信号CD[i]が“1”(Hレベル)に設定される。
過消去ベリファイモード時においては、制御信号INVRDEおよびPBCHKがともにLレベルであり、ゲート回路298の出力信号に従ってベリファイ動作が行なわれ、ページバッファデータPDB[15:0]を受ける論理ゲート回路299の出力信号がHレベルに固定され、メモリセルデータRDL[15:0]に従ってベリファイ結果信号CD[15:0]が生成される。過消去時においては、ワード線がLレベルのときに、データ“0”が読出されるかの判定が行なわれる。過消去状態のメモリセルには電流が流れ、データ“1”が読出され、ベリファイ結果信号CD[i]がLレベル(“0”)となり、過消去状態であることが示され、再び過消去状態を消去状態に戻すための書戻しが実行される。
上側Vthベリファイ時においては、不良が判定されたときには、再度消去パルスを印加した後、ワード線の書込パルス幅を小さくして再書込が実行される。
後に説明するように、メモリセル16ワードについて連続的にプログラム動作およびベリファイ動作が行なわれ、16ワード単位でプログラムおよびベリファイが実行される。すなわち、1ワードのみがプログラム不良であっても、再度16ワードについてアドレスを発生してプログラムおよびベリファイが実行される。
0固定ベリファイモード時においては、制御信号INVRDEおよびPBCHKの状態は、下側Vthチェックモード時と同様であり、メモリセルからデータ“0”が読出されたかの判定が行なわれる。
1固定ベリファイモード時においては、制御信号INVRDEがHレベル、制御信号PBCHKはLレベルに設定される。この場合、NANDゲート回路297および論理ゲート回路299の出力信号はLレベルに固定され、またORゲート回路298の出力信号はLレベルに固定される。したがって、NANDゲート回路296の出力信号に従って、メモリセルデータRDL[15:0]においてデータ“1”が存在するかの判定が行なわれる。この1固定ベリファイ時において、ページバッファデータPDB[15:0]の値に従って、メモリセルへデータ“1”(1ビット)を書込むため、応じてページバッファデータPDB[15:0]も、同様“1”に設定されるため、メモリセルデータのみを利用してベリファイ動作が実行される。
制御信号F2PがHレベルに設定された場合には、メモリセルデータをページバッファへの書込みが指示され、ベリファイ判定結果信号は利用されない。
図38は、図34に示す判定回路286の構成の一例を示す図である。図38において、判定回路286は、図36に示す比較回路284からの16ビットベリファイ判定結果信号CD[15:0]を、それぞれ4ビットずつ受けるNANDゲート回路310−313と、NANDゲート回路310および311の出力信号を受けるNORゲート回路314と、NANDゲート回路312および313の出力信号を受けるNORゲート回路315と、NORゲート回路314および315の出力信号を受けて16ビットベリファイ判定信号CD_ALLを生成するANDゲート回路316を含む。
ゲート回路310から316は、16ビットベリファイ結果信号CD[15:0]を、1ビットのベリファイ判定結果信号CD_ALLに圧縮する。16ビットベリファイ結果信号CD[15:0]において全ビットが“1”のときには、1ビットベリファイ判定結果信号CD_ALLがHレベル(“1”)となる。1ビットでも“0”のベリファイ結果信号が存在する場合、NANDゲート回路310−313の対応の出力信号がHレベルとなり、応じて、ベリファイ判定結果信号CD_ALLがLレベルとなる。
判定回路286は、さらに、制御信号PBCHK、INVRDEおよびPBLOADを受けるゲート回路317と、ゲート回路317の出力信号HF2PBとベリファイ判定結果信号CD_ALLを受けるNORゲート回路318と、電源電圧Vddとラッチ指示信号MLC_LEの一方を伝達するメタルスイッチ319と、メタルスイッチ319の出力信号がHレベルのときに、NORゲート回路318の出力信号を取込むレジスタ回路320と、NORゲート回路318の出力信号と接地電圧の一方を選択するメタルスイッチ321と、メタルスイッチ321の出力信号とレジスタ回路320の出力信号とを受けて最終判定結果信号PASSを生成するNORゲート回路332を含む。
ゲート回路317は、制御信号PBCHKがLレベルでありかつ制御信号INVRDEおよびPBLOADがHレベルの時に、出力信号HF2PBをHレベルに設定する。
メタルスイッチ319は、MLC構成時、ラッチ指示信号MLC_LEを選択し、メタルスイッチ321は、MLC構成時、NORゲート回路318の出力信号を選択する。レジスタ回路320は、リセット信号RMRSTに従ってその記憶内容がリセットされる。
ラッチ指示信号MLC_LEは、メモリセルアレイからのデータ読出時、最初のセンス動作に応答して所定期間活性化され、この間、レジスタ回路320が、NORゲート回路318の出力信号を取込み格納する。ベリファイ動作時、制御信号PBLOADおよびINVRDEの一方がLレベルであるか、または、制御信号PBCHKがHレベルであり、論理ゲート回路317の出力信号HF2PBはLレベルであり、NORゲート回路318は、インバータとして動作し、ベリファイ判定結果信号CD_ALLを反転して出力する。したがって、1回目のセンスデータに従って、ベリファイ判定結果信号CD_ALLが生成されると、この生成されたベリファイ判定結果信号CD_ALLが、ラッチ指示信号MLC_LEに従ってレジスタ回路320に格納される。2回目のセンス動作時に読出されたデータについて再び、ベリファイ動作が行なわれ、ベリファイ判定結果信号CD_ALLが生成されると、メタルスイッチ321を介して、NORゲート回路332へ伝達される。
NORゲート回路332において、1回目のメモリセルデータおよび2回目のメモリセルデータについて、ともにベリファイ判定結果が“1” のときに(NORゲート回路318で信号CD_ALLが反転されている)、最終判定信号PASSがHレベル(“1”)に設定される。最終判定結果信号PASSがHレベルであり、メモリセルから読出された16ワードデータがすべてプログラム正常の場合には、この16ワードについてのプログラムが完了する。1ワードでも、プログラム不良が存在する場合には、再び、16ワード単位でプログラムおよびベリファイ動作が行なわれる(信号PASSに従ってフラグをリセットすることにより、16ワードにおいてプログラム不良があるかを判定する)。この動作は、CPUにより制御される。
なお、論理ゲート回路317の出力信号HF2PBがHレベルのとき、NORゲート回路318の出力信号はLレベルに固定され、最終判定結果信号PASSが、Hレベルに固定される。このモード時においては、メモリセルから読出されたデータをページバッファ(PB)へ書込む動作が、実行される。
図39は、図34に示す書込データ生成回路288の構成の一例を示す図である。図39において、書込データ生成回路288は、内部クロック信号P1とプログラムモード指示信号PPとを受けるゲート回路340と、ゲート回路340の出力信号を受けるインバータ341と、インバータ341の出力信号に従って外部からの入力データIOD[15:0]を取込むレジスタ回路342と、プログラムモード指示信号PPとデータセットアップ指示信号CDSETUPとを受けるNORゲート回路343と、NORゲート回路343の出力信号を受けるインバータ344と、インバータ344の出力信号を受けるインバータ345と、インバータ344の出力信号とレジスタ回路342の出力信号とを受けるNANDゲート回路346と、電源電圧Vddとページバッファ読出制御信号PBREADの一方を選択するメタルスイッチ347と、メタルスイッチ347の出力信号がHレベルのときに、ベリファイ結果信号CD[15:0]を取込むレジスタ回路348と、メタルスイッチ347の出力信号を遅延する遅延回路349と、遅延回路349の出力信号をさらに遅延する2段の縦続接続されるインバータ350および351と、プログラムシーケンス制御信号SEC_PRGを受けるインバータ352と、レジスタ回路348の出力信号とインバータ351および352の出力信号を受ける複合論理ゲート回路353と、複合論理ゲート回路353の出力信号と接地電圧の一方を選択するメタルスイッチ354と、インバータ345の出力信号と接地電圧の一方を選択するメタルスイッチ355と、メタルスイッチ354の出力信号とページバッファデータPD[15:0]とメタルスイッチ355の出力信号とを受けるNANDゲート回路356と、メタルスイッチ回路354の出力信号とインバータ345の出力信号とベリファイ結果信号CD[15:0]を受ける論理ゲート回路357と、NANDゲート回路346および356と論理ゲート回路357の出力仕事を受けるANDゲート回路358と、ANDゲート回路358の出力信号を反転してページバッファ書込データND[15:0]を生成するインバータ359を含む。
複合論理ゲート回路353は、等価的に、インバータ351の出力信号とレジスタ回路348の出力データCDF[15:0]を受けるORゲート回路と、このORゲート回路の出力信号とインバータ352の出力信号とを受けるNANDゲートを含む。
論理ゲート回路357は、メタルスイッチ354の出力信号がLレベルのときにイネーブルされて、インバータ345の出力信号がHレベルのときには、ベリファイ結果信号CD[15:0]を選択して反転する。論理ゲート回路357は、メタルスイッチ354の出力信号がHレベルのときには、Hレベルの信号を出力する。
メタルスイッチ347は、MLC構成時、ページバッファ読出制御信号PBREADを選択し、メタルスイッチ354は、MLC構成時、複合論理ゲート回路353の出力信号を選択する。メタルスイッチ355は、MLC構成時、インバータ345の出力信号を選択する。
データセットアップ指示信号CDSETUPは、ページバッファへのデータのセットアップ(32ワードデータの書込)を行う時にLレベルに設定され、プログラムモード指示信号PPは、ベリファイ動作を含むプログラムモード時、Hレベルに設定される。プログラムモード指示信号PPがLレベルのときには、内部クロック信号T1に従って、レジスタ回路342が、外部からの入力データIOD[15:0]を取込み出力する。ここで、内部クロック信号T1は、この不揮発性半導体記憶装置へのアクセス時、外部からの制御信号に従って生成されるクロック信号であり、外部からのデータの入力サイクルを決定する。ページバッファへのデータのセットアップが行なわれておらず、またプログラムモードも設定されていない場合、インバータ344の出力信号はHレベルであり、レジスタ回路342からのデータが、NANDゲート回路346を介して反転して伝達される。
一方、プログラムモード時においては、レジスタ回路348が、ページバッファ読出制御信号PBREADに従ってベリファイ結果信号CD[15:0]を取込み、第1ベリファイ結果信号CDF[15:0]を生成する。レジスタ回路348は、ページバッファ読出制御信号PBREADがLレベルとなるとラッチ状態となる。したがって、このレジスタ回路348からは、1回目のセンス動作により読み出されたメモリセルデータに対するベリファイ結果を示す信号が出力される。
プログラムシーケンス指示信号SEQ_PRGは、プログラムベリファイ動作時、Lレベルに設定され、プログラム動作時に、Hレベルに設定される。したがって、ベリファイ動作時においては、インバータ352の出力信号はHレベルであり、ページバッファ読出制御信号PBREADがHレベルのときには、複合論理ゲート回路353の出力信号がHレベルとなる。一方、ページバッファ読出制御信号PBREADがLレベルとなり、2回目のメモリセルからの読出データに対するベリファイ結果が示されると、レジスタ回路348の出力データCDF[15:0]に従って、この複合論理ゲート回路353の出力信号の論理レベルが設定される。
ベリファイ動作時、プログラムモード指示信号PPおよびデータセットアップ指示信号CDSETUPはLレベルであり、NORゲート回路343の出力信号がHレベルとなり、インバータ344の出力信号がLレベル、インバータ345の出力信号がHレベルとなる。応じて、NANDゲート回路346の出力信号が全ビットHレベルに設定される。1回目のセンス動作により読み出されたメモリセルデータに対するベリファイ結果に対しては、ページバッファ読出制御信号PBREADがHレベルであり、複合論理ゲート回路353の出力信号がLレベルであるため、ゲート回路357の出力信号が、ベリファイ結果信号CD[15:0]に従って設定され、一方、NANDゲート回路356の出力信号はHレベルに設定される。したがって、ページバッファに対する書込データND[15:0]として、この1回目のベリファイ結果信号CD[15:0]が選択される。
一方、2回目のベリファイ動作時においては、第1のベリファイ結果信号CDF[i]が“0”でありベリファイ不良を示し、複合論理ゲート回路353の出力信号がHレベル(“1”)のときには、ページバッファデータPD[i]が選択される。一方、1回目のベリファイ結果信号CDF[i]がベリファイ正常を示し、データ“1”のときには、複合論理ゲート回路353の出力信号がLレベル(“0”)となり、ベリファイ結果信号CD[i]が選択される。
したがって、2回目のセンス動作時においては、書込デーND[15:0]は、ベリファイ正常のメモリセルに対してベリファイ結果信号に従ってデータ“1”が設定され、一方、ベリファイ不良のビットは、先に読出されたページバッファデータが再度格納され、ページバッファの格納データの書換が禁止される。
これにより、前述のベリファイ誤判定によるプログラム不良の問題の発生を停止することができる。
インバータ344の出力信号がHレベルであり、インバータ345の出力信号がLレベルのときには、NANDゲート回路356および論理ゲート回路357の出力信号はHレベルであり、入力データIOD[15:0]に従って書込データND[15:0]が生成される。これにより、外部データをページバッファに書込むことができる。
なお、このページバッファ書込データND[15:0]については、外部からの入力データIOD[15:0]を選択するモード時には、図21に示すレジスタ回路178へ与えられ、プログラムベリファイ時には、この書込データND[15:0]が、ページバッファに対する書込データDIN[15:0]およびDIN[31:16]に振分けられる構成が用いられてもよい。
なお、図21には明確に示していないが、このプログラムベリファイモード時においては、書込データND[15:0]を、図21に示す書込データDIN[15:0]およびDIN[31:16]に代えて選択する選択回路が設けられる。この選択回路は、たとえば、プログラムモード指示信号PPに従ってその選択経路が設定される。または、これに代えて、データセットアップ信号CDSETUPに従って、ビット位置変換後の外部書込みデータおよびベリファイ回路からの書込みデータの一方を選択してページバッファへ伝達する。書込データND[15:0]は、図21に示すページバッファに対するビット位置変換後の書込データDIN[15:0]に対応し、1回目の書込データND[15:0]および2回目のデータND[15:0]は、それぞれ、下位および上位データとして格納される。
また、プログラムモード指示信号PPおよびプログラムシーケンス制御信号SEQ_PRGは、プログラムモード時、CPUの制御の下に活性化される。
図40は、ベリファイセンスアンプ360の構成の一例を示す図である。図40においては、1つのメモリセルに対するベリファイセンスアンプ360の構成を示す。16ビットデータが読出されるため、この図40に示すベリファイセンスアンプ360が、16ビット配置される。
図40において、ベリファイセンスアンプ360は、電源ノードと内部ノードND1の間に接続されかつそのゲートが内部ノードND2の間に接続されるPチャネルMOSトランジスタ360aと、電源ノードと内部ノードND2の間に接続されかつそのゲートが内部ノードND2に接続されるPチャネルMOSトランジスタ360bと、ベリファイデータ読出線BDE上の信号と遅延センスアンプ活性化信号MLC_ATDSAとを受けるNANDゲート回路360dと、NANDゲート回路360dの出力信号に従ってノードND1とベリファイデータ読出線BDEを選択的に結合するNチャネルMOSトランジスタ360cと、内部ノードND2と接地ノードの間に直列に接続されるNチャネルMOSトランジスタ360eおよび360fを含む。MOSトランジスタ360eのゲートにバイアス電圧Vrefvが与えられ、MOSトランジスタ360fのゲートに、センスアンプ活性化信号MLC_ATDSAが与えられる。
ベリファイセンスアンプ360は、さらに、ベリファイ読出データ線BDEの電圧を反転してMOSトランジスタ360cのゲートへ与えるインバータ360dと、センスアンプ活性化信号MLC_ATDSAに従って内部ノードND1を電源電圧レベルにプリチャージするPチャネルMOSトランジスタ360gと、ストローブ制御信号ISTRBWと内部ノードND1上の信号とを受けて読出データRDを生成するNORゲート回路360hを含む。
メモリセルアレイにおいては、ベリファイ列選択信号CSLに従って選択的に導通するベリファイ列選択ゲート370と、ビット線BLと接地ノードの間に接続されかつそのゲートにワード線WLが接続されるメモリセルトランジスタ372とが設けられる。このメモリセルトランジスタ372は、フローティングゲートを有し、そのフローティングゲートの蓄積電荷量に応じて、そのしきい値電圧が設定される。
図41は、このメモリセル372のしきい値電圧と記憶データを各領域に対して発生される基準電圧の関係を示す図である。データ“11”を記憶するメモリセルのしきい値電圧領域は、下側しきい値電圧E1および上側しきい値電圧E2により決定される。データ“10”を記憶するメモリセルのしきい値電圧領域は、下側しきい値電圧V1と上側しきい値電圧PV1とにより決定される。データ“01”を格納するしきい値電圧領域は、下側しきい値電圧V2と上側しきい値電圧PV2とにより決定される。データ“00”を記憶するメモリセルのしきい値電圧領域に対しては、下側しきい値電圧V3のみが設定される。
メモリセルデータ読出時においては、基準電圧として、読出電圧R1、R2およびR3が、それぞれデータのしきい値電圧領域の境界領域に対してマージンを持って設定される。
図42は、図40に示すベリファイセンスアンプ360の動作を示すタイミング図である。以下、図42を参照して、簡単に、このベリファイセンスアンプ360の動作について説明する。
センスアンプ活性化信号MLC_ATDSAがLレベルのときには、MOSトランジスタ360gは導通状態にあり、内部ノードND1が電源電圧レベルにプリチャージされる。このとき、また、ベリファイ読出データ線BDEは、Lレベルであり、インバータ360dの出力信号はハイレベルであり、MOSトランジスタ360cが導通状態にあり、ベリファイデータ読出線BDEも、同様このプリチャージ用のMOSトランジスタ360eによりプリチャージされる。この時、ベリファイデータ線BDEの電圧レベルが上昇すると、インバータ360dの出力信号の電圧レベルが低下し、MOSトランジスタ360cのコンダクタンスが低下し、ベリファイ読出データ線BDEの電圧レベルの上昇が抑制される。従って、MOSトランジスタ360cがソースフォロアモードで動作し、ベリファイ読出データ線BDEの電圧レベルを、中間電圧レベルに維持する。
インバータ360dにより、MOSトランジスタ360cをソースフォロアモードで動作させることにより、ビット線電圧が上昇するのを防止する。これにより、ベリファイ時にデータ読出時に、メモリセルのドレイン高電界によるチャネルホットエレクトロンが発生するのを防止する。
センス動作期間は、補のストローブ制御信号ISTRBWにより設定される。ここで、信号ISTRBWおよびSTRBWは、互いに相補な信号である。補の信号は、論理ローレベルの時に活性化される信号を表す。センスアンプ活性化信号MLC_ATDSAが活性化されると、MOSトランジスタ360gが非導通状態となり、内部ノードND1のプリチャージが終了し、また、ベリファイ読出データ線BDEのプリチャージも終了する。
センス動作時に、並行して、ベリファイ列選択信号CSLも選択状態へ駆動され、選択メモリセル372が接続するビット線BLとベリファイデータ読出線BDEとが結合される。ワード線WLには、ベリファイ時の読出電圧が各動作モードに応じて設定される。ワード線電圧に応じて、基準電圧Vrefvの電圧レベルが設定される。
MOSトランジスタ360fが、センスアンプ活性化信号MLC_ATDSAの活性化に従って導通すると、MOSトランジスタ360b、360eおよび360fに電流が流れる。このMOSトランジスタ360bを流れる電流のミラー電流がMOSトランジスタ360aを流れ、MOSトランジスタ360cを介して参照電流Irefとして、ベリファイデータ読出線BDEへ供給される。このとき、また、インバータ360dの出力信号はハイレベルであり、MOSトランジスタ360cは導通状態にある。
メモリセルの記憶データに従って、セル電流Icellが流れる。このセル電流Icellが、参照電流Irefよりも大きければ、ベリファイデータ読出線BDEの電圧レベルが低下し、インバータの出力信号が、Hレベルとなり、MOSトランジスタ360cが深い導通状態となり、応じて、ノードND1の電圧レベルが低下し、NORゲート回路360hの出力信号RDが、このノードND1の電圧レベル(Lレベル)に応じた状態(“1”)に設定される。
セル電流Icellよりも参照電流Irefが大きい場合には、ベリファイデータ読出線BDEの電圧レベルは、低下せず、インバータ360dの出力信号はプリチャージ状態の時よりも低下し、ノードND1は、この参照電流Irefにより充電され、ほぼHレベルのプリチャージ状態を維持する。従って、この場合には、NOR回路360hからの出力信号はLレベルとなる。これにより、1回のメモリセルのデータの読出を実行される。
ベリファイ動作時においては、ワード線WLの電圧レベル(Vref)は1回目のセンス動作および2回目のセンス動作については、プログラムデータに従って変更され、応じて基準電圧Vrefvの電圧レベルも更新される。この場合、ベリファイ動作時においても、ワード線電圧を通常のデータ読出時と同様に読出電圧レベルに固定し、1回目のセンス動作結果のデータに従って基準電圧Vrefvの電圧レベルが設定されてもよい。このベリファイ動作時のワード線電圧のレベルの設定としては、いずれの方式が用いられてもよい。いずれの方式においても、参照電流Irefとセル電流Icellとの比較に基づいてセンス動作が行われる。図42においては、ワード線WLのベリファイ読出電圧が基準電圧Vrefに固定される様に示される。基準電圧Vrefの電圧レベルが各センス動作に応じて、変更されてもよい。
ワード線ベリファイ電圧が、プログラムデータのしきい値電圧に応じて変更される場合、基準電圧Vrefvも同様に変更されるため、セル電流Icellと参照電流Irefの関係は、1回目のセンス動作時および2回目のセンス動作時において同様である。この1回目のセンス動作と2回目のセンス動作の間のプリチャージ期間が短くても、ビット線BLの読出電圧の変化は小さく、またプリチャージ電圧レベルからの変化は小さいため、2回目のセンス時のプリチャージ期間が短くても、正確に、ビット線BLを読出電圧レベルのプリチャージして、2回目のセンス動作を行なうことができる。
また、図42に示すように、2回目のセンス動作時においては、ベリファイデータ読出データ線BDEの電圧レベルは、プリチャージ電圧レベルと異なるか不十分なプリチャージ電圧レベルの場合(電圧レベルが低下している場合)、この場合、さらに、内部ベリファイデータ読出データ線BDEの電圧レベルの変化方向は、電圧レベルが低下する方向であるため、センスアンプ活性化信号MLC_ATDSAの活性化期間が短くても、十分にセンス動作を行なうことができる。これにより、内部ノードND1のプリチャージ期間が短い場合においても、正確にベリファイ動作を実行することができ、また正確なセンス動作を2回目のセンス動作時においても行なうことができる。
ベリファイ動作時、バイアス電圧Vrefvは、CPUの制御の下に、その電圧レベルが設定される。
このベリファイ動作時におけるメモリセルデータの読出方式としては、ワード線電圧をメモリセルの最大しきい値電圧よりも高い電圧レベルに固定し、参照電圧Vrefvを、ベリファイ対象のしきい値電圧領域の上側しきい値電圧および下側しきい値電圧に対応する電圧レベルに設定されてもよい。第1回目のセンス動作時および第2回目のセンス動作時にそれぞれ切換えられてもよい。この場合でも、内部ベリファイデータ読出線BDEの電圧レベル変化は小さいため、十分正確に、センス動作を行なうことができる。ただし、この場合、セル電流Icellは、メモリセルのしきい値電圧が高くなれば、低減するため、参照電流Irefもしきい値電圧が高くなると低減される様に、その電圧レベルを設定する必要がある。
[ベリファイセンスアンプの変更例1]
図43は、ベリファイセンスアンプの変更例1の構成を概略的に示す図である。この図43に示すベリファイセンスアンプ360の構成においては、内部ノードND1をプリチャージするMOSトランジスタ360gのゲートにベリファイセンスプリチャージ信号VPRGが与えられ、センス動作を活性化するMOSトランジスタ360fのゲートに、ベリファイセンスアンプイネーブル信号VSAENが与えられる。
ベリファイ読出データ線BDEに対しては、補のストローブタイミング制御信号ISTRBWを受けるインバータ375の出力信号に応答して選択的に導通するNチャネルMOSトランジスタ376が設けられる。このMOSトランジスタ376は、導通時ベリファイ読出データ線BDEを接地電圧レベルにプリチャージする。この図43に示すベリファイセンスアンプ360の他の構成は、図40に示すベリファイセンスアンプの構成と同じであり、対応する部分には同一参照番号を付し、その詳細説明は省略する。
図44は、図43に示すベリファイセンスアンプ360の動作を示すタイミング図である。以下、図44を参照して、図43に示すベリファイセンスアンプの動作について説明する。
補のストローブタイミング制御信号ISTRBWは、ストローブ制御信号STRBWの反転信号であり、センス動作期間を決定する。センスアンプ動作時においては、補のストローブタイミング制御信号ISTRBWがHレベルからLレベルとなる。ベリファイデータ読出線BDEのMOSトランジスタ376によるプリチャージ動作が完了し、ベリファイデータ読出データ線BDEが接地電圧レベルでフローティング状態となる。
補のストローブタイミング信号ISTRBWがLレベルとなると、所定期間プリチャージ指示信号IBPRGがLレベルとなり、内部ノードND1が、MOSトランジスタ360gによりプリチャージされる。このプリチャージ動作時においては、MOSトランジスタ360cが、インバータ360dの出力信号に従って導通状態にありソースフォロアモードで動作するため、ベリファイ読出データ線BDEも同様、中間電圧レベルにプリチャージされる。
このプリチャージ動作が完了すると、ベリファイセンスアンプ活性化信号VSAENが活性化され(Hレベルとなり)、参照電圧Vrefvにより決定される参照電流Irefがベリファイ読出データ線BDEへ流れる。このときまた、図42に示すタイミングと同様にして、センスアンプ活性化時、列選択信号CSLがHレベルに立上がり、ビット線BLにセル電流Icellが流れる。このメモリセル372の駆動するセル電流Icellが、参照電流Irefよりも大きい場合には、ベリファイデータ読出線BDEの電圧レベルが低下し、また、負荷容量の小さい内部ノードND1の電圧レベルが急激に低下する。この内部ノードND1の電圧レベルの低下に従って、NORゲート回路360hからの読出データRDがHレベルとなり、データ“1”が読出される。
次いで、このセンスアンプ活性化信号VSAENが非活性化されると、同時にまたプリチャージ指示信号IVPRGがLレベルとなり、内部ノードND1のプリチャージ動作が実行される。このとき、プリチャージ指示信号IVPRGは、1回目の活性化期間よりもその活性化期間が短く、ベリファイ読出データ線BDEおよび内部ノードND1の電圧レベルは、完全には、電源電圧レベルには復帰せず、中間電圧レベルに維持される。このプリチャージ動作が完了すると、再び、ベリファイセンスアンプ活性化信号VSAENが活性化され、対応の参照電流Irefが供給される。参照電流Irefが、セル電流Icellよりも大きい場合には、内部ノードND1の電圧レベルが上昇し、データRDとして、データ“0”が読出される。
プリチャージ状態時におけるベリファイデータ線BDEの電圧レベルは中間電圧レベルであり、インバータ360dの出力信号は、Hレベルまたは中間電圧レベルであり、MOSトランジスタ360cは導通状態を維持する。
このセンス動作が完了すると、補のストローブタイミング制御信号ISTRBWがHレベルとなり、ベリファイセンスアンプ活性化信号VSAENが非活性化され、再びベリファイ読出データ線BDEの接地電圧レベルへのプリチャージが実行される。プリチャージ指示信号IVPRGはHレベルであり、内部ノードND1は、このMOSトランジスタ360cを介して、接地電圧レベルにプリチャージされる(インバータ360dの出力信号はHレベル)。
1回目のプリチャージ期間よりも2回目のプリチャージ期間が短い場合においても、メモリセル選択時のセル電流により、読出データ線BDEの電圧レベルの変化は小さいため、このプリチャージ期間が2回目において短い場合でも、十分に、所定の電圧レベル近傍の電圧レベルにまでプリチャージされる。
図45は、図43に示すベリファイセンスアンプに対する制御信号を発生する部分の構成の一例を示す図である。図45において、ベリファイセンスアンプ制御信号発生回路は、ストローブタイミング制御信号STRBWを受けるインバータ390と、ストローブタイミング制御信号STRBWを所定時間遅延する遅延回路391と、遅延回路391の出力信号をさらに遅延する遅延回路392と、インバータ390の出力信号を遅延する遅延回路393と、インバータ390の出力信号ISTRBWと遅延回路391の出力信号を受けるOR回路と、遅延回路392および393の出力信号を受けるOR回路395と、OR回路394および395の出力信号を受けてプリチャージ制御信号IVPRGを生成するAND回路396と、ストローブタイミング制御信号STRBWとAND回路396の出力信号を受けてベリファイセンスイネーブル信号VSAENを生成するAND回路397とを含む。
遅延回路391の遅延時間により、1回目のプリチャージ期間が決定され、遅延回路392および393により、2回目のプリチャージ期間が決定される。遅延回路3922より、1回目のセンス期間が決定される。2回目のセンス期間は、遅延回路392の出力信号とストローブタイミング制御信号STRBWとにより決定される。
センス動作時においては、ストローブタイミング制御信号STRBWがHレベルであり、AND回路397がバッファ回路として動作し、プリチャージ指示信号IVPRGに従ってベリファイセンスイネーブル信号VSAENを生成する。これにより、2回目のプリチャージ期間およびセンス期間をともに1回目のプリチャージ期間およびセンス期間よりも短いベリファイセンス動作を実現することができる。
[ベリファイセンスアンプの変更例2]
図46は、ベリファイセンスアンプの変更例2の構成を示す図である。図46において、ベリファイセンスアンプは、電源ノードとノードND10の間に接続されかつそのゲートがノードND11に接続されるPチャネルMOSトランジスタ400と、電源ノードとノードND11の間に接続されかつそのゲートがノードND11に接続されるPチャネルMOSトランジスタ401と、ノードND11にそれぞれ結合され、ゲートに基準電圧VREF1およびVREF2をそれぞれ受けるNチャネルMOSトランジスタ402、403および404と、MOSトランジスタ402−404と接地ノードの間にそれぞれ接続されるNチャネルMOSトランジスタ405、406および407を含む。NチャネルMOSトランジスタ405、406および407のゲートへは、それぞれ活性化信号ISAES、SAE_LおよびSAE_Uが与えられる。
ベリファイセンスアンプは、さらに、センス活性化信号TXLATDEをゲートに受け、導通時、ノードND10を電源電圧VddレベルにプリチャージするPチャネルMOSトランジスタ410と、センス活性化信号TXLATDEを受けるインバータ411と、インバータ411の出力信号とノードND10上の信号とを受けるNORゲート回路412と、NORゲート回路412の出力信号を受けるインバータ413と、インバータ413の出力信号を反転して内部読出データRDを生成するインバータ414と、補のセカンドセンスイネーブル信号ISAESの非活性化時(Hレベル)のとき導通し、インバータ413の出力信号を伝達する転送ゲート回路415と、この転送ゲート回路415を介して伝達されたインバータ413の出力信号をラッチするインバータラッチ回路416と、インバータラッチ回路416のラッチ信号と補のセカンドセンスイネーブル信号ISAESとを受けて上位センスイネーブル信号SAE_Uを活性化するNORゲート回路417と、補のセカンドセンスイネーブル信号ISAESとインバータラッチ回路416のラッチデータに従って下位センスイネーブル信号SAE_Lを生成するNORゲート回路418を含む。
インバータラッチ回路416は、インバータ413の出力信号を転送ゲート回路415を介して受けるインバータ416aと、このインバータ416aの出力信号を反転してインバータ416aの入力へ伝達するインバータ416bを含む。インバータ416aの出力信号がNORゲート回路417へ与えられ、インバータ416bの出力信号がNORゲート回路418へ与えられる。
ベリファイセンスアンプは、さらに、ノードND10とベリファイデータ伝達線BDの間に接続されるNチャネルMOSトランジスタ408と、ベリファイデータ伝達線BD上の信号を反転増幅してMOSトランジスタ408のゲートへ伝達するインバータ409を含む。インバータ409は、内部データ線BDの電圧レベルが上昇すると、MOSトランジスタ408のゲート電圧レベルを低下させ、このベリファイデータ伝達線VDの電圧レベルが電源電圧Vddレベルにまで上昇するのを防止する。これにより、ビット線に読出電流を供給するときに、ビット線電圧が上昇するのを防止し、ベリファイ読出時に、チャネルホットエレクトロンが生成されてメモリセルトランジスタに対する電子の注入(ソフトプログラム)が行なわれるのを防止する。
センスアンプ活性化信号TXLATDEは、ベリファイ時およびデータアクセス時のメモリセルのデータ読出時に活性化され、ベリファイ時には、先のセンスアンプ活性化信号ATDSAと等価な信号である。
この図46に示すベリファイセンスアンプのデータ読出時の動作を図47および図48を参照して説明する。今、図47に示すように、メモリセルの記憶データ“10”を読出す場合を考える。通常のデータ読出時においては、メモリセルのワード線へは、メモリセルのしきい値電圧分布よりもさらに高い電圧が印加され、メモリセルはすべて導通状態に設定される。メモリセルのしきい値電圧に応じて駆動電流量が異なる。しきい値電圧が高くなるほど、メモリセルの駆動電流量が小さくなる。
図46に示すベリファイセンスアンプにおいては、センス動作開始前、まずノードND10が、MOSトランジスタ4102より電源電圧レベルにプリチャージされる。ベリファイ読出データ伝達線BDは、所定電圧レベルにプリチャージされる(MOSトランジスタ408の電圧制限機能により設定される)。このプリチャージ動作が完了すると、セカンドセンスイネーブル信号ISAESがHレベルであるため、NORゲート回路416および418からの上位センスイネーブル信号SAE_Uおよび下位センスイネーブル信号SAE_LはともにLレベルである。したがって、MOSトランジスタ405が導通し、参照電圧VREF0に従って参照電流Irefが生成される。この参照電圧VREF0は、しきい値電圧の中間値の電圧レベルに設定される。メモリセルのしきい値電圧は、この参照電圧VREF0よりも低いため、セル電流Icellは、参照電流Irefよりも大きく、ベリファイ読出データ伝達線BDの電圧レベルが低下し、応じてノードND10の電圧レベルも低下する。補のセカンドセンスイネーブル信号ISAESは、Hレベルであるため、転送ゲート回路415が導通状態にあり、インバータ413からのLレベルの信号がインバータラッチ回路416によりラッチされる。
1回目のセンス動作が完了すると、補のセカンドセンスイネーブル信号ISAESがLレベルに低下し、応じてNORゲート回路418からの下位センスイネーブル信号SAE_LがHレベルに立上がる。このときまた、1回目のセンス動作および2回目のプリチャージ動作が行なわれていても、転送ゲート回路415は非導通状態にあるため、このラッチ回路416のラッチデータには影響は及ぼさない。しかしながら、この補のセカンドセンスイネーブル信号ISAESは、2回目のプリチャージ動作開始タイミングと同期して、Lレベルに駆動され、参照電圧の切換が行なわれてもよい(ただし2回目のプリチャージ動作によるラッチ回路416のラッチデータに悪影響を及ぼさないようにタイミング調整する必要がある)。
下位センスイネーブル信号SAE_Lにより、MOSトランジスタ406が導通し、基準電圧VREF1に従って参照電流Irefが生成される。この参照電流Irefは、メモリセルのしきい値電圧よりも低いしきい値電圧レベルに対応し、セル電流Icellよりも参照電流Irefが大きくなり、ノードND10は、プリチャージ電圧レベルに上昇し、インバータ414からの読出データRDがLレベル、すなわち“0”となる。したがって、データ“10”を正確に、ワード線電圧を固定して読出すことができる。
このデータ読出動作を利用して、ベリファイ動作を実行する。このベリファイ動作時において、参照電圧のレベルを変更する。このとき、ワード線電圧を、データ読出時と同じ読出電圧レベルに設定すると、同じシーケンスに従って、同様ベリファイ動作を行なってデータの読出を行なうことができる。
[ベリファイ動作シーケンスの変更例]
図49は、ベリファイ動作時のデータ読出動作を示す図である。この図49においても、データ“10”のプログラム状態を検証する場合のベリファイ参照電圧を示す。この場合、参照電圧REF0、REF1およびREF2として、データ“01”、“10”および“00”のしきい値電圧領域の各下側しきい値電圧レベルが利用される。まず最初に、参照電圧REF0として、データ“01”の下側しきい値電圧に対応する電圧が選択され、対応の参照電流Irefが生成される。ワード線ベリファイ電圧は、この場合、データ“10”の上側しきい値電圧レベルまたはそれよりマージンを持った電圧レベルである。この1回目のセンス動作時においては、基準参照電圧REF0は、データ“10”を記憶するメモリセルのしきい値電圧よりも高いしきい値電圧状態に対応する参照電流Irefを生成する。したがって、参照電流Irefは極めて小さい電流レベルである。一方、セル電流Icellは、ワード線ベリファイ電圧に従ってメモリセルが導通するため、そのセル電流Icellは、参照電流Irefよりも大きいため、データ“1”が最初のセンス動作時に読出される。
最初のセンス動作に従って、次いで基準電圧REF1として、データ“10”の下側しきい値電圧に対応するセル電流を供給する電圧レベルが選択される。この参照電圧REF1は、データ“10”を記憶するメモリセルのセル電流Icellよりも大きな参照電流Irefを生成するため、データ“0”が2回目のベリファイ動作時読出される。データ“11”を記憶するメモリセルにおいては、この2回目のセンス動作時においては、参照電流Irefよりも大きな電流を駆動するため、データ“1”が読出される。
データ“01”のベリファイ時においては、ワード線ベリファイ電圧が、データ“01”および“00”のしきい値電圧の間の電圧レベルに設定される。参照電圧としては、データ“10”および“01”の間の電圧と同じ電圧レベルのしきい値電圧が駆動する電流を、参照電流として生成する参照電圧が用いられる。データ“01”については、セル電流Icellよりも参照電流Irefが大きいため、データ“0”が第1回目のセンス動作時に読出される。データ“11”および“10”を記憶するメモリセルについては、セル電流Icellが、参照電流Irefよりも大きいため、データ“1”が読出される。したがって、1回目のセンス動作時においてデータ“0”が読出されると、次いで、2回目のセンス時においては、ワード線電圧と同じ電圧レベルの例えば参照電圧REF2が選択される。この場合、データ“01”を記憶するメモリセルにおいては、セル電流Icellが、参照電流Irefよりも大きくなるため、データ“1”が出力される。データ“00”を記憶するメモリセルにおいては、セル電流Icellが参照電流Irefよりも小さいため、データ“0”が読出される。この場合、データ“10”を記憶するメモリセルのデータについても“1”が読出される。しかしながら、プログラム動作時においては、しきい値電圧を順次上昇させる様にプログラム動作が行われており、データ“10”を記憶するメモリセルについてはベリファイ動作が完了しており、ページバッファにおいてはベリファイ完了のデータビット“1”が格納されており、特に問題は生じない。ベリファイ対称のメモリセルのデータが正確に読み出すことができればよい。
これにより、ワード線ベリファイ電圧が、ベリファイデータに応じてその電圧レベルが固定される場合においても、正確にデータの読出を行なってベリファイ動作を実行することができる。
なお、ワード線電圧を参照電圧に応じて変更するまたは、データアクセス時のワード線読出電圧レベルに設定することにより、これらのベリファイセンスアンプを用いて、ページバッファのデータの書換が行なわれない一般的なベリファイ動作時においても、正確なメモリセルデータの読出をシーケンシャルセンス方式に従って行なうことができる。
この図46に示すベリファイセンスアンプは、ベリファイ用のセンスアンプとして説明している。しかしながら、外部へのデータ読出時のデータ読出用のセンスアンプとしても利用することができる。また、データ読出用のセンスアンプおよびベリファイ用のセンスアンプが共用されてもよい。
[参照電圧発生部の構成]
図50は、参照電圧VREF0からVREF2(VREF0−2)を発生する部分の構成を概略的に示す図である。図50において、この不揮発性半導体記憶装置においては、メモリセルアレイ500と、メモリセルアレイ500のメモリセルを選択するメモリセル選択回路502が設けられる。メモリセルアレイ500においては、フローティングゲート型電界効果トランジスタでメモリセルMCが構成され、メモリセルMCが行列状に配列される。各行に対応してワード線が配置され、各列に対応してビット線が配置される。図50においては、メモリセルアレイ500内の1つのメモリセルMCと、それに接続されれるワード線WLを代表的に示す。
メモリセル選択回路502は、メモリセル行選択回路およびメモリセル列選択回路を含む。列選択回路は、通常のデータアクセス時のデータ読出列選択回路と、ベリファイ用の列選択回路とが別々に設けられてもよく、また、ベリファイ用およびデータ読出用の列選択回路が共有されてもよい。また、データ書込み用のライトドライバの出力信号を選択ビット線に転送する書込列選択回路とデータ読出用の列選択回路とが別々に設けられてもよい。プログラム時において、ベリファイおよびプログラムはベリファイ用の列選択回路を利用して行われ、データ読出がデータ読出列選択回路により選択ビット線を、内部読出データ線を介してセンスアンプに接続することにより行われてもよい。従って、列選択回路の構成は、アレイの構成に応じて適宜定められる。
このメモリセルアレイ500に対し、センスアンプ回路504が設けられる。このセンスアンプ回路504は、ベリファイ用のセンスアンプおよびデータ読出用のセンスアンプをそれぞれ含んでもよい。バンク構成時において、メモリセルアレイのデータを読出す外部読出用のセンスアンプが各バンクに共通に設けられ、メモリセルアレイのバンクそれぞれにベリファイ用センスアンプが配置されてもよい。したがって、このセンスアンプ回路504の構成もまた、メモリセルアレイ500の構成に応じて適当に定められる。
このメモリセルアレイ500に対応して参照電圧発生アレイ510と、この参照電圧発生アレイ510の発生する参照電圧VREF0−VREF2の電圧レベルを設定する参照電圧設定回路512が設けられる。参照電圧発生回路510は、メモリセルアレイ500に含まれるメモリセルMCと同様の構成のメモリセルを配置して構成される。参照電圧発生アレイ510における選択メモリセルを流れる電流に基づいて参照電圧を生成する。参照電圧発生アレイ510およびメモリセルアレイ500は、同じメモリセル構造を有しており、メモリセルアレイ500のメモリセルの特性のばらつきを、参照電圧発生アレイ510の発生する参照電圧に反映させることができ、正確に参照電圧を発生することができる。この参照電圧発生アレイ510の発生する参照電圧は、センスアンプ回路504の参照電圧のみならず、ベリファイ時に選択ワード線がしきい値電圧レベルに対応するベリファイ読出電圧に設定される場合のベリファイ読出電圧としても利用される。
参照電圧設定回路512は、図示しないCPU(図4参照)からの制御の下に、動作モードに応じて、この参照電圧発生アレイ510の発生する参照電圧VREF0−VREF2の電圧レベルを設定する。
図51は、図50に示す参照電圧発生アレイ510の構成の一例を概略的に示す図である。図51において、参照電圧発生アレイ510は、参照電圧VREF0−VREF2にそれぞれに対応して設けられる参照電圧アレイブロックRFBK0−RFBK2を含む。これらの参照電圧アレイブロックRFBK0−RFBK2は、同一構成を有するため、図51においては、参照電圧アレイブロックRFBK0の構成を代表的に示す。
参照電圧アレイブロックRFBK0(RFBK1およびRFBK2)は、複数のメモリブロックMBK0−MBKnを含む。これらのメモリブロックMBK0−MBKnとして、16個から32個のメモリブロックが設けられる。メモリブロックMBK0−MBKnは同一構成を有するため、図51においては、1つのメモリブロックMBK0の構成を代表的に示す。これらのメモリブロックMBK0(MBK1−MBKn)に対して、メインビット線MBLが配設される。このメインビット線MBLに対して、メモリブロックMBK0においては、4つのサブビット線SBL0−SBL3が配設され、これらのメインビット線MBLおよびサブビット線SBL0−SBL3と交差する方向に参照ワード線RWLが配設される。サブビット線SBL0−SBL3は、それぞれ選択ゲートCG0−CG3を介してメインビット線MBLに結合される。これらの選択ゲートCG0−CG3は、サブビット線選択信号SG0−SG3に従って選択的に導通する。サブビット線の両側に、サブビット線を選択するゲートCG0−CG3を配置することにより、選択ゲートCG0−CG3のピッチを緩和する。
参照ワード線RWLとサブビット線SBL0−SBL3の交差部に対応して、メモリセルMCと同一構成のフローティングゲート型の参照セルRC0−RC3が配置される。これらの参照セルRC0−RC3は、それぞれそのしきい値電圧が異なる。
メモリブロックMBK0−MBKnのそれぞれのメインビット線MBLに対して、列選択信号Yに応答して導通する列選択ゲートYGと、上位/下位アレイマット選択信号CAUを受けるマット選択信号CAUとメインビット線の電圧レベル上昇を抑制させるためのバイアス電圧BIASを受けるバイアストランジスタBTと、電源ノードとバイアストランジスタBTの間に接続されかつそのゲートとのドレインが相互接続されるPチャネルMOSトランジスタ(絶縁ゲート型電界効果トランジスタ)PTが直列に接続される。
列選択ゲートYG、マット選択ゲートBG、バイアストランジスタBTが接続される構成は、メモリセルアレイ500において、メインビット線MBLに対して設けられる構成と同じであり、メモリセルアレイ500においては、このバイアストランジスタBTを介して、メインビット線が内部データ読出線(またはベリファイデータ線)に結合される。
参照電圧アレイブロックRFBK(RFBK1,RFBK2)は、さらに、ゲートに電源電圧を受けて導通するダミーゲートトランジスタYGRと、ゲートおよびドレインが相互接続される電流/電圧変換用の参照電圧発生トランジスタBGRと、バイアス電圧BIASをゲートに受けるバイアストランジスタBTRと、各メモリブロックのMOSトランジスタPT(電流源トランジスタ)の各ゲートとそのゲートとが共通に接続される電流源トランジスタPTRを含む。トランジスタYGR、BGRおよびBTR、YG、BGおよびBTは、NチャネルMOSトランジスタで構成され、電流源トランジスタPTRが、PチャネルMOSトランジスタで構成される。MOSトランジスタYGR、BGR、BTRおよびPTRが直列に接続される。
MOSトランジスタ(電流源トランジスタ)PTおよびPTRのサイズ比が適当な値に調整される。
この参照アレイブロックRFBK0−RFBK2は、図51においては別々のブロックに配置されるように示される。しかしながら、これらの参照アレイブロックRFBK0、RFBK1およびRFBK2は、参照ワード線RWLを共有するように配置され、それぞれ異なるメインビット線の組を含むように配置されてもよい。
図52は、図51に示す参照セルRC0−RC3の構成の一例を示す図である。この図52に示すように、参照セルRC0−RC3が、メモリセルMCと同一構成のフローティングゲート型トランジスタで構成され、そのしきい値電圧Vthが、発生する参照電圧のレベルに応じて調整される。このしきい値電圧Vthとしては、メモリセルの記憶データに応じたしきい値電圧が用いられてもよい。
図53は、図51に示す電流源トランジスタPTおよびPTRのサイズ比を概略的に示す図である。図53に示すように、メモリブロックMBK0−MBKnそれぞれに対して設けられる電流源トランジスタPTと参照電圧発生用の電流源トランジスタPTRのサイズ比が、1:1/(n+1)に設定される。電流源トランジスタPTおよびPTRは、電流源トランジスタPTをマスタトランジスタとするカレントミラー回路を構成するため、メモリブロックMBK0−MBKnの電流源トランジスタPTを流れる電流の合計の電流の1/(n+1)倍の電流が、電流源トランジスタPTRを介して流れる。したがって、メモリブロックMBK0−MBKnに対する電流源トランジスタPTがそれぞれ電流I0−Inを生成する場合、参照電圧発生用の電流源トランジスタPTRの生成する電流Irは、(I0+…+In)/(n+1)となる。メモリブロックMBK0−MBKnにおける参照セルRC(RC0−RC3)のしきい値電圧のばらつきを平均化して、所望の安定なレベルの参照電流Irを生成して、参照電圧VREFを生成することができる。
選択信号SG0−SG3を動作モードに応じて設定することにより、参照セルRC0−RC3のうちの動作モードに応じた参照電流を生成する参照セルが選択され、応じて、参照電流Irの電流レベルが動作モードに応じた電流レベルに設定され、応じて参照電圧VREFの電圧レベルを設定することができる。この参照電圧VREF0−2を前述の図40以降に示すセンスアンプに対する参照電圧として利用することができ、また、ワード線がしきい値電圧に応じたベリファイ電圧に設定される場合に、ワード線に伝達される参照電圧として利用することができる。
同一の回路構成で、各動作モード、すなわちデータ読出モード、プログラムおよび消去ベリファイ時の参照電流を生成することができ、制御が容易となり、また回路占有面積を低減することができる。
なお、この図51に示す参照電圧発生部の構成は、MLC構成のみならず、SLC構成時のセルアレイに対する参照電圧を発生する回路としても利用することができる。
[参照電圧発生部の変更例1]
図54は参照電圧発生部の変更例1の構成を概略的に示す図である。図54においては、参照電圧REF2、REF0およびREF1それぞれに対応して、参照ワード線RWL2、RWL0およびRWL1が設けられる。これらの参照ワード線RWL0−RWL2へは、参照ワード線駆動電圧発生回路520からの駆動電圧DIVW0−DIVW2が与えられる。この参照ワード線駆動電圧発生回路520は、ワード線読出電圧VBOOSTを、供給するノードに結合され、活性化信号/ENに従って選択的に導通するPチャネルMOSトランジスタで構成される活性化トランジスタ520aと、活性化トランジスタ520aと接地ノードの間に直列に接続される抵抗素子RZ1−RZ4を含む。
これらの抵抗素子RZ1−RZ4それぞれの接続ノードから、分圧電圧DIVW2、DIVW0およびDIVW1が生成され、参照ワード線RWL2、RWL0およびRWL1へそれぞれ駆動電圧として供給される。
ワード線読出電圧VBOOSTは、図示しない内部電圧発生回路から動作モードに応じて発生され、メモリセルアレイ500のデータ読出アクセス時の選択ワード線に伝達される電圧であり、多値データの最高しきい値電圧よりも高い電圧レベルに設定される。ベリファイ動作時にワード線が読出電圧VBOOSTレベルに設定されてもよい。
参照ワード線RWL2、RWL0およびRWL1には、それぞれ参照セルRCA、RCBおよびRCCが接続され、それぞれサブビット線SBLA、SBLBおよびSBLCに接続される。これらのサブビット線SBLA−SBLCは、それぞれ選択ゲートCGA−CGCを介してメインビット線MBLA−MBLCに結合される。これらの選択ゲートCGA−CGCは、選択信号SGENに従って共通に導通状態となる。
メインビット線MBLA−MBLCは、カレントミラー型回路530a−530cに結合される。カレントミラー型回路530a−530cは、それぞれ、対応のメインビット線MBLA−MBLCを流れる電流のミラー電流を電圧に変換して参照電圧VREF2、VREF0およびVREF1を生成する。
参照セルRCA−RCCは、それぞれ、同じしきい値電圧を有し、消去状態にある。したがって、対応のワード線上に伝達される分圧電圧DIVW0−DIVW2に従って駆動電流が変更される。応じて、参照ワード線駆動電圧発生回路520からの駆動電圧DIVW0−DIVW2に従って、対応する参照電圧VREF0−VREF2を生成することができる。
なお、メインビット線MBLA−MBLCは、図51に示す参照アレイブロックRFBK0−RFBK2それぞれのメインビット線MBLの集合体であってもよく(この場合平均電流に基づいて参照電圧が生成される)、また、単体のメインビット線であってもよい(平均電流は生成されない)。
図51に示す参照アレイブロックRFBK0−RFBK2を利用する場合、カレントミラー型回路530a−530cは、トランジスタYGR、BGR、BTRおよびPTRの構成に対応する。ワード線上に伝達される読出電圧VBOOSTを分圧することにより、必要とされる参照電圧VREF0−VREF2を生成することができる。
なお、活性化信号/ENは、データアクセスまたはベリファイ時の参照電圧を必要とする動作モード時に活性化される。プログラムベリファイおよび消去ベリファイ時に発生される別の電圧レベルの参照電圧は、また別の参照セルから生成される。選択ゲートCGA−CGCを複数組設け、選択信号に従って、必要とされる参照電圧を選択する。
また、参照ワード線駆動電圧発生回路520と同様の構成で抵抗の分圧比の異なる回路を並列に設けて、参照ワード線駆動電圧DIVW0−DIVW2を生成することにより、プログラム時およびイレーズ時のベリファイ電圧に必要とされる参照電圧を生成することができる。
また、同一の参照ワード線RWLに、しきい値電圧の異なる参照メモリセルを接続し、1つの選択参照ワード線から複数の参照電圧を生成する構成が用いられてもよい。各参照ワード線を動作モードに応じて選択し、動作モードに応じた複数の参照電圧を生成する。この場合、図51に示す構成において、参照ワード線RWLに分圧電圧DIVWが駆動電圧として供給されてもよい。
図55は、図54に示すカレントミラー型回路530a−530cの構成の一例を示す図である。これらのカレントミラー型回路530a−530cは、同一構成を有するため、図55においては、これらのカレントミラー型回路530a−530cをカレントミラー型回路530で代表的に示す。
カレントミラー型回路530は、電源ノードとノードND20の間に接続されかつそのゲートがノードND20に接続されるPチャネルMOSトランジスタ535と、ノードND20とノードND22の間に接続されるNチャネルMOSトランジスタ536と、ノードND22の電圧レベルを反転してMOSトランジスタ536のゲートへ伝達するインバータ537と、ノードND22とメインビット線MBL(MBLA−MBLC)の間に接続されかつそのゲートが電源ノードに接続されるダミーYゲートとして機能するNチャネルMOSトランジスタ538と、電源ノードとノードND24の間に接続されかつそのゲートがノードND20に接続されるPチャネルMOSトランジスタ539と、ノードN24と接地ノードの間に直列に接続されるNチャネルMOSトランジスタ540および541を含む。
MOSトランジスタ540は、ゲートがノードND24に接続され、電流/電圧変換素子として機能し、参照電圧VREF(VREF0−VREF2)を生成する。MOSトランジスタ541は、そのゲートに活性化信号ENを受け、この参照電圧VREFを発生するタイミングでカレントミラー型回路530a−530cを活性化する。
カレントミラー型回路530においては、MOSトランジスタ535および539が、MOSトランジスタ535をマスタとするカレントミラー回路を構成しており、メインビット線MBLを流れる電流のミラー電流をMOSトランジスタ539が生成する。MOSトランジスタ540が、このMOSトランジスタ539から供給されるミラー電流を電圧に変換して参照電圧VREFを生成する。したがって、メインビット線MBLから対応の参照セルRCA−RCCを流れる電流に対応する参照電圧が正確に生成される。特に、このカレントミラー型回路530は、先の図43および図46に示すように、センスアンプと同様の構成を有しており、センスアンプにおける参照電流の抵抗成分における変動量を正確に反映して(補償して)、参照電圧VREFを生成することができる。
なお、図55に示す構成においても、MOSトランジスタ538へは、図51に示すように、電流源トランジスタPTRが生成する平均電流が供給されてもよい。電流源トランジスタPTRをMOSトランジスタ538に接続するまたはノードND22に接続する。参照セルの特性を平均化して、参照電圧VREFを生成することができる。
[参照セルの変更例]
図56は、参照セルRCの変更例を示す図である。この図56に示す参照セルRCの構成においては、コントロールゲートCGとフローティングゲートFGが相互接続され、共通に、分圧電圧(駆動電圧)DIVWが供給される。メモリセルトランジスタと同一構造のトランジスタのコントロールゲートCGとフローティングゲートFGを相互接続することにより、積層ゲートメモリセルトランジスタを、単一ゲーとMOSトランジスタとして動作させることができ、メモリセルトランジスタの特性を反映して分圧電圧DIVWに従って参照電流を生成することができる。
参照セルRCのしきい値電圧は、ずべての参照セルについて同じであっても、等価的に、分圧電圧DIVWによりしきい値電圧の調整が実現され、駆動電流が調整される。また、必要とされる参照電圧に応じて調整されてもよい。この場合、参照セルの駆動電流が、分圧電圧DIVWおよび参照セルのしきい値電圧とに従って決定され、より多くの種類の参照電圧を生成することができる。
図56に示す参照セルRCは、図51に示す参照電圧発生アレイブロックRFBK0−2内に配置されてもよい。また、参照セルRCのサイズが、生成する参照電圧に応じて異ならされていてもよい。
[参照セルの変更例2]
図57は、参照セルRCの変更例2の構成を示す図である。図57において、参照セルRCは、単一ゲートのMOSトランジスタ550で構成される。このMOSトランジスタ550はフローティングゲートを有さず、コントロールゲートのみを有する。MOSトランジスタ550のサイズ、すなわち、チャネル幅とチャネル長の比、W/Lを、参照電圧VREFに応じて設定する。
参照ワード線RWLには、ワード線読出電圧VBOOSTの分圧電圧DIVWまたは適当な参照ワード線選択電圧を供給することにより、参照電圧VREFに応じて駆動電流が異なり、対応の参照電圧を生成することができる。
したがって、この図57に示すMOSトランジスタ550を、図51に示す参照セルRC0−RC3として、それぞれサイズ(W/L)を異ならせて配置することにより、参照セルのしきい値電圧が全て同一であっても、MLC構成時およびSLC構成時における必要な参照電圧を生成することができる。
この図57に示す参照セルRCの構成の場合、参照セルRCを構成するMOSトランジスタ550を、メモリセルアレイの列選択ゲートなどの周辺トランジスタを作成時同一工程で作成することにより、製造工程を増加させることなく、各参照電圧に応じたサイズを有するMOSトランジスタを生成することができる。
[読出/出力回路の構成]
図58は、図4に示す読出/出力回路11の構成を概略的に示す図である。図58において、不揮発性半導体記憶装置は、データ読出時活性化され、外部からのアドレスビットAA[23:0]から内部読出アドレスビットAE[23:0]を生成する読出アドレス発生回路600と、読出アドレス発生回路600からの内部アドレスビットAE[23:5]に従ってメモリセルアレイ10のメモリセル行を選択するメモリセル行選択回路602と、読出アドレス発生回路600からの内部読出アドレスビットAE[4:3]に従ってメモリセルアレイの列選択およびデータ読出動作を制御する読出列選択制御回路606と、この読出列選択制御回路606の制御の下に、メモリセルアレイ10の選択メモリセル行からメモリセル列を選択してデータを読出すデータ読出回路604と、データ読出回路604から読出されたデータを順次転送して16ビットD[15:0]を生成するデータ転送出力回路608と、読出アドレス発生回路600からの内部読出アドレスビットAE[23]およびAE[1:0]に従ってデータ転送出力回路608のデータ転送ビットおよびデータ転送動作を制御する転送/出力ビット選択制御回路610を含む。
データ読出回路604は、128ビットの内部出力データバスを介してデータ転送出力回路608に結合される。このデータ転送出力回路608は、128ビットの内部出力データバスから、16ビットのデータバスを介して転送されるデータを選択して最終16ビットデータD[15:0]を生成する。
メモリセル行選択回路602は、データ書込み時においても用いられ、データ書込み時においては、内部アドレスAO[22:0]に従って行選択動作を実行する。
読出列選択制御回路606へは、ページモード指示信号PAGEが与えられる。通常動作モード時においては、データ読出回路604においては、アドレス信号に従って、ランダムなシーケンスで16ビットのメモリセルデータが読出される。一方、ページモード時においては、このデータ読出回路604からは、連続4アドレスから8ワード(128ビット)のデータが読出され、データ転送出力回路608において順次1/8選択が行なわれて、16ビットデータが生成される。メモリセルアレイ10においては、MLC構成で、データが格納される。
図59は、図58に示すデータ読出回路604およびデータ転送出力回路608の構成を概略的に示す図である。図59において、データ読出回路604は、ブロックBAL[0]およびBAL[1]それぞれに対応して設けられる列選択ゲート回路(YG)620uおよび620lと、内部アドレスビットAE[4:3]とブロック列選択信号BALY[1]とに従って列選択ゲート回路620uに対する1/4列選択信号CLAおよびCLBを生成するデコーダ622uと、内部アドレスビットAE[4:3]およびブロック列選択信号BALY[0]に従って列選択ゲート回路620lに対する1/4列選択信号CLAおよびCLBを生成するデコーダ622lを含む。
列選択ゲート回路620uに対しては、メインビット線MLB[1023:512]が配設され、列選択ゲート回路620lに対しては、メインビット線MBL[511:0]が配設される。列選択信号BLY[1]およびBLY[0]は同じ論理の信号であり、デコーダ622uおよび622lは、それぞれ1/8選択を行なって、512メインビット線MBLから64本のメインビット線を選択する。列選択ゲート回路620uは、内部読出データ線BDE[127:64]に選択メインビット線を結合し、列選択ゲート回路620lは、選択された64メインビット線を、内部読出データ線BDE[63:0]に結合する。
この128ビットの内部読出データ線BDE[127:0]に対し、それぞれ32ビット幅のセンスアンプ回路(SA)625−628が設けられる。センスアンプ回路625は、内部読出データ線BDE[31:0]上のデータを選択信号SE[3:0]に従って活性化されてセンス動作を行って、内部出力データ線ODE[31:0]に読出データを伝達する。センスアンプ回路626は、内部読出データ線BDE[63:32]のデータを、センス選択信号SE[3:0]に従って活性化時センス動作を行って、32ビットの読出データを内部出力データ線ODE[63:32]に伝達する。センスアンプ回路627は、センス活性化信号SE[7:4]に従って活性化され、活性化時、内部読出データ線BDE[95:64]上のデータをセンスして、内部出力データ線ODE[95:64]に読出データを伝達する。センスアンプ回路628は、内部読出データ線BDE[127:96]上のデータに対してセンス選択信号SE[7:4]に従って活性化されてセンス動作を行って読出データを生成して内部出力データ線ODE[127:96]に伝達する。
センスアンプ回路625−628の各々は、先の図46において示したセンスアンプと同様のセンスアンプを32個有する。
データ転送出力回路608は、上位バイトデータDD[8:15]を出力する上位転送/出力回路608Uと、下位8ビットデータDD[7:0]を生成する下位転送/出力回路608Lを含む。
上位転送/出力回路608Uは、転送制御信号ODELCSの活性化時活性化されて、内部出力データ線ODE[63:0]のデータを転送するバッファ回路631と、転送制御信号ODELC2Sの活性化時、内部出力データ線ODE[127:64]の64ビットデータを転送するバッファ回路633と、バッファ回路631および633の出力データをラッチするラッチ回路635uと、選択信号SEL[7:0]に従ってラッチ回路の64ビットデータから8ビットデータを選択するデータ選択回路636uと、スペアヒット指示信号HITに従って選択的にスペアデータRDESPとデータ選択回路636Uからの内部データIDE[8:15]の一方を選択するスワップ回路637uと、転送出力制御信号LOECUTに従って出力データDD[8:15]を生成する出力バッファ638uを含む。
スペアデータは、メモリアレイにおいて不良セルを置換により救済するための冗長セルが配置されており、不良セルの選択時にスペアヒット信号HITが活性化されて、選択メモリセルデータが、冗長セルからのデータRDESPと置換される。この冗長セルの配置等については示していない。
下位転送/出力回路608Lは、転送制御信号ODELCFの活性化時活性化され、内部出力データ線ODE[63:0]のデータを転送するバッファ回路630と、転送制御信号ODELC2Fの活性化時活性化され、内部出力データ線ODE[127:64]の63ビットデータを転送するバッファ回路632と、バッファ回路630および632の転送データをラッチする64ビットのラッチ回路635lと、データ選択信号SEL[7:0]に従ってラッチ回路635lの64ビットデータから8ビットデータを選択するデータ選択回路636lと、スペアヒット信号HITに従ってデータ選択回路636lの出力データID[7:0]とスペアデータRDESPの一方を選択して出力するスワップ回路637lと、出力制御信号LOECUTに従ってスワップ回路637lの8ビット出力データをバッファ処理してデータDD[7:0]を生成する出力バッファ回路638lを含む。
ブロックBAL[1]は、内部アドレスビットAE[2](AA[23])が“1”の領域に対応し、ブロックBAL[0]は、内部アドレスビットAE[2]が“0”の領域に対応する。ブロックBAL[0]およびBAL[1]それぞれにおいて、同一アドレスの16ビットメモリセルに、外部2ワードのデータが格納される。このデータの格納時においては、上位バイト領域および下位バイト領域において、上位ワードおよび下位ワードが格納される。
図58に示す読出アドレス発生回路600は、外部からのアドレスビットAA[23]を内部読出列アドレスビットAE[2]に変換し、外部からのアドレスビットAA[2]を、内部読出列アドレスビットAE[23]に割当てている。この内部読出列アドレスビットAE[2]を用いて、ブロックBAL[1]およびBAL[0]の選択を実行する。選択ブロックにおける16ビットワードの下位バイトデータおよび上位バイトデータを、この選択ブロックに対して設けられる2組のセンスアンプ回路により検出する。
図60は、図59に示す読出回路604およびデータ転送出力回路608の動作を示すタイミング図である。以下、図60を参照して、この図59に示す回路の動作について説明する。
図59に示すデータ読出/出力回路は、16ビットデータをランダムなシーケンスで選択するランダムアクセスモードと、連続アドレスにおける8ワードを連続的に読出すページモードとを有する。ページモード動作およびランダムアクセスモード動作においては、同時に活性化されるセンスアンプの数が異なるだけであり、メモリセルデータの読出/転送シーケンスはこれらの両モードにおいて同じである。いずれの場合においても、シリアルセンス方式に従って、メモリセルの記憶する多値データが読出される。以下、ページモード時のデータ読出動作について説明する。
図60に示すように、外部からのデータデータ読出コマンドに従って、コマンドユーザインターフェイスからのデータ読出アクセス指示ICEがLレベルとなると、そのときの外部アドレスAA[23:0]に従ってメモリセルの選択動作が開始される。まず、センスアンププリチャージ指示信号ATDEEに従ってセンスアンプ回路625−628において内部ノードの電源電圧レベルへのプリチャージが実行される。このプリチャージ動作時において、列選択動作がデコーダ622lおよび622uにより行なわれ、それぞれ、列選択ゲート回路620lおよび620uが、1/8選択動作を行ない、64本のメインビット線MBLを選択し、内部読出データ線BDE[127:0]に接続している。この選択メインビット線に対し、活性化されたセンスアンプによるプリチャージ動作が実行され、列選択ゲート回路620lにより選択されたメインビット線へプリチャージ電流が供給され、メインビット線がそれぞれ所定の読出電圧レベルとなる。
プリチャージ動作が完了すると、センスアンプ回路625−628において、内部アドレスビットAE[2](=AA[23])に従ってセンス活性化信号SE[3:0]およびSE[7:4]の一方の組が活性化される。今、図59に示すように、内部アドレスビットAE[2]が“0”であり、センスアンプ活性化信号SE[3:0]が活性化された状態を考える。
プリチャージ動作が完了すると、センスアンプが活性化され、参照電流を選択メインビット線を介して選択メモリセルへ供給し、参照電流とセル電流との比較により、データの読出が行なわれる。このプリチャージ指示信号ATDEEの非活性化に従って、データ転送制御信号ODELCFが活性化され、バッファ回路630が、センスアンプ回路625および626からの64ビットセンスデータをラッチ回路635lに転送する。
続いて、列選択活性化信号CYDENに従って列選択動作が行われ、データ選択信号SEL[7:0]の1つが選択状態へ駆動され、データ選択回路636lから、8ビットデータRDE[7:0]が出力され、スワップ回路637lを介して内部出力データIOD[7:0]が生成される。図60においては、代表的に内部出力データビットOID[4]を示す。
1回目のセンス動作が完了すると、出力データ転送制御信号ODELCFが非活性状態となり、バッファ回路630が非活性化され、ラッチ回路635lは、与えられたデータをラッチする状態となる。また、列選択活性化信号CYDENも非活性化され、データ選択信号SEL[7:0]がすべて非活性化される。この1回目のセンス動作により、16ビットメモリセルにおいて格納される連続2ワードの下位バイトデータが読出され、従って、連続アドレスの8ワードの各バイトデータが読み出される。
再び、プリチャージ活性化信号ATDEEが活性化され、2回目のプリチャージ動作が選択メインビット線およびセンスアンプに対して実行される。このプリチャージ動作時において、出力転送制御信号ODELCSが活性化され、バッファ回路631が活性化され、センスアンプ回路625および626の出力データをラッチ回路636uに転送する。そのプリチャージ動作期間中に、列選択活性化信号CYDENの活性状態に従って、データ選択回路636uが列選択動作を実行するため、スワップ回路637uからの内部データビットIOD[8:15]が1回目のセンス動作時に読出されたデータに対応した状態に設定される。図60においては、データビットIOD[11]の変化を代表的に示す。
列選択活性化信号CYDENが非活性化されると、データビットIOD[11]は非選択状態となる。データビットIOD[4]も同様、データ選択回路636lの出力信号が非活性化されるため、Lレベルに低下するが、図60においては、この下位データブロック608Lの出力データビットを示すため、持続的にスワップ回路637lから1回目のセンス時のデータが出力される状態を示す。この2回目のセンス動作により、16ビットメモリセルにおいて格納される連続2ワードデータの上位バイトデータが読出され、従って合計8ワードの上位バイトデータが読み出される。
2回目のプリチャージ動作がプリチャージ活性化指示信号ATDEEの非活性化に従って完了し、再びセンスアンプ回路625および626のセンス動作が活性化されると、このセンスアンプ回路625および626の出力データがバッファ回路631を介してラッチ回路635uに転送されてラッチされる。
再び列選択活性化信号CYDENが活性化されると、データ選択信号SEL[7:0]の1つが選択状態へ駆動され、データ選択回路636uの出力信号が、2回目のセンス動作により読出されたデータに対応する状態に駆動される。
続いて、データ出力制御信号LOECUTが活性化されると、出力バッファ回路638lおよび638uが活性化され、8ビットデータIOD[7:0]およびIOD[8:15]が、それぞれデータDD[7:0]およびDD[8:15]として出力される。この出力制御信号LOECUTを利用することにより、出力バッファ回路638uおよび638lから、同じタイミングで、正確に確定状態となった上位バイトデータおよび下位バイトデータを生成することができる。
なお、データビットDD[8:15]を示しているのは、メモリセルアレイへのデータ格納時、そのデータビット位置が更新され、IO0のデータがIO15のデータと縮退されて同一メモリセルに格納されていることを示すためである。
ブロックBAL[1]からのデータを読出す場合には、センスアンプ回路628および627が活性化され、またバッファ回路633および632が、出力転送制御信号ODELC2FおよびODELC2Sに従って、それぞれ1回目のセンス動作時および2回目のセンス動作時に活性化され、同様、64ビットデータがラッチ回路635lおよび635uに格納される。
なお、プリチャージ指示信号ATDEEは、図46に示すセンスアンプ活性化信号TXLATDに対応する信号であり、データの外部読出モード時にコマンドユーザインターフェイスからの指示により所定のタイミングで活性化される。
ランダムシーケンスでデータの読出を行なう場合には、アドレスビットAE[4:2]に従って、センスアンプ活性化信号SE[7:0]の1つが活性化される。たとえば、内部アドレスビットAE[2]が“0”の場合には、センスアンプ回路625および626においてそれぞれ8個のセンスアンプが活性化され、16ビットデータのセンス動作が行なわれる。このときにおいても、シリアルセンス方式でデータの転送が行なわれるため、内部読出アドレスビットAE[2]に従って出力転送制御信号ODELCFおよびODELCSが、それぞれ1回目のセンス動作時および2回目のセンス動作時に活性化される。続いて、データ選択回路636lおよび636uそれぞれにおいて、選択信号SEL[7:0]に従ってそれぞれ、選択センスアンプから転送された16ビットデータから8ビットデータの選択が行なわれ、外部出力データDD[8:15]およびDD[7:0]が生成される。このページモード時においては、外部からアドレスが順次与えられてもよく、また、内部で連続的にアドレスビットAE[1:0]およびAE[23]を変化させて選択信号SEL[7:0]を順次選択状態へ駆動してもよい。ラッチ回路にラッチされたデータが順次読み出されるため、行および列選択をメモリアレイ内において行う必要がなく、高速でデータを読み出すことができる。内部でアドレスを変化させる場合、クロック信号に従ってアドレス信号ビットが更新されてもよく、また、選択信号SEL[7:0]が順次選択状態へ駆動されてもよい。
メインビット線MBLおよび内部読出データ線を、外部データ端子(IO)に従って、グループに分割し、各グループにおいて選択動作を実行することにより、ページモードおよびランダムアクセスモードいずれにおいても正確にデータを読み出すことができる。
図61は、図59に示すセンスアンプ活性化信号SE[7:0]を発生する部分の構成の一例を示す図である。図61において、センスアンプ活性化信号発生部は、内部読出列アドレスビットAE[4:3]をデコードするデコード回路650と、デコード回路650の出力信号SF[3:0]とページモード指示信号PAGEをそれぞれ受けるORゲート回路651および652と、内部読出列アドレスビットAE[2]を受けるインバータ653と、ORゲート回路651の出力信号と内部読出列アドレスビットAE[2]とセンスアンプ活性化信号ATDSAを受けるANDゲート回路654と、インバータ653の出力信号とセンスアンプ活性化信号ATDSAとORゲート回路652の出力信号を受けるANDゲート回路655を含む。
ANDゲート回路654から、センスアンプ選択活性化信号SE[7:4]が出力され、ANDゲート回路655から、センスアンプ選択活性化信号SE[3:0]が出力される。
センスアンプ活性化信号ATDSAは、先のベリファイ時に発生されるセンスアンプ活性化信号MLC_ATDと同様のタイミングでデータ読出時に活性化される。
通常動作モード時においては、ページモード指示信号PAGEはLレベルであり、ORゲート回路651および652は、バッファ回路として動作する。この場合、デコード回路650が、2ビットの内部読出アドレスAE[4:3]をデコードし、4ビット選択信号SF[3:0]のいずれかを選択状態へ駆動する。内部読出列アドレスビットAE[2]がLレベルであれば、ANDゲート回路655は、ORゲート回路652からの選択信号SF[3:0]に基づいてセンスアンプ選択活性化信号SE[3:0]を生成する。このときには、センスアンプ選択活性化信号SE[7:4]は、すべてLレベルとなる。逆に、内部読出列アドレスビットAE[2]がHレベルであれば、インバータ653の出力信号はLレベルであり、センスアンプ選択活性化信号SE[7:4]が、ORゲート回路651からの選択信号SF[3:0]に基づいて生成される。このときには、センスアンプ選択活性化信号SE[3:0]は、すべてLレベルの非選択状態である。
ページモードが指定されたときには、ページモード指示信号PAGEがHレベルとなり、ORゲート回路651および652の出力信号がともにHレベルとなる。このとき、内部読出列アドレスビットAE[2]がHレベルであれば、センスアンプ選択活性化信号SE[7:4]が、センスアンプ活性化信号ATDSAに従って選択状態へ駆動され、センスアンプ選択活性化信号SE[3:0]は、非選択状態を維持する。逆に、内部読出列アドレスビットAE[2]がLレベルであれば、センスアンプ選択活性化信号SE[3:0]がすべてHレベルの選択状態となり、センスアンプ選択活性化信号SE[7:4]がすべて非選択状態のLレベルとなる。
図62は、図59に示すデータ選択回路636uおよび636lと選択信号SEL[7:0]を発生する部分の構成の一例を示す図である。図62においては、これらのデータ選択回路636lおよび636uは同一構成を有するため、データ選択回路636として代表的に示す。また、図62においては、1ビットの出力データRDE[i]に対する部分の構成を示す。データ選択回路636は、選択信号SEL[7:0]それぞれに従って活性化され、活性化時、8ワードのデータビットOD[7:0]の1ビットを選択し、データビットRDE[i]を生成する選択ゲート回路G7−G0を含む。
図59に示す前段のラッチ回路から与えられるワードデータビットOD[7]−OD[0]は、8ワードの同一位置のビットを示す。選択ゲート回路G7−G0は、トライステートバッファ回路で構成されてもよく、またトランスミッションゲート回路で構成されてもよい。選択信号SEL[7:0]により、8ワードのうちの1ワードが指定され、データビットOD[7:0]のうちの対応の1ビットが選択されて内部読出データRDE[i]が生成される。この図62に示すデータ選択回路の基本構成が、出力データビットRDE[7:0]およびRDE[8:15]それぞれに対して設けられる。
選択信号SEL[7:0]は、列選択活性化信号CYDENの活性化時活性化され、内部読出列アドレスビットAE[23]およびAE[1:0]をデコードするデコード回路660により生成される。内部読出列アドレスビットAE[23]は、外部のアドレスビットAA[2]に対応し、上位ワードおよび下位ワードを指定する。3ビット内部読出列アドレスビットAE[23]AE[1:0]をデコードすることにより、8ビットの選択信号SEL[7:0]の1つが選択状態へ駆動される。
この図59に示す構成において、32ビットワードの上位ワード(16ビット外部データ)および下位ワード(16ビット外部データ)は、ブロックBAL[1]およびBAL[0]各々において、格納されており、下位ワードおよび上位ワードを連続的に8ワード、ページモード時に読出すことができる。
図63は、図59に示すバッファ回路630−633の動作制御を行なう信号を発生する部分の構成を概略的に示す図である。図63において、転送制御信号発生部は、基本ファーストセンス転送制御信号ODELFと内部読出列アドレスビットAE[2]を受けてデータ転送制御信号ODELCFを生成するゲート回路GG1と、内部読出列アドレスビットAE[2]と基本ファーストセンス転送制御信号ODELFとを受けて転送制御信号ODELC2Fを生成するANDゲート回路GG2と、基本セカンドセンス転送制御信号ODELSと内部読出列アドレスビットAE[2]を受けてセカンドセンス転送制御信号ODELCSを生成するゲート回路GG3と、基本セカンドセンス転送制御信号ODELSと内部読出列アドレスビットAE[2]を受けてセカンドセンス転送制御信号ODELC2Sを生成するANDゲート回路GG4を含む。
ゲート回路GG1およびGG2は、内部読出列アドレスビットAE[2]が“0”のときにバッファ回路として動作し、ゲート回路GG2およびGG4は、内部読出列アドレスビットAE[2]が、“1”のときにバッファ回路として動作し、それぞれバッファ回路動作時、これらのゲート回路GG1およびGG2は、基本ファーストセンス転送制御信号ODELFに従ってファーストセンス転送制御信号ODELCFおよびODELC2Fを生成し、またゲート回路GG3およびGG4が、セカンドセンス転送制御信号ODELSに従ってセカンドセンス転送制御信号ODELCSおよびODELC2Sを生成する。これにより、メモリアレイブロックBL[1]およびBL[0]の選択ブロックに対して配置されたするセンスアンプ回路からのデータを転送することができる。
なお、この図63に示す回路におけるファーストセンス転送制御信号ODELFおよびODELSならびに図60に示すセンスアンププリチャージ活性化信号ATDEE、列選択活性化信号CYDENは、読出モード活性化信号ICEの活性化に従って、図4に示すCPUから生成される。しかしながら、先のベリファイ動作時のように、ハードウェア構成の回路により、内部クロック信号に基づいて、これらの転送制御信号が生成されてもよい。ベリファイ動作時におけるセンス活性化回路の構成を、データ読出時の活性化回路として利用することができる。
また、この図59に示すセンスアンプ回路625から628を、ベリファイ用のセンスアンプとして利用する場合、ランダムモードでデータの読出を16ビット単位で行ない、ページバッファから読出されたデータと比較する。しかしながら、この図59に示すセンスアンプ625−628は、ベリファイ用のセンスアンプと別に設けられていて内部がマルチバンク構成の場合、全バンクに共通に設けられる最終データ出力用のセンスアンプであってもよい。
また、データ書込みのライトドライバについても、内部読出データ線BDEにライトドライブ回路をそれぞれ設け、アドレス信号に従って選択的にライトドライバを活性化して、16ビット単位でデータの書込みを行えばよい。センスアンプ選択活性化信号SE[7:0]を生成する構成と同様の構成を利用して、データ書込み時にライトドライブ回路を選択的に活性化する。
また、アドレスビットの数としては24ビットに限定されない。SLC構成時にアレイブロックを指定する第1アドレスビットを、MLC構成時に最上位アドレスビットと交換し、この第1アドレスビットをMLC構成時に16ビットメモリセルに格納されるワードデータの上位ワードおよび下位ワード識別に利用すればよい。
また、メモリセル構成としては、NOR型メモリに限定されず、他のAND型メモリおよびNAND型メモリに対しても、本発明は適用することができる。