JP2010123210A - 半導体記憶装置 - Google Patents

半導体記憶装置 Download PDF

Info

Publication number
JP2010123210A
JP2010123210A JP2008296864A JP2008296864A JP2010123210A JP 2010123210 A JP2010123210 A JP 2010123210A JP 2008296864 A JP2008296864 A JP 2008296864A JP 2008296864 A JP2008296864 A JP 2008296864A JP 2010123210 A JP2010123210 A JP 2010123210A
Authority
JP
Japan
Prior art keywords
data
level
memory cell
verify
writing
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.)
Pending
Application number
JP2008296864A
Other languages
English (en)
Inventor
Mitsuyoshi Honma
充祥 本間
Noboru Shibata
昇 柴田
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 JP2008296864A priority Critical patent/JP2010123210A/ja
Priority to US12/562,439 priority patent/US20100124109A1/en
Publication of JP2010123210A publication Critical patent/JP2010123210A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/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
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/562Multilevel memory programming aspects
    • G11C2211/5621Multilevel programming verification
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5642Multilevel memory with buffers, latches, registers at input or output
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5646Multilevel memory with flag bits, e.g. for showing that a "first page" of a word line is programmed but not a "second page"

Landscapes

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

Abstract

【課題】隣接セルの容量結合によるメモリセルの閾値分布のシフトを補償でき、高速な書き込みが可能な半導体記憶装置を提供する。
【解決手段】メモリセルアレイ1は、ワード線、及びビット線に接続され、1つのメモリセルに、n値(nは2以上の自然数)のうちの1値を記憶する複数のメモリセルMCがマトリックス状に配置されて構成されている。制御回路8,9は、入力データに応じてワード線、ビット線の電位を制御し、メモリセルにデータを書き込む。制御回路8,9は、メモリセルアレイの第1メモリセルに書き込むとき、第1メモリセルに隣接する第2メモリセルに書き込む書き込みデータに基づき、書き込みレベルを変える。
【選択図】 図1

Description

本発明は、半導体記憶装置に係わり、例えば1つのメモリセルに複数ビットを記憶するNANDフラッシュメモリに関する。
NANDフラッシュメモリは、ソース線とビット線の間に複数のメモリセルが直列接続されてNANDユニットが構成されている。NANDフラッシュメモリは、ソース線に近いメモリセルから順次書き込まれる。このため、既に書き込まれたメモリセルよりビット線側に位置するメモリセルの書き込みを行う際、容量結合により既に書き込まれたメモリセルの閾値電圧がシフトしてしまう。
この容量結合の影響は、1つのワード線に接続された複数のメモリセルにおいても生じる。すなわち、1つのワード線に接続された例えば3つのメモリセルに注目した場合において、2つのメモリセルの間のメモリセルにデータを書き込む場合、2つのメモリセルの閾値電圧により、書き込みセルの閾値電圧がシフトする。
上記隣接セルの書き込みによる閾値電圧のシフトは、素子の微細化による容量結合の増加により顕著となっている。この容量結合を補償するために最初にラフに書き込みを行ったのち、細かく書き込む手法などが用いられている(例えば特許文献1)。しかし、ラフに書き込んだ状態を検知する読み出しなどにより書き込み時間の増大を招いている。したがって、隣接セルの容量結合によるメモリセルの閾値分布のシフトを補償でき、高速な書き込みが可能な半導体記憶装置が望まれている。
特開2007−323731号公報
本発明は、隣接セルの容量結合によるメモリセルの閾値分布のシフトを補償でき、高速な書き込みが可能な半導体記憶装置を提供しようとするものである。
本発明の半導体記憶装置の態様は、ワード線、及びビット線に接続され、1つのメモリセルに、n値(nは2以上の自然数)のうちの1値を記憶する複数のメモリセルがマトリックス状に配置されて構成されたメモリセルアレイと、入力データに応じて前記ワード線、ビット線の電位を制御し、前記メモリセルにデータを書き込む制御回路とを具備し、前記制御回路は、前記メモリセルアレイの第1メモリセルに書き込むとき、前記第1メモリセルに隣接する第2メモリセルに書き込む書き込みデータに基づき、書き込みレベルを変えることを特徴とする。
本発明によれば、隣接セルの容量結合によるメモリセルの閾値分布のシフトを補償でき、高速な書き込みが可能な半導体記憶装置を提供できる。
以下、本発明の実施の形態について、図面を参照して説明する。
図1は、本発明の実施形態に係る半導体記憶装置の概略構成を示している。
図1において、メモリセルアレイ1は、1つのメモリセルに例えば2ビットのデータを記憶することが可能なNAND型フラッシュメモリにより構成されている。すなわち、メモリセルアレイ1は、後述するように、複数のビット線と複数のワード線と共通ソース線、及び電気的にデータを書き換え可能でロウ方向、カラム方向に配置された例えばEEPROMセルからなる複数のメモリセルを含んでいる。ロウデコーダとしてのワード線制御回路2は、メモリセルアレイ1のワード線に接続され、ワード線の選択及び駆動を行う。センスアンプ回路3は、メモリセルアレイ1のビット線に接続され、後述するように、データの読み出し、書き込み機能、及び書き込みデータを残りの書き込み回数に変換する機能を有している。カラムデコーダ4は、アドレスデコーダ7の出力信号に応じて、メモリセルアレイ1のビット線を選択するカラム選択信号を出力する。
入出力制御回路5は、外部から供給される各種コマンド、アドレス信号、及び書き込みデータを受ける。データ書き込み時、書き込みデータは、入出力制御回路5からデータ入出力バッファ6を介してセンスアンプ回路3に供給される。データ読み出し時、センスアンプ回路3に読み出されたデータは、データ入出力バッファ6を介して、入出力制御回路5に供給され、入出力制御回路5から外部に出力される。
入出力制御回路5からデータ入出力バッファ6に供給されたアドレス信号は、アドレスデコーダ7に供給される。このアドレスデコーダ7によりデコードされた信号は、ワード線制御回路2、及びカラムデコーダ4に供給される。
また、入出力制御回路5からデータ入出力バッファ6に供給されたコマンドは、制御信号発生回路8に供給される。制御信号発生回路8には、外部からチップイネーブル信号/CE、書き込みイネーブル信号/WE、読み出しイネーブル信号/RE、アドレスラッチイネーブル信号ALE、コマンドラッチイネーブル信号CLE等の外部制御信号が供給される。制御信号発生回路8は、動作モードに応じて供給される外部制御信号及びコマンドに基づいて、データ書き込み及び消去のシーケンスを制御する制御信号、及びデータの読み出しを制御する制御信号を発生する。この制御信号は、制御電圧発生回路9、アドレスデコーダ7に供給される。
制御電圧生成回路9は、制御信号生成回路8から供給される各種制御信号に応じて、読み出し電圧、書き込み電圧、ベリファイ電圧、消去電圧など、メモリセルアレイやセンスアンプ回路3、カラムデコーダ4の各種動作に必要な電圧を生成する。
パラメータ記憶部10は、入出力制御回路5、制御信号発生回路8に接続され、テスト工程で決定されたチップの品質に適したパラメータを記憶する。
図2は、図1に示すメモリセルアレイ1とセンスアンプ回路3の構成例を示している。メモリセルアレイ1は、破線で示すように複数のブロックBLKを含んでいる。これらブロックは消去単位を構成する。各ブロックBLKには複数のNANDセルが配置されている。1つのNANDセルは、直列接続された例えば32個のEEPROMからなるメモリセルMCと、選択ゲートトランジスタS1、S2とにより構成されている。選択ゲートトランジスタS1はビット線BL0に接続され、選択ゲートS2はソース線SRCに接続されている。各ロウに配置されたメモリセルMCの制御ゲートはワード線WL0、WL1、WL2〜WL31に共通接続されている。また、選択ゲートトランジスタS1はセレクト線SGDに共通接続され、選択ゲートトランジスタS2はセレクト線SGSに共通接続されている。
センスアンプ回路3は、複数のセンスアンプユニット(SAU)3aと、複数のデータ制御ユニット(DCU)3bを有している。各センスアンプユニット3aは、ビット線BL0、BL1、BL2〜BLnに接続されている。各データ制御ユニット3bは各センスアンプユニット3aに接続されている。各センスアンプユニット3aは、データの読み出し時、メモリセルからビット線に読み出されたデータを検知し、保持する。各データ制御ユニット3bは、カラム選択信号SEL0〜SELnに従って動作するトランジスタを介してデータ入出力バッファに接続されている。
書き込み動作(プログラム動作とも呼ぶ)、読み出し動作、及びプログラムベリファイ動作(ベリファイ動作とも呼ぶ)において、センスアンプユニット3aに接続されているビット線が選択されるとともに、1本のワード線が選択される。この選択されたワード線に接続されている全てのメモリセルに、書き込み、又は読み出し電圧を印加することにより一斉に書き込み、又は読み出し動作が行われる。
また、データ制御ユニット3bは、外部から供給された書き込みデータを保持するとともに、センスアンプユニット3aから読み出されたデータを保持する。さらに、データの書き込み時、書き込みデータを、書き込み電圧の印加回数に対応したデータに変換する操作を行う。
尚、図2において、センスアンプユニット3aは、各ビット線に接続されているが、これに限定されるものではなく、例えば2つのビット線に1つ設けてもよい。また、データ制御回路3bは、各センスアンプユニット3aに接続されているが、これに限定されるものではなく、例えば8つのセンスアンプに対して1つのデータ制御回路3bを設け、このデータ制御回路3bをセンスアンプユニット3aに選択的に接続するような構成とすることも可能である。
図3は、センスアンプユニット(SAU)3aの一例を示している。センスアンプユニット3aは、複数のPチャネルMOSトランジスタ(以下、PMOSと称す)20、21、22、23と、複数のNチャネルMOSトランジスタ(以下、NMOSと称す)31、32、33、34、35、36、37と、例えばクロックドインバータ回路により構成されラッチ回路LAT1とにより構成されている。
PMOS20のソースは電源Vddが供給されるノードに接続され、ドレインはPMOS21、NMOS31、32を介してデータ制御ユニット(DCU)3bに接続される。PMOS20のゲートは、後述するラッチ回路LAT1のノードINVに接続されている。PMOS21のゲートには信号BLC1が供給され、NMOS31、32のゲートには信号BLC2、BLC3がそれぞれ供給されている。NMOS31とNMOS32の接続ノードは、ビット線BLに接続されるとともに、NMOS33、34を介して接地されている。NMOS33のゲートは、ラッチ回路LAT1のノードINVに接続され、NMOS33は、ラッチ回路LAT1に保持されたデータにより制御される。さらに、NMOS34のゲートには、信号DISが供給されている。
また、PMOS22のソースは電源Vddが供給されるノードに接続され、ドレインはPMOS23、NMOS36、NMOS37を介してデータ制御ユニット3bに接続される。PMOS22のゲートには信号BLC4が供給され、PMOS23のゲートはNMOS35を介してPMOS21とNMOS31の接続ノードに接続されている。NMOS35のゲートには信号XXLが供給され、NMOS36のゲートにはリセット信号RSTが供給されている。NMOS37のゲートには信号BLC5が供給されている。ラッチ回路LAT1は、NMOS36に並列接続されている。
上記センスアンプユニットの動作について概略的に説明する。
(書き込み動作)
メモリセルにデータを書き込む場合、先ず、リセット信号RSTが一旦ハイレベル(以下、Hレベルと記す)とされ、ラッチ回路LAT1がリセットされる。すなわち、ラッチ回路LAT1のノードINVがLレベルに設定される。この後、信号BLC1、BLC4、DISがLレベル(以下、Lレベルと記す)とされる。
この後、信号BLC2、BLC3、XXLがHレベルとされ、信号BLC4がLレベルとされて、データ制御ユニット3bからデータが取り込まれる。このデータが書き込みを示すLレベル“0”である場合、PMOS23のゲートがLレベルとなり、PMOS23はオン状態となる。このため、ラッチ回路LAT1にはHレベル“1”がセットされる。また、データが非書き込みを示すHレベル“1”である場合、PMOS23がオフ状態となる。このため、ラッチ回路LAT1にはLレベル“0”がセットされる。すなわち、データを書き込む場合、ラッチ回路LAT1のノードINVはHレベルに設定され、非書き込みの場合、ノードINVはLレベルに設定される。
次いで、信号BLC1、BLC3、DIS、XXLがLレベル、信号BLC2がHレベルとされ、ビット線BLがHレベルに充電される。この後、信号DISがHレベルに設定される。すると、ラッチ回路LAT1のノードINVが書き込みを示すHレベルの場合、NMOS33がオンし、NMOS33、34を介してビット線の電荷が放電される。また、ラッチ回路LAT1のノードINVが非書き込みを示すLレベルの場合、NMOS33がオフするため、ビット線の電位はHレベルに保持される。この後、図2に示すビット線とNANDセルとを接続する選択ゲートトランジスタS1のセレクト線SGDがHレベルとされると、ビット線の電位がメモリセルのチャネルに転送される。これと同時に選択されたメモリセルのワード線に書き込み電圧Vpgmを印加される。このため、書き込みセルの場合、チャネルがLレベル(Vss)、ワード線が書き込み電圧Vpgmとなり、書き込みが行われる。また、非書き込みセルの場合、チャネルがHレベル(Vdd−Vth:Vthは選択ゲートトランジスタの閾値電圧)、ワード線がVpgmとなるため、書き込みが行われない。
(読み出し動作)
メモリセルからデータを読み出す場合、先ず、リセット信号RSTが一旦Hレベルとされ、ラッチ回路LAT1がリセットされる。この後、信号BLC1、BLC3、DIS、XXLがLレベル、信号BLC2がHレベルとされ、ビット線がHレベルに充電される。この後、信号BLC2をLレベルとして選択ワード線に読み出しレベルが供給される。メモリセルの閾値電圧が読み出しレベルより高い場合、メモリセルはオフ状態であり、ビット線はHレベルに保持される。また、メモリセルの閾値電圧が読み出しレベルより低い場合、メモリセルはオン状態となり、ビット線の電荷が放電される。このため、ビット線はLレベルとなる。次いで、信号BLC3がHレベルとされ、ビット線の電位がデータ制御ユニット3bに読み出される。
(プログラムベリファイ動作)
書き込み動作後、メモリセルの閾値電圧を検証するプログラムベリファイ動作は、読み出し動作とほぼ同様である。この場合、ビット線をHレベルに充電した後、選択ワード線に所定のベリファイ電圧が供給される。メモリセルの閾値電圧がベリファイ電圧に達している場合、メモリセルはオフ状態となる。このため、ビット線の電位はHレベルに保持される。また、メモリセルの閾値電圧がベリファイ電圧に達していない場合、メモリセルはオン状態となる。このため、ビット線の電位はLレベルとなる。
この状態において、信号BLC1、BLC2、XXLがHレベル、信号BLC4、BLC3、DIS、RSTがLレベルとされ、ビット線BLの電位がラッチ回路LAT1に保持される。すなわち、メモリセルの閾値電圧がベリファイ電圧に達しており、ビット線BLの電位がHレベルの場合、PMOS23がオフ状態となる。このため、ラッチ回路LAT1にはLレベルが保持される。また、メモリセルの閾値電圧がベリファイ電圧に達しておらず、ビット線BLの電位がLレベルの場合、PMOS23がオン状態となる。このため、ラッチ回路LAT1にはHレベルが保持される。すなわち、ベリファイをパスした場合、ラッチ回路LAT1のノードINVの電位はLレベルとなり、ベリファイをパスしない場合、ノードINVの電位はHレベルとなる。
また、ラッチ回路LAT1の反転ノードINVnのデータは、信号BLC5をHレベルとして、NMOS37をオンした状態において、データ制御ユニット3bに転送される。
図4は、データ制御ユニット(DCU)3bの一例を示している。このデータ制御ユニット3bは、例えば5個のデータラッチ回路0DL、1DL、2DL、3DL、4DLと、バス41と、データ形成回路42を含んでいる。
バス41の一端部は、センスアンプユニット3aに接続され、他端部はデータ入出力バッファに接続されている。
データラッチ回路0DLは、ラッチ回路LAT2と、トランスファーゲート43により構成されている。ラッチ回路LAT2は、トランスファーゲート43を介してバス41に接続される。トランスファーゲート43は信号φ及びその反転信号φnにより制御される。データラッチ回路1DL、2DL、3DL、4DLは、データラッチ回路0DLと同一構成であり、トランスファーゲートに供給される信号がそれぞれ相違している。したがって、各データラッチ回路0DL、1DL、2DL、3DL、4DLは、選択的にバス41に接続可能とされている。
データ形成回路42は、ラッチ回路LAT3、PMOS52〜56、NMOS61〜70、及びインバータ回路71により構成されている。PMOS51のソースは電源Vddが供給されるノードに接続されている。このPMOS51のゲートにはセット信号SET1が供給され、ドレインはラッチ回路LAT3に接続されている。さらに、PMOS51のドレインはNMOS61を介して接地されるとともに、NMOS62、63を介して接地されている。NMOS61のゲートにはリセット信号RST2が供給され、NMOS62のゲートには、信号LATHが供給されている。NMOS63のゲートは、入力端がバス41に接続されたインバータ回路71の出力端に接続されている。さらに、PMOS51のドレインは、NMOS64、65を介して接地されている。NMOS64のゲートには信号LATLが供給され、NMOS65のゲートは、バス41に接続されている。
電源Vddが供給されるノードとバス41との間には、PMOS52、53の直列回路と、PMOS54、55の直列回路と、PMOS56が接続されている。
PMOS52のゲートには、信号BUSH2が供給され、PMOS53のゲートはLAT3のノードLATnに接続されている。PMOS52、53は、信号BUSH2とLAT3のノードLATnの電位に応じてバス41をHレベルに充電する回路である。
PMOS54のゲートには、信号BUSL2が供給され、PMOS55のゲートはLAT3のノードLATに接続されている。PMOS54、55は、信号BUSL2とLAT3のノードLATの電位に応じてバス41をHレベルに充電する回路である。
PMOS56のゲートには、セット信号SET2が供給されている。PMOS56は、セット信号SET2に応じてバス41をHレベルに充電する回路である。
バス41と接地間には、NMOS66、67の直列回路と、NMOS68、69の直列回路と、NMOS70が接続されている。
NMOS66のゲートには、信号BUSH1が供給され、NMOS67のゲートはLAT3のノードLATnに接続されている。NMOS66、67は、信号BUSH1とLAT3のノードLATnの電位に応じてバス41をLレベルに放電する回路である。
NMOS68のゲートには、信号BUSL1が供給され、NMOS69のゲートはLAT3のノードLATに接続されている。NMOS68、69は、信号BUSL1とLAT3のノードLATの電位に応じてバス41をLレベルに放電する回路である。
NMOS70のゲートには、リセット信号RST2が供給されている。NMOS70は、リセット信号RST2に応じてバス41をLレベルに放電する回路である。
データ制御ユニット3bは、データラッチ回路0DL、1DL、2DL、3DL、4DLにデータを保持するとともに、保持したデータを加工することが可能とされている。つまり、データ制御ユニット3bは、後述するように、保持したデータの例えば論理積“AND”、“NAND”、論理和“OR”、反転に相当する動作が可能とされている。
(データ制御ユニットの基本動作)
上記データ制御ユニットの基本動作について説明する。データ入出力バッファ6から供給された2ビットの書き込みデータは、データラッチ回路1DL、2DLに1ビットずつラッチされる。ここで、データラッチ回路1DL、2DLは、例えばロワーページ、アッパーページのデータをそれぞれ保持する。データラッチ回路0DLは、ベリファイがパスしたことを示すフラグデータを保持するために用いられる。データラッチ回路0DL、1DL、2DL、3DL、4DLのデータは、トランスファーゲート43を介してバス41に転送可能とされている。
バス41のデータをLAT3に取り込む場合、リセット信号RST2をHレベルとしてNMOS61、70をオンさせ、バス41、及びラッチ回路LAT3をLレベルにリセットする。
次いで、セット信号SET1をLレベルとしてPMOS51をオンさせ、ラッチ回路LAT3をHレベルにセットする。ラッチ回路LAT3にデータを取り込む場合、ラッチ回路LAT3は、先ず、Hレベルにセットされる。この後、例えばデータラッチ回路0DL〜4DLの何れかより、バス41にデータを転送する。この状態において、信号LATHをHレベルとする。バス41のデータがHレベルの場合、インバータ回路71の出力信号がローレベルとなり、NMOS63はオフ状態のままである。このため、ラッチ回路LAT3はHレベルのままである。
また、バス41がLレベルの場合、インバータ回路71の出力信号がHレベルとなり、NMOS63がオンとなる。このため、ラッチ回路LAT3は、NMOS62、63を介して放電され、Lレベルとなる。
次に、バス41のデータを反転してラッチ回路LAT3に取り込む場合の動作について説明する。上記のようにして、ラッチ回路LAT3をHレベルにセットした状態において、バス41にデータを転送する。この後、信号LATLをHレベルとする。バス41のデータがHレベルの場合、NMOS65はオンとなる。このため、ラッチ回路LAT3は、NMOS64、65を介して放電され、Lレベルとなる。
また、バス41がLレベルの場合、NMOS65はオフ状態のままである。このため、ラッチ回路LAT3はHレベルのままである。
このようにして、ラッチ回路LAT3に保持されたデータを、データラッチ回路0DL〜4DLに転送することにより、データラッチ回路0DL〜4DLのデータを操作することができる。
(データラッチ回路に記憶されたデータの反転動作)
データラッチ回路0DL〜4DLのデータを反転させる反転動作について説明する。先ず、前述した動作によりバス41を充電し、データラッチ回路0DL〜4DLのいずれかのトランスファーゲート43が開けられる。例えばデータラッチ回路0DLのトランスファーゲート43が開けられた場合において、データラッチ回路0DLのノードDTがHレベルである場合、データラッチ回路0DLのクロックドインバータ回路を介してバス41が放電され、ノードDTの反転データがバス41へ転送されたこととなる。
次に、上記のようにして、LAT3リセットした後、信号SET1をLレベルとしてLAT3のノードLATをHレベルとする。
次に、信号LATLをHレベルとすると、バス41がデータラッチ回路のデータによって放電されている場合、ノードLATはHレベルを維持し、バス41が充電状態を維持したままの場合、NMOS65がオンするため、ノードLATはLレベルに放電される。
次に、上述したようにバス41を充電し、信号BUSH1をHレベルにすると、ノードLATがHレベル(ノードLATnがLレベル)の場合、バス41はHレベルを維持し、ノードLATがLレベル(ノードLATnがHレベル)の場合、バス41はLレベルとなる。
最後に、データラッチ回路0DLのラッチ回路LAT2をリセットした後、トランスファーゲート43を開けることにより、バス41のデータがトランスファーゲート43を介してラッチ回路LAT2に取り込まれる。この結果、バス41のデータがHレベルの場合、ノードDTはLレベルとなり、バス41のデータがLレベルの場合、ノードDTはHレベルとなる。
上記一連の動作を纏めると、ラッチ回路LTA2のノードDTの反転データがバス41へ転送され、その反転データがラッチ回路LTA1へ転送される。ラッチ回路LAT1のデータがバス41に転送され、バス41の反転データがラッチ回路LTA2に保持される。このようにして、データラッチ回路0DL〜4DLのノードDTが反転される。
尚、データ制御ユニット3bの基本動作は、これに限定されるものではなく、他の動作によっても可能である。この動作を基本としてデータの“AND”、“NAND”、“OR”動作を行うことが可能である。
図5は、NAND型フラッシュメモリの各書き込みデータに対応した閾値電圧分布と隣接容量結合による閾値電圧のシフトの関係を示している。
本実施形態は、1つのメモリセルが2ビットのデータを記憶する場合を示している。2ビットのデータは、同時にメモリセルに書き込まれる。書き込みデータと閾値電圧の間関係は、図5に実線で示す通りである。すなわち、閾値電圧の低い側から高い側へ順にデータ“11”、データ“01”、データ“10”、データ“00”の閾値電圧が所定の間隔を隔てて分布し、これら閾値電圧の1つがメモリセルに設定される。
2ビットのデータを記憶する場合、閾値電圧分布はデータに応じて4つであるが、1つのメモリセルに3ビットのデータを記憶する場合、閾値電圧分布はデータに応じて8つとなり、1つのメモリセルに4ビットのデータを記憶する場合、閾値電圧分布はデータに応じて16個となる。尚、データ“11”の閾値電圧は、ほぼ消去状態の閾値電圧に対応する。
NAND型フラッシュメモリは、ソース線に近いメモリセルより順に書き込まれる。したがって、次の書き込み動作において、現在選択されているワード線よりビット線側に1つ近いワード線に接続されたメモリセルにデータが書き込まれる。また、NAND型フラッシュメモリの特徴として、選択ワード線に接続されたメモリセルにデータを書き込んだ後、次のワード線に接続されたメモリセルにデータを書き込む場合、次のメモリセルに書き込まれるデータに応じて、先に書き込まれたメモリセルと次に書き込まれるメモリセルの隣接結合容量が異なってくる。特に、閾値電圧を高い側に書き込む程、隣接結合容量によるメモリセルの閾値電圧のシフト量が大きくなる。
図5に複数の破線で示す閾値分布は、次の書き込み動作において、隣接セルに書き込まれるデータに対応した閾値電圧のシフトの様子を示している。図5から明らかなように、隣接セルに書き込まれる閾値電圧が高い程、閾値電圧のシフトが大きくなる。このため、データの読み出し時、閾値電圧が高めにシフトして読み出される。具体的には、次の書き込みデータが“11”、つまり非書き込みの場合、次のデータによる隣接結合容量はゼロであるため、メモリセルの閾値は正しく読まれる。しかし、次のデータが“11”以外である場合、閾値電圧がデータに応じて3通りの隣接結合容量による影響を受け、閾値電圧が実際よりも高めにシフトして読まれる。
(第1の実施形態)
図6乃至図10は、第1の実施形態を示すものであり、隣接結合容量によるメモリセルのシフトを考慮した書き込み動作の例を示している。
第1の実施形態は、図6に示すように、次の書き込みデータを考慮して、現在の書き込みベリファイレベルが設定される。データ“01”を書き込む場合において、ベリファイレベルがA−1に設定され、隣接セルに書き込まれるデータ(次の書き込みデータ)が“00”である場合、ベリファイレベルA−1が設定され、次の書き込みデータが“10”である場合、ベリファイレベルA−1より高いベリファイレベルA−2が設定される。さらに、次の書き込みデータが“01”である場合、ベリファイレベルA−2より高いベリファイレベルA−3が設定され、次の書き込みデータが“11”である場合、ベリファイレベルA−3より高いベリファイレベルA−4が設定される。すなわち、次の書き込みにおいて、最も閾値電圧のシフトが大きいデータ“00”に、閾値電圧が収束するように制御される。
図6乃至図10を参照して、書き込み動作について説明する。
先ず、図3に示すセンスアンプユニット3aのラッチ回路LAT1が初期化される。すなわち、リセット信号RSTがHレベルとされ、ラッチ回路LAT1がイコライズされる。この後、信号BLC4がLレベルとされて、ノードINVがHレベルに設定される。
次に、書き込みデータが、図4に示すデータ入出力バッファからデータラッチ回路1DL、2DLに順次ロードされる。この後、データラッチ回路1DL、2DLに保持されたデータの“AND”が取られる。すなわち、データラッチ回路1DL、2DLのトランスファーゲート43が同時に開けられる。データラッチ回路1DL、2DLのデータが“01”“10”“00”である場合、バス41はLレベルとなり、データラッチ回路0DL、1DLのデータが“11”である場合、バス41はHレベルとなる。
バス41のレベルは、前述したようにして、図4に示すラッチ回路LAT3に保持される。データラッチ回路1DL、2DLの論理積がHレベル(非書き込み)の場合、ラッチ回路LAT3にLレベルが保持され、データラッチ回路1DL、2DLの論理積がLレベル(書き込み)の場合、ラッチ回路LAT3にHレベルが保持される。
ラッチ回路LAT3に保持されたデータは、バス41を介してセンスアンプユニット3aに転送される。すなわち、先ず、信号BUSL2がLレベルとされる。ラッチ回路LAT3のノードLATがLレベルの場合、PMOS52、53がオンし、バス41がHレベルに充電される。この後、信号BUSL1がHレベルとされる。ラッチ回路LAT3のノードLATがLレベルの場合、NMOS68はオン、NMOS69はオフとなる。このため、バス41はHレベルとなる。
また、信号BUSL2がLレベルとされ、ラッチ回路LAT3のノードLATがHレベルの場合、PMOS52がオンし、PMOS53がオフする。この後、信号BUSL1がHレベルとされる。ラッチ回路LAT3のノードLATがHレベルの場合、NMOS68、69はオンとなる。このため、バス41はLレベルとなる。
センスアンプユニット3aの信号BLC5がHレベルとされ、バス41のレベルがラッチ回路LAT1に保持される。この結果、非書き込みデータの場合、ラッチ回路LAT1のノードINVがLレベルに設定され、書き込みデータの場合、ラッチ回路LAT1のノードINVがHレベルに設定される。この後、前述したように、書き込み動作が実行される。
この書き込み動作の間に、次のワード線に接続されたメモリセルに書き込まれるデータが、データラッチ回路3DL、4DLにロードされる。
図6に示すように、書き込みベリファイレベルは、それぞれの閾値分布に対して、次の書き込みデータの数だけ用意されている。すなわち、書き込みデータ“01”に対して、ベリファイレベルA−1、A−2、A−3が用意され、書き込みデータ“10”に対して、ベリファイレベルB−1、B−2、B−3が用意され、書き込みデータ“00”に対して、ベリファイレベルC−1、C−2、C−3が用意されている。これらベリファイレベルは、次の書き込みデータに対応して、隣接結合容量の補整値分高く設定されている。これらのベリファイレベルを用いてメモリセルの閾値電圧がベリファイされる。
図7は、書き込みデータ“01”に対するベリファイ動作を示し、図8は、書き込みデータ“10”に対するベリファイ動作を示し、図9は、書き込みデータ“00”に対するベリファイ動作を示している。これらベリファイ動作は同様であるため、図7を用いてその動作を説明し、図8、図9において、図7と同一部分には、同一符号に“a”に代わり“b”“c”を付して説明を省略する。
図7に示すように、データ“01”に対応するベリファイ動作は、先ず、最も低いベリファイレベルA−1が選択ワード線に供給される。このベリファイレベルA−1を用いて上述したようにベリファイ動作が行われる(S11a)。
ベリファイの結果、ベリファイレベルA−1より高い閾値電圧を持っている集合のうち、次のワード線に接続されたメモリセルの書き込みデータが“00”、つまり、最も高い閾値電圧を有するメモリセルかどうかが判別される(S12a)。
この判別は、前記データラッチ回路3DL、4DLにロードされたデータを用いて行われる。尚、前述したように、ベリファイの結果、“ベリファイパス”である場合、図3に示すセンスアンプユニット3aのラッチ回路LAT1のノードINVがLレベルとなっている。このとき、次のデータが“00”であり、ベリファイパスであることは、例えば次の条件により検出される。
/3DL&/4DL&LAT1
ここで、“/”は反転データを示し、“&”は論理積“AND”を示している。すなわち、上記の場合、データラッチ回路2DLの反転データと、データラッチ回路3DLの反転データとラッチ回路LAT1のデータの論理積をとることを意味している。この演算は、上記データ制御ユニット3bの基本動作を組み合わせることにより実行される。この演算結果は、ラッチ回路LAT3に保持される。この動作の後、ベリファイパスである場合、LAT3にHレベルが保持され、それ以外はLレベルが保持される。
次に、上記条件でベリファイパスした場合、このメモリセルに対して書き込む必要がない。このため、このメモリセルに対応するデータラッチ回路0DL、1DL、2DLに非書き込みデータをセットする必要がある。この際、それ以外の条件のメモリセルに対応するデータラッチ回路0DL、1DL、2DLに非書き込みデータをセットしてはならないため、それをケアしたセットが必要となる。
すなわち、先ず、バス41にデータラッチ回路0DLのデータの反転データがロードされる。次に、信号BUSL1がHレベルとされ、ラッチ回路LAT3のノードLATがHレベルの場合だけ、放電パスができるようにする。このとき、ノードLATがHレベルであれば、いかなるデータであっても、バス41はLレベルに設定される。この反転データ、すなわち、Hレベルがデータとしてラッチされる。このため、データラッチ回路0DLは、ベリファイパスというデータがセットされる。
一方、まだベリファイパスしていないメモリセル、あるいは判定条件と違うデータは、バス41に対して放電パスが形成されない。このため、データの反転状態がそのままバス41に残ることになる。これを反転してロードすることにより、データラッチ回路0DLには、元のデータがそのまま保持される。
上記動作により、(/3DL&/4DL&LAT1)|0DL−>0DLという動作が完了したこととなる。ここで、“|”は、論理和“OR”を示している。すなわち、(/3DL&/4DL&LAT1)又は0DLのデータが0DLに保持される。
データラッチ回路1DLと2DLについても、データラッチ回路0DLと同様の動作が実行される。
(/3DL&/4DL&LAT1)|1DL−>1DL
(/3DL&/4DL&LAT1)|2DL−>2DL
すなわち、(/3DL&/4DL&LAT1)又は1DLのデータが1DLに保持され、(/3DL&/4DL&LAT1)又は2DLのデータが2DLに保持される。
全ての動作が完了すると、ベリファイがパスしたメモリセルに対応するデータラッチ回路0DL〜2DLは全てHレベルとなり、書き込みが完了したこととなる。
上記判別の結果、次の書き込みデータが“00”ではない場合、及びベリファイレベルA−1の結果が採用された場合、ベリファイレベルA−2によるベリファイ動作が行われる(S14a)。すなわち、ベリファイレベルA−2が選択ワード線に供給され、ベリファイ動作が行われる。この後、上述したようにして、次の書き込みデータが“10”であるかどうかが判別され(S15a)、“10”である場合、ベリファイレベルA−2の結果が採用される(S16a)。
すなわち、次のような動作が行われる。
(3DL&/4DL&LAT1)|0DL−>0DL
(3DL&/4DL&LAT1)|1DL−>1DL
(3DL&/4DL&LAT1)|2DL−>2DL
この結果、ベリファイパスであるメモリセルに対応するデータラッチ回路0DL〜2DLは全てHレベルとなる。
一方、まだベリファイパスしていないメモリセル、あるいは判定条件と違うデータは、バス41に対して放電パスが形成されない。このため、データの反転状態がそのままバス41に残ることになる。これを反転してロードすることにより、データラッチ回路0DL〜2DLには、元のデータがそのまま保持される。
以下、同様にして、ベリファイレベルA−3、A−4を用いたベリファイ動作、及び次の書き込みデータ“01”“11”に応じた動作が実行される(S17a〜S22a)。
上記判別の結果、次の書き込みデータが“10”ではない場合、及びベリファイレベルA−2の結果が採用された場合、ベリファイレベルA−3によるベリファイ動作が行われる(S17a)。すなわち、ベリファイレベルA−3が選択ワード線に供給され、ベリファイ動作が行われる。
この後、次の書き込みデータが“01”であるかどうかが判別される(S18a)。この結果、次の書き込みデータが“01”である場合、ベリファイレベルA−3のベリファイ結果が採用される(S19a)。
上記判別の結果、次の書き込みデータが“01”ではない場合、及びベリファイレベルA−3の結果が採用された場合、ベリファイレベルA−4によるベリファイ動作が行われる(S20a)。すなわち、ベリファイレベルA−4が選択ワード線に供給され、ベリファイ動作が行われる。
この後、次の書き込みデータが“11”であるかどうかが判別される(S21a)。この結果、次の書き込みデータが“11”である場合、ベリファイレベルA−4のベリファイ結果が採用される(S22a)。
上記のようにして、ベリファイレベルAのベリファイ動作が終了される。
次に、ベリファイレベルAと同様にして、図8に示すベリファレベルBのベリファイ動作が行われ、この後、図9に示すベリファイレベルCのベリファイ動作が実行される。
上記各ベリファイレベルA、B、Cを用いたベリファイ動作の結果、ベリファイがパスしない場合、プログラム電圧が僅かに増加されて、再度書き込み動作が行われる。この後、上記各ベリファイレベルA、B、Cを用いたベリファイ動作が実行される。このような動作が、選択された全てのメモリセルがベリファイパスとなるまで繰り返される。
上記第1の実施形態によれば、書き込み動作中に、次に書き込むデータをデータラッチ回路2DL、3DLにロードし、次に書き込むデータに応じたベリファイレベルを用いたベリファイ動作において、ベリファイ結果が次に書き込むデータと一致している場合、ベリファイをパスとして、ベリファイ結果を採用している。このように、次に書き込むデータが高い閾値電圧に対応する場合、隣接容量結合によるシフトは当然大きいものと考えられる。このため、低めのベリファイレベルでベリファイし、隣接容量結合の高い順に、閾値電圧を低く書き込んでいる。したがって、次のワード線により選択されるメモリセルにデータを書き込んだことによる閾値電圧のシフト分を予め相殺することができる。
図10は、第1の実施形態に係る容量結合の補償を行った後の閾値電圧分布を示している。破線で示す各ベリファイレベルにおいて、次の書き込みデータに対応した各閾値電圧分布を合わせることにより、次の書き込みデータによる容量結合の依存性を除くことができる。したがって、次の書き込みデータに係わらず、各データの閾値電圧分布を破線で示す各ベリファイレベルに揃えることができる。このため、データ“01”“10”“11”の読み出しにおいて、各データに対応した閾値電圧分布と各読み出しレベルマージンを揃えることができる。したがって、読み出し誤りを防止できる。
(第2の実施形態)
図11、図12、図13、図14は、第2の実施形態を示している。第2の実施形態は、第1の実施形態よりベリファイ回数を削減して、プログラム時間を短縮する手法の例を示している。図11乃至図14において、第1の実施形態と同一部分には同一符号を付し、異なる部分について説明する。
第1の実施形態におけるベリファイ手法は、次のワード線に接続されたメモリセルに書き込まれる全てのデータに対応してベリファイを行った。これによるとベリファイ回数が次に書き込まれるデータの数だけ必要となるため、プログラム及びベリファイ時間が長くなり現実的ではない。
そこで、第2の実施形態は、次のワード線に接続されたメモリセルに書き込まれるデータのうち、隣接容量結合の度合いの大きいペアを纏めてベリファイすることにより、ベリファイ時間を削減する。すなわち、次のワード線に接続されたメモリセルに書き込まれるデータのうち、“11”と“01”、“10”と“00”のペアは、閾値電圧の変動が近い。このため、これらペアに基づき、各データに応じたベリファイレベルを設定し、ベリファイする。
具体的には、図11に示すように、本実施形態のビットアサインの場合、“11”と“01”のペアと、“10”と“00”のペアは、ロアービット(lower bit)データが“1”と“0”に分けることができる。そこで、第2の実施形態において、例えばデータ“01”を書き込む場合において、先ず、ベリファイレベルA−1を用いてベリファイされ、次いで、ベリファイレベルA−3を用いてベリファイされる。また、データ“10”を書き込む場合において、先ず、ベリファイレベルB−1を用いてベリファイされ、次いで、ベリファイレベルB−3を用いてベリファイされる。さらに、データ“00”を書き込む場合において、先ず、ベリファイレベルC−1を用いてベリファイされ、次いで、ベリファイレベルC−3を用いてベリファイされる。
図12乃至図14は、第2の実施形態に係るベリファイ動作を示している。第2の実施形態も第1の実施形態と同様に、次のワード線に接続されたメモリセルに書き込まれるデータの隣接結合容量による影響が大きい方がより低く書き込まれる。
図12、図11に示すように、データ“01”に対応するベリファイ動作は、先ず、最も低いベリファイレベルA−1が選択ワード線に供給される。このベリファイレベルA−1を用いて上述したようにベリファイ動作が行われる(S11a)。
ベリファイの結果、ベリファイレベルA−1より高い閾値電圧を持っている集合のうち、次のワード線に接続されたメモリセルの書き込みデータのロワービットが“0”かどうか前述したような動作により判別される(S31a)。
上記条件でベリファイパスした場合、このメモリセルに対して書き込む必要がない。このため、このメモリセルに対応するデータラッチ回路0DL、1DL、2DLに非書き込みデータがセットされる。
一方、まだベリファイパスしていないメモリセル、あるいは判定条件と違うデータの場合、データラッチ回路0DL、1DL、2DLには、元のデータがそのまま保持される。
上記判別の結果、次の書き込みデータのロワービットが“0”ではない場合、及びベリファイレベルA−1の結果が採用された場合、ベリファイレベルA−3によるベリファイ動作が行われる(S17a)。すなわち、ベリファイレベルA−3が選択ワード線に供給され、ベリファイ動作が行われる。この後、上述したようにして、次の書き込みデータのロワービットが“1”であるかどうかが判別され(S32a)、“1”である場合、ベリファイレベルA−3の結果が採用される(S19a)。
上記条件でベリファイパスした場合、このメモリセルに対して書き込む必要がない。このため、このメモリセルに対応するデータラッチ回路0DL、1DL、2DLに非書き込みデータがセットされる。
一方、まだベリファイパスしていないメモリセル、あるいは判定条件と違うデータの場合、データラッチ回路0DL、1DL、2DLには、元のデータがそのまま保持される。
上記のようにして、ベリファイレベルAのベリファイ動作が終了される。
次に、ベリファイレベルAと同様にして、図13に示すベリファレベルBのベリファイ動作が行われ、この後、図14に示すベリファイレベルCのベリファイ動作が実行される。
上記第2の実施形態によれば、第1の実施形態に比べてベリファイレベルを削減できる。このため、ベリファイ時間を短縮でき、第1の実施形態に比べて高速な書き込みが可能となる。
(第3の実施形態)
図15乃至図21は、第3の実施形態を示している。第3の実施形態は、第2の実施形態よりさらに高速な書き込みを可能とする隣接結合容量の補償手法である。
第3の実施形態は、第1、第2の実施形態のように、各書き込みデータ“01”“10”“00”にそれぞれ対応して複数のベリファイレベルを設定するのではなく、各書き込みデータ“01”“10”“00”に対応して唯一のベリファイレベルを設定する。このベリファイレベルによるベリファイ動作の後、次のワード線に接続されたメモリセルに書き込まれるデータによる隣接結合容量の度合いを“残りのプログラム電圧印加回数”すなわち、“残りの書き込み回数”という概念に変換することで補償する。
例えば図15に示すように、次のワード線に接続されたメモリセルの書き込みデータが“11”の場合、閾値電圧のシフト無し、次の書き込みデータが“01”の場合、プログラム1回分閾値電圧がシフトするとし、次の書き込みデータが“10”の場合、プログラム2回分閾値電圧がシフトするとし、次の書き込みデータが“00”の場合、プログラム3回分の閾値電圧がシフトするとする。
この場合、次のワード線に接続されたメモリセルの書き込みデータが“11”の場合、ベリファイ後の残りのプログラム(書き込み)回数が3回と設定され、次の書き込みデータが“01”の場合、残りのプログラム回数が2回と設定され、次の書き込みデータが“10”の場合、残りのプログラム回数が1回と設定され、次の書き込みデータが“00”の場合、残りのプログラム回数が0回と設定される。このように、残りの書き込み回数をコントロールすることにより、それぞれの容量結合に応じた閾値電圧のシフト量を補償することができる。
図16(a)(b)は、データ変換動作に伴うデータの意味の変化を示している。図16(a)は、データラッチ回路1DL、2DLに保持された変換前の書き込みデータを示し、図16(b)は、データラッチ回路1DL、2DLに保持された変換後のプログラム回数データを示している。変換後において、データラッチ回路1DL、2DLのデータ“11”は書き込み完了を示し、データラッチ回路1DL、2DLのデータ“10”は残りプログラム回数1回を示し、データラッチ回路1DL、2DLのデータ“01”は残りプログラム回数2回を示し、データラッチ回路のデータ“00”は残りプログラム回数3回を示している。
図17は、第3の実施形態の書き込みシーケンスの一例を示している。図17を参照して第3の実施形態の書き込みシーケンスについて概略的に説明する。
先ず、書き込みデータがデータラッチ回路1DL、2DLにロードされる。この後、ロック(Lock)の期間において、データラッチ回路0DLが非書き込み状態を示すデータ“0”に設定されるとともに、データラッチ回路1DL、2DLに保持されたデータが前述したように操作され、センスアンプユニット3aに設定される。次いで、選択ワード線に書き込み電圧(プログラム電圧)が印加され、第1のプログラム動作が実行される。この書き込み動作の期間に、次のワード線に接続されたメモリセルに対する書き込みデータが、データラッチ回路3DL、4DLにロードされる。
書き込み動作が終了した後、ベリファイレベルAによりベリファイ動作が行われる(Verify A)。次いで、OpAの期間において、データラッチ回路3DL、4DLに保持された次の書き込みデータに基づき、データラッチ回路1DL、2DLの書き込みデータが残りの書き込み回数に変換される。
この後、ベリファイレベルBによりベリファイ動作が行われる(Verify B)。次いで、OpBの期間において、データラッチ回路3DL、4DLに保持された次の書き込みデータに基づき、データラッチ回路1DL、2DLの書き込みデータが残りの書き込み回数に変換される。
さらに、ベリファイレベルCによりベリファイ動作が行われる(Verify C)。次いで、OpCの期間において、データラッチ回路3DL、4DLに保持された次の書き込みデータに基づき、データラッチ回路1DL、2DLの書き込みデータが残りの書き込み回数に変換される。
このように、データラッチ回路1DL、2DLのデータが残りの書き込み回数に変換された後、Lock期間において、データラッチ回路1DL、2DLのデータがセンスアンプユニットに設定される。
この後、選択ワード線に書き込み電圧が印加され、第2のプログラム動作(プログラム2)が実行される。この後、SUB期間において、データラッチ回路1DL、2DLの残り書き込み回数から“1”が減算される。次いで、データラッチ回路1DL、2DLのデータがセンスアンプユニットに設定され、図示せぬ第3のプログラム動作が実行される。このように、プログラム動作が実行される毎に、データラッチ回路1DL、2DLの残り書き込み回数がマイナス“1”される。この動作は、全てのデータラッチ回路1DL、2DLのデータが“11”となるまで繰り返される。
次に、図18乃至図21を参照して、第3の実施形態の動作についてさらに説明する。
図18は、上記プログラム、ベリファイ動作に伴うデータラッチ回路0DL〜4DLのデータの変化の様子を示している。図18は、4つのカラムX、Y、Z、Wを例として示している。ここで、データラッチ回路0DLは、データ変換用フラグを保持するものとする。また、書き込みデータのアッパービット(upper bit)はデータラッチ回路2DLに保持され、ロワービットは1DLに保持されているとする。次の書き込みデータのアッパービットはデータラッチ回路4DLに保持され、ロワービットはデータラッチ回路3DLに保持されているとする。
図18(a)はプログラム前の各データラッチ回路の内容を示している。図18(a)において、各カラムの書き込みデータは全て“01”であり、次の書き込みデータがカラムX、Y、Z、Wに対応して“11”“10”“01”“00”に設定されている。この状態において、前述したように、第1のプログラム動作(プログラム1)が行われ、ベリファレベルA、B、Cによるベリファイ動作、及びデータ変換動作が行われる。
図19は、ベリファイレベルAによるベリファイ及びデータ変換動作を示し、図20は、ベリファイレベルBによるベリファイ及びデータ変換動作を示し、図21は、ベリファイレベルCによるベリファイ及びデータ変換動作を示している。図19乃至図21において、同様の動作部分には同一符号に添え字“a”“b”“c”を付して示している。ここでは、図19に示すベリファイレベルAについての動作を具体的に説明する。
第1のプログラム動作が終了すると、ベリファイレベルAによるベリファイ動作が実行される(S41a)。ベリファイが完了すると、図18(b)に示すように、全てのデータラッチ回路0DLのデータが“1”とされる。
次に、ベリファイレベルAより高い閾値電圧を有する集合に対して、次の書き込みデータが“00”であるかどうかが判別される(S42a)。この結果、次の書き込みデータが“00”である場合、データラッチ回路1DL、2DLに保持された書き込みデータが、書き込み完了データに変換される(S43a)。すなわち、データラッチ回路3DL、4DLのデータが反転され、データラッチ回路1DL、2DLにそれぞれラッチされる。具体的には、カラムWのように、次のデータが“00”である場合、このデータ“00”が反転されてデータラッチ回路1DL、2DLにデータ“11”としてラッチされる。データ“11”は、残りのプログラム回数が0回であるため、書き込み完了に変換されたこととなる(S43a)。
また、次のデータが“10”である場合(S44a)、このデータ“10”が反転されてデータラッチ回路1DL、2DLにデータ“01”としてラッチされる。このため、残りのプログラム回数が1回であることを示すデータに変換されたこととなる(S45a)。
また、次のデータが“01”である場合(S46a)、このデータ“01”が反転されてデータラッチ回路1DL、2DLにデータ“10”としてラッチされる。このため、残りのプログラム回数が2回であることを示すデータに変換されたこととなる(S47a)。
また、次のデータが“11”である場合(S48a)、このデータ“11”が反転されてデータラッチ回路1DL、2DLにデータ“00”としてラッチされる。このため、残りのプログラム回数が3回であることを示すデータに変換されたこととなる(S49a)。
次に、図20に示すベリファイレベルBに基づくベリファイ動作が、ベリファイレベルAと同様に行われ、この後、データ変換動作が実行される。次いで、図21に示すベリファイレベルCに基づくベリファイ動作が、ベリファイレベルAと同様に行われ、この後、データ変換動作が実行される。
上記のようにデータ変換動作が終了した後、変換されたデータラッチ回路1DL、2DLのデータに基づき、図18に示すように、第2回目のプログラム(プログラム2)が行われる。この後、図18(c)に示すように、各データラッチ回路1DL、2DLの残りの書き込み回数から“1”が減算される。この減算動作は、例えばデータラッチ回路3DL、4DLに保持された次の書き込みデータを反転して、データラッチ回路1DL、2DLのデータと論理和をとることにより実現できる。
このようにして、残りの書き込み回数が更新された後、第3のプログラム動作(プログラム3)が実行される。この後、図18(d)に示すように、各データラッチ回路1DL、2DLの残りの書き込み回数から“1”が減算される。
上記のように、書き込み動作が行われる毎に、残りの書き込み回数が減算され、全てのデータラッチ回路1DL,2DLのデータが“11”となるまで上記動作が繰り返される。
上記第3の実施形態によれば、書き込みデータ“01”“10”“00”にそれぞれ対応する3つのベリファイレベルを用いてベリファイし、隣接結合容量の度合いを残りの書き込み回数(書き込み電圧印加回数)に変換し、プログラム動作後、この残りの書き込み回数を減算し、プログラム、ベリファイを制御している。このため、第1、第2の実施形態に比べてさらにベリファイレベルを削減でき、ベリファイ回数を低減できる。したがって、書き込み速度を高速化することが可能である。
尚、第3の実施形態において、残りのプログラム回数は、1回、2回、3回というように、整数倍に設定した。しかし、これに限定されるものではなく、例えば書き込み時のビット線の電位を制御することにより、残りのプログラム回数を少数倍に設定することも可能である。このように、少数倍に設定することにより、より高精度のプログラムが可能となる。この具体例については後述する。
(第4の実施形態)
図22は、第4の実施形態を示している。第4の実施形態は第3の実施形態を変形したものである。第3の実施形態は、書き込みデータ“01”“10”“00”にそれぞれ対応する3つのベリファイレベルを用いてベリファイした。これに対して、第4の実施形態は、3つの書き込みデータ“01”“10”“00”に対して1つのベリファイレベルを設定してベリファイし、この後、書き込みデータ及び次の書き込みデータに基づき、書き込みデータを残りの書き込み回数に変換する。
すなわち、図22に示すように、3つの書き込みデータ“01”“10”“00”に対して1つのベリファイレベルAが設定され、このベリファイレベルAを用いて3つの書き込みデータ“01”“10”“00”に対応する閾値電圧がベリファイされる。書き込みデータ“01”“10”“00”に対して、次の書き込みデータが“11”“01”“10”“00”である場合の閾値電圧のシフトをプログラム回数で示すと、図22に示すようになる。
すなわち、書き込みデータ“01”において、次の書き込みデータが“11”の場合、プログラム回数0回分シフトし、次の書き込みデータが“01”の場合、プログラム回数1回分シフトし、次の書き込みデータが“10”の場合、プログラム回数2回分シフトし、次の書き込みデータが“00”の場合、プログラム回数3回分シフトするとする。
書き込みデータ“10”において、次の書き込みデータが“11”の場合、プログラム回数6回分シフトし、次の書き込みデータが“01”の場合、プログラム回数7回分シフトし、次の書き込みデータが“10”の場合、プログラム回数8回分シフトし、次の書き込みデータが“00”の場合、プログラム回数9回分シフトするとする。
書き込みデータ“00”において、次の書き込みデータが“11”の場合、プログラム回数12回分シフトし、次の書き込みデータが“01”の場合、プログラム回数13回分シフトし、次の書き込みデータが“10”の場合、プログラム回数14回分シフトし、次の書き込みデータが“00”の場合、プログラム回数15回分シフトするとする。
上記仮定に基づき、書き込みデータと次の書き込みデータに基づき、書き込みデータと次の書き込みデータが残りの書き込み回数に変換される。
図23は、第4の実施形態の書き込みシーケンスの一例を示し、図24は、データ変換動作の一例を示している。
第4の実施形態において、非書き込みデータの場合、データラッチ回路0DL〜4DLが全て“1”にリセットされる。このため、プログラム動作の前に、書き込みデータや次の書き込みデータが、データラッチ回路1DL〜4DLにロードされている必要がある。このデータロード、及び非書き込みデータの場合に対応するデータラッチ回路0DL〜4DLを全て“1”にリセットする動作は、Lock期間より前のConv期間において実行される。
図24(a)は、Conv期間後のデータラッチ回路0DL〜4DLを示している。データラッチ回路1DL、2DLのデータが“11”で、データラッチ回路3DL、4DLのデータが“11”、すなわち、非書き込みの場合、データラッチ回路0DLのデータがベリファイパスを示す“1”に設定される。その他のデータラッチ回路0DL〜4DLには、書き込みデータ、及び次の書き込みデータが保持されている。
この後、Lock期間において、データラッチ回路1DL、2DLの書き込みデータがセンスアンプユニットに設定される。次に、選択ワード線にプログラム電圧が印加されて第1のプログラム動作(プログラム1)が実行される。
次いで、ベリファイレベルAによりベリファイ動作が実行される。ベリファイ動作の結果、ベリファイをパスしたメモリセルのデータは次の書き込みデータに基づいて、残りの書き込み回数(残りの書き込み電圧印加動作の回数)に変換される。
すなわち、図24(b)に示すように、先ず、OpAにおいて、書き込みデータ“01”に対して変換動作が行われ、次にOpBにおいて、書き込みデータ“10”に対して変換動作が行われ、最後に、“OpC”において、書き込みデータ“00”に対して変換動作が行われる。この結果、OpCに示すように、データラッチ回路1DL、2DLに保持されたデータと、データラッチ回路3DL、4DLに保持されたデータに基づき、残りの書き込み回数がデータラッチ回路1DL、2DL、3DL、4DLに設定される。すなわち、残り15回の書き込み回数が4ビットのデータで表されている。
このように、データ変換動作が実行された後、Lock期間において、データラッチ回路1DL、2DLがセンスアンプユニット3aに設定され、第2のプログラム動作(プログラム2)が実行される。
第2のプログラム動作の後、SUB期間において、上記残りの書き込み回数から“1”が減算される。このプログラム動作と減算動作が、全てのデータラッチ回路0DL〜4DLのデータが“1”となるまで繰り返し実行される。
上記第4の実施形態によれば、ベリファイレベルを1つとすることができる。このため、ベリファイ時間を短縮することができ、一層書き込み動作を高速化することが可能である。
(第5の実施形態)
図25、図26、図27は、第5の実施形態を示している。第5の実施形態は、第3の実施形態の変形例である。第3の実施形態は、1つのメモリセルに2ビットのデータを書き込む場合について説明した。これに対して、第5の実施形態は、1つのメモリセルに3ビットのデータを書き込む場合を示している。
図25は、隣接した異なるワード線にそれぞれ接続されたメモリセル“a”“b”“c”“d”に対するデータの書き込み順序を示している。
図25に示すように、第5の実施形態の場合、(1)において、メモリセル“a”に3ビットのデータが書き込まれる。この後、(2)において、次のワード線に接続されたメモリセル“b”に3ビットのデータが書き込まれる。次いで、(3)において、次のワード線に接続されたメモリセル“c”に3ビットのデータを書き込まれる。この後、(4)において、次のワード線に接続されたメモリセル“d”に3ビットのデータが書き込まれる。
図26(a)において、(1)は、メモリセル“a”に3ビットのデータを書き込んだ場合における閾値電圧分布を示している。VA、VB〜VGは、それぞれベリファイレベルを示している。
図26(a)(b)において、(2)は、次のワード線に接続されたメモリセル“b”に3ビットのデータを書き込んだ場合における、メモリセル“a”の閾値電圧分布を示している。このように、メモリセル“a”に対して次のワード線に接続されたメモリセルメモリセル“b”にデータが書き込まれることにより、容量結合により、メモリセル“a”の閾値電圧分布が本来のレベルに分布する。
図26(b)は、図26(a)の一部を拡大したものである。
第5の実施形態の場合、8値のデータを保持するため、7つのデータラッチ回路を必要とする。また、3ビットのデータは同時に書き込まれ、データ変換動作により、残りの書き込み回数が最大7回設定され、書き込み動作が実行される。
図27は、第5の実施形態の書き込み順序を示しており、図25と同一部分には同一符号を付している。図27は書き込みデータの順序の推移を示しており、0DLから5DLに対応した記載された番号、例えば“0”〜“5b”〜“e14”は、それぞれ図25のページ番号を意味し、“a”,“b”,“c”などのアルファベットは各セルを意味する。例えば、5DLの最初に格納されているデータ“a0”は、セル“a”の最下位ビット(ページ0)、“a1”は、セル“a”の次のビット(ページ1)ということを意味している。
このように、各書き込みデータの閾値電圧分布を最大の容量結合に合わせることにより、次のワード線に接続されたメモリセルにデータが書き込まれることにより、閾値電圧分布を本来のレベルに設定することができる。
第5の実施形態によれば、隣接セルの結合容量を補償して3ビットのデータを高精度に書き込むことができる。
(第6の実施形態)
図28、図29は、第6の実施形態を示している。第6の実施形態は、第5の実施形態の変形例である。第5の実施形態は、隣接するワード線を順次選択してメモリセルに3ビットのデータを1度に書き込んだ。
これに対して、第6の実施形態は、図28に示すように、1つのメモリセルに2回に分けて3ビットのデータを書き込んでいる。すなわち、先ず、(1)において、メモリセル“a”に3ビットのデータが書き込まれる。この後、(2)において、次のワード線に接続されたメモリセル“b”に3ビットのデータが書き込まれる。次いで、(3)において、メモリセル“a”に3ビットのデータが再度書き込まれる。この後、(4)において、メモリセル“a”が接続されたワード線から2つ離れたワード線に接続されたメモリセル“c”に3ビットのデータが書き込まれる。この後、(5)において、メモリセル“a”が接続されたワード線の隣のワード線に接続されたメモリセル“b”に3ビットのデータが書き込まれる。
図29は、メモリセル“a”の閾値電圧分布の変化を示している。(1)において、先ずメモリセル“a”に3ビットのデータが書き込まれる。第5の実施形態において、残りの書き込み回数は、最大7回に設定されたが、第6の実施形態の場合、最大3回に設定される。この後、残りの書き込み動作が実行され、おおよそのレベルに閾値電圧が設定される。
次に、(2)において、メモリセル“b”が書き込まれると、容量結合により、閾値電圧分布がシフトする。
この後(3)において、再度メモリセル“a”に対して3ビットのデータにより書き込み動作が実行される。この場合、前記ベリファイレベルVA、Vb…VGよりそれぞれ若干高いベリファイレベルVA+α、Vb+α…VG+αが用いられる。
次いで、(4)において、メモリセル“b”に2回目の書き込みが行われると、容量結合により、メモリセル“a”の閾値電圧分布が本来のレベルにシフトする。
図30は、第6の実施形態の書き込み順序を示しており、図28と同一部分には同一符号を付している。図30において、各ラッチ回路0DL〜5DLに対応して記載された“a0”などの記号の意味は、図27と同様である。
また、図31は、1回目のプログラム及びベリファイシーケンスを示し、図32は、2回目のプログラム及びベリファイシーケンスを示している。
図31に示すように、書き込みの初期においては、閾値電圧の高いほうは書かれていないため、高いほうのベリファイは省略されている。書き込みが進むに従って、ベリファイ動作が増加する。また、書き込みの終盤において、閾値電圧の低いほうは、既に書かれているため、低いほうのベリファイが省略されている。
図32に示す2回目のプログラム及びベリファイシーケンスも同様の動作であるが、最初の書き込み時のみ、全てのベリファイが行われている。
上記第6の実施形態によれば、1つのメモリセルに対するデータの書き込みを、隣接セルの容量結合を考慮して2回行っている。このため、メモリセルに各閾値電圧分布を高精度の設定することができる。
(第7の実施形態)
図33、図34は、第7の実施形態を示している。第7の実施形態は、第4の実施形態の変形例である。第4の実施形態は、1つのベリファイレベルを用いて2ビットのデータに対応する閾値電圧をベリファイし、この後、書き込みデータと次の書き込みデータを残りの書き込み回数に変換した。
これに対して、第7の実施形態は、2つのベリファイレベルを用いて3ビットのデータに対応する閾値電圧をベリファイし、この後、書き込みデータと次の書き込みデータを残りの書き込み回数に変換する。
また、第7の実施形態は、図33に示すように、第6の実施形態と同様に、1つのメモリセルに2回に分けて3ビットのデータを書き込んでいる。すなわち、先ず、(1)において、メモリセル“a”に3ビットのデータが書き込まれる。この後、(2)において、次のワード線に接続されたメモリセル“b”に3ビットのデータが書き込まれる。次いで、(3)において、メモリセル“a”に3ビットのデータが再度書き込まれる。この後、(4)において、メモリセル“a”が接続されたワード線から2つ離れたワード線に接続されたメモリセル“c”に3ビットのデータが書き込まれる。この後、(5)において、メモリセル“a”が接続されたワード線の隣のワード線に接続されたメモリセル“b”に3ビットのデータが書き込まれる。
図34は、メモリセル“a”の閾値電圧分布の変化を示している。(1)において、先ずメモリセル“a”に3ビットのデータが書き込まれる。この後、例えばベリファイレベルVA、VDを用いてベリファイされる。この結果、ベリファイがパスした場合、書き込みデータ及び次の書き込みデータが残りの書き込み回数に変換される。この場合、残りの書き込み回数は、第6の実施形態と同様に最大3回に設定される。このようにして、残りの書き込み動作が実行され、おおよそのレベルに閾値電圧が設定される。
次に、(2)において、メモリセル“b”が書き込まれると、容量結合により、閾値電圧分布がシフトする。
この後、(3)において、再度メモリセル“a”に3ビットのデータにより書き込み動作が実行される。この場合、前記ベリファイレベルVA、Vb…VGよりそれぞれ若干高いベリファイレベルVA+α、Vb+α…VG+αが用いられる。
次いで、(4)において、メモリセル“b”に2回目の書き込みが行われると、容量結合により、メモリセル“a”の閾値電圧分布が本来のレベルにシフトする。
上記第7の実施形態によれば、2つのベリファイレベルを用いて3ビットのデータを書き込むことができるため、ベリファイを高速化できる。しかも、残りの書き込み回数を最大3回に設定しているため、書き込み速度を高速化できる。
また、1つのメモリセルに対するデータの書き込みを、隣接セルの容量結合を考慮して2回行っている。このため、メモリセルに各閾値電圧分布を高精度の設定することができる。
(第8の実施形態)
上記各実施形態は、1つのNANDユニット内において、隣接するワード線に接続されたメモリセルに書き込まれるデータによる容量結合を補償する場合について説明した。これに対して、第8の実施形態は、1つのワード線に接続された隣接セルに書き込まれるデータによる容量結合を補償する場合について説明する。
尚、1つのメモリセルに書き込まれるデータは2ビットである場合について説明する。しかし、3ビット以上の場合においても適用可能である。
図35(a)は、同一のワード線に接続された3つのメモリセルの閾値電圧の関係を示している。例えばメモリセルMCmにデータを書き込む場合において、このメモリセルMCmの両隣のメモリセルMCm−1、MCm+1が共に消去状態“11”である場合、メモリセルMCmは、隣接結合容量による閾値電圧のシフトは生じない。
一方、図35(b)に示すように、メモリセルMCmの両隣のメモリセルMCm−1、MCm+1が共に消去状態より高い閾値電圧、例えば“00”である場合、メモリセルMCmにデータを書き込む時、隣接結合容量により閾値電圧のシフトが生じる。
第8の実施形態は、隣接カラムのメモリセルのデータに応じて、書き込み完了からさらに追加の書き込みを行うことにより、隣接セルの結合容量を補償する。しかし、隣接カラムのデータは、様々であるため、これらデータの関係により追加の書き込み回数が設定される。
図36は、隣接カラムのデータと追加書き込み回数の関係を示している。図36に示すように、書き込み対象のメモリセルに隣接する2つのメモリセルのデータが共に“11”である場合、及び一方のメモリセルのデータが“11”で他方のメモリセルのデータが“01”、又は隣接する2つのメモリセルのデータが共に“10”である場合、1回追加書き込みが行われるように制御される。図36において(+1)は、1回追加書き込みを行うことを示し、(0)は追加書き込みを行わないことを示している。
図37は、追加書き込みが必要なカラムを検出する手法を示している。図37は、一例として、カラム1(col1)からカラム10(col10)のみを示している。
先ず、各カラムの例えばデータラッチ回路1DL、2DL(ここでは、データ制御ユニットDUCとして示している)に、外部より、それぞれデータがロードされる。すなわち、カラム1のデータラッチ回路にはデータ“01”がロードされ、カラム2のデータラッチ回路にはデータ“10”がロードされる。
次に、Lowerで示すように、各カラムのロワービットのデータがロードされる。このとき、例えば“(a)col shift+”で示すように、先ず、ロワービットのデータが1カラム分、上位のカラム方向にシフトして、例えばデータラッチ回路3DLにロードされる。この際、対応するデータがないカラム1には、データ“1”がセットされる。
この後、“(b)col shift−”で示すように、ロワービットのデータが1カラム分、下位のカラム方向にシフトして、例えばデータラッチ回路4DLにロードされる。このように、1カラム上位、及び1カラム下位にシフトしたデータをロードすることにより、各カラムにそのカラムの両隣のデータを対応させることができる。この際、対応するデータがないカラム10には、データ“1”がセットされる。
このように、外部からデータを3回ロードした後、/((a)&(b))で示すように、上位方向にシフトされたデータと下位方向にシフトされたデータの“NAND”が演算される。この演算結果に基づき、追加の書き込みが行われる。すなわち、データ“0”のカラム2、カラム5に対して追加書き込みが行われ、その他のカラムに対しては書き込みが行われない。QPWは、追加書き込みが行われるカラムを示している。
上記第8の実施形態によれば、1つのワード線に接続された複数のメモリセルにおいて、隣接するメモリセルのデータに基づき追加書き込みの必要なカラムを検出し、必要なカラムに対してのみ追加書き込みを可能としている。このため、ワード線方向に隣接するメモリセルの結合容量に基づく閾値電圧のシフトを補償することができる。
尚、上記各実施形態において、残りの書き込み回数は、上記例に限定されるものではない。NAND型フラッシュメモリにおいて、書き込み、消去が繰り返されると、プログラム電圧に対する閾値電圧のシフト量が増加することが知られている。このため、書き込み、消去回数が多いメモリセルに対しては、上記残りの書き込み回数を削減することが望ましい。この制御は、例えば図示せぬコントローラにより、書き込み、消去回数をカウントし、このカウント数が規定値に達した場合、残りの書き込み回数を削減するように制御すればよい。
(センスアンプユニットの変形例)
上述したように、書き込み時のビット線の電位を制御することにより、残りのプログラム回数を少数倍に設定することできる。この制御は、センスアンプユニットを用いて行われる。
図38は、図3に示すセンスアンプユニット3aの変形例を示している。図38において図3と同一部分には同一符号を付し、異なる部分についてのみ説明する。
図38において、電源電圧Vddが供給されるノードとビット線BLとの間にNMOS80、81が直列接続されている。NMOS80のゲートは、NMOS82を介して電源電圧Vddが供給されるノードに接続されるとともに、キャパシタC1の一端に接続されている。キャパシタC1の他端は接地されている。前記NMOS81のには、信号SWAが供給され、NMOS82のゲートには信号SWBが供給されている。
(キャパシタに加える電荷をアナログ値とする例)
上記各実施形態のプログラム動作において、図3の信号BLC2を中間電位とすることにより、ベリファイレベルを超えたセルに対して、半分の書込みパルスに相当する0.5回の書き込みを実現することができる。
これに対して、図38に示す変形例の場合、キャパシタC1の充電電荷に応じて、必要な電位を発生することができる。すなわち、信号SWBをHレベルとすると、NMOS82がオンし、このNMOS82を介してキャパシタC1に電荷が蓄積される。信号SWBによりNMOS82のオン時間を制御でき、キャパシタC1の充電電荷を制御することができる。
この状態において、信号SWAをHレベルとすることにより、NMOS81がオンとされる。NMOS80はキャパシタC1に蓄積された電荷に応じてオンとされる。このため、NMOS80、81を介してビット線BLに電位を供給することができる。この電位は、キャパシタC1の充電電荷に応じて制御される。すなわち、キャパシタC1の充電電荷を制御することにより、ビット線BLに必要な中間電位を供給することができる。1未満の回数の書き込みパルスに相当する、最適なパルスをメモリセルに与えることが可能である。
(バックパターン補償の例)
次に、ブロック内の次に書き込まれるデータに応じて、中間電位を変えるバックパターン補償(Back Pattern compensation)について説明する。
上記各実施形態は、ベリファイレベルを超えたセルに対して、隣接するメモリセルに書き込まれるデータに応じて、書き込み完了としたり、数回書き込み電圧パルスを印加してターゲットレベルに書き込んだりすることにより、隣接セルの結合容量の影響を補償した。
これに対して、バックパターン補償を行う場合、ブロック内に書き込まれるデータに応じて書き込みを制御する必要がある。すなわち、図2に示すように、あるワード線WLnに接続されたメモリセルにデータが書き込まれた後、ワード線WLn+1〜WL31に接続されたメモリセルにデータが書き込まれる。ここで、データ“00”が書き込まれるセルが多い場合、ベリファイリードやリード時に電流が減少する。このため、先に書き込んだワード線WLnに接続されたセルの閾値レベルが見かけ上少し高くなってしまうという問題がある。
そこで、ワード線WLn+1〜WL31に接続されたセルに書き込まれるデータが、低いレベルが多く、高いレベルが少ない場合、事前に本来のベリファイレベルより高いレベルに書き込んでおくことで、ブロック内のバックパターンを補正することが可能である。
具体的には、例えばワード線WLn+1〜WL31に書き込まれるデータが“11”である場合3点、“01”の場合2点、“10”の場合1点、“00”の場合0点として、ワード線WLn+1〜WL31に書き込むデータの合計点が求められる。この後、合計点がワード線WLの数で割られ、平均点が求められる。この演算は、例えば外部の図示せぬコントローラ(ホスト装置)により行われる。
ワード線WLnに対するデータの書き込み時、コントローラから演算された平均点が半導体記憶装置に送られ、ベリファイレベルに達したメモリセルに対して、平均点に応じて追加の書き込み電圧パルスが印加される。すなわち、平均点が高い場合程多くの書き込み電圧パルスが印加される。この場合、パルス数は簡単のために、例えば、0回、0.5回、1回、1.5回の4パターンなど、数回に減らすことも可能である。
このように、ブロック内に書き込まれるデータの状態に応じて、先に書き込まれる閾値電圧を補償することにより、ブロック内のバックパターンを補正することができる。
尚、各実施形態と同様に、ビット線に中間電位を供給することにより、1回未満の書き込み電圧パルスを印加することができる。
(次の書き込みデータがない場合の例)
また、上記各実施形態において、メモリセルにデータを書き込む時、隣接セルに書き込むデータがない場合がある。すなわち、例えば1つのメモリセルに2ビット(2ページ)のデータを書き込む場合において、1ビット目及び2ビット目の両方がない場合、又は2ビット目のデータがない場合がある。あるいは、1つのメモリセルに3ビット(3ページ)のデータを書き込む場合において、3ビットのデータ全てがない場合、又は2ビット目以降のデータがない場合がある。このような場合、半導体記憶装置の外部のコントローラ、例えばホスト装置において、例えばダミーデータが生成され、このダミーデータが半導体記憶装置に供給されて、メモリセルに書き込まれる。このダミーデータは、2ビット(2ページ)以上のデータを例えばオール“1”又はオール“0”に設定したり、2ビット(2ページ)以上のデータを例えば“01”又は“10”のような、任意の値に設定したりすることが可能である。すなわち、書き込み後のデータを消去レベル以上で、最も低いレベル又は最も高い閾値レベル、或いは中間レベルのいずれかに設定すればよい。
このようにダミーデータを書き込むことにより、隣接セルに書き込みデータがない場合であっても先に書き込まれるメモリセルの閾値レベルを正確に設定することができる。
(アプリケーションの例)
次に、上記半導体記憶装置が適用されるアプリケーションについて説明する。
図39は、半導体記憶装置が適用されるメモリカードの例を示している。図39において、メモリカード900は、上記実施形態で説明したNAND型フラッシュメモリを含む半導体記憶装置901を有している半導体記憶装置901は、図示せぬ外部装置から所定の制御信号及びデータを受け取る。また、図示せぬ外部装置へ所定の制御信号及びデータを出力する。
すなわち、メモリカード900に搭載された半導体記憶装置901は、データ、アドレス、若しくは、コマンドを転送する信号線(DAT)、信号線DATにコマンドが転送されている事を示すコマンドラインイネーブル信号線(CLE)、信号線DATにアドレスが転送されている事を示すアドレスラインイネーブル信号線(ALE)、及び、フラッシュメモリ10が動作可能か否かを示すレディービジー信号線(R/B)が接続される。
図40は、別のメモリカードの例を示している。このメモリカードは、図40に示したメモリカードと異なり、フラッシュメモリ3を制御し、図示せぬ外部装置と信号を授受するコントローラ910を有している。
コントローラ910は、例えば図示せぬ外部装置から信号を入力し、若しくは、外部装置へ信号を出力するインターフェース部(I/F)911と、NAND型フラッシュメモリを含む半導体記憶装置901と信号を授受するインターフェース部912と、外部装置から入力された論理アドレスを物理アドレスに変換するなどの計算を行うマイクロプロセッサ(MPU)913と、データを一時的に記憶するバッファとしてのRAM914と、誤り訂正符合を生成する誤り訂正部(ECC)915を有している。また、メモリカード900のインターフェース部911には、コマンド信号線(CMD)、クロック信号線(CLK)、信号線(DAT)が接続されている。
尚、上記メモリカードにおいて、各種信号線の数、信号線のビット幅、及びコントローラの構成は変形可能である。また、この構成を適用してハードディスクに変わるSSD(Solid State Drive)を構成することも可能である。
図41は、別のアプリケーションを示している。図41に示すように、前述したメモリカード900は、カードホルダー920に挿入され、図示せぬ電子機器に接続される。カードホルダー920は、コントローラ910の機能の一部を有していても良い。
図42は、別のアプリケーションを示している。メモリカード900、若しくは、メモリカード900が挿入されたカードホルダー920は、接続装置1000に挿入される。接続装置1000は接続配線1100、及びインターフェース回路1200を介してボード1300に接続される。ボード1300にはCPU1400やバス1500が搭載される。
図43は、別のアプリケーションを示している。メモリカード900、若しくは、メモリカード900が挿入されたカードホルダー920が接続装置1000に挿入される。接続装置1000は接続配線1100を介して、パーソナルコンピュータ2000に接続されている。
図44、図45は、別のアプリケーションを示している。図44、図45に示すように、ICカード2100は、MCU2200を搭載している。MCU2200は、上記実施形態に従ったNAND型フラッシュメモリを含む半導体記憶装置901と、例えばROM2300、RAM2400、及びCPU2500を備えている。ICカード2100は、図20に示すように、その一表面に露出されたプレーンターミナル(plane terminal)2600を有し、プレーンターミナル2600はMCU2200に接続されている。CPU2500は、演算部2510と、フラッシュメモリ3、ROM2300及びRAM2400に接続された制御部2520を備えている。
図46は、他のアプリケーションを示すものであり、例えば携帯音楽記録再生装置3000の例を示している。この携帯音楽記録再生装置3000は、例えば本体内に上記実施形態に従ったNAND型フラッシュメモリを含む半導体記憶装置901を内蔵している。さらに、上記NAND型フラッシュメモリを含むメモリカード900が装着可能とされている。
図47は、他のアプリケーションを示すものであり、例えば携帯電話等の携帯端末装置4000を示している。携帯端末装置4000は、例えば本体内に上記実施形態に従ったNAND型フラッシュメモリを含む半導体記憶装置901を内蔵している。さらに、上記NAND型フラッシュメモリを含むメモリカード900が装着可能とされている。
図48は、他のアプリケーションを示すものであり、例えばUSBメモリ5000を示している。USBメモリ5000は、例えば本体内に上記実施形態に従ったNAND型フラッシュメモリを含む半導体記憶装置901を内蔵している。
その他、本発明は、上記実施形態に限定されるものではなく、発明の要旨を変えない範囲において種々変形実施可能なことは勿論である。
実施形態に係る半導体記憶装置の概略構成図。 メモリセルアレイとセンスアンプ回路の一例を示す構成図。 センスアンプユニットの一例を示す回路図。 データ制御ユニットの一例を示す回路図。 閾値電圧分布と隣接容量結合による閾値電圧のシフトの関係を示す図。 第1の実施形態を示すものであり、隣接結合容量によるメモリセルのシフトを考慮した書き込み動作の例を示す図。 第1の実施形態に係る書き込み動作を示すフローチャート。 第1の実施形態に係る書き込み動作を示すフローチャート。 第1の実施形態に係る書き込み動作を示すフローチャート。 第1の実施形態に係る容量結合の補償を行った後の閾値電圧分布の例を示す図。 第2の実施形態に係るベリファイレベルとデータの関係を示す図。 第2の実施形態に係るベリファイ動作の例を示すフローチャート。 第2の実施形態に係るベリファイ動作の例を示すフローチャート。 第2の実施形態に係るベリファイ動作の例を示すフローチャート。 第3の実施形態に係るベリファイレベルとデータの関係を示す図。 第3の実施形態に係わり、データ変換動作に伴うデータの意味の変化を示す図。 第3の実施形態の書き込みシーケンスの一例を示す図。 第3の実施形態の書き込み動作の一例を示す図。 第3の実施形態のベリファイ及びデータ変換動作の一例を示すフローチャート。 第3の実施形態のベリファイ及びデータ変換動作の一例を示すフローチャート。 第3の実施形態のベリファイ及びデータ変換動作の一例を示すフローチャート。 第4の実施形態の概略動作を示す図。 第4の実施形態に係る書き込みシーケンスの一例を示す図。 第4の実施形態に係るデータ変換動作の一例を示す図。 第5の実施形態に係る書き込み順序を示す図。 図26(a)(b)は、第5の実施形態に係る書き込み動作の一例を示す図。 第5の実施形態に係る書き込み動作の一例を示す図。 第6の実施形態に係る書き込み順序を示す図。 第6の実施形態に係る書き込み動作の一例を示す図。 第6の実施形態に係る書き込み動作の一例を示す図。 第6の実施形態に係るプログラム、ベリファイ動作の一例を示す図。 第6の実施形態に係るプログラム、ベリファイ動作の一例を示す図。 第7の実施形態に係る書き込み順序を示す図。 第7の実施形態に係る書き込み動作の一例を示す図。 図35(a)(b)は、第8の実施形態に係り、隣接カラムのデータの関係を示す図。 第8の実施形態に係り、隣接カラムのデータと追加書き込み回数の関係を示す図。 第8の実施形態に係り、データ変換動作の一例を示す図。 センスアンプユニットの変形例を示す回路図。 実施形態に係る半導体記憶装置が適用されるアプリケーションを示す構成図。 他のアプリケーションの例を示す構成図。 他のアプリケーションの例を示す構成図。 他のアプリケーションの例を示す構成図。 他のアプリケーションの例を示す構成図。 他のアプリケーションの例を示す構成図。 他のアプリケーションの例を示す構成図。 他のアプリケーションの例を示す構成図。 他のアプリケーションの例を示す構成図。 他のアプリケーションの例を示す構成図。
符号の説明
1…メモリセルアレイ、2…ワード線制御回路、3…センスアンプ回路、3a…センスアンプユニット、3b…データ制御ユニット、0DL〜4DL…データラッチ回路、8…制御信号発生回路、9…制御電圧発生回路。

Claims (7)

  1. ワード線、及びビット線に接続され、1つのメモリセルに、n値(nは2以上の自然数)のうちの1値を記憶する複数のメモリセルがマトリックス状に配置されて構成されたメモリセルアレイと、
    入力データに応じて前記ワード線、ビット線の電位を制御し、前記メモリセルにデータを書き込む制御回路とを具備し、
    前記制御回路は、前記メモリセルアレイの第1メモリセルに書き込むとき、前記第1メモリセルに隣接する第2メモリセルに書き込む書き込みデータに基づき、書き込みレベルを変えることを特徴とする半導体記憶装置。
  2. 前記半導体記憶装置は、前記第1メモリセルの書き込みデータを保持する第1データラッチと、前記第2メモリセルの書き込みデータを保持する第2データラッチを有することを特徴とする請求項1記載の半導体記憶装置。
  3. 前記第1及び第2メモリセルは、“0”レベル(消去レベル)、“1”レベル〜“(n−1)”レベルのn値(“0”レベル<“(n−1)”レベル)のうち1つのレベルによりデータを記憶し、前記第1メモリセルに“k”レベル(kは0〜(n−1))を書き込む時、第2メモリセルの書込みデータが“0”レベル(消去レベル)の場合、“k_0”レベル、“1”レベルの場合、“k_1”レベル、…“(n−1)”レベルの場合、“k_(n−1)”レベル(“k_0”レベル=>“k_1”レベル=>…=>“k_(n−1)”レベル)に書き込まれることを特徴とする請求項1記載の半導体記憶装置。
  4. 前記第1メモリセルに“k”レベル(kは0〜(n−1))を書き込んだ後、“k_h”レベル(hは、0〜(n−1))でベリファイされ、“k_h”レベル以外への書き込みは、“k_h”レベル(hは、0〜(n−1)を超えた後、第2メモリセルのデータに基づいた回数、書き込み電圧を印加することにより“k_h+1”レベル、“k_h+2”レベル…“k_(n−1)”レベルに書き込むことを特徴とする請求項3記載の半導体記憶装置。
  5. 前記第1メモリセルの“k”レベル(kは0〜(n−1))への書き込み後、“k_h”レベル(hは、0〜(n−1))でベリファイされ、“k_h+1”レベル、“k_h+2”レベル…“k_i”レベル(iは、0〜(n−1))への書き込みは、“k_h”レベルを超えた後、第2メモリセルのデータに基づいた回数、書き込み電圧を印加することを特徴とする請求項3記載の半導体記憶装置。
  6. 前記第1メモリセルにデータを書き込むとき、前記第2メモリセルに書き込むデータが定まっていない場合、前記第1メモリセルの“k”レベル(kは0〜(n−1))への書き込み時、“k_(n−1)”レベルに書き込むことを特徴とする請求項3記載の半導体記憶装置。
  7. 前記第1メモリセルにデータを書き込むとき、前記第2メモリセルに書き込むデータが定まっていない場合、前記第1メモリセルの“k”レベル(kは0〜(n−1))への書き込み時、“k_i”レベル(iは0、1、…(n−1)のいずれか)に書き込むことを特徴とする請求項3記載の半導体記憶装置。
JP2008296864A 2008-11-20 2008-11-20 半導体記憶装置 Pending JP2010123210A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008296864A JP2010123210A (ja) 2008-11-20 2008-11-20 半導体記憶装置
US12/562,439 US20100124109A1 (en) 2008-11-20 2009-09-18 Semiconductor memory device for storing multi level data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008296864A JP2010123210A (ja) 2008-11-20 2008-11-20 半導体記憶装置

Publications (1)

Publication Number Publication Date
JP2010123210A true JP2010123210A (ja) 2010-06-03

Family

ID=42171965

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008296864A Pending JP2010123210A (ja) 2008-11-20 2008-11-20 半導体記憶装置

Country Status (2)

Country Link
US (1) US20100124109A1 (ja)
JP (1) JP2010123210A (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013122799A (ja) * 2011-12-09 2013-06-20 Toshiba Corp 不揮発性半導体記憶装置
JP2013196725A (ja) * 2012-03-19 2013-09-30 Toshiba Corp 不揮発性半導体記憶装置
JP2013200924A (ja) * 2012-03-26 2013-10-03 Toshiba Corp 不揮発性半導体記憶装置
US8837223B2 (en) 2011-11-21 2014-09-16 Kabushiki Kaisha Toshiba Nonvolatile semiconductor memory device and method for manufacuring the same
JP2015510653A (ja) * 2012-01-24 2015-04-09 アップル インコーポレイテッド アナログメモリセルのプログラミング及び消去の方式
US9558815B2 (en) 2013-07-08 2017-01-31 Kabushiki Kaisha Toshiba Semiconductor storage device
JP2017162534A (ja) * 2016-03-10 2017-09-14 東芝メモリ株式会社 半導体記憶装置
JP2019191909A (ja) * 2018-04-25 2019-10-31 東芝メモリ株式会社 メモリシステムおよび制御方法
JP2022121654A (ja) * 2018-04-25 2022-08-19 キオクシア株式会社 メモリシステム
JP2023515531A (ja) * 2020-02-26 2023-04-13 シリコン ストーリッジ テクノロージー インコーポレイテッド 深層学習人工ニューラルネットワークにおけるアナログニューラルメモリセルの超精密チューニング

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012014816A (ja) 2010-07-05 2012-01-19 Toshiba Corp 不揮発性半導体記憶装置
JP2012195352A (ja) * 2011-03-15 2012-10-11 Elpida Memory Inc 半導体装置
US8953386B2 (en) * 2012-10-25 2015-02-10 Sandisk Technologies Inc. Dynamic bit line bias for programming non-volatile memory
US8971124B1 (en) * 2013-08-08 2015-03-03 Micron Technology, Inc. Apparatuses and methods for performing logical operations using sensing circuitry
US10096356B2 (en) * 2015-12-04 2018-10-09 Toshiba Memory Corporation Method of operation of non-volatile memory device

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08249893A (ja) * 1995-03-07 1996-09-27 Toshiba Corp 半導体記憶装置
JPH11219593A (ja) * 1998-02-03 1999-08-10 Sony Corp 不揮発性半導体記憶装置
JP2004023044A (ja) * 2002-06-20 2004-01-22 Toshiba Corp 不揮発性半導体記憶装置
JP2005025898A (ja) * 2003-07-04 2005-01-27 Toshiba Corp 半導体記憶装置及びデータ書き込み方法。
JP2006228394A (ja) * 2004-11-12 2006-08-31 Toshiba Corp 半導体記憶装置のデータ書き込み方法
JP2007207333A (ja) * 2006-01-31 2007-08-16 Toshiba Corp 半導体集積回路装置
JP2008065866A (ja) * 2006-09-04 2008-03-21 Toshiba Corp 不揮発性半導体記憶装置
JP2008198265A (ja) * 2007-02-09 2008-08-28 Toshiba Corp 不揮発性半導体記憶装置
JP2009545093A (ja) * 2006-07-20 2009-12-17 サンディスク コーポレイション プログラミング中における結合の補償

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007305210A (ja) * 2006-05-10 2007-11-22 Toshiba Corp 半導体記憶装置
JP4510060B2 (ja) * 2007-09-14 2010-07-21 株式会社東芝 不揮発性半導体記憶装置の読み出し/書き込み制御方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08249893A (ja) * 1995-03-07 1996-09-27 Toshiba Corp 半導体記憶装置
JPH11219593A (ja) * 1998-02-03 1999-08-10 Sony Corp 不揮発性半導体記憶装置
JP2004023044A (ja) * 2002-06-20 2004-01-22 Toshiba Corp 不揮発性半導体記憶装置
JP2005025898A (ja) * 2003-07-04 2005-01-27 Toshiba Corp 半導体記憶装置及びデータ書き込み方法。
JP2006228394A (ja) * 2004-11-12 2006-08-31 Toshiba Corp 半導体記憶装置のデータ書き込み方法
JP2007207333A (ja) * 2006-01-31 2007-08-16 Toshiba Corp 半導体集積回路装置
JP2009545093A (ja) * 2006-07-20 2009-12-17 サンディスク コーポレイション プログラミング中における結合の補償
JP2008065866A (ja) * 2006-09-04 2008-03-21 Toshiba Corp 不揮発性半導体記憶装置
JP2008198265A (ja) * 2007-02-09 2008-08-28 Toshiba Corp 不揮発性半導体記憶装置

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8837223B2 (en) 2011-11-21 2014-09-16 Kabushiki Kaisha Toshiba Nonvolatile semiconductor memory device and method for manufacuring the same
JP2013122799A (ja) * 2011-12-09 2013-06-20 Toshiba Corp 不揮発性半導体記憶装置
JP2015510653A (ja) * 2012-01-24 2015-04-09 アップル インコーポレイテッド アナログメモリセルのプログラミング及び消去の方式
JP2013196725A (ja) * 2012-03-19 2013-09-30 Toshiba Corp 不揮発性半導体記憶装置
JP2013200924A (ja) * 2012-03-26 2013-10-03 Toshiba Corp 不揮発性半導体記憶装置
US9558815B2 (en) 2013-07-08 2017-01-31 Kabushiki Kaisha Toshiba Semiconductor storage device
JP2017162534A (ja) * 2016-03-10 2017-09-14 東芝メモリ株式会社 半導体記憶装置
JP2019191909A (ja) * 2018-04-25 2019-10-31 東芝メモリ株式会社 メモリシステムおよび制御方法
JP2022121654A (ja) * 2018-04-25 2022-08-19 キオクシア株式会社 メモリシステム
JP7281585B2 (ja) 2018-04-25 2023-05-25 キオクシア株式会社 メモリシステム
JP2023515531A (ja) * 2020-02-26 2023-04-13 シリコン ストーリッジ テクノロージー インコーポレイテッド 深層学習人工ニューラルネットワークにおけるアナログニューラルメモリセルの超精密チューニング
JP7418602B2 (ja) 2020-02-26 2024-01-19 シリコン ストーリッジ テクノロージー インコーポレイテッド 深層学習人工ニューラルネットワークにおけるアナログニューラルメモリセルの超精密チューニング

Also Published As

Publication number Publication date
US20100124109A1 (en) 2010-05-20

Similar Documents

Publication Publication Date Title
JP2010123210A (ja) 半導体記憶装置
KR101030648B1 (ko) Ecc의 효율을 향상시킨 반도체 기억 장치
US7830718B2 (en) Mitigation of data corruption from back pattern and program disturb in a non-volatile memory device
US9672926B2 (en) Apparatus and method of programming and verification for a nonvolatile semiconductor memory device
US9423969B2 (en) Sensing operations in a memory device
US7489543B1 (en) Programming multilevel cell memory arrays
US8649222B2 (en) Nonvolatile semiconductor memory device which transfers a plurality of voltages to memory cells and method of writing the same
JP2010160873A (ja) 半導体記憶装置と半導体記憶システム
JP4560073B2 (ja) 不揮発性半導体記憶装置
KR20120043516A (ko) 불휘발성 메모리 장치 및 이의 동작 방법
US8174883B2 (en) Semiconductor memory device capable of preventing a shift of threshold voltage
TW201320086A (zh) 自記憶體陣列判定及轉移資料
JP2019207743A (ja) 半導体装置
US7782676B2 (en) Method of operating a nonvolatile memory device
JP2011181131A (ja) 半導体記憶装置
TWI663601B (zh) 半導體裝置
KR20100091407A (ko) 불휘발성 메모리 장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110302

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120813

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120904

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130108