(57)【特許請求の範囲】
【請求項１】
メモリ装置であって、
それぞれが、データ値を保持するために所定の時間内でリフレッシュされなければならない、複数のバンクに形成された複数のメモリセルと、
前記メモリセルのアクセス及びリフレッシュをするための制御回路であって、リフレッシュ動作の遅延なく、各メモリサイクルの間に前記メモリセルへのランダムなアクセスが可能であり、バンクに保留中の外部アクセスリクエストがない場合に限って、前記バンクのリフレッシュ動作が実行され、前記所定のリフレッシュ時間内で前記メモリセルの全てを常にリフレッシュするように形成された、該制御回路とを含み、
前記制御回路が、各バンク内でリフレッシュ動作を独立して制御し、それによって保留中の外部アクセスリクエストがない複数のバンクにおいて同時にリフレッシュ動作を行うことを可能にし、
前記制御回路が、スタティックＲＡＭ（ＳＲＡＭ）キャッシュを含み、
前記メモリ装置が、
前記バンクが並列に接続され、かつ前記バンクの任意の１つから読出すデータが供給される読出しバッファと、
前記ＳＲＡＭキャッシュと前記読出しバッファとの間に接続されたキャッシュ書込みバッファとを更に含むことを特徴とするメモリ装置。
【請求項２】
前記バンクが並列に接続された書込みバッファであって、データが前記書込みバッファから前記バンクの任意の１つに書込まれる、該書込みバッファと、
前記ＳＲＡＭキャッシュと前記書込みバッファとの間に接続されたキャッシュ読出しバッファとを更に含むことを特徴とする請求項１に記載のメモリ装置。
【請求項３】
メモリ装置であって、
それぞれが、データ値を保持するために所定の時間内でリフレッシュされなければならない、複数のバンクに形成された複数のメモリセルと、
前記メモリセルのアクセス及びリフレッシュをするための制御回路であって、リフレッシュ動作の遅延なく、各メモリサイクルの間に前記メモリセルへのランダムなアクセスが可能であり、バンクに保留中の外部アクセスリクエストがない場合に限って、前記バンクのリフレッシュ動作が実行され、前記所定のリフレッシュ時間内で前記メモリセルの全てを常にリフレッシュするように形成された、該制御回路とを含み、
前記制御回路が、各バンク内でリフレッシュ動作を独立して制御し、それによって保留中の外部アクセスリクエストがない複数のバンクにおいて同時にリフレッシュ動作を行うことを可能にし、
前記制御回路が、スタティックＲＡＭ（ＳＲＡＭ）キャッシュを含み、
前記メモリ装置が、
前記バンクが並列に接続された書込みバッファであって、データが前記書込みバッファから前記バンクの任意の１つに書込まれる、該書込みバッファと、
前記ＳＲＡＭキャッシュと前記書込みバッファとの間に接続されたキャッシュ読出しバッファとを更に含むことを特徴とするメモリ装置。
【請求項４】
前記ＳＲＡＭキャッシュが書き戻しポリシーを実行することを特徴とする請求項１若しくは３に記載のメモリ装置。
【請求項５】
前記ＳＲＡＭキャッシュがダイレクトマップキャッシュとして形成されることを特徴とする請求項１若しくは３に記載のメモリ装置。
【請求項６】
前記ＳＲＡＭキャッシュが、リフレッシュ時間内で前記複数のバンクのそれぞれが適正にリフレッシュされるのに十分な容量を持つことを特徴とする請求項１若しくは３に記載のメモリ装置。
【請求項７】
メモリ装置であって、
それぞれが、データ値を保持するために所定の時間内でリフレッシュされなければならない、複数のバンクに形成された複数のメモリセルと、
前記メモリセルのアクセス及びリフレッシュをするための制御回路であって、リフレッシュ動作の遅延なく、各メモリサイクルの間に前記メモリセルへのランダムなアクセスが可能であり、バンクに保留中の外部アクセスリクエストがない場合に限って、前記バンクのリフレッシュ動作が実行され、前記所定のリフレッシュ時間内で前記メモリセルの全てを常にリフレッシュするように形成された、該制御回路とを含み、
前記制御回路が、各バンク内でリフレッシュ動作を独立して制御し、それによって保留中の外部アクセスリクエストがない複数のバンクにおいて同時にリフレッシュ動作を行うことを可能にし、
前記メモリ装置が、
前記バンク及び前記制御回路に接続され、かつバンクの容量から１行のメモリセルを差し引いた容量と同じ或いはそれ以上の容量を有する読出しバッファと、
前記バンク及び前記制御回路に接続され、かつバンクの容量から１行のメモリセルを差し引いた容量と同じ或いはそれ以上の容量を有する書込みバッファとを更に含むことを特徴とするメモリ装置。
【請求項８】
前記書込みバッファと前記バンクとを接続する書込み専用ポートと、
前記読出しバッファと前記バンクとを接続する読出し書込みポートとを更に含むことを特徴とする請求項７に記載のメモリ装置。
【請求項９】
前記読出しバッファ及び前記書込みバッファが、スタティックＲＡＭ（ＳＲＡＭ）セルから形成されることを特徴とする請求項７に記載のメモリ装置。
【請求項１０】
前記読出しバッファ及び前記書込みバッファが、ダイナミックＲＡＭ（ＤＲＡＭ）セルから形成されることを特徴とする請求項７に記載のメモリ装置。
【請求項１１】
前記制御回路が、
複数のアクセス制御回路であって、そのそれぞれが前記バンクの対応する１つと関連し、前記関連バンクに保留中のリフレッシュがあり前記関連バンクへのアクセスのリクエストがない場合に限って、それぞれのアクセス制御回路によって、その関連バンクのリフレッシュ動作が可能となる、該複数のアクセス制御回路と、
リフレッシュリクエスト信号を定期的にアサートする中央リフレッシュタイマーと、
前記アクセス制御回路間に延びたデージーチェーン接続であって、クロック信号に応答して、前記アクセス制御回路に前記リフレッシュリクエスト信号を順次送る、該デージーチェーン接続とを更に含むことを特徴とする請求項７に記載のメモリ装置。
【請求項１２】
前記制御回路が、
リフレッシュアドレスを生成するリフレッシュアドレス発生器であって、前記アクセス制御回路の全てに並列に接続され、前記リフレッシュリクエスト信号に応答して前記リフレッシュアドレスを増分する、該リフレッシュアドレス発生器を更に含むことを特徴とする請求項１１に記載のメモリ装置。
【請求項１３】
前記制御回路が、
読出しバッファと、
書込みバッファであって、前記デージーチェーン接続が前記読出しバッファ及び書込みバッファに延長され、前記クロック信号に応答して前記リフレッシュリクエスト信号を前記読出しバッファ及び書込みバッファに順次送る、該書込みバッファとを更に含むことを特徴とする請求項１１に記載のメモリ装置。
【請求項１４】
前記読出しバッファが、データ値をストアする複数のエントリを含み、前記制御回路が、
前記読出しバッファの１つ或いはそれ以上のエントリにストアされている現行の有効なデータと関連するバンクのアドレスをストアする読出しバッファバンクアドレスメモリと、
複数の有効標識ビットをストアする読出しバッファ有効ビットメモリであって、前記読出しバッファのエントリのそれぞれが、前記有効標識ビットの対応する１つに関連する、該読出しバッファ有効ビットメモリとを更に含むことを特徴とする請求項７に記載のメモリ装置。
【請求項１５】
前記書込みバッファが、データ値をストアする複数のエントリを含み、前記制御回路が、
前記書込みバッファの１つ或いはそれ以上のエントリにストアされている現行の有効なデータと関連するバンクのアドレスをストアする書込みバッファバンクアドレスメモリと、
複数の有効標識ビットをストアする書込みバッファ有効ビットメモリであって、前記書込みバッファのエントリのそれぞれが、前記有効標識ビットの対応する１つに関連する、該書込みバッファ有効ビットメモリとを更に含むことを特徴とする請求項７に記載のメモリ装置。
【発明の詳細な説明】
【０００１】
関連する出願
本出願は、Wingyu Leung及びFu-Chieh HsuらによるU.S. Patent Application Serial No. 09/165,228、「Method and Apparatue for Complete Hiding of the Refresh of a Semiconductor Memory」（10/1/98）の継続出願である。
【０００２】
本出願はさらに、Wingyu LeungによるU.S. Patent Application Serial No. 09/037,396、「Method and Apparatue for 1-T SRAM Compatible Memory」（3/9/98）、Wingyu LeungによるU.S. Patent Application Serial No.09/234,778、「Method and Apparatus For Refreshing A Semiconductor Memory using Idle Memory Cycles」（01/20/99）、及びWingyu LeungによるU.S. Patent Application Serial No.09/181,840、「Method and Apparatue for Increasing The Time Available for Refresh For 1-T SRAM Compatible Devices」（10/27/98）に関連する。これらの特許出願は、ここで言及することをもって本明細書の一部とする。
【０００３】
技術分野
本発明は、半導体メモリに関し、特に動的ランダムアクセスメモリ(DRAM)、及び静的ランダムアクセスメモリ(SRAM)に関する。特に、本発明は、リフレッシュ動作が外部アクセス動作を妨げない半導体メモリにおける、リフレッシュ動作の処理に関する方法及び装置に関する。
【０００４】
関連技術の開示
一つのトランジスタ及び一つのコンデンサからなる従来のDRAMメモリセルは、４乃至６個のトランジスタからなる従来のSRAMメモリセルよりもきわめて小さい。しかし、SRAMセル中にストアされた情報は周期的にリフレッシュされる必要がないのに対して、DRAMセル中にストアされた情報は周期的にリフレッシュされる必要がある。DRAMセルにおける各リフレッシュ動作は、メモリ帯域幅を消費する。例えば、100 MHz DRAMアレイのサイクル時間は１０ナノ秒である。このDRAMアレイ中に於いて、各々の外部アクセスは１０ナノ秒を要し、各々のリフレッシュアクセスは少なくとも１０ナノ秒を要する。外部アクセス及びリフレッシュアクセスが同時に開始されうるため、DRAMアレイは、リフレッシュアクセスを外部アクセスに干渉させないため、許容アクセス周期時間内に動作可能であり得る。このことは、最小外部アクセス周期時間を、外部アクセスを処理する為の１０ナノ秒、及びリフレッシュアクセスを処理する為の１０ナノ秒の、合計２０ナノ秒ほどに限定する。このことは、リフレッシュアクセスが平均で62.5 kHzという周波数で作動している場合でさえ確実である。結果として、DRAMアレイの最大アクセス周波数は50MHz以下であり得る。このように、100 MHz DRAMメモリアレイは、50MHzで動作可能な装置を作り出すことを要求される。単純に考えて、このことが経済的であるとは言えない。
【０００５】
SRAMの応用におけるDRAMセルの利用という先の試みは、様々な理由により限定されていた。例えば、あるそのようなDRAM装置はリフレッシュ動作を制御する外部信号を必要とする。（Toshiba Integrated Circuit Technical Data (1996)の131,072-Word by 8-Bit CMOS Pseudo Static RAMを参照されたい。）加えて、このDRAM装置への外部アクセスは、メモリリフレッシュ動作中において遅延させられる。結果として、リフレッシュ動作は、トランスペアレントではなく、SRAM装置とDRAM装置とが完全な互換性を持ちえないと言う事になる。
【０００６】
従来技術では、記憶装置の平均アクセス時間の向上のために、高速なSRAMキャッシュが、相対的に遅いDRAMアレイと共に用いられた。（Katsumi Dosakaらの、U.S. Patent No. 5,559,750、及びEnhanced Memory Systems Inc(1997)の"Data Sheet of 16 Mbit Enhanced SDRAM Family 4Mx4, 2Mx8, 1Mx16"を参照されたい。）本装置の実アクセス時間は、キャッシュのヒットレートにより変化する。回路はDRAMセルをリフレッシュするために提供される。しかし、リフレッシュ動作は外部アクセスに対してトランスペアレントではない。すなわち、リフレッシュ動作はメモリアクセス時間に影響を与える。結果として、本装置は、総合的な決定性ランダムアクセス時間に要求を満たし得ない。
【０００７】
その他の従来技術は、DRAM装置の平均アクセス時間を短縮させる為にマルチバンキングを用いる。マルチバンキング方式の例は、MoSys Inc(1996)の"Data sheet, MD904 To MD920, Multi-bank DRAM (MDRAM) 128Kx32 to 656Kx32"、及びKazushige Ayukawaら（IEEE JSSC, vol. 33, No. 5, May 1998, pp. 800-806）による"An Access-Sequence Control Scheme to Enhance Random-Access Performance of Embedded DRAM's"において示されている。これらのマルチバンキング方式は、単独のメモリバンクがリフレッシュサイクルを遅延させることを許可しない。
【０００８】
その他の従来技術では、外部アクセスの連続的若しくはバーストな性質の利点を得るために、読出し及び書込みバッファが用いられる。そのような従来技術の例として、R. Matsuo及びT.WadaらによるU.S. Patent No. 5,659,515,"Semiconductor Memory Device Capable of Refresh Operation in Burst Mode"において示されている。この方式に於いては、メモリアレイがリフレッシュされるにもかかわらず、バーストアクセスはレジスタがトランザクション連続アクセスの処理を行うことを許可する。しかし本方式は、連続ランダムアクセスを許可しない。例えば、メモリはクロックサイクルあたりのランダムアクセスを処理し得ない。
【０００９】
DRAMセルに於けるリフレッシュ動作の影響を全く受けないようにすることを目的とするその他の従来技術は、H. S. JangによるU.S. Patent No. 5,642,320、"Self-Refreshable Dual Port Dynamic CAM Cell and Dynamic CAM Call Array Refreshing Circuit"に於いて述べられている案を含む。この案中で、通常のアクセスが別のポートで進行しながら、リフレッシュが別の一つのポートで作動し得るように、第二ポートが各々の動的メモリセルに追加される。追加されたポートは、ほとんどメモリセルのアクセス帯域幅を２倍にするが、追加されたシリコン領域に於けるさらなる代償を求める。
【００１０】
結果的に、エリア有効DRAMセルを利用し、外部メモリ装置に対するメモリクライアントへのアクセスが完全にトランスペアレントであるような規則に従い、DRAMセルのリフレッシュ動作を行うメモリ装置を得ることが望ましい。例えば、リフレッシュ動作が消費されていない外部アクセス時間に依存せずに、首尾良く作動することが望ましい。規定された別の手段としては、リフレッシュ動作を要求しないSRAM互換装置、もしくはその他の互換メモリ装置の作成のためのDRAMセル若しくはその他のリフレッシュ可能メモリセルの使用を許可するメモリ装置を有することが望ましい。
【００１１】
要約
結果的に、本発明はデータ値を保持する事を目的として定期的にリフレッシュされるべきメモリセルの大部分を含むメモリ装置と、メモリセルにアクセスし、またメモリセルをリフレッシュする制御回路を提供する。一つの実施例に於いて、メモリセルとはDRAMセルである。制御回路は、メモリセルのリフレッシュがメモリセルのどのような外部アクセスも妨げないように、メモリセルのアクセス及びリフレッシュを制御する。
【００１２】
独立して制御されているメモリバンクの大部分にメモリセルが配列されている。それにより、読出し、書込み、及びリフレッシュの各動作は、各バンク中に於いて独立して制御されている。各メモリバンクは、読出しバッファと平行に接続され、メモリバンクのどれか一つから読出されたデータが読出しバッファへと供給されるようになっている。各メモリバンクは更に書込みバッファとも平行に接続されており、どのメモリバンクに書込まれたデータでも書込みバッファから供給されうるようになっている。
【００１３】
制御回路は、各メモリバンクと同様の構成を持つSRAMキャッシュを有している。キャッシュ読出しバッファは、SRAMキャッシュの出力ポートと書込みバッファとの間で接続されており、その結果、SRAMキャッシュからメモリバンクへのデータの転送を促進している。同様に、キャッシュ書込みバッファはSRAMキャッシュの入力ポートと読出しバッファとの間で接続されており、結果としてメモリバンクからSRAMキャッシュへのデータの転送を促進している。キャッシュ読出し及び書込みバッファは、更に外部データバスと接続されている。SRAMキャッシュは、外部データバスとメモリバンク間のインターフェ−スも供給する。SRAMキャッシュはライト−バックポリシーを実現する。それはすべての書込み情報がメモリバンクへ書込まれる前、初期段階でSRAMキャッシュへと書込まれ、外部データバスへと提供されるすべての読出しデータがSRAMキャッシュでストアされることである。一つの実施例に於いて、SRAMキャッシュはダイレクトマップキャッシュとして構成される。SRAMキャッシュは、各メモリバンクが予定されたリフレッシュ周期で適切にリフレッシュされる事を保証するのに充分な容量を有するように選択される。例えば、劣悪なキャッシュスラッシング状況下であっても、要求されるリフレッシュ動作がメモリ装置へのどのような外部アクセスをも遅延させることなく常に実行されうる。
【００１４】
ある実施例に於いて、キャッシュライト−バックポリシーは次の通り遂行される。第一に、外部データバスに於いて受信された現在のアクセスアドレスが、キャッシュミス（キャッシュヒットが生じない事）が起こったのか若しくはキャッシュヒットが起こったのか判断するために、SRAMキャッシュにストアされたキャッシュされているアドレスと比較される。キャッシュヒットが起こった場合、要求されたデータは、（読出しアクセスの為に）SRAMキャッシュより読出されるか、若しくは（書込みアクセスのために）SRAMキャッシュへと書込まれる。結果としてキャッシュヒットが起こった場合、メモリバンクはアクセスされない。それ故、キャッシュヒットが起こった場合、リフレッシュ動作はメモリバンク中に於いて実施され、リフレッシュ要求は保留となる。メモリバンクが独立して制御されるので、すべてのメモリバンクはキャッシュヒット中で同時にリフレッシュされうる。代わりに、メモリバンクの規定のセットが同時にリフレッシュされうる。
【００１５】
キャッシュミスが起こった場合、キャッシュアドレスに関するキャッシュエントリが修正されたデータを含むのか否かの決定が下される。例えば、キャッシュエントリが関連するメモリバンクと同じデータを有するのか否かの決定が下される。また、現在のアクセスが読出しアクセスなのか書込みアクセスなのかの決定もなされる。
【００１６】
キャッシュミスが生じ、キャッシュエントリにおけるデータが修正されない場合、読出し及び書込みアクセスのために処理が以下のように進む。読出しアクセスに関して、求められるデータは現在のアクセスアドレスに関連するメモリバンクから読出される。このデータは外部データバスに対して同時に提供され、SRAMキャッシュに対して書込まれ、結果としてもとのキャッシュエントリに上書きされる。もとのキャッシュエントリが修正されたデータを含まないため、この状況下ではもとのキャッシュエントリを書込み直す必要がない。書込みアクセスに関して、もとのキャッシュエントリの一部は、書込みアクセスに関連する新しいデータで上書きされる。もとのキャッシュエントリの残りの部分は、現在のアクセスアドレスで識別されたメモリバンクから検索されたデータにより上書きされる。再び、オリジナルのキャッシュエントリが修正されたデータを含まないので、この条件下でもとのキャッシュエントリを書込み直す必要はない。キャッシュエントリが修正されたデータを有していない場合、キャッシュミス中、一つのメモリバンクのみがアクセスされる必要を持つ事に注目されたい。
【００１７】
もし、キャッシュミスが生じ、キャッシュエントリに於けるデータが修正されたとき、処理は以下のように進む。第一に、キャッシュエントリがもととなる場所よりメモリバンクへと書込み直される。この書込み直しの動作は、キャッシュエントリを、SRAMキャッシュより、キャッシュ読出しバッファ及び書込みバッファ経由で、メモリバンクへと転送する。同時に、新規のキャッシュエントリが外部アクセスアドレスより識別されたメモリバンクより読出される。この新規のキャッシュエントリはSRAMキャッシュへと書込まれる。この動作は、新規のキャッシュエントリを、メモリバンクより、読出しバッファ及びキャッシュ書込みバッファ経由で、SRAMキャッシュまで転送する。この現在のアクセスが読出しアクセスである場合、新しいキャッシュエントリは同時に外部データバスへ経路指定される。書込みアクセスの場合は、書込みデータは、新規のキャッシュエントリのデータの残りと共に、SRAMキャッシュへと書込まれる。
【００１８】
一つ若しくは二つのメモリバンクのみが、キャッシュミス中にアクセスされることに注目されたい。このように、その他のメモリバンクのすべてがキャッシュミス動作中に於いてリフレッシュされうる。また、メモリバンクに対する読出し及び書込みアクセスが同時に働くので、各々のアクセスは１クロック時間に完了され得る事にも注目されたい。結果として、本メモリ装置は従来のSRAMと同様の方法でアクセスされる。
【００１９】
異なる実施例によれば、本発明は、データ値を保持する目的で周期的にリフレッシュされるべきメモリセルの大多数を有するメモリ装置を供給する。メモリセルはメモリバンクの大部分を形成するように配置され、各々ロウとカラムとを成す。メモリ制御装置は、メモリセルのアクセス及びリフレッシュの制御を提供し、ここでメモリセルのリフレッシュは、メモリセルに対するどのような外部読出しアクセスに対しても干渉しない。読出しバッファは、バンク及びメモリ制御装置と接続されている。読出しバッファは、メモリセルの１行小さいメモリバンクの許容量より大きいか、若しくは同等の許容量を有している。読出しバッファは、SRAMセル若しくはDRAMセルのどちらかで構成されうる。
【００２０】
ある実施例では、メモリ制御装置は次のように動作される。外部読出しアクセスが読出しバッファをミスする場合、メモリ制御装置はデータ値が読出しアクセスによりアドレス指定されるメモリバンクより読出されるようにする。メモリ制御装置は、更にデータ値が同一時間周期で読出しバッファにたいして書込まれるようにする。もし、外部書込みアクセスが読出しバッファにヒットすれば、メモリ制御装置は書込みアクセスに関連するデータ値が読出しバッファへと書込まれるようにする。外部読出しアクセスが、読出しバッファにヒットすれば、メモリ制御装置は、読出しアクセスにより要求されるデータ値を読出しバッファから読出されるようにする。
【００２１】
もし読出しバッファがDRAMセルを用いて構築されるとすると、読出しバッファはリフレッシュされるべきであり得る。ある実施例によれば、読出しバッファに対する保留アクセスが無い場合のみ、読出しバッファに対するリフレッシュアクセスが可能となるようにメモリ制御装置が構成される。
【００２２】
その他の実施例によれば、本発明はデータ値を保持する目的で定期的にリフレッシュされるべきメモリセルの大部分を有するメモリ装置を提供する。メモリセルはメモリバンクの大部分を形成するように配置され、それぞれはロウ及びカラムを成す。メモリ制御装置は、メモリセルのアクセス及びリフレッシュを制御するために提供され、ここでメモリセルのリフレッシュはメモリセルに対するどのような外部書込みアクセスをも妨げない。書込みバッファはメモリバンク及びメモリ制御装置と接続している。書込みバッファは、メモリセルの一行低いメモリバンクの容量より大きいか、若しくは同等の容量を有している。書込みバッファは、SRAM若しくはDRAMから構成されうる。
【００２３】
本発明の一実施例によればメモリ制御装置は次のように働く。もし外部書込みアクセスが書込みバッファにヒットした場合、メモリ制御装置は外部データが書込みバッファに書込まれるようにする。もし外部書込みアクセスが書込みバッファにミスした場合、メモリ制御装置は、データが書込みバッファよりメモリバンクの一つへと第一ポートを介して回収されるようにする。もし、外部書込みアクセスが書込みバッファをミスした場合、メモリ制御装置は、外部データが第二ポートを通してメモリバンクの一つへ書込まれるようにする。もし外部書込みアクセスが書込みバッファにヒットした場合、メモリ制御装置は外部書込みアクセスによりアドレス指定されたメモリバンクに於けるリフレッシュ動作を可能とする。もし、外部書込みアクセスが書込みバッファをミスした場合、このメモリバンクに対する外部アクセスが無くなるまで、メモリ制御装置は外部書込みアクセスによりアドレス指定されたメモリバンクに於けるリフレッシュ動作を遅延させる。データが、書込みバッファよりメモリバンクへと回収される時、メモリ制御装置はメモリバンクに於けるリフレッシュ動作を遅延させる。
【００２４】
本実施例に於いて、メモリ制御装置は、もしデータが回収されているにもかかわらず、外部書込みアクセスが書込みバッファにヒットすると、書込みバッファよりのデータの回収も停止させる。この外部書込みアクセスに関連するデータは、その時書込みバッファへと書込まれる。
【００２５】
書込み読出し両バッファが、共に同じメモリ装置に於いて用いられるとすると、メモリ制御装置は、外部読出しアクセスが書込みバッファにヒットし、読出しバッファにミスした時、データが書込みバッファより読出されるようにする。同時に、メモリ制御装置は、書込みバッファより読出こまれたデータが読出しバッファへと書込まれるようにする。
【００２６】
本発明のその他の実施例では、中央リフレッシュタイマは周期的にリフレッシュ要求信号をアサートする。デイジーチェーン構成が、メモリバンクに於けるアクセス制御回路に於いて提供され、ここでデイジーチェーン構成がクロック信号に反応して連続してリフレッシュ要求信号をアクセス制御回路へと送る。中央リフレッシュアドレスジェネレータはリフレッシュアドレスを生成し、それはメモリバンクのすべてへと平行に提供される。リフレッシュアドレスジェネレータはリフレッシュ信号がアサートする各時間毎のリフレッシュアドレスを増分する。
【００２７】
詳細な説明
本発明は、次の説明及び図例を用いて、より深く理解され得る。
【００２８】
本発明によって、SRAM互換可能装置は、DRAMセルの使用を意図される。このSRAM互換可能な装置は、下記に１−トランジスタSRAM（１−Ｔ SRAM）として述べられている。既述の実施例の１−Ｔ SRAMは128ワードの最大容量を有しており、各ワードはそれぞれ32-bit長を有している。１−Ｔ SRAMは、互いに独立して動作可能な６４のDRAMバンクを有する事で、読出し、書込み、及びリフレッシュと言う平行動作が、異なるDRAMバンクに於いて同時に起こり得る。機構は、リフレッシュアクセス要求が複数のDRAMバンクへの同時一斉通信であるように提供される。一斉通信リフレッシュ要求信号を受信したDRAMセルは、バンクアクセス保留が存在しないときのみリフレッシュサイクルへと向かう。リフレッシュアドレスは、自身のアドレスリフレッシュカウンターにより各DRAMバンク中で、局部的に供給される。既述の実施例に於いては、リフレッシュ要求は、すべてのDRAMバンクに対する一斉通信である。その他の実施例に於いて、リフレッシュ要求は、いずれかの時間に於けるDRAMバンクのサブセットに対してのみ一斉通信である。
【００２９】
SRAMキャッシュは、最新のアクセス位置のデータをストアする為に取り入れられている。SRAMキャッシュはDRAMバンクと比較して著しく小さい容量しか有していない。DRAMバンクのすべてのリフレッシュアクセスが、最悪のキャッシュスラッシング状況下に於いても規定のリフレッシュ時間内に適当に働く事を保証するために、SRAMキャッシュのサイズはDRAMバンクに於けるセルの一行分の許容量をさし引いたDRAMバンクの一つのストレージ許容量と同じ（若しくはそれ以上の）ストレージ許容量を持つように選択される。図面を簡潔にするために、以下に述べる実施例は、SRAMキャッシュとDRAMバンクのストレージ許容量を同量にしている。
【００３０】
図１は、本発明の一つの実施例によるブロック図である。１−Ｔ SRAM １７０は６４個のDRAMバンク０−６３、及び６４個の対応するアクセス制御回路１００−１６３を有する。以下に詳述する様に、アクセスコントロール回路１００−１６３は、アドレス及びDRAMバンク０−６３にアクセスするように要求されたコントロールシグナルを受信するために接続されている。DRAMバンク０−６３はDRAMセルの６４行、１０２４列のアレイを有する。６４個のDRAMバンク０−６３は、共通の読出しバッファ／データラッチ回路１７１、及び共通の書込みバッファ／データラッチ回路１７２を共有する。以下に詳述する様に、読出し及び書込みデータは回路１７１及び１７２を通じてバンク０−６３へ向かって、また０−６３より移動する。読出しバッファ１７１及び書込みバッファ１７２は各自独立して作動し、それにより、データがDRAMバンク０−６３の別の一つへ書込まれているのと同時にDRAMバンク０−６３の一つより読出されることを許される。
【００３１】
１−Ｔ SRAM １７０はまた、時間位相振動機１８０、アドレスバッファ１８１、バンクアドレスデコーダ１８２−１８３、;コンパレータ１８４、キャッシュタグメモリ１８５、キャッシュ制御シーケンサ１８６、SRAMキャッシュ１８７、キャッシュ読出しバッファ１８８、キャッシュ書込みバッファ１８９、入／出力ドライバ１９０、マルチプレクサ１９１−１９３、デマルチプレクサ１９４、及びリフレッシュタイマー１９５を有する。一般的に１−Ｔ SRAM １７０のアクセスを制御するこれらの構成要素は、以下で詳述される。
【００３２】
１−Ｔ SRAM １７０は、以下の信号に応じて作動する。すなわち、入／出力データ信号DQ[31:0]、外部アドレス信号EA[l6:0]、アドレスストローブ信号ADS#、書込み／読出しインディケータWR#、及びクロック信号CLK（１−Ｔ SRAM １７０と外界とのメモリトランザクション同期の為）がそれに当たる。個々で用いられている#の記号は信号がローに活動化されている事を表している。上記の信号がDRAMバンク０−６３のリフレッシュアクセスに関連するどのような信号も含んでいないことに、注目されたい。
【００３３】
外部装置は、論理ローアドレスストローブ信号ADS#をアサートし、求める状態まで書込み／読出しインディケータWR#を操り、メモリアドレスEA[16:0]を提供することにより、１−Ｔ SRAM １７０に対するアクセスを開始する。ADS#信号は、バンクアドレスデコーダ１８２−１８３、及びキャッシュ制御シーケンサ１８６へと提供される。アクセス要求は、ADS#信号がローをアサートした後に起こるCLK信号のライジングエッジにおいて１−Ｔ SRAM １７０により認識される。WR#信号はキャッシュ制御シーケンサ１８６へと提供される。メモリアドレスEA[16:0]は、アドレスバッファ１８１へと提供される。１７アドレスビットEA[16:0]は、４つのフィールドに分割される。アドレスビットEA[16:11]は、６４個のDRAMバンク０−６３の一つを識別するようなバンクアドレスフィールドを形成する。アドレスビットEA[10:5]は、アドレス指定されたDRAMバンク６４行のうちの一つを識別するようなロウアドレスフィールドを形成する。アドレスビットEA[4:3]は、アドレス指定された行の中で４つの２５６ビットセクションのうち一つを識別するカラムアドレスフィールドを形成する。最終的に、アドレスビットEA[2:0]は、アドレス指定された２５６ビットセクションの中で８つの３２ビットワードのうち一つを識別するバイトアドレスフィールドを形成する。
【００３４】
読出し若しくは書込みデータDQ[31:0]は、アクセス要求が認識された後、クロックサイクルの間、入／出力ドライバ１９０へ提供される。上記の通り、各DRAMバンク０−６３はDRAMセルの６４のロウと１０２４のカラムのアレイを有する。各DRAMバンク０−６３は読出しバッファ１７１及び書込みバッファ１７２と接続されている。読出しバッファ１７１及び書込みバッファ１７２は、各々DRAMの読出し及び書込み動作間の読出し及び書込みデータを把握するトランスペアレントラッチを有する。読出しバッファ１７１及び書込みバッファ１７２の両バッファは２５６のラッチを有する。それゆえ、これらのバッファが一つの２５６ビットセクションをストアできる。各DRAMバンク０−６３は、マルチバンクパラレル制御を促進するため関連する独立アクセス制御回路１００−１６３を有する。専用の読出しバスDB[255:0]及び専用の書込みバスDA[255:0]が採用される為、DRAMバンク０−６３のうちの一つは、同時にDRAMバンク０−６３のうちの別の一つが読出し動作中であっても書込み動作を行いうる。
【００３５】
図２は、DRAMバンク０−６３、SRAMキャッシュ１８７及びキャッシュタグメモリ１８５の構成を示したブロック図である。理解しやすい例として、DRAMバンク０及び４のみが図２中に示されている。SRAMキャッシュはDRAMバンク０−６３と同じ構造を持ち、例えば、SRAMキャッシュ１８７はSRAMセルの６４行及び１０２４列のアレイを有する。例えば、SRAMセルは従来の４つのトランジスタセル若しくは６つのトランジスタセルであり得る。DRAMバンク０−６３のカラム及びSRAMキャッシュ１８７のカラムは論理的に４つのセクションに分割され、各セクションは２５６のカラムを含んでいる。（例えば２５６ビット）DRAMバンク０の行０、セクション０には、A〜Hの８つの３２ビットワードの形で２５６ビットがストアされる。DRAMバンク０の行１、セクション２には、I〜Pの８つの３２ビットワードの形で２５６ビットがストアされる。DRAMバンク４の行１、セクション２には、Q〜Xの８つの３２ビットワードの形で２５６ビットがストアされる。
【００３６】
以下に詳述されるように、SRAMキャッシュ１８７は、様々なDRAMバンク０−６３より２５６ビットのキャッシュエントリをストアする。例えば、SRAMキャッシュ１８７の行０、セクション０には、DRAMバンク０−６３のいずれか一つの行０、セクション０より送られたキャッシュエントリがストアされる。同様に、SRAMキャッシュ１８７の行１、セクション２には、DRAMバンク０−６３のいずれか一つの行１、セクション２より送られたキャッシュエントリがストアされる。図２の例中では、SRAMキャッシュ１８７がDRAMバンク０よりA〜Hのワードを、行０、セクション０のキャッシュエントリとしてストアしている。キャッシュタグ１８５はDRAMバンク０の６ビットバンクアドレス（例えば００００００）をストアする。それにより、SRAMキャッシュ１８７の行０、セクション０の要素がDRAMバンク０と関連していることを示唆している。キャッシュタグ１８５の各エントリも、有効なインディケータビットであるVと修正されたインディケータビットであるMとを含んでおり、その詳細については以下に示す。一般的に、有効なインディケータビットであるVは有効なキャッシュエントリを表示するために設けられる。セットされた時、修正されたインディケータビットであるMは、関連するキャッシュエントリが修正され、SRAMキャッシュ１８７にストアされた関連するキャッシュエントリがキャッシュミスアクセスの際に書込み直され得る事を示唆している。
【００３７】
図２ではまた、SRAMキャッシュ１８７がDRAMバンク４よりQ〜Xのワードを、行１、セクション２のキャッシュエントリとしてストアしていることが判る。キャッシュタグ１８５はDRAMバンク４の６ビットバンクアドレス（例えば０００１００）をストアしており、それにより、SRAMキャッシュ１８７の行１、セクション２がDRAMバンク４と関連していることを示唆している。上に記載されたキャッシュの案は、直接にマップされたキャッシュの案である。
【００３８】
キャッシュ読出しバッファ１８８とキャッシュ書込みバッファ１８９とは、共にSRAMキャッシュ１８７と接続されている。キャッシュ読出しバッファ１８８とキャッシュ書込みバッファ１８９とは、SRAMキャッシュ１８７にCLK信号の同一サイクル内に於ける読出し動作及び書込み動作を可能とさせる。その他の実施例では、SRAMキャッシュ１８７は、二重ポートSRAMセルを用いて形成される。そのことは、CLK信号の単一サイクル内に於ける読出し及び書込み動作のサポートに用いられ得るものである。上記のように、SRAMキャッシュ１８７は２５６のキャッシュエントリと共にダイレクトマップキャッシュとして編成され、各キャッシュエントリは２５６ビット（例えば、８つの３２ビットワード）を有している。単方向内部データバスDA[255:0]は、書込みバッファ１７２へと向かいキャッシュ読出しバッファ１８８と接続されている。データバスDA[255:0]は、キャッシュ読出しバッファ１８８から読出したデータを書込みバッファ１７２へと送る。単方向内部データバスDB[255:0]は、読出しバッファ１７１へと向かい（マルチプレクサ１９３を介して）キャッシュ書込みバッファ１８９と接続している。データバスDB[255:0]は、読出しデータを読出しバッファ１７１からキャッシュ書込みバッファ１８９へと（マルチプレクサ１９３を介して）送る。
【００３９】
通常の動作中に、全体のキャッシュエントリ（２５６ビット）は、CLK信号の一サイクル内に読出しバッファ１７１よりSRAMキャッシュ１８７へと転送されうる。同様に全体のキャッシュエントリは、CLK信号の一サイクル内にSRAMキャッシュ１８７より書込みバッファ１７２へと転送されうる。SRAMキャッシュ１８７の動作は、キャッシュタグメモリ１８５の補助のもとキャッシュ制御シーケンサ１８６により制御される。
【００４０】
キャッシュのスキームは次のように実行される。１−Ｔ SRAM １７０の電源が入った時は、チップ上のパワーオンリセット回路（図示せず）がCLEAR信号をアサートし、それはキャッシュタグメモリ１８５へと適用される。このCLEAR信号に反応して、キャッシュタグメモリ１８５のすべての有効なインディケータビットであるVのすべてがゼロへとリセットされ、それによりキャッシュタグメモリ１８５がリセットされる。キャッシュエントリがSRAMキャッシュ１８７に書込まれるときは、常に関連するキャッシュタグエントリに於ける有効なインディケータビットであるVは、論理１値へとセットされる。
【００４１】
本発明に於いては、ライトバックポリシーが採用される。これは、より単純なライトスルーポリシーが、以下のことを必要とするためである。それはすなわちデータが、リフレッシュ問題を引き起こしうるすべての書込みトランザクションのために、DRAMバンク０−６３へと書込まれることである。（例えばそれは、DRAMバンク０−６３の一つが最大許容リフレッシュ時間よりも長い時間連続して書込まれるとして、バンクが適当にはリフレッシュされ得ないと言うことで、そのことは結果としてデータのエラーを引き起こす事である。）
ライトバックポリシーは、現在、４つの可能な読出し及び書込みトランザクションすなわち読出しヒット、書込みヒット、読出しミス、書込みミスの為に説明されうる。
【００４２】
アクセスが外部回路により開始されたとき、アドレスEA[l6:0]はアドレスバッファ１８１へと提供される。結果的にアドレスバッファ１８１は、該アドレスEA[l6:0]をキャッシュタグメモリ１８５へと経路指定する。該アドレスEA[l6:0]は関連しているDRAMのバンク、行、セクションを識別する。例えば、アドレスEA[l6:0]はDRAMバンク４、行１，セクション２を識別しうる。アドレスEA[l6:0]に反応してキャッシュタグメモリ１８５は、識別された行及びセクションにストアされたバンクアドレスにアクセスする。既述された例に依れば、キャッシュタグメモリ１８５は、行１、セクション２、若しくは０００１００にストアされたバンクアドレスを検索しうる。キャッシュタグメモリ１８５は、この検索されたバンクアドレスをコンパレータ１８４へと提供する。キャッシュタグメモリ１８５はまた、検索されたバンクアドレスに関連する修正されたビットＭをも、キャッシュ制御シーケンサ１８６へと提供する。
【００４３】
コンパレータ１８４は、キャッシュタグメモリ１８４より検索されたバンクアドレスと、現在のバンクアドレスEA[l6:11]とを比較する。コンパレータ１８４が一致を見いだしたとすると、キャッシュヒットが存在することとなり、コンパレータ１８４はヒット制御信号をアサートする。コンパレータ１８４が一致を見いださないとすると、キャッシュミスが存在することとなり、コンパレータ１８４がヒット制御信号をアサートすることはない。ヒット制御信号はバンクアドレスデコーダ１８２及びキャッシュ制御シーケンサ１８６へと提供される。
【００４４】
ADS#、WR#、M、及びヒット信号に応じて、キャッシュ制御シーケンサ１８６は、現在のアクセスが読出しヒット、書込みヒット、読出しミス、書込みミスのいずれであるかを決定する。
【００４５】
現在のアクセスが読み取りヒットアクセスである場合、SRAMキャッシュ１８７は要求されるデータを含んでいることとなる。それ故、キャッシュ制御シーケンサ１８６はSRAMキャッシュ１８７にキャッシュ読出しバッファ１８８へと要求されたデータを提供させる。要求されたデータはキャッシュリードバッファ１８８からマルチプレクサ１９２へと経路指定される。マルチプレクサ１９２は、アサートされたHIT制御信号に呼応して、このデータをマルチプレクサ１９１へと経路指定する。マルチプレクサ１９１は８つの３２ビットワードうちの一つを入／出力ドライバ１９０へと、バイト選択アドレスビットEA[2:0]に応じて送る。入／出力ドライバ１９０はデータバスDQ[30:1]上の選択されたワードを動作する。DRAMバンク０−６３が読出しヒットアクセスの間アクセスされないので、すべてのDRAMバンク０−６３は読出しヒットアクセス中リフレッシュ動作を行うことが可能である。
【００４６】
現在のアクセスが書込みヒットアクセスである場合、SRAMキャッシュ１８７は、アドレス指定されたDRAMバンク、行、及びセクションに相当するキャッシュエントリをストアする。この条件下では、キャッシュ制御シーケンサ１８６は、外部書込みデータがアドレス指定されたDRAMバンクよりもキャッシュエントリへと書込まれるようにする。例えば、現在の書込みアクセスが、書込み３２ビットワードZを、DRAMバンク４、行１、セクション２の最後のワード位置に指定すると仮定されたい。（図２参照）このアドレスの要素（例えば３２ビットワードX）はすでにSRAMキャッシュ１８７にストアされているので、ここでキャッシュ書込みヒットが生じる。ワードZは、データバスDQ[30:0]上の入／出力ドライバ１９０へと提供される。入／出力ドライバ１９０は、ワードZをデマルチプレクサ１９４へと経路指定する。バイトアドレスEA[2:0]に応じて、デマルチプレクサは、ワードＺを適切なワード位置に対応するバスの組上に送る。ワードＺは、外部書込み可能信号EWRに応じてマルチプレクサ１９３を経由してキャッシュ書込みバッファ１８９へと経路指定される。キャッシュ書込みバッファ１８９は、SRAMキャッシュ１８７の行１、セクション２にストアされたワードXを上書きするためにワードZを提供する。キャッシュ制御シーケンサ１８６も、キャッシュタグメモリ１８５の行１、セクション２に関連の修正されたインディケータビットであるMをセットさせる。DRAMバンク０−６３が書込みヒットアクセスの間アクセスされないので、DRAMバンク０−６３のすべてが書込みヒットアクセスの間リフレッシュされうる。
【００４７】
現在のアクセスが読出しミスアクセスである場合、SRAMキャッシュ187はアドレス指定されたDRAMバンク、行、及びセクションに対応するキャッシュエントリをストアしない。例えば、読出し動作がDRAMバンク０の行１、セクション２にアクセスしようと試みていると仮定されたい（図２）。DRAMバンク４からのQ〜XのワードがSRAMキャッシュ１８７の関連するエントリにストアされるので、キャッシュミスが検出されうる。読出しミスの検出では、キャッシュタグエントリに関連する修正されたビットMが設置されるとすると、キャッシュ制御シーケンサ１８６が、ミスを生じるキャッシュエントリが関連するDRAMバンクへと書きなおされる。このライト−バック動作は修正されたビットMがセットされたときのみ要求される。もし、修正されたビットMがセットされなかったと仮定すると、SRAMキャッシュ１８７にストアされたデータは関連するDRAMバンクにストアされたデータと矛盾せず、ライト−バックが要求されることもない。本実施例に於いては、ライト−バック動作は、キャッシュ読出しバッファ１８８とキャッシュ書込みバッファ１７２を介しSRAMキャッシュ１８７の行１、セクション２からDRAMバンク４の行１セクション２へと経路指定されるQ〜Xのワードよりなる。
【００４８】
同時に、キャッシュ制御シーケンサ１８６は、DRAMバンク０、行１、セクション２への読出し動作を開始させる。データワードI〜Pまでは、DRAMバンク０、行１、セクション２より読出し、読出しバッファ１７１、マルチプレクサ１９３、及びキャッシュ書込みバッファ１８９を介して経路指定され、SRAMキャッシュ１８７の行１、セクション２へと書込まれる。くわえて、行１、セクション２に関連するキャッシュタグエントリはDRAMバンク０のバンクアドレス（例えば００００００）に反映するように更新され、このキャッシュタグエントリの修正されたビットMは、SRAMキャッシュ１８７にストアされたデータがDRAMバンク０にストアされたデータと矛盾しないと言うことを表すため、０へとリセットされる。アサートしないヒット制御信号に応じて、データワードI〜Pまでもマルチプレクサ１９２を介して経路指定される。バイト選択アドレスEA[2:0]に応じてマルチプレクサ１９１は、データワードI〜Pのうちの選択された一つを、入／出力ドライバ１９０へ（それによりデータバスDQ[31:0]へ）と経路指定する。例えばマルチプレクサ１９１はデータワードMを、入／出力ドライバ１９０へと経路指定しうる。読出しミスアクセス中に、リード−バック若しくはライト−バック動作に伴うDRAMバンク以外のすべてのDRAMバンクがリフレッシュされうる事に注目されたい。
【００４９】
現在のアクセスが書込みミスアクセスであるとき、SRAMキャッシュ１８７は、アドレス指定されたDRAMバンク、行、セクションに対応するキャッシュエントリをストアしない。例えば、書込み動作がDRAMバンク０の行１、セクション２にワードZを書込もうと試みていると仮定されたい（図２）。DRAMバンク４からのQ〜XのワードがSRAMキャッシュ１８７の関連するエントリにストアされるので、キャッシュミスが検出されうる。書込みミスの検出で、キャッシュタグエントリに関連する修正されたビットが設置されるとすると、キャッシュ制御シーケンサ１８６により、ミスを引き起こすキャッシュエントリが関連するDRAMバンクへと書込み直される。このライト−バック動作は修正されたビットMがセットされたときのみ要求される。もし、修正されたビットMがセットされないと仮定すると、SRAMキャッシュ１８７にストアされたデータは、関連するDRAMバンクにストアされたデータと矛盾せず、ライトバックが要求されることもない。
【００５０】
本実施例に於いては、Q〜Xのワードは、キャッシュ読出しバッファ１８８とキャッシュ書込みバッファ１７２を介し、SRAMキャッシュ１８７の行１、セクション２からDRAMバンク４の行１セクション２へと経路指定される。同時にキャッシュ制御シーケンサ１８６は、DRAMバンク０、行１、セクション２の読出し動作を開始させる。データワードI〜PまではDRAMバンク０、行１、セクション２より読み込まれ、読み取りバッファ１７１を介して、マルチプレクサ１９３へと経路指定される。現在の書込みアクセスに関連して書込まれる為の３２ビットワードZも、マルチプレクサ１９３へと（データバスDQ[31:0]、入／出力ドライバ１９０、及びデマルチプレクサ１９４を介して）提供される。
【００５１】
マルチプレクサ１９３は、バイトアドレスEA[2:0]に応じて、８つのデータワードI〜Pのうちの７つにデータワードＺを加えてキャッシュ書込みバッファ１８９へと経路指定させる。例えば、バイトアドレスEA[2:0]が最初のデータワード位置を識別したとすると、マルチプレクサ１９３はワードＺ及びＪ〜Ｐまでをキャッシュ書込みバッファ１８９へと経路指定する。これらワードは、そのとき、キャッシュ書込みバッファ１８９からSRAMキャッシュ１８７の行１、セクション２へと書込まれる。加えて、キャッシュタグメモリ１８５は、DRAMバンク０に関連するバンクアドレスをキャッシュタグメモリ１８５の行１、セクション２へと書き込むことで更新される。このキャッシュタグエントリの修正されたインディケータビットであるMも、このときセットされ、それ故、SRAMキャッシュ１８７におけるキャッシュエントリは、DRAMバンク０の対応するデータとは異なる事を表す事となる。（例えば、DRAMバンク０が、I〜Pを有するのに対して、SRAMキャッシュ１８７がZ及びJ〜Pを有するということ。）書込みミスアクセスの間、リード及びライト−バック動作中に含まれるDRAMバンク以外のすべてのDRAMバンクがリフレッシュされうることに注目されたい。
【００５２】
DRAM動作
図３は、DRAMバンク0及びアクセス制御回路100の概略図である。DRAMバンク1-63は各々DRAMバンク0と同一であり、アクセス制御回路101-163は各々アクセス制御回路100と同一なので、DRAMバンク0及びアクセス制御回路100のみを詳述する。DRAMバンク0は、６４ロウ、１０２４カラムを有するDRAMセルアレイ200で構成されている。DRAMバンク0は更に、語線ドライバ201、センス増幅器兼カラムマルチプレクサ202等のDRAMアレイに関連する全ての標準的な回路を含む。データバスRDL[255:0] 及びRDL#[255:0]は、DRAMバンク0を読出しバッファ171に結合する。データバスWDL[255:0] 及びWDL#[255:0] は、DRAMバンク0を書込みバッファ172に結合する。アクセス制御回路100は、ロウアドレスデコーダ205、カラムアドレスデコーダ206、メモリコントロールシーケンサ207、リフレッシュアドレスカウンタ208、アドレスマルチプレクサ210、並びに外部アクセス及びリフレッシュアクセスを統制するためのアクセスアービトレーション論理を含む。アクセスアービトレーション論理は、NANDゲート211-214、インバータ215、ゲート216及びフリップフロップ217を含む。
【００５３】
メモリコントロールシーケンサ207は、DRAMバンク0の動作を制御するアクセス制御信号RAS（ロウアクセス）、CAS#（カラムアクセス）、SEN#（センス増幅器イネーブル）、及びPRC#（プレチャージ）を生成する。これらの制御信号は、１９９３年５月１２日にWingyu Leungが出願した同一人に所有される米国特許出願中の09/076,600号「DRAMアレイの内部動作を制御する方法及び構造（Method And Structure for Controlling Internal Operations of a DRAM array）」に詳述されているので、引用文はそっくりそのまま織り込まれている。一般に、RAS#信号、CAS#信号、SEN#信号及びPRC#信号は、CLK信号の信号サイクル以内の予め定めた時間で生成し、予め定める時間はCLK信号の立ち上がりエッジ及び立ち下がりエッジに応じて決定する。その結果、DRAMバンク0は、CLK信号１サイクル中に１メモリサイクルを完成する。制御信号RAS#、CAS#、SEN#及びPRC#のタイミングは、クロック位相生成プログラム180（図１）が生成した４相クロック信号P[3:0]によって制御する。クロック位相生成プログラム180は、遅延線機構を用いたCLK信号に応じて位相クロック信号P[3:0]を生成する。クロック位相生成プログラム180については、米国特許出願番号09/070,608に詳述されている。メモリサイクルは１クロック時間しかかからないので、DRAMバンク0はランダムアクセスまたはロウリフレッシュを１クロックサイクルで処理することが可能である。
【００５４】
メモリサイクルの開始は、NANDゲート211がメモリコントロールシーケンサ207へ論理ハイのST [0]信号をアサートする時である。ST [0]信号がハイになるのは、読出し要求信号ERQ# [0]、書込み要求信号WRQ# [0]、またはリフレッシュ要求信号REQ#の３信号のいずれかがローにアサートされる時である。指名子[0]は、DRAMバンクアドレスに対応する。従って、DRAMバンク23は、類似の信号ST[23]、ERQ#[23]及びWRQ#[23]を有することになる。その結果、DRAMバンク0-63は各々独立に制御されることに留意する。
【００５５】
読出し要求信号ERQ#[0]は、バンクアドレスデコーダ182（図１）が生成する。キャッシュミスが発生し、キャッシュミスの結果としてDRAMバンク0からデータを読み出さなければならない場合、読出し要求信号ERQ#[0]はローにアサートされる。このような読出しアクセスが要求される条件は、書込みミスアクセス及び読出しミスアクセスに関連する箇所で既述した。
【００５６】
書込み要求信号WRQ#[0]は、バンクアドレスデコーダ183（図１）が生成する。キャッシュミスが発生し、SRAMキャッシュ187にストアされたデータをDRAMバンク0にライトバックしなければならない時、書込み要求信号WRQ#[0] はローになる。ライトバック動作が要求される条件は、書込みミスアクセス及び読出しミスアクセスに関連する箇所で既述した。
【００５７】
読出し要求信号ERQ#[0]及び書込み要求信号WRQ#[0]は、相互に排反する。すなわち、これらの信号は同時には活動化しないのである。その理由は、キャッシュミスアクセス中、更新されるキャッシュエントリに関連するバンクアドレスは、DRAMバンクから検索されるデータに関連するバンクアドレスと必然的に異なるためである。しかし、リフレッシュアクセス開始のためにリフレッシュ要求信号RFQ#がローにアサートされる時、書込み要求信号WRQ#[0]または読出し要求信号ERQ#[0]のいずれかがローにアサートされることはある。以下に説明するように、書込み要求信号WRQ#[0]及び読出し要求信号ERQ#[0]は共にリフレッシュ要求信号RFQ#に対して常に優先される。結果的に、DRAMバンク0へのアクセス（及びDRAMバンク1-63へのアクセス）がリフレッシュアクセスに遅延することは決してない。
【００５８】
リフレッシュ動作
リフレッシュタイマー195（図１）は、１５ビットのバイナリカウンタである。100 MHzで動作中に、リフレッシュタイマー195は３２０μs毎にリフレッシュ要求を生成する。メモリバンク0-63は各々独立しており、１リフレッシュサイクルにメモリバンク１ロウがリフレッシュされる。DRAMバンクのロウ読出しによってリフレッシュアクセスが実行される。DRAMバンクのロウ読出しは、ロウのDRAMセル内の電荷をリフレッシュする効果がある。DRAMバンクの６４ロウ全てを完全にリフレッシュするためには、６４リフレッシュサイクルが必要である。従って、l-T SRAM 170のリフレッシュタイムは３２０μsの６４倍、すなわち20.48 msである。
【００５９】
リフレッシュタイマー195の出力はリフレッシュ要求信号RFQ#を与え、リフレッシュ要求信号RFQ#はリフレッシュタイマー195がフルカウントに達した時、すなわち全カウンタビットがハイになった時、１クロックサイクルの間、活動化する。リフレッシュタイマー195の周期は320μsであり、SRAM キャッシュ187の全キャッシュエントリに完全にアクセスするのに64 x 4 x 10 ns（６４ロウ、１ロウ当たり４キャッシュライン）すなわち2.56μsしかかからないので、各リフレッシュタイマー期間中に各DRAMバンク0-63で少なくとも１キャッシュヒットまたは１メモリアイドルサイクルが発生する。このことは、DRAMバンク0-63はリフレッシュサイクルをミスせず、DRAMバンク0-63が各々時間的にちょうどよい方法でリフレッシュされることを保証する。
【００６０】
しかし、リフレッシュ要求及び外部アクセス要求（例えば、ミスアクセス）が同一クロックサイクルで生成される時にキャッシュアクセス衝突が発生する可能性がある。アクセス衝突の処理はDRAMバンク内で行うが、その手順はまずキャッシュミスアクセスを処理し、次にリフレッシュ要求信号RFQ#のロー状態をセーブすることによりフリップフロップ内でリフレッシュ要求を遅延させる。リフレッシュアキュムレーションフリップフロップ220は、図３のNANDゲート212及び213が形成する。外部メモリアクセスを確実に遅延なく完了させるため、常にキャッシュミスアクセスはリフレッシュアクセスに優先する。その結果、DRAMバンクリフレッシュアクセスは外部の世界にトランスペアレントなので、l-T SRAM 170はSRAM装置と完全に互換性のある方法で作動する。
【００６１】
アクセス優先権はアドレスマルチプレクサ210がセットするが、アドレスマルチプレクサ210はロウアドレスEA[10:5]またはリフレッシュロウアドレスRA[5:0]のいずれかをロウアドレスデコーダ205に与えるように制御される。ロウアドレスEA[10:5]は、キャッシュミスアクセスに関連するロウアドレスである。アドレスマルチプレクサ210は、ANDゲート216が与える出力信号が制御する。読出し要求信号ERQ#[0]及び書込み要求信号WRQ#[0]を受け取るために、ANDゲート216の入力端子を接続する。いずれかの要求信号がローにアサートされる時、アドレスマルチプレクサ210は現行メモリサイクルのためにロウアドレスEQ[10:5]を選択する。キャッシュミスアクセスがない状況ではERQ#[0]、WRQ#[0]はいずれもハイにデアサートされるので、マルチプレクサ210はリフレッシュアドレスRA[5:0]のロウアドレスデコーダ205までの経路指定する。
【００６２】
リフレッシュアクセスは、DRAMバンクがアイドルになるまで遅延される。フリップフロップ220は、リフレッシュ要求信号RFQ#がローになる時にセットされる。リフレッシュ応答信号RFAK#がローにアサートされるまで、フリップフロップ220はセット状態に留まる。信号ST[0]、ERQ#[0]及びWRQ#[0]がハイの時、リフレッシュ応答信号RFAK#はローにアサートされる。これら全ての信号がハイの時、リフレッシュアクセスが開始する。フリップフロップ217は、CLK信号によるフリップフロップ220のリセットに同期する。６ビットのリフレッシュアドレスカウンタ208は、リフレッシュされるロウアドレスを追跡する。RFAK#信号のローからハイへの遷移全てに対してリフレッシュアドレスカウンタ208は増分する。リフレッシュアドレスカウンタ208は、フルカウント111111に達すると000000にリセットされる。
【００６３】
動作のタイミング
図４は、４つの連続するトランザクションAN、BN、CM、及びDPを示す波形線図である。トランザクションAN及びBNは、同一のDRAMバンクNにアクセスする。トランザクションCMはDRAMバンクMにアクセスし、トランザクションDPはDRAMバンクPにアクセスする。より具体的には、トランザクションANはDRAMバンクNへの読出しミスアクセス、トランザクションBNはクロックサイクルT3の始めにリフレッシュアクセスと衝突するDRAMバンクNへのキャッシュヒットアクセス、トランザクションCMはDRAMバンクRへの変更データのライトバックを要求するDRAMバンクMへの書込みミストランザクション、そしてトランザクションDPはDRAMバンクPへの読出しミスアクセスである。
【００６４】
クロックサイクルT1中、ADS#信号をローにし、メモリアドレスEA[l6:0]をアドレスバッファ181に与え、WR#信号をハイにした状態でメモリトランザクションANが開始するが、このことはトランザクションが読出しアクセスであることを示す。メモリアドレスEA[16:11]は、要求バンクアドレスをDRAMバンクNと認識する。クロックサイクルT2の立ち上がりエッジにおいて、読出しトランザクションANが検出される。アドレス信号EA[l0:3]に代表されるロウアドレス及びカラムアドレスは、アドレスバッファ181によってバッファに入れられ、キャッシュタグメモリ185と同様にメモリバンク0-63全てに与えられる。キャッシュタグメモリ185では、ロウアドレス及びカラムアドレスによってコンパレータ184へ向けられたキャッシュバンクアドレスがコンパレータ184へゲートアウトされ、コンパレータ184ではトランザクションANのバンクアドレスEA[10:11]と比較される。コンパレータ184はHIT信号をローにするが、このことは現行トランザクションANがキャッシュミスであることを示している。論理ローのHIT信号及び現行バンクアドレスEA[16: 11]に応答して、バンクアドレスデコーダ182は、読出し要求信号ERQ#[N]をローにアサートする。それ以外の読出し要求信号ERQ#は全てハイにデアサートされることに留意する。キャッシュバンクアドレスに関連する修正標識ビットNは、キャッシュタグ185からキャッシュコントロールシーケンサ186に与えられる。既述の例では、修正標識ビットNはローであり、このことは更新するキャッシュエントリを修正することを示している。それに応じて、キャッシュコントロールシーケンサ186は、バンクアドレスデコーダ183へのメモリ書込み信号MW#をハイにする。それに応じて、バンクアドレスデコーダ183は書込み要求信号NRQ#[63:0]の全てをハイにせず、そのことによってライトバック動作を阻害する。
【００６５】
ロー状態の読出し要求信号ERQ#[N]によって、DRAMバンクNはメモリ読出しサイクルを開始する。同時に、キャッシュコントロールシーケンサ186はタグ書込み信号TW#をローにアサートし、バンクアドレスNはアドレスEA[l0:3]が指示する位置にあるキャッシュタグメモリ185に書き込まれる。クロックサイクルT2の後半で、DRAMバンクNから読み込まれるデータは、バスDB[255:0]上で入手可能であり、2:1マルチプレクサ192、8:1マルチプレクサ191及びI/Oドライバ190を介して外部データバスDQ[31:0]へ送られる。DB[255:0]上のデータもマルチプレクサ193を介してSRAMキャッシュ187へ送られる。トランザクションは読出し動作なので外部書込みイネーブル信号EWR#はローであり、従って、全ての２５６ビットのデータDB[255:0]はSRAMキャッシュ187の書込みバッファ189へ経路指定される。キャッシュ書込みイネーブル信号CW#がローになると、データDB[255:0]はSRAMキャッシュ187に書き込まれる。
【００６６】
クロックサイクルT3の始めに、読出しトランザクションBNが検出される。リフレッシュ要求もDRAMバンク0-63各々において検出されラッチされる。コンパレータ184は、現行バンクアドレス信号EA[16:11]とキャッシュタグメモリ185が与えるキャッシュバンクアドレスが一致することを検出する。それに応じて、コンパレータ184は論理ハイのHIT信号をアサートする。論理ハイのHIT信号は、全ての読出し要求信号ERQ#[63:0]及び全ての書込み要求信号WRQ#[63:0]をハイのままにしておく。キャッシュミス要求がなければ、全てのDRAMバンク0-33は、対応するリフレッシュアドレスカウンタ208（図３）が与えるリフレッシュアドレスRA[5:0]を用いてリフレッシュサイクルを開始する。トランザクションBNは読出しアクセスなので、キャッシュ書込みイネーブル信号CW#はハイに留まり、要求されたデータはSRAMキャッシュ187からキャッシュ読出しバッファ188へ送られる。キャッシュ読出しバッファ188はデータをデータバスDA[255:0]の2:1マルチプレクサ192へ駆動する。論理ハイのHIT信号により、マルチプレクサ192はキャッシュ読出しバッファ188から8:1マルチプレクサ191へデータ経路指定する。バッファに入ったワード選択アドレス EA[2:0]は、出力用３２ビットワード８個のうちから１個を選択する。選択したデータはI/Oドライバ190が外部バスDQ[31:0]へ駆動する。
【００６７】
クロックサイクルT4の始めには、書込みトランザクションCMが検出される。トランザクションCMに関連するDRAMバンクアドレスMは、キャッシュタグメモリ185及びコンパレータ184に与えられる。それに応じてキャッシュタグメモリ185はキャッシュバンクアドレスRを与える。コンパレータ184は、現行バンクアドレスMがキャッシュバンクアドレスRに一致しないことを決定し、それに応じてHIT信号ローが書込みミストランザクションを示すようにさせる。現行例では、アクセスしたキャッシュタグエントリの修正標識ビットHがセットされ、SRAMキャッシュ187の関連するキャッシュエントリはDRAMバンクHに必ずライトバックされる修正データを含むことを示している。結果として、読出し要求信号ERQ#[M]及び書込み要求信号WRQ#[R]は、各々バンクアドレスデコーダ182及び183によって共にローにアサートされ、これによってDRAMバンクMにおける読出し動作及びDRAMバンクRにおける書込み動作が開始する。DRAMバンクMからの読出しデータは、読出しバッファ171のトランスペアレントラッチを介してバスDB [255:0]へ出力される。読出しデータは、サイクルT4中にCLK信号の立ち下がりエッジにおいて読出しバッファ171へラッチされる。
【００６８】
同時に、キャッシュコントロールシーケンサ186は、サイクルT4の前半にキャッシュ書込み信号CW#をハイにデアサートし、そのことによってSRAMキャッシュ187に読出し動作を行わせる。DRAMバンクRにライトバックされるキャッシュエントリは、キャッシュ読出しバッファ188のトランスペアレントラッチを介してバス DA[255:0]へ出力される。データは、サイクルT4中にCLK信号の立ち下がりエッジにおいて読出しバッファ188へラッチされる。DA[255:0]上のキャッシュ読出しデータは、DRAM書込みバッファ172を介してDRAMバンクRに書き込まれる。同様にして、クロックサイクルT4の後半にキャッシュ書込み信号CW#がローになると、DB[255:0] 上のDRAM読出しデータはキャッシュ書込みバッファ189を介してSRAMキャッシュ187に書き込まれる。結果として、現行アドレスEA[10:3]に関連するキャッシュエントリが更新される。バンクアドレスMは、Vビット及びMビットのセットと共にキャッシュタグメモリ185に書き込まれる。修正標識ビットMをセットするには、キャッシュラインコンテンツは現行書込みトランザクションCMに修正されるという事実を反映するようにする。書込みデータはデータバスDQ[31:0]からデマルチプレクサ194を介してマルチプレクサ193へ送られるが、マルチプレクサ193ではDRAMバンクMから検索されたデータDB[255:0]が外部書込みデータと併合される。併合を制御するのは、EA[2:0]上のワード選択アドレスと、キャッシュコントロールシーケンサ186によってハイにアサートされる外部書込み信号EWRである。併合されたデータは、キャッシュ書込みバッファ189を介してSRAMキャッシュ187に書き込まれる。
【００６９】
クロックサイクルT5の始めに、読出しトランザクションDP及びリフレッシュ要求が共に検出される。通常動作中、約32000クロックサイクル毎に１度だけリフレッシュ要求信号RFQ#がアサートされる。従って、図４のタイミングは例示目的のみに示したものである。本実施例では、読出しトランザクションDPに関連するバンクアドレスEA[16:11]は、キャッシュタグメモリ185にストアされた関連するキャッシュバンクアドレスに一致しないので、コンパレータ184は論理ローのHIT信号（例えば、読出しミスアクセス）を与える。バンクアドレスデコーダ182は、論理ローのHIT信号に応じて読出し要求信号ERQ#[P]をローにアサートする。本実施例では、キャッシュバンクアドレスに関連する修正標識ビットHはローであり、結果として、ライトバック動作が要求されないことを示している。その結果、キャッシュコントロールシーケンサ186はMW#信号をデアサートするので、バンクアドレスデコーダ183は各書込み要求信号WRQ#[63:0]に論理ハイの値を与える。この時、対応するERQ#信号及びWRQ#信号はハイにアサートされるので、DRAMバンクP以外の全DRAMバンクはリフレッシュサイクルを通過する。DRAMバンクPでは、リフレッシュ要求信号RFQ# が、NANDゲート212及び213（図３）が形成したリフレッシュフリップフロップ220をロー状態にセットする。しかし、ロー状態の読出し要求信号ERQ#[P]は、メモリサイクルのためにロウアドレスEA[10:5]を選択する。読出し要求信号 ERQ#[P]のアサートは、クロックサイクルT5中、RAS#、CAS#、SEN#及びPRC#信号の連続するアサートを用いて、信号ST[P]をハイにアサートさせ、メモリ読出しサイクルを実行させる。読出しデータは、DRAMバンクPから読出しバッファ171を介してデータバスDB[255:0]へ出力され、データバスDB[255:0]において読出しデータはSRAMキャッシュ187、マルチプレクサ192 、マルチプレクサ191、及びI/Oドライバ 190へ、そして最終的にはデータバスDQ[31:0]へ経路指定される。トランザクションDPは読出しトランザクションなので、外部書込み信号EWRはローに非活動化され、キャッシュライン全体がキャッシュ書込み信号CW#をアサートするSRAMキャッシュ187に書き込まれる。
【００７０】
サイクルT6中、外部アクセス要求はペンディングされない。しかし、DRAMバンクP内のリフレッシュフリップフロップ220はセットされたままなので、クロックサイクルT6の前半では信号ST[P]をハイのままにしておく。結果として、DRAMバンクPを用いずに別のメモリサイクルが実行される。読出し要求信号ERQ#[P]及び書込み要求信号WRQ#[P]が共にハイにデアサートされた状態で、リフレッシュアドレスカウンタ208からのリフレッシュアドレスRA[5:0]は、マルチプレクサ210を通過してロウアドレスデコーダ 205へ送られる。その結果、リフレッシュアドレスRA[5:0]が識別するローがリフレッシュされる。サイクルT6中、CLK信号の立ち下がりエッジにおいて、NANDゲート214のロー出力がフリップフロップ217へラッチされるので、リフレッシュ応答信号RFAK#がローになり、リフレッシュフリップフロップ220はリセットされる。RFAK#信号の活動化は、リフレッシュアドレスカウンタ208も増分させる。しかし、リフレッシュアドレスカウンタ208の出力はRFAK#信号がハイに非活動化されるまで増分しない。結果として、リフレッシュアドレスカウンタ208が与えるリフレッシュアドレスRA[5:0]は、メモリサイクル中、一定に保持される。リフレッシュ応答信号RFAK#は、サイクルT7中、CLK信号の立ち下がりエッジでハイに非活動化される。
【００７１】
以上の方法で、クロックサイクル当たり１メモリサイクルの割合で、リフレッシュ動作の遅延なしにl-T SRAM 170へアクセスすることが可能である。
【００７２】
追加実施例
図５は、本発明の他の実施例に従ったl-T SRAMシステム300のブロック線図である。l-T SRAMシステム300は、１２８個のDRAMメモリブロック1000-1127、リフレッシュアドレスカウンタ301、リフレッシュタイマー302、メモリシーケンサ303、アドレスレジスタ304、バンクアドレスデコーダ305-306、論理的ORゲート307、メモリコントロールユニット308、マルチプレクサ309、書込みバッファ310、読出しバッファ311、書込み専用ポート312、リードライトポート313、及びマルチプレクサ314を含む。
【００７３】
DRAM メモリブロック1000-1127は、１６Kの１２０ビットワードのストアが可能である。各メモリブロック1000-1127は対応するDRAM バンク（合計１２８バンク）を有し、DRAM バンクは３２ロウ、５１２カラムを有するアレイに配列されている。システム300の外部インタフェースは、入力データビットDi[127:0]を受け取る１２８ビットの入力データバス、出力データビットDo[127:0]を受け取る１２８ビットの出力データバス、読出しイネーブル（Ren）信号を受け取る読出しイネーブルライン、書込みイネーブル（Wen）信号を受け取る書込みイネーブルライン、クロック（Clk）信号を受け取るクロック入力端子、及びアドレスビットA[13:0]を受け取る１４ビットのアドレスバスを含む。ブロック1000-1127の各DRAMバンクには、対応するロウアドレスデコーダ及び対応するカラムアドレスデコーダ含まれる。
【００７４】
全ての外部信号は、Clk信号の立ち上がりエッジと関係がある。アドレス信号A[13:0]は３フィールドに分割され、３フィールドとは、７ビットのバンクアドレスA[13:7]（１２８メモリブロック1000-1127中の１メモリブロックを識別する）、５ビットのロウアドレスA[6:2]（１メモリバンクにある３２ロウのうち１ロウを識別する）、及び２ビットのワードアドレスA[1:0]（１ロウにある４つの１２８ビットワード中の１つを識別する）である。DRAMメモリブロック1000-1127はリードライトポート313内の多数のドライバに並列に接続され、リードライトポート313はメモリブロック1000-1127への双方向ポートとして働く。DRAMメモリブロック1000-1127は書込み専用ポート312内の多数のドライバにも並列に接続され、書込み専用ポート312は単方向（書込み専用）ポートとして働く。リードライトポート313及び書込み専用ポート312は、DRAMメモリブロック1000-1127、書込みバッファ310、読出しバッファ311、及びそれ以外のI/O論理の間でインタフェースとして働く。l-T SRAMシステム300の種々の構成要素間におけるバス接続は、図５に示されている。
【００７５】
メモリブロック1000-1127の全リフレッシュアクセスが予め定めたリフレッシュサイクル内で正しく確実に実行されるように、最悪のキャッシュスラッシング条件下でも、書込みバッファ310及び読出しバッファ311各々のサイズは、DRAMメモリブロック1000-1127のうち１個のストア容量からDRAMメモリブロック１ロウのセル容量を引いたストア容量に等しい（またはそれ以上の）ストア容量を有するように選択する。デザインの簡潔性を考えて、以下に述べる実施例では、書込みバッファ310及び読出しバッファ311は、各々DRAMメモリブロック1000-1127内のメモリバンクと同一編成のメモリバンクを含む。従って、本実施例では、書込みバッファ310及び読出しバッファ311は、３２ロウ、５１２カラムのメモリセル配列を有するメモリバンクを含む。これらのメモリセルは、SRAMセルまたはDRAMセルのいずれかを用いて構成することが可能である。以下簡潔に説明するため、先ずSRAMセルを用いて実行した書込みバッファ及び読出しバッファ310-311を説明する。次に、DRAMセルを用いて読出しバッファ及び書込みバッファ310-311を実行するために必要な追加制御を説明する。本実施例において、書込みバッファ310、読出しバッファ311は各々３１ロウ、５１２カラムの最小サイズのメモリセルであることに留意する。
【００７６】
アドレス経路では、外部アクセスするアドレス信号A[13:0]がアドレスレジスタ304においてラッチされる。それに応じて、アドレスレジスタ304は、７ビットの外部バンクアドレス信号EBA[6:0]をバンクアドレスデコーダ305及びメモリコントロールユニット308に与える。外部バンクアドレス信号EBA[6:0]（アドレス信号A[13:7]から構成される）は、現行アクセス動作のバンクアドレスを識別する。外部バンクアドレス信号EBA[6:0]に応答して、バンクアドレスデコーダ305は、１２８ビットの外部バンク選択信号EBS[127:0]を生成し、外部バンク選択信号EBS[127:0]は現行アクセス動作のバンクアドレスを識別する。外部バンク選択信号EBS[127:0]は、アドレス指定されたバンクに対応する１個の論理ハイの信号及びアドレス指定されていないバンクに対応する１２７個の論理ローの信号を含む。外部バンク選択信号EBS[127:0]は、ORゲート307に与えられる。
【００７７】
メモリコントロールユニット308から書込みバッファバンクアドレスWBBA[6:0]を受け取るために、バンクアドレスデコーダ306を連結する。以下に詳述するように、WBBA[6:0]は、書込みバッファ310にストアされた書込みキャッシュタグに関連するバンクアドレスを識別する。WBBA[6:0] 信号に応答して、バンクアドレスデコーダ306は、書込みキャッシュタグに対応するバンクアドレスを識別する１２８ビットの書込みバッファバンク選択信号WBBS[127:0]を生成する。書込みバッファバンク選択信号WBBS[127:0]は、キャッシュされたバンクに対応する１個の論理ハイの信号及びキャッシュされていないバンクに対応する１２７個の論理ローの信号を含む。書込みバッファバンク選択信号WBBS[127:0]は、ORゲート307に与えられる。
【００７８】
ORゲート307は、バンクアクセス信号BA[127:0]を生成するために、外部バンク選択信号EBS[127:0]及び書込みバッファバンク選択信号WBBS[127:0]の論理的ORを与える。１２８個のバンクアクセス信号BA[l27:0]は各々メモリブロック1000-1127のうち対応するメモリブロックに接続される。
【００７９】
アドレスレジスタ304も外部ロウカラムアドレス信号ERC[6:0]を与え、外部ロウカラムアドレス信号ERC[6:0]は、現行アクセス動作のロウアドレス及びカラムアドレスを識別する。外部カラムアドレス信号ERC[6:0]は、外部アドレスビットA[6:0]に応じて選択される。外部ロウカラムアドレス信号ERC[6:0]は、各メモリブロック1000-1127、書込みバッファ310、読出しバッファ311、及びメモリコントロールユニット308に並列に与えられる。
【００８０】
一般に、メモリシステム300は次のように動作する。メモリコントロールユニット308は、メモリセルのリフレッシュがメモリセルの外部アクセスを妨害しないようにメモリセルのアクセス及びリフレッシュを制御する。
【００８１】
メモリブロック1000-1127の各DRAMバンクは独立して制御する。従って、読出し動作、書込み動作及びリフレッシュ動作は、各バンク内で独立して制御する。各メモリバンクは、書込みバッファ310及び読出しバッファ311の両方に並列連結する。書込みバッファ310及び読出しバッファ311は共にメモリブロック1000-1127においてメモリバンクとして同一の構造を有する。
【００８２】
メモリシステム300は、マルチバンクリフレッシュ方式を用いてリフレッシュする。好適な実施例では、中央リフレッシュタイマー302を用いてDRAMメモリブロック1000-1127への周期的リフレッシュ要求を生成する。リフレッシュタイマー302は、１msec毎に１クロックサイクル、出力信号RFREQ をハイにしてリフレッシュ要求を生成する。従って、100 MHzシステムでは、リフレッシュ要求信号RFREQは100,000クロックサイクル毎に１回ハイにアサートされる。RFREQ信号は、メモリブロック1000の入力端子REQIに入力リフレッシュ要求信号REQI [0]として送られる。メモリブロック1000の内部では、REQI [0]信号はD-レジスタの入力端子に与えられる。（図１１のD-レジスタ2121を参照。）REQI [0]信号は、Clk信号の立ち上がりエッジ上のD-レジスタにラッチされる。D-レジスタの出力端子は、出力リフレッシュ要求信号RFQO[0]を与えるために出力端子REQOにおいて接続される。従って、REQI[0]信号がハイに活動化された後、REQO[0] 信号が１クロックサイクルハイになる。各出力端子REQOは、メモリブロックと隣り合う入力端子REQIに接続される。メモリブロックへのリフレッシュ要求は、メモリブロック1000-1127のREQI端子及び REQO端子に接続されたD-レジスタを用いてデイジーチェーンが生成する。
【００８３】
書込みバッファ310及び読出しバッファ311がSRAMセルで構成される実施例においては、リフレッシュ要求信号RFREQはメモリブロック1000からメモリブロック1127へ伝播される（そして書込みバッファ310及び読出しバッファ311には与えられない）。しかし、書込みバッファ310及び読出しバッファ311がDRAMセルで構成されている場合は、リフレッシュ要求信号RFREQはメモリブロック1127から書込みバッファ310及び読出しバッファ311へ伝播される。これらの接続は図５に破線で示す。
【００８４】
書込みバッファ310及び読出しバッファ311がDRAMセルで構成されている場合は、更に、書込みバッファ310及び読出しバッファ311は各々、バッファ310-311内でリフレッシュがペンディングかどうかを示すリフレッシュペンディング信号REFP [w]及びREFP [r]を生成する。これらの信号は、図５に破線で示す。
【００８５】
５ビットのリフレッシュアドレスRFA[4:0]は、リフレッシュアドレスカウンタ301が生成する。リフレッシュアドレスRFA[4:0]は、RFREQ信号がハイにアサートされる度に増分する。５ビットのリフレッシュアドレスRPA[4:0]は、DRAMメモリブロック1000-1127全てに一斉送信される。書込みバッファ310及び読出しバッファ311がDRAMセルで構成されている場合、リフレッシュアドレスも、これらのバッファ310-311に一斉送信される。リフレッシュアドレスRPA[4:0]がRFREQ信号の次回活動化前にリフレッシュされるように、リフレッシュアドレスRPA[4:0]はメモリブロック1000-1127のロウ位置を指定する。本実施例における固有リフレッシュサイクルは、RFREQ信号の活動化と活動化の間に経過した時間（例えば、リフレッシュタイマー302の周期）として定義する。固有リフレッシュサイクルは、メモリセルのリフレッシュタイムを１メモリバンク内のロウ数で除した時間に等しいかそれ以下にセットする。
【００８６】
別の実施例では、リフレッシュ要求信号RFREQは、メモリブロック1000-1127の全てに一斉送信される。RFREQ信号が活動化される時、活動化RFREQ信号を受け取った各メモリバンクは、アクセス矛盾がなければリフレッシュサイクルを実行する。アクセス矛盾があれば、アクセス矛盾がなくなるまでリフレッシュ動作を遅延させる。
【００８７】
メモリバンクは、固有リフレッシュサイクル中にリフレッシュ動作をできなければ、正しくリフレッシュできない。本実施例では、固有リフレッシュサイクルはRFREQ信号の活動化と活動化の間の時間、または１msecに等しい。固有リフレッシュサイクルより長い期間連続的にメモリバンクにアクセスした場合、このようになる。メモリバンクのリフレッシュ動作は、Clk信号１サイクル以内に完了することが可能である。メモリバンクにアクセスしていない固有リフレッシュサイクル中にメモリバンクが少なくとも１クロックサイクルあれば、メモリバンクはこのアイドルサイクルを利用してリフレッシュ動作を行ってリフレッシュ義務を果たすことが可能である。メモリバンクのアイドルサイクルは、外部アクセスがない時または外部アクセスが別のバンクをヒットした時に生成される。従って、固有リフレッシュサイクル中に少なくとも１回、外部アクセスがバンクを交換すれば、全メモリバンクを正しくリフレッシュすることが可能である。以下に詳述するように、書込みバッファ310及び読出しバッファ311は、固有リフレッシュサイクル中に連続的にアクセスされるバンクに対して固有リフレッシュサイクル中少なくとも１アイドルメモリサイクルを確実に与える。
【００８８】
本実施例において、メモリシステム300は、１２８ビットの入力データ値及び１２８ビットの出力データ値を与える。読出しバッファ311は、３２ロウ、５１２カラムのメモリセルを有するメモリバンクを含む。そのため、読出しバッファ311は、１２８個の１２８ビットワードまたは１２８個のエントリをストア可能である。読出しバッファ311をミスする読出しアクセスのために、１２８ビットのデータ語は、アドレス指定されたメモリバンク（または書込みバッファ310）から取り出され、データ出力バスへデータ出力信号Do[127:0]として送られる。同時に、検索したデータも読出しバッファ311に書き込まれる。読出しアクセスが読出しバッファ311にヒットしたら、要求データは読出しバッファ311から読み出され、メモリブロック1000-1127のメモリバンクはアクセスされない。書込みアクセスが読出しバッファ311にヒットしたら、以下に詳述するように、書込みデータは、読出しバッファ311と、アドレス指定するメモリバンクまたは書込みバッファ310のいずれか、の両方に書き込まれる。
【００８９】
２つのフィールドを有する１つの読出しバッファキャッシュタグは、読出しバッファ311にストアされたデータのトラック追跡に用いる。２つのフィールドのうち１つは読出しバッファ311に現在ストアされているデータを与えるバンクを識別する７ビットのバンクアドレスフィールドである。もう１つのフィールドは、１ビットの有効ビットを読出しバッファ311の１２８個のエントリ各々にストアする１２８ビットの有効フィールドである。有効フィールド内のセット（例えば、論理"1"）有効ビットは、対応するエントリにストアされているデータが有効であることを示す。リセット（例えば、論理"0"）有効ビットは、対応するエントリにストアされているデータは無効であることを示す。従って、読出しバッファ311はアクセスされたメモリバンクの影のように働く。読出しバッファキャッシュタグのバンクアドレスフィールドに含まれるものと異なるアドレスを有するバンクへの読出しまたは書込みアクセスが発生した場合、読出しバッファキャッシュタグのバンクアドレスフィールドはこの異なるバンクアドレスを反映するために更新される。更に、有効フィールドの全ての有効ビットは新たなエントリに関連する有効ビットを除いてリセットされる。新たなエントリに関連する有効ビットはセットされ、読出しデータは読出しバッファ311の対応するエントリに書き込まれる。
【００９０】
最悪の場合、１メモリバンクは読出しアクセスを条件として連続的である。このような読出しアクセスの１つが固有リフレッシュサイクル中に読出しバッファ311にヒットしたら、アイドルサイクルは読出しバッファ311が影にするメモリバンク内に生成する。このメモリバンクはアイドルサイクル中にリフレッシュ可能である。連続読出しアクセスが読出しバッファ311をミスすれば、データは読出しバッファ311に蓄積される。最悪の場合、読出しアクセスは１メモリバンクの全アドレス空間と交差して読出しバッファが完全に１メモリバンクの影となる（例えば、読出しバッファ311は１メモリバンクに同一データのコピーをストアする）。このような状況下で、読出しバッファ311は１２８クロックサイクルで一杯になる。同時に、同一メモリバンクへの他の読出しアクセスが必然的に読出しバッファをヒットする結果となる。１msecの固有リフレッシュサイクルは１２８クロックサイクルの読出しバッファフィル（fill）時間より長いので、読出しバッファのヒットは１メモリバンクにアイドルサイクルを生成する。アイドルサイクル中に１メモリバンクがリフレッシュされる。
【００９１】
読出しバッファ311にストアされているデータのコヒーレンスを確実にするために、書込みアクセスが読出しバッファ311にヒットすれば、書込みアクセス用データは読出しバッファ311に書き込まれる。このデータも次に詳述するようにアドレス指定されたメモリバンクまたは書込みバッファ310に書き込まれる。書込みアクセスのバンクアドレスが読出しバッファキャッシュタグのバンクアドレスフィールドに一致し、読出しバッファの有効ビットが書込みアクセスのアドレスに対応するエントリにセットされれば、書込みアクセスは読出しバッファ311にヒットする。
【００９２】
読出しバッファ311の動作を要約すると、読出しミスまたは書込みのヒットが発生すると、データは読出しバッファ311に書き込まれる。読出しのヒットが発生すると、データは読出しバッファ311から読み出される。既述のように、読出しバッファ311はSRAMセルで構成されており、読出しバッファ311内のリフレッシュ処理は必要ない。読出しバッファ311がDRAMセルを用いて構成されていれば、読出しバッファ311内のリフレッシュ処理は必要である。リフレッシュ処理については以下に詳述する。
【００９３】
書込みバッファ310は、読出しバッファ311と同一の方法で構成されている。従って、書込みバッファ310は、３２ロウ、５１２カラムのメモリセルを有するメモリバンクを含む。従って、書込みバッファ310は、１２８個の１２８ビットワードまたは１２８個のエントリをストアすることが可能である。書込みバッファ310は２つのフィールドを有する１つの書込みバッファキャッシュタグをも含み、書込みバッファキャッシュタグは書込みバッファ310にストアされているデータを追跡するために用いられる。２つのフィールドの一方は７ビットのバンクアドレスフィールドで、書込みバッファ310に現在ストアされているデータを書き込むバンクを識別する。他方のフィールドは１２８ビットの有効フィールドで、書込みバッファ310の１２８個のエントリ各々のための１ビットの有効ビットをストアする。セット（例えば、論理"1"）有効ビットは、対応するエントリにストアされているデータが有効であることを示す。リセット（例えば、論理"0"）有効ビットは、対応するエントリにストアされているデータは無効であることを示す。
【００９４】
書込みアクセス中は、書込みバッファ310が予めストアされているエントリの回収（または書込みバッファ310がDRAMを用いて構成されている時のコンテンツのリフレッシュ）等、他のタスクで使用中でない限り、書込みアクセスに関連するデータは書込みバッファ310に書き込まれる。書込みバッファ310に書込みアクセスデータを書き込んでいる時であれば、書込みアクセスが指定するメモリバンクアドレスはリフレッシュ動作を行うことが許される。１メモリバンクが連続的に書き込まれる時、書込みバッファ310は最終的に１メモリバンクに指定した有効データで完全に一杯になる。書込みバッファキャッシュタグの全有効ビットは、この時点でセットされる。
【００９５】
書込みアクセスが書込みバッファキャッシュのアドレスフィールドにストアされているアドレスと異なるアドレスを有するバンクメモリバンクをアドレス指定したら、それからデータ回収が開始する。データ回収中、書込みバッファ310のデータは、書込みバッファキャッシュタグのバンクアドレスフィールドが識別するメモリバンクに回収される。書込みバッファ310のデータは、書込み専用ポート312を介して回収される。この間、書込みバッファ310はデータ回収にビジーなので、書込みアクセス処理に使用できない。従って、現行書込みアクセスは、現行書込みアクセスアドレスが指定するメモリバンクによって処理する。現行書込みアクセスのデータは、アドレス指定されたメモリバンクにリードライトポート313を介して与えられる。リフレッシュ要求信号がこの期間中に活動化したら、外部アクセスを処理するメモリバンク及びデータ回収を処理するメモリバンクにおけるリフレッシュ動作は共に遅延される。その他のメモリバンクにおけるリフレッシュ動作は遅延なく処理される。このバンクへの外部アクセスがなくなってしまえば、外部アクセスを処理するメモリバンクにおけるリフレッシュ動作はクロックサイクル中いつでも実行可能である。最悪の場合、１メモリバンクが連続的にアクセスされれば、１メモリバンクにおけるリフレッシュ動作は、書込みバッファ310がデータ回収プロセスを完了するまで遅延される。データ回収プロセスが完了したら、書込みバッファ310は１メモリバンクに続いて起こる書込みアクセスを処理する。メモリバンクにおけるデータ回収を目標としたリフレッシュ動作は、データ回収が行われるクロック周期を遅延させる。回収プロセス中は、有効エントリのみが回収される。各回収エントリの有効ビットは、そのエントリ内のデータ回収後にリセットされる。最悪の場合、回収プロセスには１２８クロックサイクルかかる。固有リフレッシュサイクルは最悪の場合のデータ回収プロセス時間（１２８クロックサイクル）より長いので、両方のメモリバンクにおけるペンディングリフレッシュは、データ回収プロセス完了後に実行可能であり、固有リフレッシュサイクルを超過することはない。
【００９６】
データ回収プロセス中、外部アクセスがデータ回収を目標としたメモリバンクにヒットしたら、回収プロセスは停止し、書込みアクセスは書込みバッファ310が処理する。書込みバッファ310及びミス読出しバッファ311にヒットする外部読出しアクセスは、更新された読出しバッファキャッシュタグを用いて、データを書込みバッファ310からメモリ装置300のデータ出力バスへ読み出させ、同時にデータを読出しバッファ311に書き込ませる。書込みバッファ310、読出しバッファ311、及びメモリブロック1000-1127の間のデータコヒーレンスは、読出しバッファ311にヒットする書込みアクセス用の読出しバッファ311の更新によって確保される。
【００９７】
ここからは、メモリシステム300の種々の構成要素について、その構造及び動作を詳述する。
【００９８】
メモリ制御ユニット３０８
図６は本発明の一実施例によるメモリ制御ユニット３０８のブロック線図である。メモリ制御ユニット３０８には、リード-ライト・データバッファ・コントローラ６０１、リード-ライト・キャッシュ・タグ・コントローラ６０２及びメモリ・リード-ライト・コントローラ６０３が含まれる。通常、リード-ライト・データバッファ・コントローラ６０１は、書込みバッファ３１０及び読出しバッファ３１１に対する書込み及び読出しアクセスの活動化を担う。リード-ライト・キャッシュ・タグ・コントローラ６０２は、書込みバッファ３１０及び読出しバッファ３１１に関連するキャッシュ・タグ・エントリの制御を担う。メモリ・リード-ライト・コントローラ６０３は、メモリブロック１０００−１１２７に対する読出し及び書込みアクセスの活動化を担う。また、メモリ・リード-ライト・コントローラ６０３は、メモリポート３１２−３１３及びメモリブロック１０００−１１２７の間のデータ転送を管理する。
【００９９】
メモリ制御ユニット３０８は、以下の外部信号、即ちグローバル・リセット信号RST、外部の書込みイネーブル信号Wen、外部の読出しイネーブル信号Ren、外部のバンク・アドレス信号EBA[6:0]、及び外部のロウ−カラム・アドレス信号ERC[6:0]に応答して機能する。書込みバッファ３１０及び読出しバッファ３１１がDRAMセルを用いて構成される場合、メモリ制御ユニット３０８は読出しバッファリフレッシュ保留信号REFP[r]及び書込みバッファリフレッシュ保留信号REFP[w]（図６の破線で示す）を受け取る。
【０１００】
図６には、リード-ライト・データバッファ・コントローラ６０１、リード-ライト・キャッシュ・タグ・コントローラ６０２及びメモリ・リード-ライト・コントローラ６０３によって生成される種々の制御信号を示す（これらの制御信号の詳細については後述する）。
【０１０１】
リード-ライト・キャッシュ・タグ・コントローラ６０２
図７は、本発明の一実施例によるリード-ライト・タグ・コントローラ６０２の回路図である。リード-ライト・キャッシュ・タグ・コントローラ６０２には、ANDゲート７０１−７０５、ORゲート７１１−７１３、D−レジスタ７２１−７２２、マルチプレクサ７２３、読出しバッファ・キャッシュ・タグ・メモリ７３１、書込みバッファ・キャッシュ・タグ・メモリ７３２、比較器７４１−７４２及び128-to-1マルチプレクサ７５１−７５２が含まれる。読出しバッファ・キャッシュ・タグ・メモリ７３１には、１２８ビットの読出し有効メモリ７６１及び７ビットの読出しバンク・アドレス・メモリ７６２が含まれる。同様に、書込みバッファ・キャッシュ・タグ・メモリ７３２には、１２８ビットの書込み有効メモリ７７１及び７ビットの書込みバンク・アドレス・メモリ７７２が含まれる。
【０１０２】
読出し有効メモリ７６１は、読出しバッファ３１１の１２８のエントリに対応する１２８の読出し有効ビットをストアする。読出しバンク・アドレス・メモリ７６２は、読出しバッファ３１１のエントリ又は有効エントリに関連するバンク・アドレスをストアする。同様に、書込み有効メモリ７７１は、書込みバッファ３１０の１２８のエントリに対応する１２８の書込み有効ビットをストアする。書込みバンク・アドレス・メモリ７７２は、書込みバッファ３１０のエントリ又は有効エントリに関連するバンク・アドレスをストアする。
【０１０３】
外部の読出し及び書込みイネーブル信号Ren及びWenは、CLK信号の立上りエッジに於いてD−レジスタ７２１及び７２２によってラッチされる。それに応じて、D−レジスタ７２１及び７２２は、内部読出しイネーブル信号Ren及び内部書込みイネーブル信号Wenをそれぞれ与える。
【０１０４】
通常、リード-ライト・キャッシュ・タグ・コントローラ６０２は、書込み及び読出しバッファ３１０−３１１や、メモリバンク１０００−１１２７の動作を制御するために、書込みバッファ・ヒット信号（WBHit）及び読出しバッファ・ヒット信号（RBHit）を発生する。
【０１０５】
RBHit信号は、以下のように生成される。比較器７４１が、読出しバンク・アドレス・メモリ７６２にストアされた読出しキャッシュ・バンク・アドレスと外部のバンク・アドレスEBA[6:0]とを比較する。一致する場合には、比較器７４１は論理ハイのRBBHit信号をANDゲート７０４に与える。
【０１０６】
読出し有効メモリ７６１の内容が１２８ビットの信号RBV[127:0]として128-to-1マルチプレクサ７５１に与えられる。外部ロウ−カラム・アドレスERC[6:0]が制御マルチプレクサ７５１に与えられる。それに応じて、マルチプレクサ７５１は、外部のアドレスによって指定されたエントリに関連する読出し有効ビットをパスさせる。選択された有効ビットは、読出しバッファ有効信号（RBValid）としてマルチプレクサ７５１を介して経路指定される。論理ハイ値を有するRBValid信号によって、読出しバッファ３１１にストアされる対応するワードが有効であることが示される。RBBHit及びRBValid信号は、ANDゲート７０４によって「論理積をとられ」、それによって読出しバッファ・ヒット信号RBHitが生成される。論理ハイのRBHit信号は、読出しバッファ・ヒットの出現を示す。逆に、論理ローのRBHit信号は、読出しバッファミスを示す。
【０１０７】
また、外部ロウ−カラム・アドレスERC[6:0]が、読出しバッファ・キャッシュ・タグ・メモリ７３１に於けるデコーダ（図示せず）に対して与えられる。それに応じて、デコーダは、読出しバッファのアップデートの際のセット若しくはリセットのために、読出し有効メモリ７６１に於ける１２８ビットの中の対応する１つを選択する。読出しバッファのアップデートは、論理ハイの読出しバッファアップデート信号（RBVupdate）によって可能となる。読出しバッファ書込みイネーブル信号（RBwr）が、ハイにアサートされる場合、RBVupdate信号がハイにアサートされる。この論理機能は、ORゲート７１２によって具現化される。読出しバッファ書込みイネーブル信号RBwrの発生の詳細については、リード-ライト・データバッファコントロール６０１に関して後述する。
【０１０８】
読出しバッファ３１１がDRAMセルを用いて構成された場合には、WEN信号、RBHit信号及び読出しバッファリフレッシュ保留信号REFP[r]がハイにアサートされる時に、RBVupdate信号がハイにアサートされる。この論理機能は、オプション的なANDゲート７０２及びORゲート７１２によって具現化される。ANDゲート７０２は、このゲートが、読出しバッファ３１１がDRAMセルを用いて構成された場合にのみ使用されることを示すために、破線で示されている。
【０１０９】
読出し有効メモリ７６１に於ける全ての有効ビットは、論理ハイの読出しバッファリセット信号（RBVrst）に応じて、論理ロー値に対してリセットされる。外部リセット信号（Rst）がハイにアサートされる場合、或いは読出しアクセスが読出しバッファ３１１をヒットしない場合（即ち、RBBHit信号がローであり、RBwr信号がハイである）、RBVrst信号がハイにアサートされる。これらの機能は、ANDゲート７０１及びORゲート７１１によって具現化される。読出しバンク・アドレス・メモリ７６２は、RBwr信号がハイにアサートされる場合に、外部のバンク・アドレスEBA[6:0]でアップデートされる。
【０１１０】
WBHit信号は、RBHit信号と同様の方法で生成される。従って、比較器７４２は、書込みバンク・アドレス・メモリ７７２にストアされた書込みキャッシュ・バンク・アドレスと外部のバンク・アドレスEBA[6:0]を比較する。一致した場合には、比較器７４２は、論理ハイのWBBHit信号をANDゲート７０５に与える。
【０１１１】
書込み有効メモリ７７１の内容は、１２８ビットの信号WBV[127:0]として128-to-1マルチプレクサ７５２に対して与えられる。外部ロウ−カラム・アドレスERC[6:0]は、制御マルチプレクサ７５２に対して与えられる。それに応じて、マルチプレクサ７５２は、外部のアドレスによって指定されたエントリに関連する書込み有効ビットを生じさせる。選択された有効ビットは、書込みバッファ有効シグナル（WBValid）としてマルチプレクサ７５２によって経路指定される。論理ハイ値を有するWBValid信号によって、書込みバッファ３１０にストアされる対応するワードが有効であることが示される。WBBHit及びWBValid信号は、ANDゲート７０５によって「論理積をとられ」、従って書込みバッファ・ヒット信号WBHitを生じさせる。論理ハイのWBHit信号は、書込みバッファ・ヒットの出現を示す。逆に、論理ローのWBHit信号は、書込みバッファミスを示す。
【０１１２】
書込みバンク・アドレス・メモリ７７２の内容は書込みバッファバンク・アドレスWBBA[6:0]として与えられ、書込み有効メモリ７７１の内容は書込み有効ビットWBV[127:0]として与えられることに注意されたい。
【０１１３】
マルチプレクサ７２３は、外部行−アドレス信号ERC[6:0]及びバッファ回収エントリアドレスWBCA[6:0]を受け取るために接続される。書込みバッファ回収エントリアドレスWBCA[6:0]の詳細については、リード-ライト・データバッファ・コントローラ６０１に関連して後述する。マルチプレクサ７２３は、書込みバッファ回収イネーブル信号WBretによって制御される。WBret信号が論理ハイ値を有する場合（書込みバッファ３１０の内容が回収されていることを示す）、マルチプレクサ７２３は、書込みバッファ回収エントリアドレスWBCA[6:0]を選択する。WBret信号が論理ロー値を有する場合、マルチプレクサ７２３は外部ロウ−カラム・アドレスERC[6:0]を選択する。マルチプレクサ７２３の出力端子は、書込みバッファ・キャッシュ・タグ・メモリ７３２に於けるデコーダ（図示せず）に接続される。それに応じて、このデコーダは、書込みバッファのアップデートの際のセット若しくはリセットのために、書込み有効メモリ７７１にストアされるWBV[127:0]ビットの対応する１つを選択する。
【０１１４】
書込みバッファのアップデートは、論理ハイの書込みバッファアップデート信号（WBVupdate）によって可能となる。WBVupdate信号は、書込みバッファ書込みイネーブル信号（WBwr）がハイにアサートされた場合に、ハイにアサートされる。WBwr信号の発生の詳細については、リード-ライト・データバッファ・コントローラ６０１に関連して後述する。また、書込みバッファ読出しイネーブル信号（WBrd）がハイにアサートされ、書込みバッファ回収イネーブル信号WBretがハイにアサートされる（即ち書込みバッファ３１０に於けるデータが回収される）場合、WBVupdate信号がハイにアサートされる。WRrd及びWBret信号の発生の詳細については、リード-ライト・データバッファ・コントローラ６０１に関連して後述する。これらの論理機能は、ANDゲート７０３及びORゲート７１３によって具現化される。
【０１１５】
書込み有効メモリ７７１にストアされる全ての書込み有効ビットは、外部リセット信号（Rst）がハイにアサートされる場合に、論理ロー値に対してリセットされる。WBwr信号がハイにアサートされる場合に、書込みバンク・アドレス・メモリ７７２は、外部のバンク・アドレスEBA[6:0]でアップデートされる。
【０１１６】
読出しバッファ・キャッシュ・タグ・メモリ７３１及び書込みバッファ・キャッシュ・タグ・メモリ７３２は、D−レジスタを用いて構成される。これらのレジスタの出力は、CLK信号の立上りエッジの後で有効である。このことは、アップデートされた値が同じクロックサイクルに於いて生じる動作に影響を与えないことを保証する。
【０１１７】
リード-ライト・データバッファ・コントローラ６０１
図８は、本発明の一実施例によるリード-ライト・データバッファ・コントローラ６０１の回路図である。リード-ライト・データバッファ・コントローラ６０１には、インバータ８０１−８０２、ANDゲート８１１−８１９、ORゲート８２１−８２４、７ビットカウンタ８３１、マルチプレクサ８３２及びR-Sレジスタ８３３が含まれる。一般に、リード-ライト・データバッファ・コントローラ６０１は、書込み及び読出しバッファ３１０−３１１に対する読出し及び書込みアクセスを活動化する。リード-ライト・データバッファ・コントローラ６０１は、リード-ライト・キャッシュ・タグ・コントローラ６０２によって生成されるWBBHit、WBHit、RBHit、WBV[127:0]、WEN及びREN信号や、外部リセット信号RSTを受け取る。書込みバッファ３１０及び読出しバッファ３１１はDRAMセルを用いて構成される場合、リード-ライト・データバッファ・コントローラ６０１は、書込みバッファリフレッシュ信号REFP[w]及び読出しバッファリフレッシュ信号REFP[r]（図８に於いて破線で示す）を受け取るために接続される。これらの入力信号及び前述のアルゴリズムを用いて、リード-ライト・データバッファ・コントローラ６０１は、読出しバッファ読出しイネーブル信号RBrd、読出しバッファ書込みイネーブル信号RBwr、書込みバッファ読出しイネーブル信号WBrd及び書込みバッファ書込みイネーブル信号WBwrを発生させる。
【０１１８】
読出しアクセスが読出しバッファ３１１をヒットし（また読出しバッファ３１１に対する保留リフレッシュが存在しない）た場合、読出しバッファ読出しイネーブル信号RBrdはハイにアサートされる。つまり、RBhit及びREN信号が共にハイである場合（また存在する場合には、REFP[r]信号がローである）、RBrd信号はハイにアサートされる。この機能は、ANDゲート８１２によって具現化される。書込みアクセスが読出しバッファ３１１をヒットした場合、或いは読出しアクセスが読出しバッファ３１１をミスした場合には、読出しバッファ書込みイネーブル信号RBwrはハイにアサートされる。つまり、RBHit信号がローであり且つREN信号がハイである場合、或いはRBHitがハイであり且つWEN信号がハイである場合には、RBwr信号がハイにアサートされる。この機能は、ANDゲート８１３−８１４及びORゲート８２１によって具現化される。REFP[r]信号が存在する場合には、この信号はアサートされるRBwr信号に対して論理ロー値を有する必要がある（即ち、読出しバッファ３１１に対する保留リフレッシュが存在しない）ことに注意されたい。
【０１１９】
データが書込みバッファ３１０からメモリブロック１０００−１１２７へと回収される場合、書込みバッファ回収信号WBretはハイにアサートされる。書込みバッファ３１０がシャドウする(shadowing)バンクとは異なるバンクに対して書込みアクセスが生じる場合、WBret信号はハイにアサートされる。この条件は、書込み有効メモリ７７１にストアされる有効ビットWBV[127:0]の１つがハイであり、WBBHit信号がローであり、更にWEN信号がハイである場合に示される。このロジックは、ORゲート８２２、ANDゲート８１８及びR-Sレジスタ８３３によって具現化される。
【０１２０】
データは、CLK信号の１２８サイクルの時間において書込みバッファ３１０から回収される。この時間に於いて、WBret信号は論理ハイの状態に留まる。７ビットカウンタ８３１が、書込みバッファ回収エントリアドレスWBCA[6:0]を発生させるに用いられる。また、書込みバッファ回収エントリアドレスWBCA[6:0]が、128-to-1マルチプレクサ８３２を制御するために与えられる。書込みバッファ回収エントリアドレスWBCA[6:0]に応じて、マルチプレクサ８３２は、WBCA[6:0]信号によって識別されるエントリに符号するWBV[127:0]信号から書込み有効ビットを経路指定する。論理ハイの書込み有効ビットは、論理ハイの有効ビット信号（VB）としてマルチプレクサ８３２を介して経路指定される。VB信号及びWBret信号が、ANDゲート８１９の入力端子に対して（存在する場合には、反転したREFP[w]信号と共に）与えられる。ANDゲート８１９の出力がORゲート８２４に与えられ、書込みバッファ読出し信号WBrdを生じさせる。VB及びWBret信号が論理ハイ値を有する（また、存在する場合には、REFP[w]信号が論理ローの信号を有し、書込みバッファ３１０に於いて保留リフレッシュが存在しないことを示す）場合、書込みバッファ読出しイネーブル信号WBrdはハイにアサートされる。書込みバッファ読出しイネーブル信号WBrdがハイである場合、書込みバッファ回収エントリアドレスWBCA[6:0]によって指定されたエントリからのデータは、書込みバッファ３１０から読み出され、書込みバッファ３１０によってシャドウされるメモリバンク（即ち、書込みバンク・アドレス・メモリ７７２にストアされる書込みバッファバンク・アドレスWBBA[6:0]によって識別されるメモリバンク）に書き込まれる。
【０１２１】
マルチプレクサ８３２によってパスされる有効ビットがセットされていない場合、書込みバッファ３１０に於ける関連するエントリが有効でないことを示し、VB信号は論理ロー値を有する。これらの条件の下で、WBrd信号はローとされ、このサイクルに於いてデータは書込みバッファ３１０から回収されない。
【０１２２】
７ビットカウンタ８３１は、書込みバッファ回収エントリアドレスWBCA[6:0]の全てのビットが論理値「１」となるまで全てのクロックサイクルを増分（インクリメント）する。この時点に於いて、カウンター８３１は、出力信号FULLを論理ハイの状態とする。論理ハイのFULL信号は、R-Sレジスタ８３３を（ORゲート８２３を介して）リセットする。結果として、WBret信号はローとされ、従ってデータ回収プロセスが終了する。
【０１２３】
WBBHit及びWEN信号が共にハイの場合、R-Sレジスタ８３３がリセットされ、書込みアクセスに於ける書込みバッファ・ヒットが示される。更に、R-Sレジスタ８３３は、外部リセット信号RSTがハイにアサートされる場合にリセットされる。これらの機能は、ANDゲート８１７及びORゲート８２３によって実行される。
【０１２４】
また、WBret信号は、７ビットカウンタ８３１の同期式リセット入力端子に繋がれる。ロー状態のWBret信号によって、カウンタ８３１はCLK信号の立上りエッジの後でリセットされる。カウンタ８３１がリセットされる場合、その全ての出力はローとされる。書込みバッファ３１０がDRAMセルを用いて具現化される場合には、リフレッシュが書込みバッファ３１０において保留される（即ち、REFP[w]信号がハイにアサートされる）ときに、７ビットカウンタ８３１はインクリメントを停止し、従って書込みバッファ３１０のリフレッシュが可能となる。
【０１２５】
書込みアクセスが書込みバッファ３１０をヒットして読出しバッファ３１１をヒットしない場合、WBrd信号はハイにアサートされる。この条件は、論理ハイのWBHit信号、論理ローのRBHit信号及び論理ハイのREN信号によって示される。この論理機能は、ANDゲート８１１及びORゲート８２４によって具現化される。
【０１２６】
書込みバッファ３１０及び読出しバッファ３１１がDRAMセルを用いて具現化される場合には、REFP[r]信号がハイであり、REN信号がハイであり、更にWBHit信号がハイであるときに、WBrd信号がハイにアサートされる。つまり、読出しアクセスが書込みバッファ３１０をヒットし、読出しバッファ３１１においてリフレッシュが保留中である場合に、データは書込みバッファ３１０から読み取られる。この論理機能は、ANDゲート８１１及び８１６によって具現化される。データをマルチプレクサ３０９（図５）を介して書込みバッファ３１０から読み出し可能とするために、REFP[r]信号が、出力マルチプレクサ３０９を制御するために与えられる。WBHit及びREFP[r]信号が共にハイである場合、出力マルチプレクサ３０９は、WBO[127:0]バスをデータ出力バスDo[127:0]に接続するように構成される。
【０１２７】
書込みバッファ３１０がデータの回収にビジーなでない（即ち、WBret信号がハイである）限りは、書込みバッファ３１０は全ての書込みアクセスを取扱う。書込みバッファ３１０がDRAMセルを用いて構成される場合には、リフレッシュが書込みバッファに於いて保留状態である（即ち、REFP[w]信号がハイである）とき、書込みバッファ３１０は、書込みアクセスを取扱わない。従って、WEN信号がハイであり、またWBret信号がローである（更に、存在する場合には、REFP[w]信号がローである）場合には、書込みバッファ書込みイネーブル信号WBwrはハイとなる。この論理機能は、ANDゲート８１５によって具現化される。
【０１２８】
メモリ・リード-ライト・コントローラ６０３
図９は、本発明の一実施例によるメモリ・リード-ライト・コントローラ６０３の回路図である。メモリ・リード-ライト・コントローラ６０３には、ANDゲート９０１−９０５及びORゲート９１１−９１２が含まれる。メモリ・リード-ライト・コントローラ６０３は、メモリブロック１０００−１１２７に対する読出し及び書込みアクセスの活動化を担う。また、メモリ・リード-ライト・コントローラ６０３は、書込み専用ポート３１２、読み書きポート３１３及びメモリブロック１０００−１１２７の間のデータの転送を管理する。これらの機能は、メモリ読出しイネーブル信号Mrd1並びにメモリ書込みイネーブル信号Mwr1及びMwr2の発生によって実行される。詳細については後述するが、メモリ読出しイネーブル信号Mrd1はリード-ライトポート３１３に対する読出し動作を許可し、メモリ書込みイネーブル信号Mwr1はリード-ライトポート３１３に対する書込み動作を許可し、更にメモリ書込みイネーブル信号Mwr2は、書込み専用ポート３１２に対する書込み動作を許可する。
【０１２９】
メモリ読出し動作は、読出しアクセスが書込みバッファ３１０及び読出しバッファ３１１を共にヒットしない場合に実行される。この条件は、RBhit信号がローであり、WBHit信号がローであり、更にREN信号がハイでる場合に示される。ANDゲート９０２及びORゲート９１１は、これらの条件下に於いて論理ハイのメモリ読出し可能信号Mrd1を発生させるために構成される。Mrd1信号がハイである場合、バンク・アドレスBA[n]によって指定されるメモリバンクは、リード-ライトポート３１３を介してメモリ読出しアクセスを実行する。
【０１３０】
読出しバッファ３１１がDRAMセルを用いて構成される場合には、読出しバッファ３１１に於いて保留中のリフレッシュが存在し、読出しアクセスが書込みバッファ３１０をヒットしないときに、読出しアクセスが生じた場合に、メモリ読出し動作が実行される。この条件は、REN信号及びREFP[r]信号がハイであり、WBHit信号がローである場合に示される。これらの条件下において、REFP[r]信号がANDゲート９０１に加えられ（破線で示す）、Mrd1信号を発生させる。更に、Mrd1信号がハイにアサートされる場合には、バンク・アドレスBA[n]によって指定されるメモリバンクは、リード-ライトポート３１３を介してメモリ読出しアクセスを実行する。
【０１３１】
データが書込みバッファ３１０からメモリバンク１０００−１１２７に回収される場合、メモリ書込み動作が書込み専用ポート３１２を介して実行される。この条件は、WBret及びVB信号が共に論理ハイ値を有する場合に示される。これらの条件下に於いて、ANDゲート９０３は論理ハイのMwr2信号を表示させるように構成される。Mwr2信号がハイである場合、データは、書込みバッファ３１０から書込みバッファバンク・アドレスWBBA[6:0]によって示されるメモリバンクへ回収される。
【０１３２】
書込みバッファ３１０がDRAMセルを用いて構成される場合には、書込みバッファ３１０に於いて保留リフレッシュが存在する（即ち、REFP[w]信号がハイである）ときに、Mwr2信号はハイにはアサートされない。この場合に於いて、REFP[w]信号がANDゲート９０３に加えられ（破線で示す）、Mwr2信号を発生させる。
【０１３３】
書込みバッファ３１０が外部書込みアクセスを取扱えない場合には、メモリ書込み動作はリード-ライトポート３１３によって実行される。この条件は、書込みバッファ回収の際に書込みアクセスが発生する場合に現れる。この条件は、WBret及びWEN信号が共に論理ハイの状態である場合に示される。ANDゲート９０４及びORゲート９１２は、これらの条件下に於いて、論理ハイのMwr1信号を発生させるように構成される。Mwr1信号がハイである場合、データは、バンク・アドレスBA[n]によって指定されるメモリバンクに対してリード-ライトポート３１３を介して書き込まれる。
【０１３４】
書込みバッファ３１０がDRAMセルを用いて構成される場合には、書込みバッファ３１０に於いてリフレッシュが保留中であるとき、書込みアクセスに応じてメモリ書込み動作がリード-ライトポート３１３を介して実行される。この条件は、論理ハイのWEN信号及び論理ハイのREFP[w]信号によって示される。この機能を具現化するために、ANDゲート９０５が付加される（破線で示す）。ANDゲート９０５及びORゲート９１２は、これらの条件下において、論理ハイのMwr1信号を発生させるように構成される。更に、Mwr1信号がハイである場合、データは、バンク・アドレスBA[n]によって指定されるメモリバンクに対してリード-ライトポート３１３を介して書き込まれる。
【０１３５】
メモリブロック１１００−１１２７の構成
図１０は、本発明の一実施例によるメモリブロック１０００のブロック線図である。この実施例に於いて、メモリブロック１００１−１１２７はメモリブロック１０００と同様のものである。メモリブロック１０００には、メモリセルの３２のロウ及び５１２のカラムを有するメモリアレイ２０００が含まれる。メモリアレイ２０００は、１つのトランジスタ及び１つのコンデンサを有する通常のDRAMセルからなる。メモリブロック１０００は、CLK信号の１サイクルに於いてRASサイクル又はメモリサイクルを完了する。従って、メモリブロック１０００は、１クロックサイクルに於ける１つのランダムなアクセス又はロウリフレッシュを処理することができる。メモリ動作に於いて、メモリブロック１０００−１１２７の内の１つは、ポート３１２−３１３の内の１つと通信可能であり、一方でメモリブロック１０００−１１２７の内の別の１つは、ポート３１２−３１３の別の１つと通信可能である。
【０１３６】
メモリブロック１０００には、ワード線ドライバ２００１及びセンスアンプ２００２のようなDRAMアレイに関連する従来型の全ての回路が含まれる。また、メモリブロック１０００には、ロウ・アドレス・デコーダ２００３、ロウ・アドレス・マルチプレクサ２００４、カラム・アドレス・デコーダ２００５、カラム・アドレス・マルチプレクサ２００６、メモリ・バンク・コントローラ２００７及び２つのセットのカラム・マルチプレクサ２０１１及び２０１２が含まれる。カラム・マルチプレクサ２０１１はセンスアンプ２００２とリード-ライトポート３１３とを接続し、カラム・マルチプレクサ２０１２はセンスアンプ２００２と書込み専用ポート３１２とを接続する。
【０１３７】
カラム・マルチプレクサ２０１１及び２０１２は、カラム・アドレス・デコーダ２００５によって制御される。カラム・アドレス・デコーダ２００５は、カラム・アドレス・マルチプレクサ２００６から受け取ったカラム・アドレスをデコードする。カラム・アドレス・マルチプレクサ２００６は、書込みバッファ回収の際に、書込みバッファ回収エントリアドレスWBCA[1:0]を選択する。カラム・アドレス・マルチプレクサ２００６は、書込みバッファ回収がない場合に、外部のロウ−カラム・アドレスERC[1:0]を選択する。カラム・アドレス・デコーダ２００５は、CAS1[n]及びCAS2[n]信号に応じて、多くともカラム・マルチプレクサ２０１１及び２０１２の内の１つを使用可能とする。詳細については後述するが、CAS1[n]及びCAS2[n]信号は、メモリ・バンク・コントローラ２００７によって生成される。
【０１３８】
ロウ・アドレス・デコーダ２００３は、ロウ・アドレス・マルチプレクサ２００４の出力によって指定されたワード線を活動化する。ロウ・アドレス・マルチプレクサ２００４は、Mwr2信号及びローカル・リフレッシュ信号REF[n]によって制御される。デフォルトモードに於いて、REF[n]及びMwr2信号が共にローである場合、ロウ・アドレス・マルチプレクサ２００４は、外部ロウ−カラム・アドレスERC[6:2]をロウ・アドレス・デコーダ２００３に送るように制御される。メモリブロック１０００が、書込みバッファ回収を処理しているときは、Mwr2信号はハイであり、ロウ・アドレス・マルチプレクサ２００４は、書込みバッファ回収エントリアドレスWBCA[6:2]をロウ・アドレス・デコーダ２００３に送るように制御される。メモリブロック１０００がリフレッシュ動作を処理しているときには、REF[n]信号はハイであり、ロウ・アドレス・マルチプレクサ２００４は、リフレッシュアドレスRFA[4:0]をロウ・アドレス・デコーダ２００３に送るように制御される。
【０１３９】
メモリセルアレイ２０００の動作（例えば、ワード線・イネーブル、センスアンプ・イネーブル、カラムスイッチ・イネーブル及びビット線プレチャージ・イネーブル）は、メモリ・バンク・コントローラ２００７によって生成されるローカル・信号RAS#[n]、SEN#[n]、CAS#[n]及びPRC#[n]によって制御される。これらの信号の機能は、同時係属出願である米国特許番号第09/076,608号に開示されている（ここで言及することにより本明細書の一部とする）。RAS#[n]信号の活動化は、ビット線等化を非活動化し、またロウ・アドレス・デコーダを活動化し、それによってロウ・アドレスによって選択されたワード線の活動化がもたらされる。SEN#[n]信号の活動化は、メモリバンクに於けるセンスアンプの活動化をもたらす。CAS1[n]信号の活動化によって、センスアンプ２００２は、カラムマルチプレクサ２０１１及びデータバス２０２１を介してリード-ライトポート３１３に接続され、それによってデータ信号RWDL[127:0]及び相補的なデータ信号RWDL#[127:0]は双方向性の態様で伝送される。データバス２０２１は、同様の方法でメモリブロック１００１−１１２７に並列に接続される。
【０１４０】
同様に、CAS2[n]信号の活動化によって、センスアンプ２００２は、カラム・マルチプレクサ２０１２及びデータバス２０２２を介して書込み専用ポート３１２に接続され、それによってデータ信号WDL[127:0]及び相補的データ信号WDL#[127:0]は一方向性の態様で伝送される。データバス２０２２は、同様の方法でメモリブロック１００１−１１２７に並列に接続される。
【０１４１】
PRC#[n]信号の活動化によって、マルチプレクサ２０１１及び２０１２がターンオフされ活動化されたワード線がターンオフされ、センスアンプ２００２が非活動化され、更にビット線等化回路（図示せず）が活動化される。
【０１４２】
メモリ・バンク・コントローラ２００７
図１１は、本発明の一実施例によるメモリ・バンク・コントローラ２００７の回路図である。メモリ・バンク・コントローラ２００７にはインバータ２１０１、ORゲート２１０２−２１０３、ANDゲート２１１１−２１１６、NANDゲート２１１７、D-レジスタ２１２１、R-Sレジスタ２１２２及びNORゲート２１３１−２１３６が含まれる。
【０１４３】
前述のように、入力リフレッシュ要求信号REQI[n]は、CLK信号の立上りエッジに応じてD-レジスタ２１２１にラッチされる。D-レジスタ２１２１は、出力リフレッシュ要求信号REQO[n]をデイジーチェーンの状態で隣接するメモリブロックに対して与える。
【０１４４】
また、入力リフレッシュ要求信号REQI[n]は、R-Sレジスタ２１２２のセット端子に対して与えられる。入力要求信号REQI[n]が論理ハイ値を有する場合には、メモリブロック１０００に於いてリフレッシュが実行されるべきであることを示し、CLK信号の立上りエッジは、論理ハイ値をR-Sレジスタ２１２２にラッチし得る。この論理ハイ値は、ローカル・リフレッシュ保留信号REFP[n]としてR-Sレジスタ２１２２の出力端子に与えられる。REFP[n]信号は、保留リフレッシュが実行されたことを示す論理ハイのローカル・リフレッシュ信号REF[n]によってリセットされるまではハイのままである。
【０１４５】
ローカルRAS#[n]、SEN#[n]及びPRC#[n]信号は、グローバル・タイミング制御信号RAS#、SEN#及びPRC#によってそれぞれトリガされる。同様に、ローカル・CAS1[n]及びCAS2[n]信号は、グローバル・タイミング制御信号CAS#によってトリガされる。グローバル・タイミング制御信号RAS#、CAS#、SEN#及びPRC#は、図５に於けるタイミングシーケンサ３０３によって生成される。タイミングシーケンサ３０３は、米国特許第09/076,608号に開示のタイミングシーケンサに類似のものであり、従って固定位相関係を有するグローバル・タイミング制御信号を発生させる。メモリシーケンサ３０３はCLK信号の全てのサイクルで活動化される。結果としてグローバル・タイミング信号RAS#、CAS#、SEN#及びPRC#は、全てのクロックサイクルで生成される。
【０１４６】
RAS#[n]、SEN#[n]及びPRC#[n]信号のイネーブルは、ローカル・アクセスイネーブル信号ACC#[n]及びローカル・リフレッシュイネーブル信号REF[n]によって制御される。ACC#[n]信号は、任意のメモリ・リード-ライト・イネーブル信号Mrd1、Mwr1及びMwr2がハイで且つバンク活動化信号BA[n]がハイである場合にローとなる。この論理機能は、ORゲート２１０２及びNANDゲート２１１７によって具現化される。前述のように、論理ハイのMrd1信号は、リード-ライトポート３１３に於いて実行されるメモリ読み出し動作を示す。論理ハイのMwr1信号は、リード-ライトポート３１３に於いて実行されるメモリ書込み動作を示す。同様に、論理ハイのMwr2信号は、書込み専用ポート３１２に於いて実行されるメモリ書込み動作を示す。BA[n]信号は、メモリブロック[n]が外部アクセスに対して指定され、或いはデータ回収に対して標的とされる場合にハイにとなる。
【０１４７】
ローカル・リフレッシュイネーブル信号REF[n]は、保留リフレッシュが存在し（即ち、リフレッシュ保留信号REFP[n]がハイであり）且つメモリブロックに対する保留アクセス要求が存在しない（即ち、ACC#[n]信号がハイである）場合にハイとなる。この論理機能は、ANDゲート２１１３によって具現化される。REF[n]信号のハイ状態は、CLK信号の次の立上りエッジに於いてR-Sフリップフロップ２１２２の出力をリセットし、従ってリフレッシュ動作が実行された後に保留リフレッシュをキャンセルする。
【０１４８】
メモリブロック１０００がリード-ライトポート３１３にアクセスする際に、CAS1[n]信号がイネーブルされる。特に、CAS#信号がローにアサートされ、Mrd1若しくはMwr1信号の何れか１つがハイとなり且つバンクアクセス信号BA[n]がハイとなる場合に、CAS1[n]信号がイネーブルされる。この論理機能は、インバータ２１０１、ORゲート２１０３及びANDゲート２１１２によって具現化される。
【０１４９】
メモリブロック１０００が書込み専用ポート３１２を介してアクセスされる場合、CAS2[n]信号がイネーブルされる。特に、CAS#信号がローにアサートされ、Mwr2信号がハイとなり、またバンクアクセス信号BA[n]がハイとなる場合に、CAS2[n]信号がイネーブルされる。この論理機能は、インバータ２１０１及びANDゲート２１１１によって具現化される。
【０１５０】
グローバル・RAS#[n]信号がローにアサートされ、リフレッシュ動作が保留され（即ち、リフレッシュ信号REFP[n]がハイにアサートされ）、更にメモリブロック１０００に対する読み出し若しくは書込みアクセスが存在しない（即ち、ACC#[n]信号がハイにはアサートされない）場合には、ローカル・RAS#[n]信号はローにアサートされる。この論理機能は、ANDゲート２１１３−２１１４によって具現化される。
【０１５１】
グローバル・RAS#[n]信号がローにアサートされ且つローカル・アクセスが保留される（即ち、ACC#[n]信号がローにアサートされる）場合には、ローカル・RAS#[n]信号はローにアサートされる。この論理機能は、NORゲート２１３１−２１３２によって具現化される。
【０１５２】
ローカル・RAS#信号と同様に、グローバル・SEN#信号、リフレッシュ保留信号REFP[n]及びローカル・アクセス信号ACC#[n]に応じて、ローカル・SEN#[n]信号はローにアサートされる。ローカル・SEN#[n]信号は、ANDゲート２１１５及びNORゲート２１１３−２１３４によって生成される。
【０１５３】
ローカル・RAS#信号と同様に、グローバル・PRC#信号、ローカル・リフレッシュ保留信号REFP[n]及びローカル・アクセス信号ACC#[n]に応じて、ローカル・PRC#[n]信号がローにアサートされる。ローカル・PRC#[n]信号は、ANDゲート２１１６及びNORゲート２１３５−２１３６によって生成される。
【０１５４】
書き込みバッファ３１０の構成
図１２は、書き込みバッファ３１０のブロック線図である。書き込みバッファ３１０はメモリブロック１０００（図１０）と類似のものであるので、図１０及び図１２に於ける類似要素には同様の参照符号が付されている。従って、書き込みバッファ３１０には、カラム・マルチプレクサ、１２０１、メモリアレイ２０００、ワード線ドライバ２００１、センスアンプ２００２及びロウ・アドレス・デコーダ２００３が含まれる。また、書き込みバッファ３１０には、カラム・マルチプレクサ１２０１、バスドライバ回路１２０２、カラム・アドレス・デコーダ１２０３、ロウ・アドレス・マルチプレクサ１２０４及び書き込みバッファコントローラ１２０５が含まれる。書き込みバッファコントローラ１２０５には、D-レジスタ１２１１、R-Sレジスタ１２１２、NORゲート１２１３−１２１４、ANDゲート１２１５−１２１６及びORゲート１２１７−１２１９が含まれる。
【０１５５】
カラム・マルチプレクサ１２０１は、カラム・アドレス・デコーダ１２０３によって制御される。ローカル・カラムアクセス信号CAS[w]がハイにアサートされる場合に、カラム・アドレス・デコーダ１２０３は外部カラム・アドレスERC[1:0]をデコードする。詳細については後述するが、CAS[w]信号は書き込みバッファコントローラ１２０５によって生成される。
【０１５６】
ロウ・アドレス・デコーダ２００３は、外部ロウ・アドレスERC[6:2]によって指定されるワード線を活動化する。書き込みバッファ３１０がDRAMセルを用いて構成される場合には、ロウ・アドレス・デコーダは、リフレッシュアドレスRFA[4:0]によって指定されるワード線を活動化するように制御され得る。従って、書き込みバッファ３１０がリフレッシュされる際に、ロウ・アドレス・マルチプレクサ１２０４は、ロウ・アドレス・デコーダ２００３に対してリフレッシュアドレスRFA[4:0]を送るように制御される。それ以外の場合には、ロウ・アドレス・マルチプレクサ１２０４は、ロウ・アドレス・デコーダ２００３に対して外部ロウ・アドレスERC[6:2]を送るように制御される。
【０１５７】
書き込みバッファ３１０の動作（例えば、ワード線イネーブル、センスアンプイネーブル、カラムスイッチイネーブル及びビット線プレチャージイネーブル）は、書き込みバッファコントローラ１２０５によって生成されたローカル・信号RAS#[w]、SEN#[w]、CAS[w]及びPRC#[w]によって制御される。これらのローカル・信号は、ローカル・信号RAS#[n]、SEN#[n]、CAS#[n]及びPRC#[n]と同様に機能する。記号[w]は、信号が書き込みバッファ３１０に関連することを示す。
【０１５８】
バスドライバ回路１２０２は、書き込みバッファ読み出しイネーブル信号（WBrd）及び書き込みバッファ書き込みイネーブル信号（WBwr）に応じて動作し、カラムマルチプレクサ１２０１をデータ入力バスDi[127:0]若しくは書き込みバッファ出力バスWBo[127:0]の何れかと接続する。書き込みバッファ読み出しイネーブル信号（WBrd）がアサートされる場合、書き込みバッファ３１０に対する読み出しアクセスが実行される。書き込みバッファ３１０に対する読み出しアクセスの際に、カラムマルチプレクサ１２０１は書き込みバッファ出力バスWBo[127:0]に接続される。書き込みバッファ書き込みイネーブル信号（WBwr）がアサートされる場合、書き込みバッファ３１０に対する書き込みアクセスが実行される。書き込みバッファ３１０に対する書き込みアクセスの際に、カラムマルチプレクサ１２０１はデータ入力バスDi[127:0]に接続される。
【０１５９】
書き込みバッファコントローラ１２０５は次のように動作する。WBrd及びWBwr信号がハイにアサートされる場合、NORゲート１２１３は、論理ローのアクセスイネーブル信号Acc#[w]をアサートする。Acc#[w]信号がローにアサートされる場合、論理ローのグローバル・CAS#信号によって、NORゲート１２１４は論理ハイのCAS[w]信号をアサートする。また、Acc#[w]信号がローにアサートされる場合、ANDゲート１２１６はORゲート１２１７−１２１９に対して論理ローの信号を与え、それによってグローバル・RAS#、SEN#及びPRC#信号はローカル・RAS#[w]、SEN#[w]、及びPRC#[w]信号としてそれぞれ経路指定される。結果として、書き込みバッファ３１０に於いて書き込み動作が実行される。
【０１６０】
WBrd及びWBwr信号が共にハイにアサートされない場合、Acc#[w]信号はハイにアサートされず、それによって書き込みバッファ３１０がアクセスされていないことが示される。これらの条件下に於いて、RAS#[w]、CAS[w]、SEN#[w]及びPRC#[w]信号はアサートされず、それによって書き込みバッファ３１０へのアクセスが不能とされる。
【０１６１】
書き込みバッファ３１０がDRAMセルを用いて構成される場合、D-レジスタ１２１１及びR-Sレジスタ１２１２は、書き込みバッファリフレッシュ動作をイネーブルにするように準備される。これらの要素は、書き込みバッファリフレッシュ動作が必要とされる場合にのみ必要とされるので、図に於いて破線で示す。D-レジスタ１２１１は、メモリブロック１１２７からの入力リフレッシュ要求信号REQI[w]を受け取るように接続される。CLK信号の立上りエッジは、この入力リフレッシュ信号をラッチし、それによって出力リフレッシュ要求信号REQO[w] を（読み出しバッファ３１１に対して）与える。
【０１６２】
また、入力リフレッシュ要求信号REQI[w]が、R-Sレジスタ１２１２のセット入力端子に対して与えられる。REQI[w]信号が、CLK信号の立上りエッジに於いてハイにされる場合、R-Sレジスタ１２１２がセットされ、それによって論理ハイの書き込みバッファリフレッシュ保留信号REFP[w]が与えられる。論理ハイのREFP[w]信号は、リフレッシュ保留が書き込みバッファ３１０に存在することを示す。REFP[w]信号は、保留リフレッシュが実行されたことを示す論理ハイのローカル・リフレッシュ信号REF[w]によってリセットされるまで、ハイの状態のままである。
【０１６３】
REFP[w]信号がハイにアサートされる場合、保留リフレッシュ動作が書き込みバッファ３１０に於いて実行され得る。Acc#[w]信号がハイにアサートされず且つREFP[w]信号がハイにアサートされる場合、ANDゲート１２１６は論理ハイのREF[w]信号を与える。それに応じて、ANDゲート１２１６はORゲート１２１７−１２１９に対して論理ローの信号を与え、それによってグローバル・RAS#、SEN#及びPRC#信号はローカル・RAS#[w]、SEN#[w]、及びPRC#[w]信号としてそれぞれ経路指定される。論理ハイのAcc#[w]信号は、CAS[w]信号がハイにアサートされることを妨げる。結果として、書き込みバッファ３１０に於いてリフレッシュ動作が実行される。論理ハイのREF[w]信号によって、CLK信号の次の立上りエッジに於いてR-Sレジスタ１２１２がリセットされることに注意されたい。
【０１６４】
Acc#[w]信号がハイにアサートされず、また保留リフレッシュが存在しない（即ち、REFP[w]信号がローである）場合、ANDゲート１２１６はORゲート１２１７−１２１９に対して論理ハイの信号を与え得る。これらの条件の下で、ローカル・RAS#[w]、SEN#[w]、及びPRC#[w]信号は全てハイにアサートされず、またCAS[w]信号はローにアサートされず、それによって書き込みバッファ３１０に対するアクセスが阻止される。
【０１６５】
読み出しバッファ３１１の構成
図１３は、読出しバッファ３１１のブロック線図である。読出しバッファ３１１は書込みバッファ３１０（図１２）と類似のものであるので、図１２及び図１３に於ける類似要素には同様の参照符号が付されている。従って、読出しバッファ３１０には、メモリアレイ２０００、ワード線ドライバ２００１、センスアンプ２００２、ロウ・アドレス・デコーダ２００３、並びにカラム・マルチプレクサ１２０１、バスドライバ回路１２０２、カラム・アドレス・デコーダ１２０３、ロウ・アドレス・マルチプレクサ１２０４及び読出しバッファコントローラ１３０５が含まれる。読出しバッファコントローラ１３０５には、D-レジスタ１２１１、R-Sレジスタ１２１２、NORゲート１２１３−１２１４、ANDゲート１２１５−１２１６及びORゲート１２１７−１２１９が含まれる。
【０１６６】
読み出しバッファ３１１は、読み出しバッファ３１１に対する信号特性を除けば、書き込みバッファ３１０と同様に動作する。従って、読み出しバッファ３１１のバスドライバ１２０２は、読み出しバッファ読み出しイネーブル信号RBrd及び読み出しバッファ書き込みイネーブル信号RBwrに応じて動作する。同様に、読み出しバッファ３１１のバスドライバ１２０２は、読み出しバッファ入力バスRBI[127:0]及び読み出しバッファ出力バスRBO[127:0]に接続される。更に、読み出しバッファ３１１のD-レジスタ１２１１は、REQO[w]信号を入力リフレッシュ要求信号REQI[r]として受け取るように接続される。記号「[r]」は、読み出しバッファに関連する種々の信号を識別するものである。
【０１６７】
読み出しアクセスタイミング
図１４は、３つの異なるメモリ読み出しアクセスの際の制御信号のタイミングの波形を示す図である。外部のアドレスAaを有する第１の読み出しアクセスは、保留リフレッシュが存在しない時の読み出しバッファミス及び書き込みバッファミスの場合を示す。外部のアドレスAbを有する第２の読み出しアクセスは、読み出しバッファ・ヒットの場合を示す。外部のアドレスAcを有する第３の読み出しアクセスは、読み出しバッファミス及び書き込みバッファ・ヒットの場合を示す。
【０１６８】
第１の読み出しアクセスに於いて、外部読み出しイネーブル信号Renはハイにアサートされる。Ren信号の論理ハイの状態が検出され、クロックサイクルT1の立上りエッジに於いてD-レジスタ７２１（図７）にラッチされる。外部アクセスアドレスAa[13:0]は、クロックサイクルT1の立上りエッジに於いてアドレスレジスタ３０４（図５）にラッチされる。バンク・アドレスAa[13:7]（即ち、EBA[6:0]）は、バンク・アドレスデコーダ３０５（図５）や、リード-ライト・タグ・コントローラ６０２に於ける読み出し及び書き込みバッファタグレジスタ７６２及び７７２並びにコンパレータ７４１−７４２（図７）に対してゲート送信(gate)される。
【０１６９】
バンク・アドレスデコーダ３０５は、対応する外部のバンク選択信号EBS[a]（ここで「a」はアドレスAaに対応する）をハイとすることによって、バンクアクセス信号BA[a]を活動化する。リード-ライト・タグ・コントローラ６０２に於いて、コンパレータ７４１は、バンク・アドレスAa[13:7]と読み出しキャッシュメモリ７６２にストアされる読み出しバッファタグとを比較する。ヒットが存在しないので、コンパレータ７４１は論理ローのRBBHit信号を与え、結果として論理ローのRBHit信号に帰着する。同様に、コンパレータ７４２は、バンク・アドレスAa[13:7]と書き込みキャッシュメモリ７７２にストアされる書き込みバッファタグとを比較する。ヒットが存在しないので、コンパレータ７４２は論理ローのWBBHit信号を与える。
【０１７０】
読み出しバッファ書き込みイネーブル信号RBwrは、ロー状態のRBHit信号及びハイ状態のREN信号に応じてハイにアサートされる（図８のインバータ８０１、ANDゲート８１３及びORゲート８２１参照）。メモリ読み出しイネーブル信号Mrd1は、RBHit及びRENに応じてハイにアサートされる（ANDゲート９０１−９０２及びORゲート９１１参照）。
【０１７１】
CLK信号の立上りエッジに応じて、メモリシーケンサ３０３は、グローバル・メモリタイミング信号RAS#、SEN#、CAS#及びPRC#を生成する。アドレス指定されたメモリブロック[a]に於いて、論理ハイのBA[a]及びMrd1信号によって、ローカル・アクセスイネーブル信号ACC#[a]はローにアサートされる（図１１のORゲート２１０２及びNANDゲート２１１７を参照）。ロー状態のACC#[a]信号によって、ローカル・リフレッシュ信号REF[a]は論理ロー値を有する（図１１のANDゲート２１１３を参照）。論理ローのACC#[a]及びREF[a]信号によって、メモリバンクタイミング制御信号RAS#[a]、SEN#[a]、CAS1[a]及びPRC#[a]は、対応するグローバル・信号RAS#、SEN#、CAS#及びPRC#によって活動化され得る。
【０１７２】
RAS#[a]信号の活動化によって、ロウ・アドレス・デコーダ２００３（図１０）が活動化され、続いてロウ・アドレスAa[6:2]（即ち、ERC[6:2]）によって指定されるワード線が活動化され、それによってメモリアレイの指定された行にストアされるデータはビット線にロードされる。SEN#[a]信号の活動化によって、データはセンスアンプ２０２に於けるビット線にラッチされる。CAS1[a]信号の活動化によってカラム・アドレス・デコーダ２００５が使用可能となり、その出力によって、リード-ライトポート３１３の出力に対してAa[1:0]（即ち、ERC[1:0]）に於けるカラム・アドレスによって指定される１２８ビットワードが選択される。そのデータDaは、リード-ライトポート３１３から読み出しバッファ３１０へ、また出力マルチプレクサ３０９を経由してデータ出力バスDo[127:0]へ送られる。
【０１７３】
第１の読み出しアクセスが、書き込みバッファ３１０及び読み出しバッファ３１１を共にヒットしないので、WBHit信号及びRBHit信号は共にローである。それに応じて、出力マルチプレクサ３１４は、リード-ライトポート出力バスRWPO[127:0]におけるデータを読み出しバッファ３１１に対して送る。読み出しバッファ３１１に於いて、ハイ状態の読み出しバッファ書き込みイネーブル信号RBwrによって、そのデータはクロックサイクルT1の最後に於いてアドレスAa[6:0]（即ち、ERC[6:0]）によって指定される位置に書き込まれる。リード-ライトバッファタグコントローラ６０２（図７）に於いて、ハイ状態のRBwr信号によって、バンク・アドレスAa[6:0]（即ち、EBC[6:0]）は読み出しバッファタグメモリ７６２に書き込まれる。ハイ状態のRBwr信号及びロー状態のRBBHit信号によって、Aa[6:0]に於けるアドレスによって指定されるものを除く全ての有効ビットはリセットされる。アドレスAa[6:0]に関連する有効ビットは、論理値「１」にセットされる。
【０１７４】
アドレスAb[13:0]に対する第２の読み出しアクセスが、サイクルT2の始めのCLK信号の立上りエッジに於いて検出される。ハイ状態の外部Ren信号は、D-レジスタ７２１（図７）によってラッチされ、それによりローカル・読み出しイネーブル信号RENはハイとされる。第２の読み出しアクセスは読み出しバッファをヒットする。従って、クロックサイクルT2の始めに於いて、読み出しコンパレータ７４１は、アドレスAb[6:0]（即ち、EBA[6:0]）と読み出しキャッシュタグメモリ７６２にストアされる読み出しキャッシュタグ（即ち、Aa[6:0]）との一致を検出する。それに応じて、コンパレータ７４１はRBBHit信号をハイとする。アドレスAb[6:0]によって、128-to-1マルチプレクサ７５１は、読み出し有効ビットメモリ７６１にストアされるロジック「１」有効ビットをRBValid信号として経路指定する。結果として、読み出しバッファ・ヒット信号RBHitはハイとされる（ANDゲート７０４参照）。
【０１７５】
リード-ライト・データバッファ・コントローラ６０１（図８）に於いて、論理ハイのREN及びRBHit信号によって、読み出しバッファ読み出しイネーブル信号RBrdが活動化され、読み出しバッファ３１１に於いて読み出し動作が実行される。アドレスAb[6:0]によって指定されるデータDbは、読み出しバッファ３１１から読み出しバッファ出力バスRBO[127:0]へ読み出される。ハイ状態のRBHit信号及びロー状態のWBHit及びREFP[r]信号によって、出力マルチプレクサ３０９は出力バスRBO[127:0]に於けるデータを出力データバスDo[127:0]に送る。メモリ・リード-ライトコントローラ６０３に於いて、ハイ状態のRBHit信号のために、メモリバンク読み出し信号Mrd1はローとなる。結果として、メモリボックス１０００−１１２７は、第２の読み出しアクセスに対して如何なる動作も実行しない。クロックサイクルT2に於けるメモリブロック１０００−１１２７の何れかに於いてリフレッシュ動作の保留が存在する場合、これらのリフレッシュ動作はクロックサイクルT2の間に実行される。第２の読み出しアクセスが、読み出しバッファ３１１に加えて書き込みバッファ３１０をヒットする（また、読み出しバッファ３１１に於いてリフレッシュの保留が存在しない）場合、読み出しバッファ３１１に於いて１つの読み出し動作のみが実行され、マルチプレクサ３０９が出力データバスDo[127:0]への出力に対して読み出しバッファ３１１からデータを選択し得る。
【０１７６】
アドレスAc[13:0]に対する第３の読み出しアクセスは、サイクルT3の始めのCLK信号の立上りエッジに於いて検出される。ハイ状態の外部のRen信号はD-レジスタ７２１（図７）によってラッチされ、それによってローカル・読み出しイネーブル信号RENはハイとされる。第３の読み出しアクセスは、読み出しバッファをヒットせず、書き込みバッファ３１０をヒットする。クロックサイクルT3の始めに於いて、読み出しアクセスが検出され、第３の読み出しアクセスの外部のアクセスアドレスAc[13:0]はアドレスレジスタ３０４（図５）にラッチされる。この実施例に於いて、外部のバンク・アドレスAc[13:7]は、読み出しキャッシュメモリ７６２にストアされる読み出しキャッシュタグ及び書き込みキャッシュメモリ７７２（図７）にストアされる書き込みキャッシュタグと一致する。結果として、コンパレータ７４１及び７４２によって、RBBHit及びWBBHit信号は論理ハイ値とされる。この実施例において、アドレスAc[3:0]は、読み出し有効メモリ７６１に於けるリセット（即ち、論理ローの）有効ビットを示す。しかしながら、アドレスAc[3:0]は、書き込み有効メモリ７７１に於けるセット（即ち、論理ハイの）有効ビットを示す。従って、マルチプレクサ７５１の出力RBValidはローとされ、マルチプレクサ７５２の出力WBValidはハイとされる。ロー状態のRBValid信号によって、RBHit信号はローとされ、読み出しバッファミスの状態が示される。ハイ状態のWBValid及びWBBHit信号によって、RBHit信号はハイとされ、それによって書き込みバッファ・ヒットの状態が示される。ロー状態のRBHit信号及びハイ状態のREN信号によって、読み出しバッファ書き込みイネーブルRBwr信号が活動化される（図８のリード-ライトバッファコントローラ６０１に於けるANDゲート８１３及びORゲート８２１参照）。同様に、ロー状態のRBHit信号及びハイ状態のWBHit及びREN信号によって、書き込みバッファ読み出しイネーブルWBrd信号が活動化される（図８のリード-ライトバッファコントローラ６０１に於けるANDゲート８１１及びORゲート８２４参照）。WBrd信号の活動化によって、書き込みバッファ３１０に於いて読み出し動作が実行される。アクセスアドレスAc[6:0]によって指定されるデータDcは、書き込みバッファ３１０から書き込みバッファ出力バスWBO[127:0]へ読み出される。WBHit信号の活動化及びロー状態のRBHit信号によって、マルチプレクサ３０９はデータをバスWBO[127:0]からデータ出力バスDo[127:0]へと送る。また、ハイ状態のWBHit信号によって、マルチプレクサ３１４はデータをバスWBO[127:0]から読み出しバッファ入力データバスRBI[127:0]へ送る。ハイ状態のRBwr信号によって、読み出しバッファ入力データバスRBI[127:0]に於けるデータはアドレスAc[6:0]（図１３）によって指定される読み出しバッファ３１１のエントリに書き込まれる。ハイ状態のRBBHit信号及びハイ状態のRBwr信号によって、アクセスアドレスAc[6:0]に関連する読み出し有効メモリ７６１に於ける有効ビットがセットされる。
【０１７７】
外部のアドレスAc[13:0]によってアドレス指定されたメモリバンクが、メモリバンク[c]として指定される。リフレッシュ要求が、ClkサイクルT3に於いてREQI[c]信号の活動化を伴うメモリバンク[c]で検出されると仮定する。ハイ状態のREQI[c]信号は、CLK信号の立上りエッジに於けるR-Sレジスタ２１２２をセットし、それによって論理ハイの内部リフレッシュ保留信号REFP[c]（図１１）が与えられる。ハイ状態のリフレッシュ保留信号REFP[c]、ハイ状態のバンクアクセス信号BA[c]並びに論理ローの状態のMrd1、Mwr1、及びMwr2信号によって、内部リフレッシュ信号REF[c]はハイとされる（図９及び１１参照）。ハイ状態のリフレッシュ信号REF[c]によって、メモリアレイタイミング信号RAS#[c]、SEN#[c]、及びPRC#[c]は、メモリシーケンサ３０３（図５）によって生成される対応するグローバル・タイミング信号RAS#、SEN#、及びPRC#によってトリガされ得る。従って、リフレッシュサイクルは、メモリバンク[c]によって実施される。センスアンプに於けるデータがアクセスされない限りは、リフレッシュサイクルに於いてカラムスイッチ制御信号CAS1[c]及びCAS2[c]は活動化されないことに注意されたい。論理ローのMrd1、Mwr1、及びMwr2信号よって、CAS1[c]及びCAS2[c]信号が活動化されることが妨げられる（図１１のANDゲート２１１１及び２１１２参照）。読み出しアクセスが書き込みバッファ３１０若しくは読み出しバッファ３１１をヒットする場合、データは書き込みバッファ３１０若しくは読み出しバッファ３１１から読み出され、それによってこの時間に於いてメモリブロック１０００−１１２７バンクがリフレッシュ動作を実行することが可能となる。
【０１７８】
書込みアクセスのタイミング
図１５は、４つの異なったメモリ書込みアクセス中の制御信号のタイミングを示す波形のダイアグラムである。外部アドレスＡａでの第１の書込みアクセスは、書込みバッファでヒットした場合を表す。外部アドレスＡｂでの第２の書込みアクセスは、書込みアクセスでヒットしない場合を表す。外部アドレスＡｃでの第３の書込みアクセスは、外部アクセスが存在中に書込みバッファが回収する場合を表す。第４の書込みアクセスは、書込みバッファの回収の処理中に書込みバッファでヒットする場合の書込みバッファの回収の停止を表す。
【０１７９】
アドレスＡａ［１３：０］への第１の書込みアクセスは、サイクルＴ１の開始時のＣｌｋ信号の立ち上がりエッジで検出される。それに応答して、アクセスアドレスＡａ［１３：０］がアドレスレジスタ３０４の中にラッチされる。外部Ｗｅｎ信号のハイの状態が、Ｄレジスタ７２２（図７）によってラッチされるため、局所書込みイネーブル信号ＷＥＮがハイになる。バンクアドレスＡａ［１３：７］（即ちＥＢＡ［６：０］）は、バンクアドレスデコーダ３０５（図５）、並びに読出し書込みタグコントローラ６０２（図７）のコンパレータ７４１−７４２及び読出しバッファタグレジスタ７６２及び書込みバッファタグレジスタ７７２のゲートに送られる。
【０１８０】
バンクアドレスデコーダ３０５は、対応する外部バンク選択信号ＥＢＳ［ａ］をハイにして、バンクアクセス信号ＢＡ［ａ］を生きた状態にする。この時の[ａ]はアドレスＡａに対応するバンクである。読出し書込みタグコントローラ６０２の中では、コンパレータ７４２がバンクアドレスＡａ［１３：７］と書込みキャッシュタグメモリ７７２にストアされた書込みバッファタグと比較する。ヒットすると、コンパレータ７４２は、論理ハイのＷＢＢＨｉｔ信号を供給する。本実施例において、アドレスＡａ［６：０］によって指定された書込み有効メモリ７７１のエントリがリセットされる（即ち、論理ロー）。その結果、ＷＢＶａｌｉｄ信号及びＷＢＨｉｔ信号の両方が論理ローに維持される。ＷＢＢＨｉｔ信号及びＷＥＮ信号のハイ状態によって、書込みバッファ回収信号ＷＢｒｅｔがローに維持される（図８のＡＮＤゲート８１７、ＯＲゲート８２３及びＲ−Ｓレジスタ８３３を参照）。論理ローのＷＢｒｅｔ信号及び論理ハイのＷＥＮ信号によって、ＷＢｗｒ信号が論理ハイになる（図８のＡＮＤゲート８１５を参照）。ＷＢｒｅｔのロー状態よって、Ｍｗｒ１信号がローに維持され、全てのメモリバンクアクセスが抑制される（図９のメモリ読出し書込みコントローラ６０３のＡＮＤゲート９０４−９０５及びＯＲゲート９１２を参照）。
【０１８１】
書込みバッファ３１０において、ＷＢｗｒ信号のハイ状態によって、Ａｃｃ＃［ｗ］信号がローになるため、入力データバスＤｉ［１２７：０］上のデータＤａがアドレスＡａ［６：０］（即ち、ＥＲＣ［６：０］）によって指定されたエントリに書き込まれる（図１２を参照）。リード-ライトバッファタグコントロール６０２（図８）において、ＷＢｗｒ信号のハイ状態によって、バンクアドレスＡａ［６：０］が書込みバッファタグメモリ７７２に書き込まれる。書込みバッファタグ及びバンクアドレスＡａ［６：０］が同じであるため、この動作によって、書込みバッファバンクアドレスタグの如何なる変化も起きない。Ｗｂｗｒ信号の生きた状態によって、ＷＢＶｕｐｄａｔｅ信号が生きた状態になるため、外部ロウ・カラムアドレスＥＲＣ［６：０］（即ち、Ａａ［６：０］）によって指定された有効ビットが書込み有効メモリ７７１にセットされる。
【０１８２】
アドレスＡｂ［１３：０］への第２の書込みアクセスは、サイクルＴ２の開始のＣｌｋ信号の立ち上がりエッジで検出される。それに応答して、アクセスアドレスＡｂ［１３：０］が、アドレスレジスタ３０４の中にラッチされる。外部Ｗｅｎ信号のハイ状態がＤレジスタ７２２（図７）によってラッチされるため、局所書込みイネーブル信号ＷＥＮがハイになる。バンクアドレスＡｂ［１３：７］（即ち、ＥＢＡ［６：０］）は、バンクアドレスデコーダ３０５（図５）、並びに読出し書込みタグコントローラ６０２（図７）のコンパレータ７４１−７４２、読出しバッファタグレジスタ７６２及び書込みバッファタグレジスタ７７２のゲートに送られる。
【０１８３】
コンパレータ７４２は、バンクアドレスＡｂ［１３：７］を書込みバッファタグメモリ７７２にストアされた書込みバッファタグと比較する。不一致の状態が検出されると、ＷＢＢＨｉｔ及びＷＢＨｉｔ信号がローとアサートされない。ロウ及びカラムアドレスＡｂ［６：０］によって指定された有効ビットがセットされても（即ち、ＷＢＶａｌｉｄがハイ）、ＷＢＨｉｔ信号はローである。書込み有効メモリ７７１の少なくとも１つの有効ビットがハイにセットされるため、ＯＲゲート８２２（図８）の出力がハイになる。このハイ信号、並びにＷＥＮ信号のハイ状態及びＷＢＢＨｉｔ信号のロー状態によって、ＡＮＤゲート８１８がＲ−Ｓレジスタ８３３のセット端子に論理ハイの信号を供給する。これに応答して、Ｒ−Ｓレジスタ８３３が論理ハイＷＢｒｅｔ信号を供給するため、書込みバッファの回収が開始される。
【０１８４】
ＷＢｒｅｔ信号のハイ状態によって、ＷＢｗｒ信号が死んだ状態になる（図８のＡＮＤゲート８１５を参照）。ＷＢｒｅｔ信号のハイ状態及び論理ハイＷＥＮ信号によって、Ｍｗｒ１信号が活動化される（図９のＡＮＤゲート９０４及びＯＲゲート９１２を参照）。第２の書込みアクセスの指定されたメモリバンクであるメモリバンク［ｂ］において、Ｍｗｒ１信号のハイによってアクセスイネーブル信号Ａｃｃ＃［ｂ］がローになる（図１１のＯＲゲート２１０２及びＮＡＮＤゲート２１１７を参照）。この時、リフレッシュ要求が受け取られ、リフレッシュ要求信号ＲＥＱＩ［ｂ］がハイになる。それに応答して、Ｒ−Ｓレジスタ２１２２が、論理ハイリフレッシュ保留信号ＲＥＦＰ［ｐ］を供給する。しかしながら、Ａｃｃ＃［ｂ］信号のロー状態によって、リフレッシュイネーブル信号ＲＥＦ［ｂ］がハイになるのが抑制される。Ａｃｃ＃［ｂ］信号のロー状態によって、対応する入力信号ＲＡＳ＃、ＳＥＮ＃及びＰＲＣ＃によってＲＡＳ＃［ｂ］、ＳＥＮ＃［ｂ］及びＰＲＣ＃［ｂ］が生きた状態になる（図１１のＮＯＲゲート２１３１−２１３６を参照）。Ｍｗｒ１のハイによって、グローバルタイミング信号ＣＡＳ＃によるカラムマルチプレクサイネーブル信号ＣＡＳ１［ｂ］の生きた状態が可能となる（図１１のＡＮＤゲート２１１２を参照）。ＲＡＳ＃［ｂ］、ＳＥＮ＃［ｂ］、ＣＡＳ１［ｂ］及びＰＲＣ＃［ｂ］が順次活動化されることで、メモリバンク［ｂ］のメモリ書込みサイクルが行われ、メモリ読出し書込みポート３１３を介してＤｉ［１２７：０］の入力データＤｂがメモリバンク［ｂ］に書き込まれる。
【０１８５】
書込みバッファの回収が、７ビットカウンタ８３１（図８）によって供給されるエントリアドレスＷＢＣＡ［６：０］で、エントリ０で開始する。また、エントリアドレスＷＢＣＡ［６：０］がメモリブロック１０００−１１２７に供給されるため、正しいロウ及びカラムアドレスが、書込みバッファタグによって指定されたメモリバンクに供給される。エントリ０に関連する有効ビットがセットされると、有効ビット信号ＶＢがハイになる（図８のマルチプレクサ８３２を参照）。論理ハイのＷＢｒｅｔ及びＶＢ信号によって、Ｍｗｒ２信号（図９）及びＷＢｒｄ信号（図８）が共にハイになる。ＷＢｒｄ信号のハイ状態によって、書込みバッファ３１０で読出しサイクルが実行される。その結果、書込みバッファ３１０のエントリ０からのデータが、データバスＷＢＯ［１２７：０］に読み出される。
【０１８６】
書込みバッファタグ７７２のバンクアドレスが［ｍ］である場合、メモリブロック［ｍ］において、ＢＡ［ｍ］信号がハイになり、Ａｃｃ＃［ｍ］信号がローになり、ＲＡＳ＃［ｍ］、ＳＥＮ＃［ｍ］及びＰＲＣ＃［ｍ］信号が生きた状態になる。また、Ｍｗｒ２信号のハイ状態によって、グローバルカラムアクセス信号ＣＡＳ＃［ｍ］に応答して、ＣＡＳ２［ｍ］カラムアクセス信号が生きた状態になる。メモリタイミング信号ＲＡＳ＃［ｍ］、ＳＥＮ＃［ｍ］、ＣＡＳ２［ｍ］及びＰＲＣ＃［ｍ］が、続いて活動化されるため、ＷＢＯ［１２７：０］バス上のデータが、エントリアドレスＷＢＣＡ［６：０］によって指定されたロウ及びカラムのメモリバンク［ｍ］に書き込まれる。論理ハイのＷＢｒｄ及びＷＢｒｅｔ信号によって、エントリアドレスＷＢＣＡ［６：０］によって指定された書込み有効メモリ７７１の有効ビットがリセットされる（図７のＯＲゲート７１３及びマルチプレクサ７２３を参照）。
【０１８７】
アドレスＡｃ［１３：０］への第３の書込みアクセスは、サイクルＴ３の開始のＣｌｋ信号の立ち上がりエッジで検出される。それに応答して、アクセスアドレスＡｃ［１３：０］が、アドレスレジスタ３０４にラッチされる。外部Ｗｅｎ信号のハイ状態がＤレジスタ７２２（図７）にラッチされるため、局所書込みイネーブル信号ＷＥＮがハイになる。バンクアドレスＡｃ［１３：７］（即ち、ＥＢＡ［６：０］）が、バンクアドレスデコーダ３０５（図５）、並びに読出し書込みタグコントローラ６０２（図７）のコンパレータ７４１−７４２、書込みバッファタグレジスタ７６２及び７７２のゲートに送られる。
【０１８８】
コンパレータ７４２は、バンクアドレスＡｃ［１３：７］を書込みバッファタグメモリ７７２にストアされた書込みバッファタグと比較する。一致しない場合は、ＷＢＢＨｉｔ及びＷＢＨｉｔ信号がローに維持される。ＷＢＢＨｉｔ信号のロー状態によって、Ｒ−Ｓレジスタ８３３の出力が（即ち、ＷＢｒｅｔ信号）ハイに維持される。その結果、前のクロックサイクルＴ２が続いている間にデータの回収プロセスが開始される。ＷＢｒｅｔ信号のハイ状態によって、Ｍｗｒ１信号がハイに維持されるため（図９）、書込みアドレスＡｃ［１３：０］の指定されたバンクであるメモリバンク［ｃ］のメモリ書込みサイクルが可能となる。メモリバンク［ｃ］において、論理ハイのＢＡ［ｃ］及びＭｗｒｌ信号によってＡｃｃ＃［ｃ］信号が論理ローになるため、タイミング制御信号ＲＡＳ＃［ｃ］、ＳＥＮ＃［ｃ］及びＰＲＣ＃［ｃ］が、対応するグローバル制御信号ＲＡＳ＃、ＳＥＮ＃及びＰＲＣ＃の後に続くことが可能となる。また、Ｍｗｒ１信号のハイによって、カラムマルチプレクサ制御信号ＣＡＳ１［ｃ］がＣＡＳ＃信号に応答して活動化される。メモリタイミング信号が活動化されることによって、外部データＤｃが、Ｄｉ［１２７：０］バスからメモリバンク［ｃ］のアドレスＡｃ［６：０］によって指定された位置に、メモリ読出し書込みポート３１３を介して書き込まれる。サイクルＴ３の開始時に、図８の７ビットカウンタ８３１によって、エントリの値が０から１に増分されるため、書込みバッファ３１０及びメモリバンク［ｍ］（書込みバッファ回収のターゲット）に対するロウ及びカラムアドレスがセットされる。エントリ１の有効ビットがセットされた場合、マルチプレクサ８３２によってルートが決められたＶＢ信号は、論理ハイの値になる。論理ハイＷＢｒｅｔ及びＶＢ信号によって、ＷＢｒｄ及びＭｗｒ２信号がハイに維持されるため、書込みバッファ３１０の別の読出しサイクル及びメモリバンク［ｍ］の別の書込みサイクルが開始される。メモリバンク［ｍ］の動作タイミング信号ＲＡＳ＃［ｍ］、ＳＥＮ＃［ｍ］及びＰＲＣ＃［ｍ］と、書込みバッファ３１０の動作タイミング信号ＲＡＳ＃［ｗ］、ＳＥＮ＃［ｗ］及びＰＲＣ＃［ｗ］は、図１５に示されているグローバルタイミング信号ＲＡＳ＃、ＳＥＮ＃及びＰＲＣ＃にぴったりと続く。サイクルＴ３の最後で、書込みバッファ３１０のエントリ１のデータＷＢＤ１が、バスＷＢＯ［１２７：０］に読み出され、書込み専用ポート３１２を介してメモリバンク［ｍ］の同じ位置に書き込まれる。メモリバンク［ｂ］がこの最中にアクセスに関係していないため、また回収プロセスにも関係していないため、バンクアクセスイネーブル信号ＢＡ［ｂ］がこの時にローになる。ＢＡ［ｂ］信号のロー状態及びＲＥＦＰ［ｂ］信号のハイ状態によって、ＲＥＦ［ｂ］信号がハイ（図１１）になるため、グローバルＲＡＳ＃、ＳＥＮ＃及びＰＲＣ＃信号によってＲＡＳ＃［ｂ］、ＳＥＮ＃［ｂ］及びＰＲＣ＃［ｂ］信号が活動化される。この方法では、リフレッシュ動作がメモリバンク［ｂ］で行われる。ＣＡＳ１［ｂ］及びＣＡＳ２［ｂ］信号の両方がローであるため、カラムスイッチ２０１１（図１０）が使用可能にならない。保留リフレッシュ信号ＲＥＦＰ［ｂ］は、リフレッシュサイクルの最後でローにリセットされる。論理ハイＷｂｒｄ及びＷＢｒｅｔ信号によって、エントリアドレスＷＢＣＡ［６：０］によって指定された書込み有効メモリ７７１に有効ビットがリセットされる（図７のＯＲゲート７１３及びマルチプレクサ７２３を参照）。
【０１８９】
アドレスＡｄ［１３：０］への第４の書込みアクセスは、サイクルＴ４の開始のＣｌｋ信号の立ち上がりエッジで検出される。それに応答して、アクセスアドレスＡｄ［１３：０］が、アドレスレジスタ３０４にラッチされる。外部Ｗｅｎ信号のハイ状態が、Ｄレジスタ７２２（図７）にラッチされるため、局所書込みイネーブル信号ＷＥＮがハイとなる。バンクアドレスＡｄ［１３：７］（即ち、ＥＢＡ［６：０］）は、バンクアドレスデコーダ３０５（図５）、並びに読出し書込みタグコントローラ６０２（図７）のコンパレータ７４１−７４２、読出し及び書込みバッファタグレジスタ７６２及び７７２のゲートに送られる。上記したように、書込みバッファの回収のプロセス中に書込みバッファがヒットした場合の、第４の書込みアクセスが書込みバッファの回収の中止を示す。
【０１９０】
バンクアドレスＡｄ［１３：７］は、書込みバッファタグメモリ７７２にストアされた書込みバッファタグと比較される。一致した場合には、書込みバッファバンクヒット信号ＷＢＢＨｉｔが活動化される。アドレスＡｄ［６：０］によって指定された書込み有効メモリ７７１の有効ビットがセットされると、ＷＢＶａｌｉｄ信号がハイになる。論理ハイのＷＢＶａｌｉｄ及びＷＢＢＨｉｔ信号が論理ハイのＷＢＨｉｔ信号になる（図７のＡＮＤゲート７０５を参照）。論理ハイＷＢＢＨｉｔ及びＷＥＮ信号によって、Ｒ−Ｓレジスタ８３３（図８）がリセットされるため、ＷＢｒｅｔ信号がローになる。論理ローのＷＢｒｅｔ信号によって、書込みバッファ回収動作が終了する。ローのＷＢｒｅｔ信号及びハイのＷＥＮ信号によって、書込みバッファ書込みイネーブル信号ＷＢｗｒが活動化される（図８のＡＮＤゲート８１５を参照）ため、書込みデータバッファ３１０の書込みサイクルが可能となる。入力データＤｄが、入力データバスＤｉ［１２７：０］からアドレスＡｄ［６：０］によって指定された書込みバッファエントリに書き込まれる。ＷＢｒｅｔ信号のロー状態によって、メモリ書込み信号Ｍｗｒ１の活動化が抑制される。その結果、メモリブロック１０００−１１２７への書込み動作が行われない。論理ハイのＷＢｗｒ信号及び論理ローＷＢｒｅｔ信号が、ＷＢＶｕｐｄａｔｅ信号をアサートする（図７のＡＮＤゲート７０３及びＯＲゲート７１３を参照）。それに応答して、書込み有効メモリ７７１のアドレスＡｄ［６：０］によって指定された有効ビットがセットされる。
【０１９１】
ＤＲＡＭを用いる書込み及び読出しバッファ
上記した図１４及び図１５の実施例では、書込みバッファ３１０及び読出しバッファ３１１は、ＳＲＡＭセルから形成されるものとする。この場合、書込みバッファ３１０及び読出しバッファ３１１は、リフレッシュ動作を必要としない。しかしながら、別の実施例では、書込みバッファ３１０及び読出しバッファ３１１は、ＤＲＡＭセルを用いて形成することもできる。この実施例では、書込みバッファ３１０及び読出しバッファ３１１によって占有された領域を減少できるという利点がある。書込みバッファ３１０及び読出しバッファ３１１が、メモリブロック１０００−１１２７と同じ構成であるため、多少の変更を施したＤＲＡＭバンクを用いて書込みバッファ３１０及び読出しバッファ３１１を形成することができる。これらの変更は、図５−図１３に破線で示した要素を用いて記載されている。
【０１９２】
この実施例では、書込みバッファ３１０及び読出しバッファ３１１が、メモリブロック１０００−１１２７と類似の方法でリフレッシュされる。メモリブロック１１２７のリフレッシュデイジーチェーン出力端子ＲＥＱＯ［１１２７］が、書込みバッファ３１０のリフレッシュ入力端子ＲＥＱＩ［ｗ］に接続されている。書込みバッファ３１０のデイジーチェーン出力端子ＲＥＱＯ［ｗ］は、読出しバッファ３１１のリフレッシュ入力端子ＲＥＱＩ［ｒ］に接続されている。デイジーチェーンが読出しバッファ３１１で止まっているため、読出しバッファ３１１の出力端子ＲＥＱＯ［ｒ］が接続されない。
【０１９３】
読出しバッファ３１１の正確なリフレッシュを確実にするために、外部アクセス動作の前にリフレッシュが行われる。従って、リフレッシュ動作が保留中の時は、読出しバッファ３１１は保留中のリフレッシュ動作を実行するために全ての外部アクセスを無視する。リフレッシュが読み出しバッファ３１１で保留中の時は、リフレッシュ保留信号がハイになる。修飾子「ｒ」は、読出しバッファ３１１で生成される信号を意味する。信号ＲＥＦＰ［ｒ］が、読出しバッファ読出しイネーブル信号ＲＢｒｄ及び読出しバッファ書込みイネーブル信号ＲＢｗｒ（図８）の活動化を抑制するために、リード-ライトバッファコントローラ６０１に用いられる。これは、ＲＥＦＰ［ｒ］信号を、図８の破線で示されたようにＡＮＤゲート８１２−８１４に接続することによって達成される。ＲＥＦＰ［ｒ］信号がハイになると、ＡＮＤゲート８１２−８１４の出力がローになるため、ＲＢｒｄ及びＲＢｗｒ信号がローになる。読出しバッファ３１１がリフレッシュ動作をしていてビジー状態の時、指定されたメモリバンクが読出しアクセスを処理しなければならない。従って、メモリ読出し書込みコントローラ６０３において、Ｍｒｄ１信号が、ＲＥＦＰ［ｒ］及びＲＥＮ信号がハイになると活動化される。ＲＥＦＰ［ｒ］信号の発生、及び読出しバッファ３１１における動作の制御タイミングは上述の通りである。
【０１９４】
書込みアクセスの読出しバッファ３１１でのヒットが読出しバッファのリフレッシュと衝突した場合は、読出しバッファ３１１におけるデータの一貫性を維持するために、読出し有効メモリ７６１の関連する有効ビットがリセットされ、読出しバッファ３１１へのデータエントリが無効になる。この無効動作は、読出し書込みタグコントローラ６０２（図７）によって行われる。ＲＥＦＰ［ｒ］、ＲＢＨｉｔ及びＷＥＮ信号の全てが論理ハイの値の場合は、ＡＮＤゲート７０２が論理ハイの信号をＯＲゲート７１２に供給し、ＲＢＶｕｐｄａｔｅ信号が論理ハイになる。この論理ハイのＲＢＶｕｐｄａｔｅ信号によって、ＥＲＣ［６：０］におけるアドレスによって指定された有効ビットがリセットされる。
【０１９５】
書込みバッファ３１０における正確なリフレッシュを確実にするために、リフレッシュ動作は、他の全ての動作に先行して行われる。ただし、読出しバッファ３１１でヒットしないで書込みバッファ３１０で読出しがヒットした場合、或いはリフレッシュが読出しバッファ３１１において保留中の場合は例外である。このような場合は、書込みバッファ３１０のリフレッシュ動作が遅れる。
【０１９６】
最悪の場合、書込みバッファ３１０の全てのアドレスをトラバースして、アクセスの連続したストリームが書込みバッファ３１０でヒットすると、１２９の連続したクロックサイクルにおいてこれが起こり、このときに読出しバッファ３１１がリフレッシュ動作を実行する。注目すべきは、アクセスのストリームの間にバンクアドレスの変更がない場合、同じ場所への２つのアクセスによって、そのうちの１つのアクセスの間に読出しバッファ３１１においてリフレッシュ動作が実行されていないかぎり、２つの読出しバッファのミスは起こらない。正しいリフレッシュ時間が１２９クロックサイクルより長い場合、適正なリフレッシュ時間内でリフレッシュ動作が書込みバッファ３１０において実行されうる。リフレッシュが書込みバッファ３１０で保留中の場合は、ＲＥＦＰ［ｗ］信号がハイである。リード-ライトバッファコントロール６０１（図８）において、ＲＥＦＰ［ｗ］信号のハイ状態によって、書込みバッファ書込みイネーブル信号ＷＢｗｒがローに維持され、書込みデータバッファのリフレッシュの間、書込みバッファ３１０への全ての書込みアクセスが抑制される。
【０１９７】
書込みバッファ３１０がリフレッシュ処理をしている時、所定のメモリバンクは書込みアクセスを処理しなければならない。従って、Ｍｗｒ１信号は、ＲＥＦＰ［ｗ］及びＷＥＮ信号がハイの時に活動化される（図９のＡＮＤゲート９０５及びＯＲゲート９１２を参照）。
【０１９８】
書込みバッファのリフレッシュに影響を及ぼす他の動作は、書込みデータの回収である。書込みバッファの回収の間は、書込みバッファ３１０におけるリフレッシュ動作によって、１クロックサイクルのデータの回収が中断される。リフレッシュ動作の後、データの回収が再開される。これは、図８及び図９に示された論理によって達成される。図８において、ＲＥＦＰ［ｗ］信号のハイ状態によりＡＮＤゲート８１９の出力がローになり、ＷＢｒｄ信号がローになるため、書込みデータの回収によって起こる書込みバッファ３１０の読出し動作が抑制される。書込みバッファの回収によって起こるメモリ書込み動作が抑制されて、ＲＥＦＰ［ｗ］信号が変換され、その結果をＡＮＤゲート９０３（図９）に供給する。従って、ハイのＲＥＦＰ［ｗ］信号によって、Ｍｗｒ２信号がローに維持される。論理ハイのＲＥＦＰ［ｗ］信号によっても、カウンタ８３１の入力ＩＮＣがローになるため、書込みバッファの回収の間、カウンタ８３１の加算が中断される。
【０１９９】
幾つかの実施例を用いて本発明を説明したが、本発明はここに記載した実施例に制限されるものではなく、当業者に明らかな様々な変更が可能であることを理解されたい。例えば、ＤＲＡＭバンク及びＳＲＡＭキャッシュメモリは、実施例によって大きさを変えることが可能である。同様に、ＤＲＡＭバンクの数も変えることができる。更に、記載したものとは異なる幅のバスを他の実施例に用いることもできる。更に、それぞれのメモリバンクにリフレッシュアキュムレータを組み込んで適正なリフレッシュ時間を長くすることもできる。更に、メモリバンクの書込みコントロール、読出し及び書込みデータバッファ及び書込みバッファ有効ビットに多少の変更をして、書込みデータのマスキングを加えることもできる。従って、本発明は上記した請求の範囲によってのみ制限される。
【図面の簡単な説明】
【図１】  本発明の一つの実施例による１−Ｔ SRAMのブロック図である。
【図２】  本発明の一つの実施例によるDRAMバンク、SRAMキャッシュメモリ、及びキャッシュタグメモリの構成を図示したブロック図である。
【図３】  本発明の一つの実施例によるDRAMバンク及び関連するアクセスコントロール回路の略図である。
【図４】  本発明の一つの実施例による４つの連続したトランザクションタイミングを図示した波形図である。
【図５】  本発明のその他の実施例による１−Ｔ SRAMシステムのブロック図である。
【図６】  本発明の一つの実施例による図５の１−Ｔ SRAMシステムの為のメモリ制御ユニットのブロック図である。
【図７】  本発明の一つの実施例によるリード−ライトタグ制御装置の回路図である。
【図８】  本発明の一つの実施例によるリード−ライトバッファ制御装置の回路図である。
【図９】  本発明の一つの実施例によるメモリリード−ライト制御装置の回路図である。
【図１０】  本発明の一つの実施例による図５の１−Ｔ SRAMシステムのメモリブロックのブロック図である。
【図１１】  本発明の一つの実施例による図１０のメモリブロックのメモリバンクコントローラーの回路図である。
【図１２】  本発明の一つの実施例による図５の１−Ｔ SRAMシステムの書込みバッファのブロック図である。
【図１３】  本発明の一つの実施例による図５の１−Ｔ SRAMシステムの読出しバッファのブロック図である。
【図１４】  本発明の一つの実施例による図５の１−Ｔ SRAMシステムへの３つの異なる読出しアクセス間の制御信号タイミングを図示した波形図である。
【図１５】  本発明の一つの実施例による図５の１−Ｔ SRAMシステムへの４つの異なる書込みアクセス間の制御信号タイミングを図示した波形図である。
【図１】
0004025509.tif 000002
【図２】
0004025509.tif 000003
【図３】
0004025509.tif 000004
【図４】
0004025509.tif 000005
【図５】
0004025509.tif 000006
【図６】
0004025509.tif 000007
【図７】
0004025509.tif 000008
【図８】
0004025509.tif 000009
【図９】
0004025509.tif 000010
【図１０】
0004025509.tif 000011
【図１１】
0004025509.tif 000012
【図１２】
0004025509.tif 000013
【図１３】
0004025509.tif 000014
【図１４】
0004025509.tif 000015
【図１５】
0004025509.tif 000016