JP2002150771A - Dramキャッシュ・メモリ中のデータをリフレッシュする方法および装置 - Google Patents

Dramキャッシュ・メモリ中のデータをリフレッシュする方法および装置

Info

Publication number
JP2002150771A
JP2002150771A JP2001276057A JP2001276057A JP2002150771A JP 2002150771 A JP2002150771 A JP 2002150771A JP 2001276057 A JP2001276057 A JP 2001276057A JP 2001276057 A JP2001276057 A JP 2001276057A JP 2002150771 A JP2002150771 A JP 2002150771A
Authority
JP
Japan
Prior art keywords
address
sub
refresh
data
array
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.)
Granted
Application number
JP2001276057A
Other languages
English (en)
Other versions
JP4360766B2 (ja
Inventor
Kon Wan Lee
リー=コン・ワン
L Shew Louis
ルイス・エル・シュー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2002150771A publication Critical patent/JP2002150771A/ja
Application granted granted Critical
Publication of JP4360766B2 publication Critical patent/JP4360766B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40603Arbitration, priority and concurrent access to memory cells for read/write or refresh operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40607Refresh operations in memory devices with an internal cache or data buffer

Abstract

(57)【要約】 (修正有) 【課題】 不利益(例えばプロセッサにおける遅延)な
しに、コンピュータ・システム内のDRAMキャッシュ
・メモリ中のデータをリフレッシュする。 【解決手段】 プロセッサから出された要求アドレスが
検出されたときに通常のリフレッシュ動作を停止し、要
求アドレスを、プロセッサによって選択されるTAGメ
モリ192に記憶されたTAGアドレスと比較し、キャ
ッシュ・メモリに記憶されたデータをリフレッシュする
ためにデータの古さに基づいてそれぞれ生成されるリフ
レッシュ・アドレスを生成し、要求アドレスによってア
クセスされるワード線に対して読取り/書込み動作を行
い、かつリフレッシュ・アドレスによってアクセスされ
るワード線上のデータをリフレッシュすることにより、
DRAMキャッシュ・メモリに対するデータ・リフレッ
シュ動作を行うが、読取り/書込み動作とデータのリフ
レッシュとは同時に行われる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンピュータ・シ
ステム内のキャッシュ・メモリに関し、より詳細には、
リフレッシュの不利益なしにダイナミック・ランダム・
アクセス・メモリ(DRAM)キャッシュ・メモリをリ
フレッシュする方法および装置に関する。
【0002】
【従来の技術】一般的なコンピュータ・システムでは、
データ記憶機能によって中央演算処理装置(CPU)を
サポートするためのメモリ階層が存在する。コンピュー
タ内のメイン・メモリとして最も頻繁に使用されるメモ
リ・デバイスのタイプの1つは、ダイナミック・ランダ
ム・アクセス・メモリ(DRAM)である。これは、D
RAMが比較的低コストかつ高密度であり、コンピュー
タ・システムの小さなエリアに大量のデータを記憶する
ことが容易だからである。しかし、DRAMに記憶した
データは定期的にリフレッシュしなければならず、さも
なければ、DRAMセルから電荷が漏れるせいでデータ
は失われることになる。トレード・オフとなるのは、D
RAM中のデータをリフレッシュするのに必要なシステ
ム・オーバーヘッドにおけるコストがより高くなり、そ
れにより速度上の不利益が生じることである。速いプロ
セッサをより遅いメモリとインタフェースする必要があ
るとき、プロセッサ・サイクル・タイムがメモリのデー
タ・アドレス・アクセス時間よりも速いので、全体的な
システム速度は遅くなる。このような状況への対処法の
1つは、より高速の組込みキャッシュ・メモリを使用し
て、より遅いメモリ(すなわちコンピュータ・システム
のメイン・メモリ)にアクセスする実効時間を短縮する
ものである。
【0003】キャッシュ・メモリは、より大きく通常は
より遅いメイン・メモリから選択されたデータを保持
し、それによりプロセッサが選択データから必要なデー
タをより迅速にフェッチできるようにするバッファであ
る。キャッシュ・メモリは、所与の時間に、あるデータ
が次にプロセッサによって選択される確率が他のデータ
よりも高いという原理に基づく。プロセッサによって使
用される確率のより高いデータがキャッシュ・メモリに
記憶されて、アクセス時間がより速くなった場合、その
データにアクセスする平均速度は上昇する。したがっ
て、メイン・メモリよりも通常小さく速いキャッシュ・
メモリを使用して、メイン・メモリの最も頻繁にアクセ
スされるデータを記憶する。
【0004】現代のコンピュータ処理システムのメモリ
階層では、キャッシュ・メモリは通常、最上位レベルの
プロセッサ、すなわち中央演算処理装置(CPU)のす
ぐ下に位置する。通常、キャッシュ・メモリは複数のレ
ベルに分割される。例えば、レベル1キャッシュ(L
1)とレベル2キャッシュ(L2)である。いくつかの
レベル(例えばレベル1キャッシュL1)は、CPUと
同じチップ上にある場合があり、したがって、「オンチ
ップ」と呼ばれる。このようなオンチップ・キャッシュ
・メモリは、通常、より低密度だがより高速であるスタ
ティック・ランダム・アクセス・メモリ(SRAM)で
構成される。キャッシュ・メモリの他のレベル(例えば
レベル2キャッシュL2)は、CPUとは別に位置する
場合があり、より高密度だがより低速であるDRAMで
構成される。高密度DRAMをコンピュータ・システム
内のプロセッサのキャッシュ・メモリとして使用するこ
とにより、より大きなサイズのキャッシュ・メモリを提
供することができ、したがって、「キャッシュ・ミス・
レート」(後で詳細に説明する)を減少させることがで
きる。
【0005】DRAMに記憶されたデータは、ある時間
にわたってアイドルであった後は破壊されるので、DR
AMは、DRAM中のデータをリストアするためのリフ
レッシュ・サイクルを必要とする。DRAM中のメモリ
・セルは、ある時間内に定期的にリフレッシュしなけれ
ばならない。この時間を「保持時間」と呼ぶ。技術およ
びチップ温度に応じて、保持時間は、ほんの数ミリ秒か
ら数百ミリ秒までの範囲で変動する場合がある。データ
・リフレッシュは、メモリ配列中の各行に一度に一行ず
つアクセスすることによって達成される。メモリ配列が
アクセスを受けてリフレッシュされるとき、配列のメモ
リ・セルに記憶されているデータがセンス増幅器に読み
出され、すぐにメモリ・セルにライトバックされる。し
たがって、各メモリ・セルに対応するコンデンサが、そ
の初期値まで再充電される。DRAMにおけるこうした
必要なリフレッシュ・サイクルでは、メモリ配列の各行
がリフレッシュ・サイクルの最中にある間はDRAM中
のデータにアクセスできないため、大幅な遅延が生じ
る。言い換えれば、DRAMキャッシュ・メモリのメモ
リ・セルがリフレッシュされている間は、そのメモリ・
エリアで他の動作を行うことができない。この「デッド
・タイム」により、コンピュータ・システム内のメモリ
中のデータにアクセスする実効速度が遅くなる。より質
の高いコンデンサをキャッシュ・メモリ中のメモリ・セ
ルに使用することによってリフレッシュ時間を短縮する
ことはできるものの、データ・リフレッシュの要件は、
依然としてコンピュータ・システムのタイミングにおけ
る遅延を引き起こす重要な要因である。
【0006】Leungに譲渡された米国特許第602
8804号は、上記の問題の解決法を提案している。L
eungは、DRAMキャッシュ・メモリのピーク周波
数をCPUのピーク外部アクセス周波数よりも高く動作
させる方法を述べている。DRAMリフレッシュ動作の
ためのリフレッシュ・サイクルは隠すことができ、した
がってメモリ・システムは、外部世界にはSRAMのよ
うにみえる。しかし、このような従来システムにおける
欠点は、このような従来型のコンピュータ・システム内
に採用したDRAMキャッシュ・メモリがCPUよりも
速く動作できなければならないことであり、これは実際
には非常に難しく、実際的であったとしても高いコスト
を必要とする。
【0007】したがって、余分な遅延をなくすために、
DRAMキャッシュ・メモリに記憶されたデータをリフ
レッシュする改良型の方法が必要とされている。
【0008】
【発明が解決しようとする課題】本発明の目的は、リフ
レッシュの不利益なしにコンピュータ・システム内のキ
ャッシュ・メモリ中のデータをリフレッシュする方法お
よび装置を提供することである。
【0009】
【課題を解決するための手段】上記および他の目的を達
成するために、本発明は、コンピュータ・システム内で
プロセッサからアクセスされるキャッシュ・メモリ中の
データをリフレッシュする方法を提供する。この方法
は、(a)プロセッサから出された要求アドレスをキャ
ッシュ・メモリに記憶されているTAGアドレスによっ
て検証するステップと、(b)ステップ(a)で要求ア
ドレスが検証されたときに、キャッシュ・メモリの複数
のサブ配列のうちの1つにある、要求アドレスに対応す
るワード線にアクセスするステップと、(c)リフレッ
シュ・アドレスを生成して、キャッシュ・メモリ中の該
1つのサブ配列以外の複数のサブ配列中のデータをリフ
レッシュするステップであって、各リフレッシュ・アド
レスが、該1つのサブ配列以外の複数のサブ配列それぞ
れの、対応するワード線のアドレスを指定するステップ
と、(d)該1つのサブ配列以外の複数のサブ配列中の
データがリフレッシュされる間に、1つのサブ配列中
の、要求アドレスによってアクセスされるワード線に対
して読取り/書込み動作を行うステップとを含む。該1
つのサブ配列に対する読取り/書込み動作と、該1つの
サブ配列以外の複数のサブ配列中のデータのリフレッシ
ュは、同時に行うことが好ましい。前述の方法のステッ
プ(a)は、TAGメモリにTAGアドレスを記憶する
ステップであって、各TAGアドレスが、キャッシュ・
メモリに記憶された対応するワード線データに関連する
ステップと、要求アドレスをTAGアドレスと比較する
ステップと、要求アドレスと同一のTAGアドレスを選
択するステップを含むことができる。前述の方法のステ
ップ(c)は、1つのサブ配列以外の複数のサブ配列そ
れぞれのワード線の状態を把握することにより、そのサ
ブ配列に対するデータ・リフレッシュ・タイミングを提
供するステップと、該1つのサブ配列以外の複数のサブ
配列それぞれの中のデータがリフレッシュされたとき
に、そのサブ配列に対するデータ・リフレッシュ・タイ
ミングをリセットするステップとを含むことができる。
【0010】本発明はまた、コンピュータ・システム内
でプロセッサからアクセス可能なキャッシュ・メモリ中
のデータをリフレッシュするための装置も提供する。こ
の装置は、プロセッサから出された要求アドレスを検出
するためのメモリ・コントローラと、メモリ・コントロ
ーラによって検出された要求アドレスを、キャッシュ・
メモリに記憶されているデータに関連するアドレスと比
較するためのコンパレータと、コンパレータが要求アド
レスと同一のアドレスを見つけたときにリフレッシュ・
アドレスを生成して、キャッシュ・メモリに記憶されて
いるデータをリフレッシュするためのリフレッシュ・コ
ントローラとを備え、要求アドレスは、キャッシュ・メ
モリの第1のサブ配列中のワード線にアクセスし、各リ
フレッシュ・アドレスは、第1のサブ配列以外の各サブ
配列中の、対応するワード線にアクセスする。コンパレ
ータは、キャッシュ・メモリ中のTAGメモリからTA
Gアドレスを受け取ることが好ましく、各TAGアドレ
スは、キャッシュ・メモリのデータ・メモリに記憶され
ているデータの一部に関連する。本発明のリフレッシュ
・コントローラは、リフレッシュ・アドレスを生成する
ためのリフレッシュ・アドレス・ジェネレータを含むこ
とが好ましい。各リフレッシュ・アドレス・ジェネレー
タを第1のサブ配列以外の各サブ配列と関連付けて、第
1のサブ配列以外のサブ配列のうちの対応する1つに記
憶されているデータをリフレッシュするためのリフレッ
シュ・アドレスを生成することができ、また、各リフレ
ッシュ・アドレス・ジェネレータは、第1のサブ配列以
外のサブ配列のうち対応する1つに対するリフレッシュ
・タイミングを提供するためのリフレッシュ・カウンタ
を含むこともできる。リフレッシュ・カウンタは、その
リフレッシュ・カウンタに関連するサブ配列中のデータ
がリフレッシュされたとき、リフレッシュ・タイミング
を初期値にリセットすることができる。
【0011】
【発明の実施の形態】本明細書では、本発明の詳細な例
示的実施形態を開示する。しかし、本明細書に開示する
具体的な構造上および機能上の詳細は、本発明の好まし
い実施形態を述べるための典型にすぎない。どんなキャ
ッシュ・レベルに対するどんなダイナミック・ランダム
・アクセス・メモリ(DRAM)にも、同じリフレッシ
ュの概念を適用することができる。
【0012】サイズの大きいメイン・メモリを備えるコ
ンピュータ・システムに有用なキャッシュ・メモリのタ
イプの1つは、「連想キャッシュ・メモリ」である。連
想キャッシュ・メモリは、2つのタイプのメモリ、すな
わちデータ・メモリおよびTAGメモリを含む。データ
・メモリは、メイン・メモリの固定サイズの領域(例え
ばワード線)であるキャッシュ・ラインを記憶し、TA
Gメモリ(またはディレクトリ・メモリ)は、データ・
メモリに記憶されている各キャッシュ・ラインのアドレ
スを記憶する。
【0013】図1を参照すると、本発明によるコンピュ
ータ・システムのメモリ構成を示すブロック図が提供さ
れている。このコンピュータ・システムは、「オンチッ
プ」キャッシュ・メモリ(L1キャッシュ)13を有す
る中央演算処理装置(CPU)11、メイン・メモリ1
5、CPUバス17、CPUバス17上のデータ・トラ
フィックを制御するためのメモリ・コントローラ18、
および第2レベル・キャッシュ・メモリ(L2キャッシ
ュ)19を備える。
【0014】第1レベル・キャッシュ・メモリ13は、
CPU11と同じチップ上に統合されている。第1レベ
ル・キャッシュ・メモリ13は、より広い帯域幅および
より短いワイヤ幅でCPU11と統合されており、した
がって外部チップとの間の信号の送信または受信あるい
はその両方に関連するどんな遅延も回避するので、より
高速である。第2レベル・キャッシュ・メモリ19は、
CPUとは異なるチップ上に位置し、第1レベル・キャ
ッシュ・メモリ13よりも容量が大きいが、メイン・メ
モリ15よりは小さい。
【0015】キャッシュ・メモリ13、19は、CPU
11とメイン・メモリ15との間のバッファとして働
く。キャッシュ・メモリ13、19のそれぞれでは、デ
ータ・ワードがキャッシュ・メモリに記憶され、「キャ
ッシュ・ブロック」または「キャッシュ・ライン」と呼
ばれる小さなページに分類される。キャッシュ・メモリ
の内容は、メイン・メモリ・ブロックのセットのコピー
である。各キャッシュ・ラインは、「TAGアドレス」
でマークされる。したがって、各キャッシュ・ライン
は、メイン・メモリのどの部分にそのキャッシュ・ライ
ンが属するかを知っている。対応するキャッシュ・ライ
ンに割り当てられたTAGアドレス(非連続的な場合も
ある)は、「TAGメモリまたはディレクトリ」と呼ば
れる特別なメモリに記憶される。
【0016】第1レベル・キャッシュ・メモリ13で
は、あるデータにアクセスするためにアドレスがCPU
11から要求されたとき、その要求アドレスが、第1レ
ベル・キャッシュ・メモリ13のTAGメモリ(図2参
照)に記憶されているTAGアドレスと比較される。要
求アドレスがTAGメモリ中のTAGアドレスの中に見
つかった場合は、要求アドレスに対応するデータがキャ
ッシュ・メモリ13中に存在すると判定され、このこと
は「ヒット」と呼ばれる。キャッシュ・メモリ13中に
要求アドレスのデータが見つかると、そのデータはCP
U11に転送される。TAGメモリはまた、キャッシュ
・メモリ13中のデータを突き止めるためのオフセット
・アドレスも含む。キャッシュ・メモリ中のデータを突
き止めることは当技術分野で周知であり、したがって、
その詳細な記述は本明細書では省略する。
【0017】一方、要求アドレスがキャッシュ・メモリ
13のTAGメモリ中に見つからない場合は、要求アド
レスに対応するデータがキャッシュ・メモリ13中に存
在しないと判定され、このことは「ミス」と呼ばれる。
第1レベル・キャッシュ・メモリ13中で「ミス」が生
じると、要求アドレスは、より低いレベルのメモリ、例
えば第2レベル・キャッシュ・メモリ19に送られる。
以下に、第2レベル・キャッシュ・メモリにおけるデー
タ・アクセス・プロセスについて詳細に述べる。第2レ
ベル・キャッシュ・メモリ19中で「ミス」が生じた場
合(すなわち第2レベル・キャッシュ・メモリ中にデー
タが存在しない場合)、要求アドレスは、第3レベル・
キャッシュ・メモリ(利用可能ならば)、またはメイン
・メモリに送られる。
【0018】図1において、このコンピュータ・システ
ムは、第1レベル・キャッシュ・メモリ13にSRAM
を採用し、第2レベル・キャッシュ・メモリ19にDR
AMを採用するのが好ましいため、第1レベル・キャッ
シュ・メモリ13にはデータ・リフレッシュ・プロセス
は必要ない。したがって、本発明によるデータのリフレ
ッシュ方法を第2レベル・キャッシュ・メモリ19に関
して述べる。ただし本発明は、メイン・メモリをサポー
トするための階層メモリ・システムで使用されるどんな
DRAMキャッシュ・メモリにも適用されることに留意
されたい。
【0019】図2を参照すると、第2レベル・キャッシ
ュ・メモリ19は、データ・メモリ191およびTAG
メモリ192を含む。データ・メモリ191は、CPU
(11、図1参照)によって選択される確率がより高い
データを記憶し、TAGメモリ192は、データ・メモ
リ191に記憶されたデータの対応するキャッシュ・ラ
インのアドレスをそれぞれ指定するTAGアドレスを記
憶する。
【0020】前述のように、第1レベル・キャッシュ・
メモリ(13、図1参照)中で「ミス」が生じたとき、
CPUから出された要求アドレスがCPUバス(17、
図1参照)上にロードされて、第2キャッシュ・メモリ
19に転送される。メモリ・コントローラ(18、図1
参照)は、CPUバスから要求アドレスを受け取り、そ
れをTAGリフレッシュ・コントローラ194に含まれ
るTAGコンパレータ193に送る。TAGコンパレー
タ193は、要求アドレスを、キャッシュ・メモリ19
のTAGメモリ192から提供されるTAGアドレスと
比較する。TAGメモリ中のTAGアドレスの中に要求
アドレスが見つかった(すなわち「ヒット」が生じた)
場合は、データ・メモリ191中で、要求アドレス(ま
たは選択されたTAGアドレス)に対応するキャッシュ
・ラインがCPUからアクセスを受ける。TAGメモリ
中のTAGアドレスの中に要求アドレスが見つからない
(すなわち「ミス」が生じた)場合は、要求アドレスに
対応するワード線をメイン・メモリ中で見つけるため
に、要求アドレスがメイン・メモリ(15、図1参照)
に送られる。
【0021】TAGリフレッシュ・コントローラ194
は、DRAMキャッシュ・メモリ19のデータ・メモリ
191に記憶されているデータをリフレッシュするため
に備わっている。TAGリフレッシュ・コントローラ1
94を使用して、データ・リフレッシュ・プロセスをそ
れぞれが必要とするメモリ・アドレスをトレースするた
めの履歴テーブルがマッピングされる。TAGリフレッ
シュ・コントローラ194を使用することにより、デー
タ・リフレッシュ・プロセスによる遅延を生じずに済
む。TAGリフレッシュ・コントローラ194はまた、
データ・リフレッシュ・プロセスを行うために、リフレ
ッシュ・アドレス・ジェネレータ320およびリフレッ
シュ・カウンタ322も備える。次に、データ・リフレ
ッシュ・プロセスについてより詳細に述べる。
【0022】図3を参照すると、本発明によりDRAM
キャッシュ・メモリ(例えば図1の第2レベル・キャッ
シュ・メモリ19)中のデータをリフレッシュする方法
を記述するフロー・チャートが提供されている。まず、
キャッシュ・メモリ中の要求アドレスに対応するワード
線に対して読取り/書込み動作を行うようにCPUから
外的に要求されたアドレスがあるかどうかが判定される
(ステップ302)。言い換えれば、CPUがキャッシ
ュ・メモリ中のワード線に対するデータの読取りまたは
書込みを要求しており、したがってそのワード線を表す
アドレスがCPUバス上にロードされるかどうかが判定
される。CPUからの要求アドレスがない場合は、通常
のデータ・リフレッシュ動作が行われる(ステップ30
4)。通常のリフレッシュ動作では、キャッシュ・メモ
リのメモリ配列が連続してリフレッシュされる形で、キ
ャッシュ・メモリに記憶されているデータがリフレッシ
ュされる。TAGリフレッシュ・コントローラ(19
4、図2参照)に含まれるリフレッシュ・アドレス・ジ
ェネレータ320が、リフレッシュ・アドレスを少なく
とも1つ生成して、リフレッシュ・カウンタ(322、
図2参照)から提供されるリフレッシュ・クロックに基
づいてキャッシュ・メモリのサブ配列中にある対応する
ワード線中のデータをリフレッシュする。例えば、ある
時間にわたり、キャッシュ・メモリ中の各サブ配列につ
き1本のワード線を同時にリフレッシュすることができ
る。したがってこの場合、サブ配列ごとに1つのリフレ
ッシュ・アドレス・ジェネレータが必要となる。キャッ
シュ・メモリ中のサブ配列へのリフレッシュ・アドレス
の生成については、図4を参照しながら後で詳細に述べ
る。
【0023】CPUから出された要求アドレスがある場
合は、通常のリフレッシュ動作のためのリフレッシュ・
サイクルが停止される(ステップ306)。キャッシュ
・メモリに対する通常のリフレッシュ動作が停止される
と、要求リフレッシュ・アドレスがTAGリフレッシュ
・コントローラに送られる。TAGリフレッシュ・コン
トローラは、TAGコンパレータ(193、図2参照)
およびTAGメモリ(192、図2参照)を使用して行
われる「ヒット/ミス比較」を制御する(ステップ30
7)。ヒット/ミス比較において、「ヒット」は、CP
Uから要求されたデータがキャッシュ・メモリ中に見つ
かる場合であり、「ミス」は、要求データがキャッシュ
・メモリ中に見つからず、したがってメイン・メモリに
行ってそのデータにアクセスする場合である。「ヒッ
ト」か「ミス」かを判定するために、TAGコンパレー
タは、要求アドレスをTAGメモリ中に記憶されている
TAGアドレスと比較し、要求アドレスがTAGアドレ
スの中に見つかるかどうかを判定する。
【0024】「ヒット/ミス比較」を行って、要求アド
レスがTAGメモリ中のTAGアドレスの中に見つから
ない(すなわちステップ308で「ヒット」がない)場
合は、要求アドレスはメイン・メモリに送られる。メモ
リ・コントローラ(18、図1参照)が、メイン・メモ
リ中のワード線を表す要求アドレスを用いてそのワード
線にアクセスして、CPUから要求された読取り/書込
み動作をメイン・メモリ中のそのワード線に対して行う
(ステップ310)。読取り/書込み動作を行うと、メ
モリ・コントローラは、キャッシュ・メモリに対する通
常のリフレッシュ動作の実施を制御する(ステップ30
4)。メモリ・コントローラはまた、読取り/書込み動
作を行う場所のアドレスをリフレッシュ・アドレス・ジ
ェネレータ320にも送るが、これにより、これらのア
ドレスに記憶されているデータを再びリフレッシュする
必要がなくなる。
【0025】「ヒット/ミス比較」を行って、要求アド
レスがTAGメモリ中のTAGアドレスの中に見つかっ
た(すなわちステップ308で「ヒット」があった)場
合は、リフレッシュ・アドレス・ジェネレータ320
は、キャッシュ・メモリ中の、要求アドレスを有するサ
ブ配列以外のサブ配列のリフレッシュ・アドレスを生成
する(ステップ312)。キャッシュ・メモリは複数の
サブ配列を有し、各サブ配列中のデータは、異なるワー
ド線アドレスによってアドレス指定することができる。
「ヒット」があったときは、要求アドレス(または選択
されたTAGアドレス)によってキャッシュ・メモリの
サブ配列中のワード線にアクセスすることができる。こ
の場合、要求アドレスは、サブ配列中の対応するワード
線にアクセスするためのアクセス・アドレスになる。ま
た、「ヒット」があったときは、リフレッシュ・アドレ
ス・ジェネレータ320は、キャッシュ・メモリの、C
PUによる読取り/書込み動作に対するワード線を有す
るサブ配列以外のサブ配列中のデータをリフレッシュす
るためのリフレッシュ・アドレスを生成する。各リフレ
ッシュ・アドレスは、リフレッシュすべき各サブ配列中
のワード線のアドレスを指定する(これについては図4
を参照しながら詳細に述べる)。
【0026】リフレッシュ・アドレス・ジェネレータ3
20は、例えば、対応する優先順位インデックスおよび
フレッシュ・インデックスを各ワード線アドレスが有す
るように、優先順位インデックス、フレッシュ・インデ
ックス、およびワード線アドレスを記憶する。優先順位
インデックスは、リフレッシュ・アドレス・ジェネレー
タ320中の対応するワード線アドレスの置換の優先順
位を示す。フレッシュ・インデックスは、データ信頼性
の標識(すなわち「ダーティ」ビットまたは無効ビッ
ト)である。ワード線アドレスは、キャッシュ・メモリ
中の、CPUから要求された読取り/書込み動作がメモ
リ・コントローラの制御下で行われる場所のワード線ア
ドレスと同じアドレスである。
【0027】リフレッシュ・アドレス・ジェネレータ3
20からリフレッシュ・アドレスが得られると、CPU
から要求された読取り/書込み動作およびデータ・リフ
レッシュ動作が、CPUからの要求アドレス(すなわち
アクセス・アドレス)および内部生成されたリフレッシ
ュ・アドレスをそれぞれ用いてキャッシュ・メモリ中で
同時に行われる(ステップ314)。データ・リフレッ
シュ動作は、キャッシュ・メモリ中の、アクセス・アド
レスに対応するデータが記憶されているサブ配列以外の
サブ配列に対して行われる。読取り/書込み動作および
データ・リフレッシュ動作をキャッシュ・メモリ中で行
う際、サブ配列中にあるアクセス・アドレス中のデータ
にアクセスするプロセスは、アクセス・アドレスが提供
されたサブ配列以外のサブ配列にそれぞれ提供された各
リフレッシュ・アドレス中のデータをリフレッシュする
プロセスと同時に行われる。この結果、従来技術におい
てデータ・リフレッシュ要件によって生じる遅延は、大
幅に削減されるか完全になくすことができる。
【0028】図4を参照すると、キャッシュ・メモリ、
およびキャッシュ・メモリに適用されるワード線アドレ
スの構成を示すブロック図が提供されている。DRAM
キャッシュ・メモリは、それぞれがセンス増幅器を有す
る複数のサブ配列を有することができる。各サブ配列に
記憶されたデータには、対応するワード線アドレスによ
ってアクセスすることができる。例えば、図4のキャッ
シュ・メモリは4つのサブ配列41〜44を有し、それ
ぞれがセンス増幅器バンク401〜404を有する。C
PUから要求された読取り/書込み動作が行われるワー
ド線が第1のサブ配列41中に位置すると仮定した場
合、このワード線に対応するアクセス・アドレスが、第
1のサブ配列41に提供される。同時に、リフレッシュ
・アドレス・ジェネレータ320A〜320Cが、第2
〜第4のサブ配列42〜44への第1〜第3のリフレッ
シュ・アドレスをそれぞれ生成する。CPUから要求さ
れた読取り/書込み動作を行うために、第1のサブ配列
41中で対応するワード線がアクセス・アドレスによっ
てアクセスを受ける一方で、第2〜第4のサブ配列42
〜44中の対応するワード線のデータをリフレッシュす
るために、対応するワード線が第1〜第3のリフレッシ
ュ・アドレスによってそれぞれアクセスを受ける。言い
換えれば、データ・リフレッシュ動作では、キャッシュ
・メモリの第2〜第4のサブ配列42〜44それぞれの
中で1つのワード線データが、第1〜第3のリフレッシ
ュ・アドレスのそれぞれによってアクセスを受ける。例
えば、TAGリフレッシュ・コントローラ194中に含
まれる第1〜第3のリフレッシュ・アドレス・ジェネレ
ータ320A〜320Cは、第1〜第3のリフレッシュ
・カウンタ322A〜322Cからリフレッシュ・クロ
ックをそれぞれ受け取り、第2〜第4のサブ配列42〜
44への第1〜第3のリフレッシュ・アドレスをそれぞ
れ生成する。4つのサブ配列41〜44がある場合、各
サブ配列は、例えばサブ配列中のワード線にアクセスす
るためのアドレスの最初の2桁によって識別される。言
い換えれば、ワード線アドレスの最初の2桁は、「0
0」、「01」、「10」、または「11」とすること
ができ、これらはそれぞれ、第1のサブ配列41、第2
のサブ配列42、第3のサブ配列43、または第4のサ
ブ配列44を指定する。
【0029】読取り/書込み動作では、第1のサブ配列
41中のワード線データがアクセス・アドレスによって
アクセスを受け、第1のサブ配列41をリフレッシュす
るために生成されたリフレッシュ・アドレスは、次に利
用可能なリフレッシュ動作実施の時まで保持されなけれ
ばならない。言い換えれば、CPUが他の3つのサブ配
列42〜44のいずれかにアクセスするときに、第1の
サブ配列41中でデータ・リフレッシュ・プロセスを行
うことができる。ただし、リフレッシュ・アドレス・ジ
ェネレータから提供されたリフレッシュ・アドレスによ
ってリフレッシュできるのは、良好なリフレッシュ可能
状態にあるデータだけである。CPUが長時間にわたり
第1のサブ配列41のある部分に連続してアクセスする
場合、第1のサブ配列41の残りの部分に記憶されてい
るデータは「ダーティ」となり、したがって、CPUが
それらのデータを必要としたときには、それらをメイン
・メモリから置換しなければならない。すなわち、老化
してリフレッシュ不可能な状態になったダーティ・デー
タに対しては、データをメイン・メモリからコピーし直
さなければならない。ただし、複数のサブ配列に対して
このように非常に不均一なアクセスが生じる確率は稀で
ある。
【0030】リフレッシュ・アドレス・ジェネレータ3
20は、リフレッシュ動作が行われることになる各サブ
配列にワード線のリフレッシュ・タイミングおよびアド
レスを提供するリフレッシュ・カウンタ322を含むこ
とが好ましい。リフレッシュ・カウンタ322は、例え
ば、リフレッシュされる各サブ配列に対するワード線ア
ドレスの状態を把握している。あるワード線データがリ
フレッシュされるとき、リフレッシュ・カウンタ322
は、リフレッシュするための次のサブ配列アドレスを生
成する。サブ配列中のすべてのワード線がリフレッシュ
されたとき、リフレッシュ・カウンタ322はゼロにリ
セットされ、次のリフレッシュ・サイクル中で再び第1
のワード線のリフレッシュを開始する。所定の時間にわ
たってリフレッシュまたはアクセスされなかった「ダー
ティ・ビット」を有するワード線のアドレスもまた、T
AGメモリに記録され、キャッシュ・メモリがアクティ
ブに読取り/書込み動作を行わないときにメイン・メモ
リからデータを転送することによってリフレッシュされ
る。各ワード線アドレスに対するタイミング情報の状態
が把握され記録されるので、「ダーティ・ビット」を有
するワード線アドレスを検出することができる。次い
で、メイン・メモリからのデータによってワード線アド
レスのダーティ・データを「クリーンにする」ために信
号を送ることにより、ダーティ・ワード線アドレスのデ
ータがリフレッシュされる。クリーンにすべきダーティ
・データは、CPUからの要求に従ってデータがアクセ
スを受けるサブ配列以外のサブ配列中のものである。
【0031】DRAMキャッシュ・メモリが「n」個の
サブ配列を有し、それぞれがワード線アドレスによって
アクセスされるデータを記憶していると仮定した場合、
あるサブ配列に対して読取り/書込み動作が行われ、同
時に、「n−1」個のサブ配列に対してデータ・リフレ
ッシュ動作が実施できる。言い換えれば、キャッシュ・
メモリ中の「n−1」個のサブ配列に対してデータ・リ
フレッシュ動作を行う時間が余分に必要とはならない。
したがって、DRAMキャッシュ・メモリ中のデータ・
リフレッシュ動作に必要な時間は、CPUにおいてどん
な遅延も引き起こさない。
【0032】リフレッシュの不利益なしにDRAMキャ
ッシュ・メモリ中のデータをリフレッシュする方法を述
べたが、以上の教示に鑑みて、当業者なら容易に修正お
よび変形を加えることができる。したがって本発明は、
添付の特許請求の範囲内で、本明細書に具体的に述べた
以外の方式で実施することができることを理解された
い。
【0033】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0034】(1)コンピュータ・システム内でプロセ
ッサからアクセスされるキャッシュ・メモリ中のデータ
をリフレッシュする方法であって、(a)前記プロセッ
サから出された要求アドレスを、前記キャッシュ・メモ
リに記憶されているTAGアドレスによって検証するス
テップと、(b)ステップ(a)で前記要求アドレスが
検証されたときに、前記キャッシュ・メモリの複数のサ
ブ配列のうちの1つにある、前記要求アドレスに対応す
るワード線にアクセスするステップと、(c)リフレッ
シュ・アドレスを生成して、前記キャッシュ・メモリ中
の前記1つのサブ配列以外の前記複数のサブ配列中のデ
ータをリフレッシュするステップであって、各リフレッ
シュ・アドレスが、前記1つのサブ配列以外の前記複数
のサブ配列それぞれの、対応するワード線のアドレスを
指定するステップと、(d)前記1つのサブ配列以外の
前記複数のサブ配列中のデータがリフレッシュされる間
に、前記1つのサブ配列中の、前記要求アドレスによっ
てアクセスされる前記ワード線に対して読取り/書込み
動作を行うステップとを含む方法。 (2)前記1つのサブ配列に対する読取り/書込み動作
と、前記1つのサブ配列以外の前記複数のサブ配列中の
データのリフレッシュが同時に行われる、上記(1)に
記載の方法。 (3)ステップ(a)が、TAGメモリにTAGアドレ
スを記憶するステップであって、各TAGアドレスが、
前記キャッシュ・メモリに記憶された対応するワード線
データに関連するステップと、前記要求アドレスを前記
TAGアドレスと比較するステップと、前記要求アドレ
スと同一のTAGアドレスを選択するステップとを含
む、上記(1)に記載の方法。 (4)前記要求アドレスが前記TAGメモリ中の前記T
AGアドレスと異なるとき、前記キャッシュ・メモリ中
のデータに対して通常のリフレッシュ動作を行うステッ
プをさらに含む、上記(3)に記載の方法。 (5)ステップ(c)が、前記リフレッシュ・アドレス
により、前記1つのサブ配列以外の前記複数のサブ配列
中のワード線に同時にアクセスするステップを含み、各
リフレッシュ・アドレスが、前記1つのサブ配列以外の
前記複数のサブ配列のうちの対応する1つに関連する、
上記(1)に記載の方法。 (6)ステップ(c)が、前記1つのサブ配列以外の前
記複数のサブ配列それぞれのワード線の状態を把握する
ことにより、前記それぞれのサブ配列に対するデータ・
リフレッシュ・タイミングを提供するステップを含む、
上記(1)に記載の方法。 (7)前記1つのサブ配列以外の前記複数のサブ配列そ
れぞれの中のデータがリフレッシュされたときに、前記
それぞれのサブ配列に対する前記データ・リフレッシュ
・タイミングをリセットするステップをさらに含む、上
記(6)に記載の方法。 (8)前記リフレッシュ・アドレスがそれぞれ、対応す
るリフレッシュ・アドレス中のデータの置換の優先順位
を表す優先順位インデックスと、前記キャッシュ・メモ
リの対応するサブ配列中のワード線のアドレスを指定す
るためのワード線アドレスとを含む、上記(1)に記載
の方法。 (9)前記リフレッシュ・アドレスがそれぞれ、対応す
るワード線アドレス中のデータの信頼性を示すフレッシ
ュ・インデックスを含む、上記(8)に記載の方法。 (10)コンピュータ・システム内でプロセッサからア
クセスされるキャッシュ・メモリ中のデータをリフレッ
シュする方法であって、(e)前記プロセッサから出さ
れた要求アドレスを検出するステップと、(f)前記要
求アドレスが検出されたときに、前記キャッシュ・メモ
リの複数のサブ配列に記憶されたデータを連続してリフ
レッシュする通常のリフレッシュ動作を停止するステッ
プと、(g)前記要求アドレスを、メモリにあらかじめ
記憶されているアドレスと比較するステップであって、
前記メモリ中の前記アドレスが、前記プロセッサによっ
て選択される確率のより高い前記キャッシュ・メモリ中
のデータに関連するステップと、(h)前記キャッシュ
・メモリに記憶されたデータをリフレッシュするための
リフレッシュ・アドレスを生成するステップであって、
各リフレッシュ・アドレスが、前記リフレッシュ・アド
レスに対応するデータの古さに基づいて生成されるステ
ップと、(i)前記要求アドレスによってアクセスされ
るワード線に対して読取り/書込み動作を行い、前記リ
フレッシュ・アドレスによってアクセスされるワード線
上のデータをリフレッシュするステップであって、前記
読取り/書込み動作と前記データのリフレッシュとが同
時に行われるステップとを含む方法。 (11)ステップ(i)が、前記読取り/書込み動作が
行われるワード線にアクセスするために、前記キャッシ
ュ・メモリのサブ配列に前記要求アドレスを提供するス
テップと、前記要求アドレスが提供される前記サブ配列
以外の複数のサブ配列にリフレッシュ・アドレスを提供
するステップとを含み、前記リフレッシュ・アドレスが
それぞれ、前記サブ配列以外の前記複数のサブ配列それ
ぞれの中の対応するワード線にアクセスする、上記(1
0)に記載の方法。 (12)コンピュータ・システム内でプロセッサからア
クセス可能なキャッシュ・メモリ中のデータをリフレッ
シュするための装置であって、前記プロセッサから出さ
れた要求アドレスを検出するためのメモリ・コントロー
ラと、前記メモリ・コントローラによって検出された前
記要求アドレスを、前記キャッシュ・メモリに記憶され
ているデータに関連するアドレスと比較するためのコン
パレータと、前記コンパレータが前記要求アドレスと同
一のアドレスを見つけたときにリフレッシュ・アドレス
を生成して、前記キャッシュ・メモリに記憶されている
データをリフレッシュするためのリフレッシュ・コント
ローラとを備え、前記要求アドレスが前記キャッシュ・
メモリの第1サブ配列にあるワード線にアクセスし、リ
フレッシュ・アドレスのそれぞれが、前記第1サブ配列
以外のサブ配列のそれぞれにある、対応するワード線に
アクセスする装置。 (13)前記コンパレータが、前記キャッシュ・メモリ
中のTAGメモリからTAGアドレスを受け取り、前記
TAGアドレスがそれぞれ、前記キャッシュ・メモリの
データ・メモリに記憶されているデータの一部に関連す
る、上記(12)に記載の装置。 (14)前記キャッシュ・メモリの前記データ・メモリ
が、前記プロセッサによって選択される確率のより高い
データを記憶する、上記(13)に記載の装置。 (15)前記リフレッシュ・コントローラが、前記リフ
レッシュ・アドレスを生成するための複数のリフレッシ
ュ・アドレス・ジェネレータを含み、前記リフレッシュ
・アドレス・ジェネレータがそれぞれ、第1のサブ配列
以外の各サブ配列と関連し、前記第1のサブ配列以外の
前記サブ配列のうちの対応する1つに記憶されているデ
ータをリフレッシュするためのリフレッシュ・アドレス
を生成する、上記(12)に記載の装置。 (16)前記複数のリフレッシュ・アドレス・ジェネレ
ータがそれぞれ、前記第1のサブ配列以外の前記サブ配
列のうち対応する1つに対するリフレッシュ・タイミン
グを提供するためのリフレッシュ・カウンタを含む、上
記(15)に記載の装置。 (17)前記リフレッシュ・カウンタが、前記リフレッ
シュ・カウンタに関連するサブ配列中のデータがリフレ
ッシュされたときに前記リフレッシュ・タイミングを初
期値にリセットする、上記(16)に記載の装置。 (18)前記要求アドレスが前記第1のサブ配列に提供
されるのと同時に、前記リフレッシュ・コントローラ
が、前記第1のサブ配列以外の前記サブ配列にリフレッ
シュ・アドレスを提供する、上記(12)に記載の装
置。
【図面の簡単な説明】
【図1】本発明の好ましい実施形態が適用されるコンピ
ュータ・システム内のメモリ構成のブロック図である。
【図2】図1のキャッシュ・メモリを示すブロック図で
ある。
【図3】本発明によりキャッシュ・メモリをリフレッシ
ュする方法を記述するフロー・チャートである。
【図4】本発明による、キャッシュ・メモリのサブ配列
およびデータ・リフレッシュ動作を示すブロック図であ
る。
【符号の説明】
11 中央演算処理装置(CPU) 13 第1レベル・キャッシュ・メモリ 15 メイン・メモリ 17 CPUバス 18 メモリ・コントローラ 19 第2レベル・キャッシュ・メモリ 41 サブ配列 42 サブ配列 43 サブ配列 44 サブ配列 191 データ・メモリ 192 TAGメモリ 193 TAGコンパレータ 194 TAGリフレッシュ・コントローラ 320A リフレッシュ・アドレス・ジェネレータ 320B リフレッシュ・アドレス・ジェネレータ 320C リフレッシュ・アドレス・ジェネレータ 322A リフレッシュ・カウンタ 322B リフレッシュ・カウンタ 322C リフレッシュ・カウンタ 401 センス増幅器バンク 402 センス増幅器バンク 403 センス増幅器バンク 404 センス増幅器バンク
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G11C 11/34 363C (72)発明者 ルイス・エル・シュー アメリカ合衆国12524 ニューヨーク州フ ィッシュキル クロスビー・コート 7 Fターム(参考) 5B005 JJ11 MM01 UU16 UU32 5B060 CA10 5M024 AA50 BB07 BB22 BB30 BB34 BB39 DD62 DD92 EE10 EE15 EE29 EE30 KK30 LL01 PP01 PP10

Claims (18)

    【特許請求の範囲】
  1. 【請求項1】コンピュータ・システム内でプロセッサか
    らアクセスされるキャッシュ・メモリ中のデータをリフ
    レッシュする方法であって、 (a)前記プロセッサから出された要求アドレスを、前
    記キャッシュ・メモリに記憶されているTAGアドレス
    によって検証するステップと、 (b)ステップ(a)で前記要求アドレスが検証された
    ときに、前記キャッシュ・メモリの複数のサブ配列のう
    ちの1つにある、前記要求アドレスに対応するワード線
    にアクセスするステップと、 (c)リフレッシュ・アドレスを生成して、前記キャッ
    シュ・メモリ中の前記1つのサブ配列以外の前記複数の
    サブ配列中のデータをリフレッシュするステップであっ
    て、各リフレッシュ・アドレスが、前記1つのサブ配列
    以外の前記複数のサブ配列それぞれの、対応するワード
    線のアドレスを指定するステップと、 (d)前記1つのサブ配列以外の前記複数のサブ配列中
    のデータがリフレッシュされる間に、前記1つのサブ配
    列中の、前記要求アドレスによってアクセスされる前記
    ワード線に対して読取り/書込み動作を行うステップと
    を含む方法。
  2. 【請求項2】前記1つのサブ配列に対する読取り/書込
    み動作と、前記1つのサブ配列以外の前記複数のサブ配
    列中のデータのリフレッシュが同時に行われる、請求項
    1に記載の方法。
  3. 【請求項3】ステップ(a)が、 TAGメモリにTAGアドレスを記憶するステップであ
    って、各TAGアドレスが、前記キャッシュ・メモリに
    記憶された対応するワード線データに関連するステップ
    と、 前記要求アドレスを前記TAGアドレスと比較するステ
    ップと、 前記要求アドレスと同一のTAGアドレスを選択するス
    テップとを含む、請求項1に記載の方法。
  4. 【請求項4】前記要求アドレスが前記TAGメモリ中の
    前記TAGアドレスと異なるとき、前記キャッシュ・メ
    モリ中のデータに対して通常のリフレッシュ動作を行う
    ステップをさらに含む、請求項3に記載の方法。
  5. 【請求項5】ステップ(c)が、前記リフレッシュ・ア
    ドレスにより、前記1つのサブ配列以外の前記複数のサ
    ブ配列中のワード線に同時にアクセスするステップを含
    み、各リフレッシュ・アドレスが、前記1つのサブ配列
    以外の前記複数のサブ配列のうちの対応する1つに関連
    する、請求項1に記載の方法。
  6. 【請求項6】ステップ(c)が、前記1つのサブ配列以
    外の前記複数のサブ配列それぞれのワード線の状態を把
    握することにより、前記それぞれのサブ配列に対するデ
    ータ・リフレッシュ・タイミングを提供するステップを
    含む、請求項1に記載の方法。
  7. 【請求項7】前記1つのサブ配列以外の前記複数のサブ
    配列それぞれの中のデータがリフレッシュされたとき
    に、前記それぞれのサブ配列に対する前記データ・リフ
    レッシュ・タイミングをリセットするステップをさらに
    含む、請求項6に記載の方法。
  8. 【請求項8】前記リフレッシュ・アドレスがそれぞれ、
    対応するリフレッシュ・アドレス中のデータの置換の優
    先順位を表す優先順位インデックスと、前記キャッシュ
    ・メモリの対応するサブ配列中のワード線のアドレスを
    指定するためのワード線アドレスとを含む、請求項1に
    記載の方法。
  9. 【請求項9】前記リフレッシュ・アドレスがそれぞれ、
    対応するワード線アドレス中のデータの信頼性を示すフ
    レッシュ・インデックスを含む、請求項8に記載の方
    法。
  10. 【請求項10】コンピュータ・システム内でプロセッサ
    からアクセスされるキャッシュ・メモリ中のデータをリ
    フレッシュする方法であって、 (e)前記プロセッサから出された要求アドレスを検出
    するステップと、 (f)前記要求アドレスが検出されたときに、前記キャ
    ッシュ・メモリの複数のサブ配列に記憶されたデータを
    連続してリフレッシュする通常のリフレッシュ動作を停
    止するステップと、 (g)前記要求アドレスを、メモリにあらかじめ記憶さ
    れているアドレスと比較するステップであって、前記メ
    モリ中の前記アドレスが、前記プロセッサによって選択
    される確率のより高い前記キャッシュ・メモリ中のデー
    タに関連するステップと、 (h)前記キャッシュ・メモリに記憶されたデータをリ
    フレッシュするためのリフレッシュ・アドレスを生成す
    るステップであって、各リフレッシュ・アドレスが、前
    記リフレッシュ・アドレスに対応するデータの古さに基
    づいて生成されるステップと、 (i)前記要求アドレスによってアクセスされるワード
    線に対して読取り/書込み動作を行い、前記リフレッシ
    ュ・アドレスによってアクセスされるワード線上のデー
    タをリフレッシュするステップであって、前記読取り/
    書込み動作と前記データのリフレッシュとが同時に行わ
    れるステップとを含む方法。
  11. 【請求項11】ステップ(i)が、 前記読取り/書込み動作が行われるワード線にアクセス
    するために、前記キャッシュ・メモリのサブ配列に前記
    要求アドレスを提供するステップと、 前記要求アドレスが提供される前記サブ配列以外の複数
    のサブ配列にリフレッシュ・アドレスを提供するステッ
    プとを含み、前記リフレッシュ・アドレスがそれぞれ、
    前記サブ配列以外の前記複数のサブ配列それぞれの中の
    対応するワード線にアクセスする、請求項10に記載の
    方法。
  12. 【請求項12】コンピュータ・システム内でプロセッサ
    からアクセス可能なキャッシュ・メモリ中のデータをリ
    フレッシュするための装置であって、 前記プロセッサから出された要求アドレスを検出するた
    めのメモリ・コントローラと、 前記メモリ・コントローラによって検出された前記要求
    アドレスを、前記キャッシュ・メモリに記憶されている
    データに関連するアドレスと比較するためのコンパレー
    タと、 前記コンパレータが前記要求アドレスと同一のアドレス
    を見つけたときにリフレッシュ・アドレスを生成して、
    前記キャッシュ・メモリに記憶されているデータをリフ
    レッシュするためのリフレッシュ・コントローラとを備
    え、前記要求アドレスが前記キャッシュ・メモリの第1
    サブ配列にあるワード線にアクセスし、リフレッシュ・
    アドレスのそれぞれが、前記第1サブ配列以外のサブ配
    列のそれぞれにある、対応するワード線にアクセスする
    装置。
  13. 【請求項13】前記コンパレータが、前記キャッシュ・
    メモリ中のTAGメモリからTAGアドレスを受け取
    り、前記TAGアドレスがそれぞれ、前記キャッシュ・
    メモリのデータ・メモリに記憶されているデータの一部
    に関連する、請求項12に記載の装置。
  14. 【請求項14】前記キャッシュ・メモリの前記データ・
    メモリが、前記プロセッサによって選択される確率のよ
    り高いデータを記憶する、請求項13に記載の装置。
  15. 【請求項15】前記リフレッシュ・コントローラが、前
    記リフレッシュ・アドレスを生成するための複数のリフ
    レッシュ・アドレス・ジェネレータを含み、前記リフレ
    ッシュ・アドレス・ジェネレータがそれぞれ、第1のサ
    ブ配列以外の各サブ配列と関連し、前記第1のサブ配列
    以外の前記サブ配列のうちの対応する1つに記憶されて
    いるデータをリフレッシュするためのリフレッシュ・ア
    ドレスを生成する、請求項12に記載の装置。
  16. 【請求項16】前記複数のリフレッシュ・アドレス・ジ
    ェネレータがそれぞれ、前記第1のサブ配列以外の前記
    サブ配列のうち対応する1つに対するリフレッシュ・タ
    イミングを提供するためのリフレッシュ・カウンタを含
    む、請求項15に記載の装置。
  17. 【請求項17】前記リフレッシュ・カウンタが、前記リ
    フレッシュ・カウンタに関連するサブ配列中のデータが
    リフレッシュされたときに前記リフレッシュ・タイミン
    グを初期値にリセットする、請求項16に記載の装置。
  18. 【請求項18】前記要求アドレスが前記第1のサブ配列
    に提供されるのと同時に、前記リフレッシュ・コントロ
    ーラが、前記第1のサブ配列以外の前記サブ配列にリフ
    レッシュ・アドレスを提供する、請求項12に記載の装
    置。
JP2001276057A 2000-09-12 2001-09-12 Dramキャッシュ・メモリ中のデータをリフレッシュする方法および装置 Expired - Fee Related JP4360766B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/660,431 US6697909B1 (en) 2000-09-12 2000-09-12 Method and apparatus for performing data access and refresh operations in different sub-arrays of a DRAM cache memory
US09/660431 2000-09-12

Publications (2)

Publication Number Publication Date
JP2002150771A true JP2002150771A (ja) 2002-05-24
JP4360766B2 JP4360766B2 (ja) 2009-11-11

Family

ID=24649505

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001276057A Expired - Fee Related JP4360766B2 (ja) 2000-09-12 2001-09-12 Dramキャッシュ・メモリ中のデータをリフレッシュする方法および装置

Country Status (3)

Country Link
US (1) US6697909B1 (ja)
JP (1) JP4360766B2 (ja)
TW (1) TW526491B (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006512717A (ja) * 2002-12-31 2006-04-13 インテル コーポレイション ダイナミックメモリのリフレッシュポート
KR101731508B1 (ko) 2012-11-30 2017-05-11 인텔 코포레이션 저장된 행 해머 임계값에 기초한 행 해머 모니터링
JP2018120589A (ja) * 2017-01-25 2018-08-02 三星電子株式会社Samsung Electronics Co.,Ltd. 揮発性メモリキャッシュのデータを代替する方法及びそのためのキャッシュ管理部

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6862654B1 (en) * 2000-08-17 2005-03-01 Micron Technology, Inc. Method and system for using dynamic random access memory as cache memory
US6779076B1 (en) * 2000-10-05 2004-08-17 Micron Technology, Inc. Method and system for using dynamic random access memory as cache memory
US6989024B2 (en) * 2002-02-28 2006-01-24 Counter Clockwise, Inc. Guidewire loaded stent for delivery through a catheter
US6944708B2 (en) * 2002-03-22 2005-09-13 Intel Corporation Method of self-refresh in large memory arrays
US6801980B2 (en) * 2002-04-25 2004-10-05 International Business Machines Corporation Destructive-read random access memory system buffered with destructive-read memory cache
KR100543932B1 (ko) * 2003-04-30 2006-01-23 주식회사 하이닉스반도체 초기화 동작시간이 감소된 태그블럭을 구비하는 반도체 메모리 장치 및 그의 구동방법
KR100522431B1 (ko) * 2003-04-30 2005-10-20 주식회사 하이닉스반도체 리프레쉬 동작이 향상된 고속 데이터 억세스를 위한반도체 메모리 장치
JP4439838B2 (ja) * 2003-05-26 2010-03-24 Necエレクトロニクス株式会社 半導体記憶装置及びその制御方法
EP1530217A2 (en) * 2003-11-05 2005-05-11 Fujitsu Limited Semiconductor integrated circuit having temperature detector
KR100564633B1 (ko) * 2004-09-25 2006-03-28 삼성전자주식회사 향상된 동작 성능을 가지는 반도체 메모리 장치 및 이에대한 액세스 제어 방법
TWI267855B (en) * 2004-09-25 2006-12-01 Samsung Electronics Co Ltd System and method for controlling the access and refresh of a memory
US7708722B2 (en) * 2006-01-10 2010-05-04 Stealth Therapeutics, Inc. Stabilized implantable vascular access port
WO2007087460A2 (en) * 2006-01-30 2007-08-02 Glenn Bradley J Bone supported vascular access port
KR20090116088A (ko) * 2008-05-06 2009-11-11 삼성전자주식회사 정보 유지 능력과 동작 특성이 향상된 커패시터리스 1t반도체 메모리 소자
US7969808B2 (en) * 2007-07-20 2011-06-28 Samsung Electronics Co., Ltd. Memory cell structures, memory arrays, memory devices, memory controllers, and memory systems, and methods of manufacturing and operating the same
KR101308048B1 (ko) * 2007-10-10 2013-09-12 삼성전자주식회사 반도체 메모리 장치
GB0722707D0 (en) * 2007-11-19 2007-12-27 St Microelectronics Res & Dev Cache memory
US7962695B2 (en) * 2007-12-04 2011-06-14 International Business Machines Corporation Method and system for integrating SRAM and DRAM architecture in set associative cache
US7882302B2 (en) * 2007-12-04 2011-02-01 International Business Machines Corporation Method and system for implementing prioritized refresh of DRAM based cache
US8108609B2 (en) * 2007-12-04 2012-01-31 International Business Machines Corporation Structure for implementing dynamic refresh protocols for DRAM based cache
US8024513B2 (en) * 2007-12-04 2011-09-20 International Business Machines Corporation Method and system for implementing dynamic refresh protocols for DRAM based cache
US20090144504A1 (en) * 2007-12-04 2009-06-04 International Business Machines Corporation STRUCTURE FOR IMPLEMENTING REFRESHLESS SINGLE TRANSISTOR CELL eDRAM FOR HIGH PERFORMANCE MEMORY APPLICATIONS
US20090144507A1 (en) * 2007-12-04 2009-06-04 International Business Machines Corporation APPARATUS AND METHOD FOR IMPLEMENTING REFRESHLESS SINGLE TRANSISTOR CELL eDRAM FOR HIGH PERFORMANCE MEMORY APPLICATIONS
KR20090075063A (ko) * 2008-01-03 2009-07-08 삼성전자주식회사 플로팅 바디 트랜지스터를 이용한 동적 메모리 셀을 가지는메모리 셀 어레이를 구비하는 반도체 메모리 장치 및 이장치의 동작 방법
KR20100070158A (ko) * 2008-12-17 2010-06-25 삼성전자주식회사 커패시터가 없는 동작 메모리 셀을 구비한 반도체 메모리 장치 및 이 장치의 동작 방법
KR101442177B1 (ko) * 2008-12-18 2014-09-18 삼성전자주식회사 커패시터 없는 1-트랜지스터 메모리 셀을 갖는 반도체소자의 제조방법들
US9286965B2 (en) * 2010-12-03 2016-03-15 Rambus Inc. Memory refresh method and devices
KR101932663B1 (ko) 2012-07-12 2018-12-26 삼성전자 주식회사 리프레쉬 주기 정보를 저장하는 반도체 메모리 장치 및 그 동작방법
US8982654B2 (en) 2013-07-05 2015-03-17 Qualcomm Incorporated DRAM sub-array level refresh
TWI526966B (zh) 2013-11-25 2016-03-21 財團法人資訊工業策進會 資料處理裝置及資料處理方法
KR102344834B1 (ko) * 2014-09-24 2021-12-29 삼성전자주식회사 솔리드 스테이트 드라이브 및 이를 포함하는 컴퓨팅 시스템
US9928183B2 (en) 2014-09-26 2018-03-27 Ampere Computing Llc Priority framework for a computing device
US10489237B2 (en) 2014-12-19 2019-11-26 Hewlett Packard Enterprise Development Lp Flushing data content in response to a power loss event to a processor
KR102373544B1 (ko) 2015-11-06 2022-03-11 삼성전자주식회사 요청 기반의 리프레쉬를 수행하는 메모리 장치, 메모리 시스템 및 메모리 장치의 동작방법
WO2018100331A1 (en) * 2016-11-29 2018-06-07 Arm Limited Storage circuitry responsive to a tag-matching command
CN109983538B (zh) * 2016-11-29 2023-06-16 Arm有限公司 存储地址转换
US10437708B2 (en) 2017-01-26 2019-10-08 Bank Of America Corporation System for refreshing and sanitizing testing data in a low-level environment
US10831673B2 (en) 2017-11-22 2020-11-10 Arm Limited Memory address translation
US10929308B2 (en) 2017-11-22 2021-02-23 Arm Limited Performing maintenance operations
US10866904B2 (en) 2017-11-22 2020-12-15 Arm Limited Data storage for multiple data types
US10777297B2 (en) * 2018-12-10 2020-09-15 Micron Technology, Inc. Age-based refresh of firmware

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5091846A (en) 1986-10-03 1992-02-25 Intergraph Corporation Cache providing caching/non-caching write-through and copyback modes for virtual addresses and including bus snooping to maintain coherency
US5469555A (en) 1991-12-19 1995-11-21 Opti, Inc. Adaptive write-back method and apparatus wherein the cache system operates in a combination of write-back and write-through modes for a cache-based microprocessor system
JPH0668671A (ja) * 1992-08-18 1994-03-11 Matsushita Electric Ind Co Ltd メモリ装置
US5469559A (en) 1993-07-06 1995-11-21 Dell Usa, L.P. Method and apparatus for refreshing a selected portion of a dynamic random access memory
JP3305056B2 (ja) 1993-08-31 2002-07-22 沖電気工業株式会社 ダイナミックram
US5596521A (en) * 1994-01-06 1997-01-21 Oki Electric Industry Co., Ltd. Semiconductor memory with built-in cache
TW358907B (en) 1994-11-22 1999-05-21 Monolithic System Tech Inc A computer system and a method of using a DRAM array as a next level cache memory
JPH09288614A (ja) 1996-04-22 1997-11-04 Mitsubishi Electric Corp 半導体集積回路装置、半導体記憶装置およびそのための制御回路
JPH09306164A (ja) * 1996-05-13 1997-11-28 Internatl Business Mach Corp <Ibm> メモリ・リフレッシュ・システム
US5835401A (en) 1996-12-05 1998-11-10 Cypress Semiconductor Corporation Dram with hidden refresh
US6028804A (en) * 1998-03-09 2000-02-22 Monolithic System Technology, Inc. Method and apparatus for 1-T SRAM compatible memory
US6167484A (en) * 1998-05-12 2000-12-26 Motorola, Inc. Method and apparatus for leveraging history bits to optimize memory refresh performance
US5963497A (en) * 1998-05-18 1999-10-05 Silicon Aquarius, Inc. Dynamic random access memory system with simultaneous access and refresh operations and methods for using the same
US6415353B1 (en) * 1998-10-01 2002-07-02 Monolithic System Technology, Inc. Read/write buffers for complete hiding of the refresh of a semiconductor memory and method of operating same
US6389505B1 (en) * 1998-11-19 2002-05-14 International Business Machines Corporation Restore tracking system for DRAM
JP2000251467A (ja) * 1999-03-02 2000-09-14 Nec Ibaraki Ltd メモリリフレッシュ制御装置およびその制御方法
US6445636B1 (en) * 2000-08-17 2002-09-03 Micron Technology, Inc. Method and system for hiding refreshes in a dynamic random access memory

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006512717A (ja) * 2002-12-31 2006-04-13 インテル コーポレイション ダイナミックメモリのリフレッシュポート
JP4738814B2 (ja) * 2002-12-31 2011-08-03 インテル コーポレイション ダイナミックメモリのリフレッシュポート
KR101731508B1 (ko) 2012-11-30 2017-05-11 인텔 코포레이션 저장된 행 해머 임계값에 기초한 행 해머 모니터링
JP2018120589A (ja) * 2017-01-25 2018-08-02 三星電子株式会社Samsung Electronics Co.,Ltd. 揮発性メモリキャッシュのデータを代替する方法及びそのためのキャッシュ管理部
JP7164951B2 (ja) 2017-01-25 2022-11-02 三星電子株式会社 揮発性メモリキャッシュのデータを代替する方法及びそのためのキャッシュ管理部

Also Published As

Publication number Publication date
US6697909B1 (en) 2004-02-24
JP4360766B2 (ja) 2009-11-11
TW526491B (en) 2003-04-01

Similar Documents

Publication Publication Date Title
JP4360766B2 (ja) Dramキャッシュ・メモリ中のデータをリフレッシュする方法および装置
US11636038B2 (en) Method and apparatus for controlling cache line storage in cache memory
US5751994A (en) System and method for enhancing computer operation by prefetching data elements on a common bus without delaying bus access by multiple bus masters
US4937791A (en) High performance dynamic ram interface
US7590021B2 (en) System and method to reduce dynamic RAM power consumption via the use of valid data indicators
US5111386A (en) Cache contained type semiconductor memory device and operating method therefor
US5999474A (en) Method and apparatus for complete hiding of the refresh of a semiconductor memory
US5329629A (en) Apparatus and method for reading, writing, and refreshing memory with direct virtual or physical access
US7263020B2 (en) Memory device capable of refreshing data using buffer and refresh method thereof
JPH0359458B2 (ja)
US7917692B2 (en) Method and system for using dynamic random access memory as cache memory
JP2006236548A (ja) 集積回路装置
JP4304176B2 (ja) 集積回路装置
KR20140088725A (ko) 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치 및 그 선택적 리프레쉬 방법
EP0535701A1 (en) Architecture and method for combining static cache memory and dynamic main memory on the same chip (CDRAM)
US6594732B1 (en) Computer system with memory system in which cache memory is kept clean
US20010034808A1 (en) Cache memory device and information processing system
JPH04324187A (ja) ダイナミックram
JPH04313127A (ja) キャッシュメモリシステム
JPH03205680A (ja) 行列配置の複数の記憶セルを有する記憶装置
JP2001154914A (ja) キャッシュバイパス時のデータ転送装置と方法
JPH04262432A (ja) 高速アクセスモード記憶装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040708

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050329

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20050622

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20050627

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20050908

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050928

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20050908

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060516

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060809

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20060919

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20061013

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090527

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090528

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20090605

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20090605

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20090804

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090811

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: 20120821

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120821

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120821

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S202 Request for registration of non-exclusive licence

Free format text: JAPANESE INTERMEDIATE CODE: R315201

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120821

Year of fee payment: 3

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: 20130821

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees