本発明者は比較的アクセス速度の遅いDRAMモジュールをロジック回路と共に多数混載してこれをキャッシュメモリに利用可能にすることについて検討した。例えば、レベル1(L1)及びレベル2(L2)キャッシュメモリを内蔵したマイクロプロセッサのレベル3(L3)キャッシュメモリ等に用いることができるDRAM混載の半導体集積回路を検討した。
本発明者の検討によれば、多数のDRAMモジュールを混載して並列動作可能とすることによって見掛け上メモリ・リードサイクルを短くしようとするとき、並列動作によるデータ出力動作等の競合回避を考慮しなければならない。この場合、データの競合回避のためにデータバッファを採用しようとするとき、データ競合を生じていない場合にもデータバッファリングを行ったのでは無駄のあることが見出された。
プロセッサによるデータ処理効率を考慮すれば、プロセッサのリードアクセスに応答するリード動作のスループット向上が第一義である。このとき、キャッシュメモリのリード動作にはプロセッサによるライトアクセスに伴うコピーバック(若しくはライトバック)のためのリード動作もあり、そのようなリード動作では殆どの場合高いスループットは要求されない。即ち、コピーバックは、キャッシュミスに際してダーティーなキャッシュラインをリプレースするためにそのデータをメインメモリに退避させる動作だからである。したがって、キャッシュメモリとしての利用を考慮するときは、リードデータのスループット向上に対してもリードデータの用途に応じて軽重の差を付けられるようにしてロジック回路の論理規模が無駄に拡大しないようにすることの必要性が本発明者によって明らかにされた。
また、プロセッサのライトアクセスに対してはそれに応答するライト処理の高速化は左程重要ではないが、プロセッサによるデータ処理効率を考慮すれば、ライトアクセスの要求を受け付けてその動作からプロセッサを短時間で解放する事が必要である。特に、DRAMの場合にはリフレッシュインターバル毎に記憶情報のリフレッシュ動作が必要であり、これによってライトアクセス要求の受付が遅れないようにしなければならない。
本発明の目的は、メモリブロックの並列動作によるデータ競合を回避するためにデータバッファを採用した構成においてリード動作のスループットを改善することができる半導体集積回路を提供することにある。
本発明の別の目的は、ロジック回路の論理規模が無駄に拡大しないようにリード動作のスループットを改善することができる半導体集積回路を提供することにある。
本発明のその他の目的は、内部のメモリ動作状態に拘わらずにライトアクセスの要求を受け付ける事が容易な半導体集積回路を提供することにある。
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
〔1〕メモリブロックの並列動作によるデータ競合を回避するためにリードバッファを採用し、リード動作のスループットを改善する。そのための構成として、半導体集積回路は、並列動作可能な複数個のメモリブロック(BNK0〜BNK7)と、外部からライトデータを入力可能であって外部へリードデータを出力可能な外部インタフェース手段(I/F1)と、前記メモリブロックから読み出されたリードデータを前記外部インタフェース手段から外部に出力不可能な状態に呼応して保持する事が可能なリードバッファ(RB0〜RB3)と、前記出力不可能な状態が解消されているとき前記メモリブロックから読み出されたリードデータ又は前記リードバッファから読み出されたリードデータを選択して前記外部インタフェース手段に与える選択手段(40,41)と、を有する。
上記手段によれば、並列動作可能なメモリブロックの一つのリードデータが外部インタフェース手段から外部に出力されているとき、他のメモリブロックのリード動作が行われると、このリードデータは外部出力の点でリソース競合を生ずることになるのでリードバッファに一旦格納され、先のデータ出力動作が終了された後、リードバッファから外部に出力可能にされる。したがって、リードデータの出力動作でリソース競合を生ずる事になるようなリードアクセス要求があってもその要求を待たせずにリード動作を開始でき、リソース競合の虞が無くなればバッファから即座にリードデータを外部に出力でき、この点においてリードデータ出力動作のスループットを向上させる事が可能になる。
メモリブロックからデータが読み出されたとき前記リソース競合が無ければ、リードデータはリードバッファを介することなく直接外部インタフェース手段から外部に出力されるから、データ競合を生じていない場合にも一旦データをバッファリングするような無駄を回避でき、この点においてリードデータ出力動作のスループット向上に寄与する。
リードバッファはメモリブロックに比べて小容量・高速のメモリ等によって構成すればよい。例えばメモリブロックをDRAMモジュールで構成するとき、リードバッファをSRAMモジュールで構成すればよい。
上記構成を制御の観点から述べれば、半導体集積回路は、並列動作可能な複数個のメモリブロック(BNK0〜BNK7)と、前記メモリブロックから読み出されたリードデータを保持する事が可能なリードバッファ(RB0〜RB3)と、前記リードバッファから出力されるリードデータ及び前記メモリブロックから出力されるリードデータを外部へ出力可能な外部インタフェース手段(I/F1)と、前記メモリブロックから読み出されたリードデータを前記外部インタフェース手段から外部に出力不可能な状態に呼応して当該リードデータを前記リードバッファに保持させ、前記出力不可能な状態が解消されているとき前記メモリブロックから読み出されたリードデータ又は前記リードバッファから読み出されたリードデータを前記外部インタフェース手段から出力させる制御手段(MCNT)と、を有する。
〔2〕内部のメモリ動作状態に拘わらずに外部からのライトアクセスの要求を容易に受け付け可能にするために、半導体集積回路は、並列動作可能な複数個のメモリブロック(BNK0〜BNK7)と、外部からライトデータを入力可能な外部インタフェース手段(I/F1)と、前記外部インタフェース手段に入力されたライトデータを入力して保持し、メモリブロックがライト動作可能にされた後にライトデータをメモリブロックに供給するライトバッファ(WB0〜WB3)と、を有する。
記憶情報のリフレッシュやリード動作などメモリブロックの内部動作中に、それに対するライトアクセスの要求があっても、ライトバッファにライトデータを予めバッファリングする事ことができるから、ライトアクセスを行うプロセッサなどをライトアクセス動作から短時間で解放する事が可能になる。プロセッサ等によるデータ処理効率を考慮したとき、プロセッサのライトアクセスに対してはそれに応答するメモリ側でのライト処理の高速化は左程重要ではないが、上記より、プロセッサのライトアクセス要求を待たせないので、システム全体のデータ処理効率の向上に寄与する。
ライトバッファはメモリブロックに比べて小容量・高速のメモリ等によって構成すればよく、上記同様、例えばメモリブロックをDRAMモジュールで構成するとき、ライトバッファをSRAMモジュールで構成すればよい。
上記構成を制御の観点を主体に述べれば、半導体集積回路は、外部からライトデータを入力可能な外部インタフェース手段(I/F1)と、前記外部インタフェース手段に入力されたライトデータを入力するライトバッファ(WB0〜WB3)と、前記ライトバッファからライトデータが供給される複数個のメモリブロック(BNK0〜BNK7)と、外部からのアクセス要求に応答して外部インタフェース手段に供給されるライトデータを前記ライトバッファに格納させ、アクセス対象メモリブロックがライト動作可能にされるのを待ってライトデータをライトバッファからメモリブロックに供給させる制御手段(MCNT)と、を有する。
〔3〕上記リードバッファとライトバッファの双方の構成を兼ね備えた半導体集積回路は、並列動作可能な複数個のメモリブロック(BNK0〜BNK7)と、外部からライトデータを入力可能であって外部へリードデータを出力可能な外部インタフェース手段(I/F1)と、前記外部インタフェース手段に入力されたライトデータを入力して保持し、メモリブロックがライト動作可能にされた後にライトデータをメモリブロックに供給するライトバッファ(WB0〜WB3)と、前記メモリブロックから読み出されたリードデータを前記外部インタフェース手段から外部に出力不可能な競合状態に応答して保持する事が可能なリードバッファ(RB0〜RB3)と、前記出力不可能な競合状態が解消されているとき前記メモリブロックから読み出されたリードデータ又は前記リードバッファから読み出されたリードデータを選択して前記外部インタフェース手段(40,41)に与える選択手段と、を有する。
〔4〕下位レベル及び上位レベルの双方の記憶階層に接続可能なキャッシュメモリとしての用途を想定する。このとき、半導体集積回路は、並列動作可能な複数個のメモリブロック(BNK0〜BNK7)と、外部からライトデータを入力可能であって外部へリードデータを出力可能な第1の外部インタフェース手段(I/F1)と、外部からライトデータを入力可能であって外部へリードデータを出力可能な第2の外部インタフェース手段(I/F2)とを有する。更に、半導体集積回路は、前記第1又は第2の外部インタフェース手段に入力されたライトデータを入力して保持し、メモリブロックがライト動作可能にされた後にライトデータをメモリブロックに供給するライトバッファ(WB0〜WB3)、前記第2の外部インタフェース手段から出力すべきリードデータの保持と、前記第1の外部インタフェース手段から出力すべきリードデータであって当該第1の外部インタフェース手段から出力不可能な競合状態にあるリードデータの保持とを行うことが可能なリードバッファ(RB0〜RB3)と、前記出力不可能な競合状態が解消されているとき前記メモリブロックから読み出されたリードデータ又は前記リードバッファから読み出されたリードデータを選択して前記第1の外部インタフェース手段に与える選択手段(40,41)と、を有する。
この構成において、第1の外部インタフェース手段は上位の記憶階層に接続され、第2の外部インタフェース手段は下位の記憶階層に接続される。プロセッサのリード・ライトアクセス要求に対する前記リードバッファ及びライトバッファの基本的な作用は上記同様である。特に、第2の外部インタフェース手段を介する下位記憶階層へのリードデータの出力は、リードバッファを介するデータ出力だけになる。これは、下位記憶階層へのリードデータ出力として、プロセッサによるライトアクセスに伴うコピーバック(若しくはライトバック)のためのリード動作を想定するからである。コピーバックは、キャッシュミスに際してダーティーなキャッシュラインをリプレースするためにそのデータをメインメモリに退避させる動作だから、そのようなリード動作では殆どの場合高いスループットは要求されないので、リードバッファを迂回して直接リードデータを第2の外部インタフェース手段から出力可能にするデータパスやそのためのロジック回路を省いて、回路の論理規模が無駄に拡大しないようにしている。
前記半導体集積回路をマルチプロセッサシステムに適用することを考慮すると、下位の記憶階層側にも別のプロセッサが接続される事になり、当該別のプロセッサのアクセスにもその半導体集積回路が動作される場合が想定される。これに対処するには、前記第1及び第2の外部インタフェース手段は、夫々個別にメモリブロックに対するアクセス要求とアクセスアドレスとを外部から入力可能であればよい。
また、下位の記憶階層から上記半導体集積回路を通過して上位の記憶階層にリードデータが供給されるときのリソース競合を考慮すれば、前記第2の外部インタフェース手段からデータを入力して保持し、保持したデータを前記第2の外部インタフェース手段から外部に出力可能なメモリバッファ(54)を更に有することが、キャッシュメモリとしての半導体集積回路の利便性を増す。
〔5〕メモリブロックが例えばDRAMで構成される場合に、DRAMのアクセス時間の短縮は公知のページモードやスタティック・カラムモードでも達成できる。更に、DRAMで構成されるようなメモリブロックにおける見掛け上のアクセスタイムを短縮するために、データの入力に直列並列変換を施し、データ出力に並列・直列変換を施す。即ち、半導体集積回路は、メモリセルアレイ(10)、ロウ選択回路(11)、カラム選択回路(12,13)、直列・並列変換回路(21)、ライトアンプ(17W)、メインアンプ(17R)、並列・直列変換回路(25)を有するメモリブロックを含む。メモリセルアレイは、選択端子がワード線に接続され、データ入出力端子がビット線に接続されたメモリセルを複数個有する。ロウ選択回路は、ロウアドレスストローブ信号の変化にクロック信号同期で応答しロウアドレス信号で指定されるワード線を選択する。カラム選択回路は、カラムアドレスストローブ信号の変化にクロック信号同期で応答しカラムアドレス信号で指定されるビット線を複数本並列に選択する。直列・並列変換回路は、ライトバッファから直列的に入力されるライトデータをクロック信号に同期して並列データに変換する。ライトアンプは、前記カラム選択回路で選択された複数本のビット線に前記直列・並列変換回路の出力を並列出力する。メインアンプは、前記カラム選択回路で選択された複数本のビット線から並列出力される並列データを増幅する。並列・直列変換回路はメインアンプから供給される並列データをクロック信号に同期して直列データに変換して前記リードバッファ及び選択手段に向けて出力する。
前記メモリブロックは前記クロック信号周期のn(2以上の正の整数)倍の周期で変化される前記カラムアドレスストローブ信号が入力され、カラムアドレス信号が変化されるサイクル毎に、メモリセルアレイから読み出されクロック信号サイクルに同期して並列・直列変換された複数の直列データがメモリブロックから出力され、またクロック信号サイクルに同期してメモリブロックに入力されて直・並列変換された並列データがメモリセルアレイに書込まれる。このように、クロック信号のnサイクルに1回の割合でカラムアドレスストローブ信号を変化させるというアクセス仕様によってメモリ動作の高速化を図ることが可能になる。
前記直列・並列変換回路の直列データ入力経路と、前記並列・直列変換回路の直列データ出力経路とを独立に備えるとよい。リード動作ではカラムアドレスストローブ信号の変化に応答してメモリセルアレイからデータを読み出した後に並列・直列変換の時間を要してメモリブロックから直列データが出力されるが、ライト動作では、カラムアドレスストローブ信号の変化に応答してメモリセルアレイに並列データを書込む前に、予めメモリブロックに入力された直列データを並列データに変換する動作を完了していなければならない。このとき、リード動作に続けてライト動作が指示されると、リード動作による直列データをメモリブロックから出力する動作に並行して、ライト動作のための直列データを予めメモリブロックに順次直列に入力する動作を行わなければならないことが多く予想される。即ち、メモリブロックからの直列データ出力タイミングとメモリブロックへの直列データ入力タイミングとがオーバラップする蓋然性が高い。前述の如く、メモリブロックの直列データ入力経路と直列データ出力経路とを独立に持つことによって、そのような処理のオーバラップに対してもデータの衝突を回避して効率的な処理を実現可能になる。
〔6〕リードデータの伝播遅延を考慮するとき、前記半導体集積回路には以下のレイアウト構成を採用するのがよい。例えば信号入出力用のボンディングパッド若しくはバンプ電極などの外部接続電極がチップの中央部に配置されているセンタパッド形態を想定する。このとき、半導体チップ上にメモリブロックが離間して対向配置される。前記対向するメモリブロックの間に、メモリブロックから読み出されたリードデータを保持することが可能なリードバッファ及びメモリブロックに与えるライトデータを保持する事が可能なライトバッファが配置される。前記リードバッファとライトバッファとの近傍に外部インタフェース手段が配置される。前記外部インタフェース手段の近傍に位置する外部接続電極を有する。前記ライトバッファは、前記外部インタフェース手段に入力されたライトデータを入力して保持し、メモリブロックがライト動作可能にされた後にライトデータをメモリブロックに供給する。前記リードバッファは、前記メモリブロックから読み出されたリードデータを前記外部インタフェース手段から外部に出力不可能な状態に呼応して保持する事が可能である。
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
すなわち、メモリブロックの並列動作によるデータ競合を回避するためにデータバッファを採用した構成においてリード動作のスループットを改善することができる。
ロジック回路の論理規模が無駄に拡大しないようにリード動作のスループットを改善することができる。
内部のメモリ動作状態に拘わらずにライトアクセスの要求を受け付ける事が容易な半導体集積回路を実現する事ができる。
図1には本発明に係る半導体集積回路の一例が全体的に示される。同図に示される半導体集積回路1は、特に制限されないが、L3キャッシュメモリとしての利用が想定された半導体集積回路であり、8個のメモリブロックBNK0〜BNK7、4個のライトバッファWB0〜WB3、4個のリードバッファRB0〜RB3、上位記憶階層(例えばプロセッサバス)に接続される上位階層インタフェースブロックI/F1、下位記憶階層(例えばメモリバス)に接続される下位階層インタフェースブロックI/F2、メモリ制御回路MCNTを有する。
前記上位階層インタフェースブロックI/F1は、上位記憶階層例えばL1キャッシュメモリ及びL2キャッシュメモリを内蔵したプロセッサが接続されるプロセッサバス等に接続され、アクセス制御信号及びアクセスアドレス信号を等を含むアクセス制御情報を入力し、また、例えば72ビット並列でデータを入出力する。
前記下位階層インタフェースブロックI/F2は、下位記憶階層例えばメインメモリ又はL4キャッシュメモリ等が接続されるメモリバス等に接続され、例えば72ビット並列でデータを入出力する。特に制限されないが、マルチプロセッサシステムを想定し、上位記憶階層のプロセッサとは別のプロセッサからもアクセス可能なように、前記下位階層インタフェースブロックI/F2は当該別のプロセッサからアクセス制御情報を入力してメモリブロックBNK0〜BNK7のアクセスが可能になっている。
前記メモリ制御回路MCNTはアクセス制御情報を入力し、それに含まれるアドレス情報の一部をデコードしてアクセス対象メモリブロックを判定し、アクセス対象メモリブロックに、ローカルなメモリアドレスとアクセス制御信号を出力して、そのメモリブロックの動作を制御する。
代表的に示されたメモリブロックBNK0は72ビット(8バイト)単位で直列的に入力されるライトデータを4個のライトレジスタ(ILT)22に順次ラッチして、288ビット(32バイト)並列でDRAMコア8に書込み可能にされ、また、DRAMコア8から288ビット並列で読み出されたリードデータを72ビット単位でリードレジスタ(OLT)26にラッチし、セレクタ27によりリードレジスタ26の出力を順次選択して72ビット単位で直列的にリードデータを出力可能になっている。従って、メモリブロックBNK0は、DRAMコア8のアクセスタイムに対して4倍の速度でデータを入出力することができる。尚、本明細書においては、1バイトは8ビットのデータと1ビットのパリティーデータとを含むものとされる。
上位階層インタフェースブロックI/F1に入力された上位記憶階層からの書込みデータはライトバッファWB0(WB1〜WB3)を介してメモリブロックBNK0(BNK1〜BNK7)に供給される。
メモリブロックBNK0(BNK1〜BNK7)から読み出されたリードデータの出力経路は、上位スルー経路、上位バッファリング経路、及び下位バッファリング経路の3通りとされる。上位スルー経路は、概略的に示されたセレクタ40,41を介して上位階層インタフェースブロックI/F1から上位記憶階層に出力する経路である。上位バッファリング経路は、リードバッファRB0(RB1〜RB3)に一旦蓄えられたリードデータを前記セレクタ40,41を介して上位階層インタフェースブロックI/F1から上位記憶階層に出力する経路である。下位バッファリング経路は、リードバッファRB0(RB1〜RB3)に一旦蓄えられたリードデータを前記セレクタ42を介して下位階層インタフェースブロックI/F2から下位記憶階層に出力する経路である。下位階層へのスルー経路は設けられていない。
前記リードバッファRB0〜RB3及びライトバッファWB0〜WB3はSRAMによって構成される。それらSRAMのアクセスはシステムのクロック信号によって規定される1サイクル単位で可能にされている。上記リードバッファRB0〜RB3乃び上記ライトバッファWB0〜WB3のおのおのを構成する上記SRAMは公知のSRAMと同様に構成することが可能である。上記SRAMは、特に制限されないが、複数のスタティク型メモリセルと複数のワード線と複数の相補データ線対とを含むメモリアレイ、所定のワード線をアドレス信号に応答して選択するアドレスデコーダー、選択された複数個のメモリセルのデータを増幅するセンスアンプ及び増幅されたデータを出力するデータ出力回路とを有する構成とされる。
以下に述べられる様に、各SRAMは、一組のアドレス信号の入力に対して、72個のメモリセルが同時に選択される構成とされる。各スタティク型メモリセルは、Nチャンネル型MOSFETとPチャンネル型MOSFETとを含むCMOSインバータを1対含むと共に、上記1対のCMOSインバータの入力と出力とを交差結合して構成された情報記憶部と、その情報記憶部を選択するための複数個のNチャンネル型トランスファMOSFETからなる選択トランジスタを含む。上記複数個の選択トランジスタのゲート端子は、1本乃至複数本のワード線に選択的に結合され、上記複数個の選択トランジスタのソース・ドレインパスは、対応する1対乃至複数対の相補データ線に結合され、多入力ポート・多出力ポートのメモリセルとして構成される。上記リードバッファRB0〜RB3乃び上記ライトバッファWB0〜WB3のおのおのを構成する上記SRAMの各々は、特に制限されないが、128ワード×72ビットの構成とされる。
尚、多入力ポート・多出力ポートのメモリセルの構成自体は、種々変更可能である事は当業者にとって容易に理解されるであろう。
図2には前記半導体集積回路1における前記リードデータの出力経路の詳細が例示される。メモリブロックBNK0、BNK4はリードバッファRB0とライトバッファWB0を共有する。同じく、メモリブロックBNK1、BNK5はリードバッファRB1及びライトバッファWB1を共有し、メモリブロックBNK2、BNK6はリードバッファRB2及びライトバッファWB2を共有し、メモリブロックBNK3、BNK7はリードバッファRB3及びライトバッファWB3を共有する。前記ライトバッファWB0〜WB3及びリードバッファRB0〜RB3は、特に制限されないが、2個のリードポートと2個のライトポートを有する。各ポートは8バイトの並列アクセスポートである。
対を成す一方のメモリブロックBNK0からのリードデータと他方のメモリブロックBNK4からのリードデータとの何れかを選択するセレクタ41Aaが設けられている。他のメモリブロックに関しても同様のセレクタ41Ab〜41Adが設けられている。S10〜S13は前記セレクタ41Aa〜41Adの選択制御信号である。前記リードバッファRB0から出力されるリードデータとセレクタ41Aaで選択されるリードデータとの何れかを選択するセレクタ40Aaが設けられている。他のメモリブロックに関しても同様のセレクタ40Ab〜40Adが設けられている。S20〜S23は前記セレクタ40Aa〜40Adの選択制御信号である。前記セレクタ40Aa〜40Adの出力はセレクタ41Bで選択されて上位階層インタフェースブロックI/F1に与えられる。セレクタ41Bの動作は2ビットの選択信号S30A,S30Bで制御される。前記セレクタ42はリードバッファRB0〜RB3の一方のリードポートからの出力を選択して下位階層インタフェースブロックI/F2に与える。セレクタ42の動作は2ビットの選択信号S31A,S31Bで制御される。
図3には前記メモリ制御回路MCNTが生成する制御信号が例示される。メモリ制御回路MCNTは、メモリブロックBNK0〜BNK7毎にアドレス信号ADRS、ロウアドレスストローブ信号RAS、カラムアドレスストローブ信号CAS及びライトイネーブル信号WE等を出力し、リードバッファRB0〜RB3毎にアドレス信号ADRS、メモリイネーブル信号MS、リード/ライト信号R/W及びポートセレクト信号PSLを出力し、ライトバッファWB0〜WB3毎にアドレス信号ADRS、メモリイネーブル信号MS、リード/ライト信号R/W及びポートセレクト信号PSLを出力し、前記セレクタ選択信号S10〜S13,S20〜S23,S30A,S30B,S31A,S31Bを出力し、インタフェースブロックI/F1,I/F2に対する出力イネーブル信号OEP1,OEP2等を出力する。メモリ制御回路MCNTはアクセス制御情報を上位記憶階層と下位記憶階層との双方から入力し、入力したアクセス制御情報が指示する動作を実現するように上記制御信号の中から必要な制御信号を所定のタイミングで活性化制御する。上記メモリ制御回路MCNTは、メモリブロックBNK0〜BNK7のリフレッシュ動作の期間に関する信号MRef0〜7が各メモリブロックBNK0〜BNK7から入力される。
アクセス制御情報43は図4に例示されるようにアドレス指定部43Aとオペレーション指定部43Bとを含む。アドレス指定部43Aはリード、ライトを行うメモリブロックBNK0〜BNK7の指定情報と、メモリブロック内のアドレス情報とを含む。オペレーション指定部43Bは、半導体集積回路1に、例えばアドレス指定部で指定されるアドレスからの8バイトのデータのリード/ライト、アドレス指定部で指定されるアドレスから連続16バイトのデータのリード/ライト、アドレス指定部で指定されるアドレスから連続32バイトのデータのリード/ライト等の動作を指定する。
前記メモリ制御回路MCNTは半導体集積回路1の内部においてリソースが競合しない範囲でメモリブロックBNK0〜BNK7を並列動作させるように外部からのアクセス要求を受け付ける。また、メモリ制御回路MCNTは、メモリブロックBNK0〜BNK7の中から選ばれた一つのメモリブロック又はリードバッファRB0〜RB3の中から選ばれた1つのリードバッファをインタフェースブロックI/F1、I/F2に導通させて、リードデータの外部出力を制御する。
図5には外部からのアクセス要求に対する前記メモリ制御回路MCNTの主な制御手順が代表的に示される。
前記メモリ制御回路MCNTは、ライトアクセスの要求に対しては、ライト対象メモリブロックによるリフレッシュ等の内部動作の有無に関係なくライトバッファWB0〜WB3の内の対応するライトバッファに予めライトデータを取込む制御を行う(T1)。その後、書込み対象メモリブロックがリフレッシュ等の内部動作を行っておらずライト動作可能であるかの判定が行われ(T2)、ライト動作可能の判定を待って対象メモリブロックへデータライトが行われる(T3)。
図6にはライトアクセスの途中にリフレッシュ動作が介在される場合のライト動作の一例が示される。図6ではメモリブロックBNK0を書込み対象とする。U1〜U8は夫々半導体集積回路1の外部から与えられるアセス単位を意味するものであり、アクセス単位のデータは72ビット並列である。システムの動作サイクル4〜9ではメモリブロックBNK0はリフレッシュ動作を行い、その前後ではリード/ライト可能である。ライトデータは1サイクル遅れで順次ライトバッファWB0に格納されていく。一旦ライトバッファWB0に格納されたライトデータは、書き込み対象メモリブロックBNK0がリード/ライト可能であれば、1サイクル毎にライトデータが順次メモリブロックBNK0のライトレジスタ22に供給されていく。アクセス単位U4のデータがライトレジスタ22にラッチされたとき既にメモリブロックBNK0はリフレッシュ動作に入っている。メモリ制御回路MCNTはライトバッファWB0からライトレジスタ22へのデータ転送を中断してリフレッシュ動作の終了を待つ。その間、ライトバッファWB0へのライトデータの書込みは継続される。動作サイクル9でメモリブロックBNK0のリフレッシュ動作が完了されると、メモリ制御回路MCNTはサイクル10でメモリブロックBNK0に対してストローブ信号RAS,CAS,WEをアサートしライトアドレスを与え、アクセス単位U1〜U4のデータを4サイクルかけてDRAMコア8に書込む。DRAMコア8への書込みに並行して、後続のアクセス単位U5〜U8のライトデータをライトレジスタ22に順次転送する。メモリ制御回路MCNTはサイクル14でメモリブロックBNK0に対してストローブ信号RAS,CAS,WEをアサートしライトアドレスを与え、アクセス単位U5〜U8のデータを4サイクルかけてDRAMコア8に書込む。結果として、アクセス単位U1〜U8のライトアクセスを指示する上位記憶階層側のプロセッサは、サイクル8で今回のライトアクセスの処理から解放され、メモリブロックBNK0にリフレッシュ動作が介在されてもその影響を受けない。
図7にはライトバッファWB0が設けられていない場合ライト動作の一例が示される。ライトバッファWB0が無い場合、DRAMコア8でリフレッシュ動作が開始されると、ライトアクセスを指示する上位記憶階層側のプロセッサは、サイクル4でライトアドレスとライトデータの出力、即ちライトアクセス要求の発行を中断し、リフレッシュ動作が完了するのを検出しながら待たなければならない。リフレッシュ動作が終わったサイクル9以降、上位記憶階層側のプロセッサは再び、ライトアクセスの要求を発行して、サイクル10から順次アクセス単位U5〜U8のアドレス及びデータを出力する。これにより、メモリブロックBNK0のDRAMコア8に対するアクセス単位U1〜U8のライトデータ書込みはサイクル19で完了するが、ライトアクセスを指示する上位記憶階層側のプロセッサは、サイクル13までライトアクセスの処理から解放されない。図6と比較すれば明らかなように、L3キャッシュメモリとされる半導体集積回路1がライトバッファWB0〜WB3をもつ事により、上位階層のプロセッサのデータ処理効率を格段に向上させることが可能になる。
一方、前記メモリ制御回路MCNTは、メモリブロックBNK0〜BNK7から読み出されたリードデータをインタフェースブロックI/F1、I/F2を介して外部に出力する動作を制御するときは、前記リードデータの出力経路の選択、即ち、前記上位スルー経路、上位バッファリング経路、及び下位バッファリング経路の選択制御を行って、データリード動作のスループットを向上させる。
前記上位スルー経路を選択するか上位バッファリング経路を選択するかはリソース競合を生ずる虞があるか否かをメモリ制御回路MCNTが判定することによって行う。
即ち、前記メモリ制御回路MCNTは、図5に例示されるように、リードアクセス要求に対して、アクセス対象メモリブロックのDRAMコア8からデータを読み出し(T4)、読み出したリードデータを前記上位階層インタフェースブロックI/F1から外部に出力するときリソース競合があるかを判定し(T5)、リソース競合がある場合、即ち、前記上位階層インタフェースブロックI/F1から外部にそのリードデータを出力することが不可能な状態であるときは、当該リードデータを対応するリードバッファRB0〜RB3に保持させる(T6)。前記出力不可能な状態が解消されているときは前記メモリブロックBNK0〜BNK7から読み出されたリードデータ又は前記リードバッファRB0〜RB3から読み出されたリードデータを前記上位階層インタフェースブロックI/F1から外部に出力させる(T7)。
図8にはリードバッファRB0〜RB3を利用したリード動作の一例が示される。図8において上位記憶階層側のプロセッサはシステムの動作サイクル単位で連続してアクセス要求A〜Dを発行する。アクセス要求AはメモリブロックBNK0のアドレスAから連続する32バイトのデータA−0、A−1,A−2,A−3を読み出すリードアクセス要求である。同様に、アクセス要求BはメモリブロックBNK4のアドレスBから連続する32バイトのデータB−0、B−1,B−2,B−3を読み出すリードアクセス要求、アクセス要求CはメモリブロックBNK1のアドレスCから連続する32バイトのデータC−0、C−1,C−2,C−3を読み出すリードアクセス要求、アクセス要求DはメモリブロックBNK3のアドレスDから連続する32バイトのデータD−0、D−1,D−2,D−3を読み出すリードアクセス要求である。
前記アクセス要求Aがあると、メモリ制御回路MCNTはメモリブロックBNK0のDRAMコア8からアドレスAで指定された288ビットのデータを並列に読み出してリードレジスタ26にラッチする。そしてリードレジスタ26が順次選択され、8バイト単位でリードデータA−0,A−1,A−2,A−3がメモリブロックBNK0から出力される。このリードデータの出力はシステムの動作サイクル単位(1サイクル単位)で行われる。このとき、上位階層インタフェースブロックI/F1は出力動作を行っていない。これに従ってメモリコントローラMCNTはセレクタ41Aa,40Aa,41BによってメモリブロックBNK0からの出力データA−0,A−1,A−2,A−3を直接上位階層インタフェースブロックI/F1に伝達して外部に出力させる。
この出力動作に並行して、1サイクル遅れで、次のアクセス要求Bが発行され、メモリブロックBNK4から順次リードデータB−0,B−1,B−2,B−3が出力される。出力されたリードデータは順次リードバッファRB0に蓄えられていく。同様に、後続する次のアクセス要求CによってメモリブロックBNK1から順次リードデータC−0,C−1,C−2,C−3が出力されてリードバッファRB1に蓄えられ、更に後続する次のアクセス要求DによってメモリブロックBNK3から順次リードデータD−0,D−1,D−2,D−3が出力されてリードバッファRB3に蓄えられる。後続するリードデータをリードバッファに保持する動作を行っている途中で、上位階層インタフェースブロックI/F1による外部へのデータ出力が終了すると、これに続くアクセス要求のリードデータを今度はリードバッファから読み出して外部に出力させる。即ち、データA−3の次は、リードバッファRB0から順次リードデータB−0,B−1,B−2,B−3を出力させ、これをセレクタ40Aa,41Bで選択して上位階層インタフェースブロックI/F1から外部へデータさせる。以下、データC−0〜D−3まで連続して外部に出力される。
一方、図9に例示されるようにリードバッファが無ければ、最初のアクセス要求Aに係るリードデータを全て外部に出力するまで、次のアクセス要求を受け付けることはできない。異なったメモリブロックにおいて、少なくとも、リードレジスタの出力動作が競合しないようにしなければならない。
これより明らかなように、リードバッファRB0〜RB3を採用することによって後続のリードアクセス要求を予め受け付けてメモリブロックの内部動作を先行させる事ができ、また、リードバッファにはDRAMよりもアクセス速度の速いSRAMを採用することによりバッファリングされたデータ出力動作が遅くなることもなく、データリード動作のスループットを向上させる事ができる。
更に、メモリブロックBNK0〜BNK7からデータが読み出されたとき前記リソース競合が無ければ、リードデータはリードバッファRB0〜RB3を介することなく直接上位階層インタフェースブロックI/F1から外部に出力されるから、データ競合を生じていない場合にも一旦データバッファリングを行うような無駄を回避でき、この点においてリードデータ出力動作のスループットを向上に寄与する。
次に前記半導体集積回路1をキャッシュメモリシステムに適用した場合に即して説明する。
図10にはキャッシュメモリシステムの第1の例が示される。半導体集積回路1はL3キャッシュメモリとして利用され、プロセッサ50とメインメモリ51の間に配置される。半導体集積回路1の前記上位階層インタフェースブロックI/F1にはプロセッサバス52が接続され、プロセッサとの間でデータを入出力し、また、プロセッサ50から出力されるアクセス制御情報を入力する。半導体集積回路1の前記下位階層インタフェースブロックI/F2にはメモリバス53が接続され、メインメモリ51との間でデータを入出力する。メインメモリ51に対するアクセス制御情報は、特に制限されないが、プロセッサ50が発行する情報である。
プロセッサ50はCPU50Aと共にL1キャッシュメモリ50B、L2キャッシュメモリ50Cを内蔵し、更にL3キャッシュメモリのためのタグ制御論理(TAG)50Dを備えている。半導体集積回路1はL3キャッシュメモリのデータメモリ部として位置付けられる。タグ制御論理50Dは、L3キャッシュメモリとしての半導体集積回路1のキャッシュライン毎にインデックスアドレスとキャッシュエントリのタグアドレスとを関連着ける情報を有する。更に、キャッシュライン毎に、そのキャッシュラインの有効性を示すバリッドビット、キャッシュラインのリプレースに際して下位記憶階層へのコピーバック若しくはライトバックの必要性を示すダーティービット等を有する。
尚、図10において、半導体集積回路1の下位記憶階層はメインメモリに限定されず、L4キャッシュメモリであってもよい。L4キャッシュメモリのタグ制御部はプロセッサ50の内部に構成してよい。
図11には図10のキャッシュメモリシステムにおけるプロセッサのリードアクセス動作に着目したデータフローが示される。プロセッサ50に内蔵されたL1キャッシュメモリ50B、L2キャッシュメモリ50Cがキャッシュミスのとき、タグ制御論理50Dによって半導体集積回路1がキャッシュヒットするならば、プロセッサ50は半導体集積回路1をターゲットとしてリードアクセスを要求する。この時のアクセス制御情報の経路はP1である。前述のように、リソース競合が無ければリードデータはメモリブロックBNK0〜BNK7から直接プロセッサ50に返される(経路P2)。リソース競合があるときは、リードデータは一旦リードバッファRB0〜RB3の内の一つに保持され、リソース競合を生じないタイミングでリードバッファRB0〜RB3からプロセッサ50に返される(経路P2’)。半導体集積回路1もキャッシュミスになるとき、プロセッサ50はアクセス制御情報をメインメモリ51に与え(経路P3)、メインメモリ51のリードデータがプロセッサ50に返される(径路P4)。
このとき、仮に、別の回路モジュールの影響によって径路P4でバスの競合を生ずるような場合、メインメモリ51からリードデータをプロセッサ50に送る事ができない。バス競合が解消されても、再度プロセッサ50はメインメモリ51にアクセス要求を発行して、DRAMで成るようなアクセス速度の遅いメインメモリ51を再度アクセスしなければならなくなる。そこで、図11に例示されるように、リードバッファRB0〜RB3と同様にSRAM等で成る高速アクセス可能なメモリバッファ(MB)54をメインメモリ51とプロセッサ50との間に配置するとよい。
メモリバッファ54は半導体集積回路1に内蔵させてもよい。メモリバッファ54は前記下位階層インタフェースブロックI/F2からデータを入力して保持し、保持したデータを前記上位階層インタフェースブロックI/F1から外部に出力可能にすればよい。メモリバッファ54のリードデータ出力とメモリブロックBNK0〜BNK7のリードデータ出力は排他的であれよく、例えば、プロセッサ50はメモリバッファ54を直接指定して動作させればよい。
図12は図10のキャッシュメモリシステムにおけるプロセッサのライトアクセスに動作に着目したデータフローが示される。プロセッサ50のライトアクセスにおいて、プロセッサ50に内蔵されたL1キャッシュメモリ50B、L2キャッシュメモリ50Cがキャッシュミスのとき、タグ制御論理50Dによって半導体集積回路1がキャッシュヒットするならば、プロセッサ50は半導体集積回路1をターゲットとしてライトアクセスを要求する。この時のアクセス制御情報の経路はP1である。前述のように、ライトデータは一旦ライトバッファWB0〜WB3の内の一つに格納され、ライト対象メモリブロックがライト動作可能になったときライトバッファからメモリブロックにライトデータが書き込まれる(経路P5)。半導体集積回路1はライトバッファWB0〜WB3を備えるので、ライト要求の途中でメモリブロックのリフレッシュ動作が介在されても書き込み要求を途中で中断しなくてもよい。したがって、書き込み処理からプロセッサ50を早く開放してやることができる。半導体集積回路1もキャッシュミスになるときは、プロセッサ50はアクセス制御情報をメインメモリ51に与え(経路P3)、ライトデータをメインメモリ51に与える(径路P6)。
図13は図10のキャッシュメモリシステムにおけるキャッシュラインのリプレースに着目したデータフローが示される。ライトアクセス又はリードアクセス時における半導体集積回路1のキャッシュミスに応答してメモリブロックBNK0〜BNK7の所定のキャッシュラインをリプレースするとき、当該キャッシュラインのダーティービットがイネーブルであるとき、リプレース前に、そのキャッシュラインのエントリを対応するタグアドレスの下位階層エリアにコピーバックしなければならない。コピーバックすべきデータはメモリブロックBNK0〜BNK7からリードバッファRB0〜RB3に格納すればよく、実際にアクセス速度の遅いDRAMから成るメインメモリ51に実際にコピーバックされるのを待つ必要はない。また、リプレースすべき新たなキャッシュエントリのデータは、コピーバックすべきデータがリードバッファRB0〜RB3に転送されるのを待つことなくメインメモリ51からライトバッファWB0〜W3に書き込んでよい。これにより、キャッシュラインのリプレースを伴なうようなときにもプロセッサ50による最終的なデータリードのスループットを向上させることができる。
前記図1及び図2に基づいて説明したように下位階層インタフェースブロックI/F2とメモリブロックBNK0〜BNK7との接続はリードバッファRB0〜RB3を介する経路のみであり、上位階層のようなスルー経路は設けられていない。コピーバックは、キャッシュミスに際してダーティーなキャッシュラインをリプレースするためにそのデータをメインメモリに退避させる動作だから、そのようなリード動作では殆どの場合高いスループットは要求されないので、リードバッファRB0〜RB3を迂回して直接リードデータを下位階層インタフェースブロックI/F2から出力可能にするデータパスやそのためのロジック回路を省けば、半導体集積回路1の論理規模が無駄に拡大しないようになる。
図14にはキャッシュメモリシステムの第2の例が示される。半導体集積回路1を前記プロセッサ50のメインメモリとして利用することも可能である。この場合、半導体集積回路1の下位階層インタフェースブロックI/F2を用いる必要はない。
図15にはキャッシュメモリシステムの第3の例が示される。同図に示されるキャッシュメモリシステムはマルチプロセッサシステムに適用された例であり、特に制限されないが、前記プロセッサ50−1,50−2を有し、夫々には前記半導体集積回路1で構成されたL3キャッシュメモリ1−1,1−2が接続され、L3キャッシュメモリ1−1,1−2はバススイッチ回路55を介して前記メインメモリ51に接続される。
前記L3キャッシュメモリ1−1,1−2は上位階層インタフェースブロックI/F1に接続するプロセッサバス52−1,52−2を介してプロセッサ50−1,50−2に結合し、プロセッサ50−1,50−2との間でデータを入出力し、また、プロセッサ50−1,50−2から出力されるアクセス制御情報を入力する。L3キャッシュメモリ1−1,1−2の前記下位階層インタフェースブロックI/F2はメモリバス53−1,53−2を介してバススイッチ回路55に接続され、メインメモリ51はメモリバス53−3を介してバススイッチ55に接続する。
前記バススイッチ回路55は特に制限されないが第1乃至第4のバス接続状態を選択的に実現する。第1のバス接続状態は、プロセッサ50−1から出力されるアクセス制御情報をメインメモリ51に伝達し、メインメモリ51とL3キャッシュメモリ1−1又はプロセッサ50−1との間でデータ入出力を可能にする。第2のバス接続状態は、プロセッサ50−2から出力されるアクセス制御情報をメインメモリ51に伝達し、メインメモリ51とL3キャッシュメモリ1−2又はプロセッサ50−2との間でデータ入出力を可能にする。第3のバス接続状態はプロセッサ50−1から出力されるアクセス制御情報をL3キャッシュメモリ1−2に伝達し、L3キャッシュメモリ1−2とプロセッサ50−1又はL3キャッシュメモリ1−1との間でデータ入出力を可能にする。第4のバス接続状態はプロセッサ50−2から出力されるアクセス制御情報をL3キャッシュメモリ1−1に伝達し、L3キャッシュメモリ1−1とプロセッサ50−2又はL3キャッシュメモリ1−2との間でデータ入出力を可能にする。
L3キャッシュメモリ1−2は、前記第3のバス接続状態に応答するため、下位階層インタフェースブロックI/F2にプロセッサ1−1から出力されるアクセス制御情報を受けてキャッシュメモリ動作可能になっている。同様に、L3キャッシュメモリ1−1は、前記第4のバス接続状態に応答するため、下位階層インタフェースブロックI/F2にプロセッサ1−2から出力されるアクセス制御情報を受けてキャッシュメモリ動作可能になっている。
図16には前記半導体集積回路1のチップレイアウトが示されている。単結晶シリコンのような1個の矩形の半導体チップ1Aの主面の中央部はロジック回路の領域1Bとされ、その上下に夫々メモリブロックBNK0〜BNK3とメモリブロックBNK4〜BNK7が分離して配置される。ロジック回路領域1Bの端にはリードバッファRB0〜RB3とライトバッファWB0〜WB3が分離して配置される。リードバッファRB0〜RB3とライトバッファWB0〜WB3との間にはインタフェースブロックI/F1,I/F2が分離配置される。インタフェースブロックI/F1,I/F2の近傍にはボンディングパッド又はバンプ電極のような外部接続電極(図示せず)が多数配置されている。特に制限されないが、インタフェースブロックI/F1,I/F2の間には、図11で説明したバッファメモリ(MB)54が配置される。ロジック回路領域1Bには特に図示はしないがその他の論理回路も配置されている。
図16のレイアウト構成を採用する事により、リードバッファRB0〜RB3はメモリブロックBNK0〜BNK7よりもインタフェースブロックI/F1,I/F2及び外部接続電極の近くに位置される。これにより、メモリブロックBNK0〜BNK7のリードレジスタからリードバッファRB0〜RB3を介することなく直接リードデータを外部に出力させる径路の動作遅延及び伝播遅延に対して、リードバッファRB0〜RB3からリードデータを外部に出力させる径路の動作遅延及び伝播遅延が極端に増えてしまわないようにできる。したがって、上記レイアウト構成は、データリード動作のスループット向上に寄与する。
図17にはメモリブロックの詳細な一例が示される。同図に代表的に示されるメモリブロックBNK0は、図示を省略するダイナミック型メモリセルがマトリクス配置されたメモリセルアレイ10を有する。ダイナミック型メモリセルは情報を記憶する容量素子と、それに結合されたNチャネル型MOSFFTからなる選択トランジスタとを含み、上記選択トランジスタのゲートである選択端子はワード線WLに接続され、上記選択トランジスタのソース・ドレインパスの一端は上記容量素子に結合され、上記ソース−ドレインパスの他端、すなわち、データ入出力端子は相補ビット線BLに接続される。特に図示はしないが、相補ビット線はセンスアンプを中心とした折り返しビット線構造を有し、相補ビット線間にはプリチャージ回路などが配置されている。
ロウデコーダ11はロウアドレスストローブ信号RASの立ち下がり変化に応答してドレスロウアドレス信号RASADRで指定されるワード線WLを選択するロウ選択回路である。相補ビット線BLの選択はカラムデコーダ13及びカラムスイッチ回路12で行う。カラムデコーダ13はカラムアドレスストローブ信号CASの立ち下がり変化に応答してカラムアドレス信号CASADRで指定される相補ビット線を複数本並列に選択するためのカラム選択信号14を生成する。更にカラムデコーダ13は、ライトイネーブル信号WEのローレベルによる書込み動作の指示に応答して書込み信号15Wを活性化し、ライトイネーブル信号WEのハイレベルによる読み出し動作の指示に応答して読み出し信号15Rを活性化する。カラムスイッチ回路12はカラム選択信号14によってスイッチ動作して当該信号14にて指示される32バイト(288ビット)分の相補ビット線を32バイト分の相補書込みデータ線WIOと32バイト分の相補読み出しデータ線RIOに夫々通させる。
前記相補書込みデータ線WIOにはライトアンプ17Wから出力される32バイトの書込みデータが並列に供給される。また、前記相補読み出しデータ線RIOはメインアンプ17Rに32バイトの読み出しデータを並列に供給される。ライトアンプ17Wは288個の書込み増幅回路を有し、書込み信号15Wが活性化されるのに応答して、並列入力される288ビットの書き込みデータDIN<0>〜DIN<3>に対する増幅信号を前記相補書込みデータ線WIOに288ビットで並列出力動作可能にされる。前記メインアンプ17Rは288個の読み出し増幅回路を有し、前記読み出し信号が活性化されるのに応答して、前記相補読み出しデータ線RIOからの入力に対する増幅信号を288ビットの読み出しデータMAOUT<0>〜MAOUT<3>として並列出力動作可能にされる。尚、前記データDIN<0>,…,DIN<3>は夫々8バイトであり、同様に前記データMAOUT<0>,…,MAOUT<3>も夫々8バイトである。
書込みデータWDの入力経路20と前記ライトアンプ17Wとの間には直列・並列変換回路21が配置されている。特に制限されないが、書込みデータWDは8バイト並列で供給される。直列・並列変換回路21は、前記4個のライトレジスタ22とデータラッチ制御回路23を有する。ライトレジスタ22の入力端子は入力経路20に共通接続され、出力端子は個別にライトアンプ17Wの書込み増幅回路の入力端子に結合される。データラッチ制御回路23は2ビットのラッチ制御データDLAT<1:0>をクロック信号CLKに同期してデコードすることにより4ビットのラッチ制御信号DINL<3:0>を生成し、対応するライトレジスタ22のラッチ制御を行う。ラッチ制御データLATD<1:0>が順次インクリメントされて変化されることにより、8バイト単位で並列に入力される書き込みデータWDがクロック信号CLKに同期して順次4個のライトレジスタ22にラッチされ、4個のライトレジスタ22の出力には32バイト並列で書き込みデータDIN<0>〜DIN<3>が得られる。
読み出しデータMUXOUTの出力経路29と前記メインアンプ17Rとの間には並列・直列変換回路25が配置されている。並列・直列変換回路25は、4個のリードレジスタ26、出力セレクタ27及び選択制御回路28を有する。リードレジスタ26の入力端子にはメインアンプ17Rから夫々読み出しデータMAOUT<0>〜MAOUT<3>が入力される。リードレジスタ26のラッチタイミングはラッチ制御信号PDOLTTで制御される。ラッチ制御信号PDOLTTによるラッチタイミングは、メモリセルから読み出されたデータによって読み出しデータMAOUT<0>〜MAOUT<3>が確定された後のタイミングとなるように後述の出力制御回路30で制御される。
前記セレクタ27は、リードレジスタ26の出力データDOUT<0>〜DOUT<3>を8バイトづつ選択制御信号MSEL<3:0>で選択して前記出力経路に29に出力する。選択制御回路28は2ビットの選択制御データMUXSEL<1:0>をクロック信号CLKに同期してデコードすることにより4ビットの選択制御信号MSEL<3:0>を生成する。選択制御データMUXSEL<1:0>が順次インクリメントされて変化されることにより、出力データDOUT<0>〜DOUT<3>がクロック信号CLKに同期して順次8バイトづつ出力経路29に出力されて読み出しデータMUXOUTが得られる。
出力制御回路30はCASレイテンシに従って前記ラッチ制御信号PDOLTTを生成する。CASレイテンシとは、データ読み出し動作において前記カラムアドレスストローブ信号CASの立ち下がり変化にクロック同期で応答するときその次のクロックサイクルから前記並列・直列変換回路25のデータ入力が確定するまでの遅延時間を前記クロック信号CLKのサイクル数相当で表現したものである。詳しくは、カラムアドレスストローブ信号CASの立ち下がりをクロック信号CLKの立下り(フォールエッジで)で検出する場合、前記カラムアドレスストローブ信号CASの立ち下がりを検出するフォールエッジの次のクロック信号CLKのフォールエッジから前記読み出しデータDOUT<0>〜DOUT<3>が確定した状態におけるクロック信号CLKの最初のフォールエッジまでのクロック信号CLKのサイクル数がCASレイテンシである。メモリセルアレイ10からのデータ読み出し動作とメインアンプ17Rによる読み出しデータの増幅動作は回路構成及び回路素子の特性等によって一義的に決まる。したがって、外部へ高速にデータを出力するには、それら動作遅延時間以上でそれに最も近い遅延時間のCASレイテンシを設定することが必要である。前述の如くCASレイテンシはクロック信号CLKのサイクル数相当であるから、CASレイテンシによる実際の遅延時間はクロック信号CLKの周波数に依存し、同じ遅延時間を設定する場合であっても、クロック信号CLKの周波数が高ければCASレイテンシは相対的に大きく、クロック信号CLKの周波数が低ければCASレイテンシは相対的に小さくなる。図1の例において出力制御回路30は、レイテンシ設定データFRCD<1:0>を入力して前記CASレイテンシを可変制御可能なCASレイテンシ制御回路を実現する。前記CASレイテンシは前記ラッチ制御信号PDOLTTによるラッチタイミングに反映される。
リフレッシュ制御回路(RCC)40は、上記メモリセルアレイ内の各メモリセルのデータを定期的にリフレッシュするための制御回路であり、メモリブロックBNK0の内部回路に対して複数の内部制御信号refを生成して供給する。一
方、上記リフレッシュ制御回路40は、上記メモリ制御回路MCNTに対して、メモリブロックBNK0がリフレッシュ期間おいて活性化されるリフレッシュ期間通知信号MRef0を出力する。
以上の説明より明らかなように、前記メモリブロックBNK0〜BNK7は前記クロック信号CLKの周期の複数倍の周期で変化される前記カラムアドレスストローブ信号CASが入力され、カラムアドレス信号CASが変化されるサイクル毎に、メモリセルアレイ10から読み出されクロック信号CLKのサイクルに同期して並列・直列変換された複数の直列データがメモリブロックから出力され、またクロック信号CLKのサイクルに同期してメモリブロックに入力されて直・並列変換された並列データがメモリセルアレイ10に書込まれる。このように、クロック信号CLKの複数サイクルに1回の割合でカラムアドレスストローブ信号CASを変化させるというアクセス仕様によってメモリ動作の高速化を図ることが可能になる。
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
例えば、本発明の半導体集積回路は上位及び下位階層双方のインタフェースブロックを有する構成に限定されない。例えば、図11に示されるようにメモリブロックとリードバッファを備える構成、図12示されるようにメモリブロックとライトバッファを備える構成、図13示されるようにメモリブロックとリードバッファ及びライトバッファを備える構成として本発明を夫々別々に把握することが可能である。
また、チップ面積に余裕があればリードバッファやライトバッファをメモリブロック毎に設けてもよい。
また、メモリブロックの数、並列データ入出力ビット数、リードレジスタ及びライトレジスタの段数等についても適宜変更することが可能である。
メモリブロックはDRAMに限定されず、リードバッファ及びライトバッファはSRAMに限定されず、他の記憶形式のメモリであってもよい。本発明は各種階層のキャッシュメモリ、メインメモリ、その他のロジック混載半導体集積回路に広く適用できることは言うまでもない。