JP4270832B2 - 不揮発性半導体メモリ - Google Patents

不揮発性半導体メモリ Download PDF

Info

Publication number
JP4270832B2
JP4270832B2 JP2002281205A JP2002281205A JP4270832B2 JP 4270832 B2 JP4270832 B2 JP 4270832B2 JP 2002281205 A JP2002281205 A JP 2002281205A JP 2002281205 A JP2002281205 A JP 2002281205A JP 4270832 B2 JP4270832 B2 JP 4270832B2
Authority
JP
Japan
Prior art keywords
data
storage unit
data storage
memory cell
read
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.)
Expired - Lifetime
Application number
JP2002281205A
Other languages
English (en)
Other versions
JP2004118940A5 (ja
JP2004118940A (ja
Inventor
智晴 田中
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2002281205A priority Critical patent/JP4270832B2/ja
Priority to US10/373,920 priority patent/US6850435B2/en
Priority to DE60314068T priority patent/DE60314068T2/de
Priority to EP03004334A priority patent/EP1403877B1/en
Priority to TW092125748A priority patent/TWI247427B/zh
Priority to KR10-2003-0066492A priority patent/KR100515867B1/ko
Priority to CNB031598439A priority patent/CN1295794C/zh
Priority to US10/796,157 priority patent/US6885583B2/en
Publication of JP2004118940A publication Critical patent/JP2004118940A/ja
Publication of JP2004118940A5 publication Critical patent/JP2004118940A5/ja
Application granted granted Critical
Publication of JP4270832B2 publication Critical patent/JP4270832B2/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/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • 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
    • 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
    • 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
    • G11C11/5635Erasing circuits
    • 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/5642Sensing or reading circuits; Data output circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Read Only Memory (AREA)
  • Semiconductor Memories (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、不揮発性半導体メモリに関し、特に、多値NANDセル型フラッシュメモリ(Multi-level NAND cell type flash memory)、例えば、4値NANDセル型フラッシュメモリに使用される。
【0002】
【従来の技術】
フラッシュメモリは、フローティングゲート電極及びコントロールゲート電極を有するメモリセルから構成され、データプログラム/イレーズは、フローティングゲート電極内の電荷量の調節により実現される。この電荷量は、メモリセルの閾値電圧を決定し、例えば、メモリセルが負の閾値電圧を有している場合を“1”状態、メモリセルが正の閾値電圧を有している場合を“0”状態とする。
【0003】
近年、1ビット当りの価格(ビット単価)を下げること、又は、1メモリチップが持つ記憶容量を増やすことを目的として、1メモリセルが複数ビットデータを記憶する多値フラッシュメモリの研究、開発が進められている。
【0004】
ここで、1メモリセルがn(nは、2以上の自然数)ビットデータ、即ち、2値を記憶する場合、そのメモリセルは、2通りの状態(2の閾値帯)を持つことになる。例えば、1メモリセルが2ビットデータを記憶する場合、そのメモリセルは、4つのの閾値帯を有する。
【0005】
この閾値帯の数は、1メモリセルに記憶するビット数の増加に比例して増加する一方、フラッシュメモリの内部電源電圧は、低下する傾向にある。つまり、1メモリセルに記憶するビット数が増加するにつれて、閾値帯の数が増え、1つの閾値帯の幅は、狭くなる。従って、多値フラッシュメモリにおいては、メモリセルの閾値電圧の制御を精度よく行い、信頼性を向上させることが重要となる。
【0006】
メモリセルの閾値電圧を高い精度で制御するための技術としては、例えば、ライト(書き込み)回数に応じて、ライト電圧を一定の割合でステップアップさせる方法(ステップアップ法)が知られている(例えば、非特許文献1参照)。
【0007】
この方法について簡単に説明すると、ライト電圧のステップアップは、連続する複数のライトパルスの大きさを変えることにより実現される。例えば、これらライトパルスの大きさは、0.2V/10μsecの割合で、次第に大きくする。ライトパルスをライト動作の対象となる複数のメモリセルに印加するごとに、これらメモリセルの閾値電圧を確認(ベリファイ)し、例えば、これら全てのメモリセルの閾値電圧が所定のベリファイレベルに達したら、ライトパルスの印加を終了する。
【0008】
【非特許文献1】
Fast and Accurate Programming Method for Multi-level NAND EEPROMs, pp.129-130, Digest of 1995 Symposium on VLSI Technology
【0009】
【発明が解決しようとする課題】
多値フラッシュメモリにおいても、1メモリチップが持つ記憶容量を増やすことを目的として、メモリセルの微細化が進行している。この微細化に伴い、メモリセル同士の間隔が狭まり、様々な問題を引き起こしている。
【0010】
特に、メモリセルのフローティングゲート電極同士の間隔が狭まると、互いに隣接する複数のフローティングゲート電極の間の静電容量が増加する。その結果、選択された1メモリセルに所定のデータを書き込むと、その1メモリセルに隣接する非選択のメモリセルのフローティングゲート電極の電位が変化する。これは、非選択のメモリセルの閾値電圧が、ライト動作とは別に、変動することを意味し、多値フラッシュメモリの信頼性を低下させる。
【0011】
このような問題に対応できる技術としては、1メモリセルに対して、2回のライトルーチンによりライト動作を実行する方法(2度書き法)が知られている。各ルーチンでは、それぞれ、例えば、上述のステップアップ法が適用される。これにより、フローティングゲート電極間の静電容量の増加に起因するメモリセルの閾値電圧の変動に影響を受けない高精度の閾値制御を実現できる。
【0012】
しかし、いわゆる2度書き法を採用する場合、1回目のライトルーチンの開始から2回目のライトルーチンの終了まで、ライトデータをどこかに保持しておかなければならない。なぜなら、ライトデータの値に応じて、フローティングゲート電極に電荷を注入するか否かが決定されるからである。
【0013】
従って、多値フラッシュメモリでは、ライトデータを記憶しておくための記憶回路の分だけ、チップサイズが増大し、また、これが製造コストの増大を招く原因ともなる。
【0014】
本発明の目的は、メモリセルに記憶するデータを多値化しても、チップ面積が極端に増加することがなく、また、メモリセルの閾値電圧を高精度に制御できる2度書き法を適用できる多値フラッシュメモリのデータ回路(ライト/リード時に多値データを一時的に記憶しておく記憶回路)を提供することにある。
【0015】
【課題を解決するための手段】
本発明の不揮発性半導体メモリは、メモリセルと、前記メモリセルの一端に接続されるビット線と、前記ビット線に接続され、前記メモリセルに関するプログラムデータ又はリードデータを一時的に記憶するデータ回路とを備え、前記データ回路は、第1、第2及び第3データ記憶部と、前記第1及び第3データ記憶部の間に接続される第1データ転送回路と、前記第2及び第3データ記憶部の間に接続される第2データ転送回路とを有し、前記第1データ記憶部は、前記ビット線に接続され、前記第2データ記憶部は、自らが記憶するデータに基づいて、前記第1データ記憶部のデータを強制的に変更する機能を有する。
【0016】
前記第1及び第2データ記憶部は、キャパシタにより構成される。前記第1データ記憶部は、MOSキャパシタにより構成される。前記第2データ記憶部は、ゲートが前記第2データ転送回路に接続されるMOSトランジスタにより構成され、前記MOSトランジスタのドレインと前記第1データ記憶部との間には、第3データ転送回路が接続される。
【0017】
前記第3データ記憶部は、ラッチ回路により構成される。前記ラッチ回路は、CMOSフリップフロップ回路により構成される。
【0018】
前記データ回路は、カラム選択スイッチを経由してデータ線に接続される第4データ記憶部と、前記第1及び第4データ記憶部の間に接続される第4データ転送回路とをさらに有する。
【0019】
前記第4データ記憶部は、ラッチ回路により構成される。前記ラッチ回路は、CMOSフリップフロップ回路により構成される。
【0020】
前記データ回路は、前記ビット線と前記第1データ記憶部との間に接続されるクランプ回路と、前記第1データ記憶部に接続されるプリチャージ回路とをさらに有する。
【0021】
本発明の不揮発性半導体メモリは、前記第3データ記憶部に記憶されたデータに基づいて、前記メモリセルに対するプログラムの完了の有無を判断する検知回路をさらに備える。
【0022】
前記第1及び第2データ転送回路は、MOSトランジスタにより構成される。前記第3及び第4データ転送回路は、MOSトランジスタにより構成される。前記メモリセルは、2ビット以上のデータを記憶する。前記メモリセルは、フローティングゲート電極とコントロールゲート電極とを有する不揮発性メモリセルである。
【0023】
本発明の不揮発性半導体メモリは、前記データ回路内における前記リードデータの移動を制御する制御回路をさらに備える。
【0024】
前記メモリセルが4つの状態を持つ場合に、前記制御回路は、第1リード電位で前記メモリセルから読み出した第1リードデータを前記第3データ記憶部に記憶させる手段と、前記第1リードデータを前記3データ記憶部から前記第2データ記憶部に転送させる手段と、第2リード電位で前記メモリセルから読み出した第2リードデータを前記第1データ記憶部に記憶させる手段と、前記第2データ記憶部に記憶された前記第1リードデータに基づいて、前記第1データ記憶部に記憶された前記第2リードデータの値を強制的に変更させる手段と、前記第2リードデータを前記1データ記憶部から前記第4データ記憶部に転送させる手段とを備える。
【0025】
本発明の不揮発性半導体メモリは、前記データ回路内における前記プログラムデータの移動を制御する制御回路をさらに備える。
【0026】
前記制御回路は、前記プログラムデータを前記第4データ記憶部に記憶させる手段と、前記プログラムデータを前記第4データ記憶部から前記第3データ記憶部に転送させる手段と、前記プログラムデータを前記第3データ記憶部から前記第2データ記憶部に転送させる手段とを備える。
【0027】
前記メモリセルが2ビットデータを記憶する機能を有し、かつ、そのうちの1ビットデータが既に前記メモリセルに記憶されている場合に、前記制御回路は、前記プログラムデータを前記第4データ記憶部から前記第3データ記憶部に転送させた後に、前記第4データ記憶部の状態をリセットする手段と、前記メモリセルに記憶された前記1ビットデータを前記第4データ記憶部に読み出す手段とを備える。
【0028】
前記制御回路は、ライト動作時に、前記第3データ記憶部に記憶された前記プログラムデータの値に基づいて、前記メモリセルの閾値電圧を変動させるか否かを決定する手段を備える。
【0029】
前記第3データ記憶部に記憶された前記プログラムデータの値は、ベリファイリードにより前記メモリセルから読み出されたデータにより変更される。前記第2データ記憶部に記憶された前記プログラムデータの値は、常に、変化しない。
【0030】
前記制御回路は、前記メモリセルに対するプログラムが完了した後、前記第3データ記憶部の状態をリセットする手段と、前記第2データ記憶部に記憶された前記プログラムデータを前記第3データ記憶部に転送する手段とを備える。
【0031】
前記第2及び第3データ記憶部に前記プログラムデータが記憶され、ライト動作時に、前記第3データ記憶部に記憶された前記プログラムデータの値に基づいて、前記メモリセルの閾値電圧を変動させるか否かを決定する場合に、前記制御回路は、ベリファイリードにより前記リードデータを前記第1データ記憶部に記憶させる手段と、前記第2データ記憶部に記憶された前記プログラムデータの値に応じて、前記第1データ記憶部に記憶された前記リードデータの値を強制的に変更させる手段と、前記第1データ記憶部に記憶された前記リードデータを、前記プログラムデータとして前記第3データ記憶部に記憶させる手段とを備える。
【0032】
前記制御回路は、ベリファイリードにより前記リードデータを前記第1データ記憶部に記憶させる手段と、前記第4データ記憶部に記憶された前記1ビットデータの値に応じて、前記第1データ記憶部に記憶された前記リードデータの値を強制的に変更させる手段と、前記第1データ記憶部に記憶された前記リードデータを、前記プログラムデータとして前記第3データ記憶部に記憶させる手段とを備える。
【0033】
本発明の不揮発性半導体メモリは、電気的に書換可能な不揮発性半導体メモリセルと、前記メモリセルに繋がるビット線と、前記メモリセルのデータを読み出すための読み出し回路とを備える。さらに、前記読み出し回路は、ビット線と繋がる第1のデータ記憶部と、前記第1のデータ記憶部のデータを自身が記憶しているデータに従って書換える機能を有する第2のデータ記憶部と、前記第1のデータ記憶部のデータを読み出す機能を有する第3のデータ記憶部と、前記第3のデータ記憶部のデータを前記第2のデータ記憶部に転送するデータ転送回路とを備える。
【0034】
さらに、本発明の不揮発性半導体メモリは、前記メモリセルのデータを前記ビット線を介して前記第1のデータ記憶部に読み出し、前記第2のデータ記憶部のデータに従って前記第1のデータ記憶部の読み出しデータを書換え、その後、前記第3のデータ記憶部のデータを前記第2のデータ記憶部に転送し、さらに、その後、前記第3のデータ記憶部で前記第1のデータ記憶部のデータを読み出す読み出し制御回路を備える。
【0035】
前記第1及び第2のデータ記憶部は、キャパシタに電荷を蓄えることでデータを記憶する。
【0036】
前記データ転送回路は、第1のMOSトランジスタで構成され、前記前記第2のデータ記憶回路は、第2のMOSトランジスタで構成され、前記第2のMOSトランジスタのソースは、第3のMOSトランジスタを介して前記第1のデータ記憶回路のキャパシタの第1の電極に繋がり、前記第2のMOSトランジスタのゲートは、前記第1のMOSトランジスタのソースに繋がる。
【0037】
前記第3のデータ記憶回路は、2つのCMOSフリップフロップで構成され、前記第1のMOSトランジスタのドレインに接続され、また、第4のMOSトランジスタを介して前記第1のデータ記憶回路のキャパシタの第1の電極に繋がる。
【0038】
【発明の実施の形態】
以下、図面を参照しながら、本発明の不揮発性半導体メモリについて詳細に説明する。
【0039】
1. 前提
まず、以下の説明を分かり易くするため、前提条件について次のように規定する。但し、この前提条件は、説明を分かり易くするために設定するものであり、本発明は、この前提条件以外の条件の場合にも成り立つものである。
【0040】
本発明は、1メモリセルに、n(nは、2以上の自然数)ビットデータ、即ち、2値が記憶される多値フラッシュメモリを対象とするが、以下の実施の形態では、その代表例として、4値NANDセル型フラッシュメモリについて説明する。
【0041】
メモリセルには、4種類のデータ“00”,“01”,“10”,“11”が記憶されるものとする。メモリセルの閾値電圧が最も低い状態、例えば、閾値電圧が負で、第1閾値帯に属する状態を、データ“11”が記憶された状態とし、メモリセルの閾値電圧が2番目に低い状態、例えば、閾値電圧が正で、第2閾値帯に属する状態を、データ“10”が記憶された状態とし、メモリセルの閾値電圧が3番目に低い状態、例えば、閾値電圧が正で、第3閾値帯に属する状態を、データ“00”が記憶された状態とし、メモリセルの閾値電圧が最も高い状態、例えば、閾値電圧が正で、第4閾値帯に属する状態を、データ“01”が記憶された状態とする。
【0042】
また、メモリセルには、4種類のデータ、即ち、4値データが記憶されることにしたため、例えば、データプログラム/リード時には、論理下位ページデータに対するプログラム/リード動作と、論理上位ページデータに対するプログラム/リード動作とが必要になる。ここで、データ“**”のうち、右側の*を、論理下位ページデータとし、左側の*を、論理上位ページデータとする。
【0043】
また、メモリセルに関しては、データ“11”が記憶されている状態を、イレーズ状態とし、データ“10”,“00”,“01”が記憶されている状態を、ライト状態とする。
【0044】
2. 概要
(1) 全体構成例
図1は、本発明の一例に関わる4値NANDセル型フラッシュメモリの主要部を示している。
【0045】
1は、メモリセルアレイである。メモリセルアレイ1は、例えば、直列接続された複数のメモリセルとその両端に1つずつ接続された2つのセレクトトランジスタとから構成されるNANDセルユニットを有する。メモリセルアレイ1の回路例及び構造例については、後述する。
【0046】
データ回路2は、複数の記憶回路を含んでいる。データ回路2の回路例については、後述する。ここでは、データ回路2の機能について簡単に述べる。
【0047】
データ回路2は、ライト時に、2ビット(4値)のライトデータを、リード時に、2ビット(4値)のリードデータを、それぞれ、一時的に記憶する。このため、ライト/リード動作の対象となる選択されたメモリセルに接続される1本のビット線に対して、最低、2個の記憶回路が設けられる。2個の記憶回路のうちの一つは、論理下位ページデータを記憶し、他の一つは、論理上位ページデータを記憶する。
【0048】
ワード線制御回路3は、ロウアドレスデコーダ及びワード線ドライバを含んでいる。ワード線制御回路3は、動作モード(ライト、イレーズ、リードなど)とロウアドレス信号が指定するアドレスとに基づいて、メモリセルアレイ1内の複数のワード線の電位を制御する。ワード線制御回路3の回路例については、後述する。
【0049】
カラムデコーダ4は、カラムアドレス信号に基づいて、メモリセルアレイ1のカラムを選択する。
【0050】
プログラム時、ライトデータは、データ入出力バッファ7及びI/Oセンスアンプ6を経由して、選択されたカラムに属するデータ回路2内の記憶回路内に入力される。また、リード時、リードデータは、選択されたカラムに属するデータ回路2内の記憶回路内に一時的に記憶され、この後、I/Oセンスアンプ6及びデータ入出力バッファ7を経由して、メモリチップ11の外部へ出力される。
【0051】
ロウアドレス信号は、アドレスバッファ5を経由してワード線制御回路3に入力される。カラムアドレス信号は、アドレスバッファ5を経由して、カラムデコーダ4に入力される。
【0052】
ウェル/ソース線電位制御回路8は、動作モード(ライト、イレーズ、リードなど)に基づいて、メモリセルアレイ1を構成する複数のブロックに対応する複数のウェル領域(例えば、nウェルとpウェルからなるダブルウェル領域)の電位、並びに、ソース線の電位を、それぞれ制御する。
【0053】
電位発生回路(昇圧回路)9Aは、例えば、ライト時に、ライト電位(例えば、約20V)Vppや、転送電位(例えば、約10V)Vpassなどを発生する。これらの電位Vpp,Vpassは、切替回路9Bにより、例えば、メモリセルアレイ1を構成する複数のブロックのうち、選択されたブロック内の複数本のワード線に振り分けられる。
【0054】
また、電位発生回路9Aは、例えば、イレーズ時に、イレーズ電位(例えば、約20V)VppEを発生し、この電位VppEを、メモリセルアレイ1を構成する複数のブロックのうち、1つ又は2つ以上の選択されたブロックに対応する1つ又は2つ以上のウェル領域(nウェルとpウェルの双方)に与える。
【0055】
一括検知回路 (batch detection circuit) 10は、プログラム時に、メモリセルに正確に所定のデータが書き込まれたか否かを検証し、イレーズ時に、メモリセルのデータがきちんと消去されたか否かを検証する。
【0056】
コマンドインターフェイス回路12は、メモリチップ11とは別のチップ(例えば、ホストマイコン)により生成される制御信号に基づいて、データ入出力バッファ7に入力されるデータがホストマイコンから提供されたコマンドデータであるか否かを判断する。データ入出力バッファ7に入力されるデータがコマンドデータである場合、コマンドインターフェイス回路12は、コマンドデータをステートマシーン(制御回路)13に転送する。
【0057】
ステートマシーン13は、コマンドデータに基づいて、フラッシュメモリの動作モード(ライト、イレーズ、リードなど)を決定し、かつ、その動作モードに応じて、フラッシュメモリの全体の動作、具体的には、データ回路2、ワード線制御回路3、カラムデコーダ4、アドレスバッファ5、I/Oセンスアンプ6、データ入出力バッファ7、ウェル/ソース線電位制御回路8、電位生成回路9A、切替回路9B及び一括検知回路10の動作を制御する。
【0058】
(2) メモリセルアレイの構成例
図2は、メモリセルアレイの構成例を示している。図3は、図2に示される複数のブロックのうちの1つBLOCKiの回路例である。
メモリセルアレイ1は、複数(本例では、1024個)のブロックBLOCK0〜BLOCK1023から構成される。複数のブロックBLOCK0〜BLOCK1023は、Y方向に並んで配置される。ブロックとは、イレーズの最小単位、即ち、一度に消去できる最小のメモリセル数を意味する。
【0059】
1つのブロックBLOCKiは、X方向に並んだ複数(本例では、8512個)のNANDセルユニットUから構成される。1つのNANDセルユニットUは、直列接続される4つのメモリセルM1,M2,M3,M4からなるNAND列と、NAND列の一端に接続されるセレクトゲートトランジスタS1と、NAND列の他端に接続されるセレクトゲートトランジスタS2とから構成される。
【0060】
本例では、NAND列は、4つのメモリセルM1,M2,M3,M4から構成されるが、1つ又は2つ以上のメモリセルから構成されていればよく、特に、4つに限定されるものではない。
【0061】
セレクトゲートトランジスタS1は、ビット線BLek又はビット線BLokに接続され(k=0,1,・・・4255)、セレクトゲートトランジスタS2は、ソース線C−sourceに接続される。
【0062】
ワード線(コントロールゲート線)WL0−i,WL1−i,WL2−i,WL3−iは、X方向に延び、X方向の複数のメモリセルに共通に接続される。セレクトゲート線SGD−iは、X方向に延び、X方向の複数のセレクトゲートトランジスタS1に共通に接続される。セレクトゲート線SGS−iも、X方向に延び、X方向の複数のセレクトゲートトランジスタS2に共通に接続される。
【0063】
本例では、ライト/リード動作時において、ブロックBLOCKiの一端側から数えて偶数番目 (even) に位置する複数のビット線BLe0,BLe1,・・・BLe4255と、その一端側から数えて奇数番目 (odd) に位置する複数のビット線BLo0,BLo1,・・・BLo4255とは、互いに独立に駆動される。但し、ビット線は、0から数えるものとする。
【0064】
つまり、1本のワード線、例えば、ワード線WL3−iに接続される8512個のメモリセルのうち、偶数番目に位置する複数のビット線BLe0,BLe1,・・・BLe4255に接続される4256個のメモリセル(△で示す)に対して、同時に、ライト/リード動作が実行される。また、ワード線WL3−iに接続される8512個のメモリセルのうち、奇数番目に位置する複数のビット線BLo0,BLo1,・・・BLo4255に接続される4256個のメモリセル(○で示す)に対して、同時に、ライト/リード動作が実行される。
【0065】
1メモリセルが1ビットデータを記憶する場合、1本のワード線、例えば、ワード線WL3−iと偶数番目の複数のビット線BLe0,BLe1,・・・BLe4255との交点に位置する4256個のメモリセル(△で示す)は、ページと呼ばれる単位を構成する。同様に、ワード線WL3−iと奇数番目の複数のビット線BLo0,BLo1,・・・BLo4255との交点に位置する4256個のメモリセル(○で示す)も、ページと呼ばれる単位を構成する。
【0066】
また、本例のように、1メモリセルが2ビットデータを記憶する場合、4256個のメモリセル(△で示す)は、2ページ分のデータを記憶し、4256個のメモリセル(○で示す)も、2ページ分のデータを記憶する。
【0067】
(3) デバイス構造例
▲1▼ ウェル構造例
図4は、NANDセル型フラッシュメモリのウェル構造の例を示している。
【0068】
p型シリコン基板(p−sub)11−1内には、n型ウェル領域(Celln−well)11−2及びp型ウェル領域(Cell p−well)11−3から構成されるいわゆるダブルウェル領域、n型ウェル領域(n−well)11−4、並びに、p型ウェル領域(p−well)11−5が形成される。
【0069】
ダブルウェル領域は、メモリセルアレイ部に形成され、n型ウェル領域11−4及びp型ウェル領域11−5は、周辺回路部に形成される。
【0070】
メモリセルは、nチャネルMOSトランジスタから構成され、p型ウェル領域11−3内に配置される。n型ウェル領域11−2及びp型ウェル領域11−3は、同電位に設定される。
【0071】
電源電圧よりも高い電圧が印加される高電圧nチャネルMOSトランジスタは、P型シリコン基板(p−sub)11−1内に形成される。電源電圧が印加される低電圧pチャネルMOSトランジスタは、n型ウェル領域(n−well)11−4内に形成され、電源電圧が印加される低電圧nチャネルMOSトランジスタは、p型ウェル領域(p−well)11−5内に形成される。
【0072】
▲2▼ セルアレイ構造例
図5は、NANDセル型フラッシュメモリのメモリセルアレイ部のY方向の断面構造の例を示している。
【0073】
p型シリコン基板11−1内には、n型ウェル領域11−2及びp型ウェル領域11−3から構成されるダブルウェル領域が形成される。
【0074】
直列接続された4つのメモリセルM1,M2,M3,M4は、p型ウェル領域11−3内に配置される。4つのメモリセルM1,M2,M3,M4は、それぞれ、NチャネルMOSトランジスタから構成され、かつ、フローティングゲート電極FGとコントロールゲート電極WL0−i,WL1−i,WL2−i,WL3−iからなるスタックゲート構造を有する。
【0075】
直列接続されたメモリセルM1,M2,M3,M4からなるNAND列の一端には、セレクトゲートトランジスタS1が接続され、その他端には、セレクトゲートトランジスタS2が接続される。セレクトゲートトランジスタS1,S2は、NチャネルMOSトランジスタから構成され、メモリセルM1,M2,M3,M4に近似する構造、即ち、二重構造のセレクトゲート線SGS−i,SGD−iを有する。
【0076】
NANDセルユニットの一端、即ち、セレクトゲートトランジスタS1の拡散層(ドレイン拡散層)14は、コンタクトプラグCB1を経由して、第1メタル配線層M0に接続される。また、第1メタル配線層M0は、ビアプラグV1を経由して、ビット線BLとしての第2メタル配線層M1に接続される。ビット線BLは、データ回路に接続される。
【0077】
NANDセルユニットの他端、即ち、セレクトゲートトランジスタS2の拡散層(ソース拡散層)15は、コンタクトプラグCB2を経由して、ソース線C−sourceとしての第1メタル配線層M0に接続される。ソース線C−sourceは、ソース電位制御回路に接続される。
【0078】
n型ウェル領域(Cell n−well)11−2は、n型拡散層16を経由して、C−p−well電位設定線18に接続され、p型ウェル領域(Cell p−well)11−3は、p型拡散層17を経由して、C−p−well電位設定線18に接続される。つまり、n型ウェル領域11−2とp型ウェル領域11−3は、同電位に設定される。C−p−well電位設定線18は、ウェル電位制御回路に接続される。
【0079】
なお、フローティングゲート電極FG、コントロールゲート電極WL0−i,WL1−i,WL2−i,WL3−i及びセレクトゲート線SGS−i,SGD−iは、例えば、不純物を含む導電性ポリシリコンから構成される。また、第1及び第2メタル配線層M0,M1は、例えば、アルミニウム、銅、これらの合金などから構成される。
【0080】
図6は、メモリセルのX方向の断面構造の例を示し、図7は、セレクトゲートトランジスタのX方向の断面構造の例を示している。
【0081】
X方向の複数のメモリセル(FG+WL)は、STI (Shallow Trench Isolation) 構造の素子分離層19によって、互いに電気的に分離されている。P型ウェル領域11−3上には、非常に薄いトンネル酸化膜20を経由して、フローティングゲート電極FGが配置される。フローティングゲート電極FG上には、ONO (oxide/nitride/oxide) 膜21を経由して、コントロールゲート電極WLが配置される。
【0082】
セレクトゲート線SGS/SGDは、二重構造になっている。下側のセレクトゲート線SGS/SGDと上側のセレクトゲート線SGS/SGDとは、メモリセルアレイの端部において互いに電気的に接続されると共に、メモリセルアレイ内においても、一定間隔、例えば、512本のビット線ごとに、互いに電気的に接続される。
【0083】
(4) 一括検知回路の構成例
図8は、一括検知回路の構成例を示している。
【0084】
一括検知回路10は、ベリファイリードの後、選択された全てのメモリセルに対して、きちんとライト又はイレーズが行われたか否かを調べる機能を有する( Program / Erase completion detection )。
【0085】
本例では、メモリセルアレイの構成例でも説明したように、ライト/リード動作時に、偶数番目の複数のビット線と奇数番目の複数のビット線とが互いに独立に駆動されることを前提とする。このため、偶数番目の1本のビット線と奇数番目の1本のビット線とからなる合計2本のビット線に対して、1個のサブデータ回路が設けられる。
【0086】
具体的には、8512本のビット線BLek,BLok(k=0,1,・・・4225)が存在するため、データ回路2は、4256個のサブデータ回路から構成される。なお、データ回路2内の各サブデータ回路の構成例については、後述する。
【0087】
本例では、4256個のサブデータ回路のうち、8個のサブデータ回路REGR1−0,REGR1−1,REGR1−2,REGR1−3,REGR2−0,REGR2−1,REGR2−2,REGR2−3のみを示している。
【0088】
サブデータ回路REGR1−yは、2本のビット線BLej+y,BLoj+yに接続されると共に、I/O線対IOj+y,nIOj+yに接続される。また、サブデータ回路REGR2−yは、2本のビット線BLej+y+4,BLoj+y+4に接続されると共に、I/O線対IOj+y+4,nIOj+y+4に接続される。但し、y=0,1,2、3である。
【0089】
第1乃至第4サブデータ回路REGR1−0,REGR1−1,REGR1−2,REGR1−3の出力ノードRCD1は、共通接続され、その接続ノードRCD1は、PチャネルMOSトランジスタTP2のゲートに接続される。同様に、第5乃至第8サブデータ回路REGR2−0,REGR2−1,REGR2−2,REGR2−3の出力ノードRCD2も、共通接続され、その接続ノードRCD2は、PチャネルMOSトランジスタTP3のゲートに接続される。
【0090】
PチャネルMOSトランジスタTP13,TP14は、 Program / Erase completion detection 時に、制御信号COMHnに基づいて、ノードRCD1,RCD2をプリチャージする機能を有する。即ち、制御信号COMHnを“L”にして、ノードRCD1,RCD2を電源電位Vddに設定した後、制御信号COMHnを“L”にして、ノードRCD1,RCD2をフローティング状態にする。この時、PチャネルMOSトランジスタTP2,TP3は、オフ状態となる。
【0091】
NチャネルMOSトランジスタTN15は、 Program / Erase completion detection 時に、ノードNCOMを、接地電位Vssに設定した後、フローティング状態にする機能を有する。MOSトランジスタTN15は、制御信号NCOMLにより制御される。
【0092】
Program / Erase completion detection 時、ライト/イレーズが十分に行われていないメモリセルに対応するサブデータ回路は、共通ノードRCD1又は共通ノードRCD2の電位レベルを“H”から“L”に低下させる。
【0093】
従って、ライト/イレーズが十分に行われていないメモリセルが少なくとも1つ存在する場合には、PチャネルMOSトランジスタTP2又はPチャネルMOSトランジスタTP3がオン状態となり、ノードNCOMが“L”から“H”になり、FLAGが“L”になる。
【0094】
一方、全てのメモリセルに対して、ライト/イレーズが十分に行われている場合には、全てのサブデータ回路は、共通ノードRCD1,RCD2の電位レベルを“H”に維持する。従って、ノードNCOMは、“L”のままであり、FLAGは、“H”となる。
【0095】
このように、FLAGの電位レベルを検出することにより、選択された全てのメモリセルに対して、きちんとライト/イレーズが行われたか否かを調べることができる。
【0096】
本例では、8個のサブデータ回路を1つにまとめ、これら8個のサブデータ回路ごとに、Program / Erase completion detection 、即ち、FRAGの電圧レベルの検出を行っている。
【0097】
このように、8個のサブデータ回路を一まとめにしたのは、これら8個のサブデータ回路に対応する8カラム単位で、リダンダンシイ回路によるメモリセルの置き換えを行っているためである。つまり、ヒューズ素子(破線で囲んだ部分)を切断すると、これら8個のサブデータ回路に接続されるメモリセルは、常に非選択状態になり、これに代わって、リダンダンシイ領域の予備のメモリセルが選択される。
【0098】
従って、リダンダンシイ回路によるメモリセルの置き換えをn(nは、自然数)個のサブデータ回路に対応するnカラム単位で行う場合には、n個のサブデータ回路を一まとめにする。
【0099】
なお、FRAGは、全てのカラムに対応する共通ノードとなっている。例えば、データ回路2が4256個のサブデータ回路から構成される場合、8個のサブデータ回路をリダンダンシイ置き換えの1単位とすると、チップ内には、図8に示す回路が、532個存在することになる。そして、これら532個の回路は、共通ノードFRAGに接続される。
【0100】
(5) データ回路の構成例
図9は、データ回路内のサブデータ回路の構成例を示している。
本例では、データ回路は、複数個(例えば、4256個)のサブデータ回路から構成され、各サブデータ回路は、図9のような構成を有している。
【0101】
サブデータ回路REGRは、4個のデータ記憶部DS1,DS2,DS3,DS4を有している。これらデータ記憶部DS1,DS2,DS3,DS4を使用して、選択された1メモリセルに対して、2ビットデータのリード動作及びプログラム動作を実行する。プログラム動作には、ライト動作やベリファイ動作などが含まれる。
【0102】
また、サブデータ回路は、偶数番目の1本のビット線と奇数番目の1本のビット線とからなる合計2本のビット線に対して1個設けられる。偶数番目のビット線BLekは、NチャネルMOSトランジスタQn1を経由して、サブデータ回路REGRに接続され、奇数番目のビット線BLokは、NチャネルMOSトランジスタQn2を経由して、サブデータ回路REGRに接続される。
【0103】
制御信号BLSeが“H”、制御信号BLSoが“L”のとき、NチャネルMOSトランジスタQn1がオン状態となるため、偶数番目のビット線BLekは、サブデータ回路REGRに電気的に接続される。また、制御信号BLSeが“L”、制御信号BLSoが“H”のとき、NチャネルMOSトランジスタQn2がオン状態となるため、奇数番目のビット線BLokは、サブデータ回路REGRに電気的に接続される。
【0104】
なお、制御信号BLSeは、偶数番目のビット線BLekに接続されるMOSトランジスタQn1のゲートに共通に入力され、制御信号BLSoは、奇数番目のビット線BLokに接続されるMOSトランジスタQn2のゲートに共通に入力される。
【0105】
図10は、図9のサブデータ回路の回路例を示している。
【0106】
本例では、図9に対応させて、1カラム分(2本のビット線BLek,BLokに対応)のサブデータ回路を示す。
【0107】
サブデータ回路REGRは、4つのデータ記憶部DS1,DS2,DS3,DS4を有している。
【0108】
データ記憶部DS1は、ディプレッションタイプNチャネルMOSキャパシタC1から構成される。データ記憶部DS2は、NチャネルMOSトランジスタQn8から構成される。データ記憶部DS3は、クロック同期式インバータCI1,CI2を有するCMOSフリップフロップ回路から構成され、データ記憶部DS4は、クロック同期式インバータCI3,CI4を有するCMOSフリップフロップ回路から構成される。
【0109】
MOSキャパシタC1の一端は、NチャネルMOSトランジスタQn5,Qn1,Qn2を経由して、ビット線BLek,BLokに接続され、その他端は、接地点Vssに接続される。MOSトランジスタQn5は、ビット線Qn1,Qn2側のノードN1とMOSキャパシタC1側のノードN2との電気的接続/切断を行うクランプトランジスタである。
【0110】
制御信号BLCLAMPが“H”のとき、MOSトランジスタQn5は、オン状態となり、例えば、偶数番目のビット線BLekがMOSキャパシタC1の一端に電気的に接続される。この時、制御信号BLSeは、“H”、制御信号BLSoは、“L”に設定されている。また、この時、制御信号BIASeは、“L”、制御信号BIASoは、“H”に設定され、バイアス電位(例えば、接地電位)BLCRLが、奇数番目のビット線BLokに供給される。
【0111】
また、奇数番目のビット線BLokがMOSキャパシタC1の一端に電気的に接続される場合、制御信号BLSeは、“L”、制御信号BLSoは、“H”に設定される。また、この時、制御信号BIASeは、“H”、制御信号BIASoは、“L”に設定され、バイアス電位(例えば、接地電位)BLCRLが、偶数番目のビット線BLekに供給される。
【0112】
制御信号BLCLAMPが“L”のときは、MOSトランジスタQn5は、オフ状態となるため、ビット線Qn1,Qn2側のノードN1とMOSキャパシタC1側のノードN2とは、電気的に切断される。
【0113】
NチャネルMOSトランジスタQn6は、MOSキャパシタC1の一端に接続される。MOSトランジスタQn6は、MOSキャパシタC1の一端を、プリチャージ電位VPREに充電するための素子である。制御信号BLPREが“H”のとき、MOSキャパシタC1の一端は、プリチャージ電位VPREに充電される。
【0114】
NチャネルMOSトランジスタQn8は、NチャネルMOSトランジスタQn7を経由して、MOSキャパシタC1の一端に接続される。制御信号REGが“H”、即ち、MOSトランジスタQn7がオン状態のとき、MOSトランジスタQn8は、データ記憶部DS2に記憶されたデータの値に基づいて、MOSキャパシタC1の一端の電位を、強制的に、VREGにする。
【0115】
例えば、データ記憶部DS2に記憶されたデータが“1”、即ち、MOSトランジスタのゲートのレベルが“H”のときは、制御信号REGが“H”になると、MOSキャパシタC1の一端が強制的にVREGに設定される。また、データ記憶部DS2に記憶されたデータが“0”、即ち、MOSトランジスタのゲートのレベルが“L”のときは、MOSキャパシタC1の一端の電位は、VREGに影響されることはない。
【0116】
データ記憶部DS3,DS4は、上述のように、共に、CMOSフリップフロップ回路から構成される。
【0117】
NチャネルMOSトランジスタQn11は、データ記憶部DS3内のCMOSフリップフロップ回路の2つの入力端子、即ち、クロック同期式インバータCI1,CI2の入力端子の電位をイコライズするための素子である。また、NチャネルMOSトランジスタQn13は、データ記憶部DS4内のCMOSフリップフロップ回路の2つの入力端子、即ち、クロック同期式インバータCI3,CI4の入力端子の電位をイコライズするための素子である。
【0118】
MOSトランジスタQn11は、制御信号EQ1により制御され、MOSトランジスタQn13は、制御信号EQ2により制御される。
【0119】
クロック同期式インバータCI1は、クロック信号SEN1,SEN1nに同期して動作し、クロック同期式インバータCI2は、クロック信号LAT1,LAT1nに同期して動作し、クロック同期式インバータCI3は、クロック信号LAT2,LAT2nに同期して動作し、クロック同期式インバータCI4は、クロック信号SEN2,SEN2nに同期して動作する。
【0120】
なお、信号“***n”は、信号“***”のレベルを反転した反転信号を意味している。また、クロック同期式インバータCI1,CI2,CI3,CI4の構成例としては、例えば、図11に示すようになる。
【0121】
図11のクロック同期式インバータは、クロック信号CLKが“H”、クロック信号CLKnが“L”のとき、CMOSインバータとして動作する。クロック信号CLKが“L”、クロック信号CLKnが“H”のときには、入力信号INと出力信号OUTとは、無関係になる。
【0122】
データ記憶部DS1とデータ記憶部DS3との間、即ち、CMOSキャパシタC1の一端(ノードN2)とクロック同期式インバータCI1の入力端子(ノードN3)との間には、スイッチ素子としてのNチャネルMOSトランジスタQn10が接続される。MOSトランジスタQn10は、制御信号BLC1により制御され、データ記憶部DS1とデータ記憶部DS3との間におけるデータの転送を実行するために使用される。
【0123】
データ記憶部DS2とデータ記憶部DS3との間、即ち、NチャネルMOSトランジスタQn8のゲートとクロック同期式インバータCI1の入力端子との間には、スイッチ素子としてのNチャネルMOSトランジスタQn9が接続される。MOSトランジスタQn9は、制御信号DTGにより制御され、データ記憶部DS3に記憶されたデータを、データ記憶部DS2に転送するために使用される。
【0124】
データ記憶部DS1とデータ記憶部DS4との間、即ち、CMOSキャパシタC1の一端(ノードN2)とクロック同期式インバータCI4の入力端子(ノードN4)との間には、スイッチ素子としてのNチャネルMOSトランジスタQn12が接続される。MOSトランジスタQn12は、制御信号BLC2により制御され、データ記憶部DS1とデータ記憶部DS4との間におけるデータの転送を実行するために使用される。
【0125】
NチャネルMOSトランジスタQn14は、データ記憶部DS4のデータをリセットするための素子である。例えば、ライト動作時、MOSトランジスタQn14は、ライトデータがデータ記憶部DS4に入力する前に、データ記憶部DS4の状態を“1”−データ保持の状態、即ち、ノードN4を“H”の状態に設定する。
【0126】
具体的には、制御信号PRSTが“H”になると、クロック同期式インバータCI4の出力端子は、“L”になり、ノードN4は、“H”になる。
【0127】
データ記憶部DS4は、カラム選択スイッチとしてのNチャネルMOSトランジスタQn15,Qn16を経由して、I/O線(データ線)IO,nIOに接続される。
【0128】
カラムアドレス信号により選択されたカラムでは、カラム選択信号CSLk(K=0、1,・・・4255)が“H”になるため、その選択されたカラム内のデータ記憶部DS4とI/O線IO,nIOとが電気的に接続される。
【0129】
NチャネルMOSトランジスタQn17は、データ記憶部DS3に記憶されたデータに基づいて、共通ノードPCDのレベルを決定するための素子である。
【0130】
例えば、“0”−プログラミング時、“0”−データは、データ記憶部DS3に記憶される。つまり、ノードN4が“L”、ノードN5が“H”の状態であるため、NチャネルMOSトランジスタQn17は、オン状態となり、共通ノードPCDのレベルを“L”にする。ベリファイリード時、メモリセルにきちんと“0”−データがライトされていれば、リードデータは、“1”になるため、データ記憶部DS4に、“1”−データが記憶される。つまり、ノードN4が“H”、ノードN5が“L”の状態に変化するため、NチャネルMOSトランジスタQn17は、オフ状態となり、共通ノードPCDのレベルを“H”にする。
【0131】
なお、詳しい動作については、後述する。
【0132】
上述の説明においては、データに関しては、“0”と“1”が存在し、ノードのレベルに関しては、“L”と“H”が存在するが、両者の関係は、“0”が“L”に相当し、“1”が“H”に相当する。
【0133】
また、本例では、1カラム内に2本のビット線BLek,BLokが配置され、この2本のビット線BLek,BLokに1個のサブデータ回路が接続される。このように、1個のサブデータ回路に2本のビット線BLek,BLokを接続する理由は、▲1▼ 読み出し時において、互いに隣接するビット線間に容量結合によるノイズが生じることを防止する(シールドビット線読み出し手法の採用)、▲2▼ データ回路の数を減らし、チップ面積の縮小を図る、などの目的を達成することにある。
【0134】
(6) ワード線制御回路の構成例
図12は、ワード線制御回路の構成例を示している。
【0135】
メモリセルアレイ1は、Y方向に配置された複数個のメモリセルブロックから構成される。各々のメモリセルブロックは、X方向に配置された複数のNANDセルユニットを有する。メモリセルアレイ及びNANDセルユニットの回路例については、図3に示す通りである。
【0136】
但し、本例では、1ブロック内のワード線WL1,…WL16の数は、16本を前提としており、上述の例(図3)とは異なっている。しかし、この点は、特に、重要な点ではないので、そのまま説明する。
【0137】
本例では、1個のメモリセルブロックに対応して、1個のロウアドレスデコーダと1個のワード線ドライバが設けられる。
【0138】
例えば、第1のメモリセルブロック内のワード線WL1,…WL16及びセレクトゲート線SG1,SG2は、第1のワード線ドライバRMAIN1に接続され、第1のワード線ドライバRMAIN1は、第1のメモリセルブロックの選択/非選択を決める第1のロウアドレスデコーダRADD1の出力信号(デコード結果)を受ける。
【0139】
このように、第i(i=1,2,…)のメモリセルブロック内のワード線WL1,…WL16及びセレクトゲート線SG1,SG2は、第iのワード線ドライバRMAINiに接続され、第iのワード線ドライバRMAINiは、第iのメモリセルブロックの選択/非選択を決める第iのロウアドレスデコーダRADDiの出力信号(デコード結果)を受ける。
【0140】
ここで、本例では、ワード線ドライバを、メモリセルアレイ1の両側(X方向の2つの端部)に配置している。
【0141】
具体的には、奇数番目のメモリセルアレイブロックに対応するワード線ドライバRMAIN1,RMAIN3,…は、メモリセルアレイ1のX方向の2つの端部のうちの一方(左側)に配置され、偶数番目のメモリセルアレイブロックに対応するワード線ドライバRMAIN2,RMAIN4,…は、メモリセルアレイ1のX方向の2つの端部のうちの他方(右側)に配置される。
【0142】
このように、ワード線ドライバRMAINiを、メモリセルアレイ1の両端に配置することにより、ワード線ドライバRMAINiの設計を容易にする(又はレイアウトの自由度を大きくする)ことができる。つまり、本例の場合、1個のワード線ドライバは、Y方向に関して、メモリセルブロック2個分のレイアウトスペースを確保できる。
【0143】
また、1つのメモリセルブロック内のワード線WL1,…WL16及びセレクトゲート線SG1,SG2は、このメモリセルブロックに対応するワード線ドライバにより、常に、メモリセルアレイ1の一方側(又は他方側)から駆動されるため、選択されたブロック内の所定の1個のNANDセルユニット内のメモリセル及びセレクトトランジスタに関して、駆動信号が供給されるのタイミングのずれは生じない。
【0144】
一方、ロウアドレスデコーダRADDi(i=1,2,…)は、メモリセルアレイ1のX方向の2つの端部のうちの一方(片側)のみに配置される。この場合、ロウアドレス信号をロウアドレスデコーダRADDiに供給するための信号線(アドレスバス)をメモリセルアレイ1の片側のみに配置すればよいため、アドレスバスの面積を減らすことができ、結果として、チップ面積の縮小に貢献できる。
【0145】
つまり、仮に、ワード線ドライバRMAINiと同様に、ロウアドレスデコーダRADDiを、メモリセルアレイ1のX方向の2つの端部のそれぞれに配置すると、アドレスバスについても、メモリセルアレイ1のX方向の2つの端部のそれぞれに配置しなければならず、チップ面積の縮小に関しては、不利となる。
【0146】
ロウアドレスデコーダRADDiを、メモリセルアレイ1のX方向の2つの端部のうちの一方(片側)のみに配置した結果、本例では、信号線22がメモリセルアレイ1上に配置される。信号線22は、偶数番目のメモリセルアレイブロックに対応するロウアドレスデコーダRADD2,RADD4,…の出力信号(デコード結果)RDECADSを、ワード線ドライバRMAIN2,RMAIN4,…に供給するために使用される。
【0147】
この信号線22には、通常動作時において、信号RDECADSが伝わる。従って、通常動作時、この信号線22の電位がメモリセルの動作に悪影響を与えないようにする必要がある。なお、信号線22の電位がメモリセルの動作に悪影響を与えないようなロウアドレスデコーダRADDi及びワード線ドライバRMAINiについては、後述する。
【0148】
電位発生回路9Aは、昇圧回路(チャージポンプ回路)を有し、例えば、ライト動作時に使用するライト電位Vppや転送電位Vpassを生成する。電位発生回路9Aは、切替回路9Bに接続される。切替回路9Bは、ライト電位Vpp、転送電位Vpass、チップ内電源電位Vdd、接地電位Vssなどの電位を、ワード線WL1,…WL16に対応する信号線CG1,…CG16に振り分ける機能を有する。
【0149】
信号線CG1,…CG16は、ワード線ドライバRMAINiに接続される。即ち、信号線CG1,…CG16は、ワード線ドライバRMAINi内の電位転送用トランジスタHNt1,HNt2,…HNt16(後述する)を経由して、ワード線WL1,…WL16に接続される。
【0150】
(7) ロウアドレスデコーダ及びワード線ドライバの回路例
図13は、奇数番目のメモリセルブロックに対応して設けられるロウアドレスデコーダの主要部を示している。
【0151】
このロウアドレスデコーダRADD1は、正確には、ブロックデコーダとして機能する。即ち、例えば、第1のメモリセルブロックが選択されるとき、ロウアドレス信号AROWi,…AROWjの全てが“H”となり、出力信号RDECADが“H”となる。
【0152】
図14は、奇数番目のメモリセルブロックに対応して設けられるワード線ドライバの主要部を示している。
【0153】
ワード線ドライバRMAIN1の主な構成要素は、高電圧スイッチング回路26と転送用MOSトランジスタHN5,HN6,HNt1,…HNt16である。
【0154】
高電圧スイッチング回路26は、MOSキャパシタDHN4及びMOSトランジスタIHN1からなる第1の昇圧ユニットと、MOSキャパシタDHN5及びMOSトランジスタIHN2からなる第2の昇圧ユニットを備える。
【0155】
MOSトランジスタHN3のゲートは、MOSトランジスタIHN1,IHN2の接続ノードBに接続される。この場合、MOSトランジスタHN3のゲートとソースの電位レベルが逆相を維持しつつ、クロック信号Owcに同期して、次第に各ノードA,B,TransferG1の電位が上昇するため、昇圧効率が向上する。
【0156】
高電圧スイッチング回路26は、ロウアドレスデコーダRADD1の出力信号RDECADが“H”のとき、動作状態となる。即ち、出力信号RDECADが“H”のとき、NAND回路NAND1の出力信号は、クロック信号Owcと逆相のクロック信号となる。NAND回路NAND1の出力信号は、MOSキャパシタDHN4,DHN5の一端に印加される。
【0157】
その結果、転送用MOSトランジスタHN5,HN6,HNt1,…HNt16のゲートに昇圧電位が印加され、転送用MOSトランジスタHN5,HN6,HNt1,…HNt16は、オン状態となる。
【0158】
ロウアドレスデコーダRADD1の出力信号RDECADが“H”のとき、MOSトランジスタHN7,HN8は、オフ状態となる。この時、信号線SGD,SGSは、例えば、チップ内電源電位Vddとなり、このVddは、転送用MOSトランジスタHN5,HN6を経由して、セレクトゲート線SG1,SG2に供給される。
【0159】
また、信号線CG1,CG2,…CG16は、切替回路9B(図1参照)により、それぞれ動作モードに応じて所定の電位に設定される。そして、信号線CG1,CG2,…CG16の電位は、転送用MOSトランジスタHNt1,…HNt16を経由して、ワード線WL1,WL2,…WL16に供給される。
【0160】
図15は、偶数番目のメモリセルブロックに対応して設けられるロウアドレスデコーダの主要部を示している。
【0161】
ロウアドレスデコーダRADD2は、図13のロウアドレスデコーダRADD1と同じ回路を含んでいる。即ち、破線X1で囲んだ部分の回路は、図13のロウアドレスデコーダRADD1と同じである。なお、図15において、図13と同じ部分には、同じ符号が付してある。
【0162】
このロウアドレスデコーダRADD2は、インバータI4、クロックドインバータCINV3,CINV4及びデプレッション型高電圧NチャネルMOSトランジスタDHN6,DHN7を有している。
【0163】
クロックドインバータCINV4は、イレーズ時に、選択されたメモリセルブロックに対応するロウアドレスデコーダの出力信号RDECADS(図12の信号線22の電位)を接地電位Vssにし、非選択のメモリセルブロックに対応するロウアドレスデコーダの出力信号RDECADSをチップ内電源電位Vddにする機能を有する。
【0164】
MOSトランジスタDHN6は、後述する図16のトランジスタDHN9と共に、信号線22(図12参照)をフローティング状態にする機能を有する。
【0165】
イレーズ時、選択されたメモリセルブロックでは、信号RDECADS1は、“H(Vdd)”となり、非選択のメモリセルブロックでは、信号RDECADS1は、“L(Vss)”となる。
【0166】
仮に、この信号RDECADS1を、メモリセルアレイ上の信号線22(図12参照)に与えると、非選択のメモリセルブロックでは、メモリセルアレイ上の信号線22(図12参照)が“L(Vss)”となる。
【0167】
この場合、セルウェルとワード線の容量カップリングにより、セルウェルにイレーズ電位Veraを与えたときに、非選択のメモリセルブロック内のワード線の電位を上昇させようとすると、接地電位Vssである信号線22(図12)の影響により、ワード線の電位が十分に上昇しなくなる。
【0168】
本例では、クロックドインバータCINV4を設けているため、イレーズ時、選択されたメモリセルブロックでは、出力信号RDECADSは、“L(Vss)”となり、非選択のメモリセルブロックでは、信号RDECADSは、“H(Vdd)”となる。
【0169】
即ち、非選択のメモリセルブロックでは、メモリセルアレイ上の信号線22(図12参照)は、“H(Vdd)”となり、かつ、MOSトランジスタDHN6とMOSトランジスタDHN9(図16)のカットオフによりフローティング状態となる。
【0170】
従って、セルウェルとワード線の容量カップリングにより、非選択のメモリセルブロック内のワード線の電位を上昇させる場合、チップ内電源電位Vddである信号線22(図12)の影響は少なくなり、ワード線の電位が十分に上昇する。
【0171】
図16は、偶数番目のメモリセルブロックに対応して設けられるワード線ドライバの主要部を示している。
【0172】
ワード線ドライバRMAIN2の主な構成要素のうち、高電圧スイッチ回路26と転送用MOSトランジスタHN5,HN6,HNt1,…HNt16に関しては、図14に示すワード線ドライバRMAIN1と同じである。即ち、破線X2で囲んだ部分の回路は、図14のロウアドレスデコーダRADD1とほぼ同じである。なお、図16において、図14と同じ部分には、同じ符号が付してある。
【0173】
ワード線ドライバRMAIN2は、クロックドインバータCINV5,CINV6,CINV7、デプレッション型高電圧NチャネルMOSトランジスタDHN8,DHN9及びエンハンスメント型PチャネルMOSトランジスタTP6,TP7を有している。
【0174】
クロックドインバータCINV7は、イレーズ時に、選択されたメモリセルブロックに対応するロウアドレスデコーダの出力信号RDECADS(図12の信号線22の電位)を接地電位Vssからチップ内電源電位Vddに戻し、非選択のメモリセルブロックに対応するロウアドレスデコーダの出力信号RDECADSをチップ内電源電位Vddから接地電位Vssに戻した後に、破線X2内の回路に、信号RDECADS2として与える機能を有する。
【0175】
MOSトランジスタDHN9は、図15のトランジスタDHN6と共に、信号線22(図12参照)をフローティング状態にする機能を有する。
【0176】
このように、図15のロウアドレスデコーダRADD2内のインバータI4、クロックドインバータCINV3,CINV4及びデプレッション型高電圧NチャネルMOSトランジスタDHN6,DHN7と、図16のワード線ドライバRMAIN2内のクロックドインバータCINV5,CINV6,CINV7、デプレッション型高電圧NチャネルMOSトランジスタDHN8,DHN9及びエンハンスメント型PチャネルMOSトランジスタTP6,TP7は、同一の目的を達成するために、ペアで使用される。
【0177】
なお、図13乃至図16では、これらの回路に電源電位としてVdd(外部電源電位Vccよりも低いチップ内電源電位)を供給したが、これに代えて、例えば、外部電源電位Vccを供給してもよい。
【0178】
(8) 信号線22の電位レベルに関して
次に、各動作モードにおいて、信号線22(図12参照)の電位レベルがどのようになるかについて説明する。なお、ここでは、信号線22の電位レベルについてのみ説明する。
【0179】
本例では、信号線22(図12)は、偶数番目のメモリセルブロックに対応するロウアドレスデコーダ(図15)とワード線ドライバ(図16)を接続する。従って、図15及び図16を参照しつつ、信号線22(図12)を伝わるワード線ドライバ選択信号RDECADSの電位レベルについて説明する。
【0180】
ロウアドレスデコーダRADD2の出力信号RDECADSの電位レベルは、動作モードによって異なる。
【0181】
イレーズ動作以外の動作(ライト、リード、ベリファイリード)では、ROWERASE1B、ROWPROG1、ROWERASE2B、ROWERASE3n,ROWGATEを、それぞれ電源電位Vdd(外部電源電位Vccよりも低いチップ内電源電位。但し、外部電源電位Vccでもよい。)に設定し、ROWERASE1、ROWPROG1B、ROWERASE2を、それぞれ接地電位Vssに設定する。
【0182】
この時、クロックドインバータCINV3,CINV5,CINV6が動作状態になり、クロックドインバータCINV4,CINV7が非動作状態になる。また、MOSトランジスタTP6は、オフ状態になる。
【0183】
選択されたメモリセルブロックでは、破線X1で囲んだ部分の出力信号RDECADS1は、“H”、即ち、チップ内電源電位Vddになり、ロウアドレスデコーダRADD2の出力信号RDECADSも、“H”、即ち、チップ内電源電位Vddになる。
【0184】
一方、非選択のメモリセルブロックでは、破線X1で囲んだ部分の出力信号RDECADS1は、“L”、即ち、接地電位Vssになり、ロウアドレスデコーダRADD2の出力信号RDECADSも、“L”、即ち、接地電位Vssになる。
【0185】
従って、イレーズ動作以外の動作では、非選択のメモリセルブロック内のメモリセルアレイ上に配置される信号線22(図12参照)は、接地電位Vss、非選択のメモリセルブロック内のセレクトゲート線SG1,SG2も、接地電位Vssとなり、これらの信号線22,SG1,SG2は、ビット線とワード線の間のシールド線として機能する。結果として、ビット線を伝わるデータに生じるカップリングノイズを低減できる。
【0186】
イレーズ動作では、ROWERASE1B、ROWPROG1、ROWERASE2B、ROWERASE3n,ROWGATEを、それぞれ接地電位Vssに設定し、ROWERASE1、ROWPROG1B、ROWERASE2を、それぞれチップ内電源電位Vdd(電源電位Vccでもよい。)に設定する。
【0187】
この時、クロックドインバータCINV4,CINV7が動作状態になり、クロックドインバータCINV3,CINV5,CINV6が非動作状態になる。また、MOSトランジスタTP6は、オン状態になる。
【0188】
選択されたメモリセルブロックでは、破線X1で囲んだ部分の出力信号RDECADS1は、“H”、即ち、チップ内電源電位Vddになり、ロウアドレスデコーダRADD2の出力信号RDECADSは、“L”、即ち、接地電位Vssになる。
【0189】
一方、非選択のメモリセルブロックでは、破線X1で囲んだ部分の出力信号RDECADS1は、“L”、即ち、接地電位Vssになり、ロウアドレスデコーダRADD2の出力信号RDECADSは、“H”、即ち、チップ内電源電位Vddになる。
【0190】
また、ROWGATEが接地電位Vssであるため、非選択のメモリセルブロック内の信号線22(図12参照)は、その電位(RDECADSの電位)が1〜1.5V程度になると、MOSトランジスタDHN6,DHN9がカットオフすることにより、フローティング状態になる。
【0191】
このように、イレーズ動作では、非選択のメモリセルブロック内のメモリセルアレイ上に配置される信号線22(図12参照)は、1〜1.5Vで、かつ、フローティング状態となる。つまり、セルウェルにイレーズ電位Veraを与えたときに、信号線22(図12)の電位も、ワード線と同様に、容量カップリングにより上昇するため、信号線22(図12)がワード線の電位の上昇を抑えることがない。
【0192】
従って、セルウェルにイレーズ電位Veraを与えたときに、セルウェルとワード線の間の容量カップリングにより、非選択のメモリセルブロック内のワード線の電位が上昇し易くなるという効果を得ることができる。
【0193】
また、これに伴い、非選択のメモリセルブロック内のメモリセルのトンネル酸化膜に大きな電界がかかることがないため、非選択のメモリセルブロックにおける誤消去を防止できる。
【0194】
ところで、図15の破線X内のヒューズ素子(図13のヒューズ素子も同じ)は、そのヒューズ素子(ロウアドレスデコーダ)に対応するメモリセルブロックをユーザ用の通常のメモリ領域とする場合には、切断されない。
【0195】
しかし、そのヒューズ素子(ロウアドレスデコーダ)に対応するメモリセルブロックを、例えば、デバイス・コードを記憶するROM・BLOCK領域とする場合には、そのヒューズ素子を切断し、ユーザが、ROM・BLOCK領域に対して、自由に、ライト/イレーズを行えないようにしている。
【0196】
このROM・BLOCK領域は、以下の意義がある。
近年、NAND型フラッシュメモリは、様々な電子機器のメモリに使用されている。しかし、電話通信により音楽情報を記憶するためのメモリなど、NAND型フラッシュメモリは、著作権に関わるデータのメモリとして使用される場合がある。
【0197】
そこで、NAND型フラッシュメモリには、不正コピーを防止するために、チップの番号、即ち、デバイス・コードが記憶される。
【0198】
このデバイス・コードは、個々のNAND型フラッシュメモリに固有のものであるが、仮に、ユーザがこのデバイス・コードを自由に書き換えられるようでは、デバイス・コードの本来の目的を達成することができない。
【0199】
このため、デバイス・コードは、製品の出荷前に、NAND型フラッシュメモリのROM・BLOCK領域に書き込まれ、ROM・BLOCK領域に対しては、ユーザがライト/イレーズを行えないようにしている。つまり、ROM・BLOCK領域となるメモリセルブロックでは、ヒューズ素子が切断される。
【0200】
これにより、例えば、情報提供側のNAND型フラッシュメモリから情報受け取り側のNAND型フラッシュメモリに音楽情報をコピーしようとする場合、情報提供側のNAND型フラッシュメモリからデバイス・コードを読み出し、これが、情報受け取り側のNAND型フラッシュメモリのデバイス・コードと異なる場合には、コピーができないようにしている。
【0201】
ヒューズ素子は、ROM・BLOCK領域となるメモリセルブロックにデバイス・コードをプログラムした直後に切断する。
【0202】
仮に、ヒューズ素子を切断しない状態で、出荷前試験を行うと、この試験で、デバイス・コードが消去されてしまうためである。
【0203】
即ち、出荷前試験では、試験時間の短縮のために、全ブロックを同時に選択して、ライト/イレーズを行う。つまり、全てのロウアドレス信号AROWi,…AROWjが“H”になるため、ヒューズ素子が切断されていないと、CMD ROMBAが“L”であっても、RDECADS1が“H”(図13では、RDECADが“H”)となり、ROM・BLOCK領域となるメモリセルブロックが選択されてしまう。
【0204】
一方、出荷前試験において、全てのロウアドレス信号AROWi,…AROWjが“H”になっても、ヒューズ素子が切断されていれば、CMD ROMBAが“L”であるため、RDECADS1が“L”(図13では、RDECADが“L”)となり、ROM・BLOCK領域となるメモリセルブロックは、選択されない。
【0205】
ヒューズ素子を切断しても、ROM・BLOCK領域に記憶されたデバイス・コードを読み出す必要がある。
【0206】
ROM・BLOCK領域に対するデータ読み出しは、CMD ROMBAを“H”にすることにより達成できる。つまり、CMD ROMBAが“H”、ROM・BLOCK領域内のAROWi,…AROWjが“H”になると、ROM・BLOCK領域となるメモリセルブロックが選択される。
【0207】
また、ヒューズ素子を切断した後においても、特殊なコマンドを入力することで、CMD ROMBA及びROM・BLOCK領域内のAROWi,…AROWjを“H”にすることにより、ROM・BLOCK領域内のデータを書き換えることも可能である。この場合には、CMD ROMBAを“H”にするコマンドは、一般のユーザには非公開にし、不正に、ROM・BLOCK領域内のデータが書き換えられないようにする。
【0208】
なお、本例では、ROM・BLOCK領域のヒューズを切断する場合を説明したが、図13のヒューズや図15の破線X内のヒューズは、メモリセルブロックが不良ブロックである場合にも、切断される。この場合、この不良ブロックは、リダンダンシイ回路により、予備のブロックに置き換えられる。
【0209】
3. 基本動作の説明
以下では、リード、プログラムなどの各動作モードにおける本発明の4値NANDセル型フラッシュメモリ(図1)の主要部、特に、データ回路(図10)の動作について詳細に説明する。
【0210】
動作の説明を行う前に、まず、メモリセルの閾値電圧とプログラミング/リード方法の一例について簡単に説明する。
【0211】
(1) メモリセルの閾値電圧とプログラミング/リード方法
図17は、4値NANDセル型フラッシュメモリのメモリセルの閾値電圧(Vth)の分布を示している。
【0212】
1つのメモリセルには、2ビットデータ(4値データ)が記憶される。本例では、上述したように、2ビットデータを、“11”、“10”、“00”、“01”とする。2ビットデータのうちの1ビットは、論理下位ページデータ(□で示す)として、また、他の1ビットは、論理上位ページデータ(○で示す)として、同一のメモリセルに記憶される。
【0213】
2ビットデータ(“11”、“10”、“00”、“01”)とメモリセルの閾値電圧との関係は、図17に示す関係になる。
【0214】
“11”は、イレーズ状態である。イレーズ状態では、論理下位ページデータの値及び論理上位ページデータの値が、共に、“1”となっている。イレーズ状態のメモリセルは、負の閾値電圧Vthを有する。
【0215】
“10”、“00”、“01”は、ライト状態である。ライト状態のメモリセルは、正の閾値電圧Vthを有する。また、ライト状態のうち、“10”状態は、最も低い閾値電圧を有し、“01”状態は、最も高い閾値電圧を有し、“00”状態は、“10”状態と“01”状態の間の閾値電圧を有する。
【0216】
2ビットデータは、上述のように、論理下位ページデータと論理上位ページデータとからなり、2回の書き込み動作により、メモリセルに書き込まれる。
【0217】
まず、論理下位ページデータのプログラミングが行われる。
当初、全てのメモリセルは、イレーズ状態、即ち、“11”状態にあるものとする。この後、図18に示すように、論理下位ページデータのプログラミングを行うと、メモリセルの閾値電圧Vthの分布は、ライトデータ(論理下位ページデータ)の値(“1”,“0”)に応じて、2つに分けられる。
【0218】
即ち、論理下位ページデータが“1”の場合には、ビット線を“H”にすることで(ワード線はライト電位)、メモリセルのトンネル酸化膜に高電界がかからないようにし、メモリセルの閾値電圧Vthの上昇を防止する。その結果、メモリセルは、イレーズ状態(“11”状態)を維持する(論理下位ページデータ“1”のプログラミング)。
【0219】
一方、論理下位ページデータが“0”の場合には、ビット線を“L”にすることで(ワード線はライト電位)、メモリセルのトンネル酸化膜に高電界を印加し、フローティングゲート電極に電子を注入して、メモリセルの閾値電圧Vthを所定量だけ上昇させる。その結果、メモリセルは、ライト状態(“10”状態)に変化する(論理下位ページデータ“0”のプログラミング)。
【0220】
この後、論理上位ページデータのプログラミングが行われる。
論理上位ページデータのプログラミングは、チップの外部から入力されるライトデータ(即ち、論理上位ページデータ)と、既に、メモリセルにプログラミングされている論理下位ページデータとに基づいて行われる。
【0221】
なお、論理下位ページデータについては、論理上位ページデータのプログラミング前に、メモリセルからデータ回路に読み出し、かつ、保持しておく( Internal data load )。
【0222】
図19に示すように、論理上位ページデータが“1”の場合には、ビット線を“H”にすることで(ワード線はライト電位)、メモリセルのトンネル酸化膜に高電界がかからないようにし、メモリセルの閾値電圧Vthの上昇を防止する。その結果、論理下位ページデータが“1”である“11”状態(イレーズ状態)のメモリセルは、“11”状態をそのまま維持する(論理上位ページデータ“1”のプログラミング)。また、論理下位ページデータが“0”である“10”状態のメモリセルは、“10”状態をそのまま維持する(論理上位ページデータ“1”のプログラミング)。
【0223】
一方、図19に示すように、論理上位ページデータが“0”の場合には、ビット線を“L”にすることで、メモリセルのトンネル酸化膜に高電界を印加し、フローティングゲート電極に電子を注入して、メモリセルの閾値電圧Vthを所定量だけ上昇させる。その結果、論理下位ページデータが“1”である“11”状態(イレーズ状態)のメモリセルは、“01”状態に変化する(論理上位ページデータ“0”のプログラミング)。また、論理下位ページデータが“0”である“10”状態のメモリセルは、“00”状態に変化する(論理上位ページデータ“0”のプログラミング)。
【0224】
つまり、本例では、論理下位ページデータが“1”、論理上位ページデータが“1”のとき、データ“11”がメモリセルに書き込まれ、論理下位ページデータが“0”、論理上位ページデータが“1”のとき、データ“10”がメモリセルに書き込まれる。また、論理下位ページデータが“1”、論理上位ページデータが“0”のとき、データ“01”がメモリセルに書き込まれ、論理下位ページデータが“0”、論理上位ページデータが“0”のとき、データ“00”がメモリセルに書き込まれる。
【0225】
このように、2回のプログラミング動作により、メモリセルの閾値電圧Vthの分布は、4つ(“11”,“10”,“00”,“01”)に分けられる。
【0226】
本例では、論理上位ページデータが“0”のとき、“11”状態のメモリセルは、“01”状態に変化し、“10”状態のメモリセルは、“00”状態に変化する(図19参照)。
【0227】
ここで、図19から明らかなように、“11”状態を“01”状態に変える場合の閾値電圧の変動量は、“10”状態を“00”状態に変える場合の閾値電圧の変動量よりも大きい。つまり、“00”−プログラミングを行うメモリセル及び“01”−プログラミングを行うメモリセルに対して、ライトパルスは、同一条件で与えられるため、“00”−プログラミングは、“01”−プログラミングよりも早く終了する。
【0228】
この場合、“00”−プログラミング終了後の“00”−ベリファイリードを省略し、この後、“01”−ベリファイリードのみを行うようにして、プログラム時間の短縮を図ることもできる。
【0229】
なお、図17において、Vcgv10は、“10”−ベリファイリードに用いるリード電位であり、例えば、0.4Vとなる。Vcgv00は、“00”−ベリファイリードに用いるリード電位(例えば、1.4V)であり、Vcgv01は、“01”−ベリファイリードに用いるリード電位(例えば、2.4V)である。Vreadは、非選択のワード線に与える転送電位である。
【0230】
メモリセルの閾値電圧がVcgr10未満であれば、メモリセルのデータは、“11”であり、メモリセルの閾値電圧が、Vcgr10を超え、Vcgr00を下回る場合には、メモリセルのデータは、“10”であり、メモリセルの閾値電圧が、Vcgr00を超え、Vcgr01を下回る場合には、メモリセルのデータは、“00”であり、メモリセルの閾値電圧がVcgr01を超える場合には、メモリセルのデータは、“01”となる。
【0231】
論理下位ページデータの通常の読み出しは、2回のリード動作(“READ01”,“READ10”)により実現できる。READ01は、リード電位として、Vcgr01(例えば、2V)を用いたリード動作のことであり、READ10は、リード電位として、Vcgr10(例えば、0V)を用いたリード動作のことである。また、論理上位ページデータの読み出しは、1回の読み出し動作(READ“00”)により実現できる。READ00は、リード電位として、Vcgr00(例えば、1V)を用いたリード動作のことである。
【0232】
このように、本例では、合計3回のリード動作により、2ビットデータを読み出すことができ、リード時間の短縮又はリード動作の高速化を達成できる。
【0233】
(2) リード動作
まず、リード動作について説明する。
【0234】
▲1▼ アルゴリズム
図20は、リード動作のアルゴリズムを示している。
【0235】
まず、コマンドインターフェイス回路が、ホストマイコンから提供されるリードコマンドを確認すると、これを受けて、リードコマンドが、ステートマシン(制御回路)内に設定される(ステップS1)。
【0236】
また、アドレス信号が、ホストマイコンからメモリチップ内に供給されると、これを受けて、リードページを選択するためのアドレスが、ステートマシン内に設定される(ステップS2)。
【0237】
ステートマシン内に、リードコマンド及びアドレス信号が設定されると、ステートマシンによる制御の下で、ステップS3からステップS6までの動作が、自動的に実行される。
【0238】
論理下位ページデータのリードを行う場合には、上述のように、2回のリード動作(“READ01”,“READ10”)が実行される(ステップS3〜S5)。後に詳しく説明するが、READ01(Vcgr01=2V)により読み出されたリードデータは、データ記憶部DS1を経由して、データ記憶部DS3に記憶される。READ10(Vcgr10=0V)では、リードデータ及びデータ記憶部DS3のデータに依存するデータが、データ記憶部DS1からデータ記憶部DS4に転送される。
【0239】
論理上位ページデータのリードを行う場合には、1回の読み出し動作(READ“00”)が実行される(ステップS3,S6)。後に詳しく説明するが、READ00(Vcgr00=1V)により読み出されたリードデータは、データ記憶部DS1を経由して、データ記憶部DS4に転送される。
【0240】
データ記憶部4に記憶されたリードデータは、I/O線IO,nIO、センスアンプ、及び、データ入出力バッファを経由して、メモリチップの外部へ出力される。
【0241】
▲2▼ 動作波形による動作説明
以下、図21の動作タイミング図を用いて、具体的な動作説明を行う。
【0242】
リード動作は、論理下位ページデータのリード動作と論理上位ページデータのリード動作とからなる。
【0243】
なお、図21の動作タイミング図において、特に示されていない限り、“L”レベルは、Vss(例えば、0V)、“H”レベルは、Vdd(例えば、3V)である。また、この動作タイミング図では、1つのブロックBLOCKiが選択され、そのブロックBLOCKi内のワード線WL2−iと奇数番目のビット線BLekが選択されるものとする(図3参照)。
【0244】
[1] 論理下位ページデータのリード動作
論理下位ページデータのリード動作は、2回のリード動作、即ち、“READ01”と“READ10”とからなる。まず、“READ01”が行われ、引き続き、“READ10”が行われる。
【0245】
“READ01”及び“READ10”は、それぞれ、これら2つのリード動作に共通のデータリードに関する部分( RCLK 1-E, SCLK 1-E, RRCV 1-E )と、各リード動作で固有のデータトランスファに関する部分( EXCLK ルーティン)とから構成される。
【0246】
[1]-1 “READ01”
“READ01”動作は、リード電位(選択されたワード線WL2−iの電位)をVcgr01(例えば、2V)に設定し、メモリセルのデータが“01”であるか、又は、それ以外のデータ“11”,“10”,“00”であるかを認識する動作である。
【0247】
[1]-1-1 データリード
まず、ビット線側のセレクトゲート線SGD及び非選択のワード線WL0−i,WL1−i,WL3−iに、それぞれ、転送電位Vread(例えば、4.5V)が与えられ、選択されたワード線WL2−iに、リード電位Vcgr01が与えられる( RCLK 1-2 )。
【0248】
制御信号BLPREが“H”となり、NチャネルMOSトランジスタQn6(図10)がオン状態となる。また、制御信号BLCLAMPが、Vclamp(例えば、2V)となり、制御信号BLSeが、Vsghh(例えば、4.5V)となることで、奇数番目のビット線BLekが、所定電位(例えば、1V程度)にプリチャージされる。一方、制御信号BIASoが、Vsghh(例えば、4.5V)となるため、偶数番目のビット線BLokは、Vss(例えば、0V)に固定され、シールドビット線として機能するようになる( RCLK 2-4 )。
【0249】
この後、制御信号BLCLAMPが、Vss(例えば、0V)、制御信号BLPREが“L”となり、奇数番目のビット線BLekは、フローティング状態となる( RCLK 5-7 )。
ソース線側のセレクトゲート線SGSの電位が、転送電位Vreadに設定されると、選択されたメモリセルの状態、即ち、そのメモリセルに記憶されたデータの値に応じて、ビット線BLekの電位に影響が表れる。
【0250】
即ち、選択されたメモリセルのデータが、“11”、“10”、“00”の場合には、リード電位Vcgr01により、この選択されたメモリセルは、オン状態になる。このため、ビット線BLekの電荷が放電され、ビット線BLekの電位は、0.8V以下に低下する(選択ブロック内の非選択のメモリセルは、Vreadにより、オン状態である。)。
【0251】
一方、選択されたメモリセルのデータが、“01”の場合には、リード電位Vcgr01によっては、この選択されたメモリセルは、オン状態にならない。このため、ビット線BLekの電荷が放電されることはなく、ビット線BLekは、プリチャージ電位(約1V)を維持する( RCLK 6-E )。
【0252】
制御信号BLPREが、4.5V程度になり、制御信号VPREが、Vdd(例えば、3V)になることによって、データ記憶部DS1のキャパシタC1の一端、即ち、ノードN2は、Vddに充電される。この後、制御信号BLCLAMPが、Vsense(例えば、1.8V)になると、データ記憶部DS1のキャパシタC1の一端の電位は、以下のように変化する。
【0253】
即ち、ビット線BLekの電位がプリチャージ電位(約1V)のままである場合(メモリセルのデータが“01”の場合)には、NチャネルMOSトランジスタ(クランプトランジスタ)Qn5(図10)は、オフ状態であり、データ記憶部DS1のキャパシタC1の一端の電位は、Vdd(“H”)に維持される。
【0254】
一方、ビット線BLekの電位が0.8V以下である場合(メモリセルのデータが“11”、“10”、“00”の場合)には、NチャネルMOSトランジスタ(クランプトランジスタ)Qn5(図10)は、オン状態であり、データ記憶部DS1のキャパシタC1の一端の電荷は、ビット線BLekに放電され、その電位は、Vddよりも低い値(“L”)に低下する( SCLK 4-5 )。
【0255】
その結果、データ記憶部DS1(キャパシタC1の一端)には、リード電位Vcgr01によるリードデータが記憶される。即ち、メモリセルのデータが“11”、“10”、“00”の場合には、“L”、つまり、“0”−データが記憶され、メモリセルのデータが“01”の場合には、“H”、つまり、“1”−データが記憶される。
【0256】
[1]-1-2 データトランスファ
“READ01”動作では、メモリセルのデータをデータ記憶部DS1に読み出した後、このデータ記憶部DS1に記憶されたリードデータを、データ記憶部DS3に転送するデータトランスファが実行される。この動作は、図22に示すEXCLKルーティンに従う。
【0257】
まず、制御信号SEN1,LAT1が、共に、“L”となり( EXCLK 6 )、かつ、制御信号EQ1が“H”になることで( EXCLK 7-8 )、データ記憶部DS3を構成するフリップフロップ回路(図10)の状態がリセットされる。
【0258】
この後、制御信号BLC1が、4.5Vとなり( EXCLK 9 )、NチャネルMOSトランジスタQn10がオン状態となる。その結果、データ記憶部DS1とデータ記憶部DS3は、互いに電気的に接続される(図10)。
【0259】
制御信号SEN1が“H”になると( EXCLK 10 )、データ記憶部DS1(キャパシタC1の一端)に記憶されたリードデータは、MOSトランジスタQn10を経由して、データ記憶部DS3を構成するクロック同期式インバータCI1によりセンスされる。また、制御信号LAT1が“H”になると( EXCLK 11 )、このリードデータは、データ記憶部DS3に記憶される(図10)。
【0260】
なお、“READ01”動作は、選択されたワード線WL2−iに接続される4256個のメモリセルに対して同時に行われる。
【0261】
[1]-2 “READ10”
“READ10”動作は、リード電位(選択されたワード線WL2−iの電位)をVcgr10(例えば、0V)に設定し、メモリセルのデータが“11”であるか、又は、それ以外のデータ“10”,“00”,“01”であるかを認識する動作である。
【0262】
[1]-2-1 データリード
まず、ビット線側のセレクトゲート線SGD及び非選択のワード線WL0−i,WL1−i,WL3−iに、それぞれ、転送電位Vread(例えば、4.5V)が与えられ、選択されたワード線WL2−iに、リード電位Vcgr10が与えられる( RCLK 1-2 )。
【0263】
制御信号BLPREが“H”となり、NチャネルMOSトランジスタQn6(図10)がオン状態となる。また、制御信号BLCLAMPが、Vclamp(例えば、2V)となり、制御信号BLSeが、Vsghh(例えば、4.5V)となることで、奇数番目のビット線BLekが、所定電位(例えば、1V程度)にプリチャージされる。一方、制御信号BIASoが、Vsghh(例えば、4.5V)となるため、偶数番目のビット線BLokは、Vss(例えば、0V)に固定され、シールドビット線として機能するようになる( RCLK 2-4 )。
【0264】
この後、制御信号BLCLAMPが、Vss(例えば、0V)、制御信号BLPREが“L”となり、奇数番目のビット線BLekは、フローティング状態となる( RCLK 5-7 )。
ソース線側のセレクトゲート線SGSの電位が、転送電位Vreadに設定されると、選択されたメモリセルの状態、即ち、そのメモリセルに記憶されたデータの値に応じて、ビット線BLekの電位に影響が表れる。
【0265】
即ち、選択されたメモリセルのデータが、“11”の場合には、リード電位Vcgr10により、この選択されたメモリセルは、オン状態になる。このため、ビット線BLekの電荷が放電され、ビット線BLekの電位は、0.8V以下に低下する(選択ブロック内の非選択のメモリセルは、Vreadにより、オン状態である。)。
【0266】
一方、選択されたメモリセルのデータが、“10”、“00”、“01”の場合には、リード電位Vcgr10によっては、この選択されたメモリセルは、オン状態にならない。このため、ビット線BLekの電荷が放電されることはなく、ビット線BLekは、プリチャージ電位(約1V)を維持する( RCLK 6-E )。
【0267】
制御信号BLPREが、4.5V程度になり、制御信号VPREが、Vdd(例えば、3V)になることによって、データ記憶部DS1のキャパシタC1の一端、即ち、ノードN2は、Vddに充電される。この後、制御信号BLCLAMPが、Vsense(例えば、1.8V)になると、データ記憶部DS1のキャパシタC1の一端の電位は、以下のように変化する。
【0268】
即ち、ビット線BLekの電位がプリチャージ電位(約1V)のままである場合(メモリセルのデータが“10”、“00”、“01”の場合)には、NチャネルMOSトランジスタ(クランプトランジスタ)Qn5(図10)は、オフ状態であり、データ記憶部DS1のキャパシタC1の一端の電位は、Vdd(“H”)に維持される。
【0269】
一方、ビット線BLekの電位が0.8V以下である場合(メモリセルのデータが“11”の場合)には、NチャネルMOSトランジスタ(クランプトランジスタ)Qn5(図10)は、オン状態であり、データ記憶部DS1のキャパシタC1の一端の電荷は、ビット線BLekに放電され、その電位は、Vddよりも低い値(“L”)に低下する( SCLK 4-5 )。
【0270】
その結果、データ記憶部DS1(キャパシタC1の一端)には、リード電位Vcgr10によるリードデータが記憶される。即ち、メモリセルのデータが“11”の場合には、“L”、つまり、“0”−データが記憶され、メモリセルのデータが“10”、“00”、“01”の場合には、“H”、つまり、“1”−データが記憶される。
【0271】
[1]-2-2 データトランスファ
“READ10”動作では、メモリセルのデータをデータ記憶部DS1に読み出した後、データ記憶部DS1のデータを、データ記憶部DS3のデータ、即ち、“READ01”によりメモリセルから読み出されたリードデータの値に基づいて、維持、又は、強制的に変更する動作、及び、その後、データ記憶部DS1に記憶されたリードデータを、データ記憶部DS4に転送するデータトランスファが実行される。この動作は、図23に示すEXCLKルーティンに従う。
【0272】
まず、制御信号DTGが、4.5Vになり、NチャネルMOSトランジスタQn9(図10)がオン状態となる。その結果、データ記憶部DS2とデータ記憶部DS3が互いに電気的に接続され、データ記憶部DS3のデータは、データ記憶部DS2、即ち、NチャネルMOSトランジスタQn8のゲートに転送される( EXCLK 2-4 )。
【0273】
この後、制御信号REGが“H”になると、データ記憶部DS1に記憶されたリードデータ、即ち、“READ10”によりメモリセルから読み出されたリードデータは、データ記憶部DS3に記憶されたデータの値に応じて、維持、又は、強制的に変更される( EXCLK 3-4 )。
【0274】
例えば、データ記憶部DS3に記憶されているデータが“0”の場合には、NチャネルMOSトランジスタQn8のゲートの電位レベルは、“L”となるため、このNチャネルMOSトランジスタQn8は、オフ状態となる(図10)。従って、データ記憶部DS1は、“READ10”によりメモリセルから読み出されたリードデータの値をそのまま維持する。
【0275】
また、データ記憶部DS3に記憶されているデータが“1”の場合には、NチャネルMOSトランジスタQn8のゲートの電位レベルは、“H”となるため、このNチャネルMOSトランジスタQn8は、オン状態となる(図10)。従って、データ記憶部DS1のデータは、“READ10”によりメモリセルから読み出されたリードデータの値にかかわらず、強制的に、“0”に設定される。
【0276】
この後、制御信号SEN2,LAT2が、共に、“L”となり( EXCLK 6 )、かつ、制御信号EQ2が“H”になることで( EXCLK 7-8 )、データ記憶部DS4を構成するフリップフロップ回路(図10)の状態がリセットされる。
【0277】
この後、制御信号BLC2が、4.5Vとなり( EXCLK 9 )、NチャネルMOSトランジスタQn12がオン状態となる。その結果、データ記憶部DS1とデータ記憶部DS4は、互いに電気的に接続される(図10)。
【0278】
制御信号SEN2が“H”になると( EXCLK 10 )、データ記憶部DS1(キャパシタC1の一端)に記憶されたリードデータは、MOSトランジスタQn12を経由して、データ記憶部DS4を構成するクロック同期式インバータCI4によりセンスされる。また、制御信号LAT2が“H”になると( EXCLK 11 )、このリードデータは、データ記憶部DS4に記憶される(図10)。
【0279】
なお、“READ10”動作は、選択されたワード線WL2−iに接続される4256個のメモリセルに対して同時に行われる。
【0280】
[1]-3 まとめ
図25は、論理下位ページデータのリード動作におけるリードデータの流れを簡単に示したものである。
【0281】
“READ01”では、リード電位としてVcgr01(例えば、2V)を用いてリード動作を実行し、そのときのリードデータをデータ記憶部DS1に記憶する。即ち、選択されたメモリセルのデータが“11”、“10”、“00”の場合には、キャパシタC1の一端(ノードN2)の電位は、“L”となり、選択されたメモリセルのデータが“01”の場合には、キャパシタC1の一端(ノードN2)の電位は、“H”となる(▲1▼)。
【0282】
この後、データ記憶部DS1のデータは、データ記憶部DS3に転送され、かつ、記憶される(▲1▼)。
【0283】
“READ01”が終了した時点では、データ記憶部DS3のデータが“H”のときは、メモリセルのデータは、“01”、即ち、論理下位ページデータは、“1”であることが判明するが、データ記憶部DS3のデータが“L”のときは、メモリセルのデータは、“11”、“10”、“00”のうちのいずれか1つであり、論理下位ページデータの値を、特定することはできない。
【0284】
そこで、“READ01”に引き続き、“READ10”が行われる。
【0285】
“READ10”では、リード電位としてVcgr10(例えば、0V)を用いてリード動作を実行し、そのときのリードデータをデータ記憶部DS1に記憶する。即ち、選択されたメモリセルのデータが“11”の場合には、キャパシタC1の一端(ノードN2)の電位は、“L”となり、選択されたメモリセルのデータが“10”、“00”、“01”の場合には、キャパシタC1の一端(ノードN2)の電位は、“H”となる。
【0286】
但し、データ記憶部DS3のデータが“H”のとき、即ち、メモリセルのデータが“01”のときに関しては、NチャネルMOSトランジスタQn8をオン状態にして、キャパシタC1の一端(ノードN2)の電位を、強制的に、“L”に変更する(▲2▼)。
【0287】
その結果、選択されたメモリセルのデータが“11”、“01”のときには、データ記憶部DS1のデータは、“L”となるため、選択されたメモリセルの論理下位ページデータとして、“1”が確認される。また、選択されたメモリセルのデータが“10”、“00”のときには、データ記憶部DS1のデータは、“H”となるため、選択されたメモリセルの論理下位ページデータとして、“0”が確認される(▲2▼)。
【0288】
なお、この時点では、“L”=“0”及び“H”=“1”の関係が逆転している。即ち、“L”=“1”及び“H”=“0”の関係となっている。
【0289】
この後、データ記憶部DS1のデータは、データ記憶部DS4に転送され、かつ、記憶される。データ記憶部DS4のデータは、カラムセレクト信号CSLk(図10)が“H”になることで、I/O線(IO,nIO)に出力され、かつ、データ入出力バッファを経由して、メモリチップの外部に出力される。
【0290】
[2] 論理上位ページデータのリード動作
論理上位ページデータのリード動作は、1回のリード動作、即ち、“READ00”からなる。“READ00”は、データリードに関する部分( RCLK 1-E, SCLK 1-E, RRCV 1-E )と、データトランスファに関する部分( EXCLK ルーティン)とから構成される。
【0291】
[2]-1 “READ00”
“READ00”動作は、リード電位(選択されたワード線WL2−iの電位)をVcgr00(例えば、1V)に設定し、メモリセルのデータが、“11”、“10”(論理上位ページデータが“1”)であるか、又は、“00”,“01”(論理上位ページデータが“0”)であるかを認識する動作である。
【0292】
[2]-1-1 データリード
まず、ビット線側のセレクトゲート線SGD及び非選択のワード線WL0−i,WL1−i,WL3−iに、それぞれ、転送電位Vread(例えば、4.5V)が与えられ、選択されたワード線WL2−iに、リード電位Vcgr00が与えられる( RCLK 1-2 )。
【0293】
制御信号BLPREが“H”となり、NチャネルMOSトランジスタQn6(図10)がオン状態となる。また、制御信号BLCLAMPが、Vclamp(例えば、2V)となり、制御信号BLSeが、Vsghh(例えば、4.5V)となることで、奇数番目のビット線BLekが、所定電位(例えば、1V程度)にプリチャージされる。一方、制御信号BIASoが、Vsghh(例えば、4.5V)となるため、偶数番目のビット線BLokは、Vss(例えば、0V)に固定され、シールドビット線として機能するようになる( RCLK 2-4 )。
【0294】
この後、制御信号BLCLAMPが、Vss(例えば、0V)、制御信号BLPREが“L”となり、奇数番目のビット線BLekは、フローティング状態となる( RCLK 5-7 )。
ソース線側のセレクトゲート線SGSの電位が、転送電位Vreadに設定されると、選択されたメモリセルの状態、即ち、そのメモリセルに記憶されたデータの値に応じて、ビット線BLekの電位に影響が表れる。
【0295】
即ち、選択されたメモリセルのデータが、“11”、“10”の場合には、リード電位Vcgr00により、この選択されたメモリセルは、オン状態になる。このため、ビット線BLekの電荷が放電され、ビット線BLekの電位は、0.8V以下に低下する(選択ブロック内の非選択のメモリセルは、Vreadにより、オン状態である。)。
【0296】
一方、選択されたメモリセルのデータが、“00”、“01”の場合には、リード電位Vcgr00によっては、この選択されたメモリセルは、オン状態にならない。このため、ビット線BLekの電荷が放電されることはなく、ビット線BLekは、プリチャージ電位(約1V)を維持する( RCLK 6-E )。
【0297】
制御信号BLPREが、4.5V程度になり、制御信号VPREが、Vdd(例えば、3V)になることによって、データ記憶部DS1のキャパシタC1の一端、即ち、ノードN2は、Vddに充電される。この後、制御信号BLCLAMPが、Vsense(例えば、1.8V)になると、データ記憶部DS1のキャパシタC1の一端の電位は、以下のように変化する。
【0298】
即ち、ビット線BLekの電位がプリチャージ電位(約1V)のままである場合(メモリセルのデータが“00”、“01”の場合)には、NチャネルMOSトランジスタ(クランプトランジスタ)Qn5(図10)は、オフ状態であり、データ記憶部DS1のキャパシタC1の一端の電位は、Vdd(“H”)に維持される。
【0299】
一方、ビット線BLekの電位が0.8V以下である場合(メモリセルのデータが“11”、“10”の場合)には、NチャネルMOSトランジスタ(クランプトランジスタ)Qn5(図10)は、オン状態であり、データ記憶部DS1のキャパシタC1の一端の電荷は、ビット線BLekに放電され、その電位は、Vddよりも低い値(“L”)に低下する( SCLK 4-5 )。
【0300】
その結果、データ記憶部DS1(キャパシタC1の一端)には、リード電位Vcgr00によるリードデータが記憶される。即ち、メモリセルのデータが“11”、“10”の場合には、“L”、つまり、“1”−データが記憶され、メモリセルのデータが“00”、“01”の場合には、“H”、つまり、“0”−データが記憶される。
【0301】
なお、この時点では、“L”=“0”及び“H”=“1”の関係が逆転している。即ち、“L”=“1”及び“H”=“0”の関係となっている。
【0302】
[2]-1-2 データトランスファ
“READ00”動作では、メモリセルのデータをデータ記憶部DS1に読み出した後、このデータ記憶部DS1に記憶されたリードデータを、データ記憶部DS4に転送するデータトランスファが実行される。この動作は、図24に示すEXCLKルーティンに従う。
【0303】
まず、制御信号SEN2,LAT2が、共に、“L”となり( EXCLK 6 )、かつ、制御信号EQ2が“H”になることで( EXCLK 7-8 )、データ記憶部DS4を構成するフリップフロップ回路(図10)の状態がリセットされる。
【0304】
この後、制御信号BLC2が、4.5Vとなり( EXCLK 9 )、NチャネルMOSトランジスタQn12がオン状態となる。その結果、データ記憶部DS1とデータ記憶部DS4は、互いに電気的に接続される(図10)。
【0305】
制御信号SEN2が“H”になると( EXCLK 10 )、データ記憶部DS1(キャパシタC1の一端)に記憶されたリードデータは、MOSトランジスタQn12を経由して、データ記憶部DS4を構成するクロック同期式インバータCI4によりセンスされる。また、制御信号LAT2が“H”になると( EXCLK 11 )、このリードデータは、データ記憶部DS4に記憶される(図10)。
【0306】
なお、“READ00”動作は、選択されたワード線WL2−iに接続される4256個のメモリセルに対して同時に行われる。
【0307】
[2]-3 まとめ
図26は、論理上位ページデータのリード動作におけるリードデータの流れを簡単に示したものである。
【0308】
“READ00”では、リード電位としてVcgr00(例えば、1V)を用いてリード動作を実行し、そのときのリードデータをデータ記憶部DS1に記憶する。即ち、選択されたメモリセルのデータが“11”、“10”(論理上位ページデータが“1”)の場合には、キャパシタC1の一端(ノードN2)の電位は、“L”となり、選択されたメモリセルのデータが“00”、“01”(論理上位ページデータが“0”)の場合には、キャパシタC1の一端(ノードN2)の電位は、“H”となる。
【0309】
なお、この時点では、“L”=“0”及び“H”=“1”の関係が逆転している。即ち、“L”=“1”及び“H”=“0”の関係となっている。
【0310】
この後、制御信号BLC2が4.5Vになることにより、データ記憶部DS1のデータは、データ記憶部DS4に転送され、かつ、記憶される。データ記憶部DS4のデータは、カラムセレクト信号CSLk(図10)が“H”になることで、I/O線(IO,nIO)に出力され、かつ、データ入出力バッファを経由して、メモリチップの外部に出力される。
【0311】
(3) プログラム動作
次に、プログラム動作について説明する。
【0312】
▲1▼ アルゴリズム
[1] プログラム動作1
図27乃至図29は、プログラム動作のアルゴリズムの一例を示している。
この例は、 Pass Write と呼ばれる書き込み原理を採用したときのアルゴリズムとなっている。 Pass Write とは、プログラムベリファイをパスしたメモリセルに対して、再び、プログラム動作を実行し、その閾値電圧を高精度に制御する、即ち、閾値分布の幅を狭くする手法(2度書き)であり、1度目のプログラムと2度目のプログラムとからなる。
【0313】
なお、1度目のプログラムは、 1st Pass と呼ばれ、2度目のプログラムは、 2nd Pass と呼ばれる。
【0314】
まず、コマンドインターフェイス回路が、ホストマイコンから提供されるデータ入力コマンドを受け取り、これを受けて、データ入力コマンドが、ステートマシン(制御回路)内に設定される(ステップS1)。
【0315】
また、アドレス信号が、ホストマイコンからメモリチップ内に供給されると、これを受けて、プログラムの対象となるページを選択するためのアドレスが、ステートマシン内に設定される(ステップS2)。
【0316】
そして、1ページ分のプログラムデータが、データ入出力バッファを経由して、メモリチップ内に入力されると、これら1ページ分のプログラムデータは、データ記憶部DS4に記憶される(ステップS3)。なお、データ記憶部DS4は、1ページに対応する数だけ存在する。
【0317】
この後、コマンドインターフェイス回路が、ホストマイコンから提供されるライトコマンドを確認すると、これを受けて、ライトコマンドが、ステートマシン内に設定される(ステップS4)。その結果、ステートマシンによる制御の下で、図28のステップS5から図29のステップS28までの動作が、自動的に実行される。
【0318】
[1]-1 1st Pass
まず、図28に示される1度目のプログラム (1st Pass) が実行される。
データ記憶部DS4に記憶されているプログラムデータは、データ記憶部DS2,DS3にそれぞれコピーされる(ステップS5)。
【0319】
この後、もし、プログラムの対象となるページが論理上位ページであるならば、ライト動作に先立って、 Internal Data Load が実行される(ステップS6)。Internal Data Load とは、プログラムの対象となる論理上位ページを有する選択されたメモリセルの論理下位ページに記憶されたデータを読み出す動作のことである。
【0320】
Internal Data Load が必要である理由は、選択されたメモリセルの論理上位ページに書き込むデータが同じであっても、その選択されたメモリセルの論理下位ページに記憶されたデータの値によって、ライト動作で目標とする閾値電圧が異なってくるためである(図19参照)。
【0321】
Internal Data Load によって読み出された論理下位ページデータは、データ記憶部DS1を経由して、データ記憶部DS4に記憶される。
【0322】
ここで、注意する点は、論理下位ページデータが“1”の場合には、Internal Data Load によるリードデータは、“0”(=“L”)であり、“0”−データがデータ記憶部DS4(ノードN4)に記憶されること、また、論理下位ページデータが“0”の場合には、Internal Data Load によるリードデータは、“1”(=“H”)であり、“1”−データがデータ記憶部DS4(ノードN4)に記憶されることである。
【0323】
但し、この現象については、動作的に全く問題なく、かえって、後述する 2nd Pass における “Verify00 (2ndPass)”を実行するのに好都合となっている。
【0324】
この後、論理下位ページに対するプログラムならば、ライト電圧Vpgmを12Vに設定し、論理上位ページに対するプログラムならば、ライト電圧Vpgmを13Vに設定する。また、ステートマシーン内のプログラムカウンタの値PCを0に設定する(ステップS7)。なお、プログラムカウンタの値PCは、ライト動作の回数を表している。
【0325】
次に、ライト動作を実行する(ステップS8)。
データ記憶部DS3に記憶されたプログラムデータが“0”の場合には、例えば、基板とフローティングゲート電極との間に高電圧を与え、フローティングゲート電極に電子を注入し、メモリセルの閾値電圧を上げる (“0”-programming)。データ記憶部DS3に記憶されたプログラムデータが“1”の場合には、例えば、基板とフローティングゲート電極との間に高電圧が与えられないようにし、フローティングゲート電極に対する電子の注入を防止し、メモリセルの閾値電圧を変化させない (“1”-programming)。
【0326】
このライト動作を行った後に、プログラムカウンタの値PCに“1”を加える(ステップS8)。
【0327】
この後、データ記憶部DS3に記憶されたデータに基づいて、プログラムベリファイが Pass の状態(プログラムが完了している状態)になっているか、又は、NGの状態(プログラムが完了していない状態)になっているかを判定する(ステップS9)。
【0328】
ここで、最初のライト動作の直後においては、“Verify00 (1stPass)”及び“Verify10 (1stPass)”は、一度も行われていないため、データ記憶部DS3は、プログラムデータそのものを記憶している。
【0329】
全てのカラム内のデータ記憶部DS3(例えば、4256個)が“1”−データを記憶している場合、即ち、論理下位ページ又は論理上位ページに対するプログラムデータが全て“1”の場合には、全てのカラムにおいて、図10のNチャネルMOSトランジスタQn17は、オフ状態であり、例えば、図8のFLAGは、“H”を維持する。
【0330】
従って、プログラムベリファイが Pass の状態(プログラムが完了している状態)になっていると判断され、 2nd Pass へ移行する(ステップS15)。
【0331】
これに対して、少なくとも1つのカラム内のデータ記憶部DS3が“0”−データを記憶している場合、即ち、論理下位ページ又は論理上位ページに対するプログラムデータの少なくとも1つが“0”の場合には、“0”−データを記憶するデータ記憶部DS3に接続されるNチャネルMOSトランジスタQn17(図10)は、オン状態であり、例えば、図8のFLAGは、“L”になる。
【0332】
従って、プログラムベリファイが NG の状態(プログラムが完了していない状態)になっていると判断され、“Verify00 (1stPass)”又は“Verify10 (1stPass)”へ移行する。
【0333】
論理下位ページに対するプログラムであれば、“Verify10 (1stPass)”が実行される(ステップS12)。
【0334】
“Verify10 (1stPass)”とは、プログラムの対象となる選択されたメモリセルに対して、リード電位Vcgv10(図17参照)を用いてリード動作を実行し、このリード動作により得られるリードデータとデータ記憶部DS2のデータ(プログラムデータ)とに基づいて、データ記憶部DS3に新たに記憶するデータの値を決定する動作のことである。
【0335】
論理下位ページに対するプログラムの場合、当初は、プログラムの対象となる選択された全てのメモリセルは、“11”状態になっている。このため、 “1”-programming の対象となるメモリセル(“1”−データを記憶するデータ記憶部DS3に対応するメモリセル)に関しては、閾値電圧の変動はないため、“Verify10 (1stPass)”により読み出されるリードデータは、常に、“0”である。
【0336】
従って、データ記憶部DS1には、“0”が記憶される。しかし、後述するように、データ記憶部DS2に“1”が記憶されている場合には、データ記憶部DS1のデータは、リードデータにかかわらず、強制的に、“1”に変更させられる。つまり、この“1”−データが、データ記憶部DS1から、再び、データ記憶部DS3に記憶される。
【0337】
一方、“0”-programming の対象となるメモリセル(“0”−データを記憶するデータ記憶部DS3に対応するメモリセル)に関しては、ライト動作(ステップS8)により十分に閾値電圧が上昇(プログラムが完了)している場合には、“Verify10 (1stPass)”により読み出されるリードデータは、“1”となる。
【0338】
従って、データ記憶部DS1には、“1”が記憶される。この“1”−データは、データ記憶部DS1からデータ記憶部DS3に転送される。つまり、データ記憶部DS3のデータは、“0”から“1”に変わる。
【0339】
また、“0”-programming の対象となるメモリセル(“0”−データを記憶するデータ記憶部DS3に対応するメモリセル)に関し、ライト動作(ステップS8)により十分に閾値電圧が上昇していない(プログラムが完了していない)場合には、“Verify10 (1stPass)”により読み出されるリードデータは、“0”となる。
【0340】
従って、データ記憶部DS1には、“0”が記憶される。この“0”−データは、データ記憶部DS1からデータ記憶部DS3に転送される。つまり、データ記憶部DS3のデータは、“0”を維持する。
【0341】
論理上位ページに対するプログラムであれば、“Verify00 (1stPass)”が実行される(ステップS11)。
【0342】
“Verify00 (1stPass)”とは、プログラムの対象となる選択されたメモリセルに対して、リード電位Vcgv00(図17参照)を用いてリード動作を実行し、このリード動作により得られるリードデータとデータ記憶部DS2のデータ(プログラムデータ)とに基づいて、データ記憶部DS3に新たに記憶するデータの値を決定する動作のことである。
【0343】
論理上位ページに対するプログラムの場合、当初は、プログラムの対象となる選択されたメモリセルは、“11”状態又は“10”状態になっている。このため、 “1”-programming の対象となるメモリセル(“1”−データを記憶するデータ記憶部DS3に対応するメモリセル)に関しては、閾値電圧の変動はないため、“Verify00 (1stPass)”により読み出されるリードデータは、常に、“0”である。
【0344】
従って、データ記憶部DS1には、“0”が記憶される。しかし、後述するように、データ記憶部DS2に“1”が記憶されている場合には、データ記憶部DS1のデータは、リードデータにかかわらず、強制的に、“1”に変更させられる。つまり、この“1”−データが、データ記憶部DS1から、再び、データ記憶部DS3に記憶される。
【0345】
一方、“0”-programming の対象となるメモリセル(“0”−データを記憶するデータ記憶部DS3に対応するメモリセル)に関しては、ライト動作(ステップS8)により十分に閾値電圧が上昇(プログラムが完了)している場合には、“Verify00 (1stPass)”により読み出されるリードデータは、“1”となる。
【0346】
従って、データ記憶部DS1には、“1”が記憶される。この“1”−データは、データ記憶部DS1からデータ記憶部DS3に転送される。つまり、データ記憶部DS3のデータは、“0”から“1”に変わる。
【0347】
なお、この段階では、“0”-programming の対象となるメモリセルは、全て、“00”状態となるが、Internal Data Load (ステップS6)により読み出された論理下位ページデータ(データ記憶部DS4に記憶されている)に基づいて、 2nd Pass で、“Verify00 (2ndPass)”を行う(“00”状態と“01”状態とに分ける)ため、論理下位ページデータを壊すことなく、論理上位ページデータをプログラムすることができる。
【0348】
また、“0”-programming の対象となるメモリセル(“0”−データを記憶するデータ記憶部DS3に対応するメモリセル)に関し、ライト動作(ステップS8)により十分に閾値電圧が上昇していない(プログラムが完了していない)場合には、“Verify00 (1stPass)”により読み出されるリードデータは、“0”となる。
【0349】
従って、データ記憶部DS1には、“0”が記憶される。この“0”−データは、データ記憶部DS1からデータ記憶部DS3に転送される。つまり、データ記憶部DS3のデータは、“0”を維持する。
【0350】
この後、もし、プログラムカウンタの値PCが、予め設定された最大ライト回数 PC max 1st に達したならば、ステートマシーン内のステータスレジスタに、 Fail (プログラム不良)を設定し、プログラム動作を終了する(ステップS13,S16)。
【0351】
また、もし、プログラムカウンタの値PCが、予め設定された最大ライト回数PC max 1st よりも小さいならば、ライト電圧Vpgmを、例えば、0.2V程度上昇(ステップアップ)させた後、再度、ライト動作を実行する(ステップS13,S14,S8)。
【0352】
この後、プログラムベリファイが行われるが(ステップS9)、上述したように、“1”-programming の場合には、データ記憶部DS3のデータは、常に、“1”となっている。また、“0”-programming の場合には、“0”-programming が完了している場合には、データ記憶部DS3のデータは、“0”から“1”に変更され、“0”-programming が完了していない場合のみに、データ記憶部DS3のデータは、“0”を維持する。
【0353】
従って、プログラムの対象となる選択された全てのメモリセルに対して、プログラミング(“1”-programming 又は “0”-programming )が完了している場合には、全てのデータ記憶部DS3が“1”−データを記憶していることになる。つまり、全てのカラムにおいて、図10のNチャネルMOSトランジスタQn17は、オフ状態であり、図8のFLAGが“H”(プログラムベリファイが Pass の状態)となって、 2nd Pass へ移行する(ステップS15)。
【0354】
また、プログラムの対象となる選択されたメモリセルの少なくとも1つに対して、プログラミング(“0”-programming )が完了していない場合には、少なくとも1つのデータ記憶部DS3が“0”−データを記憶していることになる。つまり、少なくとも1つのカラムにおいて、図10のNチャネルMOSトランジスタQn17は、オン状態となり、図8のFLAGが“L”(プログラムベリファイが NG の状態)となって、再び、ベリファイリードとライト動作が繰り返される(ステップS10〜S14,S16、S8)。
【0355】
このように、データ記憶部DS3に記憶されたデータに基づいて、プログラムが完了したか否かを判断できる。
【0356】
[1]-2 2nd Pass
1度目のプログラム (1st Pass) のステップS9において、プログラムベリファイが Pass の場合には、引き続き、2度目のプログラム (2nd Pass) が実行される。
2nd Pass では、まず、データ記憶部DS2に記憶されているプログラムデータを、データ記憶部DS3にコピーバックする(ステップS17)。
【0357】
このコピーバックは、以下の意義を有する。
当初、プログラムデータは、データ記憶部DS2,DS3に記憶される(ステップS5)。しかし、1st Pass では、上述したように、データ記憶部DS3のデータは、“Verify10 (1stPass)”又は“Verify00(1stPass)”の結果によって変わる。最終的、即ち、1st Pass のステップS9において、プログラムベリファイが Pass の場合には、全てのデータ記憶部DS3の値は、“1”となっている。
【0358】
そこで、2nd Pass では、データ記憶部DS3に再びプログラムデータを記憶させるため、データ記憶部DS2からデータ記憶部DS3にプログラムデータを転送する。これが、ステップS17のコピーバックの意義である。
【0359】
この後、論理下位ページに対するプログラムならば、ライト電圧Vpgmを12Vに再設定し、論理上位ページに対するプログラムならば、ライト電圧Vpgmを13Vに再設定する。また、ステートマシーン内のプログラムカウンタの値PCを0に再設定する(ステップS7)。
【0360】
次に、“Verify10 (2ndPass)”又は“Verify01”が実行される。
【0361】
論理下位ページに対するプログラムであれば、“Verify10 (2ndPass)”が実行される(ステップS19〜ST20)。
【0362】
“Verify10 (2ndPass)”とは、プログラムの対象となる選択されたメモリセルに対して、リード電位Vcgv10(図17参照)を用いてリード動作を実行し、このリード動作により得られるリードデータとデータ記憶部DS2のデータ(プログラムデータ)とに基づいて、データ記憶部DS3に新たに記憶するデータの値を決定する動作のことである。
【0363】
2nd Pass では、“1”-programming の対象となるメモリセル(“1”−データを記憶するデータ記憶部DS3に対応するメモリセル)に関しては、“11”状態を維持しているため、“Verify10 (2ndPass)”により読み出されるリードデータも、常に、“0”である。
【0364】
従って、データ記憶部DS1には、“0”が記憶される。また、データ記憶部DS2に“1”が記憶されているため、データ記憶部DS1のデータは、リードデータにかかわらず、強制的に、“1”に変更させられる。このため、“1”−データが、データ記憶部DS1からデータ記憶部DS3に転送される。
【0365】
一方、“0”-programming の対象となるメモリセル(“0”−データを記憶するデータ記憶部DS3に対応するメモリセル)に関しては、1st Pass により、ほぼ“10”状態になっているものと考えられる。
【0366】
十分に閾値電圧が上昇(プログラムが完了)しているメモリセルについては、“Verify10 (2ndPass)”により読み出されるリードデータは、“1”となる。
【0367】
従って、データ記憶部DS1には、“1”が記憶される。この“1”−データは、データ記憶部DS1からデータ記憶部DS3に転送される。つまり、データ記憶部DS3のデータは、“0”から“1”に変わる。
【0368】
十分に閾値電圧が上昇していない(プログラムが完了していない)メモリセルについては、“Verify10 (1stPass)”により読み出されるリードデータは、“0”となる。
【0369】
従って、データ記憶部DS1には、“0”が記憶される。この“0”−データは、データ記憶部DS1からデータ記憶部DS3に転送される。つまり、データ記憶部DS3のデータは、“0”を維持する。
【0370】
論理上位ページに対するプログラムであれば、“Verify01”及び“Verify00 (2ndPass)”が連続して実行される(ステップS21〜S22)。
【0371】
“Verify01”とは、プログラムの対象となる選択されたメモリセルに対して、リード電位Vcgv01(図17参照)を用いてリード動作を実行し、このリード動作により得られるリードデータとデータ記憶部DS2のデータ(プログラムデータ)とに基づいて、データ記憶部DS3に新たに記憶するデータの値を決定する動作のことである。
【0372】
“Verify00 (2ndPass)”とは、プログラムの対象となる選択されたメモリセルに対して、リード電位Vcgv00(図17参照)を用いてリード動作を実行し、このリード動作により得られるリードデータとデータ記憶部DS2のデータ(プログラムデータ)とデータ記憶部DS4のデータ(論理下位ページデータ)とに基づいて、データ記憶部DS3に新たに記憶するデータの値を決定する動作のことである。
【0373】
2nd Pass では、“1”-programming の対象となるメモリセル(“1”−データを記憶するデータ記憶部DS3に対応するメモリセル)に関しては、“11”状態又は“10”状態を維持しているため、“Verify01”により読み出されるリードデータも、常に、“0”である。
【0374】
従って、データ記憶部DS1には、“0”が記憶される。また、データ記憶部DS2に“1”が記憶されているため、データ記憶部DS1のデータは、リードデータにかかわらず、強制的に、“1”に変更させられる。このため、“1”−データが、データ記憶部DS1からデータ記憶部DS3に転送される。
【0375】
また、“Verify00 (2ndPass)”により読み出されるリードデータも、常に、“0”である。
【0376】
従って、データ記憶部DS1には、“0”が記憶される。しかし、データ記憶部DS2に“1”が記憶されているため、データ記憶部DS1のデータは、リードデータ及びデータ記憶部DS4の論理下位ページデータにかかわらず、強制的に、“1”に変更させられる。このため、“1”−データが、データ記憶部DS1からデータ記憶部DS3に転送される。
【0377】
一方、“0”-programming の対象となるメモリセル(“0”−データを記憶するデータ記憶部DS3に対応するメモリセル)に関しては、1st Pass により、“00”状態になっているものと考えられる。
【0378】
従って、最初のうちは、“Verify01”により読み出されるリードデータは、“0”となる。このため、データ記憶部DS1には、“0”が記憶される。この“0”−データは、データ記憶部DS1からデータ記憶部DS3に転送される。つまり、データ記憶部DS3のデータは、“0”を維持する。
【0379】
この後、“Verify01”に引き続き、“Verify00 (2ndPass)”が実行される。
【0380】
十分に閾値電圧が上昇( “00”-programmingが完了)しているメモリセルについては、“Verify00 (2ndPass)”により読み出されるリードデータは、“1”となる。
【0381】
従って、データ記憶部DS1には、“1”が記憶される。
【0382】
しかし、ここで、データ記憶部DS1のデータは、データ記憶部DS4に記憶された論理下位ページデータに影響を受ける。
即ち、論理下位ページデータが“1”の場合には、データ記憶部DS4(ノードN4)は、“0”(=“L”)を記憶している。従って、データ記憶部DS1のデータは、強制的に、“0”に変更される。これは、論理下位ページデータが“1”のときに、論理上位ページデータとして“0”をプログラムするときは、メモリセルを“01”状態(図19参照)にすることを意味する。
【0383】
この“0”−データは、データ記憶部DS1からデータ記憶部DS3に転送される。つまり、データ記憶部DS3のデータは、“0”のままである。
【0384】
論理下位ページデータが“0”の場合には、データ記憶部DS4(ノードN4)は、“1”(=“H”)を記憶している。従って、データ記憶部DS1のデータは、“1”のままである。
【0385】
この“1”−データは、データ記憶部DS1からデータ記憶部DS3に転送される。つまり、データ記憶部DS3のデータは、“0”から“1”に変わる。
【0386】
ところで、上述のように、論理上位ページデータとして、“0”をプログラミングするときは、論理下位ページデータが“0”のときは、メモリセルは、“00”状態にし、論理下位ページデータが“1”のときは、メモリセルは、“01”状態にしなければならない。
【0387】
また、 1st Pass が終了した時点では、論理上位ページデータとして、“0”をプログラミングするメモリセルは、論理下位ページデータの値にかかわらず、“00”状態になっている。
【0388】
本例のシーケンスでは、“Verify01”の直後に“Verify00 (2ndPass)”を連続して行っているため、論理下位ページデータが“1”のメモリセルのみの閾値電圧を、ライト動作及び“Verify01”により上昇させ、“01”状態にすることができる。言い換えると、論理下位ページデータが“0”のメモリセルについては、“Verify00 (2ndPass)”により、ライト動作(フローティングゲート電極に対する電子の注入)を、“00”状態になった時点で止めることができる。
【0389】
この後、もし、プログラムカウンタの値PCが、予め設定された最大ライト回数 PC max 2nd に達したならば、ステートマシーン内のステータスレジスタに、 Fail (プログラム不良)を設定し、プログラム動作を終了する(ステップS23,S28)。
【0390】
また、もし、プログラムカウンタの値PCが、予め設定された最大ライト回数PC max 2nd よりも小さいならば、ライト電圧Vpgmを、例えば、0.2V程度上昇(ステップアップ)させた後、ライト動作を実行する(ステップS23,S24,S25)。
【0391】
データ記憶部DS3に記憶されたプログラムデータが“0”の場合には、例えば、基板とフローティングゲート電極との間に高電圧を与え、フローティングゲート電極に電子を注入し、メモリセルの閾値電圧を上げる (“0”-programming)。データ記憶部DS3に記憶されたプログラムデータが“1”の場合には、例えば、基板とフローティングゲート電極との間に高電圧が与えられないようにし、フローティングゲート電極に対する電子の注入を防止し、メモリセルの閾値電圧を変化させない (“1”-programming)。
【0392】
このライト動作を行った後に、プログラムカウンタの値PCに“1”を加える(ステップS25)。
【0393】
この後、データ記憶部DS3に記憶されたデータに基づいて、プログラムベリファイを実行し、プログラムベリファイが Pass (プログラムが完了している状態)であるか、又は、NG(プログラムが完了していない状態)であるかを判定する(ステップS26)。
【0394】
論理上位ページに対するプログラムデータが“1”( “1”-programming )の場合には、データ記憶部DS3のデータは、常に、“1”となっている。
【0395】
また、論理上位ページに対するプログラムデータが“0”で、論理下位ページデータが“0”の場合( “00”-programming )の場合には、“00”-programming が完了している場合には、データ記憶部DS3のデータは、“Verify00 (2ndPass)”により、“0”から“1”に変更される。
【0396】
また、論理上位ページに対するプログラムデータが“0”で、論理下位ページデータが“1”の場合( “01”-programming )の場合には、“01”-programming が完了している場合には、データ記憶部DS3のデータは、“Verify01”により、“0”から“1”に変更される。
【0397】
従って、プログラムの対象となる選択された全てのメモリセルに対して、プログラミング(“00”-programming 又は “01”-programming )が完了している場合には、全てのデータ記憶部DS3が“1”−データを記憶していることになる。つまり、全てのカラムにおいて、図10のNチャネルMOSトランジスタQn17は、オフ状態であり、図8のFLAGが“H”(プログラムベリファイが Pass の状態)となる。そして、ステートマシーン内のステータスレジスタに、 Pass (プログラム完了)を設定し、プログラム動作を終了する(ステップS26,S27)。
【0398】
また、プログラムの対象となる選択されたメモリセルの少なくとも1つに対して、プログラミング(“01”-programming )が完了していない場合には、少なくとも1つのデータ記憶部DS3が“0”−データを記憶していることになる。つまり、少なくとも1つのカラムにおいて、図10のNチャネルMOSトランジスタQn17は、オン状態となり、図8のFLAGが“L”(プログラムベリファイが NG の状態)となって、再び、ベリファイリードとライト動作が繰り返される(ステップS19〜S25,S28)。
【0399】
このように、データ記憶部DS3に記憶されたデータに基づいて、プログラムが完了したか否かを判断できる。
【0400】
[2] プログラム動作2
図30は、プログラム動作のアルゴリズムの他の例を示している。
この例は、 Quick Pass Write (QPW) と呼ばれる書き込み原理を採用したときのアルゴリズムとなっている。 Quick Pass Write とは、Pass Write(2度書き)の改良例であり、 Pass Write における 1st Pass と 2nd Pass を並列処理して、書き込み時間の短縮を図った点に特徴を有する。
【0401】
まず、コマンドインターフェイス回路が、ホストマイコンから提供されるデータ入力コマンドを受け取り、これを受けて、データ入力コマンドが、ステートマシン(制御回路)内に設定される(ステップS1)。
【0402】
また、アドレス信号が、ホストマイコンからメモリチップ内に供給されると、これを受けて、プログラムの対象となるページを選択するためのアドレスが、ステートマシン内に設定される(ステップS2)。
【0403】
そして、1ページ分のプログラムデータが、データ入出力バッファを経由して、メモリチップ内に入力されると、これら1ページ分のプログラムデータは、データ記憶部DS4に記憶される(ステップS3)。
【0404】
この後、コマンドインターフェイス回路が、ホストマイコンから提供されるライトコマンドを確認すると、これを受けて、ライトコマンドが、ステートマシン内に設定される(ステップS4)。その結果、ステートマシンによる制御の下、ステップS5からステップS17までの動作が、自動的に実行される。
【0405】
まず、データ記憶部DS4に記憶されているプログラムデータは、データ記憶部DS2,DS3にそれぞれコピーされる(ステップS5)。
【0406】
この後、もし、プログラムの対象となるページが論理上位ページであるならば、ライト動作に先立って、 Internal Data Load が実行される(ステップS6)。Internal Data Load によって読み出された論理下位ページデータは、データ記憶部DS1を経由して、データ記憶部DS4に記憶される。
【0407】
論理下位ページデータが“1”の場合には、Internal Data Load によるリードデータは、“0”(=“L”)となり、“0”−データがデータ記憶部DS4(ノードN4)に記憶される。論理下位ページデータが“0”の場合には、Internal Data Load によるリードデータは、“1”(=“H”)となり、“1”−データがデータ記憶部DS4(ノードN4)に記憶される。
【0408】
この後、論理下位ページに対するプログラムならば、ライト電圧Vpgmを12Vに設定し、論理上位ページに対するプログラムならば、ライト電圧Vpgmを13Vに設定する。また、ステートマシーン内のプログラムカウンタの値PCを0に設定する(ステップS7)。なお、プログラムカウンタの値PCは、ライト動作の回数を表している。
【0409】
次に、ライト動作を実行する(ステップS8)。
データ記憶部DS3に記憶されたプログラムデータが“0”の場合には、例えば、基板とフローティングゲート電極との間に高電圧を与え、フローティングゲート電極に電子を注入し、メモリセルの閾値電圧を上げる (“0”-programming)。データ記憶部DS3に記憶されたプログラムデータが“1”の場合には、例えば、基板とフローティングゲート電極との間に高電圧が与えられないようにし、フローティングゲート電極に対する電子の注入を防止し、メモリセルの閾値電圧を変化させない (“1”-programming)。
【0410】
このライト動作を行った後に、プログラムカウンタの値PCに“1”を加える(ステップS8)。
【0411】
この後、データ記憶部DS3に記憶されたデータに基づいて、プログラムベリファイが Pass の状態(プログラムが完了している状態)になっているか、又は、NGの状態(プログラムが完了していない状態)になっているかを判定する(ステップS9)。
【0412】
最初のライト動作の直後においては、“Verify01”、“Verify00”及び“Verify10”は、一度も行われていないため、データ記憶部DS3は、プログラムデータそのものを記憶している。
【0413】
全てのカラム内のデータ記憶部DS3(例えば、4256個)が“1”−データを記憶している場合、即ち、論理下位ページ又は論理上位ページに対するプログラムデータが全て“1”の場合には、全てのカラムにおいて、図10のNチャネルMOSトランジスタQn17は、オフ状態であり、例えば、図8のFLAGは、“H”を維持する。
【0414】
従って、プログラムベリファイが Pass の状態(プログラムが完了している状態)になっていると判断され、その結果、ステータスレジスタに Pass が設定され、プログラム動作が終了する(ステップS16)。
【0415】
これに対して、少なくとも1つのカラム内のデータ記憶部DS3が“0”−データを記憶している場合、即ち、論理下位ページ又は論理上位ページに対するプログラムデータの少なくとも1つが“0”の場合には、“0”−データを記憶するデータ記憶部DS3に接続されるNチャネルMOSトランジスタQn17(図10)は、オン状態であり、例えば、図8のFLAGは、“L”になる。
【0416】
従って、プログラムベリファイが NG の状態(プログラムが完了していない状態)になっていると判断され、その結果、“Verify10”又は“Verify01”へ移行する。
【0417】
論理下位ページに対するプログラムであれば、“Verify10”が実行される(ステップS11)。
【0418】
“Verify10”とは、プログラムの対象となる選択されたメモリセルに対して、リード電位Vcgv10(図17参照)を用いてリード動作を実行し、このリード動作により得られるリードデータとデータ記憶部DS2のデータ(プログラムデータ)とに基づいて、データ記憶部DS3に新たに記憶するデータの値を決定する動作のことである。
【0419】
論理下位ページに対するプログラムの場合、当初は、プログラムの対象となる選択された全てのメモリセルは、“11”状態になっている。このため、 “1”-programming の対象となるメモリセル(“1”−データを記憶するデータ記憶部DS3に対応するメモリセル)に関しては、閾値電圧の変動はないため、“Verify10”により読み出されるリードデータは、常に、“0”である。
【0420】
従って、データ記憶部DS1には、“0”が記憶される。しかし、データ記憶部DS2に“1”が記憶されている場合には、データ記憶部DS1のデータは、リードデータにかかわらず、強制的に、“1”に変更させられる。つまり、この“1”−データが、データ記憶部DS1から、再び、データ記憶部DS3に記憶される。
【0421】
一方、“0”-programming の対象となるメモリセル(“0”−データを記憶するデータ記憶部DS3に対応するメモリセル)に関しては、ライト動作(ステップS8)により十分に閾値電圧が上昇(プログラムが完了)している場合には、“Verify10”により読み出されるリードデータは、“1”となる。
【0422】
従って、データ記憶部DS1には、“1”が記憶される。この“1”−データは、データ記憶部DS1からデータ記憶部DS3に転送される。つまり、データ記憶部DS3のデータは、“0”から“1”に変わる。
【0423】
また、“0”-programming の対象となるメモリセル(“0”−データを記憶するデータ記憶部DS3に対応するメモリセル)に関し、ライト動作(ステップS8)により十分に閾値電圧が上昇していない(プログラムが完了していない)場合には、“Verify10”により読み出されるリードデータは、“0”となる。
【0424】
従って、データ記憶部DS1には、“0”が記憶される。この“0”−データは、データ記憶部DS1からデータ記憶部DS3に転送される。つまり、データ記憶部DS3のデータは、“0”を維持する。
【0425】
論理上位ページに対するプログラムであれば、“Verify01”及び“Verify00”が連続して実行される(ステップS12,S13)。
【0426】
“Verify01”とは、プログラムの対象となる選択されたメモリセルに対して、リード電位Vcgv01(図17参照)を用いてリード動作を実行し、このリード動作により得られるリードデータとデータ記憶部DS2のデータ(プログラムデータ)とに基づいて、データ記憶部DS3に新たに記憶するデータの値を決定する動作のことである。
【0427】
“Verify00”とは、プログラムの対象となる選択されたメモリセルに対して、リード電位Vcgv00(図17参照)を用いてリード動作を実行し、このリード動作により得られるリードデータとデータ記憶部DS2のデータ(プログラムデータ)とデータ記憶部DS4のデータ(論理下位ページデータ)とに基づいて、データ記憶部DS3に新たに記憶するデータの値を決定する動作のことである。
【0428】
論理上位ページデータ“1”のプログラミング(“1”-programming)の対象となるメモリセル(“1”−データを記憶するデータ記憶部DS3に対応するメモリセル)に関しては、“11”状態又は“10”状態を維持するため、“Verify01”により読み出されるリードデータも、常に、“0”である。
【0429】
従って、データ記憶部DS1には、“0”が記憶される。また、データ記憶部DS2に“1”が記憶されているため、データ記憶部DS1のデータは、リードデータにかかわらず、強制的に、“1”に変更させられる。このため、“1”−データが、データ記憶部DS1からデータ記憶部DS3に転送される。
【0430】
また、“Verify00”により読み出されるリードデータも、常に、“0”である。
【0431】
従って、データ記憶部DS1には、“0”が記憶される。しかし、データ記憶部DS2に“1”が記憶されているため、データ記憶部DS1のデータは、リードデータ及びデータ記憶部DS4の論理下位ページデータにかかわらず、強制的に、“1”に変更させられる。このため、“1”−データが、データ記憶部DS1からデータ記憶部DS3に転送される。
【0432】
一方、論理上位ページデータ“0”のプログラミング(“0”-programming)の対象となるメモリセル(“0”−データを記憶するデータ記憶部DS3に対応するメモリセル)に関しては、“11”状態又は“10”状態から、“00”状態になった後、さらに、“01”状態に向かって変化する。
【0433】
従って、最初のうちは、“Verify01”により読み出されるリードデータは、“0”となる。このため、データ記憶部DS1には、“0”が記憶される。この“0”−データは、データ記憶部DS1からデータ記憶部DS3に転送される。つまり、データ記憶部DS3のデータは、“0”を維持する。
【0434】
この後、“Verify01”に引き続き、“Verify00”が実行される。
【0435】
十分に閾値電圧が上昇( “00”-programmingが完了)しているメモリセルについては、“Verify00”により読み出されるリードデータは、“1”となる。
【0436】
従って、データ記憶部DS1には、“1”が記憶される。
【0437】
しかし、ここで、データ記憶部DS1のデータは、データ記憶部DS4に記憶された論理下位ページデータに影響を受ける。
即ち、論理下位ページデータが“1”の場合には、データ記憶部DS4(ノードN4)は、“0”(=“L”)を記憶している。従って、データ記憶部DS1のデータは、強制的に、“0”に変更される。これは、論理下位ページデータが“1”のときに、論理上位ページデータとして“0”をプログラムするときは、メモリセルの閾値電圧を“01”状態(図19参照)まで上昇させることを意味する。
【0438】
この“0”−データは、データ記憶部DS1からデータ記憶部DS3に転送される。つまり、データ記憶部DS3のデータは、“0”のままである。
【0439】
論理下位ページデータが“0”の場合には、データ記憶部DS4(ノードN4)は、“1”(=“H”)を記憶している。従って、データ記憶部DS1のデータは、“1”のままである。これは、論理下位ページデータが“0”のときに、論理上位ページデータとして“0”をプログラムするときは、メモリセルの閾値電圧を“00”状態(図19参照)で止めることを意味する。
【0440】
この“1”−データは、データ記憶部DS1からデータ記憶部DS3に転送される。つまり、データ記憶部DS3のデータは、“0”から“1”に変わる。
【0441】
この後、もし、プログラムカウンタの値PCが、予め設定された最大ライト回数 PC max に達したならば、ステートマシーン内のステータスレジスタに、 Fail (プログラム不良)を設定し、プログラム動作を終了する(ステップS14,S17)。
【0442】
また、もし、プログラムカウンタの値PCが、予め設定された最大ライト回数PC max よりも小さいならば、ライト電圧Vpgmを、例えば、0.2V程度上昇(ステップアップ)させた後、ライト動作を実行する(ステップS14,S15,S8)。
【0443】
この後、データ記憶部DS3に記憶されたデータに基づいて、プログラムベリファイを実行し、プログラムベリファイが Pass (プログラムが完了している状態)であるか、又は、NG(プログラムが完了していない状態)であるかを判定する(ステップS9)。
【0444】
論理上位ページに対するプログラムデータが“1”( “1”-programming )の場合には、データ記憶部DS3のデータは、常に、“1”となっている。
【0445】
また、論理上位ページに対するプログラムデータが“0”で、論理下位ページデータが“0”の場合( “00”-programming )の場合には、“00”-programming が完了している場合には、データ記憶部DS3のデータは、“Verify00”により、“0”から“1”に変更される。
【0446】
また、論理上位ページに対するプログラムデータが“0”で、論理下位ページデータが“1”の場合( “01”-programming )の場合には、“01”-programming が完了している場合には、データ記憶部DS3のデータは、“Verify01”により、“0”から“1”に変更される。
【0447】
従って、プログラムの対象となる選択された全てのメモリセルに対して、プログラミング(“00”-programming 又は “01”-programming )が完了している場合には、全てのデータ記憶部DS3が“1”−データを記憶していることになる。つまり、全てのカラムにおいて、図10のNチャネルMOSトランジスタQn17は、オフ状態であり、図8のFLAGが“H”(プログラムベリファイが Pass の状態)となる。そして、ステートマシーン内のステータスレジスタに、 Pass (プログラム完了)を設定し、プログラム動作を終了する(ステップS16)。
【0448】
また、プログラムの対象となる選択されたメモリセルの少なくとも1つに対して、プログラミング(“00”-programming,“01”-programming )が完了していない場合には、少なくとも1つのデータ記憶部DS3が“0”−データを記憶していることになる。つまり、少なくとも1つのカラムにおいて、図10のNチャネルMOSトランジスタQn17は、オン状態となり、図8のFLAGが“L”(プログラムベリファイが NG の状態)となって、再び、ベリファイリードとライト動作が繰り返される(ステップS8〜S17)。
【0449】
このように、データ記憶部DS3に記憶されたデータに基づいて、プログラムが完了したか否かを判断できる。
【0450】
▲2▼ 動作波形による動作説明
以下、動作タイミング図を用いて、具体的な動作説明を行う。
【0451】
プログラム動作 (Pass Write) の主要部は、データ記憶部DS4からデータ記憶部DS2,DS3へのプログラムデータのコピー動作、Internal Data Load 動作、データ記憶部DS2からデータ記憶部DS3へのプログラムデータのコピー動作、ライト動作 (Write)、及び、ベリファイ動作 (Verify 10/00/01) からなる。
【0452】
また、プログラム動作 (Quick Pass Write) の主要部は、データ記憶部DS4からデータ記憶部DS2,DS3へのプログラムデータのコピー動作、Internal Data Load 動作、ライト動作 (Write)、及び、ベリファイ動作 (Verify 10/00/01) からなる。
【0453】
そこで、これらの動作について説明する。
【0454】
なお、以下に説明する動作タイミング図において、特に示されていない限り、“L”レベルは、Vss(例えば、0V)、“H”レベルは、Vdd(例えば、3V)である。また、この動作タイミング図では、1つのブロックBLOCKiが選択され、そのブロックBLOCKi内のワード線WL2−iと奇数番目のビット線BLekが選択されるものとする(図3参照)。
【0455】
[1] DS4からDS2,DS3へのコピー動作
図31は、データ記憶部DS4からデータ記憶部DS2,DS3へのプログラムデータのコピー動作の動作波形図を示している。図32は、データ記憶部DS4からデータ記憶部DS2,DS3へのプログラムデータのコピー動作におけるデータの流れを示している。
【0456】
このコピー動作は、図28及び図30のステップS5に相当する。
【0457】
まず、タイミング CPCLK1 において、制御信号VPREが“H”になり、タイミング CPCLK2 において、制御信号BLPREが4.5Vになる。その結果、NチャネルMOSトランジスタQn6(図10)がオン状態となり、データ記憶部DS1(ノードN2)は、“H”レベル(Vdd)に充電される。
【0458】
この後、タイミング CPCLK6 において、制御信号BLC2が“H”になると、NチャネルMOSトランジスタQn12は、オン状態となり、データ記憶部DS1とデータ記憶部DS4が電気的に接続される。
【0459】
そして、もし、データ記憶部DS4(ノードN4)が、プログラムデータとして“1”(=“H”)を記憶していれば、データ記憶部DS1、即ち、キャパシタC1の一端(ノードN2)は、“H”レベル(Vdd)を維持する。また、もし、データ記憶部DS4(ノードN4)が、プログラムデータとして“0”(=“L”)を記憶していれば、データ記憶部DS1、即ち、キャパシタC1の一端(ノードN2)の電荷は、放電され、データ記憶部DS1のデータは、“H”から“L”に変化する。
【0460】
一方、タイミング CPCLK8 において、制御信号SEN1,LAT1が“L”となり、また、タイミング CPCLK9 において、制御信号EQ1が“H”となることにより、データ記憶部DS3の状態は、リセットされる。
【0461】
タイミング CPCLK11 において、制御信号BLC1が“H”になると、NチャネルMOSトランジスタQn10がオン状態となり、データ記憶部DS1とデータ記憶部DS3とが電気的に接続される。また、タイミング CPCLK12 において、制御信号SEN1が“H”になると、データ記憶部DS1、即ち、キャパシタC1の一端(ノードN2)のデータは、クロック同期式インバータCI1によりセンスされる。
【0462】
この後、タイミング CPCLK13 において、制御信号LAT1が“H”になると、データ記憶部DS1のデータは、データ記憶部DS3に記憶される。最後に、タイミング CPCLK14 において、制御信号DTGが4.5Vになると、NチャネルMOSトランジスタQn9がオン状態となり、データ記憶部DS3のデータは、データ記憶部DS2に転送される。また、タイミング CPCLK15 において、制御信号DTGが“L”になると、データ記憶部DS3のデータは、データ記憶部DS2に記憶される。
【0463】
例えば、データ記憶部DS1,DS4のデータが“1”(ノードN2,N4が“H”)ならば、データ記憶部DS2,DS3のデータも、“1”(ノードN3,N6が“H”)になる。また、データ記憶部DS1,DS4のデータが“0”(ノードN2,N4が“L”)ならば、データ記憶部DS2,DS3のデータも、“0”(ノードN3,N6が“L”)になる。
【0464】
なお、DS4からDS2,DS3へのコピー動作は、全てのカラム(例えば、4256個)のデータ回路において同時に行われる。
【0465】
[2] Internal Data Load動作
図33及び図34は、Internal Data Load動作の動作波形図を示している。図35は、Internal Data Load動作におけるデータの流れを示している。
【0466】
Internal Data Load動作は、図28及び図30のステップS6に相当する。
【0467】
Internal Data Load動作とは、論理下位ページデータのプログラムを行った後、論理上位ページデータのプログラムを行う場合に、論理上位ページデータのプログラムで目標とする閾値電圧を決定するために、予め、論理下位ページデータを読み出しておく動作のことである。
【0468】
具体的には、リード電位(選択されたワード線WL2−iの電位)をVcgr10(例えば、0V)に設定し、メモリセルのデータが、“11”(論理下位ページデータが“1”)であるか、又は、“10”(論理下位ページデータが“0”)であるかを認識する。
【0469】
Internal Data Load動作は、データリードに関する部分( RCLK 1-E, SCLK 1-E, RRCV 1-E )と、データトランスファに関する部分( EXCLK ルーティン)とから構成される。
【0470】
[2]-1 データリード
まず、ビット線側のセレクトゲート線SGD及び非選択のワード線WL0−i,WL1−i,WL3−iに、それぞれ、転送電位Vread(例えば、4.5V)が与えられ、選択されたワード線WL2−iに、リード電位Vcgr10(例えば、0V)が与えられる( RCLK 1-2 )。
【0471】
制御信号BLPREが“H”となり、NチャネルMOSトランジスタQn6(図10)がオン状態となる。また、制御信号BLCLAMPが、Vclamp(例えば、2V)となり、制御信号BLSeが、Vsghh(例えば、4.5V)となることで、奇数番目のビット線BLekが、所定電位(例えば、1V程度)にプリチャージされる。一方、制御信号BIASoが、Vsghh(例えば、4.5V)となるため、偶数番目のビット線BLokは、Vss(例えば、0V)に固定され、シールドビット線として機能するようになる( RCLK 2-4 )。
【0472】
この後、制御信号BLCLAMPが、Vss(例えば、0V)、制御信号BLPREが“L”となり、奇数番目のビット線BLekは、フローティング状態となる( RCLK 5-7 )。
ソース線側のセレクトゲート線SGSの電位が、転送電位Vreadに設定されると、選択されたメモリセルの状態、即ち、そのメモリセルに記憶されたデータの値に応じて、ビット線BLekの電位に影響が表れる。
【0473】
即ち、選択されたメモリセルのデータが、“11”の場合には、リード電位Vcgr10により、この選択されたメモリセルは、オン状態になる。このため、ビット線BLekの電荷が放電され、ビット線BLekの電位は、0.8V以下に低下する(選択ブロック内の非選択のメモリセルは、Vreadにより、オン状態である。)。
【0474】
一方、選択されたメモリセルのデータが、“10”の場合には、リード電位Vcgr10によっては、この選択されたメモリセルは、オン状態にならない。このため、ビット線BLekの電荷が放電されることはなく、ビット線BLekは、プリチャージ電位(約1V)を維持する( RCLK 6-E )。
【0475】
制御信号BLPREが、4.5V程度になり、制御信号VPREが、Vdd(例えば、3V)になることによって、データ記憶部DS1のキャパシタC1の一端、即ち、ノードN2は、Vddに充電される。この後、制御信号BLCLAMPが、Vsense(例えば、1.8V)になると、データ記憶部DS1のキャパシタC1の一端の電位は、以下のように変化する。
【0476】
即ち、ビット線BLekの電位がプリチャージ電位(約1V)のままである場合(メモリセルのデータが“10”の場合)には、NチャネルMOSトランジスタ(クランプトランジスタ)Qn5(図10)は、オフ状態であり、データ記憶部DS1のキャパシタC1の一端の電位は、Vdd(“H”)に維持される。
【0477】
一方、ビット線BLekの電位が0.8V以下である場合(メモリセルのデータが“11”の場合)には、NチャネルMOSトランジスタ(クランプトランジスタ)Qn5(図10)は、オン状態であり、データ記憶部DS1のキャパシタC1の一端の電荷は、ビット線BLekに放電され、その電位は、Vddよりも低い値(“L”)に低下する( SCLK 4-5 )。
【0478】
その結果、データ記憶部DS1(キャパシタC1の一端)には、リード電位Vcgr10によるリードデータが記憶される。即ち、メモリセルのデータが“11”の場合には、“L”、つまり、“1”−データが記憶され、メモリセルのデータが“10”の場合には、“H”、つまり、“0”−データが記憶される。
【0479】
なお、Internal Data Load動作では、“L”=“0”及び“H”=“1”の関係が逆転している。即ち、“L”=“1”及び“H”=“0”の関係となっている。
【0480】
[2]-2 データトランスファ
Internal Data Load動作では、メモリセルのデータをデータ記憶部DS1に読み出した後、このデータ記憶部DS1に記憶されたリードデータを、データ記憶部DS4に転送するデータトランスファが実行される。この動作は、図34に示すEXCLKルーティンに従う。
【0481】
まず、制御信号SEN2,LAT2が、共に、“L”となり( EXCLK 6 )、かつ、制御信号EQ2が“H”になることで( EXCLK 7-8 )、データ記憶部DS4を構成するフリップフロップ回路(図10)の状態がリセットされる。
【0482】
この後、制御信号BLC2が、4.5Vとなり( EXCLK 9 )、NチャネルMOSトランジスタQn12がオン状態となる。その結果、データ記憶部DS1とデータ記憶部DS4は、互いに電気的に接続される。
【0483】
制御信号SEN2が“H”になると( EXCLK 10 )、データ記憶部DS1(キャパシタC1の一端)に記憶されたリードデータは、MOSトランジスタQn12を経由して、データ記憶部DS4を構成するクロック同期式インバータCI4によりセンスされる。また、制御信号LAT2が“H”になると( EXCLK 11 )、このリードデータは、データ記憶部DS4に記憶される。
【0484】
なお、Internal Data Load動作は、全てのカラム(例えば、4256個)のデータ回路において同時に行われる。
【0485】
[3] DS2からDS3へのコピー(コピーバック)動作
図36は、データ記憶部DS2からデータ記憶部DS3へのプログラムデータのコピー動作の動作波形図を示している。図37は、データ記憶部DS2からデータ記憶部DS3へのプログラムデータのコピー動作におけるデータの流れを示している。
【0486】
このコピー動作は、図29のステップS17に相当する。
【0487】
まず、タイミング CPCLK3 において、制御信号BLPREが“H”になると、NチャネルMOSトランジスタQn6(図10)がオン状態となる。この時、制御信号VPREは、Vss(0V)のままであるため、データ記憶部DS1(ノードN2)は、“L”レベル(Vss)に充電される。
【0488】
この後、タイミング CPCLK5 において、制御信号VREGが“H”となる。また、制御信号REGが4.5Vになると、NチャネルMOSトランジスタQn7は、オン状態となり、データ記憶部DS1とデータ記憶部DS2が電気的に接続される。
【0489】
そして、もし、データ記憶部DS2(ノードN6)が、プログラムデータとして“1”(=“H”)を記憶していれば、NチャネルMOSトランジスタQn8のゲート電位は、ブートストラップ現象によって、Vdd程度から5V程度にまで上昇する。その結果、VREG(=Vdd)は、NチャネルMOSトランジスタQn7,Qn8を経由して、データ記憶部DS1に転送される。つまり、データ記憶部DS1、即ち、キャパシタC1の一端(ノードN2)のレベルは、“L”から“H”に変化する。
【0490】
また、もし、データ記憶部DS2(ノードN6)が、プログラムデータとして“0”(=“L”)を記憶していれば、NチャネルMOSトランジスタQn8のゲート電位は、Vss(=0V)となっている。その結果、VREG(=Vdd)は、データ記憶部DS1に転送されることがなく、データ記憶部DS1、即ち、キャパシタC1の一端(ノードN2)は、“L”レベルを維持する。
【0491】
タイミング CPCLK8 において、制御信号SEN1,LAT1が“L”となり、また、タイミング CPCLK9 において、制御信号EQ1が“H”となることにより、データ記憶部DS3の状態は、リセットされる。
【0492】
タイミング CPCLK11 において、制御信号BLC1が“H”になると、NチャネルMOSトランジスタQn10がオン状態となり、データ記憶部DS1とデータ記憶部DS3とが電気的に接続される。また、タイミング CPCLK12 において、制御信号SEN1が“H”になると、データ記憶部DS1、即ち、キャパシタC1の一端(ノードN2)のデータは、クロック同期式インバータCI1によりセンスされる。
【0493】
この後、タイミング CPCLK13 において、制御信号LAT1が“H”になると、データ記憶部DS1のデータは、データ記憶部DS3に記憶される。
【0494】
以上の動作により、データ記憶部DS2からデータ記憶部DS3へのプログラムデータのコピー動作、いわゆるコピーバックが終了する。
【0495】
なお、DS2からDS3へのコピー動作は、全てのカラム(例えば、4256個)のデータ回路において同時に行われる。
【0496】
[4] ライト動作 (Write)
図38は、ライト動作の動作波形図を示している。図39は、ライト動作におけるデータの流れを示している。
【0497】
なお、図示されていない限り、“L”レベルは、0V、“H”レベルは、Vdd(例えば、3V)である。また、選択されたブロック内において、選択されたワード線は、WL2であり、選択されたビット線は、BLeである。
【0498】
ライト動作は、図28及び図30のステップS8、並びに、図29のステップS25に相当する。
【0499】
まず、タイミング PCLK1 において、制御信号BLCLAMP,BLC1が4.5Vになる。また、タイミング PCLK3 において、BLSeが4.5Vになると、ビット線BLekとデータ記憶部DS3とが電気的に接続される。
【0500】
データ記憶部DS3(ノードN3)のデータが“1”の場合、ビット線BLekは、Vddに充電される。また、データ記憶部DS3(ノードN3)のデータが“0”の場合、ビット線BLekは、Vss(0V)に充電される。
【0501】
また、タイミング PCLK3 において、制御信号BLCRLが“H”になり、制御信号BIASoが4.5Vになる。その結果、ビット線BLeoは、Vddに充電される。
【0502】
この後、タイミング PCLK6 において、非選択のワード線WL0−i,WL1−i,WL3−iに10Vが与えられ、タイミング PCLK7 において、選択されたワード線WL2−iにVpgm(最初は、12V又は13V。ライト回数に応じて、0.2Vずつ上昇する。)が与えられる。その結果、メモリセルに対するプログラミングが実行される。
【0503】
例えば、データ記憶部DS3に記憶されているデータが“1”の場合、ビット線BLekは、Vddであり、ワード線(コントロールゲート電極)WL2−iとメモリセルのチャネルとの間の電位差は、メモリセルのフローティングゲート電極に電子を注入するのに十分な値とはならない。
【0504】
これに対し、データ記憶部DS3に記憶されているデータが“0”の場合、ビット線BLekは、0Vであり、ワード線(コントロールゲート電極)WL2−iとメモリセルのチャネルとの間の電位差は、メモリセルのフローティングゲート電極に電子を注入するのに十分な値となる。
【0505】
従って、データ記憶部DS3に記憶されているデータが“1”の場合には、メモリセルの閾値電圧は、上昇することなく、データ記憶部DS3に記憶されているデータが“0”の場合には、メモリセルの閾値電圧は、上昇する。
【0506】
QPW (Quick Pass Write) 時には、タイミング PCLK4 において、制御信号VREGがVddとなり、タイミング PCLK5 において、制御信号BLC1が“L”になり、タイミング PCLK6 において、制御信号REGが2.0Vに設定される。
【0507】
従って、もし、データ記憶部DS2のデータ(プログラムデータ)が“1”の場合には、NチャネルMOSトランジスタQn8のゲートは、ブートストラップ現象によって、Vdd程度から5V程度にまで上昇する。このため、VREG(=Vdd)は、制御信号REG(=2.0V)に制限されつつ、ビット線BLekに転送される。
【0508】
その結果、ビット線BLekの電位は、データ記憶部DS3に記憶されているデータにかかわらず、例えば、1V程度になる。
【0509】
もし、データ記憶部DS2のデータ(プログラムデータ)が“0”の場合には、NチャネルMOSトランジスタQn8のゲートは、0Vであるため、ビット線BLekの電位は、Vdd(データ記憶部DS3のデータが“1”)又は0V(データ記憶部DS3のデータが“0”)を維持する。
【0510】
なお、ライト動作は、選択されたワード線WL2−iに接続される4256個のメモリセルに対して同時に行われる。
【0511】
[5] ベリファイ動作 (Verify 10/00/01)
図40及び図41は、ベリファイ動作におけるベリファイリードの動作波形図を示している。図42乃至図45は、ベリファイリードにおけるデータの流れを示している。
【0512】
なお、図示されていない限り、“L”レベルは、0V、“H”レベルは、Vdd(例えば、3V)である。また、選択されたブロック内において、選択されたワード線は、WL2であり、選択されたビット線は、BLeである。
【0513】
ベリファイ動作は、ベリファイリードと Completion Detection とからなる。Completion Detection とは、ベリファイリードにより読み出されたデータに基づいて、選択された全てのメモリセルに対してデータプログラムが完了したか否かを検出する動作のことである。ここでは、主として、ベリファイリードについて説明する。
【0514】
ベリファイリードは、図28のステップS11,S12、図29のステップS20,S21,S22、並びに、図30のステップS11,S12,S13に相当する。
ベリファイリードは、ライト動作後に行われ、メモリセルの閾値電圧が所定のレベルに達したか否かを判断する (Completion Detection) ためのデータを、メモリセルから読み出す動作のことである。
【0515】
本例では、Pass Write (2度書き)を採用する場合のベリファイリードについて説明する。上述したように、1度目のプログラムは、 1st Pass と呼ばれ、2度目のプログラムは、 2nd Pass と呼ばれる。1st Pass と 2nd Pass を並列処理するプログラム方法は、QPW (Quick Pass Write) と呼ばれる。QPW時には、例えば、ステートマシン(制御回路)内のQPWレジスタが“1”となり、通常のPass Write の場合には、ステートマシン内のQPWレジスタが“0”となる。
【0516】
まず、タイミング RCLK 1-2 において、ビット線側のセレクトゲート線SGD及び非選択のワード線WL0−i,WL1−i,WL3−iに、それぞれ、転送電位Vread(例えば、4.5V)が与えられ、選択されたワード線WL2−iに、ベリファイリード電位Vcgvxxが与えられる。
【0517】
ベリファイリード電位Vcgvxxは、ベリファイリードの種類に応じて、例えば、以下のように変わる。
[Pass Write 時]
VERIFY10 1stPass → Vcgvxx = 0.25V 、VERIFY10 2ndPass → Vcgvxx = 0.40V 、VERIFY00 1stPass → Vcgvxx = 1.25V 、VERIFY00 2ndPass → Vcgvxx = 1.40V 、VERIFY01 → Vcgvxx = 2.40V
[QPW 時]
VERIFY10 → Vcgvxx = 0.25V 、VERIFY00 → Vcgvxx = 1.25V 、VERIFY01 → Vcgvxx = 2.25V
タイミング RCLK 2-4 において、制御信号BLPREが“H”となり、NチャネルMOSトランジスタQn6(図10)がオン状態となる。また、制御信号BLCLAMPが、Vclamp(例えば、2V)となり、制御信号BLSeが、Vsghh(例えば、4.5V)となることで、奇数番目のビット線BLekは、VPRE(=Vdd)に電気的に接続される。
【0518】
その結果、ビット線BLekは、NチャネルMOSトランジスタQn5の閾値電圧で制限される所定の電位、例えば、1V程度にプリチャージされる。また、制御信号BIASoが、Vsghh(例えば、4.5V)となるため、偶数番目のビット線BLokは、Vss(例えば、0V)に固定され、シールドビット線として機能するようになる。
【0519】
原則として、ビット線BLekに対するプリチャージ源は、上述のように、VPREである。しかし、Pass Write 動作における 2nd Pass 時の“Verify00 (2ndPass)”と、QPW動作における“Verify00”とに関しては、ビット線に対するプリチャージ源は、データ記憶部DS4となる。
【0520】
従って、“Verify00 (2ndPass)”及び“Verify00”においては、タイミング RCLK2 で、制御信号BLC2が“H”となる一方、制御信号BLPREは、タイミング RCLK2-6 で、“L”のままとなる。
【0521】
その結果、ビット線BLekは、データ記憶部DS4に電気的に接続される。そして、データ記憶部DS4(ノードN3)のデータが“1”の場合には、ビット線BLekは、NチャネルMOSトランジスタQn5の閾値電圧で制限される所定の電位、例えば、1V程度にプリチャージされる。また、データ記憶部DS4(ノードN3)のデータが“0”の場合には、ビット線BLekは、0Vにプリチャージされる。
【0522】
この後、タイミング RCLK 5-7 において、制御信号BLCLAMPが、Vss(例えば、0V)、制御信号BLPREが“L”となり、ビット線BLekは、フローティング状態となる。
ソース線側のセレクトゲート線SGSの電位が、転送電位Vreadに設定されると、選択されたメモリセルの状態、即ち、そのメモリセルの現在の閾値電圧に応じて、ビット線BLekの電位に影響が表れる。
【0523】
即ち、選択されたメモリセルの閾値電圧が、選択されたワード線WL2−iの電位(ベリファイリード電位)Vcgvxxよりも低い場合には、このベリファイリード電位Vcgvxxにより、選択されたメモリセルは、オン状態になる。このため、ビット線BLekの電荷が放電され、ビット線BLekの電位は、0.8V以下に低下する(選択ブロック内の非選択のメモリセルは、Vreadにより、オン状態である。)。
【0524】
一方、選択されたメモリセルの閾値電圧が、ベリファイリード電位Vcgvxxよりも高い場合には、このベリファイリード電位Vcgvxxにより、選択されたメモリセルは、オン状態になることがない。このため、このため、ビット線BLekの電荷が放電されることはなく、ビット線BLekは、プリチャージ電位(約1V)を維持する。
【0525】
なお、“Verify00 (2ndPass)”及び“Verify00”においては、ビット線BLekは、0Vにプリチャージされているため、選択されたメモリセルの状態によらず、ビット線BLekは、常に、0Vである。
【0526】
タイミング RCLK 8-E において、制御信号BLPREが“H”になると、データ記憶部DS1のキャパシタC1の一端、即ち、ノードN2は、VPRE(=0V)に充電される。また、QPW動作でなければ(QPWレジスタの値=“0”)、この後、図41に示すEXCLKルーティンが実行される (SCLK1-2)。
【0527】
まず、タイミング EXCLK 2 において、制御信号VREGが“H”になる。また、制御信号REGが4.5Vになると、NチャネルMOSトランジスタQn7がオン状態になるため、データ記憶部DS1のキャパシタC1の一端(ノードN2)の電位は、データ記憶部DS2に記憶されたデータに影響を受ける。
【0528】
例えば、データ記憶部DS2に記憶されたデータ(プログラムデータ)が“1”である場合には、NチャネルMOSトランジスタQn8のゲート電位は、ブートストラップ現象によって、Vdd程度から5V程度にまで上昇し、VREG(=Vdd)が、データ記憶部DS1のキャパシタC1の一端(ノードN2)に転送される。
【0529】
また、データ記憶部DS2に記憶されたデータ(プログラムデータ)が“0”である場合には、NチャネルMOSトランジスタQn8のゲート電位は、0Vであるため、VREG(=Vdd)が、データ記憶部DS1のキャパシタC1の一端(ノードN2)に転送されることはない。つまり、データ記憶部DS1のキャパシタC1の一端の電位は、変化しない。
【0530】
また、タイミング EXCLK 4-5 において、制御信号DTGが4.5Vになると、データ記憶部DS3のデータが、データ記憶部DS2に転送される。
【0531】
この後、制御信号SEN1,LAT1が、共に、“L”となり( EXCLK 6 )、かつ、制御信号EQ1が“H”になることで( EXCLK 7-8 )、データ記憶部DS3を構成するフリップフロップ回路(図10)の状態がリセットされる。
【0532】
この後、制御信号BLC1が、4.5Vとなり( EXCLK 9 )、NチャネルMOSトランジスタQn10がオン状態となる。その結果、データ記憶部DS1とデータ記憶部DS3は、互いに電気的に接続される。
【0533】
制御信号SEN1が“H”になると( EXCLK 10 )、データ記憶部DS1(キャパシタC1の一端)に記憶されたデータは、MOSトランジスタQn10を経由して、データ記憶部DS3を構成するクロック同期式インバータCI1によりセンスされる。また、制御信号LAT1が“H”になると( EXCLK 11 )、このデータは、データ記憶部DS3に記憶される。
【0534】
タイミング SCLK2 において、制御信号BLPREが、4.5V程度になり、制御信号VPREが、Vdd(例えば、3V)になることによって、データ記憶部DS1のキャパシタC1の一端、即ち、ノードN2は、Vddに充電される。この後、制御信号BLCLAMPが、Vsense(例えば、1.8V)になると、データ記憶部DS1のキャパシタC1の一端の電位は、以下のように変化する。
【0535】
即ち、ビット線BLekの電位がプリチャージ電位(約1V)のままである場合(メモリセルの閾値電圧がVcgvxxよりも高い場合)には、NチャネルMOSトランジスタ(クランプトランジスタ)Qn5(図10)は、オフ状態であり、データ記憶部DS1のキャパシタC1の一端の電位は、Vdd(“H”)に維持される。
【0536】
一方、ビット線BLekの電位が0.8V以下である場合(メモリセルの閾値電圧がVcgvxxよりも低い場合)には、NチャネルMOSトランジスタ(クランプトランジスタ)Qn5(図10)は、オン状態であり、データ記憶部DS1のキャパシタC1の一端の電荷は、ビット線BLekに放電され、その電位は、Vddよりも低い値(“L”)に低下する( SCLK 4-5 )。
【0537】
その結果、データ記憶部DS1(キャパシタC1の一端)には、ベリファイリード電位Vcgvxxによるリードデータが記憶される。即ち、メモリセルの閾値電圧がVcgvxxよりも低い場合には、“L”、つまり、“0”−データが、データ記憶部DS1に記憶され、メモリセルの閾値電圧がVcgvxxよりも高い場合には、“H”、つまり、“1”−データが、データ記憶部DS1に記憶される。
【0538】
この後、図41に示すEXCLKルーティンが実行される (SCLK5-E)。図41のEXCLKルーティンについては、既に、説明したので、ここでは、その説明については、省略する。
【0539】
タイミング QPWCLK 1-E における動作については、もし、QPW動作でなければ(QPWレジスタの値=“0”)、省略される。
【0540】
QPW動作(QPWレジスタの値=“1”)であれば、ステートマシンによって、QPWCLKルーティンが実行される (QPWCLK1-E)。
【0541】
QPW時には、タイミング SCLK 6 において、選択されたワード線WL2−iの電位(ベリファイリード電位)Vcgvxxが、0.15V程度上昇させられる。即ち、Vcgvxxは、4.5V+0.15Vとなる。
【0542】
タイミング QPWCLK2 において、制御信号BLPREが、4.5V程度になり、制御信号VPREが、Vdd(例えば、3V)になることによって、データ記憶部DS1のキャパシタC1の一端、即ち、ノードN2は、Vddに充電される。この後、タイミング QPWCLK4 において、制御信号BLCLAMPが、Vsense(例えば、1.8V)になると、データ記憶部DS1のキャパシタC1の一端の電位は、以下のように変化する。
【0543】
即ち、ビット線BLekの電位がプリチャージ電位(約1V)のままである場合(メモリセルの閾値電圧がVcgvxxよりも高い場合)には、NチャネルMOSトランジスタ(クランプトランジスタ)Qn5(図10)は、オフ状態であり、データ記憶部DS1のキャパシタC1の一端の電位は、Vdd(“H”)に維持される。
【0544】
一方、ビット線BLekの電位が0.8V以下である場合(メモリセルの閾値電圧がVcgvxxよりも低い場合)には、NチャネルMOSトランジスタ(クランプトランジスタ)Qn5(図10)は、オン状態であり、データ記憶部DS1のキャパシタC1の一端の電荷は、ビット線BLekに放電され、その電位は、Vddよりも低い値(“L”)に低下する( QPWCLK 4-5 )。
【0545】
その結果、データ記憶部DS1(キャパシタC1の一端)には、ベリファイリード電位Vcgvxxによるリードデータが記憶される。即ち、メモリセルの閾値電圧がVcgvxxよりも低い場合には、“L”、つまり、“0”−データが、データ記憶部DS1に記憶され、メモリセルの閾値電圧がVcgvxxよりも高い場合には、“H”、つまり、“1”−データが、データ記憶部DS1に記憶される。
【0546】
この後、図41に示すEXCLKルーティンが実行される (QPWCLK5-E)。図41のEXCLKルーティンについては、既に、説明したので、ここでは、その説明については、省略する。
【0547】
なお、ベリファイ動作は、選択されたワード線WL2−iに接続される4256個のメモリセルに対して同時に行われる。
【0548】
4. その他
本実施の形態では、多値NANDセル型フラッシュメモリを例として説明したが、本発明は、当然に、他のタイプの多値メモリに適用が可能である。例えば、メモリセルアレイとしては、NOR型、AND型(A.Nozoe : ISSCC, Digest of Technichal Papers,1995)、DINOR型(S.Kobayashi : ISSCC, Digest of Technichal Papers,1995)、Virtual Ground Array型(Lee, et al. : Symposium on VLSI Circuits, Digest of Technichal Papers,1994)、3−tr NAND型、4−tr NAND型などであってもよい。
【0549】
また、本発明は、フラッシュメモリ(Flash memory)に限られず、例えば、マスクROM、EPROMなどの不揮発性半導体メモリにも適用できる。
【0550】
【発明の効果】
以上、説明したように、本発明によれば、メモリセルに記憶するデータを多値化しても、チップ面積が極端に増加することがなく、また、メモリセルの閾値電圧を高精度に制御できる2度書き法を適用できる多値フラッシュメモリのデータ回路を提供できる。
【図面の簡単な説明】
【図1】本発明の実施の形態に関わる不揮発性半導体メモリを示すブロック図。
【図2】本発明に関わる半導体メモリのメモリセルアレイの構成例を示す図。
【図3】本発明に関わる半導体メモリのメモリセルアレイの構成例を示す図。
【図4】本発明に関わる半導体メモリのデバイス構造の例を示す断面図。
【図5】本発明に関わる半導体メモリのデバイス構造の例を示す断面図。
【図6】本発明に関わる半導体メモリのデバイス構造の例を示す断面図。
【図7】本発明に関わる半導体メモリのデバイス構造の例を示す断面図。
【図8】本発明に関わる半導体メモリの一括検知回路の例を示す回路図。
【図9】本発明に関わる半導体メモリのデータ回路の構成例を示す図。
【図10】本発明に関わる半導体メモリのデータ回路の例を示す回路図。
【図11】クロック同期式インバータの構成例を示す図。
【図12】本発明に関わる半導体メモリのワード線制御回路の構成例を示す図。
【図13】図12のRADD1の回路例を示す図。
【図14】図12のRMAIN1の回路例を示す図。
【図15】図12のRADD2の回路例を示す図。
【図16】図12のRMAIN2の回路例を示す図。
【図17】メモリセルのデータと閾値電圧分布との関係を示す図。
【図18】論理下位ページデータのプログラム時の閾値電圧の変化の様子を示す図。
【図19】論理上位ページデータのプログラム時の閾値電圧の変化の様子を示す図。
【図20】リード動作のアルゴリズムを示す図。
【図21】リード動作の動作波形を示す図。
【図22】図21の動作中の EXCLK ルーティンの動作波形を示す図。
【図23】図21の動作中の EXCLK ルーティンの動作波形を示す図。
【図24】図21の動作中の EXCLK ルーティンの動作波形を示す図。
【図25】論理下位ページデータの読み出し時のデータの流れを示す図。
【図26】論理上位ページデータの読み出し時のデータの流れを示す図。
【図27】 Pass Write によるプログラム動作のアルゴリズムを示す図。
【図28】 Pass Write によるプログラム動作のアルゴリズムを示す図。
【図29】 Pass Write によるプログラム動作のアルゴリズムを示す図。
【図30】QPWによるプログラム動作のアルゴリズムを示す図。
【図31】プログラム動作の一ステップにおける動作波形を示す図。
【図32】図31におけるステップ時のデータの流れを示す図。
【図33】 Internal Data Load 動作の動作波形を示す図。
【図34】図33の動作中の EXCLK ルーティンの動作波形を示す図。
【図35】 Internal Data Load 動作時のデータの流れを示す図。
【図36】プログラム動作の一ステップにおける動作波形を示す図。
【図37】図36におけるステップ時のデータの流れを示す図。
【図38】ライト動作の動作波形を示す図。
【図39】ライト動作時のデータの流れを示す図。
【図40】ベリファイリード動作の動作波形を示す図。
【図41】図40の動作中の EXCLK ルーティンの動作波形を示す図。
【図42】ベリファイリード動作時のデータの流れを示す図。
【図43】ベリファイリード動作時のデータの流れを示す図。
【図44】ベリファイリード動作時のデータの流れを示す図。
【図45】ベリファイリード動作時のデータの流れを示す図。
【符号の説明】
1 :メモリセルアレイ、
2 :データ回路、
3 :ワード線制御回路、
4 :カラムデコーダ、
5 :アドレスバッファ、
6 :I/Oセンスアンプ、
7 :データ入出力バッファ、
8 :ウェル/ソース線電位制御回路、
9A :電位生成回路、
9B :切替回路、
10 :一括検知回路、
11 :メモリチップ、
11−1 :p型シリコン基板、
11−2,11−4 :n型ウェル領域、
11−3,11−5 :p型ウェル領域、
12 :コマンドインターフェイス回路、
13 :ステートマシーン、
14 :ドレイン拡散層、
15 :ソース拡散層、
16 :n型拡散層、
17 :p型拡散層、
18 :電位設定線、
19 :素子分離層、
20,21 :絶縁層、
DS1,DS2,DS3,DS4 :データ記憶部、
Qn1,・・・Qn19 :nチャネルMOSトランジスタ、
Qp1,Qp2 :pチャネルMOSトランジスタ、
M1,M2,M3,M4 :メモリセル、
S1,S2 :セレクトゲートトランジスタ、
U :NANDセルユニット。

Claims (7)

  1. メモリセルと、
    前記メモリセルの一端に接続されるビット線と、
    前記ビット線に接続され、前記メモリセルに関するプログラムデータ又はリードデータを一時的に記憶するデータ回路とを具備し、
    前記データ回路は、第1、第2及び第3データ記憶部と、前記第1及び第3データ記憶部の間に接続される第1データ転送回路と、前記第2及び第3データ記憶部の間に接続される第2データ転送回路とを有し、
    前記第1データ記憶部は、前記ビット線に接続され、前記第2データ記憶部は、MOSトランジスタのゲート端子から構成され、前記MOSトランジスタのソース・ドレイン端子の一方は、前記第1データ記憶部に接続され、前記MOSトランジスタのゲート端子は、前記第2データ転送回路を介して前記第3データ記憶部に接続され、
    ベリファイリード時において、前記第1データ記憶部にはメモリセルからのリードデータが記憶され、前記第2データ記憶部にはプログラムデータが記憶され、前記第2データ転送回路は、前記第2及び第3データ記憶部を切断し、前記第2及び第3データ記憶部が切断された状態で、前記MOSトランジスタのソース・ドレイン端子の他方を第1レベルからそれよりも高い第2レベルに変更することによって、前記第1データ記憶部内に記憶されたリードデータの値を、前記第2データ記憶部内に記憶された前記プログラムデータの値に基づいて強制的に変更する
    ことを特徴とする不揮発性半導体メモリ。
  2. 前記プログラムデータが前記メモリセルの閾値上昇を禁止することを示す“1”であり、前記リードデータが“0”である場合に、前記第1データ記憶部内に記憶された前記リードデータの値を“0”から“1”に強制的に変更し、この強制的に変更された前記リードデータを前記第3データ記憶部に転送することを特徴とする請求項1に記載の不揮発性半導体メモリ。
  3. 前記プログラムデータが前記メモリセルの閾値上昇を許可することを示す“0”である場合には、前記第1データ記憶部に内に記憶された前記リードデータの値を強制的に変更することはせず、前記リードデータが“0”のときは、プログラム未完了として前記リードデータを前記第3データ記憶部に転送し、前記リードデータが“1”であるときは、プログラム完了として前記リードデータを前記第3データ記憶部に転送することを特徴とする請求項1に記載の不揮発性半導体メモリ。
  4. 前記MOSトランジスタのソース・ドレイン端子の一方と前記第1データ記憶部との間には、第3データ転送回路が接続され、前記第1データ記憶部内に記憶された前記リードデータの値を強制的に変更している間、前記第3データ転送回路は、オン状態になっていることを特徴とする請求項1に記載の不揮発性半導体メモリ。
  5. 前記メモリセルが2ビットデータを記憶し、かつ、そのうちの1ビットデータが既に前記メモリセルに記憶されている場合に、前記プログラムデータを第4データ記憶部から前記第3データ記憶部に転送させた後に前記第4データ記憶部の状態をリセットし、前記メモリセルに記憶された前記1ビットデータを前記第4データ記憶部に読み出すことを特徴とする請求項1記載の不揮発性半導体メモリ。
  6. 前記メモリセルは2ビットデータを記憶し、データリード時において、第1リード電位で前記メモリセルから読み出した第1データを前記第2及び第3データ記憶部に記憶させ、第2リード電位で前記メモリセルから読み出した第2データを、前記第1データ記憶部に記憶させ、かつ、前記第2データ記憶部内に記憶された前記第1データに基づいて強制的に変更した後に第4データ記憶部に転送することを特徴とする請求項1に記載の不揮発性半導体メモリ。
  7. 前記第1データ記憶部と前記第4データ記憶部との間には、第4データ転送回路が接続され、前記第2データを前記第1データ記憶部から前記第4データ記憶部に転送するときに、前記第1データ転送回路をオフ状態にし、前記第4データ転送回路をオン状態にすることを特徴とする請求項6に記載の不揮発性半導体メモリ。
JP2002281205A 2002-09-26 2002-09-26 不揮発性半導体メモリ Expired - Lifetime JP4270832B2 (ja)

Priority Applications (8)

Application Number Priority Date Filing Date Title
JP2002281205A JP4270832B2 (ja) 2002-09-26 2002-09-26 不揮発性半導体メモリ
US10/373,920 US6850435B2 (en) 2002-09-26 2003-02-27 Nonvolatile semiconductor memory
EP03004334A EP1403877B1 (en) 2002-09-26 2003-02-28 Nonvolatile semiconductor memory
DE60314068T DE60314068T2 (de) 2002-09-26 2003-02-28 Nichtflüchtiger Halbleiterspeicher
TW092125748A TWI247427B (en) 2002-09-26 2003-09-18 Nonvolatile semiconductor memory
KR10-2003-0066492A KR100515867B1 (ko) 2002-09-26 2003-09-25 불휘발성 반도체 메모리
CNB031598439A CN1295794C (zh) 2002-09-26 2003-09-26 非易失性半导体存储器
US10/796,157 US6885583B2 (en) 2002-09-26 2004-03-10 Nonvolatile semiconductor memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002281205A JP4270832B2 (ja) 2002-09-26 2002-09-26 不揮発性半導体メモリ

Publications (3)

Publication Number Publication Date
JP2004118940A JP2004118940A (ja) 2004-04-15
JP2004118940A5 JP2004118940A5 (ja) 2005-09-02
JP4270832B2 true JP4270832B2 (ja) 2009-06-03

Family

ID=31973305

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002281205A Expired - Lifetime JP4270832B2 (ja) 2002-09-26 2002-09-26 不揮発性半導体メモリ

Country Status (7)

Country Link
US (2) US6850435B2 (ja)
EP (1) EP1403877B1 (ja)
JP (1) JP4270832B2 (ja)
KR (1) KR100515867B1 (ja)
CN (1) CN1295794C (ja)
DE (1) DE60314068T2 (ja)
TW (1) TWI247427B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9881681B2 (en) 2002-11-29 2018-01-30 Toshiba Memory Corporation Semiconductor memory device for storing multivalued data

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3631463B2 (ja) 2001-12-27 2005-03-23 株式会社東芝 不揮発性半導体記憶装置
JP3977799B2 (ja) * 2003-12-09 2007-09-19 株式会社東芝 不揮発性半導体記憶装置
TWI292914B (ja) * 2002-01-17 2008-01-21 Macronix Int Co Ltd
US6657891B1 (en) 2002-11-29 2003-12-02 Kabushiki Kaisha Toshiba Semiconductor memory device for storing multivalued data
US7392436B2 (en) * 2003-05-08 2008-06-24 Micron Technology, Inc. Program failure recovery
JP4170952B2 (ja) 2004-01-30 2008-10-22 株式会社東芝 半導体記憶装置
JP4504138B2 (ja) * 2004-09-03 2010-07-14 株式会社東芝 記憶システム及びそのデータコピー方法
JP4417813B2 (ja) * 2004-10-01 2010-02-17 株式会社東芝 半導体記憶装置及びメモリカード
JP4786171B2 (ja) * 2004-12-10 2011-10-05 株式会社東芝 半導体記憶装置
US7564713B2 (en) * 2005-04-28 2009-07-21 Kabushiki Kaisha Toshiba Semiconductor integrated circuit device wherein during data write a potential transferred to each bit line is changed in accordance with program order of program data
KR100673703B1 (ko) * 2005-06-14 2007-01-24 주식회사 하이닉스반도체 멀티 레벨 셀들을 포함하는 플래시 메모리 장치의 카피백동작 제어 방법
KR100729355B1 (ko) * 2005-07-04 2007-06-15 삼성전자주식회사 멀티 레벨 셀을 갖는 노어 플래시 메모리 장치 및 그것의읽기 방법
KR100642892B1 (ko) 2005-07-19 2006-11-03 주식회사 하이닉스반도체 면적이 감소된 페이지 버퍼 회로와 그 독출 및 프로그램동작 방법
KR100729359B1 (ko) 2005-09-23 2007-06-15 삼성전자주식회사 낸드 플래시 메모리 장치 및 그것의 프로그램 방법
JP2007102848A (ja) * 2005-09-30 2007-04-19 Toshiba Corp 半導体集積回路装置
US7206235B1 (en) 2005-10-14 2007-04-17 Sandisk Corporation Apparatus for controlled programming of non-volatile memory exhibiting bit line coupling
US7286406B2 (en) * 2005-10-14 2007-10-23 Sandisk Corporation Method for controlled programming of non-volatile memory exhibiting bit line coupling
US7517482B2 (en) * 2005-11-09 2009-04-14 Industrial Technology Research Institute Method for producing polymeric membranes with high-recovery rate
JP2007164892A (ja) * 2005-12-13 2007-06-28 Toshiba Corp 不揮発性半導体記憶装置のしきい値読み出し方法及び不揮発性半導体記憶装置
JP2007280505A (ja) * 2006-04-06 2007-10-25 Toshiba Corp 半導体記憶装置
JP4896569B2 (ja) 2006-04-10 2012-03-14 株式会社東芝 半導体集積回路装置及びそのダイナミックラッチのリフレッシュ方法
WO2007126665A1 (en) * 2006-04-12 2007-11-08 Sandisk Corporation Reducing the impact of program disturb during read
US7499326B2 (en) 2006-04-12 2009-03-03 Sandisk Corporation Apparatus for reducing the impact of program disturb
JP2007310936A (ja) * 2006-05-17 2007-11-29 Toshiba Corp 半導体記憶装置
KR100754226B1 (ko) * 2006-08-22 2007-09-03 삼성전자주식회사 비휘발성 데이터 저장장치의 프로그래밍 방법 및 그 장치
US7593259B2 (en) * 2006-09-13 2009-09-22 Mosaid Technologies Incorporated Flash multi-level threshold distribution scheme
JP2008111921A (ja) * 2006-10-30 2008-05-15 Renesas Technology Corp 表示制御用半導体集積回路
KR100801035B1 (ko) * 2006-12-14 2008-02-04 삼성전자주식회사 멀티 레벨 셀의 프로그램 방법, 페이지 버퍼 블록 및 이를포함하는 불휘발성 메모리 장치
KR100855971B1 (ko) 2007-01-23 2008-09-02 삼성전자주식회사 초기 독출 동작없이 메모리 셀에 데이터를 프로그래밍할 수있는 메모리 셀 프로그래밍 방법 및 반도체 메모리 장치
KR100885912B1 (ko) 2007-01-23 2009-02-26 삼성전자주식회사 기입된 데이터 값에 기초하여 데이터를 선택적으로검증하는 데이터 검증 방법 및 반도체 메모리 장치
KR100819102B1 (ko) 2007-02-06 2008-04-03 삼성전자주식회사 개선된 멀티 페이지 프로그램 동작을 갖는 불휘발성 반도체메모리 장치
US7646636B2 (en) 2007-02-16 2010-01-12 Mosaid Technologies Incorporated Non-volatile memory with dynamic multi-mode operation
US7577059B2 (en) * 2007-02-27 2009-08-18 Mosaid Technologies Incorporated Decoding control with address transition detection in page erase function
US7804718B2 (en) * 2007-03-07 2010-09-28 Mosaid Technologies Incorporated Partial block erase architecture for flash memory
US7577029B2 (en) 2007-05-04 2009-08-18 Mosaid Technologies Incorporated Multi-level cell access buffer with dual function
KR100965066B1 (ko) * 2008-03-28 2010-06-21 주식회사 하이닉스반도체 플래시 메모리 소자 및 그 블록 선택 회로
KR20100050789A (ko) * 2008-11-06 2010-05-14 삼성전자주식회사 메모리 장치 및 그것을 포함하는 메모리 시스템
JP5193830B2 (ja) 2008-12-03 2013-05-08 株式会社東芝 不揮発性半導体メモリ
JP2010140521A (ja) * 2008-12-09 2010-06-24 Powerchip Semiconductor Corp 不揮発性半導体記憶装置とその読み出し方法
JP2011003850A (ja) * 2009-06-22 2011-01-06 Toshiba Corp 半導体記憶装置
JP2011008838A (ja) * 2009-06-23 2011-01-13 Toshiba Corp 不揮発性半導体記憶装置およびその書き込み方法
KR101009751B1 (ko) * 2009-06-24 2011-01-19 주식회사 아이에스시테크놀러지 Led용 전기적 검사장비
JP5075992B2 (ja) * 2011-02-02 2012-11-21 株式会社東芝 半導体記憶装置
JP5380506B2 (ja) * 2011-09-22 2014-01-08 株式会社東芝 不揮発性半導体記憶装置
US9588883B2 (en) 2011-09-23 2017-03-07 Conversant Intellectual Property Management Inc. Flash memory system
CN103455440A (zh) * 2012-06-04 2013-12-18 慧荣科技股份有限公司 快闪内存装置及快闪内存的数据存取方法
TWI506630B (zh) * 2012-06-11 2015-11-01 Macronix Int Co Ltd 具有變動壓降的位元線偏壓電路
US9530469B2 (en) * 2013-03-15 2016-12-27 Sony Semiconductor Solutions Corporation Integrated circuit system with non-volatile memory stress suppression and method of manufacture thereof
CN107370351B (zh) * 2016-05-13 2019-12-27 中芯国际集成电路制造(天津)有限公司 电荷泄放电路
KR102540765B1 (ko) * 2016-09-07 2023-06-08 에스케이하이닉스 주식회사 메모리 장치 및 이를 포함하는 메모리 시스템

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR960002006B1 (ko) 1991-03-12 1996-02-09 가부시끼가이샤 도시바 2개의 기준 레벨을 사용하는 기록 검증 제어기를 갖는 전기적으로 소거 가능하고 프로그램 가능한 불휘발성 메모리 장치
US5357462A (en) 1991-09-24 1994-10-18 Kabushiki Kaisha Toshiba Electrically erasable and programmable non-volatile semiconductor memory with automatic write-verify controller
JP3421365B2 (ja) * 1992-07-29 2003-06-30 直 柴田 半導体装置
JP3252306B2 (ja) * 1993-08-10 2002-02-04 株式会社日立製作所 半導体不揮発性記憶装置
KR0169267B1 (ko) 1993-09-21 1999-02-01 사토 후미오 불휘발성 반도체 기억장치
US5969985A (en) 1996-03-18 1999-10-19 Kabushiki Kaisha Toshiba Nonvolatile semiconductor memory device
JP3863330B2 (ja) 1999-09-28 2006-12-27 株式会社東芝 不揮発性半導体メモリ
JP3784229B2 (ja) * 2000-01-21 2006-06-07 シャープ株式会社 不揮発性半導体記憶装置およびそれを用いたシステムlsi
JP3983969B2 (ja) * 2000-03-08 2007-09-26 株式会社東芝 不揮発性半導体記憶装置
JP2002207715A (ja) * 2001-01-11 2002-07-26 Mitsubishi Electric Corp マイクロコンピュータ及びそれに用いるメモリ制御方法
US6480419B2 (en) * 2001-02-22 2002-11-12 Samsung Electronics Co., Ltd. Bit line setup and discharge circuit for programming non-volatile memory

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9881681B2 (en) 2002-11-29 2018-01-30 Toshiba Memory Corporation Semiconductor memory device for storing multivalued data
US10109358B2 (en) 2002-11-29 2018-10-23 Toshiba Memory Corporation Semiconductor memory device for storing multivalued data
US10418117B2 (en) 2002-11-29 2019-09-17 Toshiba Memory Corporation Semiconductor memory device for storing multivalued data
US10636502B2 (en) 2002-11-29 2020-04-28 Toshiba Memory Corporation Semiconductor memory device for storing multivalued data
US10867686B2 (en) 2002-11-29 2020-12-15 Toshiba Memory Corporation Semiconductor memory device for storing multivalued data
US11264108B2 (en) 2002-11-29 2022-03-01 Kioxia Corporation Semiconductor memory device for storing multivalued data

Also Published As

Publication number Publication date
EP1403877B1 (en) 2007-05-30
TWI247427B (en) 2006-01-11
CN1497730A (zh) 2004-05-19
EP1403877A1 (en) 2004-03-31
CN1295794C (zh) 2007-01-17
JP2004118940A (ja) 2004-04-15
US20040174741A1 (en) 2004-09-09
DE60314068D1 (de) 2007-07-12
DE60314068T2 (de) 2008-01-24
US6850435B2 (en) 2005-02-01
TW200409360A (en) 2004-06-01
KR20040027407A (ko) 2004-04-01
US20040062077A1 (en) 2004-04-01
KR100515867B1 (ko) 2005-09-21
US6885583B2 (en) 2005-04-26

Similar Documents

Publication Publication Date Title
JP4270832B2 (ja) 不揮発性半導体メモリ
US10482970B2 (en) Semiconductor memory system including a plurality of semiconductor memory devices
JP4170604B2 (ja) 不揮発性半導体メモリ
JP3863330B2 (ja) 不揮発性半導体メモリ
JP4427361B2 (ja) 不揮発性半導体メモリ
JP3920768B2 (ja) 不揮発性半導体メモリ
KR100715412B1 (ko) 비휘발성 반도체 메모리
JP5065594B2 (ja) 半導体記憶装置
WO2006051917A1 (ja) 半導体記憶装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050223

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050223

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080331

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080819

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081020

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: 20090217

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: 20090224

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

Free format text: PAYMENT UNTIL: 20120306

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4270832

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20120306

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130306

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130306

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140306

Year of fee payment: 5

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term