JP3820831B2 - メモリ制御方法及び装置 - Google Patents
メモリ制御方法及び装置 Download PDFInfo
- Publication number
- JP3820831B2 JP3820831B2 JP2000030601A JP2000030601A JP3820831B2 JP 3820831 B2 JP3820831 B2 JP 3820831B2 JP 2000030601 A JP2000030601 A JP 2000030601A JP 2000030601 A JP2000030601 A JP 2000030601A JP 3820831 B2 JP3820831 B2 JP 3820831B2
- Authority
- JP
- Japan
- Prior art keywords
- request
- refresh
- access
- read
- write
- 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 - Fee Related
Links
Images
Landscapes
- Memory System (AREA)
- Dram (AREA)
Description
【発明の属する技術分野】
この発明は、メモリ制御方法及び装置に関し、特に各種メモリアクセス要求を調停することで、メモリアクセス性能の低下の低減することのできるメモリ制御方法及び装置に関する。
【0002】
【従来の技術】
一般に、DRAM(Dynamic Random Access Memory;ダイナミックRAM)を制御するメモリ制御装置において、リフレッシュコントローラから発行されるリフレッシュ要求は、CPUバスやインタフェースコントローラのマスタから発行されるリード要求やライト要求と比較すると、優先順位の高い要求として扱われている。
【0003】
又、複数のバンクから構成されている同期式DRAMにおいては、画像データのような大きなデータを処理する際に、異なるバンクにリードアクセスやライトアクセスが連続する場合には、連続してメモリアクセスするインタリーブ動作が可能である。
【0004】
しかしながら、このインタリーブ動作中にリフレッシュ要求が割り込んだ場合には、上述したようにリフレッシュ動作が優先される為、DRAMへのメモリアクセスを一旦中止し、リフレッシュ動作が終了した後に、メモリアクセスを再開しなければならない為、メモリアクセス性能が低下する問題があった。
【0005】
そこで、特開平10−11964号公報に記載されている「メモリ制御装置およびメモリ制御方法」においては、リフレッシュコントローラから発行されるリフレッシュ要求を蓄積するアクセスキューを用いて、要求を一旦待機させ、リフレッシュ動作を行わなければならない規定の期間内に、リフレッシュ動作を行うことができるように、これらの要求の実行順位を可変し、リフレッシュ動作を行うタイミングを最適化することで、メモリアクセスを効率良く行っていた。
【0006】
【発明が解決しようとする課題】
ところが、上述したような発明においては、リフレッシュ要求を待機させる為の回路を別途に必要とする為、回路構成や制御方法が複雑となる問題があった。
【0007】
そこで、この発明は、容易な回路構成により各種メモリアクセス要求を調停し、メモリアクセス性能の低下を低減することのできるメモリ制御方法及び装置を提供することを目的とする。
【0008】
【課題を解決するための手段】
上記目的を達成するため、請求項1の発明は、複数のバンクで構成されたメモリに対し、所定の間隔でのリフレッシュ要求が発生した際に、前記リフレッシュ要求を割り込ませてリフレッシュを実行させるメモリの制御方法であって、メモリのリフレッシュ要求が発生した際に、前記複数のバンクのうちの異なるバンクへの連続リードアクセス又は連続ライトアクセスを行うインタリーブアクセスが実行されている場合、又は、メモリのリフレッシュ要求が発生した際に、前記複数のバンクの一つのバンクへのライトアクセスに連続して該一つのバンクとは異なる他のバンクへのリードアクセスを行うインタリーブアクセスが実行されている場合には、前記リフレッシュ要求を割り込ませずに前記インタリーブアクセスを継続して実行させることを特徴とする。
【0009】
また、請求項2記載の発明は、請求項1の発明において、前記リフレッシュ要求の待機は、前記メモリの特性に応じて決定される最大許容時間を限度として行なわれることを特徴とする。
【0010】
また、請求項3記載のメモリの制御装置の発明は、複数のバンクで構成されたメモリに対し、リフレッシュ要求を発生するリフレッシュ要求発生手段と、前記リフレッシュ要求および前記メモリに対するアクセス要求を調停する調停手段とを具備し、前記調停手段は、前記複数のバンクのうちの異なるバンクへの連続リードアクセス又は連続ライトアクセスを行うインタリーブアクセスが実行されている場合、又は、前記複数のバンクの一つのバンクへのライトアクセスに連続して該一つのバンクとは異なる他のバンクへのリードアクセスを行うインタリーブアクセスが実行されている場合には、前記リフレッシュ要求を割り込ませずに前記インタリーブアクセスを継続して実行させることを特徴とする。
【0011】
また、請求項4記載の発明は、請求項3の発明において、前記調停手段は、前記メモリの特性に応じて決定される最大許容時間を限度として前記リフレッシュの実行を待機させることを特徴とする。
【0012】
また、請求項5記載の発明は、請求項3の発明において、前記調停手段は、前記複数のバンクのうちの一つのバンクへのリードアクセスが実行されている場合、又は、ライトアクセスが実行されている場合、又は、前記複数のバンクの一つのバンクへのリードアクセスに連続して該一つのバンクとは異なる他のバンクへのライトアクセスが実行されている場合には、前記リフレッシュ要求を割り込ませてリフレッシュを実行させることを特徴とする。
【0014】
【発明の実施の形態】
この発明に関するメモリ制御方法及び装置の一実施例を添付図面を参照して詳細に説明する。
【0015】
まず、図1を参照して、この発明を適用したメモリ制御装置の構成について説明する。
【0016】
図1は、メモリ制御装置の構成を示すブロック図である。
【0017】
同図において、メモリコントローラ1はリフレッシュ動作を制御するリフレッシュコントローラ2、DMAから出力されたデータの書き込み処理を制御するライトDMAコントローラ3−1乃び3−2、DMAへ出力するデータの読み出し処理を制御するリードDMAコントローラ4−1乃び4−2、CPUから出力されたデータの書き込み処理やCPUへ出力するデータの読み出し処理を制御するCPUバスインタフェース5、コントローラやインタフェイスのマスタから発行された要求を調停するアービタ6、マスタからのアクセスを後述するDRAM10のコマンドに変換するメモリ制御信号発生部7、アドレス情報を送受するアドレスバス13及びデータを送受するデータバス14を具備して構成される。
【0018】
DRAM10は、4つのバンク15−1乃至15−4から構成される。バンク15−1乃至15−4は、メモリ制御信号発生部7から出力されたアドレス及びコマンドに基づいて、データの記憶や読み出しを行う。
【0019】
リフレッシュコントローラ2は、所定の期間でDRAM10をリフレッシュさせる為に、アービタ6に対してリフレッシュ要求を発行し、又アービタ6から要求に対するリフレッシュ許可を受け取る。
【0020】
ライトDMAコントローラ3−1乃び3−2は、DMAバス11と接続され、DMAバス11から読み込んだデータをDRAM10にデータに書き込ませる際に、アービタ6に対してライト要求を発行したり、アービタ6から要求に対するライト許可を受け入れる。又、DRAM10にアクセスするアドレスを通知したり、DRAM10にデータを出力する。
【0021】
リードDMAコントローラ4−1乃び4−2は、DMAバス11と接続され、DRAM10からデータを読み込む際に、アービタ6にリード要求を出力したり、アービタ6から要求に対するリード許可を受信する。又、上述したライトDMAコントローラ3−1乃び3−2と同様に、DRAM10にアクセスするアドレスを通知したり、DRAM10からデータを読み込み、DMAバス11にデータを出力する。
【0022】
CPUバスインタフェイス5は、CPUバス12と接続され、1つのマスタでデータ読み込みと書き込みとの双方向送受の制御を行う。CPUバス12からデータを読み込み、このデータをDRAM10にデータに書き込ませる際に、アービタ6にライト要求を出力したり、アービタ6から要求に対するライト許可を受信する。又、DRAM10にアクセスするアドレスを通知したり、DRAM10にデータを出力する。
【0023】
又、DRAM10からデータを読み込む際には、アービタ6にリード要求を出力したり、アービタ6から要求に対するリード許可を受信する。又、DRAM10にアクセスするアドレスを通知し、DRAM10からデータを読み込み、DMAバス11にデータを出力する。
【0024】
アービタ6は、リフレッシュコントローラ2から発行されるリフレッシュ要求やライトDMAコントローラ3−1及び3−2、リードDMAコントローラ4−1及び4−2及びCPUバスインタフェイス5から発行されるリード要求やライト要求の調停を行う。なお、アービタ6はアドレスバス13からアドレスの上位2ビットのデータを取り出して、要求を発行したマスタがアクセスするDRAM10のバンクを判別する。
【0025】
メモリ制御信号発生部7は、アドレスバス13を介して、アドレスバス13からコントローラやインタフェイスのマスタからアドレスを受信し、DRAM10にアクセスするアドレスを通知したり、アービタ6から出力された動作指示信号をコマンドに変換し、DRAM10にコマンドを出力する。又、データバス14を介して、コントローラやインタフェイスのマスタとデータの送受を行うとともに、DRAM10ともデータの送受を行う。
【0026】
次に、図2乃至図5を参照して、DRAMへアクセスする際のメモリコントローラの動作の流れを説明する。
【0027】
図2はDRAMへアクセスする際のメモリコントローラの動作の流れを示すタイムチャートに使用される記号の凡例を示す図であり、図3はDRAMへアクセスする際のメモリコントローラの動作の流れを示す第1のタイムチャートであり、図4はDRAMへアクセスする際のメモリコントローラの動作の流れを示す第2のタイムチャートであり、図5はDRAMへアクセスする際のメモリコントローラの動作の流れを示す第3のタイムチャートである。
【0028】
メモリ制御信号発生部7は、DRAM10へのアクセスを制御する為に、図2の(a)に示すようなコマンドをメモリ制御信号発生部7からDRAM10に対して発行し、データを送受する。
【0029】
アクティブコマンドは、データを読み取る、或いは書き込むDRAM10の任意のバンクをアクティブ状態にする。又、リードコマンドはDRAM10にリード動作を行うように指示し、又ライトコマンドはDRAM10にライト動作を行うように指示を行う。又、リフレッシュコマンドは、DRAM10にリフレッシュ動作を行うように指示する。
【0030】
ところで、上述した各コマンドを実行する際に、直前に実行されたコマンドの直後に、図2の(b)に示すような一定のコマンド期間が必要である。
【0031】
例えば、リフレッシュ又はアクティブコマンドを出力後に、リフレッシュ又はアクティブコマンドを出力する際は、直前に出力されたリフレッシュ又はアクティブコマンドの直後に規定された期間をおいてから、次のリフレッシュ又はアクティブコマンドを出力する。又、図示するように、アクティブコマンドとリード又はライトコマンド間に規定された期間がある。
【0032】
なお、上述したコマンドやコマンド期間の他にもコマンドやコマンド期間があるが、本実施例ではこれらを省略する。
【0033】
これらのコマンド、データ及びコマンド期間を、図示したような記号を用いて、DRAM10の各種動作の流れをタイムチャートで示す。なお、図中の横線のコマンドラインはコマンドの出力を示し、データラインはデータの入出力を示す。又、縦線の間隔は1クロックの期間に相当する。
【0034】
図3に示すように、リード動作を実行する際は、アクティブコマンド311を出力した後に、一定の期間351をおいて、リードコマンド312を出力し、更にリードデータ313を送受する。
【0035】
又、ライト動作を実行する際には、アクティブコマンド314を出力した後に、一定の期間352をおいて、ライトコマンド315を出力するとともに、ライトデータ316を送受する。
【0036】
更に、上述したリード動作の直後に、リフレッシュ動作を実行する際には、リードデータ317を出力した後に、リフレッシュコマンド318を送出し、リフレッシュ動作中である期間353においてはリード動作等を行わない。図中には示してないが、2回目のリード動作を行う場合には、このリフレッシュ動作が終了した後に行う。
【0037】
又、上述したライト動作の直後に、リフレッシュ動作を実行する際についても、ライトデータ319を出力した後に、リフレッシュコマンド320を送出し、リフレッシュ動作中である期間354においてはライト動作等を行わない。図中には示してないが、2回目のライト動作を行う場合には、このリフレッシュ動作が終了した後に行う。
【0038】
この為、リード動作やライト動作の後に、リフレッシュ動作を実行しない場合とリフレッシュ動作を実行する場合にそれぞれ必要な期間を比較すると、リード動作やライト動作の後にリフレッシュ動作を実行する場合は、リフレッシュ動作を実行しない場合よりも、リフレッシュ動作の実行に必要なクロック期間だけ、リフレッシュ動作の次に実行する動作が遅延する。
【0039】
DRAM10の異なるバンクに連続してリード動作に続くリード動作を行う際に、図4に示すように、最初のデータ411の送受が行われている間に、次のデータ412を送受する為のアクティブコマンド413をオーバラップして発行して、次のデータ412の送受するインタリーブ動作を行うことができる。このインタリーブ動作により、連続した動作を行うことで、インタリーブ動作を行わない通常時の動作よりも、動作が4クロック分の期間451だけ短縮される。
【0040】
同様に、異なるバンクに連続してライト動作に続くライト動作及びライト動作に続くリード動作を行う際についても、最初のデータ414及び417の送受が行われている間に、次のデータ415及び418を送受する為のアクティブコマンド416及び419をオーバラップして発行するインタリーブ動作を行うことで、インタリーブ動作を行わない通常時の動作よりも、動作が4クロック分の期間452及び453だけ短縮される。
【0041】
又、異なるバンクに連続してリード動作に続くライト動作をインタリーブ動作で行う際についても、最初のデータ420の送受が行われている間に、次のデータ421を送受する為のアクティブコマンド422をオーバラップして発行するインタリーブ動作を行うことで、インタリーブ動作を行わない通常時の動作よりも、動作が1クロック分の期間454だけ短縮される。なお、リード動作とライト動作では、コマンドとデータの送受に必要な間隔が異なる為と、データバス14が双方向であり、リード動作とライト動作を行うデバイスを切り換える為に、1クロック分の期間455を要する。
【0042】
上述したように、インタリーブ動作により動作に4クロック分の期間の短縮が生じるリード動作とリード動作、ライト動作とライト動作、ライト動作とリード動作が連続するインタリーブ動作をインタリーブ動作Aとし、又、インタリーブ動作により動作に1クロック分しか短縮が生じることのないリード動作とライト動作が連続するインタリーブ動作をインタリーブ動作Bとする。
【0043】
図5に示すように、インタリーブ動作Aの最中に、リフレッシュ動作を割り込ませる場合には、リフレッシュ動作を実行する為に発行するリフレッシュコマンド511、513及び515をデータ512、514及び516が送受されている間に、オーバラップして発行することができない為、このリフレッシュコマンド511、513及び515を発行するまでに4クロック分の期間551、552及び553の遅延が生じる。
【0044】
又、インタリーブ動作Bの最中に、リフレッシュ動作を割り込ませる場合については、リフレッシュ動作を実行する為に発行するリフレッシュコマンド517をリードデータ518が送受されている間に、オーバラップして発行することができない為、リフレッシュコマンド517を発行するまでに1クロック分の期間554の遅延が生じる。
【0045】
この為、インタリーブ動作Aの最中にリフレッシュ動作を割り込ませる場合と、インタリーブ動作Bの最中にリフレッシュ動作を割り込ませる場合にそれぞれ必要な期間を比較した際、インタリーブ動作Bの最中にリフレッシュ動作を割り込ませる場合は、インタリーブ動作Aの最中にリフレッシュ動作を割り込ませる場合よりも、リフレッシュコマンドを発行する為に動作に生じる遅延が3クロック分の期間だけ短い為、インタリーブ動作全体に必要な期間も短い。
【0046】
次に、図6を参照して、アービタによるマスタの要求の調停方法をする。
【0047】
図6は、アービタによるマスタの要求の調停方法を示す模式図である。
【0048】
同図において、ライト要求21及び22、リード要求23及び24、リード/ライト要求25は、コントローラやインタフェイスのマスタから発行された要求をそれぞれ示している。
【0049】
アービタ6は、マスタから発行される要求が調停されるマスタの優先順位に基づいて、優先順位を順番に帰還しながら、全てのマスタから要求の発行を均等に調停する。なお、優先順位をライトDMAコントローラ3−1、ライトDMAコントローラ3−2、リードDMAコントローラ4−1、リードDMAコントローラ4−2、CPUバスインタフェース5の順番で帰還する。
【0050】
一例として、ライト要求21が最も優先順位の高い要求である時に、ライト要求21、ライト要求22、リード要求23の順番で優先順位が高くなる。
【0051】
アービタ6が最も優先順位の高いライト要求21を許可した後に、優先順位の順番を帰還すると、優先順位はライト要求22、リード要求23の順番で高くなる。
【0052】
又、別の一例として、ライト要求21が最も優先順位の高い要求である時に、次に優先順位の高いライト要求22が発行されていないこともある。本来、ライト要求22が次に優先順位の高い要求であるが、この場合には、ライト要求21、リード要求23、リード要求24の順番で優先順位が高くなる。
【0053】
アービタ6が最も優先順位の高いライト要求21を許可し、優先順位の順番を帰還すると、優先順位はリード要求23、リード要求24の順番で高くなる。
【0054】
又、別の一例として、ライト要求21が最も優先順位の高い要求である時に、この他の要求が何も発行されていない場合には、他の要求が発行されるまで、ライト要求21が最も優先順位の高い要求であり続ける。
【0055】
ところで、図4及び図5において上述したように、DRAM10の異なるバンクに連続してリードアクセス又はライトアクセスする場合には、インタリーブ動作が可能となる。又、優先順位が連続するマスタが使用するDRAM10のバンクを異なるバンクにそれぞれ設定することで、全ての要求に対する動作をインタリーブ動作により行うことができる。
【0056】
一例として、異なるバンクに連続してアクセスすることを前提とし、ライト要求21を許可し、ライト動作を実行した後に、優先順位が連続するライト要求22を許可し、ライト動作を実行する際は、このライト動作をインタリーブ動作Aにより行う。
【0057】
又、同様に異なるバンクに連続してアクセスすることを前提とし、リード要求24を許可し、リード動作を実行した後に、優先順位が2番目に高いリード/ライト要求25が発行されていない為、優先順位が3番目に高いライト要求21を許可し、ライト動作を実行する際は、このライト動作をインタリーブ動作Bにより行う。
【0058】
なお、CPUバスインタフェイス5とDRAM10とをアクセスする為のデータバスは双方向である為、CPUバスインタフェイス5が発行するリード/ライト要求25は、リード要求である場合と、ライト要求である場合がある。この為、優先順位が連続する要求をインタリーブ動作で実行する際に、インタリーブ動作A、或いはインタリーブ動作Bになるかは、発行される要求により可変する。
【0059】
一例として、異なるバンクに連続してアクセスすることを前提とし、リード要求24を許可し、リード動作を実行した後に、優先順位が連続するリード/ライト要求25がリード要求である場合、このリード要求を許可し、リード動作を実行する際には、最初のリード動作に連続するリード動作をインタリーブ動作Aにより行う。又、リード/ライト要求25がライト要求である場合には、このライト要求を許可し、ライト動作を実行する際には、リード動作に連続するライト動作をインタリーブ動作Bにより行う。
【0060】
なお、リフレッシュ要求31は優先順位に加えずに、アービタ6は他の要求よりも優先してリフレッシュ要求31を許可することができるが、DRAM10のリフレッシュ動作は所定の期間において、所定の回数が行われば良い為、それぞれのリフレッシュ動作の実行がずれても差し支えない。
【0061】
そこで、リフレッシュ動作による損失が大きいインタリーブ動作Aを実行する際に、リフレッシュ要求31がある場合には、DRAM10のリフレッシュ動作を行わなければならない所定の期間を超えない範囲で、リフレッシュ要求31を待機させ、インタリーブ動作Aを優先して行い、リフレッシュ動作による損失が少ないインタリーブ動作Bの動作中にリフレッシュ動作を行うように、アービタ6は各マスタから発行された要求を調停する。
【0062】
一例として、ライト要求21によるライト動作に続いて、優先順位が連続するライト要求22によるライト動作をインタリーブ動作Aで実行する際に、リフレッシュ要求31がある場合は、リフレッシュ要求31を待機させ、リフレッシュ動作よりインタリーブ動作Aを優先して行う。
【0063】
又、リード要求23によるリード動作に続いて、優先順位が次に高いライト要求21によるライト動作をインタリーブ動作Bで実行する際に、リフレッシュ要求31がある場合は、リード要求23を許可した後に、リフレッシュ要求31を許可してから、ライト要求21を許可することで、インタリーブ動作Bの最中にリフレッシュ動作を割り込ませる。
【0064】
次に、図7を参照して、アービタによるマスタの要求の調停の流れを説明する。
【0065】
図7は、アービタによるマスタの要求の調停の流れを示すフローチャートである。
【0066】
各コントローラやインタフェイスのマスタからDRAM10にアクセスする際に、DRAM10のリフレッシュ動作を行わなければならない所定の期間を超えていないインタリーブ動作が可能な期間である時に(ステップ101のYES)、これらのマスタからアービタ6にアクセス要求が発行され(ステップ102のYES)、その要求がリフレッシュ要求以外の要求であり(ステップ103のNO)、更にその要求がインタリーブ動作A又はインタリーブ動作Bを行うことのできる要求であるならば(ステップ107のYES)、アービタ6はアクセス要求を発行したマスタに対して、インタリーブ動作A又はインタリーブ動作Bを行わせるように、アクセス許可を発行する(ステップ108)。
【0067】
又、インタリーブ動作を行うことのできない要求であるならば(ステップ107のNO)、アービタ6はマスタに図3に示したようなインタリーブ動作でない通常の方法において、リード動作、或いはライト動作を行わせるように、アクセス許可を発行する(ステップ109)。
【0068】
又、ステップ103において、マスタから発行されたアクセス要求がリフレッシュ要求であり(ステップ103のYES)、この時、他にインタリーブ動作Aを行うことのできる要求であるならば(ステップ104のYES)、アービタ6はアクセス要求を発行したマスタに優先してインタリーブ動作Aを行わせるように、アクセス許可を発行する(ステップ105)。なお、アービタはリフレッシュ要求を待機させておき、他にインタリーブ動作Aを行うことができる要求がない場合に(ステップ104のNO)、アービタ6はリフレッシュコントローラ2にリフレッシュ動作を行わせるように、リフレッシュ許可を発行する(ステップ106)。
【0069】
又、アービタ6はDRAM10にアクセスする際に、インタリーブ動作が可能でない期間に(ステップ101のNO)、マスタからアクセス要求が発行されて(ステップ110のYES)、その要求がリフレッシュ要求以外のリード要求、或いはライト要求であるならば(ステップ111のNO)、アービタ6はマスタに図3に示したようなインタリーブ動作ではない通常の方法において、リード動作、或いはライト動作を行わせるように、アクセス許可を発行する(ステップ113)。
【0070】
又、ステップ111において、マスタから発行されたアクセス要求がリフレッシュ要求であるならば(ステップ111のYES)、アービタ6はリフレッシュ動作を行わせるように、リフレッシュ許可を発行する(ステップ112)。
【0071】
【発明の効果】
アービタが各マスタから発行された要求を優先順位に基づいて調停し、リード動作とライト動作が連続するインタリーブ動作中に、リフレッシュ動作を行うように構成したので、リフレッシュ動作による損失を最小限に押さえることができる為、メモリアクセス性能の低下を低減することができる。
【0072】
又、各マスタから発行された要求を各マスタの優先順位に基づいて帰還処理する間に、効率良くリフレッシュ要求を許可することができる為、リフレッシュ要求を待機させる回路を必要とせずに、制御回路を一層容易に構成することができる。
【0073】
又、優先順位が連続するマスタが使用するDRAMのバンクを異なるパンクに配置することで、連続したインタリーブ動作を行うことができ、メモリアクセス性能を一層向上することができる。
【図面の簡単な説明】
【図1】メモリ制御装置の構成を示すブロック図。
【図2】DRAMへアクセスする際のメモリコントローラの動作の流れを示すタイムチャート中の記号の凡例を示す図。
【図3】DRAMへアクセスする際のメモリコントローラの動作の流れを示す第1のタイムチャート。
【図4】DRAMへアクセスする際のメモリコントローラの動作の流れを示す第2のタイムチャート。
【図5】DRAMへアクセスする際のメモリコントローラの動作の流れを示す第3のタイムチャート。
【図6】アービタによるマスタの要求の調停方法を示す模式図。
【図7】アービタによるマスタの要求の調停の流れを示すフローチャート。
【符号の説明】
1 メモリコントローラ
2 リフレッシュコントローラ
3−1乃び3−2 ライトDMAコントローラ
4−1乃び4−2 リードDMAコントローラ
5 CPUバスインタフェイス
6 アービタ
7 メモリ制御信号発生部
10 DRAM
11 DMAバス
12 CPUバス
13 アドレスバス
14 データバス
15−1乃至15−4 バンク
21乃び22 ライト要求
23及び24 リード要求
25 リード/ライト要求
31 リフレッシュ要求
311乃至320、411乃び422、511乃至518 コマンド/データ351及び354、451乃び455、551及び554 期間
Claims (5)
- 複数のバンクで構成されたメモリに対し、所定の間隔でのリフレッシュ要求が発生した際に、前記リフレッシュ要求を割り込ませてリフレッシュを実行させるメモリの制御方法であって、
メモリのリフレッシュ要求が発生した際に、前記複数のバンクのうちの異なるバンクへの連続リードアクセス又は連続ライトアクセスを行うインタリーブアクセスが実行されている場合、又は、メモリのリフレッシュ要求が発生した際に、前記複数のバンクの一つのバンクへのライトアクセスに連続して該一つのバンクとは異なる他のバンクへのリードアクセスを行うインタリーブアクセスが実行されている場合には、前記リフレッシュ要求を割り込ませずに前記インタリーブアクセスを継続して実行させる
ことを特徴とするメモリの制御方法。 - 前記リフレッシュ要求の待機は、
前記メモリの特性に応じて決定される最大許容時間を限度として行なわれる
ことを特徴とする請求項1記載のメモリの制御方法。 - 複数のバンクで構成されたメモリに対し、
リフレッシュ要求を発生するリフレッシュ要求発生手段と、
前記リフレッシュ要求および前記メモリに対するアクセス要求を調停する調停手段と
を具備し、
前記調停手段は、
前記複数のバンクのうちの異なるバンクへの連続リードアクセス又は連続ライトアクセスを行うインタリーブアクセスが実行されている場合、又は、前記複数のバンクの一つのバンクへのライトアクセスに連続して該一つのバンクとは異なる他のバンクへのリードアクセスを行うインタリーブアクセスが実行されている場合には、前記リフレッシュ要求を割り込ませずに前記インタリーブアクセスを継続して実行させる
ことを特徴とするメモリの制御装置。 - 前記調停手段は、
前記メモリの特性に応じて決定される最大許容時間を限度として前記リフレッシュの実行を待機させる
ことを特徴とする請求項3記載のメモリの制御装置。 - 前記調停手段は、
前記複数のバンクのうちの一つのバンクへのリードアクセスが実行されている場合、又は、ライトアクセスが実行されている場合、又は、前記複数のバンクの一つのバンクへのリードアクセスに連続して該一つのバンクとは異なる他のバンクへのライトアクセスが実行されている場合には、前記リフレッシュ要求を割り込ませてリフレッシュを実行させる
ことを特徴とする請求項3記載のメモリの制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000030601A JP3820831B2 (ja) | 2000-02-08 | 2000-02-08 | メモリ制御方法及び装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000030601A JP3820831B2 (ja) | 2000-02-08 | 2000-02-08 | メモリ制御方法及び装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001222461A JP2001222461A (ja) | 2001-08-17 |
JP3820831B2 true JP3820831B2 (ja) | 2006-09-13 |
Family
ID=18555589
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000030601A Expired - Fee Related JP3820831B2 (ja) | 2000-02-08 | 2000-02-08 | メモリ制御方法及び装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3820831B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100501701C (zh) * | 2003-01-27 | 2009-06-17 | 松下电器产业株式会社 | 存储器控制装置 |
CN100440184C (zh) * | 2007-04-26 | 2008-12-03 | 北京中星微电子有限公司 | 一种能同时进行读写操作的dma控制器及传输方法 |
US9208002B2 (en) | 2012-01-06 | 2015-12-08 | International Business Machines Corporation | Equalizing bandwidth for multiple requesters using a shared memory system |
-
2000
- 2000-02-08 JP JP2000030601A patent/JP3820831B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001222461A (ja) | 2001-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8095744B2 (en) | Device for controlling access from a plurality of masters to shared memory composed of a plurality of banks each having a plurality of pages | |
US6253297B1 (en) | Memory control using memory state information for reducing access latency | |
JP4715801B2 (ja) | メモリアクセス制御装置 | |
US6385692B2 (en) | Methods and apparatus for variable length SDRAM transfers | |
US9330025B2 (en) | Information processing apparatus, memory control apparatus, and control method thereof | |
JP2002288037A (ja) | メモリ制御装置及び方法 | |
JP3819004B2 (ja) | メモリ制御装置 | |
JPH11224221A (ja) | メモリ制御装置および方法 | |
WO2007105376A1 (ja) | 集積回路、及び集積回路システム | |
US5802581A (en) | SDRAM memory controller with multiple arbitration points during a memory cycle | |
JP3820831B2 (ja) | メモリ制御方法及び装置 | |
JP2007172112A (ja) | メモリコントローラ | |
US5627968A (en) | Data transfer apparatus which allows data to be transferred between data devices without accessing a shared memory | |
JP2000020451A (ja) | 情報処理装置および方法、並びに提供媒体 | |
KR101022473B1 (ko) | 다층 버스 시스템에서의 메모리 뱅크 인터리빙 방법 및장치 | |
JP2004310394A (ja) | Sdramアクセス制御装置 | |
JP2011034214A (ja) | メモリ制御装置 | |
JP5623150B2 (ja) | 電子機器及びその制御方法 | |
JP2002055940A (ja) | バスシステム及びそのコマンドの伝達方法 | |
JP2000132505A (ja) | バスアクセス方法および装置とその利用装置およびシステム | |
KR20010050234A (ko) | 메모리(mem)와 결합한 데이터 처리용 디바이스 | |
US6980314B1 (en) | Method and device for improving utilization of a bus | |
JP2010244408A (ja) | メモリコントローラおよびメモリインターフェース方法 | |
JPH10222979A (ja) | 情報処理装置 | |
JPH10301897A (ja) | アービトレーション方法及びその装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040419 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060222 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060228 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060428 |
|
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: 20060530 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060612 |
|
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: 20100630 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110630 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110630 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120630 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130630 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130630 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140630 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |