JPH1011964A - メモリ制御装置およびメモリ制御方法 - Google Patents

メモリ制御装置およびメモリ制御方法

Info

Publication number
JPH1011964A
JPH1011964A JP8169758A JP16975896A JPH1011964A JP H1011964 A JPH1011964 A JP H1011964A JP 8169758 A JP8169758 A JP 8169758A JP 16975896 A JP16975896 A JP 16975896A JP H1011964 A JPH1011964 A JP H1011964A
Authority
JP
Japan
Prior art keywords
refresh
memory
request
requests
access
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.)
Pending
Application number
JP8169758A
Other languages
English (en)
Inventor
Yasuhiko Kurosawa
泰彦 黒澤
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP8169758A priority Critical patent/JPH1011964A/ja
Publication of JPH1011964A publication Critical patent/JPH1011964A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】リフレッシュサイクルの実行タイミングを最適
化できるようにし、メモリアクセス性能の向上を図る。 【解決手段】ロウアドレス比較器405は、現在実行中
のメモリオペレーションと次に実行されるべきオペレー
ションのロウアドレスの一致の有無を調べる。連続する
メモリオペレーションのロウアドレスが一致していれ
ば、DRAMアドレス/コマンド発生器404は、DR
AMページモードを用いてDRAM400をアクセスす
る。プライオリティーエンコーダ401は、リフレッシ
ュバッファ100から高優先順位信号121が出力され
ている状態で、ロウアドレスの一致が検出されると、フ
レッシュ要求をメモリアクセスキュー403に登録す
る。このとき、先行してメモりアクセスキュー403に
入っているオペレーションが何であっても、それらオペ
レーションの実行前にリフレッシュが優先して実行され
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、リフレッシュ動
作を必要とするDRAMなどのメモリを制御するメモリ
制御装置およびメモリ制御方法に関し、特にリフレッシ
ュサイクルによるメモリアクセス性能の低下を低減でき
るように改良されたメモリ制御装置およびメモリ制御方
法に関する。
【0002】
【従来の技術】一般に、DRAMを制御するメモリコン
トローラにおいては、リフレッシュコントローラから発
行されるリフレッシュ要求は、優先順位の最も高い要求
として扱われている。
【0003】この場合、例えば、マルチプロセッサシス
テムのCPUバスとI/Oバスに接続されるメモリコン
トローラについて考えると、そのオペレーションキュー
には以下に示す優先順位でオペレーションが投入される
ことになる。
【0004】(1)リフレッシュコントローラからのリ
フレッシュ要求 (2)CPUバスからのリード/ライト要求 (3)I/Oバスからのリード/ライト要求 このため、CPUからのメモリアクセス要求が連続して
いるときにリフレッシュ要求があるとCPUからのメモ
リアクセスがリフレッシュよりも後回しにされてしま
い、これにより性能が低下する場合があった。
【0005】
【発明が解決しようとする課題】そこで、最近では、リ
フレッシュ要求を複数個ためる機構を設け、未処理のリ
フレッシュ要求が、ある基準の個数未満の場合にはメモ
リリード/ライト要求よりも低優先度の要求として処理
し、ある基準の個数以上の場合にはメモリリード/ライ
ト要求よりも高優先度の要求として処理することによっ
てリフレッシュ動作のオーバーヘッドを低減する構成の
採用が検討され始めている。
【0006】リフレッシュ要求は必ず処理しなくてはな
らないが、リフレッシュサイクルは通常は若干のマージ
ンがある(15usの規定に対して10us間隔で行な
っている等)ので、最優先で実行する必要はない。リフ
レッシュは各リフレッシュ単位(DRAMではロウアド
レス単位)で規定時間(DRAMでは16ms以内等)
を守ることができれば十分であるので、上記の方法は有
効である。
【0007】しかし、DRAMのページモード等を使用
したバースト転送を考えると、この方法を用いてもバー
スト転送の途中に高優先順位のリフレッシュが発行され
るとバースト転送を中断してリフレッシュを行ない、も
う一度ロウアドレス出力からアクセスを開始しなくては
ならない等の性能低下要因が残る。
【0008】また、複数のメモリバンクから構成される
大容量メモリの制御について考えると、従来では、それ
ら全てのバンクに対して共通にリフレッシュの実行タイ
ミングを制御しているため、前述したようなリフレッシ
ュによるオーバーヘッドの問題だけでなく、全てのバン
クが同時にリフレッシュされることによる消費電流の増
大という問題もある。
【0009】この発明はこのような点に鑑みてなされた
ものであり、リフレッシュ要求を複数個ためる機構を用
いたリフレッシュ制御におけるリフレッシュサイクルの
実行タイミングを最適化できるようにし、メモリアクセ
ス性能、特にDRAMのページモード等を使用したバー
スト転送を効率よく行うことができるメモリ制御装置お
よびメモリ制御方法を提供することを目的とする。
【0010】
【課題を解決するための手段】この発明は、リフレッシ
ュ動作を必要とし、且つリード/ライトアクセスのため
の複数の動作モードを有するメモリを制御するメモリ制
御装置において、複数のリフレッシュ要求を蓄積するリ
フレッシュ要求蓄積手段と、このリフレッシュ要求蓄積
手段に所定個数以上の未処理のリフレッシュ要求が存在
している場合、前記メモリの動作モードの切り替わり時
にリフレッシュサイクルを実行するリフレッシュ制御手
段とを具備することを特徴とする。
【0011】このメモリ制御装置においては、例えばD
RAMなどのようにリフレッシュを必要とするメモリの
動作モードの切り替わりを利用してリフレッシュの実行
タイミングが制御され、例えばページモードからシング
ルモード等への動作モード切り替わり時にリフレッシュ
サイクルが実行される。これにより、DRAMの同一ペ
ージに対する連続アクセスの途中でリフレッシュ割り込
みが挿入されることによるペナルティーを低減でき、シ
ステム性能の向上を図ることができる。
【0012】ページモードからシングルモードへの切り
替わりは、前回のメモリアクセスサイクルでメモリに供
給されたロウアドレスを保持し、そのロウアドレスと次
回のメモリアクセスサイクルで指定されるロウアドレス
とを比較するロウアドレス比較手段を用いることによっ
て検出することができる。この場合、ロウアドレス比較
手段による比較結果が一致から不一致に変化することに
応答してリフレッシュサイクルを実行することにより、
ページモードからシングルモードへの切り替わり時にリ
フレッシュサイクルを挿入することが可能となる。
【0013】ページモードからシングルモードへの切り
替わり時に行うリフレッシュサイクルは、リフレッシュ
要求蓄積手段に蓄積されている未処理のリフレッシュ要
求がある一定個数以下になるまで繰り返し実行すること
が好ましい。これにより、ある程度まとめてリフレッシ
ュを行うことができるので、DRAMの同一ページに対
する連続アクセスの途中でリフレッシュ割り込みが挿入
される確率をさらに低減することができる。
【0014】また、メモリのアクセスサイクルがリード
サイクルからライトサイクルに切り替わる時だけでな
く、メモリに対するアクセス要求元がCPUから特定の
パターンで連続したメモリアクセスを行うデバイスに切
り替わる時、あるいはメモリに対するバースト転送要求
が発行された時などに、リフレッシュを実行するように
制御することによっても、システム性能の向上を図るこ
とができる。
【0015】また、複数のメモリバンクを制御する場合
においては、複数のメモリバンク毎にリフレッシュ要求
蓄積手段を設けておき、メモリバンク毎に独立してリフ
レッシュサイクルの実行タイミングを前述と同様にして
制御することが好ましい。これにより、全てのバンクの
リフレッシュが同時実行されることによる消費電力の増
大を防止できる。さらに、シンクロナスDRAMなどの
ようにチップ内に複数の独立したアクセス単位を有する
メモリから構成されたメモリバンクを制御する場合に
は、メモリバンク内に存在する複数のアクセス単位毎に
リフレッシュ要求蓄積手段を設けておき、アクセス単位
毎に独立してリフレッシュサイクルの実行タイミングを
前述と同様にして制御することが好ましい。これによ
り、それぞれアクセス単位となる2つの内部バンクを有
するシンクロナスDRAMにおいては、片方のバンクが
アクセス中であっても、もう一方のバンクについてはリ
フレッシュ動作を行うことができるので、システム性能
を高めることができる。
【0016】また、この発明は、リフレッシュ動作を必
要とするメモリを制御するメモリ制御装置において、複
数のリフレッシュ要求を蓄積するリフレッシュ要求蓄積
手段と、このリフレッシュ要求蓄積手段に蓄積されてい
る未処理のリフレッシュ要求の個数の増加に応じてリフ
レッシュ要求の優先順位を、少なくとも低優先度、中優
先度、高優先度の3段階以上に変化させ、(1)高優先
度のリフレッシュ要求、(2)ページモードアクセス可
能なメモリリード/ライト要求、(3)中優先度のリフ
レッシュ要求、(4)メモリリード/ライト要求、
(5)低優先度のリフレッシュ要求の順で実行すべき処
理の優先度制御を行う手段と、前記リフレッシュ要求が
優先順位が高優先度になったとき、前記リフレッシュ要
求蓄積手段に蓄積されている未処理のリフレッシュ要求
がある一定個数以下になるまでリフレッシュサイクルを
繰り返し実行する手段とを具備することを特徴とする。
【0017】このメモリ制御装置においては、未処理の
リフレッシュ要求の個数の増加に応じてリフレッシュ要
求の優先順位が低優先度、中優先度、高優先度などの3
段階以上に変化され、中優先度のリフレッシュ要求の優
先順位はページモードアクセス可能なメモリリード/ラ
イト要求よりも低く設定され、また高優先度のリフレッ
シュ要求の優先順位はページモードアクセス可能なメモ
リリード/ライト要求よりも高く設定される。したがっ
て、同一ページに対する連続アクセスが実行中の時は未
処理のリフレッシュ要求の個数がリフレッシュ要求の優
先順位が高優先度になるまで増加したときに初めてリフ
レッシュ処理が実行される。この時、同一ページに対す
る連続アクセスは途中で中断されるが、未処理のリフレ
ッシュ要求がある一定個数以下になるまで、例えばリフ
レッシュ要求の優先順位が低優先度になる程度にまで繰
り返しリフレッシュが実行されるので、以降の連続アク
セスにおいて再びリフレッシュ割り込みが入る確率を低
減することができる。
【0018】
【発明の実施の形態】以下、図面を参照してこの発明の
実施形態を説明する。図1には、この発明の第1の実施
形態に係るメモリ制御装置を用いたマルチプロセッサシ
ステムの構成が示されている。
【0019】メモリコントローラ10は、複数のCPU
260〜262が接続されたCPUバス250に接続さ
れていると共に、バスブリッジ50を介してI/Oバス
350に接続されている。I/Oバス35は例えばPC
Iバスなどから構成されており、ディスク装置360、
LANアダプタ361、グラフィックコントローラ36
2などが接続されている。
【0020】メモリコントローラ10は、CPUバス2
50からのメモリリード/ライト要求を受け付けるCP
Uバスリクエストバッファ200、I/Oバスからのリ
クエスト要求を受け付けるI/Oバスリクエストバッフ
ァ300、メモリアクセスバッファ400、リフレッシ
ュカウンタ140、およびリフレッシュバッファ100
からなる。
【0021】CPUバスリクエストバッファ200はC
PUバス250からのメモリリード/ライト要求を受け
取り、メモリアクセスバッファ400へリード/ライト
要求210を送る。リード/ライト要求210はCPU
メモリ要求受付信号211を受け取るまで出力され続け
る。
【0022】I/Oバスリクエストバッファ300はI
/Oバス350からメモリリード/ライト要求を受け取
り、メモリアクセスバッファ400へリード/ライト要
求310を送る。リード/ライト要求310はI/Oメ
モリ要求受付信号311を受け取るまで出力され続け
る。
【0023】CPUバスリクエストバッファ200とI
/Oバスリクエストバッファ300は、CPUバス25
0とI/Oバス350からのメモリリード/ライト要求
およびメモリリフレッシュ要求が同時に発生しても受け
付けることができるように設けているもので、FIFO
で構成する。また、CPUバスアクセスバッファ200
とI/Oバスアクセスバッファ300は同一アドレスへ
の競合を除いてメモリリードをメモリライトより優先す
るout of orderのメモリアクセス優先順位
制御を行なう。
【0024】メモリアクセスバッファ400はFIFO
バッファで構成するメモリアクセスキュー403とメモ
リアクセスキュー403へ登録する順番を制御するプラ
イオリティーエンコーダ401、およびリクエストセレ
クタ402、およびDRAMアドレス/コマンド生成回
路404、ロウアドレス比較器405、オペレーション
比較器406、およびリクエストID比較器407から
構成される。
【0025】メモリアクセスバッファ400はCPUバ
スからのリード/ライト要求210をメモリアクセスキ
ュー403に登録するとCPU受付信号211をCPU
バスリクエストバッファ200に出力する。同様にI/
Oバスからのリード/ライト要求310をメモリアクセ
スキュー403に登録するとI/O受付信号311をI
/Oバスリクエストバッファ300に、リフレッシュ要
求110または最高優先順位信号122、高優先順位信
号121、中間優先順位信号120をメモリアクセスキ
ュー403に登録するとリフレッシュ受付信号111を
リフレッシュバッファ100に出力する。
【0026】リフレッシュカウンタ140はDRAMの
リフレッシュ周期に合わせてリフレッシュ割り込み13
0を定期的に発生させる回路で、例えば1024クロッ
クに1回割り込み信号を発生する。リフレッシュバッフ
ァ100は本構成に特徴的なものであり、リフレッシュ
カウンタ140からのリフレッシュ割り込み130を入
力し、メモリアクセスバッファ400にリフレッシュ要
求110と最高優先順位信号122、高優先順位信号1
21、中間優先順位信号120を出力する。
【0027】リフレッシュバッファ100は、4ビット
カウンタ101と、4入力ORゲート102、2入力A
NDゲート103、3入力ANDゲート104から構成
されている。4ビットカウンタ101は未処理のリフレ
ッシュ割り込みの数を示すものであり、初期値“000
0”である。リフレッシュカウンタ140からのリフレ
ッシュ割り込み130を受け付けるとカウンタ101の
値が“1111”でなければ‘1’ずつ加算する。後述
のようにカウンタ101の上位3ビットが‘111’に
なるとメモリアクセスバッファ400はリフレッシュを
最優先で受け付けるのでカウンタ101の値が“111
1”なることはないが、カウンタ値が“1111”なら
リフレッシュ割り込み130を受け付けても“111
1”のまま保持する。メモリアクセスバッファ400か
らリフレッシュ受付信号111を受けとるとカウンタ1
01の値が“0000”でなければカウンタ値から
‘1’を引く。カウンタ101の値が“0000”のと
きにはリフレッシュ要求を出力しないのでリフレッシュ
受付信号111を受け取ることはないが、カウンタ値が
“0000”のときにリフレッシュ受付信号111を受
け取っても“0000”のまま保持する。尚、リフレッ
シュ割り込み130とリフレッシュ受付信号111を同
時に受け取るとカウンタ101の値はそのまま保持す
る。
【0028】さて、4ビットカウンタ101の最上位ビ
ットは中優先順位信号120、4ビットのORはリフレ
ッシュ要求信号110、上位3ビットのANDは最高優
先順位信号122、上位2ビットのANDは高優先順位
信号121、としてプライオリティエンコーダ401に
出力される。容易にわかるように、中優先順位信号12
0、高優先順位信号121、または最高優先順位信号1
22が出力されているときには、必ずリフレッシュ要求
120が出力されている。
【0029】プライオリティエンコーダ401は、リフ
レッシュ要求110、CPUバス要求210、I/Oバ
ス要求220の中から最も優先順位の高い要求をリクエ
ストセレクタに選択させる。本実施形態では、優先順位
の高い順に、 (1)リフレッシュバッファ100から最高優先順位信
号122 (2)CPUバスRow Address Hitメモ
リリード要求210 (3)I/OバスRow Address Hitメモ
リリード要求310 (4)CPUバスRow Address Hitメモ
リライト要求210 (5)I/OバスRow Address Hitメモ
リライト要求310 (6)リフレッシュバッファ100から高優先順位信号
120 (7)CPUバスメモリリード要求210 (8)I/Oバスメモリリード要求310 (9)リフレッシュバッファ100から中優先順位信号
120 (10)CPUバスメモリライト要求210 (11)I/Oバスメモリライト要求310 (12)リフレッシュ要求110 となる。
【0030】CPUバスメモリリード/ライト要求21
0、I/Oバスメモリリード/ライト要求310は例え
ばそれぞれ2bitずつからなる信号にエンコードされ
ておいる。
【0031】また、プライオリティエンコーダ401
は、ロウアドレス比較器405、オペレーション比較器
406、リクエストID比較器407からの比較結果信
号に基づいて、リフレッシュ処理の実行タイミングを制
御する。
【0032】まず、図2乃至図4を参照して、ロウアド
レス比較器405を用いたリフレッシュ処理の実行タイ
ミング制御について説明する。ロウアドレス比較器40
5は、現在実行中のメモリオペレーションつまりDRA
Mアドレス/コマンド発生器404に投入されているメ
モリアクセス要求で指定されるロウアドレスと、次に実
行されるべきオペレーションつまりメモリアクセスキュ
ー403の先頭の投入されているメモリアクセス要求で
指定されるロウアドレスとを比較し、その一致の有無を
プライオリティーエンコーダ401に通知する。連続す
るメモリオペレーションのロウアドレスが一致していれ
ば、DRAMアドレス/コマンド発生器404は、DR
AM高速ページモードを用いてDRAM400をアクセ
スする。一方、ロウアドレスが不一致になると、通常の
シングルアクセスモードが用いられ、次に実行されるべ
きオペレーションのためにRASを出力し直す。
【0033】プライオリティーエンコーダ401は、リ
フレッシュバッファ100から例えば高優先順位信号1
21が出力されている状態で、ロウアドレス比較器40
5によって実行中のメモリアクセスと次回のメモリアク
セスとの間でロウアドレスの不一致が検出されると、ペ
ージモードからシングルモードへの動作モード切り替え
が行われることを認識し、フレッシュ要求をメモリアク
セスキュー403に登録する。このとき、先行してメモ
りアクセスキュー403に入っているオペレーションが
何であっても、それらオペレーションの実行前にリフレ
ッシュが優先して実行される。これは、例えばメモりア
クセスキュー403を追い越し制御可能なスコアボード
によって構成し、そのスコアボード内ではリフレッシュ
要求の優先順位を最高にしておくことによって実現でき
る。
【0034】実際の動作は図3のようになる。現在実行
中のリードサイクルのロウアドレスがαであり、メモリ
アクセスキュー403の先頭の投入されているリード要
求のロウアドレスがβであるときは、ロウアドレス比較
器405から不一致を示す信号が出力される。この時、
もし高優先順位信号121が出力されていれば、リフレ
ッシュ要求がメモリアクセスキュー403に投入され、
メモリアクセスキュー403の先頭に投入されているリ
ード要求の実行に先だってリフレッシュサイクルが実行
される。
【0035】ページモードからシングルモードへの切り
替わり時に行うリフレッシュサイクルは、未処理のリフ
レッシュ要求がある一定個数以下になるまで繰り返し実
行することが好ましい。これにより、ある程度まとめて
リフレッシュを行うことができるので、DRAMのペー
ジモード等を使用したバースト転送の途中でリフレッシ
ュ割り込みが挿入される確率をさらに低減することがで
きる。
【0036】また、前述したように、メモリアクセスキ
ュー403はOUT OF ORDERの制御が可能で
あるため、メモリアクセスキュー403に投入されてい
るアクセス要求の中で同一ロウアドレスに対するアクセ
ス要求を優先的に実行することもできる。この場合、ロ
ウアドレス比較器405は、図4に示されているよう
に、メモリアクセスキュー403のエントリ数に対応す
る数のコンパレータと、OR回路を用いて、現在実行中
のメモリオペレーションとメモリアクセスキュー403
に投入されている全てのアクセス要求のロウアドレスが
不一致の時だけ不一致信号が出力されるように構成する
ことが好ましい。
【0037】次に、図5および図6を参照して、オペレ
ーション比較器406を用いたリフレッシュ処理の実行
タイミング制御について説明する。オペレーション比較
器406は、現在実行中のメモリオペレーションつまり
DRAMアドレス/コマンド発生器404に投入されて
いるメモリアクセス要求のオペレーションの種類(リー
ド/ライト)と、次に実行されるべきオペレーションつ
まりメモリアクセスキュー403の先頭の投入されてい
るメモリアクセス要求のオペレーションの種類(リード
/ライト)とを比較し、現在実行中のメモリオペレーシ
ョンがリードで、次に実行されるべきオペレーションが
ライトの時にオペレーションがリードからライトに切り
替えられることを示す信号を出力する。
【0038】プライオリティーエンコーダ401は、リ
フレッシュバッファ100から例えば高優先順位信号1
21が出力されている状態で、オペレーション比較器4
06からオペレーションの切り替わりが通知されると、
フレッシュ要求をメモリアクセスキュー403に登録す
る。このとき、先行してメモりアクセスキュー403に
入っているオペレーションが何であっても、それらオペ
レーションの実行前にリフレッシュが優先的に実行され
る。
【0039】実際の動作は図6のようになる。現在実行
中のオペレーションがリードであり、メモリアクセスキ
ュー403の先頭のオペレーションがライトであるとき
は、オペレーション比較器406から、リードからライ
トへのオペレーション切り替えが行われることを示す信
号が出力される。この時、もし高優先順位信号121が
出力されていれば、リフレッシュ要求がメモリアクセス
キュー403に投入され、メモリアクセスキュー403
の先頭に投入されているライト要求の実行に先だってリ
フレッシュサイクルが実行される。
【0040】一般に、DRAMアクセスにおいては、メ
モリリードデータはメモリアドレスより後にDRAMか
ら出力され、メモリライトデータはメモリアドレス(C
olumn address)と同時に出力する。よっ
て、メモリリードの後はデータバスでの衝突を回避する
ため、メモリライトは待たされる。また、メモリリード
が終了しないとCPUやI/Oは接続の処理が待たされ
ることがあるが、CPUやI/Oにとってメモリライト
はメモリコントローラがCPUやI/Oからデータを出
力した時点で終了しているので、ライトは実行を遅らせ
ても性能への影響は少ない。このように、メモリリード
からライトへの切り替えはそれほど急ぐ必要はなく、ま
たデータバスでの衝突を回避するために待機しているこ
とを考えると、リードからライトに切り替わるときにリ
フレッシュを実行しても性能への影響は小さい。この特
徴を用いて、4bitカウンタの値が“1100”より
大きい場合にはリードからライトに切り替わる時にリフ
レッシュバッファ100からのリフレッシュ要求を優先
して実行することにより、オーバーヘッドの少ない条件
でのリフレッシュ実行が可能となる。
【0041】リードからライトへの切り替わり時に行う
リフレッシュサイクルは、未処理のリフレッシュ要求が
ある一定個数以下になるまで繰り返し実行することが好
ましい。これにより、ある程度まとめてリフレッシュを
行うことができるので、DRAMのページモード等を使
用したバースト転送の途中でリフレッシュ割り込みが挿
入される確率をさらに低減することができる。
【0042】次に、図7および図8を参照して、リクエ
ストID比較器407を用いたリフレッシュ処理の実行
タイミング制御について説明する。リクエストID比較
器407は、現在実行中のメモリオペレーションつまり
DRAMアドレス/コマンド発生器404に投入されて
いるメモリアクセス要求の発行元を示すリクエストID
と、次に実行されるべきオペレーションつまりメモリア
クセスキュー403の先頭の投入されているメモリアク
セス要求の発行元を示すリクエストIDとを比較し、現
在実行中のメモリオペレーションの発行元がCPUで、
次に実行されるべきオペレーションの発行元がグラフィ
ックコントローラ362であるときに、それをプライオ
リティーエンコーダ401に通知する。
【0043】プライオリティーエンコーダ401は、リ
フレッシュバッファ100から例えば高優先順位信号1
21が出力されている状態で、リクエストID比較器4
07からオペレーションの切り替わりが通知されると、
リフレッシュ要求をメモリアクセスキュー403に登録
する。このとき、先行してメモりアクセスキュー403
に入っているオペレーションが何であっても、それらオ
ペレーションの実行前にリフレッシュが優先的に実行さ
れる。
【0044】実際の動作は図8のようになる。現在実行
中のオペレーションの発行元がCPUで、メモリアクセ
スキュー403の先頭のオペレーションの発行元がグラ
フィックコントローラ362であるときは、リクエスト
ID比較器407からそれを示す信号が出力される。こ
の時、もし高優先順位信号121が出力されていれば、
リフレッシュ要求がメモリアクセスキュー403に投入
され、メモリアクセスキュー403の先頭に投入されて
いるグラフィックコントローラ362からのアクセス要
求の実行に先だってリフレッシュサイクルが実行され
る。
【0045】一般に、グラフィックコントローラによる
メモリアクセスは、ある特定のパターンで連続して行わ
れる。このため、オペレーション要求元がCPUからグ
ラフィックコントローラに変わる時点でリフレッシュを
行っておくことにより、ある特定のパターンでの連続ア
クセスを効率よく行うことが可能となる。
【0046】また、オペレーション要求元がCPUから
グラフィックコントローラに変わる時に行うリフレッシ
ュサイクルは、未処理のリフレッシュ要求がある一定個
数以下になるまで繰り返し実行することが好ましい。こ
れにより、ある程度まとめてリフレッシュを行うことが
できるので、グラフィックコントローラがDRAMのペ
ージモード等を使用したバースト転送を行う場合に、そ
のバースト転送の途中でリフレッシュ割り込みが挿入さ
れる確率をさらに低減することができる。
【0047】また、オペレーション要求元がCPUから
グラフィックコントローラに変わる時だけでなく、バー
スト転送サイクルによってメモリアクセスを行うPCI
バスブリッジ50に変わるときもリフレッシュサイクル
を挿入することが好ましい。
【0048】実際の動作は図9のようになる。現在実行
中のオペレーションの発行元がCPUで、メモリアクセ
スキュー403の先頭のオペレーションの発行元がPC
Iバスブリッジ50であるときは、リクエストID比較
器407からそれを示す信号が出力される。この時、も
し4ビットカウンタ101の上位2ビットのANDから
なる高優先順位信号121が出力されていれば、リフレ
ッシュ要求がメモリアクセスキュー403に投入され、
メモリアクセスキュー403の先頭に投入されているグ
ラフィックコントローラ362からのアクセス要求の実
行に先だってリフレッシュサイクルが実行される。この
とき、高優先順位信号121が出力されなくなるまで、
リフレッシュサイクルが繰り返し実行される。
【0049】次に、図10を参照して、第1実施形態に
おけるリフレッシュ要求の優先順位の変化とそのときに
実行されるメモリオペレーションとの関係を説明する。
前述したように、第1実施形態では、優先順位の高い方
から次のように定義されている。 (1)リフレッシュバッファ100から最高優先順位信
号122 (2)CPUバスRow Address Hitメモ
リリード要求210 (3)I/OバスRow Address Hitメモ
リリード要求310 (4)CPUバスRow Address Hitメモ
リライト要求210 (5)I/OバスRow Address Hitメモ
リライト要求310 (6)リフレッシュバッファ100から高優先順位信号
120 (7)CPUバスメモリリード要求210 (8)I/Oバスメモリリード要求310 (9)リフレッシュバッファ100から中優先順位信号
120 (10)CPUバスメモリライト要求210 (11)I/Oバスメモリライト要求310 (12)リフレッシュ要求110 リフレッシュバッファ100から最高優先順位信号12
2が出力されていれば、4bitカウンタ101はリフ
レッシュ要求をあと1つしか受け付けられないので、規
定回数のリフレッシュを行なうためには、すぐにリフレ
ッシュを開始しなくてはならない。よって、プライオリ
ティエンコーダ401はリフレッシュ要求を選択し、リ
フレッシュバッファ100にリフレッシュ受付信号11
1を送り、4bitカウンタ101は値を1つ減らす。
このとき、先行してメモリアクセスキュー403に入っ
ているオペレーションが何であってもリフレッシュ(R
F)が実行されることによりRASが一旦デアサートさ
れる。
【0050】よって、Row Address Hit
のメモリオペレーションは無くなり、必然的に優先順位
のもっとも高い要求は最高優先順位信号122または高
優先順位信号120となり、高優先順位信号120がデ
アサートされるまで、即ち4bitカウンタの値が“1
011”以下になるまでリフレッシュが繰り返し実行さ
れる。この間、データバスの切り替えやアクセス終了待
ちは発生しないので、リフレッシュは最も効率よく実行
される。リフレッシュバッファ100から高優先順位信
号120がデアサートされるまでリフレッシュが実行さ
れると、CPUバスメモリリード要求210またはI/
Oバスメモリリード要求310の優先順位が高くなる。
【0051】この後、4bitカウンタの値が“110
0”になると、再び、高優先順位信号120が発生され
る。この状態で、リード(RD)からライト(WR)へ
の切り替えが発生すると、その切り替えによるメモリデ
ータの衝突を防止するために挿入されるウエイト期間に
リフレッシュが実行される。リフレッシュは、4bit
カウンタの値が“1011”以下になるまで繰り返し実
行される。
【0052】この後、4bitカウンタの値が“110
0”になると、再び、高優先順位信号120が発生され
る。この状態で、現在実行中のメモリオペレーションと
メモリアクセスキュー403に投入されている全てのア
クセス要求のロウアドレスが不一致であることが検出さ
れると、4bitカウンタの値が“1011”以下にな
るまでリフレッシュが繰り返し実行される。
【0053】このように、未処理のリフレッシュ要求の
個数の増加に応じてリフレッシュ要求の優先順位を中優
先度、高優先度、最高優先度などの3段階以上に変化さ
せ、高優先度のリフレッシュ要求の優先順位をページモ
ードアクセス可能なメモリリード/ライト要求よりも低
く設定しておき、また最高優先度のリフレッシュ要求の
優先順位はページモードアクセス可能なメモリリード/
ライト要求よりも高く設定しておくことにより、同一ペ
ージに対する連続アクセスが実行中の時は未処理のリフ
レッシュ要求の個数がリフレッシュ要求の優先順位が最
高優先度になるまで増加したときに初めてリフレッシュ
処理が実行される。この時、同一ページに対する連続ア
クセスは途中で中断されるが、未処理のリフレッシュ要
求がある一定個数以下になるまで、例えばリフレッシュ
要求の優先順位が中優先度になる程度にまで繰り返しリ
フレッシュが実行されるので、以降の連続アクセスにお
いて再びリフレッシュ割り込みが入る確率を低減するこ
とができる。
【0054】また、優先順位を若干変更して (1)リフレッシュバッファ100から最高優先順位信
号122 (2)CPUバスRow Address Hitメモ
リリード要求210 (3)I/OバスRow Address Hitメモ
リリード要求310 (4)CPUバスRow Address Hitメモ
リライト要求210 (5)I/OバスRow Address Hitメモ
リライト要求310 (6)リフレッシュバッファ100から高優先順位信号
120 (7)CPUバスメモリリード要求210 (8)I/Oバスメモリリード要求310 (9)リフレッシュバッファ100から中優先順位信号
120 (10)CPUバスメモリライト要求210 (11)I/Oバスメモリライト要求310 (12)CPUバスメモリバーストリード/ライト開始
要求210 (13)I/Oバスメモリバーストリード/ライト開始
要求310 (14)リフレッシュ要求110 とし、バースト転送開始よりもリフレッシュバッファ1
00から中優先順位信号120の優先順位を高くしてお
いてもよい。これにより、バースト転送開始前にはリフ
レッシュバッファは半分しか使われていない状態にな
る。バースト転送が始まるとRow Address
Hitの状態になるのでバースト転送でRow Add
ressが同じ範囲を転送している間にリフレッシュは
始まらない。バースト転送サイズが大きく、途中でRo
w Addressが切り替わる場合にはもともとRo
w Address切り替えのオーバーヘッドがあり、
本実施形態を使用してもRow Address切り替
え時間が若干長くなるだけで、後続のRow Addr
essが一定の間はリフレッシュが割り込まないメリッ
トの方が性能上有利に働く。
【0055】さらに、 (1)リフレッシュバッファ100から最高優先順位信
号122 (2)グラフィックコントローラからのメモリリード/
ライト要求310 (3)CPUバスRow Address Hitメモ
リリード要求210 (4)I/OバスRow Address Hitメモ
リリード要求310 (5)CPUバスRow Address Hitメモ
リライト要求210 (6)I/OバスRow Address Hitメモ
リライト要求310 (7)リフレッシュバッファ100から高優先順位信号
120 (8)CPUバスメモリリード要求210 (9)I/Oバスメモリリード要求310 (10)リフレッシュバッファ100から中優先順位信
号120 (11)CPUバスメモリライト要求210 (12)I/Oバスメモリライト要求310 (13)CPUバスメモリバーストリード/ライト開始
要求210 (14)I/Oバスメモリバーストリード/ライト開始
要求310 (15)リフレッシュ要求110 とすれば、一般に画像領域と主記憶領域のRow Ad
dressは異なるため、グラフィックコントローラへ
メモリアクセス権が移るときに高優先順位信号120が
でていれば4bitカウンタ101が“1011”とな
るまでリフレッシュが実行され、画像データ転送中にリ
フレッシュが行なわれることによる性能低下を防ぐこと
ができる。
【0056】次に、図11および図12を参照して、ヒ
ドンリフレッシュ(hiddenrefresh)と、
CASビフォアRASリフレッシュ(CAS befo
re RAS refresh)の使い分けについて説
明する。
【0057】すなわち、DRAMコマンド/アドレス発
生器404が、直前のサイクルでアクティブにされたC
ASをそのままアクティブに維持した状態でリフレッシ
ュサイクルを実行可能なヒドンリフレッシュと、通常の
CASビフォアRASリフレッシュの双方をサポートし
ている場合には、プライオリティーエンコーダ401
は、未処理のリフレッシュ要求の個数の増加に応じて実
行するリフレッシュタイプをヒドンリフレッシュからC
ASビフォアRASリフレッシュに切り替える制御を行
う。
【0058】例えば、リフレッシュ要求の優先順位が中
優先度の場合には、CASをアクティブにしたままリフ
レッシュサイクルを実行できるため比較的オーバーヘッ
ドの少ないヒドンリフレッシュを単発で行い、そして高
優先度の場合には、図12に示されているように、オー
バーヘッドの少ないヒドンリフレッシュの後にCASビ
フォアRASリフレッシュを4ビットカウンタの値が一
定値以下になるまで繰り返し実行し、最高優先度の場合
には、ページモードアクセスを用いたバースト転送を即
座に中断させるために、最初からCASビフォアRAS
リフレッシュを行い、そして4ビットカウンタの値が一
定値以下になるまで繰り返し実行する。
【0059】次に、図13および図14を参照して、リ
フレッシュバッファ100の他の構成例を説明する。こ
こでは、リフレッシュバッファ100は、前述の4ビッ
トカウンタ101と、セット/リセット制御回路111
と、フリップフロップなどから成るフラグ保持回路11
2とから構成されている。フラグ保持回路112のフラ
グFのセット、リセット条件は次の通りである。
【0060】(1)セット:4ビットカウンタ101の
上位3ビットが“111”になった場合(“E”または
“F”のとき) (2)リセット:4ビットカウンタ101の上位2ビッ
トが“11”から“10”に変化した場合(“C”から
“B”になったとき) 図14に示されているように、フラグFがセットされる
と、4ビットカウンタ101の値がB以下になることで
そのフラグFがリセットされるまで、前述の最高優先順
位のリフレッシュ(RF)が繰り返し実行される。ま
た、この図14において、メモリオペレーションPC
は、プリチャージであり、センスアンプの内容を内部セ
ルに書き込んでNoオペレーション状態へ遷移する課程
を示している。
【0061】この構成においては、4ビットカウンタ1
01の値がB以下になることが保証されるため、バース
トアクセス中にリフレッシュ割り込みが入るのを高々1
回に制限することができる。
【0062】また、フラグ保持回路112のフラグFの
セット、リセット条件を次のように設定することもでき
る。 (1)セット:バーストアクセス要求があった場合、も
しくは4ビットカウンタ101の値がEになった時 (2)4ビットカウンタ101の最上位ビットが0にな
った場合 次に、図15乃至図20を参照して、この発明の第2実
施形態を説明する。
【0063】大量のメモリを使用するシステムでは、メ
モリリフレッシュ時の動作電流が集中することを回避す
るためにメモリリフレッシュをシステム全体で同時に実
行せずに少しずつずらして実行する。このようなシステ
ムで使用されるメモリがインタリーブ構成の場合には、
バンク単位にリフレッシュを実行する。
【0064】この例では、図15に示されているよう
に、シンクロナスDRAM(以下SDRAM)が接続さ
れたメモリポートが2つあり、2バンク構成を例示して
説明する。シンクロナスDRAMはチップ内に2バンク
を有する。よって、本実施形態ではメモリポートは2つ
であるが、2つの内部バンクを考慮すると実質的に4ウ
ェイインタリーブとなっている。各メモリポートには最
大2個のメモリモジュールを接続できる。
【0065】リフレッシュは、同一ポートの2つのSD
RAMについて内部バンク単位で2つのモジュールを同
時に行なう。本実施形態ではリフレッシュバッファ10
0の内部に、4ウェイ相当のバンクそれぞれに対応し
て、実施形態1で示したものと同様の構成の4bitカ
ウンタ101が1組ずつ合計4組持つ。
【0066】リフレッシュ要求110、高優先順位要求
120、リフレッシュ受付信号111はそれぞれのバン
クに対応して4本で構成される。各リフレッシュ要求1
10としては対応するカウンタ101の4ビットのOR
出力を使用し、各高優先順位要求120としては対応す
るカウンタ101の最上位ビットを使用することができ
る。また、本実施形態ではリフレッシュはRow Ad
dressとRASを出力するRAS only re
freshで行なう。この場合、リフレッシュ用のRo
w AddressはDRAMアドレス/コマンド生成
回路404でリフレッシュ毎に1ずつ加算して出力す
る。
【0067】メモリへのアクセス要求が無く、未処理の
リフレッシュ要求がある場合にはリフレッシュを行な
う。メモリへのアクセス要求がある場合には次のように
制御する。各アクセス単位において、未処理のリフレッ
シュ要求がある一定個数以下であるならば、メモリへの
アクセス要求を優先する。メモリアクセス単位毎に優先
順位制御を行なっているので、SDRAMへの片方の内
部バンクにだけアクセス要求がある場合、反対側のバン
クはリフレッシュ動作を行なうことができる。SDRA
Mでは、SDRAMに内蔵されたリフレッシュカウンタ
は一組であるので、リフレッシュコマンドを使用すると
内部の2バンクを同時にリフレッシュしてしまう。そこ
で、Row addressとRASを出力して、内部
のセンスアンプにSDRAMの記憶セルの内容を読みだ
して外部からリフレッシュ制御をする方法を使用し、ア
クセスのないバンクだけリフレッシュを行なう。また、
あるアクセス単位に対する未処理のリフレッシュ要求が
一定個数を越えるとリフレッシュバッファ100は高優
先順位信号120をアサートし、メモリアクセスバッフ
ァ400はリフレッシュを最優先で実行する。
【0068】また、本実施形態では2ポートのメモリア
クセスキュー403を共通としているのでオペレーショ
ンの発行を1サイクルに1個ずつメモリアクセスキュー
403の先頭から発行するようにすれば2ポートのリフ
レッシュタイミングをずらすことができる。
【0069】図16乃至図18には、アクセス単位毎に
独立して制御されるリフレッシュサイクルのタイミング
が示されている。図中、P0B0はポート0のバンク0
を意味している(以下、P0B1、P1B0、P1B1
についても同様)。ポートはSDRAMデータバスを共
用する単位であり、またバンクはSDRAMの内部バン
クである。
【0070】また、メモリアクセスキュー403は8段
のFIFOバッファから構成されている場合を想定して
いる。リフレッシュは、メモリアクセスキュー403を
バイパスして行われる。バイパスするルールは、対応す
るバンクのリフレッシュ用4ビットカウンタが“000
0”ではない場合であって、 (1)対応する4ビットカウンタが“E”または“F”
であり、メモリへのアクセスが終了したいるとき (2)メモリアクセスキューのFIFO中に対応するバ
ンクのアクセス要求がないとき である。
【0071】また、図中、ポート0コマンド、ポート1
コマンドは、それぞれ対応するポートに対して発行され
るSDRAMコマンドである。RAS0/1は内部バン
ク0/1に対するRASであり、ロウアドレスに対応す
るセルの記憶内容をセンスアンプに読み込む処理を実行
させるために使用される。RD0/1は内部バンク0/
1に対するリードコマンド、WR0/1は内部バンク0
/1に対するライトコマンド、PRE0/1は内部バン
ク0/1に対するプリチャージコマンド、またREF0
/1は内部バンク0/1に対するリフレッシュ要求であ
る。このリフレッシュ要求では、通常のCASビフォア
RASリフレッシュコマンドではなく、RASオンリー
リフレッシュが行われ、RASとリフレッシュ用のロウ
アドレスが出力される。ロウアドレスの値は、メモリコ
ントローラ10内で1ずつインクリメントされる。ま
た、SDRAM内部オペレーションはSDRAM内部バ
ンクのステートを示しており、BAはバンクアクティブ
状態、Readはリードオペレーション中、Write
はライトオペレーション中、PCはプリチャージ中、R
efreshはリフレッシュ処理中であることを示して
いる。
【0072】このように、複数のメモリバンクを制御す
るシステムにおいては、複数のメモリバンク毎にリフレ
ッシュ用カウンタ101を設けておき、メモリバンク毎
に独立してリフレッシュサイクルの実行タイミングを制
御することが好ましい。これにより、全てのバンクのリ
フレッシュが同時実行されることによる消費電力の増大
を防止できる。さらに、SDRAMなどのようにチップ
内に複数の独立したアクセス単位を有するメモリから構
成されたメモリバンクを制御する場合には、前述したよ
うに、メモリバンク内に存在する複数のアクセス単位毎
にリフレッシュ用カウンタ101を設けておき、アクセ
ス単位毎に独立してリフレッシュサイクルの実行タイミ
ングを制御することにより、それぞれアクセス単位とな
る2つの内部バンクを有するシンクロナスDRAMにお
いては、片方のバンクがアクセス中であっても、もう一
方のバンクについてはRASオンリーリフレッシュにて
リフレッシュ動作を行うことができるので、システム性
能を高めることができる。
【0073】次に、リフレッシュ用カウンタ101のカ
ウント値に対するメモリオペレーションの割り当てにつ
いて説明する。リフレッシュバッファ100は、図19
に示すように、4ビットのカウンタ101と、4入力0
Rゲート102から構成され、リフレッシュ要求として
はカウンタ101の4ビットのOR出力を使用し、最高
優先順位要求としてはカウンタ101の最上位ビットを
使用していた場合を想定する。
【0074】この構成では、4ビットのカウンタ101
の最上位ビットが1になると、リフレッシュ要求は最高
優先順位となるので、実際には、使用されてないカウン
タ値が存在する。そこで、4ビットのカウンタ101の
値が“1111”と“0111”には、それぞれ特別の
オペレーションを割り当てている。カウンタ101のカ
ウンタ値とそれに割り当てられるオペレーションとの新
たな関係を図20に示す。
【0075】図20におけるオペレーション(High
Pr,Refresh,MRS,PALL)の意味は次
の通りである。 (1)HighPr:ハイプライオリティリフレッシュ
要求。これは、最高優先順位の要求であることを示す。
4ビットのカウンタ101の上位2ビットのORで生成
することができる。
【0076】(2)Refresh:通常のリフレッシ
ュ要求。HighPrが発生されてなければ、最低優先
順位の要求となる。 (3)MRS:SDRAMのモードレジスタセットのオ
ペレーション要求。これは、常にHighPrと一緒に
発行され、SDRAMのモードレジスタを設定してアク
セス可能状態にするために使用される。MRS実行後カ
ウンタがデクリメントされることにより、最低3回のハ
イプライオリティリフレッシュが実行される。
【0077】(4)PALL:SDRAMのオールバン
クスプリチャージ要求。これは、SDRAMをアイドル
状態にするためのものであり、電源投入後、SDRAM
の内部状態は不定となっているので、この動作が必要と
なる。また、PALLは常にHighPrと一緒に発行
される。PALL実行後カウンタがデクリメントされる
ことにより、MRSを行う前に8回のハイプライオリテ
ィーリフレッシュを実行する(うち1回はリフレッシュ
用カウンタからのリフレッシュ要求)。
【0078】このような割り当てを行った場合には、電
源投入時のパワーオンリセットによってリフレッシュ用
カウンタを“1111”にリセットすることにより、自
動的にPALL,MRS,およびリフレッシュカウンタ
初期化用のリフレッシュを行うことができる。
【0079】なお、PALLを、“PALLと1回のリ
フレッシュ実行”と定義してもよい。また、PALL
を、“SELFXとPALLを実行”と定義してもよ
い。ここで、SELFXは、セルフリフレッシュ状態か
ら通常モードに戻すためのコマンドである。
【0080】以上のように、この発明の実施形態によれ
ば、通常はリフレッシュよりもCPUバスやI/Oバス
からのメモリアクセスを優先することで性能の低下を防
ぎ、かつリフレッシュが長期間実行されないと4ビット
カウンタの最上位ビットがセットされてリフレッシュの
優先順位が高くなり、リフレッシュが確実に実行される
ことを保証することができる。また、メモリがDRAM
のページモードのような高速データ転送機構をもってい
たり、メモリが複数のバンクから構成されている場合等
の特徴がある場合、システムの特徴に合わせて本発明を
用いることでリフレッシュによる性能低下を防ぐことが
できる。さらに、副次的に、リセット時に4bitカウ
ンタ101の値を“1111”とすれば8回のリフレッ
シュが最優先で実行され、DRAMの内部カウンタを使
用するリフレッシュ(CAS before RASリ
フレッシュ等)の初期化動作を実現する機構として用い
ることができる。また、システムが休止モードをもつ場
合、4bitカウンタ101の値を“1110”を休止
モードから通常動作モードへの切り替え動作実行と定義
すると、SDRAM等のセルフリフレッシュ機構をもつ
メモリの切り替え動作を保証することができる。
【0081】
【発明の効果】以上説明したように、この発明によれ
ば、リフレッシュ要求を複数個ためる機構を用いたリフ
レッシュ制御におけるリフレッシュサイクルの実行タイ
ミングを最適化できるようになり、メモリアクセス性
能、特にDRAMのページモード等を使用したバースト
転送を効率よく行うことができる。
【図面の簡単な説明】
【図1】この発明の第1実施形態に係るメモリコントロ
ーラを使用したマルチプロセッサシステムの構成を示す
ブロック図。
【図2】同第1実施形態のメモリコントローラに設けら
れたロウアドレス比較器周辺の構成を示すブロック図。
【図3】同第1実施形態のメモリコントローラに設けら
れたロウアドレス比較器を用いたリフレッシュ処理の実
行タイミング制御動作を示すタイミングチャート。
【図4】同第1実施形態のメモリコントローラに設けら
れたロウアドレス比較器の他の構成例を示すブロック
図。
【図5】同第1実施形態のメモリコントローラに設けら
れたオペレーション比較器周辺の構成を示すブロック
図。
【図6】同第1実施形態のメモリコントローラに設けら
れたオペレーション比較器を用いたリフレッシュ処理の
実行タイミング制御動作を示すタイミングチャート。
【図7】同第1実施形態のメモリコントローラに設けら
れたリクエストID比較器周辺の構成を示すブロック
図。
【図8】同第1実施形態のメモリコントローラに設けら
れたリクエストID比較器を用いたリフレッシュ処理の
実行タイミング制御動作の第1の例を示すタイミングチ
ャート。
【図9】同第1実施形態のメモリコントローラに設けら
れたリクエストID比較器を用いたリフレッシュ処理の
実行タイミング制御動作の第2の例を示すタイミングチ
ャート。
【図10】同第1実施形態のメモリコントローラによる
メモリアクセス制御動作を示すタイミングチャート。
【図11】同第1実施形態のメモリコントローラにおい
てリフレッシュタイプを切り替えるために必要な機能構
成を示すブロック図。
【図12】同第1実施形態のメモリコントローラにおけ
るリフレッシュタイプの切り替え動作を示すタイミング
チャート。
【図13】同第1実施形態のメモリコントローラに設け
られているリフレッシュバッファの他の構成例を示すブ
ロック図。
【図14】図13のリフレッシュバッファを使用したリ
フレッシュ制御動作を示すタイミングチャート。
【図15】この発明の第2実施形態に係るメモリコント
ローラを使用したマルチプロセッサシステムの構成を示
すブロック図。
【図16】同第2実施形態のメモリコントローラによる
メモリアクセス制御動作を示すタイミングチャート。
【図17】同第2実施形態のメモリコントローラによる
メモリアクセス制御動作を示すタイミングチャート。
【図18】同第2実施形態のメモリコントローラによる
メモリアクセス制御動作を示すタイミングチャート。
【図19】同第2実施形態のメモリコントローラに適用
されるリフレッシュバッファの構成を示す図。
【図20】同第1および第2実施形態のメモリコントロ
ーラに適用されるリフレッシュ用カウンタのカウンタ値
に割り当てられるメモリオペレーションの一例を示す
図。
【符号の説明】
10…メモリコントローラ、100…リフレッシュバッ
ファ、101…リフレッシュ用カウンタ、200…CP
Uバスリクエストバッファ、300…I/Oバスリクエ
ストバッファ、400…メモリアクセスバッファ、40
1…プライオリティーエンコーダ、402…リクエスト
セレクタ、403…メモリアクセスキュー、404…D
RAMアドレス/コマンド生成回路、405…ロウアド
レス比較器、406…オペレーション比較器、407…
リクエストID比較器。

Claims (20)

    【特許請求の範囲】
  1. 【請求項1】 リフレッシュ動作を必要とし、且つリー
    ド/ライトアクセスのための複数の動作モードを有する
    メモリを制御するメモリ制御装置において、 複数のリフレッシュ要求を蓄積するリフレッシュ要求蓄
    積手段と、 このリフレッシュ要求蓄積手段に所定個数以上の未処理
    のリフレッシュ要求が存在している場合、前記メモリの
    動作モードの切り替わり時にリフレッシュサイクルを実
    行するリフレッシュ制御手段とを具備することを特徴と
    するメモリ制御装置。
  2. 【請求項2】 リフレッシュ動作を必要とし、且つリー
    ド/ライトアクセスのための動作モードとしてページモ
    ードとシングルモードとを有するメモリを制御するメモ
    リ制御装置において、 複数のリフレッシュ要求を蓄積するリフレッシュ要求蓄
    積手段と、 前回のメモリアクセスサイクルで前記メモリに供給され
    たロウアドレスを保持し、そのロウアドレスと次回のメ
    モリアクセスサイクルで指定されるロウアドレスとを比
    較してその一致の有無を検出するロウアドレス比較手段
    と、 前記リフレッシュ要求蓄積手段に所定個数以上の未処理
    のリフレッシュ要求が存在している場合、前記ページモ
    ードから前記シングルモードへの切り替わり時にリフレ
    ッシュが実行されるように、前記ロウアドレス比較手段
    による比較結果が一致から不一致に変化することに応答
    してリフレッシュサイクルを実行するリフレッシュ制御
    手段とを具備することを特徴とするメモリ制御装置。
  3. 【請求項3】 前記リフレッシュ制御手段は、 前記リフレッシュ要求蓄積手段に蓄積されている未処理
    のリフレッシュ要求がある一定個数以下になるまでリフ
    レッシュサイクルを繰り返し実行することを特徴とする
    請求項1または2記載のメモリ制御装置。
  4. 【請求項4】 リフレッシュ動作を必要とするメモリか
    ら各々が構成された複数のメモリバンクを制御するメモ
    リ制御装置において、 前記複数のメモリバンクにそれぞれ対応して設けられ、
    各々が複数のリフレッシュ要求を蓄積する複数のリフレ
    ッシュ要求蓄積手段と、 これら複数のリフレッシュ要求蓄積手段を使用して、前
    記メモリバンク毎に独立してリフレッシュサイクルの実
    行を制御する手段であって、所定個数以上の未処理のリ
    フレッシュ要求が存在しているリフレッシュ要求蓄積手
    段に対応したメモリバンクに対してリフレッシュサイク
    ルを実行するリフレッシュ制御手段とを具備することを
    特徴とするメモリ制御装置。
  5. 【請求項5】 リフレッシュ動作を必要とし、且つチッ
    プ内に複数の独立したアクセス単位を有する1以上のメ
    モリチップから構成されるメモリバンクを制御するメモ
    リ制御装置において、 前記メモリバンク内に存在する複数のアクセス単位にそ
    れぞれ対応して設けられ、各々が複数のリフレッシュ要
    求を蓄積する複数のリフレッシュ要求蓄積手段と、 これら複数のリフレッシュ要求蓄積手段を使用して、前
    記アクセス単位毎に独立してリフレッシュサイクルの実
    行を制御する手段であって、所定個数以上の未処理のリ
    フレッシュ要求が存在しているリフレッシュ要求蓄積手
    段に対応したアクセス単位のリフレッシュを実行するリ
    フレッシュ制御手段とを具備することを特徴とするメモ
    リ制御装置。
  6. 【請求項6】 前記リフレッシュ制御手段は、 前記リフレッシュ対象となるアクセス単位が属するメモ
    リチップの他のアクセス単位に対するリード・ライトア
    クセスが実行されているとき、RASオンリーリフレッ
    シュを使用して、前記リフレッシュ対象のアクセス単位
    をリフレッシュすることを特徴とする請求項5記載のメ
    モリ制御装置。
  7. 【請求項7】 リフレッシュ動作を必要とするメモリを
    制御するメモリ制御装置において、 複数のリフレッシュ要求を蓄積するリフレッシュ要求蓄
    積手段と、 このリフレッシュ要求蓄積手段に蓄積されている未処理
    のリフレッシュ要求の個数の増加に応じてリフレッシュ
    要求の優先順位を、少なくとも低優先度、中優先度、高
    優先度の3段階以上に変化させ、 (1)高優先度のリフレッシュ要求 (2)ページモードアクセス可能なメモリリード/ライ
    ト要求 (3)中優先度のリフレッシュ要求 (4)メモリリード/ライト要求 (5)低優先度のリフレッシュ要求 の順で実行すべき処理の優先度制御を行う手段と、 前記リフレッシュ要求が優先順位が高優先度になったと
    き、前記リフレッシュ要求蓄積手段に蓄積されている未
    処理のリフレッシュ要求がある一定個数以下になるまで
    リフレッシュサイクルを繰り返し実行する手段とを具備
    することを特徴とするメモリ制御装置。
  8. 【請求項8】 ヒドンリフレッシュおよびCASビフォ
    アRASリフレッシュを選択的に実行可能なリフレッシ
    ュ制御手段をさらに具備し、 このリフレッシュ制御手段は、 前記リフレッシュ要求の優先順位が前記中優先度から前
    記高優先度に変化したとき、その変化に応じてリフレッ
    シュ方法をヒドンリフレッシュからCASビフォアRA
    Sリフレッシュに切り替えて前記リフレッシュ要求蓄積
    手段に蓄積されている未処理のリフレッシュ要求がある
    一定個数以下になるまでCASビフォアRASリフレッ
    シュによるリフレッシュサイクルを繰り返し実行するこ
    とを特徴とする請求項7記載のメモリ制御装置。
  9. 【請求項9】 リフレッシュ動作を必要とするメモリを
    制御するメモリ制御装置であって、メモリアクセス要求
    の種類によってその実行順を動的に変化させるメモリ制
    御装置において、 複数のリフレッシュ要求を蓄積するリフレッシュ要求蓄
    積手段と、 リフレッシュ要求またはリード/ライト要求を指定する
    メモリアクセス要求を複数保持するメモリアクセスキュ
    ーであって、追い越し制御可能なスコアボード形式で構
    成され、リフレッシュ要求の優先順位が最も高く設定さ
    れているメモリアクセスキューと、 前記リフレッシュ要求蓄積手段に蓄積されている未処理
    のリフレッシュ要求の個数の増加に応じてリフレッシュ
    要求の優先順位を、少なくとも中優先度、高優先度の2
    段階以上に変化させ、前記リフレッシュ要求の優先順位
    が高優先度になったとき、前記メモリアクセスキューに
    リフレッシュ要求を投入することにより、前記メモリア
    クセスキューに保持された他のメモリアクセス要求に先
    立ってリフレッシュを実行する手段とを具備することを
    特徴とするメモリ制御装置。
  10. 【請求項10】 リフレッシュ動作を必要とするメモリ
    を制御するメモリ制御装置において、 複数のリフレッシュ要求を蓄積するリフレッシュ要求蓄
    積手段と、 このリフレッシュ要求蓄積手段に所定個数以上の未処理
    のリフレッシュ要求が存在している場合、前記メモリの
    アクセスサイクルがリードサイクルからライトサイクル
    に切り替わる時にリフレッシュサイクルを実行するリフ
    レッシュ制御手段とを具備することを特徴とするメモリ
    制御装置。
  11. 【請求項11】 CPUと、ある特定のパターンで連続
    したメモリアクセスを行うデバイスとからのメモリアク
    セス要求に応じて、リフレッシュ動作を必要とするメモ
    リをアクセス制御するメモリ制御装置において、 複数のリフレッシュ要求を蓄積するリフレッシュ要求蓄
    積手段と、 このリフレッシュ要求蓄積手段に所定個数以上の未処理
    のリフレッシュ要求が存在している場合、前記メモリに
    対するアクセス要求元が前記CPUから前記特定のパタ
    ーンで連続したメモリアクセスを行うデバイスに切り替
    わる時にリフレッシュサイクルを実行するリフレッシュ
    制御手段とを具備することを特徴とするメモリ制御装
    置。
  12. 【請求項12】 リフレッシュ動作を必要とするメモリ
    を制御するメモリ制御装置において、 複数のリフレッシュ要求を蓄積するリフレッシュ要求蓄
    積手段と、 このリフレッシュ要求蓄積手段に所定個数以上の未処理
    のリフレッシュ要求が存在している場合、前記メモリに
    対するバースト転送要求が発行された時、前記リフレッ
    シュ要求蓄積手段に蓄積されている未処理のリフレッシ
    ュ要求がある一定個数以下になるまでリフレッシュサイ
    クルを繰り返し実行するリフレッシュ制御手段とを具備
    することを特徴とするメモリ制御装置。
  13. 【請求項13】 リフレッシュ動作を必要とするメモリ
    を制御するメモリ制御装置において、 定期的にリフレッシュ割り込み信号を発生するリフレッ
    シュタイマと、 未処理のリフレッシュ要求の個数を示すカウント値を保
    持するカウンタであって、前記リフレッシュタイマから
    リフレッシュ割り込み信号が発生される度に前記カウン
    ト値が増分され、リフレッシュサイクルが実行させる度
    に前記カウント値が減分されるカウンタと、 このカウンタのカウント値の増加に応じて、他のメモリ
    アクセス要求に対する前記フレッシュ要求の優先度を変
    化させる手段と、 リフレッシュ要求および他のメモリアクセス要求を優先
    度順に実行する手段と、 前記カウンタのカウント値の少なくとも1つに所定のメ
    モリ制御オペレーションを割り当てておき、前記メモリ
    制御装置の初期化時のリセットにて前記カウンタ値を前
    記所定のメモリ制御オペレーションを示す値に設定する
    ことによって、前記所定のメモリ制御オペレーションを
    実行することを特徴とするメモリ制御装置。
  14. 【請求項14】 前記メモリはセルフリフレッシュ機構
    を有しており、 前記カウンタの所定のカウント値には前記メモリをセル
    フリフレッシュモードから通常動作モードに切り替える
    メモリ制御オペレーションが割り当てられていることを
    特徴とする請求項13記載のメモリ制御装置。
  15. 【請求項15】 リフレッシュ動作を必要とするメモリ
    を制御するメモリ制御装置において、 定期的にリフレッシュ割り込み信号を発生するリフレッ
    シュタイマと、 未処理のリフレッシュ要求の個数を示すカウント値を保
    持するカウンタであって、前記リフレッシュタイマから
    リフレッシュ割り込み信号が発生される度に前記カウン
    ト値が増分され、リフレッシュサイクルが実行させる度
    に前記カウント値が減分されるカウンタと、 このカウンタのカウント値が第1の値以上の時にフラグ
    をセットし、前記カウント値が前記第1の値から、それ
    よりも小さい第2の値に変化された時に前記フラグをリ
    セットする手段と、 前記フラグがセットされたとき、前記フラグがリセット
    されるまでリフレッシュサイクルを繰り返し実行する手
    段とを具備することを特徴とするメモリ制御装置。
  16. 【請求項16】 リフレッシュ動作を必要とし、且つリ
    ード/ライトアクセスのための複数の動作モードを有す
    るメモリを制御するメモリ制御方法において、 複数のリフレッシュ要求を蓄積し、 所定個数以上の未処理のリフレッシュ要求が蓄積されて
    いる場合、前記メモリの動作モードの切り替わり時に、
    未処理のリフレッシュ要求の個数がある一定個数に低減
    するまでリフレッシュサイクルを繰り返し実行すること
    を特徴とするメモリ制御方法。
  17. 【請求項17】 リフレッシュ動作を必要とするメモリ
    を制御するメモリ制御方法において、 複数のリフレッシュ要求を蓄積し、 蓄積されている未処理のリフレッシュ要求の個数の増加
    に応じてリフレッシュ要求の優先順位を、少なくとも低
    優先度、中優先度、高優先度の3段階以上に変化させ、 (1)高優先度のリフレッシュ要求 (2)ページモードアクセス可能なメモリリード/ライ
    ト要求 (3)中優先度のリフレッシュ要求 (4)メモリリード/ライト要求 (5)低優先度のリフレッシュ要求 の順で実行すべき処理の優先度制御を行うことを特徴と
    するメモリ制御方法。
  18. 【請求項18】 リフレッシュ動作を必要とするメモリ
    を制御するメモリ制御方法において、 複数のリフレッシュ要求を蓄積し、 所定個数以上の未処理のリフレッシュ要求が存在してい
    る場合、前記メモリのアクセスサイクルがリードサイク
    ルからライトサイクルに切り替わる時にリフレッシュサ
    イクルを実行することを特徴とするメモリ制御方法。
  19. 【請求項19】 CPUと、ある特定のパターンで連続
    したメモリアクセスを行うデバイスとからのメモリアク
    セス要求に応じて、リフレッシュ動作を必要とするメモ
    リをアクセス制御するメモリ制御方法において、 複数のリフレッシュ要求を蓄積し、 このリフレッシュ要求蓄積手段に所定個数以上の未処理
    のリフレッシュ要求が蓄積されている場合、前記メモリ
    に対するアクセス要求元が前記CPUから前記特定のパ
    ターンで連続したメモリアクセスを行うデバイスに切り
    替わる時にリフレッシュサイクルを実行することを特徴
    とするメモリ制御方法。
  20. 【請求項20】 リフレッシュ動作を必要とするメモリ
    を制御するメモリ制御方法において、 複数のリフレッシュ要求を蓄積し、 所定個数以上の未処理のリフレッシュ要求が蓄積されて
    いる場合、前記メモリに対するバースト転送要求が発行
    された時、蓄積されている未処理のリフレッシュ要求が
    ある一定個数以下になるまでリフレッシュサイクルを繰
    り返し実行することを特徴とするメモリ制御方法。
JP8169758A 1996-06-28 1996-06-28 メモリ制御装置およびメモリ制御方法 Pending JPH1011964A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8169758A JPH1011964A (ja) 1996-06-28 1996-06-28 メモリ制御装置およびメモリ制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8169758A JPH1011964A (ja) 1996-06-28 1996-06-28 メモリ制御装置およびメモリ制御方法

Publications (1)

Publication Number Publication Date
JPH1011964A true JPH1011964A (ja) 1998-01-16

Family

ID=15892312

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8169758A Pending JPH1011964A (ja) 1996-06-28 1996-06-28 メモリ制御装置およびメモリ制御方法

Country Status (1)

Country Link
JP (1) JPH1011964A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6606701B1 (en) 1998-11-30 2003-08-12 Nec Electronics Corporation Micro-processor
US6894942B2 (en) 2002-05-17 2005-05-17 Hynix Semiconductor, Inc. Refresh control circuit and method for semiconductor memory device
KR100607939B1 (ko) * 1999-10-02 2006-08-03 삼성전자주식회사 Dram 구성을 자동 검출하는 장치 및 방법
JP2007035039A (ja) * 2005-07-25 2007-02-08 Samsung Electronics Co Ltd マルチポートdramでのリフレッシュ制御方法及び該方法を利用するマルチポートメモリシステム
CN109461465A (zh) * 2017-09-06 2019-03-12 凯泽斯劳滕工业大学 使用运行时逆向工程优化dram刷新
JP2021507405A (ja) * 2017-12-21 2021-02-22 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated バンク毎及び全てのバンクの動的リフレッシュ
JP2022514128A (ja) * 2018-07-16 2022-02-10 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド メモリコントローラのリフレッシュスキーム

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6606701B1 (en) 1998-11-30 2003-08-12 Nec Electronics Corporation Micro-processor
KR100607939B1 (ko) * 1999-10-02 2006-08-03 삼성전자주식회사 Dram 구성을 자동 검출하는 장치 및 방법
US6894942B2 (en) 2002-05-17 2005-05-17 Hynix Semiconductor, Inc. Refresh control circuit and method for semiconductor memory device
JP2007035039A (ja) * 2005-07-25 2007-02-08 Samsung Electronics Co Ltd マルチポートdramでのリフレッシュ制御方法及び該方法を利用するマルチポートメモリシステム
US8122188B2 (en) 2005-07-25 2012-02-21 Samsung Electronics Co., Ltd. Method of controlling refresh operation in multi-port DRAM and a memory system using the method
CN109461465A (zh) * 2017-09-06 2019-03-12 凯泽斯劳滕工业大学 使用运行时逆向工程优化dram刷新
CN109461465B (zh) * 2017-09-06 2023-05-23 凯泽斯劳滕工业大学 使用运行时逆向工程优化dram刷新
JP2021507405A (ja) * 2017-12-21 2021-02-22 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated バンク毎及び全てのバンクの動的リフレッシュ
JP2022514128A (ja) * 2018-07-16 2022-02-10 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド メモリコントローラのリフレッシュスキーム

Similar Documents

Publication Publication Date Title
US5889714A (en) Adaptive precharge management for synchronous DRAM
US6490655B1 (en) Data processing apparatus and method for cache line replacement responsive to the operational state of memory
JP2002530742A (ja) 外部デバイスへのアクセスを優先順序付けるための方法および装置
JP3629519B2 (ja) プログラマブルsram及びdramキャッシュ・インタフェース
JP2002530731A (ja) 異常メモリアクセスまたは異なる時間のメモリアクセス実行の際のデータバス上のデータ衝突を検出するための方法および装置
US5907857A (en) Refresh-ahead and burst refresh preemption technique for managing DRAM in computer system
JP2002530743A (ja) ページタグレジスタを使用して、メモリデバイス内の物理ページの状態を追跡すること
US11669274B2 (en) Write bank group mask during arbitration
US5732236A (en) Circuit and method for controlling access to paged DRAM banks with request prioritization and improved precharge schedule
US11789655B2 (en) Efficient and low latency memory access scheduling
US20230102680A1 (en) Stacked command queue
JPH1011964A (ja) メモリ制御装置およびメモリ制御方法
US20240069811A1 (en) Efficient rank switching in multi-rank memory controller
US11625352B2 (en) DRAM command streak management
US6529981B1 (en) Bus arbiter
KR20010086034A (ko) 범용 리소스 접근 제어기
JP3939858B2 (ja) 同期型dramのアクセス方法、インタフェース回路、及び、半導体集積回路装置
US11687281B2 (en) DRAM command streak efficiency management
US20030163654A1 (en) System and method for efficient scheduling of memory
US20220405214A1 (en) Memory controller with hybrid dram/persistent memory channel arbitration
US20240112722A1 (en) Directed refresh management for dram
JPH1139216A (ja) 半導体記憶装置及びキャッシュメモリシステム
JP2002207541A (ja) マイクロコンピュータ及びデータ処理装置
JP3017103B2 (ja) メモリのリフレッシュシステムおよびリフレッシュ回路
JP2002244919A (ja) Dramインターフェース回路