【実施例】
【0018】
図2は、本発明の第1の実施例にフラッシュメモリに含まれる電圧生成回路の構成を示すブロック図である。同図に示すように、電圧生成回路100は、制御ロジック110と、電圧生成部120と、制御ロジック110および電圧生成部120とを電気的に接続する接続部130とを含む。電圧生成部120は、制御ロジック110から電圧制御データを受け取り、当該電圧制御データに基づき必要とされる電圧を生成する。
【0019】
制御ロジック110は、フラッシュメモリの動作に必要とされる電圧を計算し、その計算結果である電圧制御データを電圧生成部120へシリアル出力する。電圧生成部120は、電圧を生成するために必要な回路を含み、例えば、高電圧を生成するためのチャージポンプやレベルシフト回路等を含む。電圧生成部120は、電圧制御データに基づき読出し電圧、プログラム電圧、消去電圧等を生成する。
【0020】
好ましい態様では、電圧生成回路100は、メモリチップの周辺回路内に形成される。制御ロジック110は、半導体基板の第1の半導体領域内に形成され、電圧生成部120は、第1の半導体領域から物理的に離間された第2の半導体領域内に形成される。例えば、制御ロジック110は、比較的低電圧で動作可能なトランジスタを含んで構成され、他方、電圧生成部120は、比較的高電圧で動作可能なトランジスタを含んで構成される。接続部130は、制御ロジック110と電圧生成部120とを電気的に接続するローカル接続である。第1の実施例では、接続部130は、3本の信号線から構成される。信号線は、例えば、金属等の導電性材料から構成された配線層である。
【0021】
電圧生成部120は、制御ロジック110からシリアル出力される電圧制御データを保持するレジスタA、レジスタBおよびレジスタCと、制御ロジック110からシリアル出力される選択制御データを保持するレジスタDとを含む。レジスタAは、9ビットの階調データである電圧制御データを保持し、レジスタBは、6ビットの階調データである電圧制御データを保持し、レジスタCは、5ビットの階調データである電圧制御データを保持し、レジスタDは、2ビットの選択制御データを保持する。レジスタA、B、Cは、後述する出力制御データLATに応答して、保持した電圧制御データをそれぞれ電圧生成ブロックA、B、Cに出力し、レジスタDは、保持した選択制御データを電圧スイッチ32へ出力する。
【0022】
電圧生成部120はさらに、9ビットの電圧制御データに基づき電圧Aを生成する電圧生成ブロックA、6ビットの電圧制御データに基づき電圧Bを生成する電圧生成ブロックB、5ビットの電圧制御データに基づき電圧Cを生成する電圧生成ブロックCと、2ビットの選択制御データに基づき電圧A、電圧Bまたは電圧Cのいずれかを選択し、選択した電圧を出力する電圧スイッチ32とを含むで構成される。電圧生成ブロックA、B、Cは、例えば、チャージポンプ回路やレベルシフト回路等を包含する。
【0023】
接続部130は、上記したように3本の信号線を有する。第1の信号線は、制御ロジック110からシリアル出力されるクロック信号CLKを搬送し、第2の信号線は、制御ロジック110からシリアル出力される電圧制御データおよび選択制御データを搬送し(以下、便宜上、電圧制御データおよび/または選択制御データを総称してシリアルデータSIOと称することがある)、第3の信号線は、制御ロジック110から出力される出力制御データLATを搬送する。出力制御データLATは、レジスタA〜Dに保持された電圧制御データSIOおよび選択制御データSWの出力を制御する。
【0024】
クロック信号CLKは、レジスタA〜Dに共通に接続され、シリアルデータSIOは、レジスタAに接続される。レジスタA、B、C、Dは、シリアル/パラレル変換可能なシフトレジスタのように動作し、シリアルデータSIOは、クロック信号CLKに同期してレジスタA〜Dにシリアル入力され、レジスタA〜Dに22ビットのシリアルデータSIOが保持される。レジスタA〜Dに保持された22ビットのデータは、制御ロジック110からの出力制御データLATに応答して、レジスタA〜Dから電圧生成ブロックA、B、Cおよび電圧スイッチ32にパラレル出力される。
【0025】
図3に、レジスタAの内部構成を示す。レジスタAは、直列に接続された9つのフリップフロップFF−1、FF−2、FF−3、FF−4、…FF−9と、フリップフロップFF−1〜FF−9の出力Q1、Q2、…Q9を保持するラッチ回路122Aとを含む。ラッチ回路122Aは、出力制御データLATに応答して保持した9ビットの電圧制御データを電圧生成ブロックAにパラレル出力する。フリップフロップFF−1〜FF−9には、クロック信号CLKが共通に供給され、フリップフロップFF−1のデータ入力にはシリアルデータSIOが供給される。フリップフロップFF−1は、例えば、クロック信号CLKの立ち上がりエッジに応答してシリアルデータSIOの最初の1ビットを入力し、次のクロック信号CLKの立ち上がりエッジに応答して、保持した1ビットを次段のフリップフロップFF−2に転送するとともに、次の1ビットを入力する。こうして、9個のクロック信号CLKが入力されたとき、フリップフロップFF−1〜FF−9には、9ビットのシリアルデータSIOが保持される。ラッチ回路122Aは、クロック信号CLKが入力されるたびに、各フリップフロップからの出力Q1、Q2、…Q9を上書き保存する。
【0026】
レジスタB、C、Dもまた、レジスタAと同様にフリップフロップとラッチ回路122B、122C、122D(図中、省略)を含んで構成される。レジスタAの最終段のフリップフロップFF−9は、レジスタBの初段のフリップフロップFF−1に接続され、レジスタBの最終段のフリップフロップFF−6は、レジスタCの初段のフリップフロップFF−1に接続され、レジスタCの最終段のフリップフロップFF−5は、レジスタDの初段のフリップフリップFF−1に接続される。こうして、22個のクロック信号CLKが入力されたとき、レジスタA〜Dには、22ビットのシリアルデータSIOが保持される。また、レジスタAに保持された9ビットの電圧制御データがラッチ回路122Aに保持され、レジスタBに保持された6ビットの電圧制御データがラッチ回路122Bに保持され、レジスタCに保持された5ビットの電圧制御データがラッチ回路122Cに保持され、レジスタDに保持された2ビットの選択制御データがラッチ回路122Dに保持される。
【0027】
ラッチ回路122A〜Dは、出力制御データLATがイネーブルのとき、22ビットデータをパラレル出力する。こうして、レジスタA〜Dは、シリアル/パラレル変換するシフトレジスタとして機能する。
【0028】
次に、本実施例の電圧生成回路100の動作について
図4のタイミングチャートを参照して説明する。ここでは、フラッシュメモリの読出し動作の一例を示す。読出し動作が開始されるとき、レジスタA〜Dには、それぞれ初期値が保持され、レジスタA〜Cの初期値が電圧生成ブロックA〜Cに出力され、レジスタDの初期値により電圧スイッチ32の選択が制御され、その結果、時間期間T1において電圧Vaが出力されているものとする。時間期間T1において、電圧Vaによる第1の読出し動作が実行される。
【0029】
第1の読出し動作が開始された後、制御ロジック110は、第2の読出し動作に必要とされる電圧を計算し、当該計算結果に従い22ビットのシリアルデータSIOを電圧生成部120へ出力する。シリアルデータSIOは、22個のクロック信号CLKにより歩進され、レジスタA〜Dの値が更新される。制御ロジック110は、第2の読出し動作が開始されるのを待ち、第1の読出し動作が終了すると、期間Taにおいて出力制御データLATをイネーブルにする。ラッチ回路122A〜122Dは、出力制御データLATがHレベルになったことに応答して、保持している22ビットのデータを電圧生成ブロックA〜Cおよび電圧スイッチ32にパラレル出力する。
【0030】
第1の読出し動作が終了された後、時間期間T2において第2の読出し動作が開始される。第2の読出し動作は、電圧スイッチ32から出力される電圧Vbが用いられる。時間期間T2において、制御ロジック110は、第3の読出し動作に必要とされる電圧を計算し、当該計算結果に従い22ビットのシリアルデータSIOを電圧生成部120へ出力する。シリアルデータSIOは、22個のクロック信号CLKにより歩進され、レジスタA〜Dの値が更新される。制御ロジック110は、第3の読出し動作が開始されるのを待ち、第2の読出し動作が終了すると、期間Tbにおいて出力制御データLATをイネーブルにする。ラッチ回路122A〜122Dは、出力制御データLATがHレベルになったことに応答して、保持している22ビットのデータを電圧生成ブロックA〜Cおよび電圧スイッチ32にパラレル出力する。第2の読出し動作が終了された後、時間期間T3において第3の読出し動作が開始される。第3の読出し動作は、電圧スイッチ32から出力される電圧Vcが用いられる。
【0031】
以後、同様に、制御ロジック110は、第3の読出し動作が終了するまでに第4の読出し動作のためのシリアルデータSIOによりレジスタA〜Dを更新し、時間期間T4において、電圧Vdによる第4の読出し動作が実行される。こうして、制御ロジック110は、フレキシブルな電圧の設定をシリアルデータSIOおよびレジスタを介して容易に実施し、かつ次のシリアルデータSIOをレジスタA〜Dにセットしておくことで、電圧の生成および出力に要する時間を短縮する。
【0032】
好ましい態様では、制御ロジック110は、読出し動作終了時に、レジスタA〜Dに読出し動作のための初期値を設定する。これにより、次に読出し動作が行われるとき、制御ロジック110は、読出し動作時の初期状態の値を転送し、これをレジスタA〜Dに設定する期間を省略することができる。特に、読出し動作の場合、仕様上、最も短い時間での動作が要求されるので、動作終了時に初期値を設定しておくことは効果的である。但し、レジスタA〜Dに設定する初期値は、読出し動作のものに限らず、半導体装置において最も動作頻度が高い動作の初期値を設定するようにしてもよい。また、上記は、読出し動作の例を説明したが、プログラム動作や消去動作におけるプログラム電圧や消去電圧の生成も同様に実施することが可能である。この場合にも、プログラム動作終了時に、プログラム動作のための初期値をレジスタA〜Dに設定したり、消去動作終了時に、消去動作のための初期値をレジスタA〜Dに設定するようにしてもよい。
【0033】
第1の実施例では、制御ロジック110は、シリアルデータSIOを歩進させるため、シリアルデータSIOを出力する期間と同期してクロック信号CLKを出力したが、クロック信号CLKを他の回路で共用する場合には、クロック信号CLKをオン/オフすることは望ましくない。そこで、第2の実施例では、制御ロジック110は、シリアルデータSIOのシリアル入力を行う期間だけレジスタA〜Dにおいてクロック信号CLKが有効になるようにクロックイネーブル信号CLKEを出力し、クロック信号CLKの連続的な出力を可能にする。
【0034】
図5に、第2の実施例によるレジスタAの構成を示す。第2の実施例では、接続部130は、第1の実施例のときの3本の信号線に加えて、クロックイネーブル信号CLKEを搬送する1本の信号線をさらに含む。クロックイネーブル信号CLKEは、クロック信号CLKと同様に各レジスタA〜Dに共通に供給される。レジスタAは、クロック信号CLKとクロックイネーブル信号CLKEとを入力するANDゲート124Aを9つ含む。各ANDゲート124Aの出力は、フリップフロップFF−1〜FF−9のクロック入力に接続される。他のレジスタB、C、Dも同様にフリップフロップの数に応じたANDゲートを含む。
【0035】
図6は、第2の実施例による電圧生成回路のタイミングチャートである。制御ロジック110は、22ビットのシリアルデータSIOがレジスタA〜Dにシリアル入力されるとき、22個のクロック信号CLKがそれぞれのレジスタA〜Dにおいて有効になるようにHレベルのクロックイネーブル信号CLKEを出力する。これにより、クロックイネーブル信号CLKEがHレベルの期間、レジスタA〜Dがシフトレジスタのように動作される。
【0036】
次に、本発明の第3の実施例について説明する。第1、第2の実施例では、レジスタA〜Dの全てを動作させることで22ビットのシリアルデータSIOをレジスタA〜Dにセットしたが、第3の実施例では、レジスタA〜Dの選択されたいずれかのレジスタへのデータ入力を可能にする。第3の実施例では、
図7に示すように、接続部130は、第1の実施例のときの3本の信号線に加えて、アドレス信号ADDを搬送するための1本の信号線をさらに含む。アドレス信号ADDは、各レジスタA〜Dに共通に供給される。
【0037】
レジスタA〜Dは、それぞれ固有の識別情報IDを有し、制御ロジック110から出力されるアドレス信号ADDと自身の識別情報IDとが一致するか否かを判定し、一致する場合にシリアルデータSIOのシリアル入力を可能にする。好ましい例では、制御ロジック110は、4つのレジスタA〜Dを選択するために2ビットのアドレス信号ADDをシリアル出力する。一方、レジスタA〜Dは、入力された2ビットのアドレス信号ADDが自身の識別情報IDに一致するか否かを判定するためのアドレス判定部200を含む。
【0038】
図8に、アドレス判定部200の1つの構成例を示す。アドレス判定部200は、自身のレジスタの識別情報IDを保持するID保持部210と、制御ロジック110からシリアル出力される2ビットのアドレス信号ADDを保持するADD保持部220と、識別情報IDとアドレス信号ADDとを比較する比較部230と、比較部230の比較結果に基づきオン/オフが制御されるトランジスタ240とを含む。ADD保持部220は、例えば、2ビットのアドレス信号ADDをシリアル入力する2つのフリップフロップから構成される。比較部230は、識別情報IDとアドレス信号ADDが一致するときHレベルの信号を出力し、トランジスタ240をオンさせ、不一致のときLレベルの信号を出力し、トランジスタ240をオフさせる。トランジスタ240は、シリアルデータSIOを搬送する信号ラインとレジスタAの初段のフリップフロップFF−1との間に直列に接続され、識別情報IDとアドレス信号ADDとが一致するとき、シリアルデータSIOをフリップフロップFF−1へ入力させる。ここで留意すべきは、第3の実施例では、レジスタA、B、C、Dの全てが直列接続されてシフトレジスタのように動作されるのではなく、レジスタA、B、C、Dの個々がシフトレジスタのように動作される。従って、レジスタAの最終段のフリップフロップFF−9の出力は、レジスタBの初段のフリップフロップFF−1の入力に接続されない。
【0039】
図9は、第3の実施例のタイミングチャートである。制御クロック110は、例えば、レジスタAにデータをセットするとき、レジスタAのアドレス信号ADD_Aを送信し、次にレジスタAにセットすべき9ビットのシリアルデータSIO_Aを送信する。このとき、レジスタAのアドレス信号ADD_Aが自身の識別情報IDと一致するため、比較部230によりトランジスタ240がオンされ、9ビットのシリアルデータがクロック信号CLKに同期しながらフリップフロップFF−1〜FF−9にセットされる。他方、他のレジスタB、C、Dでは、アドレス信号ADD_Aが自身の識別情報IDに一致しないため、比較部230によりトランジスタ240がオフされ、レジスタB、C、Dの初段のフリップフロップFF−1にはデータが入力されない。また、レジスタAの次にレジスタCにデータをセットする場合には、制御ロジック110は、レジスタCのアドレス信号ADD_Cを送信し、その後、5ビットのシリアルデータSIO_Cを送信する。
【0040】
このように本実施例によれば、更新の必要があるレジスタを選択し、選択したレジスタにデータをシリアル入力し、セットすることができる。このため、レジスタへのデータセットに要する時間を短縮することができ、フラッシュメモリの動作の高速化に対応することができる。なお、上記実施例では、シリアルデータSIOの入力をトランジスタ240により制御したが、これは一例であり、例えば、トランジスタ240に代えて、シリアルデータSIOと比較部230の比較結果とを入力するNANDゲートと、当該NANDゲートの出力に接続されたインバータとを含むロジックによりシリアルデータSIOの入力を制御しても良いし、比較部230の比較結果に応じてオン/オフするCMOSトランスファーゲートによりシリアルデータSIOの入力を制御するようにしてもよい。
【0041】
次に、本発明の第4の実施例について説明する。第4の実施例は、第3の実施例で用いたアドレス信号ADDを搬送する信号線と、シリアルデータSIOを搬送する信号線とを共有する。従って、制御クロック110と電圧生成部120とを接続する信号線は3本である。
【0042】
図11にレジスタAの内部構成を示す。アドレス判定部200Aは、第3の実施例のときと同様に、ID保持部210、ADD保持部220および比較部230を有する。アドレス判定部200Aはさらに、比較部230によって制御される一対のPMOSおよびNMOSのパストランジスタからなるパスゲート250を含む。比較部230は、初期状態としてLレベルの信号をパスゲートに供給し、それ故、PMOSトランジスタが導通状態、NMOSトランジスタが非導通状態にある。制御ロジック110からアドレス信号ADDが出力されるとき、このアドレス信号ADDは、ADD保持部220に供給され、そこでアドレス信号ADDが自身の識別情報IDに一致するか否かの判定が行われる。一致する場合には、比較部230は、一定期間、ハイレベルの信号をパスゲートに出力し、それ故、その期間、PMOSトランジスタが非導通状態、NMOSトランジスタが導通状態になる。この期間、制御ロジック110は、9ビットのシリアルデータを出力することで、9ビットのシリアルデータがパスゲート250を介してフリップフロップFF−1に入力される。
アドレス信号ADDと識別情報IDとが一致しない場合には、比較部230によるパスゲート250への出力は変わらないため、シリアルデータSIOはフリップフロップFF−1に入力されない。
【0043】
図12は、第4の実施例のタイミングチャートである。制御クロック110は、例えば、レジスタAにデータをセットするとき、信号線からレジスタAのアドレス信号ADD_Aを送信し、次にレジスタAにセットすべき9ビットのシリアルデータSIO_Aを送信する。このとき、レジスタAのアドレス信号ADD_Aが自身の識別情報IDと一致するため、パスゲート250を介してフリップフロップFF−1へのシリアルデータの入力が可能になる。制御ロジック110から出力された9ビットのシリアルデータは、クロック信号CLKに同期しながらフリップフロップFF−1〜FF−9にセットされ、そこに保持される。他方、他のレジスタB、C、Dでは、アドレス信号ADD_Aが自身の識別情報IDに一致しないため、パスゲート250を介してのフリップフロップFF−1へのパスが遮断されたままであり、レジスタB、C、Dにはデータが入力されない。また、レジスタAの次にレジスタCにデータをセットする場合には、同様に、制御ロジック110は、レジスタCのアドレス信号ADD_Cを送信し、その後、5ビットのシリアルデータSIO_Cを送信する。このように第4の実施例によれば、第3の実施例のときと比較して、信号線の本数を減らすことができる。なお、上記実施例では、パスゲート250を用いてシリアルデータの入力を制御したが、これは一例であり、パスゲート250に代えて、上記したようにNANDゲートとインバータのロジックやCMOSトランスファーゲート等によりシリアルデータの入力を制御するようにしてもよい。
【0044】
次に、本発明の第5の実施例について説明する。第4の実施例では、アドレス信号ADDとシリアルデータSIOを1つの信号線で共用するため、アドレス信号からシリアルデータSIOの入力までに一定の時間を要してしまう。そこで、第5の実施例は、レジスタにセットすべきデータをパラレル出力する。
【0045】
図13は、第5の実施例の構成を示している。第5の実施例では、アドレス信号を搬送する信号線と、制御データを搬送する信号線と、レジスタA〜Dの中で最大のビット数を保持するレジスタと同じビット数のデータをパラレル搬送する信号線とを有する。本例では、レジスタAが9ビット保持するので、9本の信号線となる。
【0046】
図14は、本実施例のレジスタAの内部構成である。アドレス判定部200Bは、第3ないし第4の実施例と同様に、ID保持部210、ADD保持部220および比較部230を備える。本実施例ではさらに、9ビットのパラレルデータPIOがパスゲート260を介してラッチ回路122へ入力可能な構成である。すなわち、パラレルデータを搬送する9本の信号ラインとラッチ回路122の入力端子との間には9つのパストランジスタ260が接続され、9つのパストランジスタの各ゲートには、比較部230からの出力が共通に接続される。比較部230は、アドレス信号ADDと自身の識別情報IDとが一致するとき、パストランジスタ260のゲートにHレベルを出力し、パストランジスタ260を導通状態にし、不一致であるとき、Lレベルを出力し、パストランジスタ260を非導通状態にする。これにより、アドレス信号ADDによって選択されたレジスタにパラレルデータを一度にセットすることができる。レジスタB、C、DもレジスタAと同様に構成することができるが、パラレルデータを搬送する信号線は最大9本あるので、レジスタB、C、Dにおいて不足することはない。例えば、レジスタBは、6ビットデータを保持するため、3本の信号線が不要となり、これらはレジスタBには接続されない。
【0047】
図15は、第5の実施例のタイミングチャートである。制御ロジック110は、レジスタAにデータをセットするとき、アドレス信号ADD_Aを出力し、その後、9ビットのパラレルデータを9本の信号線を介してラッチ回路122に保持させる。また、レジスタCにデータをセットする場合には、5ビットのパラレルデータが5本の信号線を介してレジスタCのラッチ回路122に保持される。
【0048】
このように本実施例によれば、パラレルデータPIOを送信するようにしたので、レジスタへのデータのセットを高速に行うことができ、電圧生成速度を向上させることができる。なお、上記実施例では、パストランジスタ260を用いてパラレルデータの入力を制御したが、これは一例であり、パストランジスタ260に代えて、上記したようにNANDゲートとインバータのロジックやCMOSトランスファーゲート等によりパラレルデータの入力を制御するようにしてもよい。
【0049】
上記実施例は、電圧生成回路を例示したが、本発明にこれに限定されるものではなく、複数のレベルまたはアナログの設定等を行う回路にも適用することができる。また、電圧生成回路におけるシリアルデータSIOのビット数は、例示であり、これ以外のビット数であってもよい。さらに電圧生成回路において複数のレジスタを例示したが、これに限らず、レジスタは1つであってもよい。
【0050】
以上のように本発明の好ましい実施の形態について詳述したが、本発明は、特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。