以下、図面を参照して、この発明の実施の形態を説明する。
[実施の形態1] 図1は、この発明のフリーコア方式を用いたフラッシュメモリのチップ構成を示している。メモリセルアレイ1は、それぞれn個のブロックB0〜Bn−1を配列してなるm個のコア0〜m−1により構成されている。各ブロックB0〜Bn−1は、データ消去の最小単位であり、それぞれ複数のメモリセルが配列されている。メモリセルは例えば、スタックト・ゲート構造の不揮発性メモリセルである。コアは、1乃至複数のブロックの集合として定義されるが、図の例ではn個ずつのブロックB0〜Bn−1により構成されている。
各コアには、メモリセルを選択するための行デコーダと列デコーダを含むデコード回路2が設けられ、またローカルデータ線4が設けられている。この様なメモリセルアレイ1の全コアに対して共通に、データ読み出し動作時にメモリセルを選択するための第1のアドレスバス線(リード用アドレスバス線)6aと、データ書込み又は消去時のオート動作に必要な第2のアドレスバス線(ライト/イレーズ用アドレスバス線)6bが配設されている。
アドレス信号はインタフェース回路14内のアドレス入力回路により外部から入力され、アドレスバッファ回路10に供給される。このアドレスバッファ10から、動作モードに応じて、アドレスバス線6a,6bにそれぞれ読出し用アドレス,書込み又は消去用アドレスが供給される。各アドレスバス線6a,6bに供給されたアドレスは、各コア毎に設けられたアドレス線や電源線を切り換えるスイッチ回路3により、選択的に各コアのデコード回路2に転送される。
全コアに対して共通に、データ読み出し動作に用いられる第1のデータバス線(リード用データバス線)7aと、データ書込み又は消去動作に用いられる第2のデータバス線(ライト/イレーズ用データバス線)7bが配設される。そして、これらのデータバス線7a,7bにそれぞれ対応して、データ読み出し動作に用いられる第1のセンスアンプ回路(リード用センスアンプ回路)11aと、データ書込み又は消去時のベリファイ読出しに用いられる第2のセンスアンプ回路(ベリファイ用センスアンプ回路)11bが設けられている。
各コア毎に配線されたローカルデータ線4は、データ線スイッチ回路16により、データ読み出し時はリード用データバス線7aに接続され、データ書込み又は消去時はライト/イレーズ用データバス線7bに接続される。即ち各コアの選択メモリセルのデータは、ローカルデータ線4に読み出され、動作モードに応じてデータ線スイッチ回路16によりデータバス線7a又は7bに転送され、それぞれリード用センスアンプ回路11a、ベリファイ用センスアンプ回路11bにより検知増幅される。ベリファイ用センスアンプ回路11bの読出し結果は、書込み/消去制御回路15に送られる。書込み/消去制御回路15では、書込み又は消去が十分であるか否かが判定され、不十分であれば再書き込み又は再消去の制御が行われる。
また、全コアに対して共通に、読出し用電源12aから読出し用電源電位が供給される第1の電源線(リード用電源線)8aが配設され、これとは別に書込み又は消去電源12bからデータ書込み又は消去用電源電位が供給される第2の電源線(ライト/イレーズ用電源線)8bが配設されている。リード用電源線8aにはデータ読み出し時、電源VCCより昇圧された電圧が与えられ、これがメモリセルのゲートに供給されて高速読出しが可能となっている。これらの電源線8a,8bも各コアのデコード回路2に対して、スイッチ回路3により選択的に切り換えられて供給される。
以上のように構成することで、データ読み出しと、データ書きこみ又は消去を同時に実行しても、それぞれの動作を独立のアドレスバス線、データバス線、センスアンプ回路、電源回路により制御できることになる。具体的にこの実施の形態のフラッシュメモリでのデータ書きこみと読み出しを同時に実行した場合の動作を説明する。いま、コア0に対してデータ書込みが行われ、他のコア内のセルデータを読み出すケースについて説明する。チップ外部から、コア0部の選択アドレス信号が入力され、書込みコマンドが入力されると、インタフェース回路14で書きこみコマンドが判定され、書き込みフラグが立つ。このフラグにより、コア0部のスイッチ回路3により、ライト/イレーズ用アドレスバス線6bのアドレス信号がコア0のデコード回路2に入力され、ライト/イレーズ用電源12bの電源が供給される。また、データ線スイッチ回路16によりコア0部のデータ線4はベリファイ用センスアンプ回路11bにつながるライト/イレーズ用データバス線7bに接続される。
このようにアドレスバス線、データバス線、及び電源線をセットすることにより、コア0では選択されたワード線に昇圧された書込み電圧が印加され、ビット線には書込みデータに応じて書込み制御回路15から高電圧、もしくは低電圧が印加される。これにより、メモリセルがフローティングゲート型のMOSトランジスタ構造のものである場合、選択されたメモリセルのフローティングゲートにホツトエレクトロン注入がなされて、データ書込みが行われる。一回の書き込みが終了すると、データが読み出されてベリファイ用センスアンプ回路11bで検知される。そして、書き込み制御回路15によりベリファイ判定され、書込み十分であれば動作を終了し、書込み不十分であれば更に追加書込みが行われる。
以上のコア0に対するデータ書込みの間、他の任意のコア、例えばコア1でのデータ読出しを行うことが可能である。即ち外部から入力されたアドレスにより、読み出したいメモリセルを含むコア1のデコード回路2にはリード用アドレスバス線6aのアドレス信号が供給され、リード用電源12aの電源出力が供給される。またデータ線4はスイッチ回路16を介してリード用データバス線7aに接続される。データ書込みもデータ読み出しもなされない、それ以外のコアのデコード回路2には、アドレス信号は入力されず、データバス線も接続されない。コア1の選択メモリセルから読み出されたデータは、リード線データバス線7aを介してリード用センスアンプ回路11aで検知増幅される。この読出しデータは、インタフェース回路14を介してチップ外部に出力される。
この実施の形態の場合、以上の動作において、従来のバンクというエリアを切り分けたイメージが無い。即ち、データ書込みを行っているコア0以外のコアであれば、コア2でもコア3でもコアm−1でも、任意に読み出すことが可能である。データ書込みを行っているコア0のアドレスを入力してデータ読み出しを実行することは禁止される。このように、データ書込み中のコアに対して読出し要求があった場合には、後に説明するように、選択されたコアが書き込み動作中であることを示すポーリング信号を出力して、外部に知らせるようになっている。
データ消去とデータ読み出しを同時に実行する場合の動作も基本的に同様である。例えば、コア0の選択ブロックに対してデータ消去を行い、他のコア内のセルデータを読み出すケースについて説明する。チップ外部から、コア0内のブロックの選択アドレス信号が入力され、消去コマンドが入力されると、インタフェース回路14で消去コマンドが判定されて消去フラグが立つ。このフラグによりコア0のスイッチ回路3により、ライト/イレーズ用アドレスバス線6bのアドレス信号がコア0のデコード回路2に入力され、ライト/イレーズ用電源12bの消去用電源電位が供給される。また、データ線スイッチ回路16によりコア0部のデータ線4はベリファイ用センスアンプ回路11bにつながるライト/イレーズ用データバス線7bに接続される。
このようにアドレスバス線、データバス線及び電源線をセットすることで、選択されたコア0の選択ブロックのワード線には全て負電圧が印加され、ビット線はオープン、ソース線には消去用の正の高電圧が印加され、ブロック単位で消去される。一回のデータ消去が終了すると、データが読み出されてベリファイ用センスアンプ回路11bで検知される。制御回路15では、消去が十分か否かの判定がなされ、十分であれば動作を終了し、NGであればさらに追加消去される。以上のコア0に対するデータ消去の間、他の任意のコアに対してデータ読み出し要求が入ると、そのコアでのデータ読出しが行われる。
なお以上の動作説明では、ソースに高電圧を印加して消去するNOR型のメモリセルを例にとったが、メモリセルの基板側に高電圧を印加して消去する形式のメモリセルの場合でも同様であり、またNAND型のメモリセルでも、同様の動作制御が可能である。
次に、図1の各部の具体構成を説明する。図2Aは、各コアにおけるスイッチ回路3におけるアドレス線スイッチ回路部のの構成である。このスイッチ回路3は、二つの選択スイッチ群31a,31bとこれらを選択駆動するコア選択回路32a,32bを有する。コア選択回路32a,32bはそれぞれ、イネーブル信号ENBa,ENBbにより活性化される。イネーブル信号ENBbは、後述するように書込み又は消去コマンドが入力されたときに“H”となる書込み又は消去イネーブル信号であり、これをインバータI1で反転したイネーブル信号ENBaは、データ読み出し時に“H”となる読出しイネーブル信号である。
一方のコア選択回路32bは、データ書込み時又は消去時にイネーブル信号ENBb=“H”により活性化されるANDゲートG3により構成されている。このANDゲートG3には、ライト/イレーズ用アドレスバス線6bのコア選択用アドレス信号が入り、選択されたコアについてコア選択信号SELb=“H”を出力する。このコア選択信号SELbにより、データ書込み又は消去時に選択スイッチ群31bがオンになる。これにより、ライト/イレーズ用アドレスバス線6bの書込み又は消去用のアドレス信号ADbが選択されたコアのデコード回路2に供給される。
他方のコア選択回路32aは、読出しイネーブル信号ENBaにより活性化されるANDゲートG1により構成され、このANDゲートG1には、リード用アドレスバス線6aのコア選択アドレスが入る。イネーブル信号ENBbが“H”のとき、イネーブル信号ENBaは“L”であるから、ANDゲートG1の出力であるコア選択信号SELaは、そのコアがデータ書込み又は消去として選択されているときには、“L”となる。このとき選択スイッチ群31aはオフを保つ。コアがデータ読み出しとして選択されたときに、選択信号SELa=“H”となり、これにより選択スイッチ群31aがオンして、リード用アドレスバス線6aの読み出し用アドレス信号ADaがデコード回路2に送られる。
即ち、この実施の形態においては、一つのコアについて、書込み又は消去用のコア選択信号SELbと読出し用のコア選択信号SELaとは同時に“H”になること(グリッチ)が禁止されている。これにより、あるコアについて、データ書込み又は消去が行われるときには、同じコアではデータ読出しができないようになっている。
コア選択回路32a内には、ANDゲートG1と同じ読出し用のコア選択アドレス信号が入るもう一つのANDゲートG2が設けられている。このANDゲートG2は、データ書込み又は消去中のコアに対して読み出し要求が入ったときに、そのコアがデータ書込み又は消去中であることを知らせるデータポーリング信号発生回路である。このANDゲートG2には、書込み又は消去イネーブル信号ENBbが活性化信号として入る。従って、このANDゲートG2は、書込み又は消去を行っているコアに対して読み出し要求が入った場合に、コア選択信号SELa=“L”を保持しながら、データポーリング信号POL=“H”を出力する。
二つのコア選択信号SELa,SELbが共に“L”のときは、そのコアが非選択であることを示す。これは、NORゲートG4により検知され、非選択コアのアドレス線を非活性にする信号DISABLEを出す。図3は、上記信号DISABLEにより非選択コア内のアドレス信号線等を強制接地するための回路部を示している。図示のように、各コア内にアドレス線及びデータ線4を接地する短絡用トランジスタ383を設ける。この短絡用トランジスタ383は、NORゲートG4により制御される。コアが非選択のとき、DISABLE=“H”となり、短絡用トランジスタ383はオンになり、そのコア内の全アドレス線及びデータ線の電荷が放電される。以上により、非選択コアでアドレス線及びデータ線がフローティングになることが防止される。この結果、静電ノイズ等による誤動作や各部ゲート絶縁膜の破壊、データ破壊等が防止される。
図2Aで示したアドレス線スイッチ回路では、二つのコア選択信号SELa,SELbが共に“L”のときは、アドレス線スイッチ群31a,31b共にオフし、リード用アドレスバス線6aとライト/イレーズ用アドレスバス線6bに非選択コアの無用な配線容量が接続されない方式を用いた。これに対して、図2Bに示すように、アドレス線スイッチ群31a,31bをそれぞれイネーブル信号ENBa,ENBbで制御する方式とすることもできる。
図2Bの方式では、そのコア内で書込み又は消去が実行されるときには、アドレス線スイッチ群31bがオンし、ライト/イレーズ用アドレスバス線6bの書込み又は消去用アドレス信号ADbがデコード回路2に供給される。そのコア内で書き込み又は消去が実行されないときは、常にアドレス線スイッチ群31aがオンし、リード用アドレスバス線6aの読出し用アドレス信号ADaがデコード回路2に供給される。非選択コアでは、ディセーブル信号DISABLEが“H”になり、デコーダ回路が全非選択となり、データ線も放電される。この方式では、データ読み出し時にアドレス線スイッチ群31aをオンする必要がなく、スイッチング時間を省略することができ、データ読出しの高速化が図られる。
図4は、隣接するコアi,i+1に着目して、それらのローカルデータ線4と、リード用データバス線7a及びライト/イレーズ用データバス線7bとの間の接続切り換えを行うデータ線スイッチ回路16の構成を示している。NMOSトランジスタQ3のグループが前述のコア選択回路32aの出力であるコア選択信号SELaにより制御されて、ローカルデータ線4とリード用データバス線7aの接続,非接続を切り換える。NMOSトランジスタQ4のグループが前述のコア選択回路32bの出力であるコア選択信号SELbにより制御されて、ローカルデータ線4とライト/イレーズ用データバス線7bとの接続,非接続を切り換える。
即ち、あるコアがデータ書込み又は消去のモードのとき、そのコアではコア選択信号SELb(i)が“H”であり、これによりトランジスタQ4がオンして、ローカルデータ線4はライト/イレーズ用データバス線7bに接続される。逆に、あるコアがデータ読出しモードのとき、そのコアではコア選択信号SELa(i)が“H”であり、これによりトランジスタQ3がオンして、ローカルデータ線4はリード用データバス線7bに接続される。
図5は、図1の各コアにおけるスイッチ回路3に含まれる電源線スイッチ回路41の構成を示している。この電源線スイッチ回路41は、図2Aに示したアドレス線スイッチ回路3内のコア選択回路32bにより選択的に活性化されるレベルシフタ402a,402bと、これらのレベルシフタ402a,402bの出力によりそれぞれ制御されるトランスファゲート403a,403bを有する。トランスファゲート403a,403bはそれぞれ、リード用電源線8a,ライト/イレーズ用電源線8bをデコード回路2に選択的に接続するものである。
例えば、コア選択回路32bの出力であるコア選択信号SELbが“H”のとき、即ちそのコアがデータ書込み又は消去モードのとき、レベルシフタ402bが活性化される。これにより、レベルシフタ402bから得られる電圧レベルがシフトされた制御信号によりトランスファゲート403bがオンし、ライト/イレーズ用電源線8bの書込み又は消去用電源電位(例えば昇圧された電位VSW)がデコード回路2に供給される。コアが読み出しモードのときは、コア選択信号SELbは“L”であり、このときレベルシフタ402aが活性化され、トランスファゲート403aがオンする。これにより、リード用電源線8aのリード用電源電位Vddrがトランスフアゲート403aを介してデコード回路2に供給される。
図5には、図2Aでは省略したイネーブル信号ENBa,ENBbの発生経路を示している。インタフェース回路14においてコマンドをデコードして得られるデータ書込み信号WRITE又は消去信号ERASEは、各コア毎に用意されたコアブロックレジスタ42に、コア内のどのブロックが書込み又は消去として選択されたかを示す情報として保持される。このコアブロックレジスタ42の情報に基づいて、コアビジー出力回路43が、そのコアが書込み又は消去モードにあることを示すビジー出力として、イネーブル信号ENBb=“H”を出すことになる。これらのコアブロックレジスタ42及びコアビジー出力回路43の詳細は後述する。
図6は、図1のアドレスバッファ10の構成を示している。アドレスバッファ10は、第1のバッファ段501、第2のバッファ段502及び第3のバッファ段503,504の3段構成となっている。第1のバッファ段501は、チップ外部から供給されるアドレス信号のノイズ低減や内部保護の機能を持つ。第2のバッフア段502では、供給されるアドレス信号をそのままスルーして第3のバッファ段503に供給すると共に、ラッチ回路505に供給する。
データ読み出しモードのときは、第2のバッファ段502をスルーしたアドレス信号が第3のバッフア段503において相補信号に変換されて、リード用アドレスバス線6aに供給される。データ書込みのときは、アドレス信号は動作終了までラッチ回路505に保持され、そのアドレス信号が第3のバッファ段504に供給されて相補信号に変換されてライト/イレーズ用アドレスバス線6bに供給される。第2のバッファ段502におけるカウンタ506は、データ消去モードにおいて、ベリファイ動作の際にアドレスをインクリメントするためのものである。即ち、消去ベリファイにおいては、カウンタ506により順次更新されるアドレス信号がバッファ段504を介してライト/イレーズ用アドレスバス線6bに供給されることになる。
図7は、図5に示したコアブロックレジスタ42とコアビジー出力回路43の構成例を示している。コアフロックレジスタ42は、各コア毎に、コア内のブロック数nに等しい数のレジスタR0〜Rn−1を有する。データ書込み信号WRITE又は消去信号ERASEが入ると、選択されたコアの選択されたブロックに対応するレジスタにフラグ“H”が動作終了まで保持される。コアビジー出力回路43は、コアレジスタブロック42の各レジスタの出力の論理和をとるORゲート431を有する。あるコアについて、書込み又は消去のブロックが一つでも選択されると、コアビジー出力回路43ではORゲート431がコアビジー出力(即ち、書込み又は消去イネーブル信号)ENBb=“H”を出す。書込み又は消去の選択がなされていないコアにおいては、ENBb=“L”であり、これは読出しイネーブルであることを示す。
図8は、コア内の具体構成を示し、図9は更にブロック内の構成を示す。各ブロックB0〜Bn−1は、図9に示すように、複数本ずつのビット線BLとワード線WLが交差して配設され、それらの交差部にメモリセルMCが配置される。各ブロックB0〜Bn−1は、ビット線BLとワード線WLが連続して配設されて、一括消去の単位となる。これらのブロックB0〜Bn−1の配列の端部にワード線を選択するメイン行デコーダ701が配置され、各ブロックの間にブロック選択を行う行サブデコーダ702が配置される。列デコーダは、各ブロックB0〜Bn−1のビット線端部に配置されてビット線選択を行うカラムゲート704と列プリデコーダ703とから構成されている。
図10は、図1におけるリード用センスアンプ回路11a及びベリファイ用センスアンプ回路11bと外部入出力パッドの間に配置される入出力回路部の構成である。ORゲート901,902は、図2Aで説明した、各コアのコア選択回路32aが出力するデータポーリング信号POLi(i=0〜m−1)を順次足し算して出力するためのデータポーリング出力回路を構成している。出力切り換え回路904は、リード用センスアンプ回路11aの読出し出力と、データポーリング信号とを切り換えて出力バッファ906に転送する。
データ比較回路905は、データ書込み又は消去時にベリファイ用センスアンプ回路11bによりベリファイ読出しされた出力データを判定する。書込みの場合であれば、入力バッファ907から供給される書き込みデータとベリファイ読出しデータを比較することになる。判定結果がNGであれば、その判定結果はライト/イレーズ制御回路15に送られ、再書込みの制御がなされる。消去のときも同様に、ベリファイ結果がNGであればライト/イレーズ制御回路15に送られ、再消去がなされる。
以上のように構成されたフラッシュメモリにおいて、データ書込み動作とデータ読み出し動作の同時実行の詳細、具体的にはあるコアについてデータ書込み中に他のコアでのデータ読み出しを行う場合の動作しを以下に説明する。チップに対して書込みコマンドが入力されると、インタフェース回路14から書込みフラグWRITEが出力される。この内部信号を受けて、アドレスバッファ10では、書き込みを行うメモリセルのアドレス信号が書込み終了までラッチされ、同時にライト/イレーズ用アドレスバス線6bにラッチしたアドレスデータが出力される。同時に書込み対象となったセルを含むブロックの情報がコアブロックレジスタ42の対応するレジスタに、ビジー情報“H”として書き込まれる。こうして選択されたコアを例えば、コアAとする。コアAでは、コアビジー出力回路43がコアビジー出力“H”(即ち、イネーブル信号ENBb=“H”)を出力する。これにより、コアAのコア選択信号SELbが“H”となり、コアAへの読出し要求は禁止される。
また、イネーブル信号ENBbとコア選択信号SELbとにより、ライト/イレーズ用アドレスバス線6b上の書込み用アドレス信号が選択されたコアAのデコード回路2に入力され、同時に各デコード回路2の電源にはライト/イレーズ用電源線8bの電源電位が供給され、コアAのデータ線4にライト/イレーズ用データバス線7bが接続される。これにより、選択されたコアAの選択されたメモリセルでのデータ書込みが実行される。
書込みモードでは、I/Oパッドから入力され、データ入力バッファ907を介してデータ比較回路905にラッチされた書き込みデータに対応して、書き込み負荷回路が制御される。その間に、コアA以外の例えばコアBのメモリセルに対してデータ読み出し要求が入ると、コアBでは、コアビジー出力即ちイネーブル信号ENBbが“L”、コア選択信号SELbが“L”であるので、データ読出しが実行される。即ち、リード用アドレスバス線6aのアドレス信号がコアBのデコード回路に供給され、同時にそのデコード回路にはリード用電源電位が供給される。選択されたメモリセルのデータは、データ線4に読み出され、これがリード用データバス線7aを介してリード用センスアンプ回路11aに転送されて検知増幅される。
読み出しアドレスとして、書込み実行中のコアA内のアドレスが入力されると、コアAではイネーブル信号ENBbが“H”であるため、コアAでのデータポーリング信号POLが“H”となる。このデータポーリング信号は、出力切り換え回路904により外部に出力される。データ読み出し動作は、書込み実行中のコアA以外のメモリセルのデータに関してはどこでも実行可能となり、バンクエリアの制限は無くなる。
次に、データ消去動作の実行中にデータ読み出し動作を行う場合の回路動作について説明する。データ消去コマンド命令が入力されると、インタフェース回路14から消去フラグERASEが出力される。これにより、消去対象のブロックレジスタにビジー情報“H”が書き込まれる。これと同時に、アドレスバッファ10ではカウンタ回路506が動作し、全ブロックレジスタを順番にサーチする。そして、ビジー情報“H”が書き込まれているブロックを含むコアAのアドレスと一致すると、コア選択信号SELbが“H”となり、書込みの場合と同様にコアAのデコーダ回路に、ライト/イレーズ電源線8bの消去用電源が供給され、ライト/イレーズ用アドレスバス線6bのアドレスが供給され、ローカルデータ線がライト/イレーズ用データバス線7bに接続される。これにより、対象ブロックに消去電圧が印加される。この後、対象ブロックのメモリセルは、カウンタ回路506によりインクリメントされて順次ベリファイが実行される。以上の消去実行中の読出し動作は、上述の書込み実行中の場合と同様である。
次に、データポーリング回路動作を説明する。コアAでの書込み又は消去実行中にコアAに読出し命令が入力された時、コアAのイネーブル信号ENBaは“L”、コアAの選択信号SELaも“L”である。これにより、コアAでの読出し動作が禁止される。そしてこのときは、コアAではデータポーリング信号POLが“H”となり、これがポーリングバス線に出力され、データポーリング信号として出力切り換え回路904に入力される。出力切り換え回路904はその信号を受けて、出力バッファ回路906にセンスアンプ回路11aの出力ではなく、ポーリングデータを出力する。
図11は、複数のコアA,B,Cに対して同時にデータ消去の命令があった場合の動作を示している。この場合、コアA,B,Cのコアブロックレジスタ42にビジー情報が記憶される。これにより、消去対象ブロックを含むコアA,B,Cのコアビジー出力回路43は、ビジー情報“H”即ち、イネーブル信号ENBb=“H”を出力し、これらのコアに対しては読出し実行は禁止され、データポーリングされる。
[実施の形態2]次に、上記実施の形態で説明したフラッシュメモリについて、任意のコアの組み合わせにより、任意サイズのバンクを構成するフリーバンク方式の実施の形態を説明する。フリーバンク方式を実現するためには、図12に示すようなバンク構成ROM回路110を各コア毎に用意する。バンク構成ROM回路110は、データ書き換えが可能な任意個数の不揮発性メモリセルMC1,MC2,…,MCnを直列接続した記憶回路を構成している。原理的には一つのメモリセルでも可能であるが、ここでは安全を見込んで複数個用いている。
バンク構成ROM回路110には、チップ外部からインタフェース回路14を介して、選択的にデータ書込みを実行する。即ち、書込みを行わない場合、バンク構成ROM回路110のメモリセルMC1〜MCnのしきい値Vthは低い。従ってこれを読み出すことにより、ノードAは“L”となる。全メモリセルMC1〜MCnにデータ書込みを実行してVthを高くすると、メモリセルMC1〜MCnはオフして、ノードAは“H”になる。即ち、複数のコアは、このバンク構成ROM回路110の書込みにより、ノードAが“L”であるグループ(以下、“L”グループ)と、ノードAが“H”であるグループ(以下、“H”グループ)の二つに分けられる。
“L”グループのバンクビジー出力回路120Aと“H”グループのバンクビジー出力回路120Bはそれぞれ、図13及び図14のように構成される。図13に示すように、“L”グループのバンクビジー出力回路120Aは、各コア毎に設けられたANDゲート121Aによりそれぞれバンク構成ROM回路110の出力をインバータ122により反転した“H”出力と、コアビジー出力回路43のコアビジー出力の積をとる。そして、他の全コアでの対応するANDゲート121Aの出力の和をORゲート123Aでとる。これにより、ORゲート123Aには、“L”グループのバンク内のいずれかのコアで書込み又は消去モードのとき(即ち、コアビジー出力“H”のとき)、“H”出力が得られる。これがトランジスタQ11を介して、バンクビジー出力“H”となる。
但し、バンクビジー出力が出されるのは、書込み命令WRITE又は消去命令ERASEが入力されており、且つフリーバンク命令が入力されているときである。このときANDゲート124Aの出力が“H”となり、トランジスタQ11がオンされる。それ以外のときは、トランジスタQ11はオフ、代わりにインバータ125Aを介してリセット用トランジスタQ12がオンして、バンクビジー出力端子は“L”にリセットされる。
“H”グループのバンクビジー出力回路120Bは、図14に示すように、AN Dゲート121Bによりバンク構成ROM回路110の出力“H”と、コアビジー出力回路43のコアビジー出力の積をとる。そして、他の全コアでの対応するANDゲート121Bの出力の和をORゲート123Bでとる。これにより、ORゲート123Bには、“H”グループのバンク内のいずれかのコアで書込み又は消去モードのとき(即ち、コアビジー出力“H”のとき)、“H”出力が得られる。
図15は、この実施の形態のフリーバンク方式において、バンク内の任意のブロックでデータ書込み又は消去動作が行われるときにそのバンク内の全てのコアをビジーとするための各コア毎に設けられるコアビジー出力回路の構成である。図13及び図14に示したバンクビジー出力回路120A,120Bの出力が、転送ゲートトランジスタQ21,Q22を介してOR接続される。一方のトランジスタQ21はバンク構成ROM回路110の出力をインバータ141により反転した信号により、他方のトランジスタQ22はバンク構成ROM回路110の出力により直接制御される。
従って、“L”グループの場合は、バンク“L”ビジー回路120Aの出力がトランジスタQ21を通ってオアゲート142に入る。一方、“H”グループの場合は、バンク“H”ビジー回路120Bの出力がトランジスタQ22を通ってオフゲート142に入る。ORゲート142には、各コアのブロックレジスタの各レジスタ情報も入る。これにより、いずれかのバンクがビジーであると、そのバンクに所属する全コアについてのコアビジー出力“H”が得られる。これにより、そのバンクのデータ読出しは禁止され、チップ外部にはデータポーリング信号が出力される。
データ書込み又は消去動作が終了すると、図13或いは図14に示すANDゲート124A,124Bの出力が“L”となり、バンクビジー出力はリセットされる。またこのとき、ブロックレジスタの全レジスタ出力も“L”となるので、図15のコアビジー出力も“L”にリセットされる。また、フリーバンク方式から、フリーコア方式への変更は、バンクビジー出力回路120A,120Bに入るフリーバンク命令を“L”とし、バンクビジー出力回路120A,120Bをオフにすることで実現できる。フリーバンク命令は例えば、書き換え可能なROM回路を用いて記憶することができる。このROM回路を書き換えることにより、フリーバンク方式とフリーコア方式を自由に設定することが可能となる。
図15は、バンク構成回路全体の接続例を示す。図13〜図15の説明から明らかなように、各バンクのバンクビジー出力を各コアのコアビジー出力回路43に帰還することにより、“H”グループのコアを互いにリンクさせて一つのバンクとし、“L”グループのコアを互いにリンクさせてもう一つのバンクとすることができる。各バンクでのデータ書込み又は消去と、データ読出しの同時実行の動作は、基本的にフリーコア方式の場合と同様である。そしてこの実施の形態の場合、バンク構成ROM回路110のデータ書き換えにより、“L”グループと“H”グループのバンク構成を任意に変更することが可能である。
[実施の形態3]図17は、図16のバンク構成回路を変形した実施の形態である。図16の構成では、バンクビジー出力回路120A,120BのORゲート123A,123Bに入る多数のビジー信号線が配線される。これに対して、図17では、各バンク毎に1本ずつのビジー信号線163,164としている。これらのビジー信号線163,164は、プルアップ用PMOSトランジスタQ43,Q44が設けられて、バンクビジーが出力されないときは、“H”レベルに設定される。各コアには、ANDゲート121A,121Bの出力により制御されるトランジスタQ41,Q42がそれぞれビジー信号線163,164と接地の間に設けられている。従って、バンクビジーになると、トランジスタQ41或いはQ42がオンして、信号線163或いは164が“L”となり、これがインバータ161,162により反転されて、いずれかのバンクビジー出力回路120A,120Bがバンクビジー出力“H”を出す。この実施の形態によると、信号線の数が大きく削減される。
[実施の形態4]図18は、同様に図16のバンク構成回路を変形した実施の形態である。この実施の形態は、図16におけるORゲート123A,123Bを各コア部に分散してORゲート171,172を配置したものである。これによっても、信号線の削減が図られる。また図17の実施の形態では、トランジスタQ41,Q42により電流消費が発生するが、この実施の形態の場合にはその様な消費電流がなくなり、好ましい。
[実施の形態5]図19は、図16、図17或いは図18のバンク構成回路を変形して、バンクリード出力回路391を設けた実施の形態である。図16、図17或いは図18の実施の形態では、各バンクビジー出力を、そのバンクを構成するコアのコアビジー出力回路にフィードバックさせることにより、フリーバンク方式を実現している。これに対してこの実施の形態では、バンクビジー情報をフィードバックせず、各バンクビジー情報と、バンクリード出力回路391により得られる各バンクリード情報を出力側で比較することにより、データ書込み/消去モードにあるバンク内への読出しアドレス入力(リード情報)を検出して、データポーリングすることにより、見かけ上フリーバンク方式を実現している。
即ち、コアビジー出力回路43により、このコアがデータ書込み/消去モードとして選択されてコアビジー出力ENBb=“H”が出されると、バンク構成ROM回路110により決まる“H”グループ、“L”グループの情報に応じて、ANDゲートG17,G16のいずれかにバンクビジー出力が得られる。これらの出力は、ORゲートG19,G18により他のコアのバンクビジー出力との和がとられる。
また、ANDゲートG20では、コアビジー出力回路43の出力と、リード用アドレス線からのコア選択信号の一致を検出し、このコアがデータ書込み/消去モードにあり、その後読出し要求が入ったときにデータポーリング出力“H”を出す。一方、バンクリード出力回路391では、リード用アドレスバス線からのコア選択信号がANDゲートG11により検知される。このANDゲートG11の出力が“H”即ち、リード情報がでると、バンク構成ROM回路110からの“H”グループ、“L”グループ情報に応じてANDゲートG12,G13のいずれかにバンクリード情報“H”が出力される。これらも、ORゲートG14,G15により他のコアでのリード情報との和がとられて、出力段に転送される。
出力段では、ANDゲートG23,G24によりそれぞれ、“H”グループのバンクビジー情報とリード情報との一致検出、“L”グループのバンクビジー情報とリード情報との一致検出が行われる。ANDゲートG20,G23,G24の出力はORゲートG22により和がとられる。これにより、一方のバンクがデータ書込み又は消去モードにあり、これに読出し要求が入ったときにはデータポーリングすることにより、実質的にフリーバンク方式が得られる。
[実施の形態6]図20は、バンク構成ROM回路110を変形した実施の形態である。この実施の形態では、フューズFSを用いてバンク構成ROM回路110を構成している。この場合にも、メモリチップができた後、フューズFSを選択的に切断することにより、任意サイズの“L”グループと“H”グループのバンク構成が実現できる。但しこの方式では、一旦バンク構成を設定した後は、バンクサイズの変更はできず、またフリーコア方式に戻すこともできない。
[実施の形態7]次に、上記各実施の形態で説明したフラッシュメモリにおいて、データ読出しを高速に行なう実施の形態について説明する。高速データ読み出しモードでは、リード用アドレスバス線6a、リード用データバス線7a、及びこのデータバス線7aに接続されたリード用センスアンプ回路11aを第1のデータ読み出し経路とし、ライト/イレーズ用アドレスバス線6b、ライト/イレーズ用データバス線7b、及びこのデータバス線7bに接続されたベリファイ用センスアンプ回路11bを第2のデータ読み出し経路として、これらのデータ読出し経路を半周期ずつオーバラップ動作させて高速データ読出しを行う。この様な高速データ読み出し動作を実現するためには、図2Aに示す各コアのコア選択回路32a,32b、図5に示す電源線スイッチ回路41、図6に示すアドレスバッファ10、図10に示す出力切り換え回路904等の変更を要する。
まず、高速リード命令が入力されると、図21に示すように、各コアのコア選択回路32a,32bに入るイネーブル信号ENBa,ENBbの端子は、NMOSトランジスタQN211,QN212によりコアビジー出力回路43とは電気回路的に切り離され、プルアップ用PMOSトランジスタQP21,QP22がオンして、共に“H”の状態に固定されるようにする。同時に、図22に示すように、高速リード命令により、コア選択回路32bの電源線スイッチ回路41への経路のNMOSトランジスタQN221がオフ、短絡用NMOSトランジスタQN222がオンして、“L”に固定されるようにする。これにより、全コアのコア選択信号SELa,SELbは、アドレスバス線6a,6bのコアアドレス信号のみで決定され、かつ、デコーダ電源は必ずリード用電源線8aと接続される。
アドレスバッファ10は、図6に示す第2のバッファ段502の部分が、図23に示すように2セットのラッチ回路191,192を持つように変更される。これらのラッチ回路191,192は、読出し対象メモリセルのアドレスをタイミング信号PULSEb,PULSEaにより交互にラッチして、アドレスバス線6a,6bに供給するためのものである。
タイミング信号PULSEa,PULSEbを発生するためには、図23に示すように、アドレス遷移を検知してクロックCLKを発生するクロック発生回路193と、このクロック発生回路193の出力をカウントして周期が2倍のカウント出力COUNTを出すカウンタ回路194を備える。そして、クロックCLKにより活性化されるANDゲート196,197を設け、ANDゲート196にはカウント出力COUNTをそのまま、ANDゲート197にはインバータ195で反転して入れることにより、半周期ずれたタイミング信号PULSEa,PULSEbを発生させる。
図24は、図23の回路動作タイミング図である。図示のように、入力アドレスに同期してクロックCLKが発生され、これに基づいてタイミング信号PULSEa,PULSEbが発生される。このタイミング信号PULSEa,PULSEbによりラッチ回路192,191を制御することにより、アドレスバス線6a,6bに交互にアドレスが転送されることになる。
ラッチ回路191,192の出力には、図6に示したように第3のバッファ段が設けられるが、この場合ラッチ回路191,192と第3のバッファ段の間には、図では省略したが出力比較回路が設けられる。これは、入力アドレスが同一コアの場合は、後から入力されたアドレスを第3のバッフア段に出力せず、データポーリング信号を出力するためである。この様なデータポーリングにより、同一コアの同時選択による回路破壊や誤動作が防止される。
また、図25に示すように、ベリファイ用センスアンプ回路11bの出力と、リード用センスアンプ回路11aの出力を切り換える出力切り換え回路210が必要になる。この出力切り換え回路210は、クロックCLKにより制御されてベリファイ用センスアンプ回路11bと出力とリード用センスアンプ回路11aの出力を交互に切り換えて、出力バッファ回路へデータを出力する。
図26は、この実施の形態での高速データ読み出しの動作タイミング図を示す。図24に示すアドレス(1)、(2)、・・・対応して各センスアンプ回路11a,11bに半周期ずつずれて得られる読出しデータが、クロックCLKにより制御されて高速読出し出力Doutとして出力される。この実施の形態の方式では、ランダムなアドレスへの読出しが通常の半周期で可能な高速データ読み出しとなる。ただし、同一コアへの読出しは禁止され、データポーリングされる。また、チップ外部からのアドレスサイクルをチップ内部で倍のサイクルに倍増しているので、出力データが1サイクル分ずれる。但し、そのようなシステムを知ってシステムを作れば、高速のチップアクセスを実現できる。
なお、高速リード命令は、例えばチップ外部からコマンドにより制御される。あるいはOTPとして使用するならば、チップ内にROMセルで構成されるデータ記憶回路を持ち、そこにデータを書くか否かで高速リード命令をコントロールしても良い。
次に、この発明によるフラッシュメモリでの電源システムの具体的な実施の形態を説明する。その説明に先立って、メモリセルの動作電圧関係を示すと、図27のようになる。データ読み出し時は、メモリセルのゲート(ワード線)に昇圧電位5V、ドレインに1V、ソースに0Vを印加し、セルに流れる電流をセンスアンプで検出する。書込み時は、ワード線に昇圧電位、ドレインに5V、ソースに0Vを印加し、ドレイン,ソース間に発生するホットエレクトロンをフローテイングゲートに注入する。データ消去時は、ドレインをオープンとし、ワード線に−7V、ソースに5Vを印加し、フローティングゲート・ソース間の高電圧によりFNトンネリングによって電子を放出させる。
図28は、メモリセルに対する読み出し、書込み及び消去時の電圧印加システムの概略を示す。メモリセルのワード線は、行デコーダにより駆動される。このデコーダの高電位レベルは、スイッチSW1により、読み出し時はVddr=5V、書込み時はVSW=8Vに接続される。行デコーダの低電位レベルは、スイッチSW3により、消去時はVBB=−7Vに接続される。これにより、ワード線即ち、メモリセルのゲートGには、読み出し時は5V、書込み時は8V、消去時は−7Vが印加される。
メモリセルのドレインDは、読出し時はセンスアンプに接続されてセンスアンプを介して1Vが印加され、書込み時はロードLOADに接続されてこれを介して、5Vが印加される。消去時はドレインはオープンとされる。メモリセルのソースSは、消去時はLOADを介して5Vが印加され、他のモードでは接地される。LOADは、スイッチSW2を介して、Vddとチャージポンプ出力Vddpに接続される。
[実施の形態8]図29は、リード用電源12a及びライト/イレーズ用電源12bの構成例である。リード用電源12a及びライト/イレーズ用電源12bは、例えばバンドギャップリファレンス(BGR)回路を用いた基準電位発生回路320の出力を元に所望のレベルが発生される。このとき、所望のレベルの発生法には、次の3つのケースがある。
ケース(1):チャージポンプ回路をオン/オフ制御する。
ケース(2):ケース(1)で得られる出力を更にレギュレータで制御する。
ケース(3):ケース(1)で得られる出力と定電位(例えばVSS)とをスイッチする。
図29において、リード用電源12a、及びライト/イレーズ用電源12bの3つの電源線8b(1)〜(3)のうち電源線(2)がケース(1)に当たる。即ち、リード用電源12a及びライト/イレーズ用電源線6b(2)では、チャージポンプ回路をオンオフ制御する制御回路322,324bと、これらにより制御されるチャージポンプ回路323,325bにより構成される。これらの電源回路では、電源レベルが所望のレベル以下であれば、チャージポンプ回路が駆動され、所望のレベルに達したらチャージポンプ回路は動作停止するという制御がなされる。
ライト/イレーズ用電源線8b(1)は、ケース(2)に当たり、オンオフ用制御回路324aとこれにより制御されるチャージポンプ回路325a及びチャージポンプ回路325aの出力レベルを制御するレギュレータ制御回路326を有する。これは具体的には、8Vの書込み電圧と、6.5Vのベリファイ読出し用電圧を用いて書込みとベリファイを繰り返す自動データ書込み動作等に用いられるもので、その様な電圧制御にレギュレータ制御回路326が用いられる。
ライト/イレーズ用電源線8b(3)は、ケース(3)に当たり、オンオフ制御用の制御回路324cとこれにより制御される、負電位用のチャージポンプ回路325c及びこのチャージポンプ回路325cの出力をスイッチするスイッチ回路327を有する。スイッチ回路327は、チャージポンプ回路325cが動作していないときに、VSSを出力するために設けられている。以上の3系統のライト/イレーズ電源は、ライトステートマシーン321により出力されるオートコントロール信号により、書込み/消去の動作モードに応じて活性化される。
図30は、図29に示す電源回路の電源線を動作モードに応じて切り換えて各コアに供給するアドレス線スイッチ回路3の一部である電源線スイッチ回路16の構成である。電源線スイッチ回路16は図示のように、3つのスイッチ回路SW1〜SW3により構成される。これらのスイッチSW1〜SW3は、この例ではコアスイッチ制御回路250(具体的には、図5及び図7で説明したコアビジー出力回路42に対応する)の出力である書込み/消去イネーブル信号ENBbにより制御される。
図31は、図29におけるチャージポンプのオンオフ制御を行う制御回路324(322も同様)の構成例である。チャージポンプ回路323,325等から得られる出力VCPを抵抗RloadとRrefの分圧回路により検知して、これと基準電圧Vrefとを比較する演算増幅器331を用いている。演算増幅器331の出力はバッファ332を介して、チャージポンプイネーブル信号CPENBとしして取り出される。
図32は、リード用電源線8aに得られるリード用電源と、ライト/イレーズ用電源線8b(1)、(2)に得られる正のライト/イレーズ用電源とを切り換えるスイッチ回路SW1,SW2の構成例である。イネーブル信号SWENB(図29のイネーブル信号ENBbに相当する)により制御されるレベルシフタ230により、電圧レベルがVCC系からチャージポンプ回路からの正の高電位電源VCPとVSSの間の電圧にシフトされた制御信号が発生される。この制御信号がインバータ233,234を介して、出力段トランジスタQP3,QN3,QP4をオンオフ制御する。即ち、インバータ233の出力が“H”であれば、NMOSトランジスタQN3,PMOSトランジスタQP4がオンして、読出し電源Vddrが出力される。インバータ233の出力が“L”であれば、PMOSトランジスタQP3がオンして、昇圧された電源VSWが出力される。
図33は、ライト/イレーズ用電源線8b(3)に得られる負の電源電位VBBと接地電位VSSとを切り換えるスイッチ回路SW3の構成例である。イネーブル信号SWENBにより制御されるレベルシフタ240により、電圧レベルがVCC系から、中間電位電源VSWと負電源電位VBBの間にシフトされた制御信号が発生される。この制御信号をインバータ243,244を介して、出力段トランジスタQN17,QN18,QP15を制御する。即ち、インバータ243の出力が“H”であれば、NMOSトランジスタQN17がオンして、負電源VBBが出力される。インバータ243の出力が“L”であれば、PMOSトランジスタQP15及びNMOSトランジスタQN18がオンして、VSSが出力される。
図30で説明した電源スイッチ制御方式では、各コアの電源はデータ書込み又は消去動作の間、リード用電源又はライト/イレーズ用電源に固定されるので、複数のコアにまたがって書込み/消去を行うフリーバンク方式の場合にコア選択のアドレス切り換えと無関係に電源遷移を行うことができる。但し、フリーバンク方式ではブロックレジスタの選択されたコアの個数により電源が駆動する容量が異なる。このため、電源遷移時間が選択コアの数に応じてばらつき、或いは選択コアの数が少ない場合には電源遷移が発振するおそれがある。
この様な問題を解決する方法としては、次の二つが考えられる。第1は、コア選択数によらず、電源制御回路(レギュレータ)の負荷の大きさを略一定に保つことである。具体的には、電源制御回路に選択的に接続されるダミー負荷容量を設け、内部電源電圧或いは外部電源電圧を検知してその検知結果に応じて負荷容量を制御する。第2は、コア選択数に応じて駆動能力を切り換えるようにすることである。この場合も具体的には、内部電源電圧或いは外部電源電圧を検知して、その検知信号に応じて駆動能力を切り換えるようにする。具体的にその様な実施の形態の電圧制御回路を以下に説明する。
[実施の形態9]図34は、第1の方法による一つの実施の形態の電圧加算型の電源制御回路である。レギュレータ本体260は、チャージポンプ回路の出力VCPをレベル制御して取り出す差動回路構成のPMOSトランジスタQP21,QP22、NMOSトランジスタQN21,QN22と、これを出力レベルに応じて制御するための二つの演算増幅器OP1,OP2を有する。出力レベルは抵抗RloadとRrefの分圧出力として監視し、これを演算増幅器OP1,OP2に帰還して所定の電圧レベルを得るようにしている。抵抗Rloadは、モード信号MODE1〜MODE4により制御されるスイッチ261により切り換え可能とされ、これにより必要な電源レベルが制御される。
この様な電圧制御型のレギュレータ本体260の出力端子に、この実施の形態では、複数のダミーコア容量Cが任意に選択されて接続されるようにしている。ダミーコア容量Cは、コア選択信号により制御されるPMOSトランジスタQP23により出力端子に選択的に接続される。具体的には、レギュレータの負荷が、常に全コア選択時の容量と一致するように、ダミーコア容量Cが接続されるようにする。以上のような、ダミーコア容量の付加制御により、コア選択数によらず、一定の電源遷移を実現することができる。
具体的には、1コアの容量をC(core)、選択コア数をm(selct)、全コア数をm(total)としたとき、付加するダミーコア容量C(dummy)が、下記数1を満たすように制御すればよい。
[数1]
C(dummy)={m(tatal)−m(select)}・C(core)
[実施の形態10] 図35は、第1の方法によるもう一つの実施の形態であり、電流加算型の電源制御回路に対して同様の工夫を加えたものである。レギュレータ本体280は、これも知られているもので、出力電圧の監視にR/2Rラダー回路と電流経路を切り換えるスイッチ271を用いた電流加算方式を利用している。この場合も、レギュレータ208の出力端子に、ダミーコア容量Cを選択的に接続することにより、上の実施の形態と同様に、常に全コア選択時と同じ負荷容量となるようにする。これにより、コア選択数によらず、一定の電源遷移を実現することができる。
[実施の形態11] 図36は、第2の方法による実施の形態である。レギュレータ260aは、図34に示す電圧加算型のレギュレータ本体260を基本として、ドライブ用のPMOSトランジスタQP22とNMOSトランジスタQN22とを複数系統並列に設けている。これらの各系統には、スイッチ用PMOSトランジスタQP24及びNMOSトランジスタQN24を挿入して、これらをコア選択の状態に応じて選択的にオンオフ制御する。
具体的には、選択コア数をm(selct)、単位ドライバ/負荷のトランジスタサイズをW(unit)、選択コア数に応じて制御されるドライバ/負荷のトランジスタサイズをW(control)として、W(control)=m(select)・W(unit)を満たすように、制御すればよい。これにより、コア選択数に応じて電源制御回路の駆動能力の切り換え(具体的には実質的なトランジスタサイズの切り換え)を行い、コア数によらず一定の電源遷移を実現することができる。
[実施の形態12]図37は、第2の方法による別の実施の形態であり、レギュレータ280aは、図35に示す電流加算型のレギュレータ本体280を基本として、負荷PMOSトランジスタQP22とドライバNMOSトランジスタQN22とを複数系統並列に設けている。これらの各系統には、スイッチ用PMOSトランジスタQP24及びNMOSトランジスタQN24を挿入して、これらをコア選択の状態に応じて選択的にオンオフ制御する。これにより、図36と同様に、コア選択数に応じて電源制御回路の駆動能力の切り換えを行い、コア数によらず一定の電源遷移を実現することができる。
[実施の形態13]図38は、図30の実施の形態の電源線スイッチ制御方式を変形した実施の形態である。この実施の形態では、ビジー出力回路301の出力と、コアアドレス信号の一致をANDゲート302により検知して、電源線スイッチ16を制御する。この場合、ビジー出力回路301は、図39に示すように、各コアプロックレジスタ42の全レジスタのオアをとり、ビジー出力を出すものとする。
この実施の形態の方式では、ライト/イレーズ用電源線8bに接続されるコアは常に1個に限られる。従って、ライト/イレーズ用電源に付加される容量は常に一定であり、ライト/イレーズ用電源の制御性(短時間でのレベル変動)及び、安定性(耐発振性)に優れたものとなる。一方、リード用電源線に接続されるコアは、全コア又は書込み/消去モードの1コアを除くコア数となる。これにより、リード用電源に付加される容量もほぼ一定となり、制御性および安定性に優れたものとなる。
[実施の形態14]次に、リード用電源とライト/イレーズ用電源をスイッチングする際の好ましい制御方法について述べる。フリーコア方式、フリーバンク方式ともに、チップ内のリード用電源及び電源線、ライト/イレーズ用電及び電源線はそれぞれ1セットしか用意されていない。このため、データ書込み又は消去動作終了時に、ライト/イレーズ用電源からリード用電源への切り換えを行うと、切り換えに伴う電源電位変動が生じる。この様子を図40に示す。コアAについてのデータ書込み/消去と、コアBについてのデータ読出しが同時に行われている場合に、コアAの動作が終了して電源切り換えを行うと、図40に示すようにリード用電源電位にバンプが発生し、読出し動作を行っているコアBでは、この電源変動によりアクセスの遅れや、誤データの出力が生じるおそれがある。
これを防止するためには、図41に示すように、ライト/イレーズ用電源は、選択コアをリード用電源に切り換える時点で、既にリード用電源と同じ電位になっているように、切り換えに先立って電源遷移を与える。この様な切り換え制御を行うことにより、リード用電源電位変動が防止され、同時に読み出し動作中のコアでの誤動作が防止される。
[実施の形態15] 次に、コア内のセルアレイブロックの配置と、アドレスバス線、データバス線、電源線等の効率的な好ましい配置関係の実施の形態を説明する。図42及び図43は、その様な好ましいレイアウト例である。1コアがn個のアレイブロックで構成される場合、図42に示すように、1コアを1行×n列で構成するか、或いは図43に示すように2行×(n/2)列で構成する。
図43のように、2行で1コアを構成する場合は、コア内のローカルバス線(アドレス線、データ線、電源線を含む)を向かい合うブロック間で共通にできるのでメリットがあるが、共通バス線(アドレス線、データ線、電源線を含む)のレイアウト領域が増加する。1行もしくは2行構成のどちらを選択するかは、全体のレイアウト領域を勘案する。3行以上で1コアを構成すると、共通バス線の長さが増大するためレイアウトが最小とはならない。2行で1コアを構成する場合、nが奇数であると、2行×[(n+1)/2]列の構成となる。
各コアに共通の共通バスを行方向に配線し、且つ各コアにスイッチ回路(アドレス線スイッチ、データ線スイッチ、及び電源線スイッチ)を配置することにより、共通バスと各コアの間で最短距離でアドレス、データ、電源の各線が配線されるから、効率的なレイアウトとなる。更に各コアのスイッチ回路として、アドレス線スイッチ、データ線スイッチ、電源線スイッチを行方向に配列することでレイアウトはさらに最密なパターンとなる。各コアのローカルアドレス線スイッチは共通バス線と平行に配置するか、多層配線を用いる場合には共通バス線の下に配置する。
図42の1行構成のコアと、図43の2行構成のコアを比較した場合、1行構成コアでは共通バス線及びスイッチ回路のレイアウトが小さくなるが、ローカルバス線が長くなる。1行構成と2行構成のどちらを選択するかは、チップ全体の共通バス線長+ローカルバス線長により判断することとなる。この点を以下に具体的に説明する。
いま、図1に示すように、全コア数 をm(total)、1コア内のブロック数をnとし、且つ1ブロックの行方向の長さをx(Block)、1ブロックの列方向の長さをy(Block)とする。このとき、1行構成コアでの共通バス線長+ローカルバス線長l(1行)は、下記数2となる。
[数2]
l(1行) =y(Block) * n * m(total) +x(Block) * m(total)
一方、2行構成コアでの共通バス線長+ローカルバス線長l(2行)は、下記数3となる。
[数3]
l(2行)
=(1/2)* y(Block) * n * m(total)+2 * x(Block) * m(total)
これらの大小関係は、(1/2)* n * y(Block) < x(Block)の場合には、l(1行)<l(2行)であり、1行構成が有利である。逆の場合は2行構成が有利となる。但し、上の式はブロック数nが偶数の場合であり、nが奇数の場合には(n+1)をnの代わりに代入すれば良い。以上の構成により、フリーバンク方式及びフリーコア方式における最密なレイアウトを実現することができる。
[実施の形態16]図44は、図36に示したレギュレータ電源260aを変形した実施の形態である。演算増幅器OP1,OP2は、電源出力端子に接続された抵抗R1,R2による検出電圧VINTERが帰還されて、内部電源電位VINTが所定の制御レベルになったときに、VINTER=Vrefとなるように全体を制御する。演算増幅器OP1,OP2に設けられたダイオード接続のトランジスタQN42,QN43はリーク用である。演算増幅器OP1により制御される電流源PMOSトランジスタQP41の電流を基準として、チャージポンプ回路出力VCPにより負荷容量に電流を供給する駆動能力の異なる二つのドライブ回路401,402が設けられている。
ドライブ回路401,402のPMOSトランジスタQP48,QP49は、スイッチ回路403,404により選択的に演算増幅器OP1により制御される電流源のノードN3又は昇圧電圧VCPの端子に接続される。ドライブ回路401,402のNMOSトランジスタQN46,QN47のゲートは、スイッチ回路405,406により選択的に演算増幅器OP2の出力ノードN2又は接地電位に接続される。
スイッチ回路403と405は、制御信号SEL1とこれと補の信号SEL1Bにより制御される。スイッチ回路404と406は、制御信号SEL2とこれと補の信号SEL2Bにより制御される。制御信号SEL1=“H”のとき、ドライブ回路401のPMOSトランジスタQP48,NMOSトランジスタQN46がそれぞれノードN3,N2により制御されて、電圧VCPから出力端子に電流を供給する。制御信号SEL2=“H”のとき、ドライブ回路402のPMOSトランジスタQP49,NMOSトランジスタQN47がそれぞれノードN3,N2により制御されて、電圧VCPから出力端子に電流を供給する。また、制御信号SEL1,SEL2を共に“H”にすることにより、ドライブ回路401,402を共に活性化することも可能である。
例えば、一方のドライブ回路401の駆動能力は、他方のドライブ回路402のそれの2倍に設計されているものとする。これらのドライブ回路401,402は、負荷容量に応じて、制御信号SEL1,SEL2により切り換えられる。即ち、負荷容量の小さい動作モードでは、ドライブ回路402が活性化され、負荷容量の大きい動作モードではドライブ回路401が活性化されるようにすることで、電源電位の遷移の遅れや発振等を防止することができる。
この様な電源の駆動能力の切り換え制御を行うことの有効性を、以下に具体的に説明する。図45は、電源の負荷容量(C)と駆動能力(W)の比と、電源遷移時間の関係を示している。最も早い遷移が可能なC/WをXとして、C/W<Xのときは発振等による遷移の遅れが生じる。C/W>Xでは安定動作をするが、C/Wが大きくなるほど遷移時間が比例的に大きくなるという、理論直線にのる。C/WがXに近づくにつれて徐々に理論直線からずれてくるのは、内部電源のオーバーシュートやアンダーシュートにより安定までに時間がかかるためである。内部電源をある遷移時間T1以下で安定に遷移させるためには、X<C/W<X1となるように設定しなければならない。従って、負荷容量Cが複数の異なる値を持つ場合には、駆動能力Wを切り換え制御することが有効になる。
具体的に、図44の電源レギュレータ回路において、制御信号SEL1が“H”のときは、SEL2が“H”のときに比べて、負荷容量が2倍になるものとする。また図44においてドライブ回路が一つだけであるとして、その駆動能力が、制御信号SEL2=“H”の負荷条件を基本として時間T1で電源遷移させるため、C/W=X1になるように設定されたとする。そうすると、制御信号SEL1=“H”の負荷条件の下では、C/Wが2・X1となり、規定の遷移時間を大きく超えてしまう。従って上述のように、制御信号SEL2で制御されるドライブ回路402と別の、制御信号SEL1で選択されるドライブ回路401を用意して、その駆動能力をドライブ回路402の2倍に設定することにより、負荷容量によらず、規定の遷移時間を得ることができる。
この実施の形態は、外部電源レベルの変動に対しても有効である。図46は、内部電源のC/Wと電源遷移時間の関係を、異なる外部電源レベルについて示している。即ち、外部電源が低いときには、発振を起こさず最も速い遷移が可能なC/WがXであるのに対し、外部電源が高くなると、これがX′となる。これは、内部電源の負荷容量と駆動能力が同じであっても、外部電源が高いときは駆動トランジスタの能力が高くなり、充放電が速くなるため、内部電源が発振しやすくなることを示している。内部電源を時間T1で遷移させたい場合、外部電源が低いときは、X<C/W<X1であるのに対し、外部電源が高いときは、X′<C/W<X1′となり、C/Wが高い方にスライドする。
従って、駆動能力を可変としない場合には、発振しない時間T1での遷移の条件を満たすため、駆動能力と負荷をX′<C/W<X1の範囲に設定しなければならず、設計の許容範囲が狭いものとなる。これに対して、図44のように駆動能力を切り換え制御することにより、設定の幅を広げることができる。この場合、制御信号SEL1,SEL2としては、外部電源検知回路の出力等を用いることになる。
[実施の形態17]ここまでの実施の形態では専らフラッシュメモリについて説明した。図1に示したように、大規模のフラッシュメモリで多数のコアを配列する場合、各コアに共通に用いられるデータバス線、アドレスバス線等は通常コアの領域外部に配置される。同様のレイアウトは、フラッシュメモリに限らず、複数の機能ブロックを配列する各種半導体集積回路で利用されている。しかし、コアや機能ブロック数が増加すると、バス線領域のチップに占める面積が増大し、エリアペナルティが大きくなる。
そこで、この様なエリアペナルティの低減、従ってチップサイズ縮小を可能とした実施の形態を図47に示す。図47では、複数の機能ブロックBLKi(図の場合、i=0〜3)が行(X)方向に配列させている。各機能ブロックBLKiは、先の実施の形態で説明したような同種のメモリコア回路であってもよいし、メモリ回路以外の例えば論理回路ブロックであってもよい。即ち、機能ブロックBLKiは、それぞれがある回路機能の固まりとしてまとめられている。各機能ブロックBLKiには、それぞれ外部との信号授受を行うための信号線110が形成されている。
この実施の形態においては、各機能ブロックBLKiに共通に用いられる共通バス線101は、各機能ブロックBLKiの領域上に、X方向に各機能ブロックBLKiにまたがって配設されている。各機能ブロックBLKiの領域の信号線110は下層配線であり、共通バス線101は信号線110上に層間絶縁膜を介して形成された上層配線であって、共通バス線101は適当な箇所でコンタクト111により各機能ブロックBLKiの信号線110に接続されている。
この様なレイアウトを採用することにより、機能ブロックBLKiの領域と別に共通バス線領域を設ける場合に比べて、チップサイズの縮小が可能になる。また共通バス線を各機能ブロックBLKiに引き込むための引き込み配線も不要となる。
[実施の形態18]図48は、上の実施の形態17と同様の手法を、図1で説明したフラッシュメモリに適用した実施の形態である。即ち、図47の機能ブロックBLKiに相当するものとして、フラッシュメモリのセルアレイを構成するコアがX方向に配列されている。各コアに付属して、アドレス信号をデコードするデコード回路(図1における行列デコーダ2に相当)として、コア選択を行うプリデコーダ105と、このプリデコーダ105の出力デコード信号を更にデコードしてコア内の行列選択をする行(X)デコーダ103及び列(Y)デコーダ104を有する。
そしてこの実施の形態では、各コアに付属するプリデコーダ105の領域上に、X方向に連続して、全コアで共通に用いられる共通バス線102が配設される。これにより、コア領域の外に共通バス線領域を設ける場合に比べて、チップサイズの縮小が可能になる。また共通バス線を各コア領域に引き込むための引き込み配線も不要となる。
[実施の形態19]図49は、図48の実施の形態を変形した実施の形態である。コアは行列状に配置されており、X方向に隣接するコアは互いに線対称をなし、Y方向に隣接するコアも同様にXデコーダ103とプリデコーダ105を間に挟んで線対称をなすようにレイアウトされている。図における“F”字パターンはそのコアレイアウトの対称性を示している。図49では、Y方向の上部にある複数コア(00,01,02,03)で共通に利用される共通バス線102aと、下部にある複数コア(10,11,12,13)で共通に利用される共通バス線102bとが設けられている。
この様なレイアウトを採用した上で、隣接するコアのデコード回路の一部導電型ウェル領域を共有化している。即ち、X方向に隣接するコアのYデコーダ104は、PMOSトランジスタを形成するNウェルとNMOSトランジスタを形成するPウェルを有するが、それらの一方、図49の例ではPウェルを素子分離領域を介在させることなく、一体に形成して共有Pウェルとしている。同様に、Y方向に隣接するコアのプリデコーダ105についても、NウェルとPウェルのうち、Pウェルを共有化している。この様に、コアを線対称に行列配置して、デコーダのウェルを共有化することにより、エリアペナルティは一層低減される。
[実施の形態20]図49では、上下のコアに対して別々の共通バス線102a,102bを配設したが、これらの共通バス線102a,102bを共有化することもできる。そのような実施の形態のレイアウトを図50に示す。図50では、図49におけるY方向の上下コアのプリデコーダ105の部分を拡大して示している。各プリデコーダ105は、Nウェル107とPウェル106にそれぞれPMOSトランジスタQPとNMOSトランジスタQNを形成して構成される。前述のように、上下のプリデコーダ105のPウェル106は、共有化される。
そして、上下コアで共有化された共通バス線102が、上下コアのプリデコーダ105の境界領域上に配設されている。共通バス線102は、各プリデコーダ105に配設される信号線108の上層配線として形成されて、適当な箇所でコンタクトを介して信号線108に接続される。図の例は、信号線108がプリデコーダ105の各トランジスタにゲートにつながるアドレス信号線であり、従って共通バス線102もアドレスバス線である。この様に共通バス線をコアで共有化することにより、図49の実施の形態に比べて消費電流を低減することができる。
[実施の形態21]図51A及び図51Bは、図49の実施の形態を変形した実施の形態であり、図49におけるY方向に隣接するコア01,11の部分を抜き出して示している。図49においては、Y方向の上下コアのプリデコーダ105はY方向に対向して隣接している。これに対して、この実施の形態では、上下コアのプリデコーダ105を、X方向に並べて配置している。図49における上下コアの二つのプリデコーダ105の面積をほぼ変えないとすれば、図51Aの場合、一つのプリデコーダ105の領域は、図49のそれに対して、X方向の寸法が約1/2、Y方向の寸法が約2倍になる。
また、図51Bに示すように、この実施の形態では共通バス線102の下にプリデコーダ105のトランジスタQP,QNが配置されるようにしている。この場合、共通バス線102はコンタクトを介して直接トランジスタのゲート電極109に接続することができる。これにより、エリアペナルティをより一層低減することが可能になる。但し、この実施の形態では図51Aaに示す二つのプリデコーダ105は、X方向に線対称ではないから、各プリデコーダ105からのデコード出力線201は、同じX方向に引き出されて上下コアのYデコーダ104に入る。従って、Yデコーダ104への入力部でデコード出力線201が集中する。
[実施の形態22]図52A及び図52Bは、図51A及び図51Bの実施の形態でのデコード出力線201の集中を回避するようにした実施の形態である。これは、図51A及び図51Bの実施の形態における上下コアのプリデコーダ105をX方向に線対称となるようにレイアウトし、且つ上下コアの本体部とYデコーダ104が回転対称となるようにレイアウトしたものである。
このとき、各Yデコーダ105のデコード出力線201は、図52Aに示すように、X方向の両側に引き出されて、Yデコーダ104に入る。従って、図51A及び図51Bの実施の形態に比べてYデコーダ104への配線の集中が緩和され、それだけエリアペナルティを低減することができる。
[実施の形態23]次に、図52A及び図52Bの実施の形態で説明した共通バス線の配設手法を、冗長回路方式のフラッシュメモリに適用した実施の形態を説明する。トンネル電流を利用して電気的書き込み・消去を行うスタックト・ゲート構造の不揮発性メモリセルを用いたフラッシュメモリでは、一括消去の単位であるブロックの中に一つでもワード線がチャネルとショートしたロウ不良があると、そのブロックは不良となる。データ消去の際の消去電圧が一本のワード線のショートのために全ブロックについてかからなくなるためである。そこで、この様な不良に対して冗長ブロックを設けて、不良救済を行うブロック・リダンダンシーが用いられる。
実施の形態1で説明したように複数ブロックの集合によるコアを構成した場合に、ブロック・リダンダンシーを実現するには、冗長ブロックをコアに付属させず、独自のデコーダ回路を備えて、コア内の任意のブロックと置換できるようにすることが好ましい。その様な冗長ブロックを備えた実施の形態のレイアウトを図53に示す。
図53では、それぞれ複数のブロックから構成される二つのコアを示している。冗長ブロック301には、前述のようにコアとは独立にXデコーダ302とYデコーダ303及びこれらの前段になるプリデコーダ304が設けられている。そして、コア本体用のプリデコーダ105と、冗長ブロック301のプリデコーダ303とが、先の図52A及び図52Bの実施の形態の上下コアの二つのプリデコーダと同様の関係でレイアウトされている。
即ち、コア側のプリデコーダ105と、冗長ブロック301側のプリデコーダ304とは、本体コアと冗長ブロック301の間の領域に、X方向に並べて線対称に配置されている。そして、これらのプリデコーダ105,304の領域上に共通バス線305がX方向に連続するように配設されている。共通バス線305は、先の実施の形態22と同様に、コンタクトを介して各プリデコーダ105,304の入力信号線に接続されている。各プリデコーダ105,304のデコード出力線201,306は図52Aの場合と同様に、それぞれコア及び冗長ブロック301のYデコーダ104,303に振り分けて接続される。この様に冗長回路方式のフラッシュメモリにおいても、共通バス線の配置を考慮することにより、エリアペナルティを効果的に低減することが可能になる。
[実施の形態24]次に、実施の形態1で説明したような、データ書き込み・消去とデータ読み出しを同時に行うことを可能としたフラッシュメモリに適用される好ましいセンスアンプ回路の実施の形態を説明する。通常、この種のフラッシュメモリに用いられるデータ読み出し系統は、図54に示すように構成される。セルアレイ401からカラムゲート402により選択されたデータ線DLがデータ比較回路403の一方の入力端子に入る。データ比較回路403の他方の入力端子につながる参照データ線REFは、ダミーカラムゲート404を介して定電流源405に接続されている。これにより、データ線DLの電流と参照データ線REFの電流の比較により、データ“0”,“1”の判別が行われる。
例えば、フラッシュメモリがNOR型であるとする。このとき、図56に示すように、メモリセルはドレイン側からのホットエレクトロン注入により浮遊ゲートFGに電子が蓄積されて、しきい値電圧の高い状態(例えば“0”状態)になる。また、浮遊ゲートFGの電子をチャネル側に放出させることにより、しきい値電圧の低い状態(例えば、“1”状態)となる。このしきい値電圧の差による電流引き込みの有無をデータ比較回路403で比較検出することにより、データが判別される。データ比較回路403は例えば、図55に示すように、CMOS差動アンプDAを主体として構成される。
データ書き込み・消去動作では、書き込み又は消去状態を確認する確認読み出し動作が行われるが、一般にこの確認読み出しに用いられる定電流源として、通常のデータ読み出しに用いられるものと共有とすることが可能である。しかし、データ書き込み・消去とデータ読み出しを同時に行うことを可能としたフラッシュメモリでは、通常のデータ読み出しと確認読み出しとが非同期で行われる。この場合、データ線イコライズの必要から、定電流源を共有とすることは難しくなる。データ線イコライズとは、データ読み出しの高速化のために、図54に示すデータ線DLと参照データ線REFを短絡してこれらを同電位状態に初期化することをいう。
そこで通常は、通常のデータ読み出し系と確認読み出し系の定電流源を別々に用意することになるが、これは別の問題を派生する。即ちそれぞれの定電流源にばらつきがあると、確認読み出し動作で検出されるメモリセルのしきい値電圧と、通常読み出し動作で検出されるしきい値電圧とが異なることになり、誤読み出しの原因となるからである。
そこでこの実施の形態では、通常読み出し動作での定電流源と確認読み出し動作での定電流源とが同じ電流値となるような読み出しシステム構成とする。その読み出しシステム構成を図57に示す。ここでは、データ書き込み・消去モードにあるコア0と、データ読み出しモードにあるコア1との二つのコアの読み出し系を示している。各コアの401a,401bのビット線は、カラムゲート402a,402bにより選択される。各系統の出力は、データ線スイッチ407により任意に切り換えられる。データ線スイッチ407により選択されて有効となるデータ線DLa,DLbはそれぞれデータ比較回路403a,403bに入る。各データ比較回路403a,403bの参照信号線REFa,REFbはそれぞれダミーカラムゲート404a,404bを介して、共通の定電流源406に接続される。
定電流源406は、図58のように構成されている。基準定電流源501は、PMOSトランジスタQP1,QP2の対を用いたPMOSカレントミラーと、PMOSトランジスタQP1にスイッチングNMOSトランジスタQN1を介して接続される基準電流源トランジスタT0、PMOSトランジスタQP2にスイッチングNMOSトランジスタQN2を介して接続されるNMOSトランジスタQN3を有する。NMOSトランジスタQN1,QN2は制御信号SWにより駆動されて、基準定電流源501の活性、非活性が制御される。NMOSトランジスタQN3は、NMOSトランジスタQN2を介してダイオード接続されることになる。
基準電流源トランジスタT0に流れる電流I0が基準電流である。PMOSトランジスタQP1,QP2が同じ素子パラメータであれば、このPMOSカレントミラーの作用により、NMOSトランジスタQN3には、基準電流I0が流れる。そして、この基準電流I0により決まる基準定電流源501の出力ノードNの電位により並列に駆動される二つの電流源NMOSトランジスタT1,T2が設けられている。これら二つのNMOSトランジスタT1,T2は、同じ素子パラメータを有するものとし、ドレインがそれぞれ参照信号線REFa,REFbに接続されることになる。
これにより、電流源トランジスタT1,T2には同じ電流が流れるため、設定電流値がずれたとしても、通常の読み出し動作と確認読み出し動作における参照信号線REFa,REFbの電流値が常に同じになり、高い読み出しマージンが得られる。
この実施の形態において、基準電流源501の基準電流源トランジスタT0として、好ましくは、メモリセルアレイに用いられる不揮発性メモリセルと同じ電気的書き換え可能な不揮発性メモリセルを用いる。この場合、基準電流源トランジスタT0の書き換えを行うことにより、基準電流値I0を変更することができ、従って参照信号線REFa,REFbの電流値を変更することができる。この様に基準電流値I0を変更しても、参照信号線REFa,REFbの電流値は同値となる。以上のようにこの実施の形態によると、通常読み出し系と確認読み出し系の参照信号線に流れる電流を常に同じに保つことができ、読み出しマージンの低下や誤読み出し等を確実に防止することが可能になる。
1…メモリセルアレイ、2…デコード回路、3…アドレス線(及び電源線)スイッチ回路、4…ローカルデータ線、6a…リード用アドレスバス線、6b…ライト/イレーズ用アドレスバス線、7a…リード用データバス線、7b…ライト/イレーズ用データバス線、8a…リード用電源線、8b…ライト/イレーズ用電源線、10…アドレスバッファ、11a…リード用センスアンプ回路、11b…ベリファイ用センスアンプ回路、12a…リード用電源、12b…ライト/イレーズ用電源、14…インタフェース回路、15…ライト/イレーズ制御回路、32a,32b…コア選択回路、42…コアブロックレジスタ、43…コアビジー出力回路。