実施の形態の説明に先立って、まず、この発明の前提となった参考例について説明する。
図1は本参考例に係るeDRAMの全体の構成を示すブロック図であり、外部回路との間でデータの授受を行うインターフェース回路であるI/Oブロック1を有し、このI/Oブロック1に外部回路から供給された入力データDIN1…DINmはそれぞれI/Oブロック1内に設けられたラッチ回路を構成するフリップフロップ1a…1cにラッチされる。フリップフロップ1a…1cにラッチされた入力データDIN1…DINmはI/Oブロック1に接続されたデータ記憶部のグローバルデータ線WDL1…WDLmに夫々伝送され、グローバルデータ線WDL1…WDLmに共通に接続された複数のサブマクロ2〜5のデータ制御回路であるDQBブロック2B〜5Bに供給される。
これらのDQBブロック2B〜5Bはそれぞれ複数のDQB回路2B1〜2Bm、3B1〜3Bm、4B1〜4Bm、5B1〜5Bmから構成されており、ローカルデータ線DQt/cを介してメモリブロック2C〜5Cに夫々接続している。DQBブロック2B〜5Bはこのローカルデータ線DQt/cを介してメモリブロック2C〜5Cとの間でデータの書き込み、読み出しを行うことができる。例えば、メモリブロック5Cには複数のメモリセルがアレイ状に配列されたセルアレイ5Caと、このセルアレイ5Caに接続されたSA(センスアンプ)ブロック5Cbとが複数設けられている。他のメモリブロック3C〜5Cも同様に構成されている。
サブマクロ2〜5内に夫々設けられたDQB回路2B1〜5B1は図2に示すようにデータの書き込み、読み出し用の制御回路を有する。図2において、例えばDQB回路5B1は、グローバルデータ線WDL1からの書き込みデータWD/DMをラッチするラッチ回路6aと、この書き込みデータの各ビットを相補書き込みデータとしてローカルデータ線DQt/cに供給するDQドライバ回路6bと、メモリブロック5Cから読み出された相補読み出しを取り込んで増幅するリードアンプ6cと、このリードアンプ6cの出力データをラッチするリードデータラッチ回路6dと、このラッチ回路6dにラッチされたデータをグローバルデータ線RDL1に出力する出力回路6eとより構成される。他のDQB回路2B1〜2Bm、3B1〜3Bm,4B1〜4Bmも同様に構成される。
ここで、図3を参照して図2に示した出力回路6eの内部構成を詳細に説明する。図3において、読み出しデータのラッチ回路6dにラッチされた読み出しデータは、NANDゲート6e2およびNORゲート6e3の夫々一方の入力端に供給される。これらのゲート6e2,6e3の他方の入力端には読み出しデータ線のドライブイネーブル信号RDDRVACTが直接およびインバータ6e1を介して供給される。一方のNORゲート6e3の出力はNチャネルトランジスタ6e4のゲートに供給され、他方のNANDゲート6e2の出力はPチャネルトランジスタ6e5のゲートに供給される。トランジスタ6e4のソース側は接地され、トランジスタ6e5のソース側は電圧Vの電源に接続される。トランジスタ6e4,6e5の接続点は読み出し用のグローバルデータ線RDL1に接続される。
図1において、例えばI/Oブロック1に供給された入力データDIN1をサブマクロ5に書き込む場合、入力データDIN1はラッチ回路1aにラッチされた後、グローバルデータ線WDL1を介して図2のDQB回路5B1のラッチ回路6aにラッチされる。ラッチされた入力データはDQドライバ回路6bによりメモリブロック5C内のアドレス指定されたセルアレイ内に書き込まれる。
データ読み出し時には、例えばメモリブロック5Cが選択されると、そのローカルデータ線DQt/c上に読み出された相補データはリードアンプイネーブル信号RDDrvEnableの活性化によりリードアンプ6cに取り込まれる。このリードアンプ6cにより増幅されたデータはラッチ回路6dにラッチされた後、出力回路6eに供給される。例えばラッチ回路6dからの読み出しデータがHレベルであれば、読み出し時には図3におけるイネーブル信号RDDRVACTがHレベルとなることから、NORゲート6e3の出力はLレベルとなり、トランジスタ6e4は非導通となる。一方、NANDゲート6e2の2つの入力はともにHであるから他方のトランジスタ6e5のゲートにはLレベルが供給され、このトランジスタ6e5は導通し、グローバルデータ線RDL1にはトランジスタ6e4,6e5の接続点のレベルのHレベルデータ、即ち1の読み出しデータが出力される。ラッチ回路6dからの読み出しデータがLレベルであれば、トランジスタ6e4が導通し、グローバルデータ線RDL1には0データが送出される。
メモリブロック5Cが非選択の場合にはイネーブル信号RDDRVACTはLレベルなので、いずれのトランジスタ6e4,6e5も導通せず、出力回路6eは高インピーダンス状態となる。
このように、この出力回路6eはトランジスタ6e4が導通、トランジスタ6e5が導通、いずれのトランジスタ6e4,6e5が非導通の高インピーダンス状態(Hiz)の3つの状態を持つトライステートバッファ回路である。
図1乃至図3のように構成された回路形態では、4個のサブマクロ2〜5をグローバルデータ線WDL1〜WDm,RDL1〜RDLmを介してI/Oブロック1に縦続接続してメモリマクロを構成したが、より多くのサブマクロをグローバルデータ線に縦続接続すればより大容量とすることができる。しかしながら、サブマクロを多くすればそれだけグローバルデータ線長が増大し、RC遅延が増大し、高速動作実現が困難になる。以下の実施形態ではこの点を改善した。
以下、このような知見に基づいて構成された本発明の実施の形態について図面を参照して説明する。
<第1の実施形態>
図4は第1の実施形態の構成を示すブロック図であり、外部回路10との間でデータの授受を行う2個のI/Oブロック11,21がI/Oブロック制御回路31を介して横方向に並置されている。これらのI/Oブロック11,21に対してI/Oブロック制御回路31が共用されるように構成され、全体としてはインターフェース部IFを構成している。
このインターフェース部IFのI/Oブロック11上には、縦方向にデータ記憶ユニットであるサブマクロ12,13が縦続接続される。ここでは順次積み重ねて設けられる。ここでは2個のサブマクロ12、13の縦続構成を示したが、縦続接続されるサブマクロの数は必要とする記憶容量に応じて決定されるべきものである。同様に、I/Oブロック21上にも2個のサブマクロ22,23が設けられる。
サブマクロ12は、I/Oブロック11の上に隣接して形成された第1のメモリブロック12Aと、この第1のメモリブロック12Aの上に形成されたデータ制御部(以下、ここではDQBブロックと称する)12Bと、このD QBブロック12Bの上に形成された第2のメモリブロック12Cとで構成される。メモリブロック12Aは複数のセルアレイ12Aaと、これらのセルアレイに付随して形成された複数のセンスアンプブロック12Abとで構成される。同様に、DQBブロック12Bを介してメモリブロック12Aとは反対側に形成されたメモリブロック12Cも、複数のセルアレイ12Caと、これらのセルアレイに付随して形成された複数のセンスアンプブロック12Cbとで構成される。
サブマクロ12において、DQBブロック12Bはその上下に配置された2つのメモリブロック12A、12Cに対して共通に設けられている。I/Oブロック11とDQBブロック12Bとは、書き込みデータ線WDLおよび読み出しデータ線RDLを含む複数のグローバルデータ線GDLによって接続され、DQBブロック12Bとメモリブロック12A、12Cとは相補ローカルデータ線DQt/cを含むローカルデータ線LDLによって相互に接続される。
同様に、このサブマクロ12の上に配置されたサブマクロ13も、メモリブロック12Cの上に隣接して形成された第1のメモリブロック13Aと、この第1のメモリブロック13Aの上に形成されたDQBブロック13Bと、このDQBブロック13Bの上に形成された第2のメモリブロック13Cとで構成される。メモリブロック13Aは複数のセルアレイ13Aaと、これらのセルアレイに付随して形成された複数のセンスアンプブロック13Abとで構成される。同様に、DQBブロック13Bを介してメモリブロック13Aとは反対側に形成されたメモリブロック13Cも、複数のセルアレイ13Caと、これらのセルアレイに付随して形成された複数のセンスアンプブロック13Cbとで構成される。
サブマクロ13において、DQBブロック13Bはその上下に配置された2つのメモリブロック13A、13Cに対して共通に設けられている。I/Oブロック11とDQBブロック13Bとは、書き込みデータ線WDLおよび読み出しデータ線RDLを含む複数のグローバルデータ線GDLによって接続され、DQBブロック13Bとメモリブロック13A、13Cとは相補ローカルデータ線DQt/cを含むローカルデータ線LDLによって相互に接続される。
サブマクロ12を構成するメモリブロック12AとDQBブロック12Bとメモリブロック12Cとに沿ってサブマクロ制御回路14が形成され、サブマクロ13を構成するメモリブロック13AとDQBブロック13Bとメモリブロック13Cとに沿ってサブマクロ制御回路15が形成される。
他方のI/Oブロック21に縦続接続された2個のサブマクロ22,23も夫々サブマクロ12、13と同様に構成される。サブマクロ22はDQBブロック22Bの上下に配置されたメモリブロック22A、22Cを有し、サブマクロ23はDQBブロック23Bの上下に配置されたメモリブロック23A、23Cを有する。DQBブロック22B、23Bはそれぞれグローバルデータ線GDLを介してI/Oブロック21に接続され、DQBブロック22B、23Bは夫々ローカルデータ線LDLを介して上下に設けられたメモリブロック22A、22C、23A、23Cに接続される。また、これらのサブマクロ22、23もそれぞれ、サブマクロ12、13と共通にサブマクロ制御回路14、15により制御される。
I/Oブロック11、21と外部回路10との間は複数のデータ入力線DIとデータ出力線DOにより接続される。I/Oブロック11、21は外部回路10とのデータの授受のためのラッチ回路を有するが、このラッチ動作については図5を参照して後で説明する。
ここで、図4に示した構成において、外部回路10からの書き込みデータをサブマクロ12、13、22、23に書き込む場合のRC遅延、論理遅延、データスキュー、クロックスキューの問題を考える。
外部回路10からI/Oブロック11、21に供給された書き込みデータは、グローバルデータ線GDLを介してサブマクロ12、13、22、23の夫々中央に設けられたDQBブロック12B、13B、22B、23Bに選択的に供給される。例えばサブマクロ12に書き込む場合、書き込みデータは先ずDQBブロック12Bに供給され、次いでローカルデータ線DQt/cを介してメモリブロック12Aもしくはメモリブロック12Cに書き込まれる。
DQBブロックをDQBブロック両側のメモリブロック共通に設ける本実施形態は、図1に示される各々のメモリブロックに対してDQBブロックを設ける構成に比べDQBブロックの数を削減することが可能となり、グローバルデータ線長がその分小さくなる。このことは、グローバルデータ線のRC遅延を減少させる。また、グローバルデータ線の配線容量の抑制にもつながることから、配線を駆動する論理回路の縮小化、論理遅延削減等にも効果を及ぼす。また、副次的に下記に示すスキュー低減効果をもたらす。
即ち、メモリブロック12CはI/Oブロック11から見るとメモリブロック12Aより遠い位置にあるが、書き込みデータはI/Oブロック11から一度DQBブロック12Bにラッチされてから各メモリブロックへ供給されるためメモリブロック12Cと12Aはデータバス上は等しい距離となり、メモリブロック12Aに書き込まれる場合と比較してRC遅延、論理遅延を受けることはなく、スキューの問題も生じない。他のサブマクロ13、22、23に書き込む場合も同様である。また、サブマクロ12、13、22、23から外部回路10にデータを読み出す場合もデータの流れの方向が逆になるだけで、同様の効果が得られることは勿論である。
ここで、図5を参照してI/Oブロック11、21およびI/Oブロック制御回路31で構成されるインターフェース部IF、サブマクロ13、23内のDQBブロック13B、23Bの周辺部、およびサブマクロ制御回路15を例に取ってその内部構成を詳細に説明する。
図5において、インターフェース部IF内のI/Oブロック制御回路31内のクロックドライバDCLKには外部からのクロック入力CLKINが供給される。このクロックドライバDCLKはクロック入力CLKINを受け、eDRAMの内部基本クロック信号CLKを生成する。
更に、外部から列アドレス入力信号CADDIN<0:n>、バンクアドレス入力信号BASELIN<0:m>、読み出しコマンド入力信号RDIN、書き込みコマンド入力信号WTINがI/Oブロック制御回路31内の制御信号入力回路CTLINに供給されて、内部基本クロック信号CLKによりラッチされ、列アドレス信号CADD<0:n>、メモリブロック選択信号BASEL<0:m>、読み出しおよび書き込みコマンド信号RD、WTが生成される。
I/Oブロック11、21は夫々複数の書き込みデータラッチ回路DIN、および読み出しデータラッチ回路DOUTが配列された構成を有する。書き込みデータラッチ回路DINはI/Oブロック制御回路31内に設けられたデータ入出力ラッチドライバDIOLTCにより生成される書き込みデータラッチ信号IODILTCにより外部入力データDIをラッチし、グローバルデータ線GDLの一部であるデータ書き込み線WDLに送出する。読み出しデータラッチ回路DOUTは、データ入出力ラッチドライバDIOLTCにより生成される読み出しデータラッチ信号IODOLTCによりeDRAMからの読み出しデータをグローバルデータ線GDLの一部であるデータ読み出し線RDLを介して受け取ってラッチし、外部出力データDOとして外部回路10に送出する。
このデータ入出力ラッチドライバDIOLTCはI/Oブロック11、21に対して夫々用意されており、共通に設けられているデータ入出力制御回路DIDOによりそれぞれ制御される。すなわち、データ入出力制御回路DIDOは、データ書き込み時に書き込みコマンドWTを受け、基本クロック信号CLKに同期して書き込みデータラッチ活性化信号DILTCACTを活性化する。また、データ読み出し時には読み出しコマンドRDを受け、基本クロック信号CLKに同期して出力データラッチ活性化信号DOLTCACTを活性化する。これらの活性化信号DILTCACT、DOLTCACTはデータ入出力制御回路DIDOから2つのデータ入出力ラッチドライバDIOLTCに供給され、データラッチ回路DOUT、DINを制御する。
サブマクロ13、23のメモリバンク内にあるセンスアンプ(SA)ブロック13Cb、23Cbは、複数のSAグループが配列された構成を有する。あるSAグループ内のSAは全てDQBブロック13B、23Bの一方の側および他方の側でCSLゲートに供給されるカラムセレクトライン(列アドレス選択信号)CSLに制御され、共通の相補ローカルデータ信号線DQt/cに対してデータの読み書きを行う。即ち、SAグループ内の各CSLゲートには複数の列アドレス選択信号のうちのひとつが供給され、活性化された列アドレス選択信号に接続されるCSLゲートだけが導通し、選択されたSAと相補ローカルデータ線DQt/cとの間でデータの読み書き動作が行われる。
実際には各サブマクロ内のDQBブロックは複数のDQB回路が配列された構成を持つ。例えばサブマクロ13におけるDQBブロック13B内の一組の書き込み、読み出しデータ線WDL、RDLに関して設けられる1個のDQB回路は、グローバルデータ線WDLを介してI/Oブロック11からデータを受け取ってラッチする両側メモリブロック共用の書き込みデータラッチ回路13B11と、DQBブロック13Bの一方側に設けられたメモリブロック13Cに対するデータ供給のための一方側ドライバ13B12と、DQBブロック13Bの他方側に設けられたメモリブロック13Aに対するデータ供給のための他方側ドライバ13B13と、相補ローカルデータ線DQt/cを介してメモリブロック13Cまたは13Aから読み出されたデータが増幅のために共通に供給されるリードアンプ回路13B14と、このリードアンプ回路13B14からの読み出しデータをグローバルデータ線RDLを介してI/Oブロック11に出力するための読み出しドライバ13B15とにより構成される。各一組の書き込み、読み出し用のグローバルデータ線WDL、RDLに関して同様に構成されたDQB回路が構成される。
一組のグローバルデータ線WDL、RDL毎に、これらのドライバ回路等13B12−13B15にはDQBブロック13Bの両側に夫々設けられた相補ローカルデータ線DQt/cが接続され、一方側メモリブロック13Cおよび他方側メモリブロック13Aにより共有されている。
即ち、書き込みデータラッチ回路13B11は書き込み用のグローバルデータ線WDLに接続され、サブマクロ制御回路15内に設けられたラッチ回路ドライバ1511により生成されるデータラッチ信号WDLTCによりグローバルデータ線WDL上の書き込みデータをラッチし、ラッチ書き込みデータDQWDを生成する。このラッチ書き込みデータDQWDは、一方側書き込みデータドライバ13B12および他方側書き込みデータドライバ13B13に供給され、ここから更にローカルデータ線DQt/cに送出され、アドレスデータにより指定されたメモリブロック13Aあるいは13Cに書き込まれる。
即ち、一方側書き込みデータドライバ13B12および他方側書き込みデータドライバ13B13は、サブマクロ制御回路15内に設けられたこれら書き込みデータドライバ夫々に対応するドライバ活性化用ドライバ1512、1513が生成するドライバ活性化信号U/LDQDDRVACTにより活性化されて、書き込みデータDQWDを相補ローカルデータ線DQt/c上に送出する。相補ローカルデータ線DQt/cに伝えられた書き込みデータは複数の列アドレス選択信号線CSLのうちの活性化された信号線に接続されたCSLゲートを介してセンスアンプに書き込まれ、更にメモリブロック13A、13C内の選択されたセルアレイ内のメモリセルに書き込まれる。
DQBブロック13B内のリードアンプ回路13B14は、一方側メモリブロック13Cに対応する相補ローカルデータ線DQt/cおよび他方側メモリブロック13Aに対応する相補ローカルデータ線DQt/c双方に接続されている。サブマクロ制御回路15内の一方側読み出しアンプ活性化ドライバ1514、他方側読み出しアンプ活性化ドライバ1515により夫々生成される活性化信号URAMPACT、LRAMPACTが供給されると、リードアンプ回路13B14は相補ローカルデータ線DQt/c上の読み出しデータを取り込み、増幅、ラッチする。ラッチされた読み出しデータDQRDはグローバルデータ線RDLに送出され、I/Oブロック11を介して外部回路10に送られる。即ち、リードアンプ回路13B14から出力された読み出しデータDQRDはドライバ13B15に送られ、このドライバ13B15はサブマクロ制御回路15内のドライバ活性化ドライバ1516から発生される活性化信号RDDRVACTにより活性化され、読み出しデータDQRDがグローバルデータ線RDLに伝えられる。
このように、サブマクロ制御回路15内には、DQBCSL制御回路1517、両側CSLドライバ1518、1519、両側活性化ドライバU/LDQDRVACT1512、1513、ラッチ回路ドライバ13B12、アンプ活性化ドライバ1514、1515、読み出しドライバ活性化ドライバ1516などが配置されている。
DQBCSL制御回路1517にはeDRAM内部の基本クロックCLKが供給されており、このクロックCLKに同期して動作される。その他、図5に示すように、読み出しコマンドRD、書き込みコマンドWT、メモリブロック選択信号BASEL<0:m>のうちのサブマクロ制御回路15が隣接する他方側のメモリブロック13Aおよび23Aが割り付けられたメモリブロック選択信号BASEL<i>、他方側部のメモリブロックに割り付けられたメモリブロック選択信号BASEL<j>が入力される。
更に具体的に説明する。DQBCSL制御回路1517はデータ読み出し時に読み出しコマンドRDを受け、eDRAM内部基本クロックCLKに同期してイネーブル信号RDDRVACTENBを活性化し、ドライバ1516にドライバ活性化信号RDDRVACTを生成させる。これと同時に、メモリブロック選択信号BASEL<j>により一方側部メモリブロック13Cおよび23Cが選択されているときは、イネーブル信号URAMPACTENBが活性化され、ドライバ1514から活性化信号URAMPACTが生成される。一方、他方側メモリブロック13Aおよび23Aがメモリブロック選択信号BASEL<i>により選択されたときは、イネーブル信号LRAMPACTENBが活性化されてドライバ1515からアンプ活性化信号LRAMPACTが生成される。
一方、DQBCSL制御回路1517は、データ書き込み時には書き込みコマンドWTを受けて、eDRAM内部基本クロックCLKに同期してイネーブル信号WDLTCENBを活性化し、ドライバ1511から書き込みラッチ信号WDLTCが発生される。これと同時に、メモリブロック選択信号BASEL<j>により一方側メモリブロック13Cおよび23Cが選択されているときは、イネーブル信号UDQDRVACTENBが活性化され、ドライバ1512から活性化信号UDQDRVACTが生成される。一方、他方側メモリブロック13Aおよび23Aがメモリブロック選択信号BASEL<i>により選択されたときは、イネーブル信号LDQDRVACTENBが活性化されてドライバ1513から活性化信号LDQDRVACTが生成される。
更に、DQBCSL制御回路1517は、書き込み時および読み出し時のいずれの場合も、読み出しコマンドRD或いは書き込みコマンドWTを受けて、メモリブロック選択信号BASEL<j>が活性化されている場合にはドライバ活性化信号UCSLACTを活性化してドライバ1518を活性化し、メモリブロック選択信号BASEL<i>が活性化されている場合にはドライバ活性化信号LCSLACTを生成してドライバ1519を活性化させる。
ここで、図5に示したリードアンプ回路13B14の具体回路の一例を図6を参照して詳細に説明する。このリードアンプ回路13B14は、DQBブロック13Bの両側に接続された2つのメモリブロック13C、13Aによる共有化が容易になる構成を持つものである。
図5に示したDQBブロック13Bに接続された一対のローカルデータ線DQt/cのうち、一方側のメモリブロック13Cと接続された一方を図6では参照符号UDQt/cで示し、他方側のメモリブロック13Aと接続された他方のローカルデータ線をLDQt/cで示す。図6において、一方側の一方のローカルデータ線UDQtはPチャネル型のトランジスタTr1の一端に接続され、他方のローカルデータ線UDQcはPチャネル型のトランジスタTr2の一端に接続される。トランジスタTr1の他端は内部データ線Qt、およびPチャネル型のトランジスタTr3を介して他方側の一方のローカルデータ線LDQtに、トランジスタTr2の他端は内部データ線QcおよびPチャネル型のトランジスタTr4を介して他方側の他方のローカルデータ線LDQcに接続される。トランジスタTr1、Tr2のゲートは互いに接続され、その接続点には一方側リードアンプ活性化信号URAMPACTが供給され、トランジスタTr3、Tr4のゲートの接続点には他方側リードアンプ活性化信号LRAMPACTが供給される。
内部データ線Qt/c間には2個のPチャネルのセンストランジスタTr5、Tr6が直列に接続されるとともに、このトランジスタ回路と並列に2個のNチャネルのセンストランジスタTr7、Tr8が直列に接続される。内部データ線Qt側に接続されたセンストランジスタTr5、Tr7のゲートは他方の内部データ線Qcに共通に接続され、センストランジスタTr6、Tr8のゲートは内部データ線Qtに共通に接続される。トランジスタTr5、Tr6の接続点には電源電圧Vが供給される。トランジスタTr7、Tr8の接続点はNチャネルのトランジスタTr9を介して接地される。このトランジスタTr9のゲートにはNAND回路31Aの出力端子が接続するインバータ36の出力端子が接続され、このNAND回路31Aの入力端子には前記一方側リードアンプ活性化信号URAMPACT、他方側リードアンプ活性化号LRAMPACTが供給される。
インバータ36の出力端子は更に2つのNAND回路32、33の一方の入力端子に接続される。NAND回路32、33の他方の入力端子はそれぞれ内部データ線Qt、Qcに接続される。NAND回路32、33の出力端子は2つのNAND回路34、35で構成されるフリップフロップ回路FFの入力端子に接続され、その出力端子には読み出しデータDQRDが得られる。
一方側メモリブロック13Cあるいは他方側メモリブロック13Aからのデータ読み出し時には、図5に示した2つのドライバ1514、1515から発生される2つのリードアンプ活性化信号URAMPACT、LRAMPACTのいずれか一方が活性化されてLレベルとなる。例えば一方側メモリブロック13cからデータを読み出す場合、リードアンプ活性化信号URAMPACTがLレベルとなる。これによりPチャネルのトランジスタTr1、Tr2が導通して一方側ローカルデータ線UDQt/c上の読み出しデータがリードアンプ回路13B14に供給される。このとき、NAND回路31の一方の入力がLレベルとなることからインバータ36の出力はLレベルに変化し、トランジスタTr9が非導通となる。リードアンプ活性化信号URAMPACTがHレベルとなると、NAND回路31の両方の入力がHとなることから、インバータ36の出力もHとなり、Tr9が導通してTr5−Tr9によりQt,Qc上に読み出されたデータが増幅される。
更に、インバータ36からのHレベルの出力は、リードアンプセンス信号RSAONとして、NAND回路32、33の一方の入力として供給される。これにより、トランジスタTr5−Tr9により増幅されたデータが、NAND回路32、33を介してNAND回路34およびNAND回路35で構成されるフリップフロップ回路にラッチされ、読み出しデータDQRDとして出力される。
他方のメモリブロック13Aからデータを読み出す場合はリードアンプ活性化信号LRAMPACTが活性化され、PチャネルのトランジスタTr3、Tr4が導通して他方側のメモリブロック13Aから読み出されたデータがこれらのトランジスタTr3、Tr4を介してトランジスタTr5〜Tr8で構成される増幅回路により増幅される。増幅されたデータはNAND回路32、33を介して前記フリップフロップ回路にラッチされ、読み出しデータDQRDとして出力される。
このようにして、図6に示したリードアンプ回路13B14は、発生されるリードアンプ活性化信号URAMPACT、LRAMPACTに応じて一方側のメモリブロック13Cからの読み出しデータあるいは他方側のメモリブロック13Aからの読み出しデータをローカルデータ線DQt/cを介して選択的に取り込む。これとともに、双方のメモリブロックに対応するリードアンプ活性化信号のOR論理からリードアンプセンス信号RSAONを生成してフリップフロップ回路に増幅データをラッチするようにして、両側のメモリブロックでリードアンプ回路13B14が共有できるように構成した。これにより、読み出しデータの増幅、ラッチのための回路の複雑化を防ぎ、リードアンプ回路の共有を容易に実現できる。
次に、図7乃至図10を参照して図4の実施形態におけるメモリブロックへのバンクアドレスの種々の割り付け方法を詳細に説明する。
図7の方法では、サブマクロ制御回路15を挟んで構成された第1のサブマクロ13と第2のサブマクロ23とが同じバンクアドレス構成を有し、且つそれぞれのサブマクロ13、23においてDQBブロック13B、23Bの両側に接続されたメモリブロック13C、13A、23C、23Aに対して共通のバンクアドレスBA<0>を割り付けた場合を示す。即ち、サブマクロ13、23において夫々両側で同一規模のメモリブロックを分割する位置にDQBブロック13B、23Bを配置するように構成した例である。これにより、DQBブロック13B、23Bの両側に接続されたローカルデータ線DQt/cの線長を小さく、かつ線長差を最小にすることができる。なお、このメモリブロック13C、23C…は夫々複数のメモリセルアレイ13Ca、23Ca、…と関連して設けられたSAブロック13Cb、23Cb…との複合体構造となっている。以下の説明でもすべて同様の構成を持つものとする。
図8の方法では、例えば図7に示すバンクアドレスBA<0>が割り付けられたメモリブロック13Cと同一構成のメモリブロック13C1を、DQBブロック13Bの一方側に更に増設してバンクアドレスBA<1>を割り付けた場合を示している。サブマクロ制御回路15を挟んで構成されたメモリブロック23Cに対しても同一構成のメモリブロック23C1を増設してバンクアドレスBA<0>、BA<1>が割り付けられる。DQBブロック13B、23Bの他方側にも同様にして異なるバンクアドレスBA<2>、BA<3>が割り付けられる。
このような割付の方法では1つのDQBブロックに割当てられるメモリブロックの容量が増加するが、複数アドレス、例えばバンクアドレスBA<0>、BA<1>が割付けられたバンク間でローカルデータ線DQt/cを共有することができるのでDQBブロック数を削減することが可能となる。これにより、グローバルデータ線の線長を短くできる。例えば、図7の場合に比べて図8の方法ではメモリマクロの容量およびメモリマクロの持つバンクアドレス数が同一である場合、DQBブロックの数を半分にできる。
図9に示す割付けの方法では、DQBブロック13Bの両側のメモリブロックに異なるバンクアドレスBA<0>、BA<1>を割付け、これらに共有されるサブマクロ制御回路15を挟んで構成されるメモリブロックにはそれぞれ同一のバンクアドレスBA<0>、BA<1>を割付けた場合を示す。この場合も、図8に示すように、たとえば1つのDQBブロック13Bに対して異なるバンクアドレスBA<0>、BA<1>が割付けられている。このように異なるアドレスのメモリブロック同士で1つのDQBブロックを共有することにより、DQBブロック数の削減が可能となり、外部回路からDQBブロックへ接続されるグローバルデータ線の線長を短くできる。
図10に示す割付け方法では、1つのバンクアドレスが1つのセルアレイに割り付けられるeDRAMの場合の例を示す。図10では、一方のI/Oブロック11に8個のセルアレイがそれぞれバンクアドレスBA<7>〜BA<0>を割り付けられて配列されており、他方のI/Oブロック21にも同様にして8個のセルアレイが夫々同じバンクアドレスBA<7>からBA<0>を割り付けられて配列されている。
図4、図5に示したように、この実施形態の場合にはグローバルデータ線がデータ書き込み用とデータ読み出し用とに分離され、且つ、各バンク毎にローカルデータ線DQt/cを持つ。このため、DQBブロックを共有しないメモリブロック同士であれば、2つの異なるバンクを同時にアクセスし、一方へ書きこみ動作を行うと同時に他方からの読み出し動作を行うことが可能である。
更に、図10においてサブマクロ制御回路15内において図11に示すような構成のDQBCSL制御回路を配置すると、DQBブロックを共有する2つのバンク間であっても一方へ書き込みを行うと同時に他方からデータ読み出しが可能となる。
以下、図5に示したDQBCSL制御回路1517の一例の構成、動作を図11を参照して詳細に説明する。DQBCSL制御回路1517には、図5で説明したように、一方側メモリブロック選択信号BACEL<j>、他方側メモリブロック選択信号BASEL<i>、読み出し、書き込みコマンド信号RD/WT、eDRAM内部基本クロックCLK、列アドレス信号CADD<0:n>、が供給される。
DQBCSL制御回路1517は4個のカウンタC1、C2、C3、C4および2個のORゲートOR1、OR2により構成される。eDRAM内部基本クロックCLKはこれらのカウンタC1〜C4に共通に供給され、一方側メモリブロック選択信号BACEL<j>、他方側メモリブロック選択信号BASEL<i>はそれぞれ、読み出し、書き込みコマンド信号RD/WTとともにカウンタC2、C3に供給されるように接続される。列アドレス信号CADD<0:n>はカウンタC1、C4に供給されるように接続される。
カウンタC2は一方側メモリブロック選択信号BACEL<j>および読み出し、書き込みコマンド信号RD/WTに基づいて活性化信号UCADDCNTACTをカウンタC1に供給し、カウンタC1はこのカウンタC2からの活性化信号UCADDCNTACTに応じて列アドレス信号CADD<0:n>をカウントして、図5で説明したドライバ1518を活性化させるための活性化信号UCSLACTを発生する。カウンタC2はその他にも後で説明するように、ORゲートOR1、OR2に供給される信号を含む種々の信号を出力する。
同様に、カウンタC3は他方側メモリブロック選択信号BACEL<i>および読み出し、書き込みコマンド信号RD/WTに基づいて活性化信号LCADDCNTACTをカウンタC4に供給し、カウンタC4はこのカウンタC3からの活性化信号LCADDCNTACTに応じて列アドレス信号CADD<0:n>をカウントして、図5で説明したドライバ1519を活性化させるための活性化信号LCSLACTを発生する。カウンタC3はその他にも後で説明するように、ORゲートOR1、OR2に供給される信号を含む種々の信号を出力する。
カウンタC2はDQBブロック13BおよびDQBブロック23Bの一方側のメモリブロック13Cを含むバンクが選択された場合にDQBブロック13BおよびDQBブロック23Bを制御する回路であり、カウンタC3は他方側のメモリブロック13A及び23Aを含むバンクが選択された場合にDQBブロック13Bおよび23Bを制御する回路である。
以下、図12乃至図14のタイミングチャートを参照してデータ書き込み、読み出し時のDQBCSL制御回路1517の動作を説明する。図12は読み出し時にDQBブロック13Bおよび23Bの他方側のバンクが選択された場合のカウンタC3の動作を示している。読み出し動作時に、カウンタC3は選択信号BASEL<i>および読み出しコマンド信号RDが活性化されると、eDRAM内部基本クロックCLKに同期してバーストサイクル数(ここではクロックCLKの4サイクル分がバーストサイクル数に相当する)のイネーブル信号LRAMPACTENBを生成して出力する。また、バースト動作に対応する期間イネーブル信号LRDDRVACTENBが出力される。このイネーブル信号LRDDRVACTENBはORゲートOR2の一方の入力端子に供給されており、このORゲートOR2は、イネーブル信号LRDDRVACTENBあるいはカウンタC2から生成されるイネーブル信号URDDRVACTENBのいずれかを受けて、読み出し用のイネーブル信号RDDRVACTENBを出力する。
一方で、カウンタC3は読み出しコマンド信号RDおよび選択信号BASEL<i>の活性化によりバースト動作に対応する期間のカウンタ活性化信号LCADDCNTACTを出力し、カウンタC4に供給する。カウンタC4はこの信号によって活性化され、列アドレス信号CADD<0:n>をカウントして、順次ドライバ活性化信号LCSLACT<0>〜LCSLACT<3>を活性化信号LCADDCNTACTの期間内に出力する。
次に、書き込みコマンド信号WTが供給されたときのカウンタC3の動作を図13を参照して説明する。カウンタC3は選択信号BASEL<i>および書き込みコマンド信号WTが活性化されると、eDRAM内部基本クロックCLKに同期してバーストサイクル数(ここではクロックCLKの4サイクル分がバーストサイクル数に相当する)のイネーブル信号LDQDRVACTENBを生成して出力する。このイネーブル信号LDQDRVACTENBはORゲートOR1の一方の入力端子に供給されており、このORゲートOR1は、イネーブル信号LDQBDRVACTENBあるいはカウンタC2から生成されるイネーブル信号UDQBDRVACTENBのいずれかを受けて、書き込み用のイネーブル信号WDLTCENBを出力する。
一方で、カウンタC3は書き込みコマンド信号WTおよび選択信号BASEL<i>の活性化によりバースト動作に対応する期間カウンタ活性化信号LCADDCNTACTを出力し、カウンタC4に供給する。カウンタC4はこの信号によって活性化され、列アドレス信号CADD<0:n>をカウントして、順次ドライバ活性化信号LCSLACT<0>〜LCSLACT<3>を活性化信号LCADDCNTACTの期間内に出力する。
図11のDQBCSL制御回路1517は、例えばカウンタC3が他方側バンクに対して読み出し動作制御中に、カウンタC2が一方側バンクに対して書き込み動作制御を行うことができる。以下図14を参照してこの動作を説明する。
カウンタC3はDQBブロック13Bの他方側のバンクが選択された場合にDQBブロック13Bを制御する回路であり、選択信号BASEL<i>が入力される。カウンタC3は、読み出しコマンド信号RDに応じてイネーブル信号LRAMPACTENB、LRDDRVACTENB、RDDRVACTENBを出力するとともに、カウンタ活性化信号LCADDCNTACTを出力する。カウンタC4はこの活性化信号によって活性化され、列アドレス信号CADD<0:n>をカウントして、順次ドライバ活性化信号LCSLACT<0>〜LCSLACT<3>を活性化信号LCADDCNTACTの期間内に出力する。
また、一方側バンクが選択されて書き込みコマンド信号WTが供給されたときは、イネーブル信号UDQDRVACTENBおよびWDLTCENBを出力するとともに、カウンタ活性化信号UCADDCNTACTを出力する。カウンタC1はこの活性化信号によって活性化され、列アドレス信号CADD<0:n>をカウントして、順次ドライバ活性化信号UCSLACT<0>〜LCSLACT<3>を活性化信号UCADDCNTACTの期間内に出力する。このように、カウンタC4およびC3が読み出し動作制御中にカウンタC1およびC2が書き込み動作制御を行うことができる。逆の場合も同様に制御できる。このように、DQBブロック13Bおよび23Bの両側のバンク夫々に対応する2つのカウンタC2、C3でDQBブロック13Bおよび23Bを共有DQBブロックとして制御し、夫々のバンクのカラム選択線CSLを夫々のバンクに対応する別々のカウンタC1,C4で制御することにより、DQBブロックを共有するバンク間の読み出しおよび書き込み動作が可能となるように構成できる。
図4の実施形態では2個のI/Oブロック11、21の上に複数のサブマクロ12、13、22、23を積み重ね、その間に共有のサブマクロ制御回路14、15を介在させた構成とした。更に、図15に示すように、1つのI/Oブロック21上に複数のサブマクロ22、23を一列に積み重ね、これにサブマクロ制御回路14、15を付属させる構成としても同様に実施できる。図15の実施形態は図4の実施形態に対応する部分に同じ参照符号を付して詳細な説明は省略する。
以上説明したようにこの実施形態によれば、グローバルデータ線やローカルデータ線等のデータ線の線長に由来するRC遅延の問題を軽減し、サブマクロを積み重ねて構成される例えばEDRAMを高速、大容量化できる半導体記憶装置を提供することができる。
<第2の実施形態>
以下、第2の実施形態として、第1の実施形態の構成に加えて、グローバルデータ線にリドライバを挿入することによりそのRC遅延を軽減するようにした構成を説明する。従って、以下の説明において第1の実施形態と対応する部分は同じ参照符号を付してその説明を省略する。
図16の実施形態では、図4の実施形態において積み重ねられた任意のメモリブロックの境界部、例えば2つのサブマクロ12、13の境界部、およびサブマクロ22、23の境界部にグローバルデータ線GDL、例えば書き込みデータ線WDLの夫々の中に2個のインバータIn1、In2の直列回路で構成されたリドライバRDAを直列に挿入する。このようにリドライバRDAを書き込みデータ線WDL中に挿入することにより、図4の実施形態により奏される効果に加えて、データ書き込み時にデータ線WDL上を伝達されるデータのRC遅延に起因する種々のエラーを更に効果的に防止できる。
この第2の実施形態は図1乃至図3に示した参考例の回路形態にも適用できることは勿論である。
<第3の実施形態>
更に、図16の実施形態を変形して、図17に示すように、サブマクロ12、13、22、23の境界部に加えて、サブマクロ12、13、22、23の内部の各メモリブロック間の境界部においてグローバルデータ線GDL上にリドライバを夫々設けることもできる。図17に示す実施形態において、サブマクロ12、13、22、23の境界部においてグローバルデータ線であるデータ書き込み線WDLに対して1つのインバータにより構成されたリドライバRDBが夫々設けられる。さらに、各サブマクロの中央部にあるDQBブロック12B、13B、22B、23Bとメモリブロックとの境界部においてもデータ書き込み線WDL上に1つのインバータで構成されたリドライバRDBが夫々設けられる。これにより、図16の実施形態と同様に、各グローバルデータ線GDLを介してI/Oブロック11,21から伝達される書き込みデータに対して同等の遅延補償効果を与えられる。
この第3の実施形態は、図1に示す各々のメモリブロックに対してDQBブロックを設ける構成の場合にも適用できることは勿論である。
グローバルデータ線GDLのうち、書き込みデータ線WDLについては図16又は図17に示したように同等の機能を有するリドライバを全ての書き込みデータ線WDLに等しく挿入することにより目的とする配線遅延の影響の軽減が可能であるが、読み出しデータ線RDLに関しては、選択されたDQBブロック内にある読み出しドライバと非選択のDQBブロック内にある読み出しドライバとの回路動作状態の違いにより、単純にリドライバを読み出しデータ線上に均等に設置しても目的とする遅延軽減の効果は得られない。
<第4の実施形態>
図18は読み出しデータ線RDLについて遅延軽減の効果が得られる実施形態を示す回路構成図である。この実施形態のメモリアレイの基本構造は図4の実施形態と同じであり、対応する部分には同一の参照符号を付してその説明を省略してある。図18の実施形態では、読み出しデータ線RDLに関連して設けられるリドライバとして例えば図5のDQBブロック13B内に設けられる読み出しドライバ13B15を利用しており、読み出しデータ線RDLを各DQBブロック内の読み出しドライバで分割することによりそのRC遅延を軽減している。尚、このDQBブロック13B内には図5に示したように多くの回路が設けられているが、この読み出しドライバ13B15に関する部分以外の構成、制御信号などはこの実施形態の目的の動作に無関係であり、図18では省略して示してある。
図18において、I/Oブロック11には複数のサブマクロ12、13、・・・17が順次縦続接続されて設けられる。同様に、I/Oブロック21にも複数のサブマクロ22、23、・・・27が順次積み重ねられている。サブマクロ12−22、13−23、・・・17−27間にはそれぞれサブマクロ制御回路14、15、・・・16が形成される。サブマクロ12・・・17、22・・・27にはそれぞれDQBブロック12B・・・17B、22B・・・27Bが備えられている。
ここで、DQBブロック22B、23B、27Bの内部構成を図18内の右側にそれぞれ示す。これらのDQBブロックは夫々図5に詳細に説明したDQBブロック13Bと基本的に同じ構成となっている。
図18において、DQBブロック22Bは、図示しない書き込みデータ線に接続されたラッチ回路22B11と、このラッチ回路22B11にラッチされたデータが供給される一方側のドライバ22B12および他方側のドライバ22B13と、これらのドライバ22B12、22B13の出力データが供給される一方側相補ローカルデータ線UDQt/cおよび他方側相補ローカルデータ線LDQt/cと、これらの相補ローカルデータ線UDQt/c、LDQt/cが共通に接続されるリードアンプ回路22B14と、このリードアンプ回路22B14の出力および一方側のRDドライバ23B15の出力が供給されるRDドライバ22B15とを有する。
このRDドライバ22B15は、2個のNANDゲート22B15a、22B15bと1個のインバータ22B15cとより構成される。NANDゲート22B15aの一方の入力はリードアンプ22B14の出力であり、他方はRDドライバ活性化信号RDDRVACT<y>である。この活性化信号RDDRVACT<y>は図5のドライバ1516から供給される。このNANDゲート22B15aの出力は、一方の側のサブマクロ23のRDドライバ23B15からの出力とともにNANDゲート22B15bに供給され、このNANDゲート22B15bの出力はインバータ22B15cにより反転されてからRDL<y>へ出力される。
DQBブロック22Bが非選択の場合、RDドライバ活性化信号RDDRVACT<y>はLレベルとなるため、NANDゲート22B15aの出力はリードアンプ回路22B14の出力に拘わらずHレベルとなる。このため、NANDゲート22B15bはRDL<x>上に送出された一方の側のサブマクロ23BのDQBブロックからの出力を受け付け、インバータ22B15cで反転してRDL<y>へ送出する。即ち、RDドライバ22B15はRDL<x>上の読み出しデータをリドライブしてRDL<y>へ送出する。一方、DQBブロック22Bが選択される場合、RDドライバ活性化信号RDDRVACT<y>はHレベルとなるため、NANDゲート22B15aはリードアンプ回路22B14の出力を受け付け、NANDゲート22B15bへ伝える。後述する理由で、このとき、NANDゲート22B15bに入力するDQBブロック23Bからの出力はHレベルであるため、NANDゲート22B15bに伝えられたリードアンプ回路22B14の出力はインバータ22B15cからRDL<y>へ送出される。即ち、RDドライバ22B15は対応するメモリブロックからの読み出しデータをRDL<y>へ駆動する。
他のDQBブロック23B、27Bも同様に構成されており、対応する参照符号を付して詳細な説明は省略する。
図18において、DQBブロック<x>23Bが選択されているものとする。このとき、I/Oブロック21から最も遠いDQBブロック<0>27Bは非選択である。上述の通り、非選択であるDQBブロックのRDドライバはそれより前段のサブマクロのRDドライバの出力をリドライブするが、最端部のサブマクロ27ではそれより外部のサブマクロが存在しないために、DQBブロック27B内のRDドライバ27B15ではNANDゲート27B15bの一方の入力には電源電圧VDDが供給されるように構成されている。この電源電圧VDDによるHレベルがRDL<0>へ出力され、非選択のDQBブロック<1〜x−1>で順次リドライブされ、RDL<0〜x−1>を介してDQBブロック<x>23Bへ伝達される。
リドライブされたVDDによるHレベルがRDL<x−1>を介して、選択されたDQBブロック<x>23BのNANDゲート23B15bに供給される。このとき、RDドライバ活性化信号RDDRVACT<x>が活性化されてHレベルであるから、NANDゲート23B15aが開き、リードアンプ回路23B14から出力されたローカルデータ線UDQt/cまたはLDQt/c上の読み出しデータがNANDゲート23B15bに供給される。同様に、このNANDゲート23B15bのゲートが開いているので、読み出しデータはインバータ23B15cからRDL<x>へ送出される。
更に後段側のDQBブロック<y>22Bは非選択であるから、RDL<x>上の読み出しデータはこのDQBブロック<y>22BのRDドライバ22B15でリドライブされてRDL<y>へ送出され、I/Oブロック21に伝送される。
このように、各DQBブロック内のRDドライバの機能を活性化信号RDDRVACTの状態により選択することで、すなわち対応するサブマクロの読み出しデータ駆動回路として動作するか前段のDQBブロックの読み出しデータのリドライブ回路として動作するかを活性化信号RDDRVACTの状態によって切り分けることで、その構成を複雑化することなくRDドライバ回路に読み出しデータ線のリドライバ機能を併せ持たせることが可能となる。
尚、この実施形態は図1に示す各々のメモリブロックに対してDQBブロックを設ける参考例の場合、さらに図15に示すサブマクロ制御回路の片側にのみサブマクロが配置される実施形態にも適用できることは勿論である。
<第5の実施形態>
eDRAMが大容量化し、データ線方向長が増大すると、グローバルデータ信号RD/WDが入力、出力される回路であるインターフェース部および各データ制御部はより広範囲に配置されるようになる。これにより、これらの回路が同期するeDRAM内部同期クロックCLKのデータ線方向へのスキュー(skew)、あるいはデータ線方向の電源電圧降下による各制御回路の論理遅延スキューが増大する。この結果、データ線のRC遅延増大の他に、このスキュー増大により、データ線の制御に関わる種々の制御信号間にスキューが生じグローバル線を介した読み出し/書き込み動作の高速化が妨げられることになる。
この第5の実施形態はインターフェース部および各データ制御部における制御信号間のスキューの軽減を可能とする構成を有するものである。この実施形態では、このeDRAMの内部基本同期クロックCLKの供給路を階層化(ツリー化)して、データ線方向のクロックスキューを軽減するものである。また、eDRAM内部同期クロックを3系統とし、各制御信号ドライバに直接ツリー化したクロックを入力することで、ツリー化したクロックから各制御信号までの論理段数を最小化し、各制御回路内の論理遅延によるスキューもまた軽減するものである。ここで、3系統のeDRAM内部同期クロックとは、サブマクロ各制御回路の左側のI/Oブロック、DQBブロックおよびメモリブロックに対応する制御信号ドライバ、右側のI/Oブロック、DQBブロックおよびメモリブロックに対応する制御信号ドライバ、および中央部制御回路部であるメモリブロック制御回路、DQBCSL制御回路およびデータ入出力制御回路に対応するものである。
以下、図19乃至図22を参照してこの実施形態を詳細に説明する。図19に示した全体の構成は図4と同様であり、2つのI/Oブロック11、21の上に夫々順次サブマクロ51、52、53、54および61、62、63、64が縦続接続された構成となっている。I/Oブロック11、21の間にはI/Oブロック制御回路30が形成され、その一方側には順次サブマクロ制御回路71、72、73、74が形成される。
I/Oブロック制御回路31には、外部クロック入力CLKINが供給されるクロックドライバ31aと、このクロックドライバ31aの出力を3系統のクロックに分割する3個のクロックリドライバ31b−1、3b−2、31b−3と、データ入出力制御回路DIDOと、データ入出力ラッチドライバDIOLTCとが形成される。
クロックリドライバ31b−1〜31b−3の出力は、サブマクロ制御回路71−74の中間であるサブマクロ制御回路72と73の境界領域に形成されたクロックリドライバ81、82、83に接続される。クロックリドライバ81の出力は、左側のサブマクロ51〜54に対して夫々形成されたクロックリドライバ71−1、72−1、73−1、74−1に供給される。これらのクロックリドライバ71−1〜74−1の出力は、他方側メモリブロック51A〜54Aに対応して設けられた他方側CSLドライバ71−2〜74−2、一方側メモリブロック51C〜54Cに対応して設けられた一方側CSLドライバ71−3〜74−3、DQBブロック51B〜54Bに対応して形成された複数のドライバに供給されるとともにI/Oブロック11に対応して設けられたデータ入出力ラッチドライバDIOLTC−1に供給される。これらのドライバは図5に示されたドライバに各々対応して形成されたものである。
クロックリドライバ83の出力は、右側のサブマクロ61〜64に対して同様に形成されたクロックリドライバ71−5から74−5に供給され、さらにそれらの出力はサブマクロ61から64に形成された他方側メモリブロック61A〜64Aに対応して設けられた他方側CSLドライバ61−2〜64−2、一方側メモリブロック61C〜64Cに対応して設けられた一方側CSLドライ61−3〜64−3、DQBブロック61B〜64Bに形成された複数のドライバに供給されるとともに、I/Oブロック21に対応して設けられたデータ入出力ラッチドライバDIOLTC−2に供給される。
クロックリドライバ82の出力は、サブマクロ制御回路71〜74に対して夫々形成されたクロックリドライバ71−6、72−6、73−6、74−6に供給される。クロックリドライバ74−6の出力は、サブマクロ制御回路74内で一方側メモリブロック制御回路74−7、他方側メモリブロック制御回路74−9、DQBCSL制御回路74−8に夫々供給される。他のサブマクロ制御回路71〜73に付いても同様に形成される。
図19において、クロックドライバ31aが受け付けた外部クロック入力CLKINは、I/Oブロック制御回路30内に配置されたクロックリドライバ31b−1〜31b−3を介して左側クロック線LCLKDRV(c)、制御回路クロック線CLKCTL(c)、右側クロック線RCLKDRV(c)に送出され、eDRAMデータ線方向中央部に配置されたクロックリドライバ81〜83に供給される。更にこれらのクロックリドライバ81〜83の出力クロックは左側クロックドライブ線LCLKDRV(b)、制御回路クロック線CLKCTL(b)、右側クロックドライブ線RCLKDRV(b)を介してクロックリドライバ71−1〜74−1、71−6〜74−6および71−5〜74−5に分配される。これらのリドライバ71−1〜74−1、71−6〜74−6および71−5〜74−5の出力は最後に左側クロックドライブ線LCLKDRV(a)、制御回路クロック線CLKCTL(a)および右側クロックドライブ線RCLKDRV(a)に供給される。
ここで、3本の左側クロックドライブ線LCLKDRV(a)、LCLKDRV(b)、LCLKDRV(c)が各制御回路左側のI/Oブロック11およびサブマクロ51〜54に対応する制御信号ドライバに対するクロックツリーを構成し、3本の右側クロックドライブ線RCLKDRV(a)、RCLKDRV(b)、RCLKDRV(c)が各制御回路右側のI/Oブロック21およびサブマクロ61〜64に対応する制御信号ドライバに対するクロックツリーを構成し、3本のクロックドライブ線CLKCTL(a)、CLKCTL(b)、CLKCTL(c)が中央部各制御回路に対応するクロックツリーを構成している。
これらのクロックツリーはいずれもサブマクロ制御回路71〜74およびI/Oブロック制御回路31間におけるクロック信号のスキュー軽減効果強化の回路構成となっている。
図20は、図19に示した各サブマクロ制御回路71〜74内部のDQBCSL制御回路及びそれに関連する部分の詳細な構成の一例を示すブロック図である。この構成は図5に示された構成と同様であるから、図5と同一または同様の参照符号を付して示されている。しかしながら、図20の回路では図5の回路とはクロック信号の供給経路が異なっている。例えばサブマクロ制御回路74を例に取って説明すると、クロックドライブ線LCLKDRV(a)、LCLKDRV(b)、CLKCTL(a)、CLKCTL(b)、RCLKDRV(a)、RCLKDRV(b)の接続が図19に説明したようにクロックツリー構成となっており、また、サブマクロ制御回路74の左右に設けられた各々のドライバに直接クロックドライブ線LCLKDRV(a),RCLKDRV(a)が入力されていることである。
サブマクロ制御回路74内には、DQBCSL制御回路7417、CSLドライバ7418、7419、活性化ドライバ7412、7413、アンプ活性化ドライバ7414、7416、読み出しドライバ活性化ドライバ7415などが配置されている。DQBCSL制御回路7417はeDRAM内部の基本クロックCLKがツリー化されたクロックドライブ線CLKCTL(a)を介して供給されており、このツリー化されたクロックドライブ線CLKCTL(a)からのクロックに同期して動作する。
更に具体的に説明する。DQBCSL制御回路7417はデータ読み出し時に読み出しコマンドRDを受け、eDRAM内部基本クロックCLKがツリー化されたクロックドライブ線CLKCTL(a)上のクロックに同期してイネーブル信号RDDRVACTENBを活性化し、ドライバ7415にドライバ活性化信号RDDRVACTを生成させる。これと同時に、メモリブロック選択信号により一方側メモリブロック54Cおよび64Cが選択されているときは、イネーブル信号URAMPACTENBが活性化され、ドライバ7414から活性化信号URAMPACTが生成される。一方、他方側メモリブロック54Aおよび64Aがメモリブロック選択信号により選択されたときは、イネーブル信号LRAMPACTENBが活性化されてドライバ7416からアンプ活性化信号LRAMPACTが生成される。
一方、DQBCSL制御回路7417は、データ書き込み時には書き込みコマンドWTを受けて、eDRAM内部基本クロックCLKに同期してイネーブル信号WDLTCENBを活性化し、ドライ7411から書き込みラッチ信号WDLTCが発生される。これと同時に、メモリブロック選択信号により一方側メモリブロック54Cおよび64Cが選択されているときは、イネーブル信号UDQDRVACTENBが活性化され、ドライバ7412から活性化信号UDQDRVACTが生成される。一方、他方側メモリブロック54Aおよび64Aがメモリブロック選択信号により選択されたときは、イネーブル信号LDQDRVACTENBが活性化されてドライバ7413から活性化信号LDQDRVACTが生成される。
更に、DQBCSL制御回路7417は、書き込み時および読み出し時のいずれの場合も、読み出しコマンドRD或いは書き込みコマンドWTを受けて、メモリブロック選択信号により一方側のメモリブロック54Cおよび64Cが活性化されている場合にはドライバ活性化信号UCSLACTを活性化してドライバ7418を活性化し、メモリブロック選択信号により他方側のメモリブロック54Aおよび64Aが活性化されている場合にはドライバ活性化信号LCSLACTを生成してドライバ7419を活性化させる。
図21は図20に示したクロック制御線CLKCTL(a),左側クロックドライブ線LCLKDRV(a),右側クロックドライブ線RCLKDRV(a)からの信号を受け取るI/Oブロック制御回路31およびそれに関連する部分の詳細な内部構成の一例を示すブロック図である。この回路構成は図5に示した回路31と同様の構成を持つものであるが、その左右のI/Oブロックの制御に関連する部分を抜粋したものであり、図5と同一または同様の参照符号を付して示されている。図において、クロック制御線CLKCTL(a)に接続されたデータ入出力制御回路DIDOと、この制御回路DIDOの出力信号および左側クロックドライブ線LCLKDRV(a),右側クロックドライブ線RCLKDRV(a)からのクロックにより制御される2つのドライバDIOLTCとを含む。しかしながら、図21の回路31では図5の回路31とはクロック信号の供給経路が異なっており、例えばデータ入出力制御回路DIDOには図19に示されるツリー化されたクロック配線CLKCTL(a)が、また、左右のドライバDIOLTCには夫々図19に示したツリー化されたクロック配線LCLKDRV(a)、RCLKDRV(a)が入力されている。
また、図22は図20および図21における回路動作の一例として、I/Oブロック21(および11)からDQBブロック64Bおよび54Bの一方側メモリブロック64Cおよび54Cに対するデータ書き込み動作を示す。
この実施形態のように各制御信号ドライバに直接基本クロックが入力されるような場合、DQB制御信号ドライバに対するイネーブル信号は、バーストサイクル数だけ生成される基本同期クロックとの同相信号ではなく、バースト長の期間活性化される信号となる。各制御信号ドライバはその活性化期間の間に基本クロックのHレベルより各種DQB制御化信号を生成する。
また、UCSL活性化信号UCSLACTも基本同期クロックとの同相信号ではなく、各信号UCSLACTの対応するアドレスのCSLゲートに書き込み動作が行われるサイクルの間は活性化され続け、各UCSLドライバはその活性化期間のクロックのHレベルより各CSL信号を生成するものである。
I/Oブロック制御回路においても書き込みデータラッチ活性化信号DILTCACTおよび出力データラッチ活性化信号DOLTCACTは基本同期クロックとの同相信号ではなく、バースト長に必要な期間活性化される信号であり、ドライバDIOLTC−1,DIOLTC−2はこの活性化期間に基本クロックのHレベルより書き込みデータラッチ信号IODILTCおよび出力データラッチ信号IODOLTCを生成する。
図23は図19において夫々の系統のクロックリドライバ31b−1〜31b−3の出力をリドライバ81〜83の入力側で接続線84により共通に接続した例を示す。さらに、各サブマクロ制御回路71〜74において、クロックリドライバ81〜83の出力側に夫々接続されたリドライバ71−1〜74−1、71−5〜74−5、および71−6〜74−6の出力側のノードを夫々接続線71A〜74Aにより共通に接続した構成とする。
これにより各リドライバ81〜83の出力側に接続されたクロック供給線、およびリドライバ71−1〜74−1、71−5〜74−5、および71−6〜74−6の出力側に接続された3系統の階層構造のクロック供給線で構成されるクロックツリーの間に発生するスキューを更に軽減できる。図23において他の部分は図19の回路構成と同じであるのでこれ以上の説明は省略する。
これらの図18乃至図20に示した実施形態は図1乃至図3の参考例および図15に示すサブマクロ制御回路の片側にのみサブマクロが配置される実施形態の回路形態にも適用できることは勿論である。
図24は図18に示したリドライバを用いて読み出しデータ線RDLについて遅延軽減を図る実施形態を図1の参考例に適用した他の実施形態の構成を示すブロック図であり、図1および図18に示した部分と対応する部分は夫々同一、又は類似の参照符号を付してその詳細な説明は省略する。図24において、インターフェース回路であるI/Oブロック1−1には、複数のサブマクロ2−1、3−1、4−1、…N−1が図1と同様に書き込み用グローバルデータ線を介して共通に接続されるが、ここではグローバルデータ線の内、各DQブロック内のRDドライバで分割された読み出しデータ線RDLのみ示されている。サブマクロ2−1はDQBブロック<y+1>とこのDQBブロックに相補ローカルデータ線DQt/cを介して接続されたメモリブロック2−1Cが接続される。他のサブマクロ3−1、4−1、・・・N−1も同様に接続される。
各サブマクロ2−2、・・・N−1内のDQBブロック<y>,・・・<0>は夫々図24中で矢印で示された内部構成を有する。また、サブマクロ2−1内のDQBブロック<y+1>も他のDQBブロックと同様の構成を有する。例えばDQBブロック<y>は図示しない書き込みデータ線に接続された書き込みラッチ回路22B11と、このラッチ回路22B11にラッチされたデータが供給されるDQドライバ22B12と、このDQドライバ22B12の出力が供給される相補ローカルデータ線DQt/cと、この相補ローカルデータ線DQt/cが接続されるリードアンプ回路22B14と、このリードアンプ回路22B14の出力および前段のサブマクロ4−1のRDドライバ23B15からの出力が読み出しデータ線RDL<x>を介して供給されるRDドライバ22B15とを有する。
このRDドライバ22B15は、NANDゲート22B15a、22B15bと、インバータ22B15cとより構成される。NANDゲート22B15aの一方の入力はリードアンプ22B14の出力であり、他方はRDドライバ活性化信号RDDRVACT<y>である。この活性化信号RDDRVACT<y>は図18の実施形態と同様に図5のドライバ1516から供給される。このNANDゲート22B15aの出力は、サブマクロ4−1のRDドライバ23B15からの出力とともにNANDゲート22B15bに供給され、このNANDゲート22B15bの出力はインバータ22B15cにより反転されてからRDL<y>上に送出される。
DQBブロック<y>が非選択の場合、RDドライバ活性化信号RDDRVACT<y>はLレベルとなるため、NANDゲート22B15aの出力はリードアンプ回路22B14の出力に拘わらずHレベルとなる。このため、NANDゲート22B15bは、RDL<x>に送出されたサブマクロ4−1のDQBブロック<x>からの読み出しデータを受け付け、インバータ22B15cからRDL<y>へ送出される。一方、DQBブロック<y>が選択される場合、RDドライバ活性化信号RDDRVACT<y>はHレベルとなるため、NANDゲート22B15aはリードアンプ回路22B14の出力を受け付け、NANDゲート22B15bへ伝え、インバータ22B15cからRDL<y>へDQBブロック<y>の出力が送出される。
他のDQBブロック<0>〜<y+1>も図18と同様に構成されており、詳細な説明は省略する。
DQBブロック<x>23Bが選択されているときは、I/Oブロック1−1から最も遠いDQBブロック<0>は非選択である。上述の通り、非選択であるDQBブロックのRDドライバはそれより前段のサブマクロのRDドライバの出力をリドライブするが、最端部のサブマクロN−1ではそれより外部のサブマクロが存在しないために、DQBブロック<0>内のRDドライバ27B15ではNANDゲート27B15bの一方の入力には電源電圧VDDが供給されるように構成されている。この電源電圧VDDによるHレベルがRDL<0>へ送出され、非選択のDQBブロックで順次リドライブされ、DQBブロック<x>へ伝達される。
リドライブされた電圧VDDによるHレベルがRDL<x−1>を介して、選択されたDQBブロック<x>のNANDゲート23B15bに供給される。このとき、RDドライバ活性化信号RDDRVACT<x>が活性化されてHレベルであるから、NANDゲート23B15aが開き、リードアンプ回路23B14から出力されたローカルデータ線DQt/c上の読み出しデータが出力され、NANDゲート23B15bに供給される。このNANDゲート23B15bのゲートが開いているので、読み出しデータはインバータ23B15cからRDL<x>へ送出される。
更に後段側のDQBブロック<y>は非選択であるから、RDL<x>上の読み出しデータはこのDQBブロック<y>のRDドライバでリドライブされ、RDL<y>へ送出され、I/Oブロック1−1に伝送される。
このように、各DQBブロック内のRDドライバの機能を活性化信号RDDRVACTの状態により選択することで、即ち、対応するサブマクロの読み出しデータ駆動回路として動作するか、前段のDQBブロックの読み出しデータのリドライブ回路として動作するかを活性化信号RDDRVACTの状態によって切り分けることで、その構成を複雑化することなくRDドライバ回路に読み出しデータ線のリドライバ機能を併せ持たせることが可能となる。
図24ではI/Oブロック制御回路1−3を挟んでI/Oブロック1−1と反対側にもI/Oブロック1−2が設けられ、このI/Oブロック1−2にも複数のサブマクロ2−2、3−2、4−2、・・・N−2が同様にグローバルデータ線を介して接続されている。これらのサブマクロからI/Oブロック1−2にデータを読み出す際にも同様にRDドライバをリドライバとして用いることができる。
図25は図19に示した実施形態のクロックCLKのeDRAMへの供給路を階層化してクロックスキューを軽減する方法を図1の参考例の構成に適用した実施形態の構成を示すブロック図である。
図25の実施形態では、図19に示した実施形態と同様に、eDRAMの内部基本同期クロックCLKの供給路を階層化(ツリー化)して、データ線方向のクロックスキューを軽減するものである。また、eDRAM内部同期クロックを3系統とし、各制御信号ドライバに直接ツリー化したクロックを入力することで、ツリー化したクロックから各制御信号までの論理段数を最小化し、各制御回路内の論理遅延によるスキューもまた軽減するものである。ここで、3系統のeDRAM内部同期クロックとは、サブマクロ各制御回路の左側のI/Oブロック、DQBブロック及びメモリブロックに対応する制御信号ドライバ、右側のI/Oブロック、DQBブロックおよびメモリブロックに対応する制御信号ドライバ、および中央部制御回路部であるメモリブロック制御回路、DQBCSL制御回路およびデータ入出力制御回路に対応するものである。
図25において、2つのI/Oブロック1−1、1−2の上に夫々順次サブマクロ2−1、3−1、4−1、5−1および2−2、3−2、4−2、5−2が縦続接続された構成となっている。I/Oブロック1−1、1−2の間にはI/Oブロック制御回路1−3が形成され、その一方側には順次サブマクロ制御回路2−3、3−3、4−3、5−3が形成される。
I/Oブロック制御回路1−3には、外部クロック入力CLKINが供給されるクロックリドライバ31aと、このクロックドライバ31aの出力を3系統のクロックに分割する3個のクロックリドライバ31b−1、3b−2、31b−3と、データ入出力制御回路DIDOと、データ入出力ラッチドライバDIOLTCとが形成される。
クロックリドライバ31b−1〜31b−3の出力は、サブマクロ制御回路2−3〜5−3の中間であるサブマクロ制御回路3−3と4−3の境界領域に形成されたクロックリドライバ81、82、83に接続される。クロックリドライバ81の出力は、左側のサブマクロ2−2〜5−2に対して夫々形成されたクロックリドライバ2−31、3−31、4−31、5−31に供給される。これらのクロックリドライバ2−31〜5−31の出力は、メモリブロック2−2C〜5−2Cに対応して設けられたCSLドライバ2−33〜5−33と、DQBブロック2−2B〜5−2Bに対応して形成された複数のドライバに供給されるとともにI/Oブロック1−2に対応して設けられたデータ入出力ラッチドライバDIOLTC−2に供給される。これらのドライバは図5に示されたドライバに各々対応して形成されるものである。
クロックリドライバ83の出力は、右側のサブマクロ2−1〜5−1に対して同様に形成されたクロックリドライバ2−36〜5−36に供給され、さらにそれらの出力はサブマクロ2−1〜5−1に形成されたメモリブロック2−1C〜5−1Cに対応して設けられたCSLドライバ2−37〜5−37と、DQBブロック2−1B〜5−1Bに形成された複数のドライバに供給されるとともに、I/Oブロック1−1に対応して設けられたデータ入出力ラッチドライバDIOLTC−1に供給される。
クロックリドライバ82の出力は、サブマクロ制御回路2−3〜5−3に対して夫々形成されたクロックリドライバ2−35〜5−35に供給される。クロックリドライバ5−35の出力は、サブマクロ制御回路5−3内でメモリブロック制御回路5−38、DQBCSL制御回路5−39に夫々供給される。他のサブマクロ制御回路4−3〜2−3に付いても同様に形成される。
図25において、クロックドライバ31aが受け付けた外部クロック入力CLKINは、I/Oブロック制御回路1−3内に配置されたクロックリドライバ31b−1〜31b−3を介して左側クロック線LCLKDRV(c)、制御回路クロック線CLKCTL(c)、右側クロック線RCLKDRV(c)に送出され、eDRAMデータ線方向長中央部に配置されたクロックリドライバ81,82、83に夫々供給される。更にこれらのクロックリドライバ81、82、83の出力クロックは左側クロックドライブ線LCLKDRV(b)、制御回路クロック線CLKCTL(b)、右側クロックドライブ線RCLKDRV(b)を介してクロックリドライバ2−31〜5−31、2−35〜5−35および2−36〜5−36に分配される。これらのリドライバ2−31〜5−31、2−35〜5−35および2−36〜5−36の出力は夫々最後に左側クロックドライブ線LCLKDRV(a)、制御回路クロック線CLKCTL(a)および右側クロックドライブ線RCLKDRV(a)に供給される。
ここで、3本の左側クロックドライブ線LCLKDRV(a)、LCLKDRV(b)、LCLKDRV(c)が各制御回路左側のI/Oブロック1−2およびサブマクロ2−2〜5−2に対応する制御信号ドライバに対するクロックツリーを構成し、3本の右側クロックドライブ線RCLKDRV(a)、RCLKDRV(b)、RCLKDRV(c)が各制御回路右側のI/Oブロック1−1およびサブマクロ2−1〜5−1に対応する制御信号ドライバに対するクロックツリーを構成し、3本のクロックドライブ線CLKCTL(a)、CLKCTL(b)、CLKCTL(c)が中央部各制御回路に対応するクロックツリーを構成している。
これらのクロックツリーはいずれもサブマクロ制御回路2−3〜5−3におけるクロック信号のスキュー軽減効果強化の回路構成となっている。
図26は、図25に示した各サブマクロ制御回路2−3〜5−3内部のDQBCSL制御回路及びそれに関連する部分の詳細な構成の一例を示すブロック図である。この構成は各サブマクロにおいてDQBブロックの一方の側のみメモリブロックが配置される点を除いて図20に示された構成と同様であり、図20と同一または同様の参照符号を付して示されている。
サブマクロ制御回路5−3内には、DQBCSL制御回路5−39、CSLドライバ5−33、5−37、DQドライバ活性化信号(DQDRVACT)ドライバ(5−41、5−42、リードアンプ活性化信号(RAMPACT)ドライバ5−43、5−44、読み出しドライバ信号(RDDRVACT)活性化ドライバ5−45、5−46、書き込みラッチ信号(WDLTC)ドライバ5−47、5−48などが配置されている。DQBCSL制御回路5−39にはeDRAM内部の基本クロックCLKがツリー化されたクロックドライブ線CLKCTL(a)を介して供給されており、このツリー化されたクロックドライブ線CLKCTL(a)からのクロックに同期して動作する。
更に具体的に説明する。DQBCSL制御回路5−39はデータ読み出し時に読み出しコマンドおよびそのサブマクロに割り付けられたメモリブロック選択信号を受け、eDRAM内部基本クロックCLKがツリー化されたクロックドライブ線CLKCTL(a)上のクロックに同期して読み出しドライバイネーブル信号RDDRVACTENBを活性化し、ドライバ5−45、5−46にドライバ活性化信号RDDRVACTを生成させる。これと同時に、イネーブル信号RDDRVACTENBが活性化され、ドライバ5−44、5−43からリードアンプ活性化信号RAMPACTが生成される。
一方、DQBCSL制御回路5−39は、データ書き込み時には書き込みコマンドおよびそのサブマクロに割り付けられたメモリブロック選択信号を受けて、eDRAM内部基本クロックCLKに同期して書き込みラッチイネーブル信号WDLTCENBを活性化し、書き込みラッチドライバ5−47、5−48から書き込みラッチ信号WDLTCが発生される。これと同時に、イネーブル信号DQDRVACTENBが活性化され、ドライバ5−42および5−41から活性化信号DQDRVACTが生成される。
更に、DQBCSL制御回路5−39は、書き込み時および読み出し時のいずれの場合も、読み出しコマンド或いは書き込みコマンド、およびそのサブマクロに割り付けられたメモリブロック選択信号を受けて、ドライバ活性化信号CSLACTを活性化してドライバ5−33、5−37を選択的に活性化させる。