以下、本発明の実施の形態について、図面を参照して説明する。
先ず、図1乃至図12を用いて、本実施形態に適用される1つのNAND型フラッシュメモリの構成及び動作について説明する。
図1は、例えば2ビット、4値のデータを記憶するNAND型フラッシュメモリの概略構成を示している。
メモリセルアレイ1は、複数のビット線と複数のワード線と共通ソース線を含み、例えばEEPROMセルからなる電気的にデータを書き換え可能なメモリセルがマトリクス状に配置されている。このメモリセルアレイ1には、ビット線を制御するためのビット制御回路2とワード線制御回路6が接続されている。
ビット線制御回路2は、ビット線を介してメモリセルアレイ1中のメモリセルのデータを読み出したり、ビット線を介してメモリセルアレイ1中のメモリセルの状態を検出したり、ビット線を介してメモリセルアレイ1中のメモリセルに書き込み制御電圧を印加してメモリセルに書き込みを行なう。ビット線制御回路2には、カラムデコーダ3、データ入出力バッファ4が接続されている。ビット線制御回路2内のデータ記憶回路はカラムデコーダ3によって選択される。データ記憶回路に読み出されたメモリセルのデータは、前記データ入出力バッファ4を介してデータ入出力端子5から外部へ出力される。外部から供給されたNAND型フラッシュメモリの動作を制御する各種コマンドCMD、アドレスADD、及びデータDTは、データ入出力端子5に入力される。データ入出力端子5に入力された書き込みデータは、データ入出力バッファ4を介して、カラムデコーダ3によって選択されたデータ記憶回路に供給され、コマンド及びアドレスは制御信号及び制御電圧発生回路7に供給される。
ワード線制御回路6は、メモリセルアレイ1に接続されている。このワード線制御回路6は、メモリセルアレイ1中のワード線を選択し、選択されたワード線に読み出し、書き込みあるいは消去に必要な電圧を印加する。
メモリセルアレイ1、ビット線制御回路2、カラムデコーダ3、データ入出力バッファ4、及びワード線制御回路6は、制御信号及び制御電圧発生回路7に接続され、この制御信号及び制御電圧発生回路7によって制御される。制御信号及び制御電圧発生回路7は、制御信号入力端子8に接続され、外部から制御信号入力端子8を介して入力される制御信号ALE(アドレス・ラッチ・イネーブル)、CLE(コマンド・ラッチ・イネーブル)、WE(ライト・イネーブル)、RW(リード・イネーブル)によって制御される。
前記ビット線制御回路2、カラムデコーダ3、ワード線制御回路6、制御信号及び制御電圧発生回路7は書き込み回路、及び読み出し回路を構成している。
図2は、図1に示すメモリセルアレイ1及びビット線制御回路2の構成の一例を示している。メモリセルアレイ1には複数のNANDセルが配置されている。1つのNANDセルは、直列接続された例えば32個のEEPROMからなるメモリセルMCと、選択ゲートS1、S2とにより構成されている。選択ゲートS2はビット線BL0eに接続され、選択ゲートS1はソース線SRCに接続されている。各ロウに配置されたメモリセルMCの制御ゲートはワード線WL0〜WL29、WL30、WL31に共通接続されている。また、選択ゲートS2はセレクト線SGDに共通接続され、選択ゲートS1はセレクト線SGSに共通接続されている。
ビット線制御回路2は複数のデータ記憶回路10を有している。各データ記憶回路10には、一対のビット線(BL0e、BL0o)、(BL1e、BL1o)…(BLie、BLio)、(BL8ke、BL8ko)が接続されている。
メモリセルアレイ1は、破線で示すように、複数のブロックを含んでいる。各ブロックは、複数のNANDセルにより構成され、例えばこのブロック単位でデータが消去される。また、消去動作は、データ記憶回路10に接続されている2本のビット線について同時に行なわれる。
また、ビット線の1つおきに配置され、1つのワード線に接続された複数のメモリセル(破線で囲まれた範囲のメモリセル)は、1セクタを構成する。このセクタ毎にデータが書き込まれ、読み出される。すなわち、ロウ方向に配置された複数のメモリセルのうち半数のメモリセルが対応するビット線に接続される。このため、ロウ方向に配置された複数のメモリセルの半数ずつに対して書き込み又は読み出し動作が実行される。
リード動作、プログラムベリファイ動作及びプログラム動作時において、データ記憶回路10に接続されている2本のビット線(BLie、BLio)のうち外部より供給されるアドレス信号(YA0、YA1…YAi…YA8k)に応じて1本のビット線が選択される。さらに、外部アドレスに応じて、1本のワード線が選択され、破線で示す、2ページが選択される。この2ページの切り替えはアドレスによって行われる。
図3は、図1に示すメモリセルアレイ1及びビット線制御回路2の構成の他の例を示している。図2に示す構成の場合、データ記憶回路10に2本のビット線(BLie、BLio)が接続されていた。これに対して、図3に示す構成の場合、各ビット線にデータ記憶回路10が接続され、ロウ方向に配置された複数のメモリセルは、全て対応するビット線に接続される。このため、ロウ方向に配置された全てのメモリセルに対して書き込み又は読み出し動作を行うことができる。
尚、以下の説明は、図2に示す構成、及び図3に示す構成のいずれも適用することが可能であるが、図2を使用する場合について説明する。
図4(a)(b)はメモリセル及び選択トランジスタの断面図を示している。図4(a)はメモリセルを示している。基板51(後述するP型ウェル領域55)にはメモリセルのソース、ドレインとしてのn型拡散層42が形成されている。P型ウェル領域55の上にはゲート絶縁膜43を介して浮遊ゲート(FG)44が形成され、この浮遊ゲート44の上には絶縁膜45を介して制御ゲート(CG)46が形成されている。図4(b)は選択ゲートを示している。P型ウェル領域55にはソース、ドレインとしてのn型拡散層47が形成されている。P型ウェル領域55の上にはゲート絶縁膜48を介して制御ゲート49が形成されている。
図5は、NAND型フラッシュメモリの断面図を示している。例えばP型半導体基板51内には、N型ウェル領域52、53、54、P型ウェル領域56が形成されている。N型ウェル領域52内にはP型ウェル領域55が形成され、このP型ウェル領域55内にメモリセルアレイ1を構成するメモリセルTrが形成されている。さらに、前記N型ウェル領域53、P型ウェル領域56内に、データ記憶回路10を構成する低電圧PチャネルトランジスタLVPTr、低電圧NチャネルトランジスタLVNTrが形成されている。前記基板51内には、ビット線とデータ記憶回路10を接続する高電圧NチャネルトランジスタHVNTrが形成されている。また、前記N型ウェル領域54内には例えばワード線駆動回路等を構成する高電圧PチャネルトランジスタHVPTrが形成されている。図5に示すように、高電圧トランジスタHVNTr、HVPTrは、低電圧トランジスタLVNTr、LVPTrに比べて例えば厚いゲート絶縁膜を有している。
図6は、図5に示す各領域に供給される電圧の例を示している。消去、プログラム、リードにおいて、各領域に図6に示すような電圧が供給される。ここで、Veraは、データの消去時に基板に印加される電圧、Vssは接地電圧、Vddは電源電圧、Vpgmhはデータの書き込み時にワード線に供給される電圧Vpgm+Vth、Vreadhは、データの読み出し時にワード線に供給される電圧Vread+Vthである。
図7は、図2に示すデータ記憶回路10の一例を示す回路図である。
このデータ記憶回路10は、プライマリデータキャッシュ(PDC)、セコンダリデータキャッシュ(SDC)、ダイナミックデータキャッシュ(DDC)、テンポラリデータキャッシュ(TDC)を有している。SDC、PDC、DDCは、書き込み時に入力データを保持し、読み出し時に読み出しデータを保持し、ベリファイ時に一時的にデータを保持し、多値データを記憶する際に内部データの操作に使用される。TDCは、データの読み出し時にビット線のデータを増幅し、一時的に保持するとともに、多値データを記憶する際に内部データの操作に使用される。
SDCは、ラッチ回路を構成するクロックドインバータ回路61a、61b、及びトランジスタ61c、61dにより構成されている。トランジスタ61cはクロックドインバータ回路61aの入力端と、クロックドインバータ回路61bの入力端の間に接続されている。このトランジスタ61cのゲートには信号EQ2が供給されている。トランジスタ61dはクロックドインバータ回路61bの出力端と接地間に接続されている。このトランジスタ61dのゲートには信号PRSTが供給されている。SDCのノードN2aは、カラム選択トランジスタ61eを介して入出力データ線IOに接続され、ノードN2bは、カラム選択トランジスタ61fを介して入出力データ線IOnに接続される。これらトランジスタ61e、61fのゲートにはカラム選択信号CSLiが供給されている。SDCのノードN2aは、トランジスタ61g、61hを介してPDCのノードN1aに接続されている。トランジスタ61gのゲートには信号BLC2が供給され、トランジスタ61hのゲートには信号BLC1が供給されている。
PDCは、クロックドインバータ回路61i、61j及びトランジスタ61kにより構成されている。トランジスタ61kは、クロックドインバータ回路61iの入力端とクロックドインバータ回路61jの入力端の相互間に接続されている。このトランジスタ61kのゲートには信号EQ1が供給されている。PDCのノードN1bはトランジスタ61lのゲートに接続されている。このトランジスタ61lの電流通路の一端はトランジスタ61mを介して接地されている。このトランジスタ61mのゲートには信号CHK1が供給されている。また、トランジスタ61lの電流通路の他端はトランスファーゲートを構成するトランジスタ61n、61oの電流通路の一端に接続されている。このトランジスタ61nのゲートには信号CHK2nが供給されている。また、トランジスタ61oのゲートは前記クロックドインバータ回路61aの出力端に接続されている。トランジスタ61n、61oの電流通路の他端には、配線COMiが接続されている。この配線COMiは全データ記憶回路10に共通の配線であり、全データ記憶回路10のベリファイが完了した場合、配線COMiの電位はハイレベルとなる。すなわち、後述するように、ベリファイが完了すると、PDCのノードN1bがローレベルとなる。この状態において、信号CHK1、CHK2nをハイレベルとすると、ベリファイが完了している場合、配線COMiの電位はハイレベルとなる。
さらに、前記TDCは、例えばMOSキャパシタ61pにより構成されている。このキャパシタ61pは、前記トランジスタ61g、61hの接続ノードN3と接地間に接続されている。また、接続ノードN3には、トランジスタ61qを介してDDCが接続されている。トランジスタ61qのゲートには、信号REGが供給されている。
DDCは、トランジスタ61r、61sにより構成されている。トランジスタ61rの電流通路の一端には信号VREGが供給され、他端は前記トランジスタ61qの電流通路に接続されている。このトランジスタ61rのゲートはトランジスタ61sを介して前記PDCのノードN1aに接続されている。このトランジスタ61sのゲートには信号DTGが供給されている。
さらに、前記接続ノードN3にはトランジスタ61t、61uの電流通路の一端が接続されている。トランジスタ61uの電流通路の他端には信号VPREが供給され、ゲートにはBLPREが供給されている。前記トランジスタ61tのゲートには信号BLCLAMPが供給されている。このトランジスタ61tの電流通路の他端はトランジスタ61vを介してビット線BLoの一端に接続され、トランジスタ61wを介してビット線BLeの一端に接続されている。ビット線BLoの他端はトランジスタ61xの電流通路の一端に接続されている。このトランジスタ61xのゲートには信号BIASoが供給されている。ビット線BLeの他端はトランジスタ61yの電流通路の一端に接続されている。このトランジスタ61yのゲートには信号BIASeが供給されている。これらトランジスタ61x、61yの電流通路の他端には、信号BLCRLが供給されている。トランジスタ61x、61yは、信号BIASo、BIASeに応じてトランジスタ61v、61wと相補的にオンとされ、非選択のビット線に信号BLCRLの電位を供給する。
上記各信号及び電圧は、図1に示す制御信号及び制御電圧発生回路7により生成され、この制御信号及び制御電圧発生回路7の制御に基づき、以下の動作が制御される。
また、図3に示すデータ記憶回路10は、図7に示す構成と同様であり、ビット線との接続のみが相違している。すなわち、図7に示すように、トランジスタ61tの他端部には、例えばトランジスタ61vのみが接続され、このトランジスタ61vを介してビット線BLe又はBLoが接続される。
本メモリは、いわゆる多値メモリであり、1セルに2ビットのデータを記憶することができる。2ビットの切り替えはアドレス(第1ページ、第2ページ)によって行なう。1セルに2ビットを記憶する場合、2ページであるが、1セルに3ビットを記憶する場合、アドレス(第1ページ、第2ページ、第3ページ)によって切り換える。さらに、1セルに4ビットを記憶する場合は、アドレス(第1ページ、第2ページ、第3ページ、第4ページ)によって切り換える。
図8(a)(b)(c)は、メモリセルに2ビットのデータを記憶する場合におけるデータと閾値電圧との関係を示している。消去動作を行なうと、図8(c)に示すように、メモリセルのデータは“0”となる。消去後、閾値分布の広がりを狭めるため、例えばベリファイレベル“z”を用いて書き込みが行なわれる。このデータ“0”は、例えば負の閾値電圧分布に設定されている。
図8(a)に示すように、第1ページの書き込みにおいて、書き込みデータが“1”の場合、メモリセルのデータは“0”のままであり、書き込みデータが“0”の場合、メモリセルのデータは“1”となる。
図8(b)に示すように、第2ページの書き込み後、メモリセルのデータは書き込みデータに応じて“0”、“2”、“3”、“4”のいずれかとなる。すなわち、第1ページ書き込み後のメモリセルのデータが“0”であり、第2ページの書き込みデータが“1”の場合、メモリセルのデータは“0”のままであり、書き込みデータが“0”の場合、メモリセルのデータは“2”となる。また、第1ページ書き込み後のメモリセルのデータが“1”であり、書き込みデータが“0”である場合、メモリセルのデータは“3”となり、書き込みデータが“1”である場合、メモリセルのデータは“4”となる。本実施形態において、メモリセルのデータは閾値電圧の低いほうから高い方へと定義されている。
(読み出し(リード)動作)
図8(a)に示すように、第1ページ書き込み後、メモリセルのデータは、データ“0”又は“1”に存在するために、レベル“a”で読み出し動作をする。また、第2ページ書き込み後、メモリセルのデータは、図8(b)に示すように、“0”、“2”、“3”、“4”のいずれかにある。このため、電位“b”、“c”、“d”のいずれかで読み出し動作をする。
図9は、リード、ベリファイリード動作の波形を示している。読み出し動作は、先ず、選択されているセルのウェル、ソース線、非選択ビット線を、0Vとする。
選択ワード線にリード時の電位“a”(例えば“a”=0V)、又は“b”、“c”、“d”を供給する。これと同時に、選択ブロックの非選択ワード線にVread、選択ブロックのセレクト線SGDにVsg(=Vdd+Vth)設定し、セレクト線SGSをVssに設定する。図7に示すデータ記憶回路のVPREにVdd(例えば2.5V)、BLPREにVsg、BLCLAMPに例えば(0.6V+Vth)の電圧を一旦供給し、ビット線を例えば0.6Vにプリチャージする。
このときに、選択ビット線は0.6V、非選択ビット線はVssである。このため、ある1本の選択ビット線と非選択ビット線及びウェル、ソース等の容量が例えば4pFとすると、1本のビット線の容量Qは、Q=C×V、Q=4pF×0.6Vとなる。ここで、例えば8kB同時に書き込む場合、Q=8×1024×8×4pF×0.6Vとなる。このため、図9に示すように、大きなピーク電流が発生する。
次に、セルのソース側のセレクト線SGSをVsg(=Vdd+Vth)にする。閾値電圧が電位“a”又は“b”、“c”、“d”より高い時、セルがオフするため、ビット線はハイレベル(例えば0.6V)のままであり、閾値電圧が電位“a”又は“b”、“c”、“d”より低いとセルがオンするためビット線は放電され、ソースと同電位つまりVssとなる。
次いで、図7に示すデータ記憶回路の信号BLPREを一旦Vsg(=Vdd+Vth)に設定し、TDCのノードをVddにプリチャージする。この後、信号BLCLAMPに例えば(0.45V+Vth)の電圧を供給する。TDCのノードはビット線が0.45Vより低い場合、ローレベルとなり、ビット線が0.45Vより高い場合、ハイレベルのままとなる。ここで、信号BLC1をVsg(=Vdd+Vth)に設定し、TDCの電位をPDCに読み込む。したがって、セルの閾値電圧が、電位“a”又は“b”、“c”、“d”のレベルより低い場合、PDCはローレベル、高い場合PDCはハイレベルとなり、読み出しが行なわれる。
図3に示すように、ロウ方向に並んだ全セルを一括して読み出す場合、選択ブロックのセレクト線SGSは、選択ブロックのセレクト線SGDと同時にハイレベルとされる。このため、ビット線を充電すると同時に、セルがオン状態である場合、ビット線を放電させ、セルがオフ状態である場合、ビット線が充電状態に保持される。ビット線のレベルはTDCを介してPDCに読み込まれる。したがって、オン状態のセルの数が多い場合、信号VPREが供給されるノードから、ソース線に大電流が流れ、ソース線の電位が浮いた状態となる問題がある。これを抑えるため、複数回の読み出し動作を行い、先ずセルがオンする場合、つまり、ソース線が浮いても電流が流れるセルは、読み出し結果をローレベルとし、次回からビット線は充電せず、1回目の読み出しで、ハイレベルが読み出されたセルに対して、再度読み出しを行う。したがって、1回目の読み出しでは、大きなピーク電流が発生する。
(プログラム及びプログラムベリファイ)
(プログラム)
図10は、プログラム動作の波形を示し、図11は、第1ページのプログラム動作を示し、図12は、第2ページのプログラム動作を示している。
プログラム動作は、先ずアドレスを指定し、図2で示す2ページが選択される。本メモリは、この2ページのうち、第1ページ、第2ページの順でしか、プログラムできない。したがって、初めにアドレスで第1ページを選択する。
次に、書き込みデータを外部より入力し、全てのデータ記憶回路10内のSDCに記憶する(ステップS11)。書き込みコマンドが入力されると、全てのデータ記憶回路10内のSDCのデータがPDCに転送される(ステップS12)。外部よりデータ“1”(書き込みを行なわない)が入力されると、PDCのノードN1aはハイレベルになり、データ“0”(書き込みを行なう)が入力されるとローレベルとなる。以後、PDCのデータはデータ記憶回路10のN1aの電位、SDCのデータはデータ記憶回路10のN2aの電位とする。
(プログラム動作)(S13)
図7に示すデータ記憶回路10の信号BLC1をVdd+Vthに設定すると、PDCにデータ“1”(書き込みを行なわない)が記憶されている時、ビット線がVddとなり、データ“0”(書き込みを行なう)が記憶されている時、ビット線がVssになる。また、選択されたワード線に接続され、非選択ページのセル(ビット線が非選択である)は、書き込まれてはならないため、これらのセルに接続されているビット線もVddに設定する。
このとき、選択ビット線が書き込みの場合(Vss)、非選択ビット線は非書き込み(Vdd)であるため、1本の選択ビット線と非選択ビット線及びウェル、ソース等の容量が例えば4pFとすると、1本のビット線の電荷Qは、Q=C(4pF)×V(2.5V)となる。ここで、例えば8kBのメモリセルを同時に書き込む場合、Q(8kB)=8×1024×8×C(4pF)×V(2.5V)となり、大きなピーク電流が発生する。
また、図3に示すように、ロウ方向に並んだ全メモリセルを一括して書き込む場合、全ビット線が選択状態である。特に、書き込みデータが、例えばデータ“1”とデータ“0”が交互となる場合、全ビット線間の容量が最大となり、大きなピーク電流が発生する。
ここで選択されているブロックのセレクト線SGDをVdd、選択ワード線に書き込み電圧VPGM(20V)、非選択ワード線にVPASS(10V)を与えるとビット線がVssになっている場合、メモリセルのチャネルがVss、ワード線がVPGMとなり、書き込みが行なわれる。一方、ビット線がVddになっている場合、セルのチャネルがVssでなくVddであり、メモリセルのチャネルがカップリングでVPGM/2程度となるため、メモリセルは書き込まれない。
第1ページの書き込みで、メモリセルのデータはデータ“0”とデータ“1”になる。第2ページの書き込み後、メモリセルのデータはデータ“0”、“2”、“3”、“4”となる(S21〜S24)。
(プログラムベリファイリード)(S14、S25〜S27)
メモリセルは、閾値電圧の低いレベルより書き込まれるため、第1ページのプログラムベリファイは、電位“a’”でベリファイし、第2ページのプログラムベリファイは、電位“b’”、“c’”又は“d’”でベリファイする。プログラムベリファイ動作は、前述したリード動作と殆ど同じである。
先ず、選択されているメモリセルのウェル、ソース線、非選択ビット線をVssに設定する。選択ワード線にリード時の電位“a”より少し高い電位“a’”、“b’”、“c’”、又は“d’”(例えば“a”=0Vとすると“a’”=0.5V)、以後“’”は、ベリファイ電位を示し、リード電位より若干高い値とする。
次に、図7に示すデータ記憶回路10の信号VPREをVdd(例えば2.5V)、信号BLPREをVsg(=Vdd+Vth)、信号BLCLAMPを例えば(0.6V+Vth)にそれぞれ設定し、ビット線を例えば0.6Vにプリチャージする。次に、セルのソース側のセレクト線SGSをVsg(=Vdd+Vth)に設定する。ウェル及びソース線はVssとなっている。このため、閾値電圧がベリファイ電位“a’”、“b’”、“c’”又は“d’”より高い時、セルはオフするため、ビット線はハイレベル(例えば2.2V)のままであり、閾値電圧がベリファイ電位“a’”、“b’”、“c’”又は“d’”より低い時、セルはオンするため、ビット線は放電されVssとなる。このビット線の放電時間中に、信号VPREをVss、信号BLPREをVddとし、TDCをVss、信号REGをハイレベル、信号VREGをハイレベルとしてDDCのデータをTDCに移動させる。この後、一旦信号DTGをVsg(=Vdd+Vth)とし、PDCのデータをDDCにコピーする。次いで、信号BLC1をハイレベルとして、TDCのデータをPDCに移す。この動作により、PDCに記憶されていた書き込み又は非書き込みを示すデータはDDCに移り、DDCのデータは、PDCに移る。
次に、信号BLPREを一旦Vsg(=Vdd+Vth)として、TDCのノードN3をVddにプリチャージする。この後、信号BLCLAMPを例えば(0.45V+Vth)に設定する。TDCのノードN3は、ビット線が0.45Vより低い場合、ローレベルとなり、ビット線が0.45Vより高い場合、ハイレベルのままとなる。ここで、信号BLC1をVsg(=Vdd+Vth)に設定し、TDCの電位をPDCに読み込む。次に、信号VREGをVdd、信号REGをVsg(=Vdd+Vth)に設定し、DDCがハイレベル(非書き込み)の場合、TDCを強制的にハイレベルとする。しかし、DDCがローレベル(書き込み)の場合、TDCの値は変わらない。ここで、信号DTGをVsg(=Vdd+Vth)に設定し、PDCのデータをDDCに移した後、信号BLC1をVsg(=Vdd+Vth)に設定し、TDCの電位をPDCに読み込む。したがって、元々PDCがローレベル(書き込み)の場合で、セルの閾値電圧が、ベリファイ電位“a’”、“b’”、“c’”又は“d’”より低い場合、PDCは再びローレベル(書き込み)となる。また、セルの閾値電圧が、ベリファイ電位“a’”、“b’”、“c’”又は“d’”より高い場合、PDCはハイレベルとなり、次回のプログラムより非書き込みとなる。さらに、元々PDCがハイレベル(非書き込み)の場合、PDCはハイレベルとなり、次回のプログラムより非書き込みとなる。
また、第2ページの書き込みにおいて、ベリファイ電位“b’”を用いたプログラムベリファイは、上記の動作を行なうと、メモリセルのデータはデータ“3”、“4”への書き込みセルが、ベリファイ電位“b’”のプログラムベリファイで、非書き込みとなってしまう。このため、例えば、メモリセルのデータはデータ“3”、“4”の書き込みの場合、図7に示すデータ記憶回路10のノードN2aをローレベルに設定し、メモリセルのデータはデータ“2”の書き込みの場合、ノードN2aをハイレベルに設定する。この状態において、信号REGをVsgに設定し、非書き込みの場合、TDCを強制的にハイレベルとする動作の前に、信号BLC2をVtr(=0.1V+Vth)に設定し、メモリセルのデータはデータ“3”、“4”の書き込みの場合、TDCを強制的にローレベルに設定しておき、ベリファイ電位“b’”のプログラムベリファイにおいて書き込みが完了しないようにする。
また、第2ページの書き込みにおいて、ベリファイ電位“c’”を用いたプログラムベリファイは、上記動作を行なうと、メモリセルのデータはデータ“4”への書き込みセルが、ベリファイ電位“c’”のプログラムベリファイにおいて、非書き込みとなってしまう。このため、例えば、メモリセルのデータはデータ“3”の書き込みの場合、予め図7に示すデータ記憶回路10のDDCのデータをローレベルに設定しておく。ビット線の放電中に、PDCのデータとDDCのデータを交換しているため、TDCを強制的にハイレベルとする動作の前に、信号BLC1をVtr(=0.1V+Vth)に設定し、メモリセルのデータはデータ“4”の書き込みの場合、TDCを強制的にローレベルに設定し、ベリファイ電位“d’”でのプログラムベリファイにおいて書き込みが完了しないようにする。
PDCがローレベルの場合、再び書き込み動作を行ない全てのデータ記憶回路10のPDCのデータがハイレベルになるまでこのプログラム動作とベリファイ動作を繰り返す(S15〜S13、S28〜S24)。
また、図3に示すように、ロウ方向に並んだ全メモリセルを一括してプログラムベリファイする場合、ロウ方向に並んだ全メモリセルを一括して読み出す場合と同様に、前メモリセルからデータを読み出し、プログラムベリファイする。
(消去動作)
消去動作は、図2、図3に破線で示すブロック単位で行う。消去後、セルの閾値電圧は、図8(c)に示すように、メモリセルのデータ“0”と同様となる。
(第1の実施形態)
図13は、第1の実施形態に係り、例えばMCP(マルチチップパッケージ)70を概略的に示している。しかし、第1の実施形態は、MCPに限らず、メモリカードに適用することも可能である。
図13において、MCP70は、第1、第2の半導体チップ(以下、単にチップと称す)71a、71bを含んでいる。第1、第2のチップ71a、71bは、上述した構成の半導体記憶装置としてのNAND型フラッシュメモリを含んでいる。図13は、説明を簡単化するため、NAND型フラッシュメモリを2チップ実装した例を示しているが、2チップ以上であってもよい。
コントローラ72は、第1、第2のチップ71a、71bに接続され、第1、第2のチップ71a、71bにチップイネーブル信号CE(A)、CE(B)を供給するとともに、レディ/ビズィを示す信号R/B、前記アドレス・ラッチ・イネーブル信号ALE、コマンド・ラッチ・イネーブル信号CLE、ライト・イネーブル信号WE、リード・イネーブル信号RE、及びアドレス信号ADD、データDT等を供給し、第1、第2のチップ71a、71bに対するデータの書き込み、及び読み出しを制御する。尚、第1、第2のチップ71a、71bに夫々チップイネーブル信号CE(A)、CE(B)を与えずに、共通のチップイネーブル信号CEを与え、アドレスにより第1、第2のチップ71a、71bのチップの選択及び非選択を行っても良い。
また、コントローラ72は、第1、第2のチップ71a、71bから読み出されたデータを受け、外部に出力する。さらに、コントローラ72は、ECC(Error Checking and Correcting)回路75を含み、データの書き込み時、書き込みデータにパリティデータを付加し、データの読み出し時、エラー検出及びエラー訂正を行う。
また、第1、第2のチップ71a、71b、及びコントローラ72には、電源発生回路73から、電源電圧VEXTと接地電圧VSSが供給される。すなわち、電源発生回路73と第1、第2のチップ71a、71b、及びコントローラ72は、電源配線81、82により接続され、電源配線81、82により電源電圧VEXT、及び接地電圧VSSが、第1、第2のチップ71a、71b、及びコントローラ72に供給される。
さらに、第1、第2のチップ71a、71b間は、配線83により接続され、後述するように、第1、第2のチップ71a、71b間において、電荷の転送が可能とされている。例えば、配線83は、例えば、金、または、銅などからなる金属ワイヤなどである。また、例えば、配線83は第1、第2のチップ71a、71bの外部端子(ボンディングパッド)を介して金属ワイヤで接続されている。
尚、電源発生回路73は、コントローラ72内にあってもよい。また、コントローラ72及び電源発生回路73は、MCP70の外にあっても良い。
ところで、NAND型フラッシュメモリのプログラム、プログラムベリファイ、リード、消去、消去ベリファイなどの動作は、上述したように、ビット線を充電したり、ワード線を高電圧に設定したり、ワード線を選択するトランジスタのゲートに高電圧を印加している。これらの電圧は、各動作が終了すると、電荷を低い電位、例えば接地に放電されており、再利用されていない。
そこで、第1の実施形態は、上述したように、第1のチップ71aと第2のチップ71bの相互間を接続する配線83を設け、第1、第2のチップ71a、71bの電荷を再利用可能としている。
図14は、第1のチップ71aに設けられたワード線制御回路6の一例を示している。このワード線制御回路6は、例えば複数のロウデコーダ6a、複数のロウ選択回路6b、複数のワード線駆動回路(WLDS,WL0〜WL31、WLDD駆動回路)6c、複数の選択ゲート駆動回路(SGS駆動回路、SGD駆動回路)6d、トランジスタ91a、91bにより構成されている。各ロウデコーダ6a及びロウ選択回路6bは、メモリセルアレイのブロック毎に設けられている。
各ロウデコーダ6aはロウアドレスに応じて、対応するロウ選択回路6bを選択する。すなわち、アドレスが一致したロウデコーダ6aより出力信号としての信号TGが対応するロウ選択回路6bに供給される。このため、ロウ選択回路6bのワード線及び選択ゲートに接続されたトランジスタがオンとされる。
複数のワード線駆動回路6c、及び複数の選択ゲート駆動回路6dは、複数のロウ選択回路6bに共通に接続され、選択されたロウ選択回路6bにポンプ回路7aにより発生された各種電圧を供給する。このため、選択されたロウ選択回路6bを介して対応するブロック内の複数のワード線、及び選択ゲートに所定の電圧が供給される。尚、ポンプ回路7aは、制御信号及び制御電圧発生回路7に含まれている。
一方、複数のロウデコーダ6aに接続された配線91dには電圧VRDECが供給され、この電圧VRDECに基づき、信号TGが生成される。ロウ選択回路6bを構成する各トランジスタは、ワード線のプログラム電圧Vpgmを、トランジスタの閾値電圧分だけ低下することなく転送する必要がある。このため、信号TGの電圧、すなわち、電圧VRDECの最大電圧は、Vpgm+Vth(ロウ選択回路6bを構成する各トランジスタの閾値電圧)(VPGMH)に設定されている。
電圧VRDECが供給される配線91dには、トランジスタ91aの電流通路の一端(S/D)が接続されている。このトランジスタ91aの電流通路の他端(D/S)は、第1、第2のチップ71a、71b間に接続された配線83に接続されている。また、ポンプ回路7aの出力端には、トランジスタ91bの電流通路の一端(S/D)が接続されている。このトランジスタ91bの電流通路の他端(D/S)も、第1、第2のチップ71a、71b間に接続された配線83に接続されている。これらトランジスタ91a、91bは、第1のチップ71aの制御信号及び制御電圧発生回路7により動作が制御される。
すなわち、これらトランジスタ91a、91bは、第1のチップ71aの例えばプログラム動作において、各回路の動作が終了し、各回路の電荷が放電されるとき、オンとされる。このため、トランジスタ91a又は91bを介して第1のチップ71aの電荷が第2のチップ71bに転送される。
図15は、プログラム動作時における各部の電圧波形を示している。プログラム動作において、ビット線は所定の電圧に設定される。すなわち、ビット線BLは、書き込み時、電圧VSSに設定され、非書き込み時、非書込み電圧、例えば電圧VDDに設定される。また、電圧VRDECは、先ず、電圧VEXTからVPASSH(VPASS(メモリセルのデータにかかわらずメモリセルトランジスタをオン状態にする電圧)+Vth(ロウ選択回路6bを構成する各トランジスタの閾値電圧))に上昇され、選択ブロックの信号TGが電圧VPASSHに設定される。この後、ワード線駆動回路6cの出力電圧がVPASSに設定されることにより、選択ブロックの全ワード線がVPASSに設定される。また、選択ブロックの信号TGが電圧VPASSHからVPGMHに設定され、選択ブロック内の選択ワード線がプログラム電圧VPGMに設定されることにより、メモリセルにデータが書き込まれる。このため、ビット線及びワード線をこれらの電圧に設定する場合、第1のチップ71a内のポンプ回路7aより供給された電荷をかなり消費している。
書き込みが終わると、選択ブロック内の選択されたワード線がプログラム電圧VPGMから低いレベルに放電される。このとき、トランジスタ91bがオンとされる。これにより、ワード線の電荷がトランジスタ91b、配線83を介して第2のチップ71bに転送される。
尚、トランジスタ91a、91bをオンさせるタイミングは同一である必要はなく、配線の放電タイミングに合わせればよい。
図16は、第1のチップ71aと第2のチップ71bの関係を示している。図16において、図14と同一部分には同一符号を付している。
図16において、第1のチップ71aは、電流通路の一端(S/D)がビット線BLに接続されたトランジスタ91cをさらに有している。トランジスタ91a、91b、91cの電流通路の他端(D/S)は、配線83の一端に共通接続されている。これらトランジスタトランジスタ91a、91b、91cは、例えば第1のチップ71a内の制御信号及び制御電圧発生回路7により動作が制御される。
また、第2のチップ71bにおいて、第1のチップ71aと同一部分には、トランジスタ92a、92b、92cが設けられている。これらトランジスタ92a、92b、92cの電流通路の一端(S/D)は、対応する配線にそれぞれ接続され、電流通路の他端(D/S)は配線83の他端に共通接続されている。
さらに、トランジスタ92aに接続された配線92dと接地間には、キャパシタ92eを介してトランジスタ92fが接続されている。このキャパシタ92e及びトランジスタ92fは、配線92dの充電回路を構成している。尚92fのトランジスタは省略し、キャパシタ92eの一端はVSSに接続しても良い。
これらトランジスタトランジスタ92a、92b、92c、92fは、例えば第2のチップ71b内の制御信号及び制御電圧発生回路7により動作が制御される。上記構成において、例えば第1のチップ71aがプログラム動作中である場合、選択ワード線がVPGMに設定されている。この状態において、第2のチップ71bがプログラム動作に入る前で、電圧VRDECが電源電圧VEXTとなっている場合、図16に示すように、第1のチップ71aのトランジスタ91bをオンとし、第2のチップ71bのトランジスタ92a、92fをオンとする。すると、トランジスタ91b、配線83、トランジスタ92aを介して第1、第2のチップ71a、71bが接続される。このため、第1のチップ71aのワード線WLの電荷が、第2のチップ71bの信号VRDECが供給される配線92d、キャパシタ92eに移動され、配線92d、及びキャパシタ92eが充電される。これにより、第1のチップ71aの選択ワード線WLが電圧VPGMからVM1(VEXT<VM1<VPGM)になり、第2のチップ71bの信号VRDECの電圧はVCCからVM1に上昇する。
従来、第2のチップ71bは、電圧VRDECの電圧を、ポンプ回路を用いて、VEXTからVPASSHやVPGMHに昇圧する必要があった。しかし、第1の実施形態によれば、VEXTより高いVM1から昇圧すればよくなる。このため、第の2チップ71bの消費電力を抑えることができる。
また、第2のチップ71bがプログラム動作を実行し、この動作が終了する際、上記とは逆に、第2のチップ71bの電荷を、配線83を介して第1のチップ71aに転送することも可能である。この場合、第1のチップ71aのVRDEC91dに、トランジスタ91a及び92bを介して、第2チップ71bのWLの電荷を転送する。
図17は、第1、第2のチップ71a、71bが交互に電荷の放電、及び電荷の取得を行う様子を示している。これらの動作は、図13のコントローラ72によって制御しても良い。その他、第1、第2チップ内に電圧検知回路を設け、これによって、消費電流がピークを検知して、制御することも可能である。図17に示すように、例えばコントローラ72により、先ず、より第1のチップ71aへ書き込みデータが転送され、この後、書き込み動作を示す命令が発行されると、第1のチップ71aがプログラム状態となる。これにより、第1のチップ71aの消費電流がピークとなる。第1のチップ71aの消費電流がピークとなったことにより、電源電圧VEXTが低下する。この電源電圧VEXTの低下が第2のチップ71bの電圧検知回路74b(後に詳細に説明する)により検出される。
ここで、コントローラ72より第2のチップ71bへ書き込みデータが転送され、この後、書き込み動作を示す命令が発行される。第2のチップ71bは、プログラム電圧VpgmやVreadが発生するため、制御信号及び制御電圧発生回路7に含まれるポンプ回路を立ち上げる。この後、一般的な動作であれば、第1のチップ71aと同様に、プログラム状態となるが、第1の実施形態の場合、上記のように、電圧検知回路74bにより、電源電圧VEXTが低下していることが検知されているため、プログラム状態に移行せず、待ち状態とされる。
この後、第1のチップ71aのプログラム動作が終了に近づくと、第1のチップ71aのトランジスタ91a、91b、91cの何れかがオンとされ、第1のチップ71aから配線83に電荷が放出される。
また、第1のチップ71aのプログラム動作が終了に近づくと、電流消費が少なくなる。このため、第2のチップ71bの電圧検知回路74bにより、電源電圧VEXTが所定のレベルに復帰したことが検知されると、第2のチップ71bのトランジスタ92a、92b、92cの何れかがオンとされ、第1のチップ71aから配線83に放出された電荷が、第2のチップ71bに取得される。この状態で、第2のチップ71bのプログラムが開始される。
このように、第1、第2のチップ71a、71bに設けられた電圧検知回路74a、74bによって、電源電圧VEXTをモニターし、第1、第2のチップ71a、71bの電流ピークが重ならないようにするとともに、第1、第2のチップ71a、71bの電荷が第2、第1のチップ71b、71aにおいて、再利用される。
上記第1の実施形態は、第1のチップ71aが選択ワード線WLのVPGMを放電するとき、第2のチップ71bに電荷を転送したが、これに限らず、例えば第1のチップ71aの選択ブロックの全ワード線WLの電圧VPASSを放電するとき、又は、読に出し動作において、電圧VREADを放電するとき、さらには、ビット線BLを放電するときにも同様に電荷を転送することが可能である。
また、第2のチップ71bは、電圧VRDECを電源電圧VEXTから昇圧するときに、第1のチップ71aから電荷を取得した。しかし、これに限らず、例えば第2のチップ71bの選択ブロックの全ワード線WLを電圧VPASSに昇圧する場合、又は、読み出し時に電圧VREADを昇圧する場合、さらには、ビット線BLを充電する場合に、第1のチップ71aから転送された電荷を使うことが可能である。
さらに、第2のチップ71bに所定の電圧を設定して書き込み、読み出し、又は消去動作などを行った後、第2のチップ71bの電圧を放電する時、第1のチップ71aの書き込み又は読出し又は消去動作などのために、電荷を移しても良い。この場合、第1のチップ71aにも、キャパシタ92e、トランジスタ92f、92gを設けてもよい。
また、第1、第2のチップ71a、71bの消費電流の大きな動作は、電圧検知回路74a、74bにより検知したが、これに限定されるものではなく、電圧検知回路74a、74bを省略し、コントローラ72により、第1、第2のチップ71a、71bの動作を制御してもよい。
上記第1の実施形態によれば、第1、第2のチップ71a、71b間を配線83で接続し、第1又は第2のチップ71a、71bの動作が終了する際、第1又は第2のチップ71a、71bの電荷を、配線83を介して第2又は第1のチップ71b、71aに転送している。このため、電荷の転送を受けたチップのポンプ回路は、通常よりも高い電圧を昇圧すればよいため、消費電力を抑えることができるとともに、昇圧に要する時間を短縮することが可能である。
また、複数のチップ間で電荷を転送することにより、システムの消費電流を低減することができる。したがって、システムがバッテリーにより駆動される場合、バッテリーの消費電力を抑えることが可能である。
なお、第1、第2のチップ71a、71b、及びコントローラ72は、それぞれ電圧検知回路を含んでいてもよい。この電圧検知回路は、第1、第2のチップ71a、71b、及びコントローラ72に流れる電流を電圧に変換し、第1、第2のチップ71a、71b、及びコントローラ72に流れる電流を電圧値として検出する。この検知結果から、第1のチップ71aの電圧検知回路は、第2のチップ71b、コントローラ72の動作状態をモニターすることができ、第2のチップ71bの電圧検知回路は、第1のチップ71a、コントローラ72の動作状態をモニターすることができる。さらに、コントローラ72の電圧検知回路は、第1、第2のチップ71a、71bの動作状態をモニターすることができる。各電圧検知回路の出力信号は、それを含む第1、第2のチップ71a、71bの制御信号及び制御電圧発生回路7に供給され、コントローラ72の電圧検知回路の出力信号は、コントローラ72を構成する図示せぬ例えばCPUに供給される。
図18は、第1のチップ71aに設けられる電圧検知回路の一例を示している。電圧検知回路74aは、分圧抵抗R1、R2、及び演算増幅器OPAにより構成されている。分圧抵抗R1、R2は、例えば第1のチップ71a内の電源端子76a、76bの相互間に直列接続される。電源端子76aは電源配線81と例えば、金属ワイヤにより接続されており、電源端子76aには電源電圧VEXTが供給される。電源端子76bは接地配線82と例えば、金属ワイヤにより接続されており、接地端子76bには接地電圧VSSが供給されている。抵抗R1、R2の接続ノードは、演算増幅器OPAの一方入力端に接続されている。この演算増幅器OPAの他方入力端には、基準電圧Vrefが供給されている。
上記構成において、例えば第1のチップ71aに流れる電流は、分圧抵抗R1、R2により電圧に変換されて検出される。この検出された電圧は、演算増幅器OPAにおいて、基準電圧Vrefと比較される。この比較の結果、検出された電圧が基準電圧Vrefより大きい電圧(第1のチップ71a及び他の回路の消費電流が小さい)場合、演算増幅器OPAの出力信号はハイレベルとなる。
一方、検出された電圧が基準電圧Vrefより小さい電圧(第1のチップ71a及び他の回路の消費電流が大きい)場合、演算増幅器OPAの出力信号はローレベルとなる。
例えば第2のチップ71bがプログラム動作状態である場合、第2のチップ71bの消費電流がピークに達する。これに伴い、電源電圧VEXTが低下し、第1のチップ71a内の電圧検知回路74aの演算増幅器OPAの出力信号がローレベルとなった場合、第1のチップ71aは、第2のチップ71bの消費電流がピーク状態であると知ることができる。このため、第1のチップ71aの制御信号及び制御電圧発生回路7は、消費電流が大きい、例えばプログラム動作の開始を遅延する。これにより、電源電圧VEXTのさらなる低下を防止できる。
このようにして、第1、第2のチップ71a、71b、及びコントローラ72にそれぞれ設けられた電圧検知回路により電源電圧VEXTの降下が検出された場合、プログラム動作や、ECC処理を行わず、待ち状態とし、電源電圧VEXTが所定のレベルに復帰した後、プログラム動作やECC処理を実行するように制御してもよい。
(第2の実施形態)
図19は、第2の実施形態を示すものであり、図17と同一部分には同一符号を付している。
第2の実施形態は、第1の実施形態より、第1のチップ71aから第2のチップ71bに、さらに多くの電荷を転送可能としている。このため、図19において、トランジスタ92aとキャパシタ92eに対して並列にトランジスタ92gが接続されている。
上記構成において、第1のチップ71aのワード線WLから第2のチップ71bの配線92dに電荷を転送する場合、先ず、第1のチップ71aのトランジスタ91bがオンとされ、第2のチップ71bのトランジスタ92a、92fがオンとされる。この状態において、配線92dの電圧は、前述したようにVM1となる。
この後、トランジスタ92a、92fがオフとされ、トランジスタ92gがオンとされる。すると、第1のチップ71aのワード線WLは、電圧VM1からVM1より低いVM2(VM2<VM1)となり、第2のチップ71bのノードNDもVM2となる。このため、キャパシタ92eを介して配線92dの電位が昇圧され、配線92dの電圧VRDECは、VM1+VM2の電圧となる。
この電圧は、第1の実施形態における配線92dの電圧VM1より高い。このため、第2のチップ71bのポンプ回路は、を電圧VM1+VM2から昇圧すればよい。このトランジスタ92gとキャパシタ92eを用いたポンプ動作を繰り返すことにより、更に高い電圧を第1のチップ71aから第2のチップ71bに転送することが可能である。
上記第2の実施形態によれば、トランジスタ92aとキャパシタ92eに対して並列にトランジスタ92gを接続し、トランジスタ92gをオンとすることにより、キャパシタ92eを介して配線92dの電圧VRDECを昇圧することができる。このため、第2のチップ71bのポンプ回路の消費電流を抑制することができ、第2のチップ71bの消費電力をさらに抑えることができる。
(第3の実施形態)
図20は、第3の実施形態を示している。第1、第2の実施形態において、第1、第2のチップ71a、71b間には、専用の配線83が設けられ、この配線83を介して、第1、第2のチップ71a、71b間において、電荷を転送した。
これに対して、第3の実施形態は、専用の配線を設けず、電源配線81を介して、第1、第2のチップ71a、71b間において、電荷を転送する。
すなわち、図20に示すように、第1のチップ71aにおいて、例えばワード線WLは、高耐圧トランジスタ101a、102aを介して電源配線81に接続されている。これらトランジスタ101a、102aは、第1のチップ71aの制御信号及び制御電圧発生回路7により制御される。
また、第2のチップ71bにおいて、例えばワード線WLは、高耐圧トランジスタ101b、102bを介して電源配線81に接続されている。これらトランジスタ101b、102bは、第2のチップ71bの制御信号及び制御電圧発生回路7により制御される。
例えば第1のチップ71aのプログラム動作が終了するとき、トランジスタ101a、102aがオンとされ、ワード線WLの電荷が電源配線81に放電される。このとき、トランジスタ102a、(101a)のゲート電極にVPGMより低い中間電圧を印加し、電源電圧VEXTのオーバーシュートを防止する。
この後、第2のチップ71bが例えばプログラム動作する際、電源配線81の電源電圧VEXTの低下が防止されているため、高速に所定の電圧を昇圧することが可能である。また、プログラム動作が終了する際、第2のチップ71bのトランジスタ101b、102bのゲート電極に中間電位が供給され、ワード線WLの電荷がトランジスタ101b、102bを介して、電源配線81に放電される。
第3の実施形態によれば、第1、第2のチップ71a、71bの電荷を、トランジスタ101a、102a、101b、102bを介して、電源配線81に転送している。このため、電源配線81の電源電圧VEXTの低下を抑制することができる。したがって、消費電力を低減することができるとともに、昇圧動作を高速化することが可能である。
尚、第1のチップ71aは、2つのトランジスタ101a、102aを介してワード線WLの電荷を電源配線81に転送した。しかし、これに限定されるものではなく、例えば1つのトランジスタ103により、ワード線WLと電源配線81とを接続してもよい。第2のチップ71bについても第1のチップ71aと同様に変形可能である。
(第4の実施形態)
図21、図22は、第4の実施形態を示している。第1乃至第3の実施形態は、複数のチップ間において、電荷を転送することにより、電荷の再利用を図った。
これに対して、第4の実施形態は、例えば1つのチップ内に設けられた複数のメモリセルアレイ間において、電荷を転送することにより、電荷の再利用を図っており、第1〜3の全ての実施形態と組み合わせることが可能である。
図21において、チップ111は、第1、第2のメモリセルアレイ111a、111bを有している。第1、第2のメモリセルアレイ111a、111bは、図2、図3と同様の構成である。さらに、第1、第2のメモリセルアレイ111a、111bは、図17、図19と同様に、配線83により接続され、第1のメモリセルアレイ111aは、トランジスタ91a、91b、91cを有し、第2のメモリセルアレイ111bは、トランジスタ92a、92b、92c、92f、92g、キャパシタ92eを有している。例えば、配線83はチップ111の配線層である。
これらトランジスタトランジスタ91a、91b、91c、92a、92b、92c、92f、92gは、制御信号及び制御電圧発生回路7により制御される。
上記構成において、例えば第1のメモリセルアレイ111aのプログラム動作が終了すると、トランジスタ91b、92a、92fがオンとされ、第1のメモリセルアレイ111aの電荷が、トランジスタ91b、配線83、トランジスタ92a、92f、キャパシタ92eを介して、第2のメモリセルアレイ111bに転送される。このため、第2のメモリセルアレイ111bにおいて、電圧VRDECは、電源電圧VEXTより高いVM1から昇圧されるため、消費電流を削減できるとともに、昇圧動作を高速化することが可能である。
また、第2のメモリセルアレイ111bの例えばプログラム動作が終了した後、上記とは逆の動作により、第2のメモリセルアレイ111bの電荷が第1のメモリセルアレイ111aに転送される、
上記第4の実施形態によれば、1つのチップ内に複数のメモリセルアレイを有する場合において、これらメモリセルアレイ間において、電荷を転送することができる。このため、複数のメモリセルアレイにより、電荷の再利用を行うことが可能であり、消費電流を削減することが可能である。
(変形例)
図22は、第4の実施形態の変形例を示すものであり、図21と同一部分には同一符号を付す。第4の実施形態は、複数のメモリセルアレイ間で、電荷を転送した。これに対して、この変形例は、1つのメモリセルアレイ111aに、配線83を介して電荷蓄積部120が接続されている。この電荷蓄積部120は、例えばトランジスタ92a、キャパシタ92eにより構成されている。さらに、図19、図21と同様に、トランジスタ92f、92gを設けてもよい。
上記構成において、メモリセルアレイ111aにおいて、例えばプログラム動作が終了するとき、トランジスタ91b、92aがオンとされる。すると、メモリセルアレイ111aの選択ワード線WLの電荷がトランジスタ91b、配線83、トランジスタ92aを介してキャパシタ92eに転送される。このため、キャパシタ92eの電圧がVM1に上昇する。また、トランジスタ92f、92gを上述したようにオンさせた場合、キャパシタ92eの電圧をVM1より高いVM2に昇圧することができる。
このように、電荷蓄積部120に蓄積された電荷は、例えばメモリセルアレイ111aにおいて、データの読み出し動作が実行される場合、トランジスタ91c、トランジスタ92aがオンとされることにより、キャパシタ92eからトランジスタ92a、配線83トランジスタ91cを介してビット線BLに供給される。このため、ポンプ回路は、ビット線BLの電位をVM1又はVM2から昇圧すればよくなる。
このように、上記変形例によれば、チップ111内に、メモリセルアレイ111aに接続された電荷蓄積部120を設け、メモリセルアレイ111aのある動作に伴って発生された放電電荷を電荷蓄積部120に蓄積し、この電荷蓄積部120に蓄積された電荷をメモリセルアレイ111aの別の動作に再利用可能としている。このため、チップ111の消費電力を削減することが可能であるとともに、昇圧時間を短縮することが可能である。
尚、上記第1、第2、第3の実施形態は、第1、第2のチップ71a、71b内に電圧検知回路74a、74bを有し、これら電圧検知回路74a、74bにより互いの動作をモニターし、電荷の転送動作を制御した。しかし、これに限定されるものではなく、電圧検知回路74a、74bを用いず、第1、第2のチップ71a、71b間に通信回路を設け、互いの動作をモニターすることにより、電荷の転送動作を制御する構成としてもよい。
(変形例)
第1乃至第4の実施形態において、複数のチップ又はチップ内の複数のメモリセルアレイ間で電荷を転送し、電荷を再利用することにより消費電流を削減した。しかし、近時、消費電流が増大する傾向があり、これとともに、発熱も問題になっている。
本変形例において、少なくとも1つのチップにより発生された熱は、熱電変換素子を用いて、電気エネルギーに変換され、この変換された電気エネルギーは、少なくとも1つのチップにより再利用される。これにより、発熱の問題を抑えることも可能である。
図23は、NAND型フラッシュメモリと熱電変換素子を用いた半導体記憶システムを示している。図23において、第1乃至第4の実施形態と同一部分には、同一符号を付している。
NAND型フラッシュメモリチップ121は、例えば第1乃至第4のチップと同様である。このチップ121には、例えばゼーベック効果を用いた熱電変換素子122が結合されている。この熱電変換素子122は、電源配線81、82に接続されている。チップ121から発生された熱は、熱電変換素子122により電気エネルギーに変換され、電源配線81、82に供給される。
図24は、熱電変換素子122の一例を示している。上述したように、熱電変換素子122は、例えばゼーベック効果を用いた熱電変換素子である。熱電変換素子122は、例えばP型半導体素子(P-type)122aと、N型半導体素子(N-type)122b、これらの一端に接続された高温部(HTP)122cとしての第1の導電体、及びこれらの他端部にそれぞれ接続された低温部(LTP)122d、122eとしての第2の導電体により構成されている。熱電変換素子122は、P型半導体素子122aとN型半導体素子122bの高温部122cと低温部122dの温度差に応じて電圧を発生する。この発生された電圧は、低温部122dに接続された電源配線81、82に供給される。
図25に示すように、熱電変換素子122の高温部122c(図示せず)が、例えば積層された複数のNAND型フラッシュメモリチップ121の最上部のチップに接触される。熱電変換素子122の低温部122d、122e(図示せず)は、高温部122cの反対側でチップから離れている。このため、高温部122cと低温部122d、122eの温度差により、電圧が発生する。この発生した電圧は、チップ(NAND型フラッシュメモリ)に供給される。尚、積層されたNAND型フラッシュメモリチップ121は、1チップとすることも可能である。
図26は、図23の変形例を示すものであり、熱電変換素子122と電源配線81、82との間に電源調整回路131を挿入接続した例を示している。電源調整回路131は、熱電変換素子122により発生された電圧を調整した後、チップ121の電源として電源配線81、82に供給する。
また、チップ121から発生される熱は一定ではないため、熱電変換素子122により発生される電圧も一定ではない場合がある。このため、発生された電圧を一定レベルに調整するため、電源調整回路131に代えて、電荷を保持するキャパシタを用いてもよい。
(第5の実施形態)
上記第1乃至第4の実施形態において、各チップ内の放電電荷は、別のチップに転送され、別のチップにおいて、再利用されている。しかし、各チップにおいて、書き込み動作が実行されない場合、転送された電荷は、チップ内において熱エネルギーとして消費されている。このため、チップの温度が上昇していた。
そこで、第5の実施形態は、いずれのチップにおいても放電電荷が使用されない場合、チップの外部において熱エネルギーとして消費させ、チップ温度の上昇を防止させる。
図27は、第5の実施形態を示すものであり、第1乃至第4の実施形態と同一部分には同一符号を付している。尚、R/B信号は省略している。
図27において、MCP70は、システム基板141に配置されている。このシステム基板141は、例えば携帯電話やパーソナルコンピュータなどのアプリケーションに実装される。このシステム基板141には、アプリケーションの動作を制御するシステムLSI142が実装されている。このシステムLSI142は、MCP70に設けられたコントローラ72に接続されている。
システムLSI142によりMCP70内の第1、第2のチップ71a、71bをアクセスし、データを第1、第2のチップ71a、71bに書き込んだり、第1、第2のチップ71a、71bからデータを読み出したりする場合、システムLSI142からデータの書き込み要求又は読み出し要求が発行され、コントローラ72に供給される。
MCP70において、第1、第2のチップ71a、71bは、昇圧回路としての第1、第2のポンプ回路7a−1、7a−2を含んでいる。これら第1、第2のチップ71a、71bの動作は、前述したようにコントローラ72により制御される。
また、第1、第2のチップ71a、71bとの間に配置された配線83には、スイッチSW1を介して抵抗R1が接続されている。このスイッチSW1は、例えばMOSトランジスタにより構成され、例えばMCP70内の図示せぬ周辺回路と共に形成されている。一方、抵抗R1は、MCP70の外部に位置され、システム基板141上に形成されている。
スイッチSW1は、コントローラ72から出力されるスイッチ制御信号SC1により制御される。コントローラ72は、第1、第2のチップ71a、71bに対するデータの書き込み、及び読み出しを制御するため、第1、第2のチップ71a、71bの電力消費状態を知ることができる。具体的には、前述したように、コントローラ72は、電源配線81の電圧が伝電圧VEXTから低下したことで、第1、第2のチップ71a、71bの一方が消費電力の大きな書き込み動作となったことが分かり、電源配線81の電圧が電源電圧VEXTに復帰した場合、書き込み動作が終了したことが分かる。このため、コントローラ72は、第1、第2のチップ71a、71bの両方が大きな電力を消費していない場合、余剰電荷をMCP70の外部に設けられた抵抗R1を介して放電させ、第1、第2のチップの発熱を防止する。
図28は、第5の実施形態に係るコントローラ72の動作の一例を示している。
コントローラ72は、電源配線81の電圧が電源電圧VEXTから低下したかどうかを判別する(S31)。この結果、電源電圧VEXTが低下しているものと判別された場合、書き込み等の消費電力が大きな動作が実行されているため、次に、電源配線81の電圧が電源電圧VEXTに復帰したかどうかが判別される(S32)。この結果、書き込み等が終了し、電圧が電源電圧VEXTに復帰したものと判別された場合、一定時間、例えば20〜30μsが経過したかどうかが判別される(S33)。この結果、一定時間が経過していない場合、再度書き込み等が開始され、電源電圧VEXTが再度低下したかどうかが判別される(S34)。この結果、電源電圧VEXTが低下した場合、制御がステップS32に移行される。
一方、ステップS33において、一定時間が経過した場合、すなわち、電源配線81の電圧が電源電圧VEXTに復帰した後、一定時間が経過した状態においても、電源電圧VEXTが低下しない場合、第1、第2のチップ71a、71bの他方が消費電力の大きな書き込み動作を行っていないと判断される。このため、コントローラ72からスイッチ制御信号SC1が出力され、スイッチSW1がオンとされる。スイッチSW1がオンとされることにより、第1、第2のチップ71a、71bの余剰電荷が、スイッチSW1を介して、システム基板141上の抵抗R1に放電され、抵抗R1により熱エネルギーに変換される。
第5の実施形態によれば、配線83にスイッチSW1を介してシステム基板141上に設けられた抵抗R1を接続可能とし、第1、第2のチップ71a、71bに余剰電荷が生じた場合、コントローラ72によりスイッチSW1をオンとして、余剰電荷を抵抗R1に放電している。このため、従来のように、第1、第2のチップ71a、71bの内部で、余剰電荷を放電する場合に比べて、第1、第2のチップ71a、71bの発熱を防止することが可能であり、第1、第2のチップ71a、71bの信頼性を向上させることができる。
(第6の実施形態)
図29は、第6の実施形態を示している。第6の実施形態において、第5の実施形態と同一部分には同一符号を付している。
第5の実施形態において、スイッチSW1は第1、第2のチップ71a、71bを接続する配線83に接続されている。これに対して、第6の実施形態は、第1、第2のチップ71a、71bにそれぞれスイッチを配置している。
すなわち、第1のチップ71aは、スイッチSW2を含み、このスイッチSW2の一端は、例えば第1のポンプ回路7a−1の放電経路に接続されている。このスイッチSW2の他端は、システム基板141上に配置された抵抗R1に接続されている。また、第2のチップ71bは、スイッチSW3を含み、このスイッチSW3の一端は、例えば第2のポンプ回路7a−2の放電経路に接続されている。このスイッチSW3の他端は、システム基板141上に配置された抵抗R1に接続されている。
スイッチSW2は、コントローラ72から出力されるスイッチ制御信号SC2により制御され、スイッチSW3は、コントローラ72から出力されるスイッチ制御信号SC3により制御される。スイッチSW2、SW3の制御は、第5の実施形態と同様に、スイッチSW2、SW3を同時にオン、オフするか、別々にオン、オフすることが可能である。
例えばスイッチSW2、SW3を別々に制御する場合、第1のポンプ回路7a−1の動作が終了した後、一定時間経過後にスイッチ制御信号SC2により、スイッチSW2がオンとされる。これにより、第1のポンプ回路7a−1の余剰電荷がスイッチSW2を介して抵抗R1に放電される。また、第2のポンプ回路7a−2の動作が終了した後、一定時間経過後にスイッチ制御信号SC3により、スイッチSW3がオンとされる。これにより、第2のポンプ回路7a−2の余剰電荷がスイッチSW3を介して抵抗R1に放電される。
上記第6の実施形態によっても第5の実施形態と同様の効果を得ることが可能である。さらに、第6の実施形態によれば、スイッチSW2、SW3を別々に制御することにより、第1、第2のポンプ回路7a−1、7a−2の動作に応じて正確に余剰電荷を放電させることができ、第1、第2のチップ7a−1、7a−2の発熱を高精度に制御することが可能である。
(第7の実施形態)
図30は、第7の実施形態を示している。第7の実施形態において、第5、第6の実施形態と同一部分には同一符号を付している。
第6の実施形態は、第1、第2のチップ71a、71b内に、スイッチSW2、SW3をそれぞれ設け、これらスイッチSW2、SW3をコントローラ72により制御した。これに対して、第7の実施形態は、制御電圧及び制御信号発生回路7により、電流ピークの発生期間に対応して発生される信号RCLK(例えば図9、10に示す)を用いてスイッチSW2、SW3を制御する。信号RCLKは、プログラム動作やベリファイリード動作において、ピーク電流が発生している期間に対応して発生されている。すなわち、信号RCLKは、第1、第2のチップ71a、71bが電力消費の大きな状態であることを示すステート信号として機能している。第1、第2のチップ71a、71bは、信号RCLKを出力する出力端と、信号RCLKを受ける入力端とを有し、互いに信号RCLKを授受し、スイッチSW2、SW3を制御する。
具体的には、第1のチップ71aは、第2のチップ71bから出力される信号RCLKを受け、この信号RCLKによりスイッチSW2が制御される。第2のチップ71bは、第1のチップ71aから出力される信号RCLKを受け、この信号RCLKによりスイッチSW3が制御される。
すなわち、第1のチップ71aが例えば書き込み状態である場合、第2のチップ71bは、書き込み等の電力消費の大きな動作は実行していない。このため、第2のチップ71bのスイッチSW3が第1のチップ71aから供給される信号RCLKによりオンとされ、第2のポンプ回路7a−2の余剰電荷がスイッチSW3を介して抵抗R1に放電される。
また、第2のチップ71bが例えば書き込み状態である場合、第1のチップ71aは、書き込み等の電力消費の大きな動作は実行していない。このため、第1のチップ71aのスイッチSW2が第2のチップ71bから供給される信号RCLKによりオンとされ、第1のポンプ回路7a−1の余剰電荷がスイッチSW2を介して抵抗R1に放電される。
尚、第1、第2のチップ71a、71bが書き込み動作終了後、余剰電荷を第2、第1のチップ71b、71aに転送する動作は、上記各実施形態と同様である。
上記第1、第2のチップ71a、71bにおける信号RCLKの授受は、例えばTSV(Through Silicon Via)(以下、貫通ビアと称す)を用いることにより、授受することができる。
図31は、第1、第2のチップ71a、71bを含む積層された複数のチップに貫通ビアを適用した構成を示している。
第1、第2のチップ71a、71bは、例えばインターフェースを構成するチップ151を介在してシステム基板141に設けられている。チップ151、第1、第2のチップ71a、71bを含む複数のチップは、複数の貫通ビア161を介して互いに接続されている。尚、図31において、システムLSIは省略している。
図32は、例えば第1のチップ71aを示すものであり、1つのチップに複数のメモリセルアレイ1が配置されている例を示している。第1のチップ71aの中央部には、複数の貫通ビア161が設けられている。貫通ビア161の数は任意であり、必要に応じて配置される。これら貫通ビア161のうちの任意の2つが信号RCLKを出力する出力端と、信号RCLKを受ける入力端として使用される。
第2のチップ71bにも同様に複数の貫通ビア161が形成されており、第1のチップ71aの出力端に対応する貫通ビア161が入力端として使用され、第1のチップ71aの入力端に対応する貫通ビア161が出力端として使用される。このため、第1、第2のチップ71a、71bを積層することにより、第1のチップ71aの出力端、入力端に対応する貫通ビア161が、第2のチップ71bの入力端、出力端に対応する貫通ビア161にそれぞれ接触され、これらが接続される。
図33は、貫通ビア161の構成例を示している。貫通ビア161の構成は周知であるため、説明は省略する。
第7の実施形態によれば、第1のチップ71aから出力される信号RCLKを第2のチップ71bで受け、第2のチップ71bから出力される信号RCLKを第1のチップ71aで受け、これら信号RCLKにより、第1、第2のチップ71a、71bに設けられたスイッチSW2、SW3を制御している。このため、コントローラ72を介在せず、信号RCLKを用いて、直接スイッチSW2、SW3を制御することができるため、高速動作が可能であり、第1、第2のチップ71a、71bの発熱を防止することが可能である。
尚、貫通ビア161は、信号RCLKを伝播するために用いたが、これに限らず、例えば、配線83に代えて、貫通ビアを用いることも可能である。さらに、スイッチSW1〜SW3と抵抗R1とを接続するために、貫通ビア161を用いることも可能である。
その他、本発明は上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記各実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。また、本実施例では多値メモリを例に挙げて説明したが、いわゆる2値メモリにも適用できる。