実施の形態について説明する前に、まず本願発明の基礎となるフラッシュメモリについて説明する。このフラッシュメモリは、図1に示すように、複数(図では4個)のメモリマットMAT0〜MAT3、入力バッファ10、制御回路11、参照電圧源16、チャージポンプ回路(CP)17、MG/SL制御回路18、MG/SLドライバ21、および出力バッファ25を備える。
各メモリマットMATは、2つのメモリブロックMB0,MB1と、それらの間に設けられたセンスアンプ帯(S/A帯)1とを含む。各メモリブロックMBは、複数行複数列に配置された複数のメモリセルMCと、それぞれ複数行に対応して設けられた複数のメモリゲート線MGLと、それぞれ複数行に対応して設けられた複数の制御ゲート線(読出制御線)CGLと、それぞれ複数列に対応して設けられた複数のビット線BLと、ソース線SLとを含む。
各メモリセルMCは、スプリットゲート型メモリセルであり、ソース線SLと対応のビット線BLとの間に直列接続されたメモリトランジスタ2およびアクセストランジスタ(NチャネルMOSトランジスタ)3を含む。メモリトランジスタ2のゲートは対応のメモリゲート線MGLに接続され、アクセストランジスタ3のゲートは対応の制御ゲート線CGLに接続されている。
メモリトランジスタ2はフローティングゲートを有する。フローティングゲートに蓄積される電荷量を制御することにより、メモリトランジスタ2のしきい値電圧を制御することが可能となっている。たとえば、メモリトランジスタ2のしきい値電圧を第1の電圧に設定することによってデータ「0」(「H」レベル)をメモリセルMCに記憶させ、メモリトランジスタ2のしきい値電圧を第1の電圧と異なる第2の電圧に設定することによってデータ「1」(「L」レベル)をメモリセルMCに記憶させることができる。
ここでは、第1の電圧を正電圧とし、第2の電圧を負電圧とする。読出動作時は、メモリトランジスタ2のゲートに接地電圧GND(0V)を印加し、メモリトランジスタ2に流れる電流と参照電流を比較する。メモリトランジスタ2に流れる電流が参照電流よりも小さい場合は、メモリトランジスタ2のしきい値電圧は正電圧であるので、そのメモリトランジスタ2はデータ「0」を記憶している。また、メモリトランジスタ2に流れる電流が参照電流よりも大きい場合は、メモリトランジスタ2のしきい値電圧は負電圧であるので、そのメモリトランジスタ2はデータ「1」を記憶している。
また、各メモリブロックMBは、さらに、NチャネルMOSトランジスタ4,5と、各メモリゲート線MGLに対応して設けられたNチャネルMOSトランジスタ6とを含む。NチャネルMOSトランジスタ4は、MG/SLドライバ21とソース線SLの一方端との間に接続される。NチャネルMOSトランジスタ5は、ソース線SLの他方端と接地電圧GNDのラインとの間に接続される。NチャネルMOSトランジスタ6は、対応のメモリゲート線MGLの一方端と接地電圧GNDのラインとの間に接続される。
読出動作時は、選択されたメモリセルMCに対応するNチャネルMOSトランジスタ4が非導通にされるとともに、そのメモリセルMCに対応するNチャネルMOSトランジスタ5,6が導通される。これにより、そのメモリセルMCのメモリトランジスタ2のゲートおよびソースに接地電圧GNDが印加され、そのメモリセルMCのデータを読み出すことが可能となる。
書込動作時および消去動作時は、選択されたメモリセルMCに対応するNチャネルMOSトランジスタ4が導通されるとともに、そのメモリセルMCに対応するNチャネルMOSトランジスタ5,6が非導通にされる。これにより、そのメモリセルMCのメモリトランジスタ2のゲートおよびソースの各々に所定の電圧を印加することが可能となり、データ書込およびデータ消去が可能となる。
また、各センスアンプ帯1は、複数のセンスアンプSA0〜SAm(ただし、mは自然数である)を含む。各メモリブロックMBの複数のビット線BLは、予めn本(ただし、nは2以上の整数である)ずつグループ化されており、各メモリブロックMBはm+1個(ただし、mは自然数である)のビット線グループを有する。複数のセンスアンプSA0〜SAmは、それぞれm+1個のビット線グループに対応して、2つのメモリブロックMB0,MB1に共通に設けられている。
各センスアンプSAは、読出動作時に活性化され、2つのメモリブロックMB0,MB1のうちの選択されたメモリブロックMBのうちの、対応のn本のビット線BLのうちの選択されたビット線BLに読出電圧を印加し、そのビット線BLに流れる電流と参照電流IRとを比較し、比較結果に応じたレベルのデータ信号Qを出力する。
入力バッファ10は、外部から与えられたクロック信号CLK、制御信号MSN,BSRDY、およびアドレス信号ADD0〜ADDiを制御回路11に伝達する。制御回路11は、各メモリマットMATに対応して設けられたプリデコーダ/CGドライバ12を含む。各プリデコーダ/CGドライバ12は、アドレスラッチ/デコード回路13と、各制御ゲート線CGLに対応して設けられたバッファ14と、センスアンプ制御回路15とを含む。
アドレスラッチ/デコード回路13は、入力バッファ10を介して与えられた外部信号に応答して、複数の制御ゲート線CGLのうちのいずれかの制御ゲート線CGLを選択し、バッファ14を介してその制御ゲート線CGLを選択レベルの「H」レベルにする。これにより、その制御ゲート線CGLに対応する各アクセストランジスタ3が導通し、その制御ゲート線CGLに対応する各メモリセルMCのデータ読出が可能となる。また、センスアンプ制御回路15は、アドレスラッチ/デコード回路13からの内部制御信号に応答して対応のセンスアンプSA0〜SAmを制御する。
参照電圧源16は、各センスアンプSAにおいて参照電流IRを流すための参照電圧VRを発生する。参照電圧VRは、各メモリマットMATの各センスアンプSAに与えられる。チャージポンプ回路17は、電源電圧Vddよりも高い高電圧Vppを生成する。MG/SL制御回路18は、高電圧Vppおよび接地電圧GNDによって駆動されるバッファ19,20を含む。バッファ19,20は、読出動作時は、それぞれNチャネルMOSトランジスタ5,6のゲートに高電圧Vppを与えてトランジスタ5,6を導通させ、書込動作時および消去動作時は、それぞれトランジスタ5,6のゲートに接地電圧GNDを与えてトランジスタ5,6を非導通にする。
MG/SLドライバ21は、各NチャネルMOSトランジスタ4に対応して設けられたバッファ22,23と、各メモリゲート線MGLに対応して設けられたバッファ24とを含む。MG/SLドライバ21は、読出動作時は、トランジスタ4を非導通にして、メモリゲート線MGLを駆動しない。また、MG/SLドライバ21は、書込動作時および消去動作時は、トランジスタ4を導通させ、ソース線SLおよびメモリゲート線MGLの各々に所定の電圧を印加する。出力バッファ25は、選択されたメモリマットMATから読み出されたm+1ビットのデータ信号Q0〜Qmを外部に出力する。
図2は、センスアンプ制御回路15の構成を示す回路ブロック図である。図2において、センスアンプ制御回路15は、制御信号発生回路26、遅延制御回路27、およびバッファ28,29を含む。制御信号発生回路26は、アドレスラッチ/デコード回路13からの内部制御信号に応答して、内部制御信号DCL,DCR,CNTを生成する。信号DCL,DCRは、対応のセンスアンプSA0〜SAmの各々に与えられる。遅延制御回路27は、信号CNTを遅延させてプリチャージ信号PCおよびセンスアンプ活性化信号SAEを生成する。信号PC,SAEは、対応のセンスアンプSA0〜SAmの各々に与えられる。
図3は、センスアンプSAの構成を示す回路ブロック図である。図3において、センスアンプSAは、セレクタ30,31、PチャネルMOSトランジスタ32〜37、NチャネルMOSトランジスタ38,39、インバータ40、および増幅器41を含む。PチャネルMOSトランジスタ32,33のソースはともに電源電圧Vddを受け、それらのドレインはそれぞれ出力ノードN1,N2に接続される。PチャネルMOSトランジスタ34は、出力ノードN1,N2間に接続される。トランジスタ32〜34のゲートは、ともにプリチャージ信号PCを受ける。
セレクタ30は、メモリブロックMB0のn本のビット線BLのうちのアドレス信号ADD0〜ADDiによって指定されたビット線BLを出力ノードN1に接続する。セレクタ31は、メモリブロックMB1のn本のビット線BLのうちのアドレス信号ADD0〜ADDiによって指定されたビット線BLを出力ノードN2に接続する。プリチャージ信号PCが「L」レベルにされると、トランジスタ32〜33が導通し、出力ノードN1,N2とセレクタ30,31によって選択された2本のビット線BLは電源電圧Vddに充電される。
PチャネルMOSトランジスタ36,37のソースはそれぞれ出力ノードN1,N2に接続され、それらのゲートは制御信号発生回路26からの内部制御信号DCL,DCRを受け、それらのドレインはノードN3に共通接続される。NチャネルMOSトランジスタ38は、ノードN3と接地電圧GNDのラインとの間に接続され、そのゲートは参照電圧VRを受ける。
メモリブロックMB0が選択された場合は、信号DCLが「H」レベルに維持されるとともに信号DCRが「L」レベルに立ち下げられ、トランジスタ37が導通する。これにより、ノードN1からセレクタ30を介して選択メモリセルMCの記憶データに応じたレベルの電流が流出するとともに、ノードN2からトランジスタ37,38を介して参照電流IRが流出する。ノードN1から流出する電流が参照電流IRよりも大きい場合は、ノードN1の電圧がノードN2の電圧よりも低くなる。逆に、ノードN1から流出する電流が参照電流IRよりも小さい場合は、ノードN1の電圧がノードN2の電圧よりも高くなる。
メモリブロックMB1が選択された場合は、信号DCRが「H」レベルに維持されるとともに信号DCLが「L」レベルに立ち下げられ、トランジスタ36が導通する。これにより、ノードN2からセレクタ31を介して選択メモリセルMCの記憶データに応じたレベルの電流が流出するとともに、ノードN1からトランジスタ36,38を介して参照電流IRが流出する。ノードN2から流出する電流が参照電流よりも大きい場合は、ノードN2の電圧がノードN1の電圧よりも低くなる。逆に、ノードN2から流出する電流が参照電流IRよりも小さい場合は、ノードN2の電圧がノードN1の電圧よりも高くなる。
PチャネルMOSトランジスタ35は電源電圧Vddのラインと増幅器41の正側電源ノードとの間に接続され、NチャネルMOSトランジスタ39は増幅器41の負側電源ノードと接地電圧GNDのラインとの間に接続される。センスアンプ活性化信号SAEは、トランジスタ39のゲートに直接入力されるとともに、インバータ40を介してトランジスタ35のゲートに入力される。
信号SAEが活性化レベルの「H」レベルにされると、トランジスタ35,39が導通して増幅器41が活性化される。増幅器41は、出力ノードN1,N2間の電位差を電源電圧Vddに増幅する。
図4は、このフラッシュメモリの読出動作を示すタイムチャートである。図4において、クロック信号CLKの立ち上がりエッジにおいて外部制御信号BSDRYが「H」レベルにされ、かつ外部制御信号MSNが「L」レベルにされると、読出要求があったと判断して外部アドレス信号ADD0〜ADDiが取り込まれるとともに、読出動作が開始される(時刻t0)。
外部アドレス信号ADD0〜ADDiによって指定された制御ゲート線CGLが「H」レベルに立ち上げられるとともに、その制御ゲート線CGLに対応する各センスアンプSAの制御が開始される。まず、プリチャージ信号PCが所定時間だけ「L」レベルにされてノードN1,N2および選択された2本のビット線BLが電源電圧Vddに充電される。
次に、トランジスタ36,37のうちの、選択されたメモリブロック(たとえば、MB0)と異なるメモリブロック(この場合はMB1)に対応するトランジスタ37が導通され、選択されたメモリセルMCの記憶データの論理に応じた極性の電位差がノードN1,N2間に発生する。次いで、センスアンプ活性化信号SAEが所定時間だけ「H」レベルにされ、増幅器41によって出力ノードN1,N2間の電位差が電源電圧Vddに増幅される。たとえば、出力ノードN1の電圧が読出データ信号Qとして出力バッファ25に与えられる。出力バッファ25は、選択されたメモリマットMATからの(m+1)ビットのデータ信号Q0〜Qmを外部に出力する。
なお、データ信号Q0〜Qmは、データ読出を開始したクロック信号CLKの立ち上がりエッジの次の立ち上がりエッジで確定する必要があるので、データ読出の開始からデータ出力が開始されるまでのアクセス時間Tacはクロック信号CLKの1周期以下である必要がある。
また、このようなフラッシュメモリでは、図1に示すように、隣接するコントロールゲート線とメモリゲート線MGLとの間にカップリング容量7が存在する。このため図4に示すように、制御ゲート線CGLが「H」レベルに立ち上げられると、カップリング容量7を介してメモリゲート線MGLにノイズ(電位上昇)が発生する可能性がある。メモリゲート線MGLにノイズが発生すると、等価的にメモリトランジスタ2のしきい値電圧が変化し、メモリトランジスタ2に流れる電流が変化してデータ読出に誤りが発生する可能性がある。これを回避するため、読出動作時はトランジスタ6のゲートに高電圧Vpp(たとえば、5V)を印加し、トランジスタ6を低抵抗値にしてメモリゲート線MGLを接地電圧GNDのラインに接続している。
また、ビット線BLにプリチャージされた電荷がメモリセルMCを介してソース線SLに放電されると、図1に示すように、ソース線SLにノイズ(電位上昇)が発生する。ソース線SLのノイズが大きい場合は、センス動作のマージンの悪化につながる。これを回避するため、読出動作時はトランジスタ5のゲートに高電圧Vppを印加し、トランジスタ5を低抵抗値にしてソース線SLを接地電圧GNDのラインに接続している。
さて、このようなフラッシュメモリを備えたマイクロコンピュータでは、CPUがフラッシュメモリに格納されたプログラムコードを読み出す際の消費電力の低減化が求められている。このため、消費電力を大幅に抑えたい特定アプリケーションに対しては通常の読出モードとは異なる低速読出モードが設けられている。低速読出モードでは、通常の読出モード時と異なる非常に低いクロック周波数で読出動作が行なわれる。
しかし、チャージポンプ回路17および参照電圧源16では、直流電流が定常的に流れる。特に、低速読出モード時では、交流電流成分が減少するので、全電流に占める直流電流の割合が相対的に増加する。したがって、このようなフラッシュメモリでは、読出マージンを悪化させることなく、チャージポンプ回路17および参照電圧源16の消費電流を低減させることが必要である。
[実施の形態1]
図5は、この発明の実施の形態1によるフラッシュメモリの構成を示す回路ブロック図であって、図1と対比される図である。図5において、このフラッシュメモリが図1のフラッシュメモリと異なる点は、MG/SL制御回路18にスイッチ45が追加され、リード制御回路46が追加され、センスアンプ制御回路15がセンスアンプ制御回路47で置換されている点である。
スイッチ45は、通常の読出モード時はバッファ20に高電圧Vppを与え、低速読出モード時はバッファ20に外部電源電圧VCCを与える。なお、電源電圧Vddは、外部電源電圧VCCを降圧した電圧でもよいし、外部から供給され、かつ外部電源電圧VCCよりも低い電圧でもよい。
リード制御回路46には、外部制御信号LPRDMが入力される。通常の読出モードでは外部制御信号LPRDMは「L」レベルにされ、低速読出モードでは外部制御信号LPRDMは「H」レベルにされる。リード制御回路46は、外部制御信号LPRDMが「L」レベルの場合は、図4で示したように、クロック信号CLKの立ち上がりエッジに応答してプリチャージ信号PCおよびセンスアンプ活性化信号SAEを順次活性化レベルにする。また、リード制御回路46は、外部制御信号LPRDMが「H」レベルの場合は、クロック信号CLKの立ち上がりエッジの次の立下りエッジに応答してプリチャージ信号PCおよびセンスアンプ活性化信号SAEを順次活性化レベルにする。
図6は、リード制御回路46の構成を示す回路ブロック図である。図6において、リード制御回路46は、ゲート回路50,60、ラッチ回路51、インバータ52,56,57,61、ORゲート53、ANDゲート54,58,59、およびフリップフロップ55を含む。
ゲート回路50は、外部制御信号BSRDYが「H」レベルにされ、かつ外部制御信号MSNが「L」レベルにされた場合、「H」レベルの信号を出力する。ゲート回路50の出力信号は、ラッチ回路51のデータ入力端子(D)に入力される。クロック信号CLKは、ラッチ回路51のゲート端子(/G)およびリセット端子(/R)に入力される。ラッチ回路51は、クロック信号CLKが「L」レベルの場合はリセットされ、その出力信号は「L」レベルになる。また、ラッチ回路51は、クロック信号CLKが「H」レベルの場合は、クロック信号CLKが「L」レベルから「H」レベルに立ち上がる時点の入力信号を保持および出力する。ラッチ回路51の出力信号は、インバータ52で反転されて信号CADとなる。
したがって、信号CADは、クロック信号CLKの立ち上がりエッジにおいて外部制御信号BSRDYが「H」レベルであり、かつ外部制御信号MSNが「L」レベルである場合、「H」レベルから「L」レベルに立ち下げられる。また、信号CADは、クロック信号CLKの立下りエッジに応答して「H」レベルに立ち上げられる。信号CADは、フリップフロップ55のセット端子(/S)に入力されるとともに、ANDゲート58の一方入力端子に入力される。
ORゲート53は、4個のセンスアンプ制御回路47からの信号SAEF0〜SAEF3の論理和信号SAEFをフリップフロップ55のクロック端子に与える。ANDゲート54は、外部制御信号LPRDMとリセット信号RSTの論理積信号をフリップフロップ55のリセット端子(/R)に与えるとともに、ANDゲート59の一方入力端子に与える。リセット信号RSTは、外部からリセットされたとき、または書込動作時および消去動作時に「L」レベルになる信号である。フリップフロップ55の入力端子(D)には、接地電圧GND(「L」レベル)が印加される。
フリップフロップ55は、信号CADが「L」レベルに立ち下げられるとセットされ、その出力信号は「H」レベルになる。また、フリップフロップ55は、信号SAEFが「L」レベルに立ち下げられると入力信号を出力し、その出力信号は「L」レベルになる。また、フリップフロップ55は、信号LPRDM,RSTのうちの少なくとも一方が「L」レベルになるとリセットされ、その出力信号は「L」レベルになる。
フリップフロップ55の出力信号は、インバータ56,57を介してANDゲート58の他方入力端子に入力される。ANDゲート58の出力信号は、ANDゲート59の他方入力端子に入力される。ゲート回路60およびインバータ61は、信号LPRDMの反転信号とANDゲート59の出力信号の論理和信号を信号RDMとして出力する。
したがって、信号RDMは、信号CADの立ち上がりエッジに応答して「H」レベルに立ち上げられ、信号SAEFの立下りエッジに応答して「L」レベルに立ち下げられる。信号RDMが「L」レベルの場合は読出動作が禁止され、信号RDMが「H」レベルの場合は読出動作が許可される。信号RDMは、各センスアンプ制御回路47に入力される。
図7は、メモリマットMATx(ただし、xは0,1,2,または3である)に対応するセンスアンプ制御回路47の構成を示す回路ブロック図であって、図2と対比される図である。図7において、センスアンプ制御回路47がセンスアンプ制御回路15と異なる点は、セレクタ48が追加されている点である。セレクタ48は、制御信号発生回路26で生成された信号CNTと、リード制御回路46で生成された信号RDMとを受け、外部制御信号LPRDMが「L」レベルの場合は信号CNTを遅延制御回路27に与え、外部制御信号LPRDMが「H」レベルの場合は信号RDMを遅延制御回路27に与える。
したがって、通常の読出動作モードでは、信号CNTに応答してプリチャージ信号PCおよびセンスアンプ活性化信号SAEが生成され、低速読出動作モードでは、信号RDMに応答してプリチャージ信号PCおよびセンスアンプ活性化信号SAEが生成される。バッファ29に入力される信号は、信号SAEFx(ただし、xは0,1,2,または3である)としてリード制御回路46にフィードバックされる。
図8は、このフラッシュメモリの低速読出モード時の動作を示すタイムチャートである。図8において、クロック信号CLKの立ち上がりエッジにおいて外部制御信号BSDRYが「H」レベルにされ、かつ外部制御信号MSNが「L」レベルにされると、読出要求があったと判断して外部アドレス信号ADD0〜ADDiが取り込まれるとともに、読出動作が開始される(時刻t0)。
外部アドレス信号ADD0〜ADDiによって指定された制御ゲート線CGLが「H」レベルに立ち上げられるとともに、信号CADが「L」レベルに立ち下げられる。クロック信号CLKが「H」レベルから「L」レベルに立ち下げられると、信号CADが「H」レベルに立ち上げられて信号RDMが「H」レベルに立ち上げられる。これにより、その制御ゲート線CGLに対応する各センスアンプSAの制御が開始される。まず、プリチャージ信号PCが所定時間だけ「L」レベルにされてノードN1,N2および選択された2本のビット線BLが電源電圧Vddに充電される。
次に、選択されたメモリセルMCの記憶データの論理に応じた極性の電位差がノードN1,N2間に発生する。次いで、センスアンプ活性化信号SAEが所定時間だけ「H」レベルにされ、増幅器41によって出力ノードN1,N2間の電位差が電源電圧Vddに増幅される。たとえば、出力ノードN1の電圧が読出データ信号Qとして出力バッファ25に与えられる。出力バッファ25は、選択されたメモリマットMATからの(m+1)ビットのデータ信号Q0〜Qmを外部に出力する。また、信号SAEFの立下りエッジに応答して信号RDMが「L」レベルに立ち下げられる。
また、通常の読出モードでは、外部制御信号LPRDMは「L」レベルにされる。この場合は、スイッチ45は高電圧Vppをバッファ20に与え、バッファ20は高電圧Vppをトランジスタ6のゲートに与え、トランジスタ6の抵抗値は低レベルに設定される。また、図6のゲート回路60の出力信号が「L」レベルに固定され、信号RDMが「H」レベルに固定される。また、図7のセンスアンプ制御回路47では、信号CNTがセレクタ48を介して遅延制御回路27に与えられる。したがって、通常の読出モードでは、実施の形態1のフラッシュメモリは図1のフラッシュメモリと同じ構成になる。
なお、このフラッシュメモリでも、図5に示すように、隣接する制御ゲート線CGLとメモリゲート線MGLとの間にカップリング容量7が存在する。このため図8に示すように、制御ゲート線CGLが「H」レベルに立ち上げられると、カップリング容量7を介してメモリゲート線MGLにノイズ(電位上昇)が発生する。また、低速読出モードでは、トランジスタ6のゲート電圧は外部電源電圧VCCであり、トランジスタ6の抵抗値は図1のフラッシュメモリの場合よりも高いので、メモリゲート線MGLに発生するノイズも大きくなる。
しかし、この実施の形態1では、クロック信号CLKの立下りエッジに応答してプリチャージを開始するので、制御ゲート線CGLを「H」レベルに立ち上げてからプリチャージを行なうまでにほぼ半サイクルの余裕がある。低速読出モードでは、クロック信号CLKの周波数は十分に低く、周波数がたとえば1MHzであれば半サイクル=500nsのノイズ解消時間がある。通常の読出動作時の周波数にも依るが、一般的にこれだけの時間があればメモリゲート線MGLの電位上昇は十分解消される。この結果、メモリセルMCの本来の記憶状態を反映した電流をメモリセルMCに流すことができ、正確なデータ読出を行なうことができる。また、低速読出モードでは、高電圧Vppの発生が不要になるので、チャージポンプ回路17の消費電流を削減することができる。
なお、メモリゲート線MGLの電位上昇を解消するため、低速読出モード時にプリチャージ動作を通常の読出モード時よりも十分に遅延させる遅延回路を設けることも考えられる。しかし、遅延回路は回路規模が大きいので、遅延回路を各センスアンプ帯1に配置すると、チップ面積が増大する。これに対して本願発明では、そのような遅延回路を設ける必要がないので、チップ面積が小さくて済む。
[実施の形態2]
図9は、この発明の実施の形態2によるフラッシュメモリの構成を示す回路ブロック図であって、図1と対比される図である。図9において、このフラッシュメモリが図1のフラッシュメモリと異なる点は、MG/SL制御回路18にスイッチ62が追加され、リード制御回路63が追加され、センスアンプ制御回路15がセンスアンプ制御回路64で置換されている点である。
スイッチ62は、通常の読出モード時はバッファ19に高電圧Vppを与え、低速読出モード時はバッファ19に外部電源電圧VCCを与える。なお、電源電圧Vddは、外部電源電圧VCCを降圧した電圧でもよいし、外部から供給され、かつ外部電源電圧VCCよりも低い電圧でもよい。
図10は、リード制御回路63の構成を示す回路ブロック図であって、図6と対比される図である。図10において、リード制御回路63は、リード制御回路46にインバータ70,75,78,79、遅延回路71、ゲート回路72,74,77、ANDゲート73、およびカウンタ76を追加し、ANDゲート58を除去したものである。
インバータ70、遅延回路71、およびゲート回路72は、パルス発生回路を構成し、信号CADの立下りエッジに応答して遅延回路71の遅延時間だけ「L」レベルになる信号CADPを出力する。信号CADPは、フリップフロップ55のセット端子(/S)に入力される。フリップフロップ55の出力信号は、インバータ56,57で遅延されて信号RDPとなる。信号RPDは、ANDゲート59の他方入力端子に入力されるとともに、カウンタ76のリセット端子(/R)に入力される。
ゲート回路74およびインバータ75は、ANDゲート59の出力信号と信号SAEFの反転信号との論理積信号RDMFを生成する。信号RDMFは、ゲート回路60に入力されるとともに、カウンタ76のクロック端子に入力される。
カウンタ76は、信号RDMFの立ち上りエッジの回数をカウントし、カウント値を示す2ビットの信号Q0,Q1を出力する。信号RDPが「L」レベルに立ち下げられると、カウンタ76の出力信号Q0,Q1は0,0にリセットされる。ゲート回路77は、信号Q0の反転信号と信号Q1との論理積信号CTFを出力する。信号CTFは、信号Q0,Q1が0,1の場合だけ「H」レベルになり、その他の場合は「L」レベルになる。
ANDゲート73は、信号SAEFと信号CTFの論理積信号をフリップフロップ55のクロック端子に与える。フリップフロップ55は、ANDゲート73の出力信号が「H」レベルに立ち上げられた場合に、入力信号(「L」レベル)を出力する。信号CTFは、インバータ78,79で遅延されて信号CTとなる。信号CT,RDMは、各センスアンプ制御回路64に入力される。
図11は、センスアンプ制御回路64の構成を示す回路ブロック図であって、図7と対比される図である。図11において、センスアンプ制御回路64がセンスアンプ制御回路47と異なる点は、バッファ28がANDゲート65,66で置換され、バッファ29がANDゲート67,68で置換され、ゲート回路69AおよびANDゲート69Bが追加されている点である。
信号LPRDMが「L」レベルの場合は、信号CTの論理レベルに関係無く、ゲート回路69AおよびANDゲート69Bの出力信号がともに「H」レベルになり、ANDゲート65〜68はそれぞれプリチャージ信号PC1,PC0およびセンスアンプ活性化信号SAE1,SAE0を出力する。信号LPRDMが「H」レベルの場合は、ゲート回路69Aは信号CTをANDゲート65,67の一方入力ノードに与え、ANDゲート69Bは信号CTの反転信号をANDゲート66,68の一方入力ノードに与える。
信号LPRDMが「H」レベルであり、かつ信号CTが「L」レベルの場合は、ANDゲート66,68はそれぞれプリチャージ信号PC0およびセンスアンプ活性化信号SAE0を出力する。また、信号LPRDMが「H」レベルであり、かつ信号CTが「H」レベルの場合は、ANDゲート65,67はそれぞれプリチャージ信号PC1およびセンスアンプ活性化信号SAE1を出力する。信号PC0,SAE0は、偶数番のセンスアンプSA0,SA2,…,SA(m−1)に与えられる。信号PC1,SAE1は、奇数番のセンスアンプSA1,SA3,…,SAmに与えられる。
図12は、このフラッシュメモリの低速読出モード時の動作を示すタイムチャートである。図12において、クロック信号CLKの立ち上がりエッジにおいて外部制御信号BSDRYが「H」レベルにされ、かつ外部制御信号MSNが「L」レベルにされると、読出要求があったと判断して外部アドレス信号ADD0〜ADDiが取り込まれるとともに、読出動作が開始される(時刻t0)。
外部アドレス信号ADD0〜ADDiによって指定された制御ゲート線CGLが「H」レベルに立ち上げられるとともに、信号CADPが「L」レベルに立ち下げられる。信号CADPが「L」レベルに立ち下げられると、フリップフロップ55がセットされて信号RDPが「H」レベルに立ち上げられる。信号RDPが「H」レベルに立ち上げられると、信号RDMが「H」レベルに立ち上げられるとともに、カウンタ76のカウント値がインクリメント(+1)され、信号Q0,Q1は1,0となる。この場合、信号CTは、「L」レベルに維持される。
信号RDMが「H」レベルに立ち上げられると、プリチャージ信号PC0が所定時間だけ「L」レベルに立ち下げられ、次いで信号SAEFおよびセンスアンプ活性化信号SAE0が所定時間だけ「H」レベルに立ち上げられ、偶数番のセンスアンプSA0,SA2,…,SA(m−1)でデータ読出が行なわれる。
また、信号SAEFが所定時間だけ「H」レベルに立ち上げられると、ゲート回路74の出力信号が所定時間だけ「L」レベルになり、信号RDMF,RDMが所定時間だけ「L」レベルに立ち下げられる。信号RDMFが「H」レベルに立ち上げられると、カウンタ76のカウント値がインクリメント(+1)され、信号Q0,Q1は0,1となり、信号CTは「H」レベルになる。
信号RDMが「H」レベルに立ち上げられると、プリチャージ信号PC1が所定時間だけ「L」レベルに立ち下げられ、次いで信号SAEFおよびセンスアンプ活性化信号SAE1が所定時間だけ「H」レベルに立ち上げられ、奇数番のセンスアンプSA1,SA3,…,SAmでデータ読出が行なわれる。これにより、全センスアンプSA1〜SAmからデータ信号Q0〜Qmが出力される。
また、信号SAEFが「H」レベルに立ち上げられると、信号RDMが「L」レベルに立ち下げられ、フリップフロップ55の入力信号(「L」レベル)が出力されて信号RDPが「L」レベルになり、カウンタ76がリセットされる。
この実施の形態2では、低速読出モードでは、トランジスタ5のゲートに高電圧Vppの代わりに外部電源電圧VCCを印加し、まず偶数番のセンスアンプSA0,SA2,…,SA(m−1)で読出動作を行ない、次に奇数番のセンスアンプSA1,SA3,…,SAmで読出動作を行なう。2回の読出動作の各々でソース線SLの電位上昇が発生するが、ソース線SLに放電される電荷量は1回で読出動作を行なう場合の1/2になる。したがって、トランジスタ5のゲートに外部電源電圧VCCを与えてトランジスタ5の抵抗値が高くなっても、ソース線SLの電位上昇は1回で読出動作を行なう場合と同程度以下になる。また、低速読出モードでは、高電圧Vppを発生しないので、チャージポンプ回路17の消費電流を低減できる。
なお、分割読出動作により外面上、クロック信号CLKの立ち上がりエッジから見たアクセス時間は遅くなるが、元々、低速読出モードでは動作周波数は低くてよいので、アクセス時間が遅くなることは問題にはならない。また、必要最小限の箇所(ビット線BLからセンスアンプSA)のみ複数回動かすだけなので、リード電流の交流成分増加も最小限に留まる。
また、この実施の形態2では、2回に分けて読出動作を行なったが、3回以上に分けて読出動作を行なってもよい。
[実施の形態3]
図13は、この発明の実施の形態3によるフラッシュメモリの構成を示す回路ブロック図であって、図1と対比される図である。図13において、このフラッシュメモリが図1のフラッシュメモリと異なる点は、参照電圧源16が信号IREによって制御され、リード制御回路80が追加され、センスアンプ制御回路15がセンスアンプ制御回路81で置換され、各メモリマットMATにスイッチ(SW)82が追加されている点である。参照電圧源16は、信号IREが「H」レベルの場合に活性化されて参照電圧VRを生成し、信号IREが「L」レベルの場合は非活性化される。
また、4つのメモリマットMAT0〜MAT3に共通の主電圧線MVLが設けられ、4つのメモリマットMAT0〜MAT3に対応して副電圧線VL0〜VL3が設けられている。主電圧線MVLの一方端は、参照電圧源16の出力電圧VRを受ける。各副電圧線VLは、対応のセンスアンプ帯1のセンスアンプSA0〜SAmを横切るように設けられている。各スイッチ82は、対応の副電圧線VLの一方端と主電圧線MVLとの間に接続される。各スイッチ82は、対応のセンスアンプ制御回路81の出力信号によって制御され、対応のメモリマットMATが選択された場合に導通状態にされる。
図14は、リード制御回路80の構成を示す回路ブロック図であって、図6と対比される図である。図14において、リード制御回路80は、リード制御回路46にインバータ70,97,98,101〜103、遅延回路71,90、ANDゲート99、ゲート回路100を追加し、ANDゲート58,59を除去したものである。
インバータ70、遅延回路71、およびゲート回路72は、パルス発生回路を構成し、信号CADの立下りエッジに応答して遅延回路71の遅延時間だけ「L」レベルになる信号CADPを出力する。信号CADPは、フリップフロップ55のセット端子(/S)に入力される。フリップフロップ55の出力信号は、インバータ56,57で遅延されて信号RDPFとなる。信号RPDFは、遅延回路90とANDゲート99の第1入力端子とに入力されるとともに、インバータ102,103で遅延されて信号RDPとなる。
遅延回路90は、リングオシレータ91、カウンタ92、デコーダ93、およびフリップフロップ94を含む。リングオシレータ91は、信号RDPFが「H」レベルの場合に活性化され、所定周波数のクロック信号を出力する。カウンタ92は、リングオシレータ91の出力クロック信号のパルス数をカウントし、そのカウント値を示す複数ビットの信号を出力する。また、カウンタ92は、信号RDPFの立下りエッジに応答してリセットされる。デコーダ93は、カウンタ92の出力信号を受け、カウンタ92のカウント値が予め定められた値である場合に信号DEを「L」レベルにする。
フリップフロップ94は、2つのNANDゲート95,96を含み、デコーダ93の出力信号DEの立下りエッジによってセットされて信号DLYを「H」レベルにし、信号RDPFの立下りエッジによってリセットされて信号DLYを「L」レベルにする。信号DLYは、インバータ97,98で遅延されてANDゲート99の第2入力端子に入力される。
また、ANDゲート54の出力信号は、ANDゲート99の第3入力端子に入力される。ANDゲート99の出力信号は、ANDゲート59の出力信号の代わりにゲート回路60に入力される。ゲート回路100およびインバータ101は、信号LPRDMの反転信号と信号RDPFとの論理和信号IREを出力する。信号IREは、参照電圧源16に入力される。通常の読出動作モードでは、外部制御信号LPRDMは「L」レベルにされるので、信号IREは「H」レベルに固定されて参照電圧源16が活性化される。信号RDP,RDMは、各センスアンプ制御回路82に入力される。
図15は、センスアンプ制御回路81の構成を示す回路ブロック図であって、図7と対比される図である。図15において、センスアンプ制御回路81がセンスアンプ制御回路47と異なる点は、制御信号発生回路26からマット選択信号MSx(ただし、xは0,1,2,または3である)が出力され、ANDゲート83およびゲート回路84が追加されている点である。
マット選択信号MSxは、アドレス信号ADD0〜ADDiによってマットMATxが選択された場合に「H」レベルになり、それ以外の場合は「L」レベルになる信号である。ANDゲート83は、信号MSx,RDPの論理積信号を出力する。ゲート回路84は、信号LPRDMの反転信号とANDゲート83の出力信号との論理和信号を出力する。
スイッチ82は、主電圧線MVLと対応の副電圧線VLx(ただし、xは0,1,2,または3である)との間に並列接続されたPチャネルMOSトランジスタ85およびNチャネルMOSトランジスタ86と、インバータ87とを含む。ゲート回路84の出力信号は、トランジスタ86のゲートに直接入力されるとともに、インバータ87を介してトランジスタ85のゲートに入力される。信号LPRDM,RDP,MSxがともに「H」レベルの場合は、トランジスタ85,86が導通し、参照電圧VRが各センスアンプSAに与えられる。また、信号LPRDMが「L」レベルの場合は、信号RDP,MSxに関係なく、トランジスタ85,86が導通し、参照電圧VRが各センスアンプSAに与えられる。
図16は、このフラッシュメモリの低速読出モード時の動作を示すタイムチャートである。図16において、クロック信号CLKの立ち上がりエッジにおいて外部制御信号BSDRYが「H」レベルにされ、かつ外部制御信号MSNが「L」レベルにされると、読出要求があったと判断して外部アドレス信号ADD0〜ADDiが取り込まれるとともに、読出動作が開始される(時刻t0)。
外部アドレス信号ADD0〜ADDiによって指定された制御ゲート線CGLが「H」レベルに立ち上げられるとともに、信号CADPが「L」レベルに立ち下げられる。信号CADPが「L」レベルに立ち下げられると、フリップフロップ55がセットされて信号RDPF,RDP,IREが「H」レベルに立ち上げられる。信号IREが「H」レベルに立ち上げられると、参照電圧源16が活性化される。また、信号RDPが「H」レベルに立ち上げられると、選択されたメモリマットMATのスイッチ82が導通し、そのスイッチ82に対応する副電圧線VLの電圧が上昇し始める。
また、信号RDPFが「H」レベルに立ち上げられると、リングオシレータ91が活性化され、所定時間Td後にデコーダ93の出力信号DEが1クロック周期だけ「L」レベルに立ち下げられる。時間Tdは、副電圧線VLの電圧が飽和し、安定するために必要な時間に予め設定されている。信号DEが「L」レベルに立ち下げられると、フリップフロップ94がセットされ、信号DLY,RDMが「H」レベルに立ち上げられる。
信号RDMが「H」レベルに立ち上げられると、プリチャージ信号PCが所定時間だけ「L」レベルに立ち下げられ、次いで信号SAEFおよびセンスアンプ活性化信号SAEが所定時間だけ「H」レベルに立ち上げられ、センスアンプSA0〜SAmでデータ読出が行なわてデータ信号Q0〜Qmが出力される。また、信号SAEFが「L」レベルに立ち下げられると、信号RDPF,RDP,IRE,RDM,DLYが「L」レベルにリセットされる。
この実施の形態3では、低速読出モードでは、参照電流IRが必要な期間のみ参照電圧源16を活性化させるので、消費電流の低減化を図ることができる。ただし、参照電圧VRの立ち上がりが遅いと、直流電流成分が増加するので、選択されたメモリマットMATのみに参照電圧VRを供給することにより、参照電圧源16の負荷を削減し(本実施の形態3では、1/4に削減)、参照電圧VRの立ち上がりを迅速化している。また、参照電圧VRの立ち上がりの途中で読出動作を行なうと、正確な読出動作を行なえないので、クロック信号CLKの立ち上がりから所定時間経過後にセンスアンプSAを活性化させている。
[実施の形態4]
図17は、この発明の実施の形態4によるフラッシュメモリの構成を示す回路ブロック図であって、図13と対比される図である。図17において、このフラッシュメモリが図13のフラッシュメモリと異なる点は、各副電圧線VLに対応してスイッチ(SW)105が追加され、比較回路106が追加され、リード制御回路80がリード制御回路107で置換されている点である。各スイッチ105は、対応の副電圧線VLの他方端と比較回路106の入力ノード106aとの間に接続され、対応のスイッチ82と一緒に導通または非導通にされる。
比較回路106は、図18に示すように、電源電圧Vddのラインと接地電圧GNDのラインとの間に直列接続された定電流源110およびNチャネルMOSトランジスタ111,112と、インバータ113とを含む。定電流源110は、一定の比較電流ICを流す。トランジスタ111のゲート(比較回路106の入力ノード106a)は、スイッチ105を介して副電圧線VLに接続される。トランジスタ112のゲートは、リード制御回路107の出力信号RDPを受ける。インバータ113は、定電流源110とトランジスタ111の間のノードN3の電圧がしきい値電圧よりも低い場合は信号ICMPを「H」レベルにし、ノードN3の電圧がしきい値電圧よりも高い場合は信号ICMPを「L」レベルにする。
信号RDPが「H」レベルの期間において、選択された副電圧線VLの電圧VRFが所定の電圧よりも低い場合は、トランジスタ111,112に流れる参照電流IRが比較電流ICよりも小さくなり、ノードN3が「H」レベルになって信号ICMPは「L」レベルになる。選択された副電圧線VLの電圧VRFが所定の電圧に到達すると、トランジスタ111,112に流れる参照電流IRが比較電流ICよりも大きくなり、ノードN3が「L」レベルになって信号ICMPは「H」レベルになる。したがって、信号ICMPが「H」レベルになると、センスアンプSAの活性化が可能となる。
図19は、リード制御回路107の構成を示す回路ブロック図であって、図14と対比される図である。図19において、リード制御回路107がリード制御回路80と異なる点は、インバータ97,98がANDゲート114と置換されている点である。ANDゲート114は、遅延回路90の出力信号DLYと比較回路106の出力信号ICMPとの論理積信号を生成する。ANDゲート114の出力信号は、インバータ98の出力信号の代わりにANDゲート99に入力される。
図20は、このフラッシュメモリの低速読出モード時の動作を示すタイムチャートである。図20において、クロック信号CLKの立ち上がりエッジにおいて外部制御信号BSDRYが「H」レベルにされ、かつ外部制御信号MSNが「L」レベルにされると、読出要求があったと判断して外部アドレス信号ADD0〜ADDiが取り込まれるとともに、読出動作が開始される(時刻t0)。
外部アドレス信号ADD0〜ADDiによって指定された制御ゲート線CGLが「H」レベルに立ち上げられるとともに、信号CADPが「L」レベルに立ち下げられる。信号CADPが「L」レベルに立ち下げられると、フリップフロップ55がセットされて信号RDPF,RDP,IREが「H」レベルに立ち上げられる。信号IREが「H」レベルに立ち上げられると、参照電圧源16が活性化される。また、信号RDPが「H」レベルに立ち上げられると、選択されたメモリマットMATのスイッチ82,105が導通し、そのスイッチ82,105に対応する副電圧線VLの電圧VRFが上昇し始める。また、信号RDPが「H」レベルに立ち上げられると、比較回路106が活性化され、電圧VRFがまだ低いので、信号ICMPが「L」レベルに立ち下げられる。
また、信号RDPFが「H」レベルに立ち上げられると、リングオシレータ91が活性化され、所定時間Td1後にデコーダ93の出力信号DEが1クロック周期だけ「L」レベルに立ち下げられる。時間Td1は、副電圧線VLの電圧VRFが飽和し、安定するために必要な標準の時間に予め設定されている。信号DEが「L」レベルに立ち下げられると、フリップフロップ94がセットされ、信号DLYが「H」レベルに立ち上げられる。このとき、電圧VRFが既に所定の電圧に上昇していれば、直ぐに信号RDMが「H」レベルに立ち上げられるが、図20では、電圧VRFが未だ所定の電圧に到達していないので、電圧VRFが所定の電圧になるまで待機する。
電圧VRFが所定の電圧に到達すると、図18のノードN3が「L」レベルになり、信号ICMPが「H」レベルに立ち上げられ、信号RDMが「H」レベルに立ち上げられる。信号RDMが「H」レベルに立ち上げられると、プリチャージ信号PCが所定時間だけ「L」レベルに立ち下げられ、次いで信号SAEFおよびセンスアンプ活性化信号SAEが所定時間だけ「H」レベルに立ち上げられ、センスアンプSA0〜SAmでデータ読出が行なわてデータ信号Q0〜Qmが出力される。また、信号SAEFが「L」レベルに立ち下げられると、信号RDPF,RDP,IRE,RDM,DLYが「L」レベルにリセットされる。
この実施の形態4では、低速読出モードでは、参照電流IRが必要な期間のみ参照電圧源16を活性化させるので、消費電流の低減化を図ることができる。ただし、参照電圧VRの立ち上がりが遅いと、直流電流成分が増加するので、選択されたメモリマットMATのみに参照電圧VRを供給することにより、参照電圧源16の負荷を削減し(本実施の形態3では、1/4に削減)、参照電圧VRの立ち上がりを迅速化している。
また、参照電圧VRの立ち上がりの途中で読出動作を行なうと、正確な読出動作を行なえないので、参照電圧VRが所定の電圧に到達してからセンスアンプSAを活性化させている。すなわち、通常は遅延回路90の遅延時間Td1の範囲内で参照電圧VRが十分立ち上がるが、製造プロセス、電源電圧、温度が想定範囲外に変動した場合、参照電圧VRが遅延時間Td1内に立ち上がらない可能性がある。本実施の形態4では、そのような場合でも、正確な読出動作を行なうことができる。
なお、この実施の形態4では、1種類の参照電圧源16を使用する場合について説明したが、複数種類の参照電圧源が使用されている場合は、複数種類の参照電圧の各々が所定の電圧に到達してからセンスアンプSAを活性化させるとよい。
図21は、実施の形態4の変更例を示す回路ブロック図であって、図19と対比される図である。図21において、このフラッシュメモリでは、リード制御回路107がリード制御回路115で置換される。リード制御回路115は、リード制御回路107の遅延回路90およびANDゲート114をフリップフロップ116で置換したものである。
フリップフロップ116の入力端子(D)には、電源電圧Vdd(「H」レベル)が印加される。フリップフロップ116の出力信号は、ANDゲート114の出力信号の代わりにANDゲート99に入力される。信号ICMPはフリップフロップ116のクロック端子に入力され、信号RDPFはフリップフロップ116のリセット端子(/R)に入力される。信号ICMPが「L」レベルから「H」レベルに立ち上げられると、フリップフロップ116の出力信号は「H」レベルになる。したがって、この変更例では、遅延回路90の遅延時間Td1に関係無く、常に、参照電圧VRが所定の電圧になった後にセンスアンプSAが活性化される。
[実施の形態5]
図22は、この発明の実施の形態5によるフラッシュメモリの構成を示す回路ブロック図であって、図17と対比される図である。図22において、このフラッシュメモリが図17のフラッシュメモリと異なる点は、チャージポンプ回路17が信号IREによって制御され、ANDゲート120が追加され、リード制御回路107がリード制御回路121で置換されている点である。
チャージポンプ回路17は、参照電圧源16と同様に、信号IREが「H」レベルの場合に活性化され、信号IREが「L」レベルの場合に非活性化される。また、チャージポンプ回路17は、高電圧Vppが目標電圧よりも低い場合は信号PCMPを「L」レベルにし、高電圧Vppが目標電圧に到達した場合は信号PCMPを「H」レベルにする。ANDゲート120は、チャージポンプ回路17の出力信号PCMPと比較回路107の出力信号ICMPとの論理積信号CMPAをリード制御回路121に与える。
図23は、リード制御回路121の構成を示す回路ブロック図であって、図19と対比される図である。図23において、リード制御回路121がリード制御回路107と異なる点は、信号ICMPの代わりに信号CMPAがANDゲート114に入力される点である。したがって、信号RDMは、高電圧Vppが目標電圧に到達し、かつ参照電圧VRが所定の電圧に到達した後に、「H」レベルに立ち上げられる。
図24は、このフラッシュメモリの低速読出モード時の動作を示すタイムチャートである。図24において、クロック信号CLKの立ち上がりエッジにおいて外部制御信号BSDRYが「H」レベルにされ、かつ外部制御信号MSNが「L」レベルにされると、読出要求があったと判断して外部アドレス信号ADD0〜ADDiが取り込まれるとともに、読出動作が開始される(時刻t0)。
外部アドレス信号ADD0〜ADDiによって指定された制御ゲート線CGLが「H」レベルに立ち上げられるとともに、信号CADPが「L」レベルに立ち下げられる。信号CADPが「L」レベルに立ち下げられると、フリップフロップ55がセットされて信号RDPF,RDP,IREが「H」レベルに立ち上げられる。信号IREが「H」レベルに立ち上げられると、参照電圧源16およびチャージポンプ回路17が活性化される。
また、信号RDPが「H」レベルに立ち上げられると、選択されたメモリマットMATのスイッチ82,105が導通し、そのスイッチ82,105に対応する副電圧線VLの電圧VRFが上昇し始める。また、信号RDPが「H」レベルに立ち上げられると、比較回路106が活性化され、電圧VRFが未だ低いので、信号ICMPが「L」レベルに立ち下げられる。また、チャージポンプ回路17が活性化されると高電圧Vppが上昇し始めるが、高電圧Vppのレベルが未だ低いので、信号PCMPが「L」レベルに立ち下げられる。また、信号ICMP,PCMPの論理積信号CMPAも「L」レベルに立ち下げられる。
また、信号RDPFが「H」レベルに立ち上げられると、リングオシレータ91が活性化され、所定時間Td1後にデコーダ93の出力信号DEが1クロック周期だけ「L」レベルに立ち下げられる。時間Td1は、副電圧線VLの電圧VRFが飽和し、安定するために必要な標準の時間に予め設定されている。信号DEが「L」レベルに立ち下げられると、フリップフロップ94がセットされ、信号DLYが「H」レベルに立ち上げられる。このとき、電圧VRF,Vppが既に所定の電圧に上昇していれば、直ぐに信号RDMが「H」レベルに立ち上げられるが、図24では、電圧VRF,Vppが未だ所定の電圧に到達していないので、電圧VRF,Vppが所定の電圧になるまで待機する。
電圧VRFが所定の電圧に到達すると、図18のノードN3が「L」レベルになり、信号ICMPが「H」レベルに立ち上げられる。次いで、高電圧Vppが目標電圧に到達すると、信号PCMP,CMPAが「H」レベルに立ち上げられる。信号RDMが「H」レベルに立ち上げられると、プリチャージ信号PCが所定時間だけ「L」レベルに立ち下げられ、次いで信号SAEFおよびセンスアンプ活性化信号SAEが所定時間だけ「H」レベルに立ち上げられ、センスアンプSA0〜SAmでデータ読出が行なわてデータ信号Q0〜Qmが出力される。また、信号SAEFが「L」レベルに立ち下げられると、信号RDPF,RDP,IRE,RDM,DLYが「L」レベルにリセットされる。
この実施の形態5では、低速読出モードでは、参照電流IRおよび高電圧Vppが必要な期間のみ参照電圧源16およびチャージポンプ回路17を活性化させるので、消費電流の低減化を図ることができる。ただし、参照電圧VRの立ち上がりが遅いと、直流電流成分が増加するので、選択されたメモリマットMATのみに参照電圧VRを供給することにより、参照電圧源16の負荷を削減し(本実施の形態3では、1/4に削減)、参照電圧VRの立ち上がりを迅速化している。
また、参照電圧VRおよび高電圧Vppの立ち上がりの途中で読出動作を行なうと、正確な読出動作を行なえないので、参照電圧VRおよび高電圧Vppが所定の電圧に到達してからセンスアンプSAを活性化させている。すなわち、通常は遅延回路90の遅延時間Td1の範囲内で参照電圧VRおよび高電圧Vppが十分立ち上がるが、製造プロセス、電源電圧、温度が想定範囲外に変動した場合、参照電圧VRおよび高電圧Vppが遅延時間Td1内に立ち上がらない可能性がある。本実施の形態5では、そのような場合でも、正確な読出動作を行なうことができる。
なお、この実施の形態5では、1種類の参照電圧源16と1種類のチャージポンプ回路17を使用する場合について説明したが、複数種類の参照電圧源と複数種類のチャージポンプ回路が使用されている場合は、複数種類の参照電圧および複数種類の高電圧の各々がが所定の電圧に到達してからセンスアンプSAを活性化させるとよい。
図25は、実施の形態5の変更例を示す回路ブロック図であって、図21と対比される図である。図25において、このフラッシュメモリでは、リード制御回路121がリード制御回路123で置換される。リード制御回路115ではフリップフロップ116のクロック端子に信号ICMPが入力されるが、リード制御回路123ではフリップフロップ116のクロック端子に信号CMPAが入力される。したがって、この変更例では、常に、参照電圧VRおよび高電圧Vppが所定の電圧になった後にセンスアンプSAが活性化される。
なお、上記実施の形態1〜5では、スプリットゲート型メモリセルMCを備えたフラッシュメモリについて説明したが、本願発明はフローティングゲート型メモリセルMCを備えたフラッシュメモリにも適用可能である。すなわち、スプリットゲート型のフラッシュメモリでは、制御ゲート線CGLおよびメモリゲート線MGL間のカップリング容量7によってメモリゲート線MGLの電位上昇が発生するが、フローティングゲート型のフラッシュメモリでは、隣接する2本のワード線(読出制御線)間のカップリング容量によってワード線の電位上昇が発生する。近年、メモリの高集積化に伴ってワード線のピッチが小さくなっているので、隣接する2本のワード線のうちの一方のワード線から他方のワード線に発生するノイズの影響は増大している。したがって、本願発明をフローティングゲート型のフラッシュメモリに適用することも有効である。
また、上記実施の形態1〜5を適宜組み合わせてもよいことは言うまでもない。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。