[マイクロコンピュータ]
本発明の一実施の形態によるマイクロコンピュータは、図1に示すように、発振器1、分周回路2、フラッシュメモリ3、電源回路4、入出力ポート(I/O)5、内部バス6、CPU(Central Processing Unit)7、RAM(Random Access Memory)8、バスコントローラ9、および周辺回路10を備える。
発振器1は、所定周波数のクロック信号を生成する。分周回路2は、発振器1で生成されたクロック信号を分周して動作基準クロック信号やその他の内部クロック信号を生成する。フラッシュメモリ3には、CPU7の動作プログラムやデータが格納されている。電源回路4は、フラッシュメモリ3の消去用高電圧、書込用高電圧などを生成する。
入出力ポート5は、内部バス6と外部装置との間で信号の授受を行なう。内部バス6は、アドレスバス、データバス、およびコントロールバスを含み、マイクロコンピュータ内の回路間で信号の授受を行なう。
CPU7は、命令制御部と実行部を含み、フェッチした命令を解読し、解読結果に従って実行部で演算処理を行なう。RAM8は、CPU7のワーク領域などに利用される。バスコントローラ9は、CPU7からのアクセス要求に応答して、そのアクセス対象アドレスに応じたアクセスサイクル数、ウェイトステート数、バス幅等のバスアクセス制御を行なう。周辺回路10は、タイマカウンタ等を含む。
マイクロコンピュータがシステムに実装された状態では、CPU7がフラッシュメモリ3に対する消去および書込制御を行なう。デバイステストまたは製造段階では、外部の書込装置(図示せず)が入出力ポート5を介して直接フラッシュメモリ3に対する消去および書込制御を行なうことが可能になっている。電源投入後、リセット信号が活性化レベル(たとえば「L」レベル)にされた期間においてマイクロコンピュータの内部が初期化される。リセット信号が非活性化レベル(たとえば「H」レベル)にされてリセットが解除されると、CPU7はアドレス0番地のベクタ等によって指定されるプログラム領域のプログラムの実行を開始する。
[不揮発性メモリセル]
図2は、フラッシュメモリ3に含まれる不揮発性メモリセルMCの構成を示す断面図である。図2において、メモリセルMCは、半導体基板領域11表面に間をおいて形成される不純物領域12a,12bと、これらの不純物領域12a,12bの間の基板領域11上にゲート絶縁膜13を介して形成されるコントロールゲート電極14と、ゲート絶縁膜13およびコントロールゲート電極14に隣接してL字型に形成される電荷蓄積膜15と、電荷蓄積膜15上に形成されるメモリゲート電極16を含む。
電荷蓄積膜15は、基板領域11上に形成されるボトム酸化膜15aと、ボトム酸化膜15a上に形成される窒化膜15bと、窒化膜15b上に形成されるトップ酸化膜15cを含む。ボトム酸化膜15aおよびトップ酸化膜15cの間に窒化膜15bを配置し、この窒化膜15bに電荷を蓄積する。トップ酸化膜15cにより窒化膜15bとメモリゲート電極16との間の電荷のリークを抑制する。
不純物領域12a、ゲート絶縁膜13、およびコントロールゲート電極14により、選択トランジスタSTが形成される。電荷蓄積膜15、不純物領域12bおよびメモリゲート電極16により、メモリセルトランジスタMTが形成される。これらの選択トランジスタSTおよびメモリセルトランジスタMTが直列に接続される。メモリセルMCの選択時、メモリセルトランジスタMTのしきい値電圧に応じて選択的に不純物領域12a,2bの間にチャネルが形成される。
通常、不純物領域12aが列方向に延在して形成され、1列のメモリセルMCに共通に配置される上層のビット線BLに電気的に接続される。不純物領域12bが列方向に連続的に延在して、1列のメモリセルMCに共通なソース線SLを形成する。コントロールゲート電極14は、行方向に延在するコントロールゲート線CGに接続される。コントロールゲート線CGに、1行に整列して配置される複数のメモリセルMCの選択トランジスタSTのコントロールゲート電極14が共通に接続される。メモリゲート電極16は、同様、行方向に延在するメモリゲート線MGに接続される。メモリゲート線MGに、1行に整列して配置される複数のメモリセルMCのメモリゲート電極16が共通に接続される。
図2に示すメモリセルMCは、選択トランジスタSTのコントロールゲート電極14がメモリゲート電極16よりも先に形成される。したがって、シリコン基板界面(半導体基板領域)の品質のよい状態で、選択トランジスタSTのゲート絶縁膜を、同一半導体基板上に形成されるロジック部のゲート絶縁膜と同一工程で形成することができる。メモリセルトランジスタMTにおいてはフローティングゲートが用いられていないため、トランジスタ製造工程を、同一半導体チップ上に形成されるロジックのトランジスタと共通化することができる。以下の説明においては、選択トランジスタSTおよびメモリセルトランジスタMTが、ともにNチャネルトランジスタであるものとする。
この図2に示すメモリセルMCにおいて、データの書込時においては、メモリゲート電極16に11V程度の電圧が印加され、不純物領域12bに5V程度の電圧が印加される。コントロールゲート電極14へは、選択トランジスタSTのしきい値電圧よりも少し高いレベル(たとえば1V)の電圧が与えられる。不純物領域12aには、コントロールゲート電極14の電圧よりも少し低い電圧(0.8V)が印加される。この状態においては、選択トランジスタSTにおいて、ゲート絶縁膜13下部に弱い反転層が形成される。メモリセルトランジスタMTは、強いオン状態であリ、不純物領域12bから不純物領域12aに向かって電流が流れる。
チャネル領域において、選択トランジスタSTとメモリセルトランジスタMTの境界部は高抵抗状態であり、この領域において高電界が発生する。この高電界により、不純物領域12aから不純物領域12bに流れる電子が、ホットエレクトロンとなり、メモリゲート電極16の高電圧に引かれて、電荷蓄積膜15の窒化膜15bに注入されて蓄積される。メモリセルトランジスタMTにおいては、ソース側から電子が注入されるため、ソースサイド注入方式で電子が注入され、トンネル電流を利用する構成に比べて高効率で、電子を注入することができる。この書込状態は、メモリセルトランジスタMTのしきい値電圧が高い状態に対応する。
消去動作時においては、メモリゲート電極16にたとえば−5Vの負の高電圧が印加され、不純物領域12bに7V程度の正の高電圧が印加される。消去時においても、選択トランジスタSTは、コントロールゲート電極14が例えば1V、不純物領域12a(ビット線)が例えば0.8Vの電圧レベルに設定される。電流が不純物領域12bから不純物領域12aに向かって流れる。不純物領域12bの端部において高電界(ドレイン高電界)が発生し、ホットホールが生成される。メモリゲート電極16の負電圧により、バンド間トンネリング電流がボトム酸化膜15aを介して電荷蓄積膜15の窒化膜15bに流れ、ホットホールが窒化膜15bに注入されて蓄積される。これにより、書込時に注入された電子を中和して、消去状態とする。この消去状態は、メモリセルトランジスタMTのしきい値電圧が低い状態に対応する。
データ読出時においては、メモリゲート電極16をたとえば0Vに設定し、選択コントロールゲート電極14をたとえば1.5Vに設定し、不純物領域12aに1V程度の読出電圧を供給し、不純物領域12bを接地電圧レベルに設定する。不純物領域12a(ビット線)から不純物領域12b(ソース線)に流れる電流の大小により、メモリセルMCの記憶データを判定する。
このメモリセルトランジスタMTは、一例として、消去時においてはそのしきい値電圧は負の値であっても良い。したがって、たとえメモリセルトランジスタMTが、しきい値電圧が負となる過消去状態となっても、選択トランジスタSTがオフ状態であれば、電流が流れず、他のメモリセルの読出に対して影響は及ぼさない。
なお、メモリセルトランジスタMTの消去状態および書込状態のいずれにおいても、メモリセルトランジスタMTのしきい値電圧が、正の電圧であっても良い。データ読出時に、書込および消去状態を識別するだけの電流がビット線(不純物領域12a)に流れ、この電流差が読出回路(センスアンプ)により検知することができればよい。
換言すると、メモリセルMCは、図3に示すように、ビット線BLとソース線SLとの間に直列接続された選択トランジスタSTおよびメモリセルトランジスタMTを含む。選択トランジスタSTのゲートはコントロールゲート線CGに接続され、メモリセルトランジスタMTのゲートはメモリゲート線MGに接続される。
データ書込時においては、メモリゲート線MGに11V程度の電圧を印加し、ビット線BLに5V程度の電圧を印加する。また、コントロールゲートCGにたとえば1Vを印加し、ソース線SLにたとえば0.8Vを印加する。これにより、電荷蓄積膜15の窒化膜15bに電子が注入され、メモリセルトランジスタMTのしきい値電圧が高い状態になる。
消去動作時においては、メモリゲート線MGにたとえば−5Vの負の高電圧を印加し、ソース線SLに7V程度の正の高電圧を印加する。また、コントロールゲートCGにたとえば1Vを印加し、ソース線SLにたとえば0.8Vを印加する。これにより、電荷蓄積膜15の窒化膜15bにホールが注入され、メモリセルトランジスタMTのしきい値電圧が低い状態になる。
データ読出時においては、メモリゲート線MGにたとえば0Vを印加し、コントロールゲート線CGにたとえば1.5Vを印加し、ビット線BLに1V程度の読出電圧を印加し、ソース線SLに接地電圧VSSを印加する。ビット線BLからソース線SLに流れる電流と参照電流との大小を比較し、比較結果に基づいてメモリセルMCの記憶データを判定する。
[フラッシュメモリ]
図4は、フラッシュメモリ3の全体構成を示す回路ブロック図である。図4において、フラッシュメモリ3はメモリマットMATを備え、メモリマットMATは複数(図では4つ)のメモリアレイMA0〜MA3を含む。各メモリアレイMAは、複数行複数列に配置された複数のメモリセルMCと、それぞれ複数行に対応して設けられた複数のコントロールゲート線CGと、それぞれ複数行に対応して設けられた複数のメモリゲート線MGと、それぞれ複数列に対応して設けられた複数のビット線BLと、それぞれ複数列に対応して設けられた複数のソース線SL(図示せず)とを含む。
各メモリアレイMAに対応して、行デコーダ(RDEC)20、列デコーダ(CDEC)21、および列選択回路22が設けられる。また、メモリアレイMA0,MA1の間にセンスアンプアレイSAが設けられ、メモリアレイMA2,MA3の間にセンスアンプアレイSAが設けられる。各センスアンプアレイSAは、複数のセンスアンプ23を含む。また、メモリアレイMA0〜3に共通に、複数のグローバル書込ビット線GBLwと、複数のグローバル読出ビット線対GBLrpとが設けられる。
行デコーダ20は、行アドレス信号に従って、対応のメモリアレイMAの複数行のうちのいずれかの行を選択し、選択した行のゲート線CG,MGを駆動する。列デコーダ21は、列アドレス信号に従って、対応のメモリアレイMAの複数のビット線BLのうちのいずれかのビット線BLを選択する。列選択回路22は、列デコーダ21によって選択されたビット線BLを対応のセンスアンプ23に接続する。
図4では、センスアンプアレイSAのうちの1つの電流検知型センスアンプ23のみが代表的に示されている。センスアンプ23の出力電圧は、対応のグローバル読出ビット線GBLrに与えられる。要するに、ビット線BLは階層ビット線構造とされ、センスアンプ23による増幅は階層センス方式とされる。
書込系として読出系とは分離されたグローバル書込ビット線GBLwが設けられる。グローバル書込ビット線GBLwは階層化されず、複数のメモリアレイMA0〜MA3に共通化される。グローバル書込ビット線GBLwと対応するビット線BLとは、分離スイッチDSWによって接続または分離可能にされている。読出動作時は、分離スイッチDSWは少なくとも、読出対象メモリアレイMAにおいてグローバル書込ビット線GBLwをビット線BLから分離する。たとえば、グローバル読出ビット線対GBLrpは32個設けられ、グローバル書込ビット線GBLwは1024本設けられる。
コントロールゲート線CGおよびメモリゲート線MGは、行デコーダ20による行アドレス信号のデコード結果に従って選択的に駆動される。ゲート線CG,MGの駆動電圧レベルは、フラッシュメモリに対する消去、書込、または読出処理に応じて決まる。列選択回路22によるビット線BLの選択は、列デコーダ21による列アドレス信号のデコード結果に従って行なわれる。分離スイッチDSWやセンスアンプ23は、メモリアレイMAに対する読出、消去または書込の動作に応じて行デコーダ20により制御される。アドレス信号はアドレスバスABUSから供給される。
グローバル読出ビット線対GBLrpは、バスドライバを介してデータバスDBUSに接続される。データバスDBUSは32ビットである。グローバル書込ビット線GBLwは、書込回路24に接続される。書込回路24は、1024ビットの書込制御データの各ビットの論理値に応じて対応するグローバル書込ビット線GBLwに書込電圧を印加する。書込制御データは、データラッチ回路25から与えられる。データラッチ回路25には、CPU7から順次32ビット単位で与えられる書込データがデータセレクタ26を介して1024ビット入力されてプリセットされる。
ベリファイリードにおいてグローバル書込ビット線GBLwに読み出されたデータはデータセレクタ26により32ビット単位で選択され、選択されたデータはベリファイ用アンプ27で増幅されて外部に出力される。ベリファイリードで外部に読み出されたデータは、CPU7によりビット単位でベリファイ判定が行なわれる。その判定結果が新たな書込制御データとしてCPU7からデータセレクタ26を通してデータラッチ回路25にロードされる。データセレクタ26の選択動作は、アドレスバスABUSから供給されるアドレス信号に基いて行なわれる。
制御回路28には、CPU7からコントロールバスCBUSおよびデータバスDBUSを介してメモリ制御情報が設定される。制御回路28は、そのメモリ制御情報に従って読出、消去および書込の動作に応じた制御シーケンス並びに動作電源の切換制御を行なう。
[階層化ビット線構造]
図5は、図4に示したメモリマットMATの階層化ビット線構造を示す回路ブロック図である。図5において、1本のグローバル書込ビット線GBLwは、各メモリアレイMAにおいて2つの分離スイッチDSWを介して2本のビット線BLのうちのいずれか1本のビット線BLに選択的に接続される。隣接する2つのメモリアレイMAの間に分離スイッチアレイ30が設けられ、分離スイッチアレイ30に分離スイッチDSWがレイアウトされる。図5では、図面の簡単化のため、メモリアレイMA1,MA2間の分離スイッチアレイ30のみが示されている。
図5の横方向にビット線BLは2048本、グローバル書込ビット線GBLwは1024本、グローバル読出ビット線対GBLrpは32個配置される。各グローバル読出ビット線対GBLrpは、グローバル読出ビット線GBLr,/GBLrを含む。各メモリアレイMAにおいて、2048本のビット線BLは2本ずつグループ化されている。各ビット線グループの2本のビット線BLは、2個の分離スイッチDSWを介して対応のグローバル書込ビット線GBLwに接続される。メモリアレイMA0〜MA3のうちの選択されたメモリアレイMAのうちの2048本のビット線BLのうちの選択された1024本のビット線BLが1024個の分離スイッチDSWを介して1024本のグローバル書込ビット線GBLwに接続される。
メモリアレイMA1の各ビット線グループの2本のビット線BLは、2個の分離スイッチDSWを介して対応のグローバル書込ビット線GBLwに接続される。また、メモリアレイMA2の各ビット線グループの2本のビット線BLは、2個の分離スイッチDSWを介して対応のグローバル書込ビット線GBLwに接続される。メモリアレイMA1の各ビット線グループに対応して設けられた2個の分離スイッチDSWと、メモリアレイMA2の各ビット線グループに対応して設けられた2個の分離スイッチDSWとは、それぞれ信号S1〜S4によって制御される。信号S1〜S4のうちの選択された1つの信号が活性化レベルにされて、4つの分離スイッチDSWのうちの選択された1つの分離スイッチDSWがオンされる。
たとえば信号S1が活性化レベルにされると、メモリアレイMA1の2048本のビット線BLのうちの偶数番の1024本のビット線BLが1024個の分離スイッチDSWを介して1024本のグローバル書込ビット線GBLwに接続される。
また、各メモリアレイMAの2048本のビット線BLは、64本ずつ32のブロックに分割されている。センスアンプ23は、1つのビット線ブロックに1個の割合で32個配置される。列選択回路22は、選択されたメモリアレイMAの各ビット線ブロックの64本のビット線BLから1本のビット線BLを選択して対応するセンスアンプ23に接続する。センスアンプ23は、ビット線BLに流れる電流と参照電流との比較結果に基づいて、対応するグローバル読出ビット線GBLr,/GBLrを駆動する。
また、グローバル読出ビット線GBLr,/GBLrの各々と電源電圧VDDのラインとの間にPチャネルMOSトランジスタ31が接続されている。トランジスタ31のゲートは、GBLプリチャージ信号GBLPCを受ける。GBLプリチャージ信号GBLPCが活性化レベルの「L」レベルにされると、各トランジスタ31がオンし、グローバル読出ビット線GBLr,/GBLrの各々が電源電圧VDDにプリチャージされる。
また、各グローバル読出ビット線対GBLrpには、データセレクタ32が接続されている。メモリアレイMA0とMA1は対をなし、メモリアレイMA2とMA3は対をなしている。データ読出時においては、メモリアレイMA0,MA1の対と、メモリアレイMA2,MA3の対とのうちのいずれか1つの対が選択される。メモリアレイMA0,MA2はA領域とされ、メモリアレイMA1,MA4はB領域とされている。A領域が選択された場合は信号SELABが「H」レベルにされ、B領域が選択された場合は信号SELABが「L」レベルにされる。
データセレクタ32は、信号SELABが「H」レベルにされた場合は、対応のグローバル読出ビット線GBLr,/GBLr間の電圧に応じた論理の読出データ信号をデータバスDBUSに出力する。たとえば、グローバル読出ビット線GBLr,/GBLr間の電圧が正電圧である場合は読出データ信号は“1”(「H」レベル)にされ、グローバル読出ビット線GBLr,/GBLr間の電圧が負電圧である場合は読出データ信号は“0”(「L」レベル)にされる。
また、データセレクタ32は、信号SELABが「L」レベルにされた場合は、対応のグローバル読出ビット線/GBLr,GBLr間の電圧に応じた論理の読出データ信号をデータバスDBUSに出力する。たとえば、グローバル読出ビット線GBLr,/GBLr間の電圧が正電圧である場合は読出データ信号は“0”(「L」レベル)にされ、グローバル読出ビット線GBLr,/GBLr間の電圧が負電圧である場合は読出データ信号は“1”(「H」レベル)にされる。
なお、分離スイッチDSWは、読出動作および消去動作では全てオフ状態にされる。書込動作およびベリファイリードでは、書込対象のメモリアレイMA側の行の1024個の分離スイッチDSWがオン状態にされる。
たとえばデータ読出動作では、選択されたメモリアレイMAの選択された行のゲート線CG,MGが駆動され、選択された行の各メモリセルMCの記憶情報は対応のビット線BLに現われ、ビット線BLは64本に1本の割合で選択されて対応するセンスアンプ23の入力ノードに伝達される。各トランジスタ31がオフされてグローバル読出ビット線GBLr,/GBLrのプリチャージが停止された後、センスアンプ23は、対応するグローバル読出ビット線GBLr,/GBLrを駆動する。この階層ビット線構造はセンスアンプ23の入力負荷容量を低減する。グローバル書込ビット線GBLwは、メモリアレイMAに対する並列書込ビット数に対応して1024本設けられているので、メモリアレイMAからの記憶情報の読出ビット数(たとえば、32ビット)に制限されることなく、所要のビット数で並列書込が可能になる。
ビット線BLとグローバル書込ビット線GBLwとは、分離スイッチDSWによって接続および分離可能にされている。読出動作において読出対象とされるメモリアレイMAの分離スイッチDSWは、グローバル書込ビット線GBLwからビット線BLを分離する。このため、読出動作においてグローバル書込ビット線GBLwによる不所望な負荷をビット線BLから切り離すことができ、高速読出が可能となる。また、読出対象のメモリアレイMAはグローバル書込ビット線GBLwから切り離されるので、相互に異なったメモリアレイMAにおいてグローバル読出ビット線GBLrによる読出動作とグローバル書込ビット線GBLwによる書込動作との並列化が可能になる。
また、ベリファイリードはたとえばグローバル書込ビット線GBLwを用いてベリファイ用アンプ27に伝達するから、ベリファイ用アンプをメモリアレイ毎に分散させなくて済む。
[センスアンプアレイ]
図6は、図5に示した2つのメモリアレイMA2,MA3間のセンスアンプアレイSAの概略構成を示す回路ブロック図である。上述のように、各メモリアレイMAの2048本のビット線BLは、64本ずつ32のブロックに分割されている。センスアンプ23は、1つのビット線ブロックに1個の割合で32個配置される。図6では、図面および説明の簡単化のため、各ビット線ブロックは8本のビット線BLを含むものとする。また、各ビット線ブロックは2つのサブブロックに分割される。各サブブロックは、4本のビット線BLを含む。
センスアンプ23は、各ビット線ブロックに対応して設けられており、メモリアレイMA2のビット線ブロックとメモリアレイMA3のビット線ブロックとの間に共通に設けられている。メモリアレイMA2とセンスアンプ23の間に切換回路SWT1,SWT2が設けられ、メモリアレイMA3とセンスアンプ23の間に切換回路SWB1,SWB2が設けられる。
切換回路SWT1は、メモリアレイMA2の各サブブロックに対応して設けられた4つのPチャネルMOSトランジスタ40を含む。4つのトランジスタ40は、それぞれ対応のビット線BLとノードCBLTとの間に接続され、それらのゲートはそれぞれ信号YRAT1〜YRAT4を受ける。信号YRAT1〜YRAT4のうちのいずれか1つの信号が選択レベルの「L」レベルにされると、その信号に対応するトランジスタ40がオンし、その信号に対応するビット線BLがノードCBLTに接続される。各ビット線ブロックに対応して2つのノードCBLT1,CBLT2が設けられている。
切換回路SWT2は、メモリアレイMA2の各ビット線ブロックに対応して設けられた2つのPチャネルMOSトランジスタ41を含む。2つのトランジスタ41は、それぞれ対応のノードCBLT1,CBLT2とセンスアンプ23の入力ノードLBTとの間に接続され、それらのゲートはそれぞれ信号YRBT1,YRBT2を受ける。信号YRBT1,YRBT2のうちのいずれか1つの信号が選択レベルの「L」レベルにされると、その信号に対応するトランジスタ41がオンし、その信号に対応するノードCBLTが入力ノードLBTに接続される。
同様に、切換回路SWB1は、メモリアレイMA3の各サブブロックに対応して設けられた4つのPチャネルMOSトランジスタ42を含む。4つのトランジスタ42は、それぞれ対応のビット線BLとノードCBLBとの間に接続され、それらのゲートはそれぞれ信号YRAB1〜YRAB4を受ける。信号YRAB1〜YRAB4のうちのいずれか1つの信号が選択レベルの「L」レベルにされると、その信号に対応するトランジスタ42がオンし、その信号に対応するビット線BLがノードCBLBに接続される。各ビット線ブロックに対応して2つのノードCBLB1,CBLB2が設けられている。
切換回路SWB2は、メモリアレイMA3の各ビット線ブロックに対応して設けられた2つのPチャネルMOSトランジスタ43を含む。2つのトランジスタ43は、それぞれ対応のノードCBLB1,CBLB2とセンスアンプ23の入力ノードLBBとの間に接続され、それらのゲートはそれぞれ信号YRBB1,YRBB2を受ける。信号YRBB1,YRBB2のうちのいずれか1つの信号が選択レベルの「L」レベルにされると、その信号に対応するトランジスタ43がオンし、その信号に対応するノードCBLBが入力ノードLBBに接続される。
つまり、メモリアレイMA2,MA3のうちのメモリアレイMA2が選択された場合は、信号YRAT1〜YRAT4,YRBT1,YRBT2によってメモリアレイMA2の各ビット線ブロックの8本のビット線BLのうちのいずれか1本のビット線BLが対応のセンスアンプ23の入力ノードLBTに接続される。
また、メモリアレイMA2,MA3のうちのメモリアレイMA3が選択された場合は、信号YRAB1〜YRAB4,YRBB1,YRBB2によってメモリアレイMA3の各ビット線ブロックの8本のビット線BLのうちのいずれか1本のビット線BLが対応のセンスアンプ23の入力ノードLBBに接続される。信号YRAT1〜YRAT4,YRBT1,YRBT2,YRAB1〜YRAB4,YRBB1,YRBB2は、列アドレス信号に基いて列デコーダ21によって生成される。
なお、メモリアレイMA0,MA1間のセンスアンプアレイSAにも、メモリアレイMA2,MA3間のセンスアンプアレイSAと同様に、切換回路SWT1,SWT2,SWB1,SWB2が配置されている。
また、図7は、電流検知型センスアンプアレイSAの要部を示す回路ブロック図である。図7において、各サブブロックに対応してプリチャージ回路45が設けられる。
プリチャージ回路45は、PチャネルMOSトランジスタ46,47を含む。トランジスタ46,47は、それぞれ対応のノードCBLT,CBLB(図7ではCBLT1,CBLB1)と電源電圧VDDのラインとの間に接続され、それらのゲートはそれぞれビット線プリチャージ領域切換信号PCT1,PCB1を受ける。図6においては省略されているが、トランジスタ46は、切換回路SWT1とSWT2の間に、トランジスタ47は、切換回路SWB1とSWB2の間に配置されている。
メモリアレイMA2の対応のサブブロックに含まれるビット線BLが選択されて、切換回路SWT1の1つのトランジスタ40がオンした場合、信号PCT1が活性化レベルの「L」レベルにされてトランジスタ46がオンし、選択されたビット線BLが電源電圧VDDにプリチャージされる。切換回路SWT2のトランジスタ41がオンする直前に、トランジスタ46がオフされてプリチャージが停止される。
メモリアレイMA3の対応のサブブロックに含まれるビット線BLが選択されて、切換回路SWB1の1つのトランジスタ42がオンした場合、信号PCT2が活性化レベルの「L」レベルにされてトランジスタ47がオンし、選択されたビット線BLが電源電圧VDDにプリチャージされる。切換回路SWB2のトランジスタ43がオンする直前に、トランジスタ47がオフされてプリチャージが停止される。
また、各ビット線ブロックに対応して定電流源50および切換回路SWが設けられる。定電流源50および切換回路SWは、メモリアレイMA2のビット線ブロックとメモリアレイMA3のビット線ブロックとに共通に設けられる。
定電流源50は、ノードN50と接地電圧VSSのラインとの間に接続され、ゲートが定電圧CCBを受けるNチャネルMOSトランジスタを含む。切換回路SWは、PチャネルMOSトランジスタ51,52を含む。トランジスタ51は、対応のセンスアンプ23の入力ノードLBTとノードN50との間に接続され、そのゲートは参照電流領域切換信号CCSTを受ける。トランジスタ52は、対応のセンスアンプ23の入力ノードLBBとノードN50との間に接続され、そのゲートは信号CCSBを受ける。
メモリアレイMA2の対応のビット線ブロックに含まれるビット線BLが選択されて、切換回路SWT2の1つのトランジスタ41がオンした場合、信号CCSBが活性化レベルの「L」レベルにされてトランジスタ52がオンし、対応のセンスアンプ23の入力ノードLBBがトランジスタ52および定電流源50を介して接地電圧VSSのラインに接続される。定電流源50は、所定の値の参照電流IRを流す。
メモリアレイMA3の対応のビット線ブロックに含まれるビット線BLが選択されて、切換回路SWB2の1つのトランジスタ43がオンした場合、信号CCSTが活性化レベルの「L」レベルにされてトランジスタ51がオンし、対応のセンスアンプ23の入力ノードLBTがトランジスタ51および定電流源50を介して接地電圧VSSのラインに接続される。定電流源50は、所定の値の参照電流IRを流す。
なお、メモリアレイMA0,MA1間のセンスアンプアレイSAにも、メモリアレイMA2,MA3間のセンスアンプアレイSAと同様に、プリチャージ回路45、定電流源50、および切換回路SWが配置されている。
センスアンプ23は、PチャネルMOSトランジスタ60〜63,74,75,84,85、トランスファーゲート64、NチャネルMOSトランジスタ65〜71,76,86、インバータ72,82、およびNORゲート73,83を含む。これらのうちのPチャネルMOSトランジスタ74,75,84,85、NチャネルMOSトランジスタ69〜71,76,86、インバータ72,82、およびNORゲート73,83は、ドライブ回路90を構成する。ドライブ回路90は、センスアンプ小振幅出力信号をCMOSレベルに振幅させる回路である。
トランジスタ60,61は、電源電圧VDDのラインと入力ノードLBT,LBBとの間にそれぞれ接続され、それらのゲートはともに接地電圧VSSを受ける。トランジスタ60は、入力ノードLBTに所定の読出電圧を印加し、所定のロード電流を供給する。トランジスタ61は、入力ノードLBBに所定の読出電圧を印加し、所定のロード電流を供給する。
トランジスタ62は、入力ノードLBTと出力ノードSOUTTとの間に接続され、そのゲートは出力ノードSOUTBに接続される。トランジスタ63は、入力ノードLBB1と出力ノードSOUTBとの間に接続され、そのゲートは出力ノードSOUTTに接続される。トランスファーゲート64は、出力ノードSOUTT,SOUTB間に接続され、信号SEQが活性化レベルの「H」レベルにされた場合にオンする。
トランジスタ65,67は、出力ノードSOUTTと接地電圧VSSのラインとの間に直列接続される。トランジスタ66,68は、出力ノードSOUTBと接地電圧VSSのラインとの間に直列接続される。トランジスタ65のゲートとドレインは互いに接続され、トランジスタ66のゲートとドレインは互いに接続される。トランジスタ65,66の各々は、ダイオードとして動作する。トランジスタ67,68のゲートは、ともにセンスアンプ活性化信号SENを受ける。信号SENが活性化レベルの「H」レベルにされると、トランジスタ67,68がオンし、センスアンプ23が活性化される。
トランジスタ69は、出力ノードSOUTTとノードN71の間に接続され、そのゲートは出力ノードSOUTBに接続される。トランジスタ70は、出力ノードSOUTBとノードN71の間に接続され、そのゲートは出力ノードSOUTTに接続される。トランジスタ71は、ノードN71と接地電圧VSSのラインとの間に接続され、そのゲートはセンスアンプ小振幅出力をCMOSレベルにフル振幅させるための活性化信号SLATを受ける。
トランジスタ69〜71は、ラッチ回路を構成する。信号SLATが活性化レベルの「H」レベルにされると、トランジスタ71がオンしてラッチ回路が活性化され、出力ノードSOUTT,SOUTBの電圧がラッチされる。
インバータ72は、信号SLATの反転信号を生成する。NORゲート73は、インバータ72の出力信号と出力ノードSOUTTに現れる信号とを受ける。トランジスタ74,75は、電源電圧VDDのラインと対応のグローバル読出ビット線GBLrとの間に直列接続される。トランジスタ76は、対応のグローバル読出ビット線GBLrと接地電圧VSSのラインとの間に接続される。トランジスタ74のゲートは、インバータ72の出力信号を受ける。トランジスタ75,76のゲートは、NORゲート73の出力信号を受ける。
信号SLATが活性化レベルの「H」レベルにされると、NORゲート73がインバータとして動作するとともに、トランジスタ74がオンしてトランジスタ75,76がインバータとして動作する。信号SLATが非活性化レベルの「L」レベルにされると、トランジスタ74,76がオフするとともにトランジスタ75がオンし、グローバル読出ビット線GBLrがハイ・インピーダンス状態にされる。
インバータ82は、信号SLATの反転信号を生成する。NORゲート83は、インバータ82の出力信号と出力ノードSOUTTに現れる信号とを受ける。トランジスタ84,85は、電源電圧VDDのラインと対応のグローバル読出ビット線/GBLrとの間に直列接続される。トランジスタ86は、対応のグローバル読出ビット線/GBLrと接地電圧VSSのラインとの間に接続される。トランジスタ84のゲートは、インバータ82の出力信号を受ける。トランジスタ85,86のゲートは、NORゲート83の出力信号を受ける。
信号SLATが活性化レベルの「H」レベルにされると、NORゲート83がインバータとして動作するとともに、トランジスタ84がオンしてトランジスタ85,86がインバータとして動作する。信号SLATが非活性化レベルの「L」レベルにされると、トランジスタ84,86がオフするとともにトランジスタ85がオンし、グローバル読出ビット線/GBLrがハイ・インピーダンス状態にされる。
[データ読出動作]
図8(a)〜(g)および図9(a)〜(h)は、図1〜図7で示したフラッシュメモリ3の読出動作を示すタイムチャートである。図8(a)〜(g)および図9(a)〜(h)では、メモリアレイMA2の1つの行と、メモリアレイMA2のノードCBLT1に対応するビット線BLが選択されたものとする。ある時刻t0にアドレス信号ADDが与えられると、列デコーダ21によって信号YRAT1,YRAB1のうちの信号YRAT1が選択レベルの「L」レベルに立ち下げられる。これにより、図7の信号YRAT1に対応するトランジスタ40がオンし、選択された1本のビット線BLがノードCBLT1に接続される。
次に時刻t1において、選択された行のコントロールゲート線CGが行デコーダ20によって選択レベルの「H」レベルに立ち上げられる。その行のメモリゲート線MGには、読出電圧が印加される。図8では、読出電圧は「L」レベル(0V)にされている。これにより、図3の選択トランジスタSTがオンする。また、時刻t1において、信号PCT1,PCTB1のうちの信号PCT1が活性化レベルの「L」レベルに立ち下げられる。これにより、図7のトランジスタ46がオンし、ノードCBLT1および選択されたビット線BLが読出電圧(電源電圧VDD)にプリチャージされる。
次いで時刻t2において、信号PCT1が非活性化レベルの「H」レベルに立ち上げられる。これにより、トランジスタ46がオフし、プリチャージが停止される。また、時刻t2において、信号CCST,CCSBのうちの信号CCSBが選択レベルの「L」レベルにされるとともに、信号YRBT1,YRBB1のうちの信号YRBT1が選択レベルの「L」レベルにされる。これにより、図7のトランジスタ41,52がオンし、センスアンプ23の入力ノードLBTがトランジスタ41,40を介して選択ビット線BLに接続される。また、図7のトランジスタ52がオンし、センスアンプ23の入力ノードLBBがトランジスタ52および定電流源50を介して接地電圧VSSのラインに接続される。
また時刻t2において、信号SEQ,SENが「H」レベルに立ち上げられる。信号SEQが「H」レベルにされると、図7のトランスファーゲート64がオンし、出力ノードSOUTT,SOUTBの電圧がイコライズされる。また、信号SENが「H」レベルにされると、図7のトランジスタ67,68がオンし、センスアンプ23が活性化される。時刻t2から所定時間経過後に信号SEQが「L」レベルに立ち下げられると、トランスファーゲート64がオフし、出力ノードSOUTT,SOUTB間に電位差が現れる。
すなわち、トランスファーゲート64がオフされ、トランジスタ67,68がオンすると、トランジスタ60,61の各々にロード電流が流れる。トランジスタ60に流れるロード電流は、メモリアレイMA2の選択ビット線BLとトランジスタ62,65,67とに分流される。トランジスタ61に流れるロード電流は、定電流源50とトランジスタ63,66,68とに分流される。
メモリアレイMA2の選択ビット線BLに流れる電流IBLが定電流源50に流れる参照電流IRよりも大きい場合は、トランジスタ62,65,69に流れる電流ITがトランジスタ63,66,68に流れる電流IBよりも小さくなり、出力ノードSOUTT,SOUTBがそれぞれ「L」レベルおよび「H」レベルになる。
逆に、メモリアレイMA2の選択ビット線BLに流れる電流IBLが定電流源50に流れる参照電流IRよりも小さい場合は、トランジスタ62,65,69に流れる電流ITがトランジスタ63,66,68に流れる電流IBよりも大きくなり、出力ノードSOUTT,SOUTBがそれぞれ「H」レベルおよび「L」レベルになる。図9では、後者の場合が示されている。
次に時刻t3において、信号YRAT1,CCSB,YRBT1が非選択レベルの「H」レベルに立ち上げられ、トランジスタ40,41,52がオフされる。また、コントロールゲート線CGが非選択レベルの「L」レベルにされ、図3の選択トランジスタSTがオフする。また、信号SENが非活性化レベルの「L」レベルに立ち下げられ、図7のトランジスタ67,68がオフしてセンスアンプ23が非活性化される。また、信号SLATが活性化レベルの「H」レベルに立ち上げられ、図7のトランジスタ71がオンしてトランジスタ69〜71によって出力ノードSOUTT,SOUTBの電圧がラッチされる。
また時刻t3において、信号GBLPCが非活性化レベルの「H」レベルに立ち上げられ、図5のトランジスタ31がオフしてグローバル読出ビット線GBLr,/GBLrのプリチャージが停止される。また、NORゲート73およびトランジスタ75,76がバッファ回路として動作し、グローバル読出ビット線GBLrが出力ノードSOUTTの電圧に駆動される。NORゲート83およびトランジスタ85,86がバッファ回路として動作し、グローバル読出ビット線/GBLrが出力ノードSOUTBの電圧に駆動される。図9では、グローバル読出ビット線GBLr,/GBLrがそれぞれ「H」レベルおよび「L」レベルに駆動された状態が示されている。また、信号SELABによってA領域(メモリアレイMA0,MA2)が選択され、データセレクタ32により、グローバル読出ビット線GBLr,/GBLr間の電圧に応じた論理レベル(この場合は「H」レベル)のデータ信号がデータバスDBUSに出力される。
次いで時刻t4において、信号SLATが非活性化レベルの「L」レベルに立ち下げられ、信号GBLPCが活性化レベルの「L」レベルに立ち下げられて、データ読出が終了する。また、時刻t4において、アドレス信号ADDが切換えられ、次のデータ読出動作が開始される。
[パイプライン読出動作]
図10(a)〜(q)は、フラッシュメモリ3のパイプライン読出動作を例示するタイムチャートである。ここでは、図6で示した2つのメモリアレイMA2,MA3のデータを交互に読み出す場合について説明する。図10(a)〜(q)において、フラッシュメモリ3は所定周波数のクロック信号CLKに同期して動作する。アドレス信号ADDは、クロック信号CLKの立下りエッジに同期して与えられる。フラッシュメモリ3は、クロック信号CLKの立ち上がりエッジでアドレス信号ADDを取り込む。クロック信号CLKの立ち上がりエッジを各サイクルの開始点とする。
図10(a)(b)に示すように、サイクル1〜4におけるクロック信号CLKの立ち上がりエッジに同期して4つのアドレス信号ADDa1,ADDb1,ADDa2,ADDb2が取り込まれる。ここでは、図面および説明の簡単化のため、アドレス信号ADDa1,ADDa2は、メモリアレイMA2の複数行のうちの同じ1つの行を選択するとともに、各ビット線ブロックの8本のビット線BLのうちの信号YRAT1,YRBT1に対応する1本のビット線BLを選択するものとする。また、アドレス信号ADDb1,ADDb2は、メモリアレイMA3の複数行のうちの同じ1つの行を選択するとともに、各ビット線ブロックの8本のビット線BLのうちの信号YRAB1,YRBB1に対応する1本のビット線BLを選択するものとする。
また図10(c)に示すように、サイクル1におけるクロック信号CLKの立ち上がりエッジに応答して、行デコーダ20は、アドレス信号ADDa1に含まれる行アドレス信号に基いて、メモリアレイMA2の1本のコントロールゲート線CGa1とメモリアレイMA3の1本のコントロールゲート線CGb1とを選択レベルの「H」レベルに立ち上げる。
また図10(j)(k)に示すように、サイクル1,3におけるクロック信号CLKの立ち下がりエッジに応答して信号YRAT1が1.5サイクルずつ「L」レベルにされ、サイクル2,4におけるクロック信号CLKの立ち下がりエッジに応答して信号YRABが1.5サイクルずつ「L」レベルにされる。信号YRAT1,YRAB1が「L」レベルにされると、それぞれ図7のトランジスタ40,42がオンし、ノードCBLT1,CBLB1がそれぞれメモリアレイMA2,MA3のビット線BLに接続される。
また図10(d)(e)に示すように、サイクル1〜4におけるクロック信号CLKの立ち下がりエッジに応答して、信号PCT1とPCT2が半サイクルずつ交互に「L」レベルにされる。信号PCT1,PCT2が「L」レベルにされると、それぞれ図7のトランジスタ46,47がオンし、それぞれメモリアレイMA2,MA3のビット線BLがプリチャージされる。
また図10(f)(g)に示すように、サイクル2〜5におけるクロック信号CLKの立ち上がりエッジに応答して、信号YRBT1とYRBB1が半サイクルずつ交互に「L」レベルにされる。信号YRBT1が「L」レベルにされると、図7のトランジスタ41がオンし、メモリアレイMA2のビット線BLがセンスアンプ23の入力ノードLBTに接続される。信号YRBB1が「L」レベルにされると、図7のトランジスタ43がオンし、メモリアレイMA3のビット線BLがセンスアンプ23の入力ノードLBBに接続される。
また図10(h)(i)に示すように、サイクル2〜5におけるクロック信号CLKの立ち上がりエッジに応答して、信号CCSBとCCSTが半サイクルずつ交互に「L」レベルにされる。信号CCSBが「L」レベルにされると、図7のトランジスタ52がオンし、定電流源50がセンスアンプ23の入力ノードLBBに接続される。信号CCSTが「L」レベルにされると、図7のトランジスタ51がオンし、定電流源50がセンスアンプ23の入力ノードLBTに接続される。
また図10(l)に示すように、サイクル2〜5におけるクロック信号CLKの立ち上がりエッジに応答して、信号SEQが1/4サイクルずつ「H」レベルにされる。信号SEQが「H」レベルにされると、図7のトランスファーゲート64がオンし、センスアンプ23の出力ノードSOUTT,SOUTBの電圧がイコライズされる。
また図10(m)に示すように、サイクル2〜5におけるクロック信号CLKの立ち上がりエッジに応答して、信号SENが半サイクルずつ「H」レベルにされる。信号SENが「H」レベルにされると、図7のトランジスタ67,68がオンし、センスアンプ23が活性化される。
また図10(n)(o)に示すように、サイクル2〜5におけるクロック信号CLKの立ち下がりエッジに応答して、信号SLAT,GBLPCの各々が半サイクルずつ「H」レベルにされる。信号GBLPCが「H」レベルにされると、図5のトランジスタ31がオフし、グローバル読出ビット線GBLr,/GBLrのプリチャージが停止される。また、信号SLATが「H」レベルにされると、図7のトランジスタ71がオンしてセンスアンプ23の出力ノードSOUTT,SOUTBの電圧がトランジスタ69〜71によってラッチされる。
また、信号SLATが「H」レベルにされると、図7のNORゲート73,83の各々がインバータとして動作するとともにトランジスタ74,84がオンし、センスアンプ23の出力ノードSOUTT,SOUTBの電圧がそれぞれグローバル読出ビット線GBLr,/GBLrに伝達される。
また図10(p)に示すように、サイクル2,4におけるクロック信号CLKの立ち下がりエッジに応答して、信号SELABが半サイクルずつ「H」レベルにされる。信号SELABが「H」レベルにされると、図5のデータセレクタ32はグローバル読出ビット線GBLr,/GBLr間の電圧に基づき、読出データ信号を生成してデータバスDBUSに出力する。また、信号SELABが「L」レベルにされると、図5のデータセレクタ32はグローバル読出ビット線/GBLr,GBLr間の電圧に基づき、読出データ信号を生成してデータバスDBUSに出力する。
これにより、図10(q)に示すように、サイクル2〜5におけるクロック信号CLKの立ち下がりエッジに応答して、メモリアレイMA2からの読出データ信号Da1,Da2とメモリアレイMA3からの読出データ信号Db1,Db2とが半サイクルずつ交互に出力される。
この実施の形態では、たとえばサイクル2におけるクロック信号CLKの立ち下がりエッジに応答してA領域の読出データ信号Da1を出力しながら、B領域のビット線BLをプリチャージする。また、サイクル3におけるクロック信号CLKの立ち下がりエッジに応答してB領域の読出データ信号Db1を出力しながら、A領域のビット線BLをプリチャージする。したがって、データ読出動作を迅速に行なうことができる。
なお、図10では、サイクル2,4において信号YRBT1を半サイクルずつ「L」レベルにしたが、サイクル2では信号YRBT1を半サイクルだけ「L」レベルにし、サイクル4では信号YRBT2を半サイクルだけ「L」レベルにしてもよい。同様に、サイクル3,5において信号YRBB1を半サイクルずつ「L」レベルにしたが、サイクル3では信号YRBB1を半サイクルだけ「L」レベルにし、サイクル5では信号YRBB2を半サイクルだけ「L」レベルにしてもよい。
また、図2に示される不揮発性メモリセルの構造は、単なる一例であって、メモリセルトランジスタのドレインに定常的に電圧をかけるとディスターブを受けてしまうようなメモリセル構造の不揮発性メモリ(磁気抵抗メモリ、抵抗変化型メモリ)に対して、特に効果的である。
また、電流検知型センスアンプにおいて参照電流生成用のダミーメモリセル(メモリアレイ内に存在)を使う場合は、センスアンプの2つの入力ノードに接続された2本のビット線をリード開始前にどちらもプリチャージする必要がある。SRAMやDRAMにおいては、リード中定常的にビット線をプリチャージしておくことで高速化や低消費電流化を図ることが可能であるが、不揮発性メモリのリード動作時は、メモリセルにディスターブがかかることからビット線を定常的にプリチャージすることはできない。
したがって、リード開始前に毎回2本のビット線に対してプリチャージを実施し、終了するとディスチャージを実施する必要が生じてしまう。これに対して電流検知型センスアンプの参照電流として定電流源50を用いて生成する参照電流IRを使用し、これをメモリアレイとメモリアレイとの間に共通に設けることで、ビット線のプリチャージに必要な電流が約半分(1本のビット線BL分のみ)で済むため低消費電流化が可能となる。また、リードのインターリーブ動作も可能となり、スループットが向上する。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。