JP3576561B2 - 第2レベルのキャシュメモリとしてdramアレイを用いる方法及び構成 - Google Patents
第2レベルのキャシュメモリとしてdramアレイを用いる方法及び構成 Download PDFInfo
- Publication number
- JP3576561B2 JP3576561B2 JP51692996A JP51692996A JP3576561B2 JP 3576561 B2 JP3576561 B2 JP 3576561B2 JP 51692996 A JP51692996 A JP 51692996A JP 51692996 A JP51692996 A JP 51692996A JP 3576561 B2 JP3576561 B2 JP 3576561B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- clock signal
- dram array
- bus
- dram
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0897—Caches characterised by their organisation or structure with two or more cache hierarchy levels
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Dram (AREA)
Description
技術分野
本発明は、メモリシステムを実施する方法及び構成に関し、より詳しくは、第2レベルのキャシュメモリに関する。
背景技術
高速のコンピュータシステムは、しばしば、高速のプロセッサと、低速の(及び低コストの)大容量主メモリとの間での信号の伝達のために、高速の小容量キャッシュ(バッファ)メモリを用いる。キャシュメモリは、通常、プロセッサによって次に選択される可能性の高いデータを一時的に記憶するために用いられる。高速キャシュメモリにこのような選択される可能性の高いデータを記憶することにより、コンピュータシステムに対するデータアクセスの平均速度が増加される。即ち、キャシュメモリは、(全部を高速の高価なメモリとする場合に比べて)システムの性能を構成させるための廉価なものであるといえる。最近のコンピュータシステムでは、複数のレベルの(通常は2つのレベルの)キャシュメモリが用いられている。第1のレベルのキャシュメモリは、通常、4キロバイトから32キロバイトの記憶容量を有し、超高速であり、かつプロセッサと同一の集積回路チップに集積化されている。この第1のレベルのキャシュメモリは、プロセッサと等しい集積回路チップに集積化されておりかつ外部の集積回路チップとの間の信号の伝達に関連する遅れを防止することができるので、より高速なものである。第2レベルのキャシュメモリは通常、プロセッサとは異なる集積チップ上に設けられており、より大きな容量、通常64キロバイトから1024キロバイトの記憶容量を有する。
第1図は、第2レベルのSRAMキャシュ構成を用いた従来のコンピュータシステム100のブロック図を表している。CPUまたはマイクロプロセッサ101は、オンチップの第1レベルのSRAMキャシュメモリ102とともに働き、非常に高速な内部CPU動作(通常は33MHzから150MHz)をサポートしている。
第1レベルのキャシュメモリ102は通常、4キロバイトから32キロバイトの記憶容量を有し、非常に高速度のデータ及び命令アクセス(通常5から15ナノ秒)を実行する。第1レベルのキャシュミス若しくはその他のキャシュ不可能なメモリアクセスに対して、メモリの呼び出し及び書き込み動作は、より低速の外部CPUバス104(通常は25MHzから60MHz)を介してオフチップで、第2レベル(L2)のSRAMキャシュメモリ106(通常は128キロバイトから1024キロバイトの記憶容量)に対して行わなければならず、ラウンドトリップのオフチップ遅れと言った待ち時間(アクセス時間)の不利を伴うことになる。
CPU101がオフチップ動作の遅れにより不利を克服しなければならないので、殆ど全ての現在のマイクロプロセッサでは、CPUバス104を通る最も早いアクセスサイクル(書き込み若しくは読み出しサイクル)は、2−1−1−1である。即ち、最初の外部アクセスが少なくとも2クロックサイクルを費やし、それに続く各々の外部アクセスが1つのクロックサイクルを費やす。より高いCPUバスの周波数では、最も早い第1の外部アクセスは、3若しくはそれ以上のクロックサイクルを要する。4つのアクセスを備えたバーストサイクルが、本明細書中で、例示みのを目的として説明される。或るプロセスでは、より短い(例えば2の)若しくはより長い(例えば8以上の)バーストサイクルが可能である。第1のバーストサイクルが実行されている間に、第2のバーストサイクルの最初の外部アクセスのパラメータがCPUのバスデバイスにラッチされるといった、パイプライン動作は、第2のバーストサイクルの最初の外部アクセスに対するより長いアクセスの待ち時間を隠すことができる。即ち、第1のアクセスサイクルと第2のアクセスサイクルは、各々、2−1−1−1と、1−1−1−1となる。
キャッシュタグメモリ108は通常、比較的小型(8キロバイトから32キロバイト)で、高速(通常10〜15ナノ秒)、かつSRAMセルを用いて実施される。キャッシュタグメモリ108は、第2レベルのキャッシュ106のキャッシュラインのアドレスを記憶し、これらのアドレスをCPUバス104のアクセスアドレスと比較し、キャッシュヒットが生じたか否かを判定する。この小型のキャッシュタグメモリ108は、より高速度及びより低コストを達成するために、システムロジックコントローラチップ110に集積化されることもできる。集積化されたキャッシュタグメモリは、外部キャッシュタグメモリと同じように動作する。ペンティアムプロセッサ用のインテル社の82430PCIセットは、集積化されたSRAMキャッシュタグメモリを用いたロジックコントローラチップ110の1つの例である。
CPUバス104の動作周波数がより低いことの1つの理由は、CPUバス104に接続されたデバイスによる大きなローディングである。第2レベル(L2)のSRAMキャシュメモリ106は、CPUバス104のデータ及びアドレスバス(ラッチ112を介した)ローディングを行う。キャシュタグメモリ108は、アドレスバスへのローリングを行い、システムロジックコントローラチップ110は、コントロール、データ、及びアドレスバスへのローディングを行い、主メモリDRAM114は、データバス(ラッチ116を介して)へのローディングを行う。
従来のコンピュータシステム100では、システムロジックチップ110が、通常25MHzから33MHzの動作周波数のシステム(ローカル)バス118に対するインタフェースを行う。システムバス118は、様々な比較的高速のデバイス120(グラヒィック、ビデオ、通信、または高速ディスクのドライブ装置など)に接続することもできる。システムバス118は、また、多くの周辺デバイス(図示されていない)が接続された一般的な用途の(低速度)拡張バス124への接続を行うための(4MHzから16MHzの動作周波数の)ブリッジ若しくはバッファデバイス122に接続されていてもよい。
第1レベルの若しくは第2レベルの更に高速度のキャシュシステムが、スタティックランダムアクセスメモリ(SRAM)を用いて実現されており、その理由はSRAMが高速である(7から25ナノ秒のアクセス時間と、アクセス時間に等しいサイクル時間とを有する)からである。SRAMは、25から100MHzのバス速度を備えた高速マイクロプロセッサからのデータの記憶及びインターリーブに適する。通常のダイナミックランダムアクセスメモリ(DRAM)は、1ビット当たりSRAMよりも廉価であり、その理由はDRAMのセルの寸法がより小さいからである。例えば、DRAMセルは通常比較できるリソグラフィ法を用いたSRAMセルの1/4の寸法を有する。一般に、DRAMは高速の動作には適さないと考えられており、その理由はDRAMが、5から120ナノ秒のアクセス時間と、90から200ナノ秒のサイクル時間とを有する2つのステップのプロセスを、本質的にそのアクセスに於いて必要とするからである。
アクセス速度は相対的な測定値である。即ち、DRAMはSRAMよりも低速である等、フェライトコア及び電荷結合デバイス(CCD)等の初期のメモリデバイスに比べてそれらは非常に高速であり、その結果、DRAMは、そのような低速度のメモリデバイスを「主メモリ」として用いているメモリシステムにおいて「キャシュ」メモリとして理論上用いられている。しかしながら、動作モード及びアクセス方法は、本明細書中で説明される動作モード及びアクセス方法とは異なる。
殆どのコンピュータシステムでは、第2レベルのキャシュメモリが、固定されたモードで動作している。即ち、第2レベルのキャシュメモリへの読み出し又は書き込みアクセスは、ごく僅かな一定の寸法(第1及び第2キャシュメモリのラインサイズ)であり、通常、4若しくは8ワード(即ち、4若しくは8ワードの連続した読み出し若しくは書き込み)のバーストシーケンス内にあり、又は1つのアクセス(即ち、1ワード)内にある。これらの形式のアクセスによって、標準のSRAMが、非常に高速のプロセッサバスに必要とされるタイミングに適合するように変更される。それらの内の1つの例は、バースト若しくは同期SRAMであり、初期のアクセスアドレスを増加させるために内部カウンタとメモリクロックとを含む。最初のアクセスの後に、外部のアドレスは必要ないので、SRAMは最初のアクセスが行われた後により早く動作する。同期SRAMもまた、インテル社のインターリーブアドレスシーケンスのような現在のアドレスシーケンスを供給するための特別なロジックも有する。そのような性能の増強は、メモリビットを記憶するためのSRAMセルを用いるコストを低減するものではない。
同期DRAM(SDRAM)は、同様のバーストモード動作を用いている。ビデオRAM(VRAM)は、デュアルポートのDRAMのシリアルポート動作を用いている。しかし、これらの新しいDRAMは、依然として、第2のレベルのキャシュ動作に適したものではないが、その理由はその初期アクセス時間及びランダムアクセスサイクル時間が、必要以上に長い値になっているからである。
従って、DRAMメモリを第2レベルのキャシュメモリとして使えるようにする構成及び方法を提供することが望まれている。
従来技術のコンピュータシステムはまた、CPUと同じ集積回路チップに集積化された複数のレベルのSRAMキャシュメモリを含む。例えば、DEC社の「Alpha 21164」プロセッサは、16キロバイトの第1レベルのSRAMキャシュメモリと、96キロバイトの第2レベルのSRAMとを同じ集積回路チップに集積化している。このような場合、第3のレベルSRAMキャシュメモリは通常、プロセッサとDRAM主メモリとの間で用いられる。このようなコンピュータシステムでは、第3のレベルのSRAMキャシュメモリに置き換えられるものとしてDRAMメモリを使うことが望ましい。
従来技術の高性能の第2レベルのSRAMのキャシュメモリデバイスは、一般的に、複数のピン及び機能仕様に適合しており、システムロジックコントローラ110が、複数の製造元から供給された様々な異なるSRAMキャシュメモリに対する適合性を操作するようになっている。そのようなピンと機能の使用との幾つかの例は、次の参考文献「Pentium(TM)Processor 3.3V Pipelined BSRAM Specification」(1994年10月5日 インテル社 バージョン1.2)「32K×32K CacheRAM(TM)pipelined/Flow Through Outputs Burst Counter,& Self−Timed Write−−For Rentium(TM)/PowerPC(TM)Processors」(1994年5月、インテグレイテッド・デバイス・テクノロジー・インコーポレイテッド、Advance Information IDT71V432)と、「32K×32K CacheRAM(TM)Burst Counter & Self−Timed Write−−For the Pentium(TM)Processor」(1994年5月、インテグレイテッド・デバイス・テクノロジー・インコーポレイテッド、Preliminary IDT71420)に説明されている。
従って、DRAMメモリを、通常は第2レベルのSRAMキャシュメモリを制御する通常の論理コントローラとの間でインタフェースされる第2レベルのキャシュメモリとして用いることを可能とする方法及び構成が望まれている。更に、従来の論理コントローラの変形を最小限に必要とす方法及び構成が望まれている。
発明の開示
本発明に基づけば、第2レベルのキャッシュメモリとして、DRAMアレイ若しくは複数のDRAMアレイを構成するための構成及び方法が提供される。本発明に基づく構成は、中央処理ユニット(CPU)、CPUと共に集積化されたSRAMキャッシュメモリ、CPUに接続されたCPUバスを備えたコンピュータシステム、及びCPUバスに接続されたDRAMアレイを有する第2レベルのキャッシュメモリを含む。第2レベルのキャッシュメモリは、或る実施例ではスタンドアロン型のメモリとして構成されている。他の実施例では、この第2レベルのキャッシュメモリはモノリシック集積化回路(IC)にシステムロジックと共に構成されかつ集積化されたメモリである。インテル社のペンティアム等の高ピンカウントマイクロプロセッサに対しては、コンパニオンシステムロジックコントローラが、複数の集積回路チップ(例えばインテル社の82430PCIセット)に伝達されていてもよい。そのようなシステムでは、本発明の第2レベルのキャッシュDRAMアレイは、システム論理チップの内の1つに集積化されていてもよく、好ましくはデータバスのためのシステム論理チップに集積化されている。他の構成では、第2レベルのキャッシュメモリはCPUとともに集積化されている。
本発明のDRAMアレイにアクセスするとき、行アクセス及び列デコーディング動作は、非同期的にセルフタイマ式に行われる。次に、予め決められたシーケンスの列選択動作が行われ、ここで列選択動作は1つのクロック信号に同期している。この非同期・同期アクセス方法は、DRAMアレイのアクセスの待ち時間を低減する。
ある実施例では、DRAMアレイが、CPUバスクロック信号に応答したデュアルエッジ伝達モードで動作する。次に、DRAMアレイが、このCPUバスクロック信号の周波数の2倍の周波数でアクセス動作を行う。従ってデュアルアクセスはCPUバスの動作の2倍の速さで行われる。
他の実施例では、第2レベルのキャッシュメモリは、CPUバスに接続されたフェーズロックトループ(PLL)回路を含む。このPLL回路は、CPUバスクロック信号の周波数よりも高い周波数を有する高速クロック信号を発生する。この高速クロック信号は、DRAMに供給されて書き込み及び読み出し動作を制御する。ある実施例では、高速クロック信号はCPUバスクロック信号の2倍の周波数を有する。この場合も、DRAMアクセスはCPUバスの動作の2倍の速度で行われる。
更に他の実施例では、第2レベルのキャッシュメモリは、CPUバスに接続されたフェーズロックトルーブ(PLL)回路を含む。PLL回路は、CPUバスクロック信号と等しい周波数のバッファされたクロック信号を発生し、CPUバスクロック信号に対して様々な位相関係を有する。
データ値は、DRAMアレイから、DRAMアレイに接続されたデータ入力ポートとCPUバスに接続されたデータ接続ポートとを備えた読み出しファーストインファーストアウト(データバッファ)メモリを介して、CPUバスに読み出される。データ入力ポートは、高速クロック信号によってクロックされており、データ出力ポートは、CPUバスのクロック信号によってクロックされている。DRAMアレイからのデータの読み出しが、CPUバスへの読み出しよりも早く行われるので、DRAMアレイをプレチャージするための時間が設けられる。このプレチャージ時間は、従って、第2レベルのキャシュメモリからの読み出し動作の間に、CPUバスから「隠れた」ものとなっている。代わりに、DRAMアレイと読み出しデータバッファとの間のデータ入力ポートの幅を拡張してもよく、データ入力ポートがCPUバスのクロック信号のバッファされた信号によってクロックされてもよい。このような変更によって、DRAMアレイと読み出しデータバッファとの間のより早い内部データ伝達速度が達成され、従ってDRAMアレイをプレチャージするための時間が設けられる。
データ値は、また、CPUバスから、DRAMアレイに接続されたデータ出力ポートとCPUバスに接続されたデータ入力ポートとを備えた書き込みデータバッファメモリを介して、DRAMアレイに書き込まれる。書き込みデータバッファメモリの出力ポートは、高速クロック信号によってクロックされており、書き込みデータバッファメモリの入力ポートはCPUバスクロック信号によってクロックされている。第1の集合のデータ値は、第2の集合のデータ値が書き込みデータバッファメモリへ書き込まれるまで、書き込みデータバッファメモリに書き込まれかつ記憶されている。この時、データ値の第1の集合のデータ値が、高速クロック信号の周波数でDRAMアレイに書き込まれる。第1の集合のデータ値は、第2の集合のデータ値が書き込みデータバッファメモリに書き込まれるよりも早くDRAMアレイに書き込まれるので、DRAMのプレチャージ動作は、第2の集合のデータ値が書き込みデータバッファメモリへ書き込まれる間に行われる。従って、DRAMの書き込み動作は、第2のキャシュメモリに対する書き込み動作の間にCPUバスから効果的に「隠れた」状態にある。代わりに、書き込みデータバッファメモリとDRAMアレイとの間のデータ出力ポートの幅を拡張してもよく、データ出力ポートがCPUバスのクロック信号のバッファされた信号によってクロックされてもよい。このような変更によってまた、書き込みデータバッファメモリとDRAMアレイとの間のより早い内部データ伝達速度が達成され、これによりDRAMアレイをプレチャージするための時間が設けられる。
DRAMアレイを、CPUバスに比べてより広いデータバスによって、若しくはより早いクロック信号によって動作させることにより、DRAMメモリアレイは、第2メモリのキャシュメモリに必要とされる速度及び動作条件を満足するように用いることができる。そのようなDRAMメモリアレイは、従来のSRAMを用いた場合に比べて、低コストで、通常75%未満で、使用することができる。
他の実施例では、DRAMアレイへの及びDRAMアレイからのデータ値は、センス増幅器回路と、データ増幅回路と、センス増幅器回路とデータ増幅回路との間に接続された列セレクタとを介してルートされる。この時、DRAMアレイへのデータ値の書き込みは、(1)データ増幅器回路をセンス増幅器回路から切り離すための、列セレクタを開く過程と、(2)書き込みデータバッファメモリからのデータ値のデータ増幅器回路への、DRAMアレイでの行アクセス動作の実行と実質的に並列形式で行われる、書き込み過程と、(3)データ増幅器回路をセンス増幅器回路へ接続するための列セレクタを閉じた状態にし、センス増幅器回路を介してデータ値をDRAMアレイに供給する過程とを有する。書き込みデータバッファメモリへのデータ値の書き込みを、行アクセス動作と並列に行うことによって、DRAMアレイをプレチャージするための時間を増加させることができる。
列セレクタは更に、DRAMプレチャージ動作の時間を増やすためにDRAM読み出し動作の間にも用いることができる。そのために、データ値はDRAMアレイからセンス増幅器回路へ読み出される。列セレクタは、次に閉じた状態となり、センス増幅器回路をデータ増幅器回路へ接続する。データ値がデータ増幅器回路へ書き込まれた後に、列セレクタが開いた状態となり、これによってセンス増幅器回路がデータ増幅器回路から切り離される。データ値は、次に、DRAMアレイがプレチャージされている間にデータ増幅器から読み出される。
本発明のDRAMキャッシュメモリは、トランザクションベースによってトランザクションで動作する。トランザクションは、ある与えられたアドレスに対する1つの完全な読み出し若しくは書き込みデータアクセスサイクルとして定義される。トランザクションは、1つのデータ値の伝達、又は4つのデータ値のバースト伝達を含む。バースト伝達は、連続したクロックサイクル、即ち1つ置きのクロックサイクル、又は2つ置きのクロックサイクルで、データ値を伝達する。DRAMキャッシュメモリのトランザクションは、読み出しトランザクションまたは書き込みトランザクションの何れかとして実行されなければならず、両方のトランザクションとしては実行できない。即ち、DRAMキャッシュメモリのトランザクションは、部分的な読み出しトランザクション及び部分的な書き込みトランザクション、又はデータの伝達が始まる前の読み出しトランザクションからの書き込みトランザクションへの変更を含むものではない。一方、標準的なSRAMでは、バーストSRAM(DSRAM)またはパイプラインされたバーストSRAM(PBSRAM)メモリでは、トランザクションは読み出し若しくは書き込みの何れとしても開始され、クロックベースによるクロックへの書き込み若しくは読み出しへの変化として開始される。この理由は、SRAMのアクセスは、入力レジスタ若しくは出力レジスタを伴うか否かにかかわらず、メモリセルアレイから及びメモリセルアレイへ直接行われ、読み出し若しくは書き込み動作がメモリセルへ直接行われるからである。
本発明のDRAMキャシュメモリのトランザクションベースの構成は、DRAMキャシュメモリと書き込み動作をバッファするために用いられる書き込みデータバッファとの内部の2ステップのアクセス(RAS及びCAS)を原因として生ずる不正な若しくは遅れた内部動作を防止するために制御信号を用いる。好適な実施例では、CPUによって開始されたアドレスストローブ入力信号(ADSP#)と、コントローラによって開始されたアドレスストローブ入力信号(ADSC#)が、標準のPBSRAMに適合する方法により、新たなトランザクションの開始を表すために用いられている。ライト書き込みイネーブル入力信号(BWE#)と、グローバル書き込み入力信号(GW#)が、標準的なPBSRAMと適合する方法によって書き込み制御信号として用いられている。更に、W/R#入力信号(通常はCPUによって供給されている)が、公知の方法によって実行されるDRAMキャシュメモリの読み出し及び書き込みトランザクションをイネーブルするために用いられている。
SRAMアレイとは異なり、DRAMアレイは、また、データの完全性を補償するためにセルのキャパシタの電荷を再充電するために周期的なリフレッシュ動作を必要とする。通常のCPU動作及びシステムコントローラの動作を妨害せずに、DRAMアレイのリフレッシュ(内部)動作を行うために、ハンドシェイク(Krdy)信号が、DRAMキャシュメモリとシステムコントローラとの間のデータの伝達のために必要とされので、一方DRAMアレイがリフレッシュされるあいだにシステムコントローラの動作とCPUの動作が遅れることもある。好適な実施例では、DRAMアレイの1つの信号ピンが、ハンドシェイク信号を伝達するために用いられている。この信号ピンは、標準的なPBSRAMシステムコントローラに対して最大の適合性を保持するものである。
或る実施例では、Krdy信号のたち下がりエッジが、リフレッシュ動作またはその他の内部動作リクエストが継続中であることを表し、Krdy信号の立ち上がりエッジが、リフレッシュ若しくは他の内部動作が完了していることを表す。Krdy信号の極性は任意に選択され、同じ効果を得るために相異なる極性を用いてもよい。DRAMキャシュメモリとシステムコントローラの両方が、少なくとも各々の新たなトランザクションの開始時点でKrdy信号をサンプリングして、このトランザクションはADSP#信号若しくはADSC#信号によって表されている。
このKrdy信号は、また、違う用いられ方をしてもよい。或る好適な実施例では、Krdy信号は入力/出力信号として用いられている。複数のDRAMキャシュメモリデバイスがメモリの幅若しくは長さを拡張するために、若しくは幅及び長さを拡張するために用いられている場合、Krdy信号は、複数のメモリデバイスにおいてDRAMリフレッシュ及び/又は内部動作を同期化するために用いられる。より詳しくは、DRAMキャシュメモリ装置のうちの1つが、リフレッシュ動作のためのマスタ装置として指定されている。このマスタDRAMキャシュメモリ装置は、Krdy信号を、システムコントローラの間の情報の伝達をするために、及びリフレッシュ制御関数を制御するために用いる。残りのDRAMキャシュメモリデバイスの各々は、Krdy信号を占有し、かつスレーブデバイスとして指定されている。各々のスレーブデバイスは、それ自身をリフレッシュ若しくは内部動作を適切に制御するために、Krdy信号の状態をサンプルする。
他の実施例では、Krdy信号は、システムコントローラによって供給され、各々のDRAMキャシュメモリは、低状態のKrdy信号を検出したときに、予め決められたリフレッシュ動作を開始しそして完了する。本発明は、図面を参照しながら行われる以下の詳細な説明によってより十分に理解される。
【図面の簡単な説明】
第1図は、第2レベルのSRAMキャッシュメモリを有する従来技術のコンピュータシステムのブロック図である。
第2図は、本発明に基づく第2レベルのDRAMキャッシュメモリを有する従来技術のコンピュータシステムのブロック図である。
第3(a)図及び第3(b)図は、各々、セルフタイム形式のRAS/CAS/バーストアクセスシーケンサの模式図と、タイミング図とである。
第4図は、高速列アクセス回路の模式図である。
第5図は、CPUバスクロックの2倍の周波数で第2レベルのDRAMキャッシュメモリの動作を行わせるための回路の模式図である。
第6図は、2−1−1−1の第2レベルのDRAMキャッシュ読み出し動作のタイミング図である。
第7図は、2−1−1−1の第2レベルのDRAMキャッシュ書き込み動作のタイミング図である。
第8図は、本発明の他の実施例に基づく2−1−1−1の第2レベルのDRAMキャッシュ読み出し動作のタイミング図である。
第9図は、本発明の他の実施例に基づく2−1−1−1の第2レベルのDRAM書き込み動作のタイミング図である。
第10図は、本発明のある実施例に基づく3−1−1−1の第2レベルのDRAMキャッシュ読み出し動作のタイミング図である。
第11図は、本発明のある実施例に基づく3−1−1−1の第2レベルのDRAMキャッシュ書き込み動作のタイミング図である。
第12図は、リフレッシュ制御コントローラの模式図である。
第13図は、本発明のある実施例に基づく、キー信号ピンを備えた通常のシステム環境での第2レベルのDRAMキャッシュメモリを表す模式図である。
第14(a)図及び第14(b)図は、本発明のある実施例に基づく、トランザクションベースの第2レベルのDRAMキャッシュ書き込み及び読み出し動作のタイミング図である。
第15図は、DRAM(第2レベルの)キャッシュメモリに対するキャッシュレディ信号のハンドシェイクプロトコルのタイミング図である。
発明を実施するための最良の形態
第2図は、本発明に基づく第2レベルのDRAMキャッシュメモリ213を含むコンピュータシステム200のブロック図である。コンピュータシステム200は、第2レベルのDRAMキャッシュメモリ213の他に、CPU201と、第1レベルのSRAMキャッシュメモリ202と、CPUバス204と、ラッチ212及び216と、第2レベルSRAMキャッシュタグメモリ208と、システムロジックコントローラ211と、主DRAMメモリ214と、システムバス218と、ブリッジバッファ回路222と、システムバスデバイス220と、拡張バス224とを含む。
DRAMキャッシュメモリ213は、「第2レベルの」キャッシュメモリとして説明されているが、本発明は、また第2レベルの(例えば、第3レベル若しくは第4レベルの)より高いレベルのキャッシュメモリにも用いることができることが理解される。一般的に、本発明は、「次のレベルの」キャッシュメモリに用いることができ、ここで「次のレベルの」キャッシュメモリとは、プロセッサと大容量の主メモリ(この主メモリは通常DRAMからなる)との間に接続されたキャッシュメモリとして定義されている。この定義を用いることによって、「第2レベルのキャッシュメモリ」は、以下の説明では「次のレベルのキャッシュメモリ」と置き換えることができる。
通常は第1レベルのSRAMキャッシュメモリ202と同じ集積回路チップに集積化されて製造されるCPU201は、CPUバス204の制御、アドレス、及びデータラインに接続されている。第2レベルのSRAMキャッシュタグメモリ208は、ラッチ212を介してCPUバス208のアドレスラインからアドレス信号を受け取る。システムロジックコントローラ211(第2レベルのDRAMキャッシュメモリ213と主メモリ214とを制御する)が、CPUバス204の制御、アドレス及びデータラインに接続されている。ある実施例では、主DRAMメモリ214は、ラッチ216を介してCPUバス204のデータラインからのデータ信号を受け取る。他の実施例では、主DRAMメモリ214は、データパス226を介してシステムロジックコントローラ211からデータ信号を受け取る。システムロジックコントローラ211は、キャッシュタグメモリ208及び主メモリ214との間で従来通り情報の伝達を行う。或る実施例では、SRAMキャッシュタグメモリ208と、ラッチ212と、システムロジックコントローラ211と、第2レベルのキャッシュメモリ213とは、同一の集積回路チップ210に製造されている。他の実施例では、第2レベルのDRAMキャッシュメモリ213と、システムロジックコントローラ211とは別個の集積回路チップ上に製造されている。更に他の実施例では、第2レベルのDRAMキャッシュメモリ213とシステムロジックコントローラ211とは、CPU201と第1レベルのSRAMキャッシュメモリ202とが設けられている集積回路チップに製造されている。
CPUバス204、SRAMキャッシュタグメモリ208、システムバス218及び主メモリ214からのデータバスは、システムロジックコントローラ211に接続されているので、このシステムロジックコントローラ211は、CPUバス204とタイアップせずに局部的にデータトラフィックの大部分を制御することができる。例えば、システムロジックコントローラ211は、主メモリ214と第2レベルのDRAMキャッシュメモリ213との間の、又はシステムバス218と主メモリ214との間のデータトラフィックを制御する。従って、CPUバス204の負荷がより軽くなり、CPUバス204の物理的なレイアウトがより小型になり、従ってCPUバス204の動作がより迅速となる。
本発明の実施例は、SRAMセルベースの第2レベルのキャッシュメモリの性能と整合する第2メモリのキャッシュメモリとして、第2レベルDRAMキャッシュメモリ213を良好に使用するための多くの課題を解決する。これらの課題には、(1)低速度のアクセスの待ち時間と、(2)プレチャージ時間と、(3)リフレッシュの調停及び制御とが含まれている。これらの課題は以下に説明するよう解決される。
(1)低速度のアクセスの待ち時間
DRAMセルアレイのアクセスタイムは、行アクセス(RAS)時間(即ち、行アドレスをデコードし、行ワードラインを選択し、DRAMセルアレイから列領域のセンス増幅器へ1行のデータビットをロードするために要する時間)と、列アクセス(CAS)待ち時間(即ち、列アドレスをデコードし、列を選択し、センス増幅器からデータ増幅器へデータを読み出し、次にデータ信号を集積回路チップの入力/出力領域に伝達するために要する時間)とからなる。行及び列アクセスの待ち時間の合計は、SRAMアクセスの待ち時間(7から25n秒)に比較してかなり長い(45から60n秒)。DRAMアクセスは長く、その理由は、2ステップのシーケンシャルなアクセスと、かなり長い列デコーディング及びアクセス時間(17から25n秒)とである。
疑似SRAM及びBiCMOS高速DRAM(例えば、デマルチプレクスアドレス方式を用いた日立製作所の35n秒・1メガバイトのBiCMOSDRAM)などのいくつかの従来技術のDRAMデバイスは、全体の行及び列アドレスが一度に集積回路チップに供給され、かつ内部の2ステップアクセスが完全に非同期的に行われるSRAM類似のインタフェースを用いている。しかしながら、これらの疑似SRAMデバイスは、RAS及びCASデータ動作、プレチャージ時間、及びアレイリフレッシュ動作を、各アクセスサイクルに組み合わせて、標準の非同期SRAM動作をエミュレートしている。その結果、これらの疑似SRAMデバイスは、非常に低速度で、キャッシュメモリとして用いるには適さない。
BiCMOS高速DRAMは、デマルチプレクスアドレス方式によって、行及び列アドレスが、別個のアドレスピンを用いて各アクセスサイクルの初めにロードされるので、短い初期アクセス時間を有する。しかしながら、BiCMOS高速DRAMは依然として、従来の非同期DRAM(即ち長いアクセスサイクル時間と比較的低速度の一連のアクセス)という制約の下で動作するものである。
本発明のある実施例では、第2レベルのDRAMキャッシュメモリ213へのアクセスは、第2レベルのDRAMキャッシュメモリ213内へセルフタイム形式のRAS/CAS/バーストシーケンサを含めることによってより速く行われる。バーストシーケンサは、以下に説明されるようにシームレス方式でDRAMアクセスの非同期的及び同期的動作を制御する。第3a図は、本発明に基づくセルフタイム形式のRAS/CAS/バーストシーケンサ300のブロック図である。バーストシーケンサ300は、第2レベルのDRAMキャッシュメモリ213内に含まれているアクセス回路の一部を表している。バーストシーケンサ300は、制御回路301と、行アドレスレジスタ302と、列アドレスレジスタ303と、行デコーダ304と、行セレクタ305と、センス増幅器制御回路306と、遅れ回路307−308と、センス増幅器回路306と、列デコーダ310と、列セレクタ311と、データ増幅器回路321と、バーストシーケンスコントローラ313とを含む。バーストシーケンサ300は、DRAMメモリセル317のアレイをアクセスするために用いられる。
第3b図は、バーストシーケンサ300の動作を表す波形図である。第2レベルのDRAMキャッシュメモリ213にアクセスするために、CPU201は、第2レベルのDRAMキャッシュメモリ213にCPUバス204を介して制御信号を伝達する。第2レベルのDRAMキャッシュメモリ213は、この制御信号を、アドレスストローブ信号(例えば第5図のタイミング制御回路502を参照)に変換し、制御回路301に供給する。CPU201はまた第2レベルのDRAMキャッシュメモリ213にCPUバス204を介してアドレスを伝達する。第2レベルのDRAMキャッシュメモリ213は、この制御信号を列及び行アドレス(第5図のアドレスバッファ503を参照)に変換し、行アドレスレジスタ302と列アドレスレジスタ303とに各々供給する。アドレスストローブ信号に応答して、制御回路301は、各々、レジスタ302と303にラッチされる全行アドレスと全列アドレス(図面を明瞭にするために図示されてはいないが、及びバンクアドレス)を発生させる。行アドレス及び列アドレスを同時にラッチすることは必要なく、この理由は列アドレスはRAS動作が完了するまで必要ないからである。RAS動作の完了する前に列アドレスがレジスタ303へラッチされる限り、速度に関する不利は生じない。
行アドレスレジスタ302に記憶された行アドレスと、制御回路301によって発生された行デコード信号(第3B図)とが、行デコーダ304に伝達される。これに応じて、行デコーダ304は、行アドレスをデコードし、このデコードされたアドレスを行セレクタ305に伝達する。行セレクタ305は、DRAMアレイ317内の適切なワードラインをオン状態にする(第3B図)(即ち、行選択動作を実行する)。
次に、センス増幅器イネーブル信号(第3b図)が、遅れ回路307によって発生され、センス増幅器回路306に伝達される。これに応じて、センス増幅器回路306のセンス増幅器が導通状態となり、DRAMアレイ317内の選択された行のデータ値を受け取る。遅れ回路307によって生み出された非同期遅れが、行デコーダ304と、行セレクタ305と、DRAMアレイ317の固有の遅れに基づいて選択され、センス増幅器回路306は、DRAMアレイ317の選択された行からのデータ値が利用可能になるとすぐに(即ち、行アクセス動作が完了するとすぐに)イネーブルされる。遅れ回路307は、インバータの直列に接続された回路若しくはRC回路などさまざまな方法によって実現される。
行アクセス動作が実行されているのと同時に、列アドレスが列アドレスレジスタ303から列デコーダ310に供給され、列デコーダ310は列デコード動作を実行できる。同時に、バーストシーケンスコントローラ313がセットアップされ、列アドレスレジスタ303から受け取られた初期列アドレスに基づいてシーケンスをスクランブルする特別なアドレスを供給する。例えば、インテル486及びペンティアムマイクロプロセッサ「modula−4」シーケンスは、0−1−2−3、1−0−3−2、2−3−0−1、及び3−2−1−0である。
センス増幅器回路306がオン状態となり、列デコード動作が完了した後に、列デコーダ310は、遅れ回路308からの列デコードイネーブル信号を受け取る。この列デコードイネーブル信号によって、列デコーダ310が列セレクタ311へデコードされた列アドレスを供給する。初期のデコードされた列アドレスが列セレクタ311に供給された後に、バーストシーケンスコンピュータ313によって、列デコーダ310は各々の半分のクロックサイクルの間に一度だけ列セレクタ311へ供給されるデコードされた列アドレスを順番に変化させる。その結果、順番のデータ(バーストシーケンスコントローラ313によって決定された適切なバーストシーケンススクランブルを伴った)が、クロック信号と同期してデータ増幅器312へ読み込まれる。ある実施例では、クロック信号はCPUバスクロック信号(即ち、CPUバス304によって供給されたクロック信号のバッファされたコピーのクロック信号)からなる。
クロック信号はまたデータ増幅器回路312へも供給される。データは、クロック信号の立ち上がりエッジと立ち下がりエッジの両方でデータ増幅器回路312からデータライン330へ読み出される(即ち二重エッジ伝達)。本明細書中では、動作が「クロックエッジで」発生したと記載された場合、その動作はクロックエッジの発生の直後に行われることを表している。
バーストモードの書き込み動作は、データが集積回路チップの入力/出力回路から供給され、かつ適切なバーストアドレスシーケンスを伴って適切なセンス増幅器306へ列セレクタ311を介して及びデータ増幅器312へ同期してロードされること以外は、読み出し動作と概ね等しい。非同期的なセルフタイムのRAS及びCAS動作によって、クロック周波数とは独立した非常に厳密なアクセスタイミング(即ち、RAS及びCASアクセス時間が一定であり、かつクロック周波数の関数ではないということ)が達成され、一方同時にクロック周波数に比例するバースト読み出し/書き込み動作のための十分に同期した動作を用いることができる。
第4図は、第3a図の列セレクタ311とデータ増幅器回路312との一部分の模式図である。以下の説明は、第4図の回路が二重エッジデータ伝達を行うものとして説明される。
列セレクタ311は、3個のデコーダ311aと311bとを含む。ツリーデコーダ311aと311bは、予め決められた数の(例えば32本の)相補信号ラインを介してセンス増幅器回路306に接続されている。ツリーデコーダ311aと311bは列デコーダ310にも接続されている。この例示された実施例では、列デコーダ310は制御信号SA[7:0]及びFB[3:0]を供給し、この信号によってツリーデコーダ311aと311bは、センス増幅器回路306のセンス増幅器の1つをデータ増幅器回路312へ選択的に接続する。
データ増幅器回路312は、データ増幅器312aと312b、マルチプレクサ907、読み出しデータラッチ914、書き込みバッファ903と913、3状態バッファ905、及びクロック発生回路918を含む。第4図に例示された回路は、センス増幅器回路306の64個のセンス増幅器を構成する。第4図の回路は、センス増幅器回路306の64個のセンス増幅器ごとに繰り返される。或る実施例では、データ増幅器回路312のデータ増幅器の全個数は、DRAMアレイ317から読み出される若しくはDRAMアレイ317へ書き込まれる各データワードのビット数と等しい。
ツリーデコーダ311aと311bの相補出力は、各々、データ増幅器312aと312bとに供給されている。データ増幅器312aと312bは、交差接続されたトランジスタ907−903とトランジスタ974−977とを含む再構成可能なラッチからなる。これらの再構成可能なラッチは、局部的に発生された信号位相クロック信号Dsenseによって制御されている。ローカルセルフタイムクロック回路918は、データ増幅器312a及び312bと、マルチプレクサ907とを制御するために用いられる制御信号を発生する。列プレチャージ信号/PC及びDsense信号は、クロック信号、列アクセス(CAS)信号及びバスプレチャージ信号/WE(書き込み動作のための)に応じて発生するCA及び/WE信号は、制御回路301によって発生される。クロック信号は、第3a図及び第3b図に関して説明されたクロック信号と等しい。/P及びDsense信号は、データ増幅器のペア312a及び312bの内部の回路を駆動することのない局部的な(ローカルな)信号である。即ち、制御信号のタイミングスキューは最小とされている。
読み出し動作
読み出し動作を実行するために、/WE信号はアサートされて高状態となる。その結果、書き込みバッファ903及び913のトランジスタ950−953が、ターンオフされ、3状態バッファ905が低インピーダンス状態とされる。CAS信号がアサートされて高状態となる。クロック信号の初めの半サイクルの間にクロック信号は論理高状態であり、従ってDsense信号と/PC信号との両方が論理高状態とされる。このような条件の下で、3個のデコーダが311a及び311bの相補出力が、各々、データ増幅器312aと312bとにラッチされる。
例えば、リード線925の論理低の信号と、リード線926の論理高の信号とが、トランジスタ971と927とをターンオンさせ、トランジスタ970と973とをターンオフさせる。高状態のDsense信号によってトランジスタ961がターンオンされる。その結果、ノード991が、トランジスタ972及び961を介してグランド電位にプルダウンされ、ノード992がトランジスタ971を介してVddにプルアップされる。同じように、リード線926の論理低の信号とリード線925の論理高の信号によって、ノード992はトランジスタ973及びトランジスタ961を介してグランド電位にプルダウンされ、、ノード991は、トランジスタ970を介してVddにプルアップされる。
データ増幅器312bは、データ増幅器312aと同じように動作して、リード線927と928の信号をラッチする。即ち、リード線927の論理高の信号と、リード線928の論理低の信号とが、ノード993をトランジスタ974を介してVddにプルアップし、ノード944をトランジスタ977及び962を介してグランド電位にプルダウンする。同様に、リード線927の論理低の信号とリード線928の論理高の信号とが、ノード993をトランジスタ976及び962を介してグランド電位にブルダウンし、ノード994をトランジスタ975を介してVddにプルアップする。
マルチプレクサ907内では、高状態のDsense信号によって、伝達ゲート995及び997が閉じた状態(即ち、導通状態)とされ、伝達ゲート996が開いた状態(即ち、非導通状態)とされる。その結果、ノード992の電圧が、伝達ゲート995と3状態バッファ905とを介してデータライン330へ伝達される。データライン330は、3状態バッファ905を入力/出力回路のバストランシーバへ直接接続する。この接続によって、このラインには他の信号がマルチプレクスされていないので、ルーティングキャパシタンス以外の負荷が発生しない。データライン330への負荷は、即ち、従来の方法に於ける負荷よりも実質的に小さい値となる。従って、本発明のデータラインは、より高い周波数(最高で250MHz)で動作することができる。
更に、ノード933の電圧が、伝達ゲート997を介して伝達され、読み出しデータラッチ914へ記憶される。クロック信号の2番目の半サイクルの間に、クロック信号が低状態となるので、信号Dsense及び/PCが低状態となる。この信号/PCに応答して、トランジスタ920−923がターンオンされる。その結果、リード線925−928がVdd(即ち、リード線925−928がプレチャージされる)に接続される。更に、低状態の信号Dsense信号が、伝達ゲート995及び997を開いた状態とし、伝達ゲート996を閉じた状態とする。その結果、読み出しデータラッチ914に記憶されている電圧が、伝達ゲート996と3状態バッファ905とを介して、この第2の半サイクルの間にデータライン330へ読み出される。上述されたように、増幅器回路306からデータライン330へのデータの二重エッジ伝達が行われる。
書き込み動作
書き込み動作を実行するために、/WE信号がアサートされて低状態となり、これによって3状態バッファ905が高インピーダンス状態となり、書き込みバッファ903及び913の各NORゲート954−957の入力に論理低信号が供給される。クロック信号の初めの半サイクルの間に、クロック信号が論理低状態なので、伝達ゲート906が閉じた状態となり、伝達ゲート916は開いた状態となる。データライン330の信号が、NORゲート955の入力にルートされる。例えば、データライン330の高状態の信号が、NORゲート955に対して論理低信号をトランジスタ951へ供給させ、これによりトランジスタがターンオフされる。NORゲート954の論理低の出力はNORゲート954の入力にも供給され、NORゲート954に対して論理高状態の信号を出力させ、トランジスタ950をターンオンさせる。
低い状態の/WE信号は又、信号Dsenseと/PCとを高い状態とし、これによってpチャネルトランジスタ961−962をターンオフさせる。その結果、pチャネルトランジスタ971とnチャネルトランジスタ972とがターンオフされる。従って、3個のデコーダ311aがリード線926から電源電圧Vddとリード線925のグランド電位の電源電圧とを受け取り、これにより高状態のデータ値がセンス増幅器の選択された列に書き込まれる。
入力データライン330からの入力が、論理低の信号の場合(上述された論理高の信号ではない場合)、ツリーデコーダ311aは、リード線926のグランド電位の電源電圧と、リード線925の電源電圧Vddとを、上述されたように受け取る。このようにして、クロック信号の各半サイクルの間に、データがデータライン330からセンス増幅器へ書き込まれる。伝達ゲート906と916とによって実行されるデマルチプレクスが必要であり、その理由はツリーデコーダ311aおよび311bによって選択されたアドレスが各クロックサイクルごとに一度だけ変化するからである。
ツリーデコーダ311a及び311bは、マルチプレクスの負荷を(通常の従来の方法による512ラインに対して)約12ライン(8+4)に制限する。データ増幅器回路によって達成された低減された容量性負荷(ローディング)とより高い駆動信号とによって、データの帯閾幅が拡張される。
遅延マッチング
列回路における遅延マッチングは、クロック信号と、予めデコードされた列選択信号Sa[7:0]及びSb[3:0]と、データ信号とを、メモリアレイの列領域を介して同様に伝達するラインをルーティングすることによって最小化される。
他の実施例
第5図は、他の実施例を表しており、この実施例ではクロック信号の周波数が2倍にされ、クロック発生回路918(第4図)は、データ値が、クロック信号の各立ち上がり(又は立ち下がり)エッジで、データ増幅器回路312から読み出され(若しくはデータ増幅器回路312へ書き込まれ)るように変更されている。即ち、データ値は、上述された実施例と同じ速度でデータライン330を介して伝達される(即ち、CPUバスクロックの周波数の2倍の周波数で伝達される)。クロック発生回路918は、クロック信号がクロック発生回路918に供給される前に、1ビットカウンタ(図示されていない)を介して周波数が2倍にされたクロック信号を伝達することによって変更される。クロック発生回路918のその他の変更によって、第4図の回路が周波数が2倍にされたクロック信号に対して単一エッジ伝達モードで動作できることは、当業者には明らかである。
フェイズロックトループ(PLL)回路501は、CPUバスクロック信号(第2図のCPUバス204からの)をバッファし、CPUバスクロック信号と同じ周波数のクロック信号(以下1Xクロック信号と呼ぶ)と、CPUバスクロック信号の2倍の周波数のクロック信号(以下2Xクロック信号と呼ぶ)とを発生させる。1X及び2Xクロック信号は、入力されたCPUクロック信号に対して固定された位相関係を有する。これらの位相関係は、データのセットアップを行い、適切にデータを伝達するための時間を保持するように選択されている。
アドレスバッファ503は、CPUバスアドレスをラッチし、これを行及び列アドレスにデコードする(説明を簡単にするために、ここでは例示されていないが複数のDRAMアレイが存在する場合には、バンクアドレスをもデコードする)。タイミング制御回路502は、(アドレスバッファ503から受け取られた)CPUバスアドレスからの内部アドレスストローブ信号と、CPUバス204から受け取られた制御信号とから、内部アドレスストローブ信号を求める。アドレスストローブ、行アドレス、列アドレス、及び2Xクロック信号が、バーストシーケンサ300とDRAMアレイ317とへ供給される。バーストシーケンサ300とDRAMアレイ317とは、これらの信号に対して概ね上述されたように(第3a図参照)動作する。
アドレスバッファ503は、現在のアクセスが進行中に次のアクセス動作のアドレスを記憶するためのラッチ(プレフェッチバッファ)を更に有していてもよい。このプレフェッチバッファは、動作と動作の間の待ち時間サイクルを低減するように、バックトウバック動作が部分的にオーバラップするように、パイプライン動作を行うことができる。
第5図に例示された回路の残りの部分は、DRAMアレイに必要とされるプレチャージ時間によって生じた問題を解決するためのものである。
(2)プレチャージ時間
DRAMセルアレイの動作は、通常の読み出し若しくは書き込み動作(RAS+CASアクセス)の後に、任意の後続のRAS動作が開始される前に、選択された行がデセレクト(de−selelct)され、かつセンス増幅器がターンオンされて等化にされることを必要とする。この動作は、プレチャージ動作と呼ばれる。このプレチャージ動作を実行するために必要とされる時間は、プレチャージ(PRE)時間と呼ばれる。このPRE時間は、センス増幅器と比較的高い容量性ビットラインとを十分に等化にするだけの十分の長さであり、次のRAS動作に関してセルのキャパシタからセンス増幅器へ供給された非常に小さい信号が正しくかつ高い信頼度で読み出される。このPRE時間は、DRAMが、SRAMによって容易にサポートされるバックトウバックアクセスを実行することを防止する。即ち、DRAMのアクセスサイクル時間はそのアクセス待ち時間よりも非常に長く(1.5Xから2X)、一方SRAMのアクセスサイクル時間は、そのアクセス待ち時間に概ね等しい。
SRAMの実行と共にDRAMを用いることができるようにするために、PRE時間は、CPUバスのアクセス動作から実質的に「隠れた」ものでなければならない。第5図に例示された読み出しデータバッファ504と、書き込みデータバッファ505と、書き込みデータバッファ506とが、このPRE時間はアクセス動作が隠れたものとなるように動作する。
以下により詳しく説明されるように2Xクロック信号は、DRAMアレイ317と、読み出しデータバッファ504のデータ入力端子と、書き込みデータバッファ506のデータ出力端子とを、クロックするために用いられる。1Xクロック信号は、読み出しデータバッファ504のデータ出力端子と、書き込みデータバッファ505のデータ入力端子とをクロックするために用いられる。
データ値は、読み出しデータバッファ504を介してDRAMアレイ317からCPUバス204へ読み出される。データ値は、2Xクロック信号の周波数で読み出しデータバッファ504へ読み込まれる。次に、データはCPUバスクロック信号の周波数で読み出しデータバッファ504から読み出される。このようにして、読み出しデータバッファ504は、クロック再同期化を実行する。
一方、データ値は、書き込みデータバッファ505と書き込みデータバッファ506とを介して、CPUバス204からDRAMアレイ317へ書き込まれる。データ値は、CPUクロック信号の周波数で書き込みデータバッファ505へ読み込まれ、2Xクロック信号の周波数で書き込みデータバッファ506から読み出される。
クロックとデータとのスキューを最小にするために、DRAMアレイ317は代わりに、ソース同期化形式のデータを伴って2Xクロック信号を読み出しデータバッファ504に供給してもよい。この代わりの2Xクロック信号は、DRAMアレイ317から出力された2Xクロック信号がDRAMアレイ317から出力されたデータ値に対する予め決められた遅れと位相関係とを有するように、選択されたパスに沿って伝達される、リターンクロック信号からなる。
第6図は、第5図の回路によって実行される2−1−1−1データ読み出しバースト動作のタイミング図である。アドレスストローブ信号がアサートされて低状態となった後に、RAS及びCAS動作が、セルフタイム非同期形式(第3a図及び第3b図参照)で開始される。アドレスストローブ信号がアサートされた後の2つの立ち上がりクロックエッジと、RAS及びCAS動作が完了し、バースト読み出し動作が、2Xクロック信号に対する完全に同期した形式でDRAMアレイ317によって実行される。DRAMアレイ317からの読み出しバーストデータは、2Xクロック信号によって読み出しデータバッファ504内へクロックされる。読み出しバーストデータは、1Xクロック信号で読み出しデータバッファ504からCPUバスへクロックアウトされる。読み出しデータバーストが完了すると直ぐに、プレチャージ動作がDRAMアレイ317に対して開始され、これによって次の動作に対するDRAMアレイ317が準備される。この次の動作は、通常のバックトウバックアクセス若しくはパイプラインアクセスの何れでもよい。この読み出しデータバーストは、2Xクロック信号で読み出しデータバッファ504へ書き込まれるので、データが1Xクロック信号によって読み出しデータバッファ504から読み出される前のプレチャージ動作を行うための時間が残されている。即ち、このプレチャージ時間は、CPUバス204から隠れている。このプレチャージ時間が十分短い場合、DRAMアレイ317は、次の動作のために一度に読み出されることが可能であり、これによりパイプライン動作が可能となる。
第7図は、2−1−1−1データ書き込みバースト動作のタイミング図を表している。CPUバス204のデータラインは、CPUバスクロック信号の周波数(即ち、1Xクロック信号の周波数)と同じ速度で書き込みバーストデータを受け取るので、全体の書き込みバーストは第5番目のクロックサイクルの終了まで完了しない。即ち、2−1−1−1データ書き込みバースト動作では、プレチャージ動作を行うための時間が残されていない。従って、別個の書き込みデータバッファ505(第5図)、CPUバス204から第1のグループの書き込みバーストベータ値(例えば、D1−D4)をラッチするために用いられる。第2のグループの書き込みバーストデータ値(例えば、D1/−D4/)がCPUバス204から伝達された時(複数の読み出しバーストが介在する場合もある)、第1のグループの書き込みバーストデータ値D1−D4は、書き込みデータバッファ506を介してDRAMアレイ317へ伝達される。第2のグループの書き込みバーストデータ値D1′−D4′は、次に、書き込みデータバッファ505へ記憶される。アドレスストローブ信号が、セルフタイムの非同期形式(第3a図及び第3b図を参照)によってRAS及びCAS動作を開始する。第1のグループの書き込みバーストデータ値D1−D4は、2Xクロック信号によって完全に同期した形式で書き込みデータバッファ506からクロックされる。データ値D1−D4がDRAMアレイ317へ書き込まれた後に、プレチャージ動作が開始される。書き込みデータバーストは2Xクロック信号によってDRAMアレイ317へ書き込まれるので、データ値D1/−D4/が1Xクロック信号によって書き込みデータバッファ505へ書き込まれる前に、プレチャージ動作を実施するための時間は残されている。即ち、プレチャージ時間はCPUバス204から隠れている。再び、プレチャージ時間が十分に短い場合、DRAMアレイ317は一度に次の動作に対する準備が整い、これによってパイプライン動作が可能となる。
第5図は、書き込みデータバッファ506から読み出しデータバッファ504へのデータバイパスパス510をも表している。データバイパスパス510によって、CPUバス204が、書き込みデータバッファ505若しくは書き込みデータバッファ506に記憶されまだDRAMアレイ317へ送られていない複数の書き込みバーストデータへアクセスすることを必要とするといった特別な場合が可能となる。このような場合、書き込みバーストデータは、書き込みデータバッファ506からDRAMアレイ317へ送られるのと同時に、書き込みデータバッファ506から読み出しデータバッファ504へ伝達される。
他の実施例では、更に別の書き込みデータバッファが、書き込みデータバッファ505とCPUバス204との間に接続され、書き込みデータバッファ505及び書き込みデータバッファ506によって形成された複数の高さ書き込みデータバッファの高さを増加させる。
前の世代のマイクロプロセッサ(即ち、CPU)は、第2レベルのDRAMキャシュメモリ213に対する書き込みデータバーストアクセスをサポートしない場合がある。このようなマイクロプロセッサでは、1つの書き込みアクセスが個別に伝達される。しかしながら、書き込みデータバッファ505と書き込みデータバッファ506は、上述されたようにDRAMアレイ317のプレチャージ時間を「隠す」ように動作することもできる。
他の実施例では、読み出しデータバッファ504、書き込みデータバッファ505及び書き込みデータバッファ506は、第3a図及び第4a図に例示された回路と共に用いられる。上述されたように、この回路によって、データは、1Xクロック信号の立ち上がり及び立ち下がりエッジの両方でデータライン330から伝達される(即ち、二重エッジ伝達)。1Xクロック信号で二重エッジ伝達を行う場合、PLL501は、必要なく、その理由はCPUバスクロック信号の2つのエッジが、データの伝達に用いられる必要なタイミングの基準を供給するからである。このような実施例では、読み出しデータバッファ504の入力ポートと、書き込みデータバッファ506の出力ポートは、1Xクロック信号の立ち上がり及び立ち下がりエッジの両方でクロックされるように変形される。
更に他の実施例では、上述されたバースト方法は、DRAMアレイ317の必要とするタイミングに応じて、異なるクロック周波数(例えば、4Xクロック周波数)で実行される。
DRAMアレイ317(第2図)のプレチャージ時間は、代わりに、センス増幅器回路306とデータ増幅器回路312との間の分離スイッチとして列セレクタ311(第3a図)のツリーデコーダ311a及び311b(第4図)を用いることによって隠される。データ増幅器回路312をセンス増幅器回路306から電気的に絶縁するために、切断制御信号が列デコーダ310に供給される。これに応じて、列デコーダ310は、ツリーデコーダ311a及び311b(第4図)の全てのスイッチが開いた状態となるように全ての制御信号Sa[7:0]及びSb[3:0]をディスエーブルし、データ増幅器312a及び312bをセンス増幅器Sa[63:0]と/SA[63:0]から絶縁する。列セレクタ311のスイッチは、データ増幅器回路312のデータ増幅器が安定した状態になると直ぐに聞いた状態となる。プレチャージ動作は、データ増幅器回路312及びセンス増幅器回路306が絶縁されると直ぐに開始される。
第8図は、本発明のこの実施例に基づく読み出しバースト動作のタイミング図である。絶縁は、RAS/CASアクセス動作が行われた後に生ずる。即ち、バースト読み出し及びプレチャージ動作は、同時に行われる。第8図はバースト読み出し動作が2Xクロック信号の周波数で実行されている様子を表しているが、このバースト読み出し動作は1Xクロック信号の周波数で実行されてもよく、その理由はバースト読み出し動作がプレチャージ動作と同時に行われるからである。バースト読み出し動作を1Xクロック信号の周波数で行うことにより、読み出し誤差と消費電力を大きく減少させることができる。
データ増幅器回路312がセンス増幅器回路306から切り離されると、データ値は、データ増幅器回路312だけからアサートされる。従って、バーストアクセスをサポートするためには、データ増幅器回路312のデータ増幅器の個数が、バーストアクセスの間に必要とされる全てのデータ値を記憶するために十分なものでなければならない。即ち、4ワードのバーストアクセスをサポートするためには、4ワードを形成する全てのビットを同時に記憶するためのデータ増幅器回路312の十分なデータ増幅器が必要とされる。このような実施例では、複数のセンス増幅器データ値が複数のデータ増幅器を用いて同時に複数のデータ増幅器へ読み込まれる。このことは、データ増幅器回路312が1つのワードの各ビットに対する1つのデータ増幅器のみを有することを必要とした上述された実施例とは対照的に異なる点である。
列選択器310が絶縁スイッチとして用いられている変形された実施例では、複数のDRAMアレイが同時にアクセスされてバーストアクセスを提供する。即ち、4個のDRAMアレイが4ワードのバーストアクセスを提供するために用いられる。これを実行するために、1つのデータワードが4個のDRAMアレイの各々のデータ増幅器へ同時に記憶される。次に、これらのDRAMアレイのデータ増幅器回路は、その対応するセンス増幅器回路から切り離される。次に、4個のワードが所望の順序でDRAMアレイのデータ増幅器回路から読み出され、一方DRAMアレイは同時にプレチャージされる。
第9図は、本発明のこの実施例に基づく書き込みバースト動作のタイミング図を表している。書き込みデータバッファ505は、書き込みバーストデータ値D1−D4の第1のグループを記憶している。第2のグループの書き込みバーストデータ値D1′−D4′を受け取ると、データ増幅器回路312は、センス増幅器回路306から絶縁され、第1のグループの書き込みバーストデータ値D1−D4は、2Xクロック信号の周波数で書き込みデータバッファ506を介してデータ増幅器回路312へ伝達される。同時に、RAS/CASアクセス動作が実行される。RAS/CASアクセス動作が完了した後に、データ増幅器回路312は、センス増幅器回路306へ接続され、これにより第1のグループの書き込みバーストデータ値D1−D4がセンス増幅器回路306へ供給される。次に、プレチャージ動作が開始される。書き込みデータは、2Xクロック信号の周波数でバーストされるので、プレチャージ動作を実行するための時間が提供される。その結果、プレチャージ動作は、第2のグループの書き込みバーストデータ値D1′−D4′と共に実行される次の書き込みバースト動作の前に実行される。
更に他の実施例では、データアレイ317と読み出しデータバッファ504との間のデータバスが拡張されている。第10図は、この発明のこの実施例に基づく3−1−1−1DRAM第2レベルのキャシュ読み出し動作のタイミング図を表している。この実施例では、1Xクロック信号(PLL回路501を用いずに、又はPLL回路501を用いて発生された)が、DRAMアレイ317での動作を開始させるために用いられている。同時に2つのデータ値を伝達する2倍幅の内部データパスが、DRAMアレイ317と読み出しデータバッファ504との間に設けられ、DRAMアレイ317と読み出しデータバッファ504との間のデータ転送速度を2倍にする。第10図では、2倍幅の内部データパスが例示されているが、他の幅の(例えば3倍幅の、4倍幅の)を有するデータパスが可能であり、本発明の技術的視点を逸脱するものではない。RAS及びCAS動作は、アドレスストローブ信号(新たなトランザクションを表す)がアサートされた後に開始される。アサートされたデータ値(例えば、D1−D4)がDRAMアレイ317からデータ増幅器回路312(第3a図)へ読み出されるとすぐに、列セレクタ310がセンス増幅器回路306をデータ増幅器回路312から切り離し、プレチャージ動作が開始される。これによって、DRAMアレイ317は最小のサイクル時間で動作できることになる。
バーストデータ値D1−D4は、1Xクロック信号の各サイクルで2つのデータ値が伝達される速度で内部データパスを伝達される。即ち、データ値D1及びD2は1つのクロックサイクルの間に伝達され、データ値D3とD4は次のクロックサイクルの間に伝達される。読み出しデータバッファ504に記憶されたデータ値は、CPUバスクロック信号の各サイクルごとに1つのデータ値の通常のデータ速度でCPUバス204へ伝達される。
他の実施例では、読み出しデータバッファ504は用いられておらず、データ値はCPUバスデータ速度で直接DRAMアレイ317からCPUバス204へ伝達されている。
全ての内部のRAS/CAS及びプレチャージ動作は、第10図に例示されているように留まる。データ値は、1Xクロック信号のサイクル当たり1データ値の速度で、1信号幅のデータパスから直接CPUバス204へ伝達される。本実施例では、第2レベルのDRAMキャッシュメモリ213の外部動作は、依然として標準的なPBFRAMに適合するものである。しかしながらこのモードの動作は、データ増幅器回路312からCPUバス204へのデータ値D3及びD4の伝達が、次の読み出し動作(データ値D1′−D4′を含む)のRAS/CASアクセスとパラレルに実行されることを必要とする。データ値D4とD1′との間に存在する可能性のある潜在的な内部バスの輻輳問題を最小にするべく十分な注意が払われなければならない。
DRAMアレイ317と書き込みデータバッファ506との間のデータパスもまた拡張される。第11図は、DRAMアレイ317及び書き込みデータバッファ506の間の拡張された幅のデータパスを用いる3−1−1−1DRAM第2レベルのキャッシュ書き込み動作のタイミング図である。この実施例では、1Xクロック信号がDRAM317の内部動作を開始させるために用いられている。1Xクロック信号は、PLL回路501若しくは単純なクロック信号のバッファリングによって発生される。本発明では必要とはされないが、第11図は、書き込みデータバッファ506とDRAMアレイ317との間の2倍の幅の内部データパスを備えたDRAMアレイ317の内部動作を例示している。この2倍の幅のデータパスは内部データの伝達速度を効果的に2倍にする。RAS及びCAS動作は、アドレスストローブ信号(新たなトランザクションを含む)がアサートされた後に開始される。以前に書き込まれたデータ値D10−D40の書き込みデータバッファ506からのデータバースト書き込み動作が、RAS/CAS動作とパラレルにデータ増幅器回路312に対して実行される。書き込みデータ値D10−D40がデータ増幅器回路312からセンス増幅器回路306へ伝達された後に、列セレクタ310がセンス増幅器回路306をデータ増幅器回路312から切り離す。列セレクタ310がこれらの要素を切り離した後に、プレチャージ動作が直ちに開始され、これによりDRAMアレイ317が最小のサイクル時間内で動作する。一方、書き込みデータバッファ506は、CPUバスクロック信号によって定義された通常のデータ速度で、CPUパス204からの新たな書き込みデータ値D1−D4を受け取る。
他の実施例では、書き込みデータバッファ506とDRAMアレイ317との間の拡張された内部データパスが用いられない場合、プレチャージ動作は、第11図に例示されたものよりも2クロックサイクルだけ遅れて開始される(即ち、以前の書き込みデータ値D10−D40の全てがDRAMアレイ317に到達した後に)。この実施例では、最小のサイクル時間は、第11図に関して説明された実施例よりも2クロックサイクルだけ長い。この実施例の第2レベルのDRAMキャッシュメモリ213の外部動作は、標準的なPBFRAMよりも低速度となる。
(3)リフレッシュ制御及びオービトレイション
受動的な電荷蓄積を伴う第2レベルのDRAMキャシュメモリ213は、各セルのキャパシタに蓄えられた電荷を定期的に補充するために(4から64ミリ秒ごとに)、リフレッシュ動作を必要とする。この理由は、接合部、トランジスタ、及び誘電体の漏れ電流が、蓄えられた電荷を漏洩させる原因となるからである。第12図は、本発明に関連して用いられるリフレッシュ制御回路800の或る実施例を表している。リフレッシュ制御回路800は、アドレスバッファ801と、リフレッシュカウンタ802と、インプログレスポインタ803と、比較器804と、キャシュタグ比較器805と、CPUアクセス遅れ回路806とを有する。リフレッシュ制御回路800は、第2レベルのDRAMキャシュメモリ213内で複数のDRAMアレイ(DRAMアレイ317と同様の)を用いる実施例に於いて用いられる。
リフレッシュカウンタ802はDRAMアレイのアドレスを保持し、かつ次にリフレッシュされる行を保持する。リフレッシュカウンタ802は、DRAMアレイに対するRAS/PRECHARGE動作と、これらのアレイを選択する信号と行とを適切なDRAMアレイへ伝達することによって初期化された(リフレッシュカウンタ802によって)等を周期的に初期化する。インプログレスポインタ803は、現在リフレッシュされたDRAMアレイのアドレスを表示する。各リフレッシュ動作は通常40から60ナノ秒の間続く。
任意のCPUバスのアクセスリクエストが、第2レベルDRAMキャシュメモリ213内にキャシュヒットがあるか否かを判定する比較を開始する。同時に、進行中のリフレッシュ動作が存在する場合、インプログレスポインタ803の内容(1つのアレイのリフレッシュに対してはDRAMアレイのアドレスであり、複数のアレイのリフレッシュに対してはDRAMアレイのアドレスの上位の複数のビットである)が、リクエストされたDRAMアレイのアドレスと比較器804によって比較される。任意の衝突(アレイのアドレスの一致)が、リフレッシュ動作が完了し、インプログレスポインタ803がクリアされ、かつ適切なレディ信号(ハンドシェイク(プロトコル)信号)がCPUアクセス遅れ回路806からCPUバスへ送られるまで、CPUアクセス遅れ回路806にCPUアクセスを遅延させる。CPUアクセス遅れ回路806の遅延は、リフレッシュ動作の公知のタイミングに基づいて予め決められた時間に設定されている。第2レベルのDRAMキャシュメモリ213を複数のバンクに区分することによって、リフレッシュ動作の間に発生する衝突の確率が比例して低減される。
PBSRAMに適合する実施例
第13図は、CPU1301、CPUバス1304、第2レベルのキャシュタグメモリ1308、システムコントローラ1311、システムバス1318、第2レベルのDRAMキャシュメモリ1313、主DRAMメモリ1314、及びデータパス1326を含むコンピュータシステム1300を例示する模式図である。コンピュータシステム1300は、例示されたキイ信号ピンを備えたPBSRAMと適合する環境で例示されている。この実施例では、第2レベルのDRAMキャシュメモリ1313は、2個の32K×32DRAMメモリアレイ1340及び1341(標準的なPBSRAMと適合性を有するピン配置及び接続を備えた)を含む。標準的なPBSRAMは、以下の信号、即ち、アドレス入力信号AD[18:3]、双方向データ信号D[63:0]、CPU開始アドレスストローブ入力信号ADSP#、クロック入力信号CLK、コントローラ開始アドレスストローブ入力信号ADSC#、カウンタ前進入力信号ADV#、出力イネーブル入力信号OE#、各種チップイネーブル入力信号CE1#、CE2#及びCE3#、バイト書き込みイネーブル入力信号BWE#、グローバル書き込み入力信号GW#、及び箇々のバイト書き込み制御入力信号BW#[7:0]とを用いる。これらの信号は、1994年10月5日に出版されたインテル社の「Pentium(TM)Processor 3.32V Pipelined BSRAM Specification」バージョン1.2、により詳しく説明されている。
本発明では、上述された信号に加えて更にいくつかの信号が用いられている。即ち、DRAMアレイ1340と1341の各々は、CPU1301から、CPU開始ADSP#信号の特性(即ち読み出し若しくは書き込み)を決定する読み出し/書き込み特定(W/R#)信号を受け取る。DRAMキャッシュアレイ1340と1341の各々はまた、システムコントローラ1311に対するリフレッシュ制御(Krdy)信号を出力し、及び/または受け取る。このKrdy信号は、DRAMアレイ1340と1341の内部動作とリフレッシュ制御を制御するために行われる。DRAMキャッシュアレイ1340及び1341の各々はまた、電源投入動作の間の一般的な初期化及び同期化のためのReset#信号をCPU1301から受け取る。
第14a図は、第13図に例示された信号を用いるトランザクションベースのDRAM第2レベルのキャッシュバースト読み出し及び書き込み動作のタイミング図である。第14a図のタイミング図は、標準的なPBSRAMの要求に適合するものである。ADSP#、ADSC#、ADV#、CLK、GW#、BWE#、BW#′、CE#及びOE#信号に対する信号の定義及び動作は、PBSRAMのこれらの信号と等しい。好適な実施例では、W/R#、BWE#、及びGW#信号は、各トランザクションを一義的に決定するために、ADSP#及びADSC#信号と共に用いられる。ADSP#信号が、ADSP#によって開始されたトランザクションの開始時において、アサートされてロー状態となったとき(第4a図のR1及びW2に示されているように)、W/R#信号は、読み出し動作及び書き込み動作の何れが実行されるべきかを表すように有効でなければならない。第14a図では、低状態のW/R#信号は、読み出しトランザクションを表し、高状態のW/R#信号は書き込みトランザクションを表している。第14a図では、チップイネーブル(CE1#)信号は、R1及びW2動作がDRAMアレイ1340及び1341内で実行されるので、これらの動作の開始時において初めに低状態でなければならない。
ADSC#信号が、ADSC#開始トランザクションの開始時において(第14a図のW3及びR4として表されているように)アサートされている低状態となったとき、BWE#及びGW#信号が、読み出しトランザクション及び書き込みトランザクションの何れが実行されるべきであるかを表すために用いられる。BWE#及びGW#信号(図示されていない)の何れかが低状態の時、書き込みトランザクションが実行される。BWE#信号及びGW#信号の何れもが低状態でない場合、書き込みトランザクションが実行される。W3及びR4動作の開始時において、CE1#信号は、W3及びR4動作がDRAMアレイ1340及び1341内で実行されるように低状態でなければならない。第14a図に例示されたバースト読み出し動作及びバースト書き込み動作は、第10図及び第11図に関して上述された実施例の1つに基づいて実行される。
第14b図は、第13図に例示された信号を用いたトランザクションベースのDRAM第2レベルのキャッシュ信号読み出し及び書き込み動作のタイミング図である。第14b図の信号のタイミングは、データ位相の長さ以外は、第14a図の信号のタイミングと等しい。
第15図は、コンピュータシステム1300(第13図)でのKrdy信号のハンドシェイクプロトコルを例示したタイミング図である。第15図に例示された信号は、NA#及びBRDY#信号以外は、第13図及び第14a図−第14b図に関して上述された信号と等しい。NA#及びBRDY#信号は、システムコントローラ1311によって発生され、CPU1301へ直接送られる。NA#信号は、システムコントローラ1311が次のアドレスに対する準備が整っていることを表し、BRDY#信号は、データ値がCPUバス1304上で準備が整っていることを表している。Krdy信号は、第2レベルのDRAMキャッシュメモリ1313のリフレッシュ制御を制御するために用いられる。
Krdy信号の立ち下がりエッジは、継続中のリフレッシュ動作または他の内部動作リクエストが存在することを表し、Krdy信号の立ち上がりエッジは、リフレッシュ若しくはその他の内部動作が完了していることを表している。Krdy信号の極性は任意に選択され、逆の極性が同じ効果を実行するために用いられても良い。DRAMキャッシュメモリ1313とシステムコントローラ1311の両方は、新たなトランザクションの各々の少なくとも開始時においてKrdy信号をサンプルし、そのトランザクションがADSP#信号とADSC#信号の何れによって開始されたものであるかを検出しなければならない。
ある実施例では、Krdy信号のハンドシェイクプロトコルの以下に示すように行われる。新たなトランザクションの開始時においてKrdy信号が高状態のとき、このトランザクションは通常通り完了されるように実行される。しかしながら、新たなADSC#トランザクションの開始時においてKrdy信号が低状態の場合、Krdy信号が「最後のクロックサイクル内で」この低状態になり、ADSC#トランザクションが完了するまで実行され、次にリフレッシュ動作が行われる。Krdy信号が1クロックサイクル以上に亘って低状態である場合、ADSC#トランザクションは、Krdy信号が再び高状態となるまで遅延される。
新たなADSP#トランザクションの開始時においてKrdy信号が低状態の場合、このADSP#トランザクションは、Krdy信号が高状態となるまで遅延される。代わりに、ADSP#トランザクションに対するハンドシェイクプロトコルが、ADSC#トランザクションに対するハンドシェイクプロトコルと同様に定義される。即ち、新たなADSP#トランザクションの開始時においてKrdy信号が低状態の場合、及びKrdy信号が「最後のクロックサイクル内で」この低い状態になったばかりの場合、ADSP#トランザクションは、完了まで実行され、次にリフレッシュ動作が行われる。Krdy信号が1クロックサイクル以上に亘って低状態である場合、ADSP#トランザクションは、Krdy信号が再び高状態となるまで遅延される。
もう1つの他のハンドシェイクプロトコルでは、システムコントローラ1311は、継続中のADSC#トランザクションは存在するとき、Krdy信号の状態をもサンプルする。Krdy信号が低状態の場合、ADSP#トランザクションが、Krdy信号が高状態となるまで遅延される。そうでなければ、継続中のADSC#トランザクションが開始される。
Krdy信号は複数の目的に使うことができる。他の実施例では、Krdy信号は入力/出力信号として実現されている。複数のDRAMアレイ(例えば、第13図のアレイ1340と1341)が、メモリの幅拡張若しくはメモリの高さ拡張、またはその両方のために用いられている場合、Krdy信号は、複数のデバイスに亘るDRAMリフレッシュ及び/または内部動作を同期化するために用いられる。例えば、DRAMアレイ1340は、リフレッシュ制御のためのマスタデバイスとして指定される。このマスタDRAMアレイ1340は、システムコントローラ1311との間の情報のやり取りのために、及びリフレッシュ制御関数を制御するためにKrdy信号を用いる。残りのDRAMキャッシュメモリデバイス(例えば、DRAMアレイ1341)の各々は、Krdy信号ラインを占有し、スレーブデバイスとして指定されている。各々スレーブデバイスは、Krdy信号の状態をサンプルし、マスタデバイスと一致する方法でそれ自身のリフレッシュまたは内部動作を制御若しくは開始し、これによってマスタデバイスとの同期を保持する。
更に他の実施例では、Krdy信号はシステムコントローラ1311によって供給され、DRAMアレイ1340と1341の各々は、低状態のKrdy信号を検出した時、予め決められたリフレッシュ動作を開始し、且つ完了させる。第15a図に例示された実施例では、ADSP#信号がアサートされて低状態となりW2書き込みトランザクションが開始された後に、Krdy信号がプルダウンされて継続中のリフレッシュイベントが存在することをが表される。ADSP#信号がアサートされて低状態であるときKrdy信号は高状態なので、W2バースト書き込みトランザクション(データ値2a−2bを含む)が、通常の方法で実行されて完了される。W2バースト書き込みトランザクションが完了されたとき、リフレッシュ動作が開始される。ADSP#信号がアサートされて低状態となったとき、読み出し(R3)トランザクションが続いて開始される。この時、Krdy信号は、リフレッシュ動作が完了していないので、依然として低状態である。低状態のKrdy信号は、リフレッシュ動作が完了するまでR3読み出しトランザクションを遅延させる。この例では、R3読み出しトランザクションは、1クロックサイクルだけ遅延される。ADSP#信号(R3読み出しトランザクションに対する)が、第15図に例示されたものよりも早く開始した場合でさえも、このR3読み出しトランザクションは、第15図に例示されたクロックサイクルまで遅延される(即ち、この動作はKrdyが高状態に戻るまで遅延される)。
Krdy信号のハンドシェイクプロトコルは他の方法によっても実施される。1つの変形例は、リフレッシュ継続リクエストが、Krdyピンを用いてDRAMキャシュメモリ1313から開始され、システムコントローラ1313は、別個のピンのアクノリッジ信号をDRAMキャシュメモリ1313へ戻し、DRAMキャシュメモリ1313に対してリフレッシュ動作を開始する命令を与える。次に、Krdy信号が、リフレッシュ動作の完了時に若しくはリフレッシュ動作の完了が継続している時に、DRAMキャシュメモリ1313によって高状態にされる。このような構成によって、システムコントローラ1313の構成により柔軟性が与えられ、その理由はコントローラ1313が何時リフレッシュ動作が実際に開始されるかを制御できるためである。
他の変形例では、DRAMキャシュメモリ1313は、リフレッシュ継続状態を表すためにKrdy信号ピンを駆動し、システムコントローラ1318がリフレッシュ開始状態を表示するためにKrdy信号ピンを駆動する。このような構成により、リフレッシュ動作を実行するために必要とされるクロックサイクル数が固定され、DRAMキャシュメモリ1313とシステムコントローラ1318の両方は、これらのデバイスが一致した形式でリフレッシュ動作を追従することを可能とするカウンタを有する。
本発明が幾つかの実施例に関して説明されたが、本発明がこれらの実施例に限定されるものではなく、当業者には明らかな様々な変形を行うことができるものであることが理解される。即ち、本発明は添付の請求の範囲のみによって限定される。
Claims (57)
- コンピュータシステムであって、
中央処理ユニット(CPU)、
前記CPUと共に集積化された第1レベルのキャッシュメモリと、
前記CPUに接続されたバスであって、第1のクロック周波数を有する第1のクロック信号に応答して、第1のデータ速度で前記バスにデータが伝達される、前記バスと、
前記バスに接続された次のレベルのキャッシュメモリとを有し、
前記次のレベルのキャッシュメモリが、少なくとも1つのダイナミックランダムアクセスメモリ(DRAM)アレイと、前記バスと前記DRAMアレイとの間のデータの伝達を制御する制御回路とを有し、
前記制御回路が、前記第1のクロック信号から第2のクロック信号を導き、且つ前記第1のデータ速度よりも高い第2のデータ速度で、第2のクロック信号に応答して前記DRAMアレイに対してデータを伝達し、
前記制御回路が、前記DRAMアレイに接続されたデータ入力ポートと前記バスに接続されたデータ出力ポートとを備えた読み出しバッファを有し、
前記データ入力ポートが前記第2のクロック信号によってクロックされており、前記データ出力ポートが前記第1のクロック信号によってクロックされていることを特徴とするコンピュータシステム。 - 前記制御回路が、前記第1のクロック信号に対して同期したセルフタイム形式で前記DRAMアレイにアクセスするバーストシーケンサを有することを特徴とする請求項1に記載のコンピュータシステム。
- 前記バーストシーケンサが、前記第2のクロック信号の両方のエッジで前記DRAMアレイにアクセスする回路を含むことを特徴とする請求項2に記載のコンピュータシステム。
- 前記制御回路が、前記バスに接続されたアドレスバッファを更に有し、
前記アドレスバッファは、次のレベルのキャッシュメモリへの現在のアクセスが進行中に、次のレベルのキャッシュメモリを次にアクセスするために必要な行及び列アドレスを記憶することを特徴とする請求項1に記載のコンピュータシステム。 - 前記制御回路が、
前記バスに接続され、前記第1のクロック信号に応答して前記第2のクロック信号を発生させるフェーズロックトループ(PLL)回路を更に有することを特徴とする請求項1に記載のコンピュータシステム。 - 前記第2のクロック信号の前記周波数が、前記第1のクロック信号の前記周波数より高いことを特徴とする請求項1に記載のコンピュータシステム。
- 前記データ入力ポートが、前記第2のクロック信号の各サイクルの間に2度クロックされ、
前記データ出力ポートが、前記第1のクロック信号の各サイクルの間に1度クロックされることを特徴とする請求項1に記載のコンピュータシステム。 - コンピュータシステムであって、
中央処理ユニット(CPU)と、
前記CPUと共に集積化された第1レベルのキャッシュメモリと、
前記CPUに接続されたバスであって、第1のクロック周波数を有する第1のクロック信号に応答して、第1のデータ速度で前記バスにデータが伝達される、前記バスと、
前記バスに接続された次のレベルのキャッシュメモリとを有し、
前記次のレベルのキャッシュメモリが、
少なくとも1つのダイナミックランダムアクセスメモリ(DRAM)アレイと、
前記バスと前記DRAMアレイとの間のデータの伝達を制御する制御回路とを有し、
前記制御回路が、前記第1のクロック信号から第2のクロック信号を導き、かつ第2のクロック信号に応答して、前記第1のデータ速度よりも高い第2のデータ速度で、前記DRAMアレイに対してデータを伝達し、
前記制御回路が、前記DRAMアレイに接続されたデータ出力ポートと、前記バスに接続されたデータ入力ポートとを備えた書き込みバッファを有し、
前記書き込みバッファの前記出力ポートは前記第2のクロック信号によってクロックされており、前記書き込みバッファの前記入力ポートは前記第1のクロック信号によってクロックされていることを特徴とするコンピュータシステム。 - 前記第2のクロック信号の前記周波数は、前記第1のクロック信号の前記周波数よりも高いことを特徴とする請求項8に記載のコンピュータシステム。
- 前記書き込みバッファが、少なくとも1つの集合の書き込みバーストデータを記憶する複数の高さのバッファからなることを特徴とする請求項8に記載のコンピュータシステム。
- 前記データ入力ポートが、前記第1のクロック信号の各サイクルの間に1度クロックされ、
前記データ出力ポートが前記第2のクロック信号の各サイクルの間に2度クロックされることを特徴とする請求項8に記載のコンピュータシステム。 - 前記第1のクロック信号の前記周波数が、前記第2のクロック信号の前記周波数と等しいことを特徴とする請求項11に記載のコンピュータシステム。
- 前記制御回路が、前記第2のクロック信号をルートするための回路パスを有し、
前記回路パスが、前記第2のクロック信号が前記DRAMアレイに対して読み出し若しくは書き込みが行われるデータ値に同期するように、配置されていることを特徴とする請求項1に記載のコンピュータシステム。 - 前記バーストシーケンサが、
前記DRAMアレイに接続されたセンス増幅器回路と、
複数のデータ増幅器を備えたデータ増幅器回路と、
前記センス増幅器回路と前記データ増幅器回路との間に接続された列セレクタとを更に有し、
前記列セレクタは、前記センス増幅器回路を前記データ増幅器回路から切り離すように選択され得ることを特徴とする請求項2に記載のコンピュータシステム。 - 前記データ増幅器回路内のデータ増幅器の個数が、前記データ増幅器回路が前記DRAMアレイのバーストアクセスに必要とされる全てのデータ値を同時に記憶することができるように選択されていることを特徴とする請求項14に記載のコンピュータシステム。
- 前記次のレベルのキャッシュメモリが、複数のパラレルに動作するDRAMアレイを有することを特徴とする請求項14に記載のコンピュータシステム。
- 前記次のレベルのキャッシュメモリが、現在リフレッシュされているDRAMアレイの前記アドレスを記憶するリフレッシュカウンタを更に有することを特徴とする請求項1に記載のコンピュータシステム。
- 前記次のレベルのキャッシュメモリが、現在リフレッシュされている前記DRAMアレイの前記アドレスと、前記CPUによってリクエストされたDRAMアレイのアドレスとを比較するリフレッシュ衝突比較器を更に有することを特徴とする請求項17に記載のコンピュータシステム。
- 前記リフレッシュ衝突比較器は、現在リ フレッシュされている前記DRAMアレイの前記アドレス と、前記CPUによってリクエストされた前記DRAMのアレ イのアドレスとが一致する場合に、衝突信号を送出する ように構成されており、
前記次のレベルのキャッシュメモリは、前記リフレッシ ュ衝突比較器から前記衝突信号を受信するように前記リフレッシュ衝突比較器に接続されたCPUアクセス遅れ回路を更に有し、
前記CPUアクセス遅れ回路は、前記衝突信号の受信に応 じてハンドシェイク信号を前記バスに伝達し、現在のリフレッシュ動作が完了する後まで、前記CPUが前記DRAM アレイにアクセスするのを遅延することを特徴とする請求項18に記載のコンピュータシステム。 - 第1の幅を有する前記出力ポートが、第1の個数のデータ値を同時に伝達するべく前記出力ポートをイネーブルし、
第2の幅を有する前記入力ポートが、第2の個数のデータ値を同時に伝達するべく前記入力ポートをイネーブルし、
前記第1の個数が前記第2の個数よりも大きいことを特徴とする請求項8に記載のコンピュータシステム。 - 前記書き込みバッファが、少なくとも1つの集合の書き込みバーストデータを記憶する複数の高さのデータバッファからなることを特徴とする請求項20に記載のコンピュータシステム。
- 前記入力ポートと前記出力ポートとが、同じ周波数のクロック信号によって駆動されていることを特徴とする請求項20に記載のコンピュータシステム。
- 第1の幅を有するパラレルポートからなる前記入力ポートが、第1の個数のデータ値を同時に伝達するべく前記入力ポートをイネーブルし、
第2の幅を有するパラレルポートから前記出力のポートが、第2の個数のデータ値を同時に伝達するべく前記出力ポートをイネーブルし、
前記第1の個数が前記第2の個数より大きいことを特徴とする請求項1に記載のコンピュータシステム。 - 前記読み出しバッファが、少なくとも1つの集合の読み出しバーストデータを記憶する複数の高さのデータバッファからなることを特徴とする請求項23に記載のコンピュータシステム。
- 前記入力ポートと前記出力ポートとが、同じ周波数のクロック信号によって駆動されていることを特徴とする請求項23に記載のコンピュータシステム。
- 前記次のレベルのキャッシュメモリが、前記DRAMアレイを前記バスに接続する複数の端子を更に有し、
第1の端子が、新たなトランザクションの開始を表す第1の信号を前記CPUから受け取るように接続されており、
第2の端子が、読み出し動作若しくは書き込み動作としての前記新たなトランザクションを表す第2の信号を前記CPUから受け取るように接続されていることを特徴とする請求項1に記載のコンピュータシステム。 - 前記CPUによって発生された前記第1の信号が、パイプラインバーストスタティックランダムアクセスメモリ(PBSRAM)プロトコルに適合するアドレスストローブ入力信号からなることを特徴とする請求項26に記載のコンピュータシステム。
- システムコントローラを更に有し、
前記次のレベルのキャッシュメモリの第1の端子が、新たなトランザクションの開始を表す第1の信号を前記システムコントローラから受け取るように接続されており、
前記次のレベルのキャッシュメモリの第2及び第3の端子が、前記システムコントローラから第2の及び第3の信号を各々受け取るように接続されており、
前記第2及び第3の信号が、前記新たなトランザクションを読み出しトランザクション若しくは書き込みトランザクションとして特定するようにされており、
前記次のレベルのキャッシュメモリが、前記DRAMアレイ を前記バスに接続する複数の端子を更に有することを特徴とする請求項1に記載のコンピュータシステム。 - 前記第1の信号が、アドレスストローブ入力信号からなり、
前記第2の信号が、バイト書き込みイネーブル入力信号からなり、
前記第3の信号が、グローバル書き込み入力信号からなり、
前記第1、第2、及び第3の信号が、パイプライバーストスタティックランダムアクセスメモリ(PBSRAM)プロトコルに適合することを特徴とする請求項28に記載のコンピュータシステム。 - 前記次のレベルのキャッシュメモリに接続されたシステムコントローラを更に有し、
前記ダイナミックランダムアクセスメモリ(DRAM)アレイが、前記システムコントローラに接続された第1の端子を有し、
少なくとも1つの信号が、前記DRAMアレイ内のリフレッシュ動作を制御するためのプロトコルを実施するべく前記第1の端子に供給されることを特徴とする請求項1に記載のコンピュータシステム。 - コンピュータシステムのバスから次のレベルのキャッシュメモリとしてDRAMアレイを使用する方法であって、
第1のクロック周波数を有する第1のクロック信号に応答して、第1のデータ速度で前記バスにデータを伝達する過程と、
前記第1のクロック信号に応答して第2のクロック信号を発生する過程と、
前記第2のクロック信号に応答して、前記第1のデータ速度よりも高い第2のデータ速度で、前記DRAMアレイに対するデータの転送が行われるようにDRAMアレイを動作させる過程と、
前記DRAMアレイから複数のセンス増幅器へ複数のデータ値を非同期的に読み出す課程と、
前記第2のクロック信号に応答して、前記センス増幅器 から読み出しバッファメモリへ前記データ値を同期的に読み出す過程と、
前記第1のクロック信号に応答して、前記読み出しバッ ファメモリから前記バスへ前記データ値を同期的に読み出す過程と、
前記データ値が、前記読み出しバッファメモリから前記バスへ同期して読み出される間に、前記DRAMアレイの複数のDRAMセルをプレチャージする過程を有することを特徴とするコンピュータシステムのバスから次のレベルのキャッシュメモリとしてDRAMアレイを使用する方法。 - 前記第2のクロック信号が、前記第1のクロック周波数よりも高い周波数を有することを特徴とする請求項31に記載の方法。
- 前記第1のクロック信号を用いて前記読 出しバッファメモリから前記バスへ前記データ値を同期 的に読み出す前記課程は、前記第1のクロック信号の立 ち上がりエッジ及び立ち下がりエッジの何れかで前記バスにデータ信号を伝達する過程を有し、
前記第2のクロック信号を用いて前記センス増幅器から 読み出しバッファメモリへ前記データ値を同期的に読み 出す前記過程は、前記第2のクロック信号の立ち上がり エッジと立ち下がりエッジの両方で、前記DRAMアレイ内の読み出し動作を実行する過程を有することを特徴とする請求項31に記載の方法。 - 前記第2のクロック信号は、前記第1のクロック周波数と等しい周波数を有することを特徴とする請求項31に記載の方法。
- 前記第1のクロック信号の立ち上がりエ ッジと立ち下がりエッジの何れかにおいて、前記バスにデータ信号を伝達する過程と、
前記第2のクロック信号の立ち上がりエッジと立ち下が りエッジの両方で前記DRAMアレイ内の書き込み動作を実行する過程とを更に有することを特徴とする請求項31に記載の方法。 - 前記第2のクロック信号は、前記第1のクロック周波数と等しい周波数を有することを特徴とする請求項35に記載の方法。
- 前記第2のクロック信号に対して同期したセルフタイム形式で、前記DRAMアレイ内の行アクセス動作を実行する過程と、
前記第2のクロック信号に対して同期したセルフタイム形式で、前記DRAMアレイ内の列デコード動作を実行する過程と、
前記第2のクロック信号に対して同期した、予め決められた順番の前記DRAMアレイ内に於ける列選択動作を実行する過程とを更に有することを特徴とする請求項31に記載の方法。 - 前記DRAMアレイをプレチャージする過程が、前記読み出しバッファメモリから前記データ値を読み出す過程が完了する前に、完了することを特徴とする請求項31に記載の方法。
- バスから次のレベルのキャッシュメモリとしてDRAMアレイを用いる方法であって、
第1のクロック周波数を有する第1のクロック信号に応答して、第1のデータ速度でデータを前記バスに伝達する過程と、
前記第1のクロック信号に応答して第2のクロック信号を発生する過程と、
前記第2のクロック信号に応答して、前記第1のデータ速度よりも高い第2のデータ速度で、データが前記DRAMアレイに対して伝達されるように、前記DRAMアレイを動作させる過程と、
前記第1のクロック信号に応答して、前記バスから書き込みバッファへ第1の集合のデータ値を同期的に書き込む過程と、
前記第1のクロック信号に応答して、前記バスから前記書き込みバッファへ第2の集合のデータ値を同期的に書き込む過程と、
前記第2の集合のデータ値が、前記書き込みバッファ内へ書き込まれる間に、前記第1の集合のデータ値を前記DRAMアレイへ同期的に書き込む過程と、
前記第2の集合のデータ値が前記書き込みバッファへ書き込まれる間に、前記DRAMアレイ内の複数のDRAMセルをプレチャージする過程を有することを特徴とする方法。 - 前記DRAMアレイをプレチャージする前記過程が、前記書き込みバッファへ前記第2の集合のデータ値を書き込む前記過程が完了する前に、完了することを特徴とする請求項39に記載の方法。
- データ増幅器回路とセンス増幅器回路とが、前記書き込みバッファと前記DRAMアレイとの間に接続されており、
前記DRAMアレイへ前記第1の集合のデータ値を同期的に書き込む前記過程が、
前記データ増幅器回路を前記センス増幅器回路から切り離す過程と、
前記DRAMアレイの行アクセス動作を実行するのと同時に、前記書き込みバッファから前記データ増幅器回路へ前記第1の集合のデータ値を書き込む過程と、
前記データ増幅器回路を前記センス増幅器回路へ接続し、前記第1の集合のデータ値を前記センス増幅器回路を介して前記DRAMアレイへ供給する過程とを更に有することを特徴とする請求項39に記載の方法。 - 前記センス増幅器から前記データ値を同 期的に読み出す前記過程は、
前記センス増幅器と複数のデータ増幅器との間に接続された複数の列セレクタスイッチを閉じ、前記センス増幅器を前記データ増幅器に接続し、前記データ値を前記データ増幅器へ書き込む過程と、
前記データ増幅器から前記データ値を読み出す過程と、
前記列セレクタスイッチを開き、前記センス増幅器を前記データ増幅器から切り離す過程とを有し、
前記DRAMアレイの複数のDRAMセルをプレチャージする前 記過程は、前記列セレクタスイッチが開かれたときに実 行されることを特徴とする請求項31に記載の方法。 - 前記データ増幅器から前記データ値を読み出す前記過程が、
前記第2のクロック信号に応答して、前記データ増幅器 から前記読み出しバッファメモリへ前記データ値を書き込む過程を有することを特徴とする請求項42に記載の方法。 - 前記DRAMアレイをプレチャージする前記過程が、前記読み出しバッファメモリからの前記データ値を前記バスへ読み出す前記過程が完了する前に、完了することを特徴とする請求項43に記載の方法。
- 前記センス増幅器から読み出しバッファ メモリへ前記データ値を同期的に読み出す前記課程は、
前記第2のクロック信号の各サイクルの間に、前記DRAMアレイから前記読み出しバッファメモリの入力ポートへ複数のデータ値を伝達する過程を有し、
前記読み出しバッファメモリから前記バスへ前記データ 値を同期的に読み出す前記課程は、
前記第1のクロック信号の各サイクルの間に、前記読み出しバッファメモリの出力ポートから前記バスへ1つのデータ値を伝達する過程とを更に有することを特徴とする請求項31に記載の方法。 - コンピュータシステムのバスから次のレベルのキャッシュメモリとしてDRAMアレイを使用する方法であって、
第1のクロック周波数を有する第1のクロック信号に応答して、第1のデータ速度で、前記バスにデータ値を伝達する過程と、
前記第1のクロック信号に応答して第2のクロック信号を発生させる過程と、
前記第2のクロック信号に応答して前記DRAMアレイを動作させる過程であって、入力ポート及び出力ポートを有 するデータバッファメモリを介しての前記DRAMアレイに対するデータ値の伝達が、前記第1のデータ速度よりも高い第2のデータ速度で行われ、前記データバッファメモリの前記入力ポートは前記DRAMアレイに接続されてお り且つ前記データバッファメモリの前記出力ポートは前記バスに接続されている、前記DRAMアレイを動作させる過程とを有し、
前記DRAMアレイを動作させる前記過程は、前記第2のク ロック信号の各サイクルの間に、前記DRAMアレイから前 記データバッファメモリの前記入力ポートへ複数のデー タ値を伝達する過程を有し、
前記バスに前記データ値を伝達する前記過程は、前記第1のクロック信号の各サイクルの間に、前記データバッ ファメモリの前記出力ポートから前記バスへ1つのデータ値を伝達する過程を有し、
前記第1及び第2のクロック信号が等しい周波数を有す ることを特徴とするコンピュータシステムのバスから次のレベルキャッシュメモリとしてDRAMアレイを使用する方法。 - コンピュータシステムのバスから次のレベルのキャッシュメモリとしてDRAMアレイを使用する方法であって、
第1のクロック周波数を有する第1のクロック信号に応答して、第1のデータ速度で、前記バスにデータを伝達する過程と、
前記第1のクロック信号に応答して第2のクロック信号を発生させる過程と、
前記第2のクロック信号に応答して、前記第1のデータ速度よりも高い第2のデータ速度で、前記DRAMアレイに対するデータ値が入力ポート及び出力ポートを有するデ ータバッファメモリを介して転送されるように、前記DRAMアレイを動作させる過程であって、前記データバッファメモリの前記入力ポートは前記DRAMアレイに接続され ており且つ前記データバッファメモリの前記出力ポートは前記バスに接続されている、前記DRAMアレイを動作させる過程とを有し、
前記DRAMアレイを動作させる前記過程は、前記第2のク ロック信号の各サイクルの間に、前記DRAMアレイから前 記データバッファメモリの前記入力ポートへ複数のデー タ値を伝達する過程を有し、
前記バスにデータを伝達する前記過程は、前記第1のクロック信号の各サイクルの間に、前記データバッファメ モリの前記出力ポートから前記バスへ1つのデータ値を伝達する過程を有し、
当該方法は、前記1つのデータ値を伝達する過程の間 に、前記DRAMアレイをプレチャージする過程を更に有することを特徴とするコンピュータシステムのバスから次のレベルのキャッシュメモリとしてDRAMアレイを使用する方法。 - 前記DRAMアレイが、
DRAMメモリセルからなるアレイと、
前記DRAMメモリセルからなるアレイに接続されたセンス増幅器回路と、
前記増幅器回路に接続された列セレクタ回路と、
前記列セレクタ回路に接続されたデータ増幅器回路とを含み、
前記DRAMアレイを動作させる前記過程は、
前記センス増幅器回路と前記列セレクタ回路とを介して、前記DRAMメモリセルからなるアレイから前記データ増幅器回路へ複数のデータ値を読み出す過程と、
前記列セレクタ回路を用いて、前記センス増幅器回路から前記データ増幅器回路を切り離す過程とを更に有し、
前記DRAMアレイをプレチャージする前記過程は、
前記複数のデータ値が前記データバッファメモリの前記入力ポートへ伝達されるのと同時に実行されることを特徴とする請求項47に記載の方法。 - 前記バスから前記書き込みバッファへ前 記第1の集合のデータ値を同期的に書き込む前記過程及 び前記バスから前記書き込みバッファへ前記第2の集合 のデータ値を同期的に書き込む前記過程は、前記第1のクロック信号の各サイクルの間に、前記バスから前記書 き込みバッファの入力ポートへ1つのデータ値を伝達する過程を更に有し、
前記第1の集合データ値を前記DRAMアレイへ同期的に書 き込む前記過程は、前記第2のクロック信号の各サイクルの間に、前記書き込みバッファの出力ポートから前記DRAMアレイへ複数のデータ値を伝達する過程を更に有することを特徴とする請求項39に記載の方法。 - コンピュータシステムのバスから次のレベルのキャッシュメモリとしてDRAMアレイを使用する方法であって、
第1のクロック周波数を有する第1のクロック信号に応答して、第1のデータ速度で前記バスにデータを伝達する過程と、
前記第1のクロック信号に応答して第2のクロック信号を発生させる過程と、
前記第2のクロック信号に応答して、前記第1のデータ速度よりも高い第2のデータ速度で、前記DRAMアレイに対してデータを伝達するように、前記DRAMアレイを動作させる過程と、
前記第1のクロック信号に応答して、前記バスからデー タバッファメモリの入力ポートへデータを入力する過程であって、前記第1のクロック信号の各サイクルの間 に、前記バスから前記データバッファメモリの前記入力 ポートへ1つのデータ値を伝達する、前記バスから前記 データバッファメモリの入力ポートへデータを入力する 過程と、
前記第2のクロック信号に応答して、前記データバッファメモリの出力ポートから前記DRAMアレイにデータを出力する過程であって、前記第2のクロック信号の各サイクルの間に、前記データバッファメモリの前記出力ポートから前記DRAMアレイへ複数のデータ値を伝達する、前 記データバッファメモリの前記出力ポートからデータを 出力する過程とを有し、
前記第1及び前記第2のクロック信号が等しい周波数を 有することを特徴とするコンピュータシステムのバスから次のレベルのキャッシュメモリとしてDRAMアレイを使用する方法。 - コンピュータシステムのバスから次のレベルのキャッシュメモリとしてDRAMを用いる方法であって、
第1のクロック周波数を有する第1のクロック信号に応答して、第1のデータ速度で前記バスにデータを伝達する過程と、
前記第1のクロック信号に応答して、第2のクロック信号を発生する過程と、
前記第2のクロック信号に応答して、前記第1のデータ速度よりも高いデータ速度で、前記DRAMアレイに対してデータを伝達するように、前記DRAMアレイを動作させる過程と、
前記第1のクロック信号に応答して、前記バスからデータバッファメモリの入力ポートにデータを入力する過程であって、前記第1のクロック信号の各サイクルの間 に、前記バスから前記データバッファメモリの前記入力 ポートへ1つのデータ値を伝達する、前記バスから前記 データバッファメモリの前記入力ポートにデータを入力 する過程と、
前記第2のクロック信号に応答して、前記データバッファメモリの出力ポートから前記DRAMアレイにデータを出力する過程であって、前記第2のクロック信号の各サイクルの間に、前記データバッファメモリの前記出力ポートから前記DRAMアレイへ複数のデータ値を伝達する、前 記データバッファメモリの出力ポートから前記DRAMアレ イにデータを出力する過程と、
前記バスから前記データバッファメモリの前記入力ポー トへ前記1つのデータ値を伝達する間に、前記DRAMアレイをプレチャージする過程とを有することを特徴とするコンピュータシステムのバスから次のレベルのキャッシュメモリとしてDRAMを用いる方法。 - システムコントローラが、前記DRAMアレイの第1の端子に接続されており、
CPUによってリクエストされたトランザクションを開始するべく、前記CPUから前記DRAMアレイへ第1の信号を伝達する過程と、
前記システムコントローラによってリクエストされたトランザクションを開始するべく、前記システムコントローラから前記DRAMアレイへ第2の信号を伝達する過程と、
前記DRAMアレイ内でのリフレッシュ及び内部動作を制御するためのプロトコルを実行するべく、前記DRAMアレイの前記第1の端子へ第3の信号を伝達する過程とを更に有することを特徴とする請求項31に記載の方法。 - 前記第2のクロック信号が、前記第1のクロック信号と等しい周波数を有することを特徴とする請求項5に記載のコンピュータシステム。
- 前記第2のクロック信号が、前記第1のクロック信号の周波数より高い周波数を有することを特徴とする請求項5に記載のコンピュータシステム。
- 前記第1のクロック信号の前記周波数が、前記第2のクロック信号の前記周波数と等しいことを特徴とする請求項7に記載のコンピュータシステム。
- 前記バーストシーケンサが、
前記センス増幅器回路に接続された第1の遅れ回路を更に有し、
前記第1の遅れ回路が、前記データ値が前記DRAMアレイから受け取られる時、前記センス増幅器回路を非同期形式でイネーブルすることを特徴とする請求項14に記載のコンピュータシステム。 - 前記バーストシーケンサが、
列デコーダを介して前記列セレクタに接続された第2の遅れ回路を更に有し、
前記第2の遅れ回路が、前記センス増幅器回路内の前記 データ値が利用可能になった時、前記列デコーダを非同期形式でイネーブルして前記列セレクタにデコードされ た列アドレスが供給されるようにすることを特徴とする請求項56に記載のコンピュータシステム。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US443,998 | 1989-11-30 | ||
US34330694A | 1994-11-22 | 1994-11-22 | |
US343,306 | 1994-11-22 | ||
US44399895A | 1995-05-17 | 1995-05-17 | |
PCT/US1995/014552 WO1996016371A1 (en) | 1994-11-22 | 1995-11-20 | Method and structure for utilizing a dram array as second level cache memory |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11511872A JPH11511872A (ja) | 1999-10-12 |
JP3576561B2 true JP3576561B2 (ja) | 2004-10-13 |
Family
ID=26993415
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP51692996A Expired - Lifetime JP3576561B2 (ja) | 1994-11-22 | 1995-11-20 | 第2レベルのキャシュメモリとしてdramアレイを用いる方法及び構成 |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP0793827B1 (ja) |
JP (1) | JP3576561B2 (ja) |
DE (1) | DE69525764T2 (ja) |
WO (1) | WO1996016371A1 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69739732D1 (de) | 1996-09-26 | 2010-02-25 | Nxp Bv | Verarbeitungssystem und verfahren zum lesen und wiederherstellen von informationen in einer ram-konfiguration |
TW360823B (en) | 1996-09-30 | 1999-06-11 | Hitachi Ltd | Data processor and graphic processor |
US5963481A (en) * | 1998-06-30 | 1999-10-05 | Enhanced Memory Systems, Inc. | Embedded enhanced DRAM, and associated method |
US6640266B2 (en) * | 2000-03-24 | 2003-10-28 | Cypress Semiconductor Corp. | Method and device for performing write operations to synchronous burst memory |
DE10196380T1 (de) * | 2000-06-23 | 2003-10-16 | Intel Corp | Nicht-flüchtiger Cache |
JP4674865B2 (ja) * | 2006-10-30 | 2011-04-20 | 株式会社日立製作所 | 半導体集積回路 |
US10394719B2 (en) * | 2017-01-25 | 2019-08-27 | Samsung Electronics Co., Ltd. | Refresh aware replacement policy for volatile memory cache |
CN113590520B (zh) * | 2021-06-15 | 2024-05-03 | 珠海一微半导体股份有限公司 | Spi系统自动写入数据的控制方法及spi系统 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4464715A (en) * | 1982-02-24 | 1984-08-07 | Daisy Systems Corporation | Memory accessing method |
US5265102A (en) * | 1989-06-16 | 1993-11-23 | Advantest Corporation | Test pattern generator |
DE69122293T2 (de) * | 1990-04-27 | 1997-04-24 | Nec Corp | Halbleiterspeicheranordnung |
JPH04172711A (ja) * | 1990-11-06 | 1992-06-19 | Mitsubishi Electric Corp | 半導体遅延回路 |
US5249282A (en) * | 1990-11-21 | 1993-09-28 | Benchmarq Microelectronics, Inc. | Integrated cache memory system with primary and secondary cache memories |
US5293603A (en) * | 1991-06-04 | 1994-03-08 | Intel Corporation | Cache subsystem for microprocessor based computer system with synchronous and asynchronous data path |
US5537479A (en) * | 1994-04-29 | 1996-07-16 | Miller And Kreisel Sound Corp. | Dual-driver bass speaker with acoustic reduction of out-of-phase and electronic reduction of in-phase distortion harmonics |
-
1995
- 1995-11-20 EP EP95939102A patent/EP0793827B1/en not_active Expired - Lifetime
- 1995-11-20 JP JP51692996A patent/JP3576561B2/ja not_active Expired - Lifetime
- 1995-11-20 DE DE69525764T patent/DE69525764T2/de not_active Expired - Lifetime
- 1995-11-20 WO PCT/US1995/014552 patent/WO1996016371A1/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
EP0793827A1 (en) | 1997-09-10 |
EP0793827B1 (en) | 2002-03-06 |
EP0793827A4 (en) | 1998-04-15 |
DE69525764D1 (de) | 2002-04-11 |
JPH11511872A (ja) | 1999-10-12 |
WO1996016371A1 (en) | 1996-05-30 |
DE69525764T2 (de) | 2002-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6128700A (en) | System utilizing a DRAM array as a next level cache memory and method for operating same | |
US5829026A (en) | Method and structure for implementing a cache memory using a DRAM array | |
US6310816B2 (en) | Method and system for accessing rows in multiple memory banks within an integrated circuit | |
US5870350A (en) | High performance, high bandwidth memory bus architecture utilizing SDRAMs | |
EP1125300B1 (en) | Method and apparatus for increasing the time available for refresh for 1-t sram compatible devices | |
US8547776B2 (en) | Multi-port memory based on DRAM core | |
US6343352B1 (en) | Method and apparatus for two step memory write operations | |
US7636272B2 (en) | Multi-port memory device | |
JP4579304B2 (ja) | デバイスのタイミングを補償する装置及び方法 | |
EP0895162A2 (en) | Enhanced dram with embedded registers | |
JP4734580B2 (ja) | エンハンスド・バス・ターンアラウンド集積回路ダイナミック・ランダム・アクセス・メモリ装置 | |
US6654293B2 (en) | Methods and apparatus for reading memory device register data | |
JP2000137983A (ja) | 半導体記憶装置 | |
WO2011094133A2 (en) | High utilization multi-partitioned serial memory | |
US6141263A (en) | Circuit and method for a high data transfer rate output driver | |
US5978309A (en) | Selectively enabled memory array access signals | |
JP2002506554A (ja) | メモリデバイスにおけるローカル制御信号発生のための方法および装置 | |
JP3576561B2 (ja) | 第2レベルのキャシュメモリとしてdramアレイを用いる方法及び構成 | |
US20020141275A1 (en) | Packet-based integrated circuit dynamic random access memory device incorporating an on-chip row register cache to reduce data access latencies | |
KR100326939B1 (ko) | 고속 열 사이클이 가능한 메모리의 파이프라인 구조 | |
JP2002197864A (ja) | マルチポートメモリおよびその制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20040127 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20040315 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040427 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040615 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040708 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070716 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080716 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090716 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100716 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110716 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110716 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120716 Year of fee payment: 8 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130716 Year of fee payment: 9 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |