JP2009093740A - メモリアクセス制御回路 - Google Patents
メモリアクセス制御回路 Download PDFInfo
- Publication number
- JP2009093740A JP2009093740A JP2007262511A JP2007262511A JP2009093740A JP 2009093740 A JP2009093740 A JP 2009093740A JP 2007262511 A JP2007262511 A JP 2007262511A JP 2007262511 A JP2007262511 A JP 2007262511A JP 2009093740 A JP2009093740 A JP 2009093740A
- Authority
- JP
- Japan
- Prior art keywords
- refresh
- interval
- request
- unit
- count
- 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
Links
Images
Landscapes
- Dram (AREA)
Abstract
【課題】リフレッシュとメモリアクセスとの競合によりリフレッシュ条件の規定が満足できなくなるおそれを低減することができるメモリアクセス制御回路を提供する。
【解決手段】設定期間Ts毎に、経過時間tの計時を行うリフレッシュ間隔計時部13と、平均リフレッシュ間隔tREFIで設定期間Tsを除した商として得られるリフレッシュ換算回数Nk以上の回数、設定期間Ts内に、リフレッシュ要求を行わせると共に、経過時間tが短いほど当該リフレッシュ要求を実行する要求間隔tdが短くなるように、当該要求間隔tdを設定するリフレッシュ間隔設定部11と、DRAMへのアクセス要求とリフレッシュ要求とが競合した場合、当該アクセス要求と当該リフレッシュ要求とを調停する調停部15とを備えた。
【選択図】図1
【解決手段】設定期間Ts毎に、経過時間tの計時を行うリフレッシュ間隔計時部13と、平均リフレッシュ間隔tREFIで設定期間Tsを除した商として得られるリフレッシュ換算回数Nk以上の回数、設定期間Ts内に、リフレッシュ要求を行わせると共に、経過時間tが短いほど当該リフレッシュ要求を実行する要求間隔tdが短くなるように、当該要求間隔tdを設定するリフレッシュ間隔設定部11と、DRAMへのアクセス要求とリフレッシュ要求とが競合した場合、当該アクセス要求と当該リフレッシュ要求とを調停する調停部15とを備えた。
【選択図】図1
Description
本発明は、DRAMのリフレッシュを制御するメモリアクセス制御回路に関する。
DRAM(Dynamic Random Access Memory)は、内部のメモリセルの実体であるキャパシタを定期的に再充電(リフレッシュ)してやる必要がある。特に、近年急速に普及しつつあるDDR(Double Data Rate)−SDRAM(Synchronous Dynamic Random Access Memory)やDDR2−SDRAMは、オートリフレッシュコマンドが与えられると、メモリデバイス内部で自動的にリフレッシュを実行するようになっている。
このようなDRAMでは、所定のサイクル規定時間内に実行すべきリフレッシュ回数が規定されている。例えば、リフレッシュサイクルが8192/64msecと規定されているDRAMでは、64msecのサイクル規定時間内に、8192回リフレッシュを実行する必要がある。そこで、例えば、平均リフレッシュ間隔(上記リフレッシュサイクルの逆数)より短い時間間隔で定期的にオートリフレッシュコマンドを発行することで、DRAMが要求するリフレッシュ条件を満たすように、リフレッシュ動作を制御するメモリコントローラが用いられている。
また、メモリコントローラのリフレッシュ制御としては、ほぼ一定時間ごとにリフレッシュコマンドを発行する分散リフレッシュ方式と特定の時間帯に集中してリフレッシュを行う集中リフレッシュ方式が一般に知られている。
しかしながら、DRAMは、リフレッシュとメモリアクセスとを同時に行うことができない。そのため、オートリフレッシュコマンドの発行とメモリアクセスとが競合してしまう場合がある。リフレッシュ条件を確実に満たすには、オートリフレッシュコマンドの発行とメモリアクセスとが競合した場合、リフレッシュが終了するまでメモリアクセスを待たせておけばよい。
DRAM内部で実行されるリフレッシュの処理は、その処理時間が、メモリ容量の増大に伴い増加し、DRAMの動作周波数の向上に伴い減少する。しかしながら、近年、動作周波数の向上に対して相対的にメモリ容量の増大が大きく、リフレッシュ動作にかかる時間が相対的に増加している。そのため、リフレッシュが終了するまでメモリアクセスを待たせておくこととすると、大容量のDRAMにおいて、リフレッシュコマンドを発行した後にメモリにアクセスできない期間が増大してしまう。また、DRAMにアクセスするCPU(Central Processing Unit)等のマスターデバイスが高速化していることによっても、リフレッシュとの競合によるメモリアクセスの待ち時間がシステムの性能に与える影響が相対的に増大している。
そこで、オートリフレッシュコマンドの発行とメモリアクセスとが競合した場合、オートリフレッシュコマンドの発行を待たせておき、メモリがアイドル状態になるのを待ってから、待たせておいたオートリフレッシュコマンドを発行するようにしたメモリコントローラが知られている(例えば、特許文献1参照。)。
特開2005−310245号公報
しかしながら、上述のメモリコントローラでは、前回のリフレッシュからの経過時間がサイクル規定時間の終わりに近いタイミングでリフレッシュコマンドの発行とメモリアクセスとが競合した場合、リフレッシュコマンドの発行が待たされてサイクル規定時間の残り時間が短くなってから、リフレッシュコマンドを発行しようとしても、規定回数のリフレッシュコマンドを発行できる時間が残っていないためにDRAMが要求するリフレッシュ条件の規定を満足できなくなるおそれがあった。
本発明は、このような事情に鑑みて為された発明であり、リフレッシュとメモリアクセスとの競合によりリフレッシュ条件の規定が満足できなくなるおそれを低減することができるメモリアクセス制御回路を提供することを目的とする。
本発明に係るメモリアクセス制御回路は、所定のサイクル規定時間内に実行すべきリフレッシュ規定回数としてリフレッシュサイクルが規定されたDRAMへ、リフレッシュの実行を要求するリフレッシュ要求を行うリフレッシュ要求部と、予め設定された設定期間毎に、経過時間の計時を行う計時部と、前記サイクル規定時間を前記リフレッシュ規定回数で除した商として得られる平均リフレッシュ間隔で前記設定期間を除した商として得られるリフレッシュ換算回数以上の回数、前記設定期間内に、前記リフレッシュ要求部によって前記リフレッシュ要求を行わせると共に、前記計時部により計時された経過時間が短いほど当該リフレッシュ要求を実行する時間間隔である要求間隔が短くなるように、当該要求間隔を設定するリフレッシュ間隔設定部と、前記DRAMへのアクセス要求と、前記リフレッシュ要求部のリフレッシュ要求とが競合した場合、当該アクセス要求と当該リフレッシュ要求とを調停する調停部とを備える。
この構成によれば、計時部によって、予め設定された設定期間毎に、経過時間が繰り返し計時される。また、リフレッシュ換算回数は、サイクル規定時間内に実行すべきリフレッシュの回数であるリフレッシュ規定回数を、設定期間内に実行すべきリフレッシュの回数に換算した回数となる。そして、設定期間内に、リフレッシュ換算回数以上の回数、リフレッシュ要求部によるリフレッシュ要求が行われると共に、計時部により計時された経過時間が短いほど当該リフレッシュ要求を実行する時間間隔である要求間隔が短くなるように、当該要求間隔が設定される。そうすると、設定期間内において前倒しでリフレッシュが実行される。そうすると、設定期間の終わりに近いタイミングでは、リフレッシュを実行するための時間的余裕が増大するので、リフレッシュとメモリアクセスとの競合によりリフレッシュ条件の規定が満足できなくなるおそれを低減することができる。
また、前記サイクル規定時間は、前記設定期間の整数倍であることが好ましい。
この構成によれば、設定期間内にリフレッシュ換算回数以上の回数、リフレッシュ要求が行われることにより、必ずサイクル規定時間内にリフレッシュ規定回数以上のリフレッシュ要求が行われる。従って、設定期間の他に、別途サイクル規定時間を管理する必要がなく、リフレッシュ条件の規定を満足するための処理が増大するおそれを低減することができる。
また、前記設定期間毎に、前記リフレッシュ要求部から出力されたリフレッシュ要求指示の回数を計数するリフレッシュ回数カウント部をさらに備え、前記リフレッシュ間隔設定部は、前記計時部により計時された経過時間を前記平均リフレッシュ間隔で除した商として得られる基準回数を、前記リフレッシュ回数カウント部により計数された回数が下回った場合、前記要求間隔を短縮することが好ましい。
この構成によれば、リフレッシュ回数カウント部によって、設定期間内にリフレッシュ要求部から出力されたリフレッシュ要求指示の回数が、設定期間毎に繰り返し計数される。また、計時部により計時された経過時間を平均リフレッシュ間隔で除した商として得られる基準回数を、リフレッシュ回数カウント部により計数された回数が下回った場合、すなわち平均リフレッシュ間隔でリフレッシュを繰り返した場合よりも、実際のリフレッシュの進捗度合いが遅れている場合、リフレッシュ間隔設定部によって、要求間隔が短縮される。そうすると、リフレッシュ要求部によるリフレッシュ要求の頻度が高められる結果、リフレッシュの進捗度合いの遅れが解消されて、リフレッシュとメモリアクセスとの競合によりリフレッシュ条件の規定が満足できなくなるおそれを低減することができる。
また、前記リフレッシュ間隔設定部は、前記リフレッシュ換算回数から前記リフレッシュ回数カウント部により計数された回数を減じた差分に対する、当該回数から、前記計時部により計時された経過時間を前記平均リフレッシュ間隔で除した商として得られる基準回数を減じた差分の比率が、0より大きく1に満たない範囲で予め設定された目標比率を下回る場合、前記要求間隔を短縮させ、当該比率が、前記目標比率を上回る場合、前記要求間隔を増大させることが好ましい。
この構成によれば、リフレッシュ換算回数からリフレッシュ回数カウント部により計数された回数を減じた差分に対する、当該回数から、計時部により計時された経過時間を平均リフレッシュ間隔で除した商として得られる基準回数を減じた差分の比率は、平均リフレッシュ間隔でリフレッシュを繰り返した場合よりも実際のリフレッシュの進捗度合いが、遅れている場合0より小さくなり、進んでいる場合0より大きくなる。また、目標比率は0より大きくされているから、リフレッシュの進捗度合いが進んでいる状態に対応するように、目標比率が設定されている。
そうすると、前記比率が目標比率を下回り、すなわちリフレッシュの進捗度合いが目標とする進捗度合いより遅れている場合、リフレッシュ間隔設定部によって、要求間隔が短縮され、リフレッシュ要求の頻度が高められて目標とするリフレッシュの進捗度合いに近づけられる結果、リフレッシュとメモリアクセスとの競合によりリフレッシュ条件の規定が満足できなくなるおそれを低減することができる。また、当該比率が目標比率を上回る場合、すなわちリフレッシュの進捗度合いが目標とする進捗度合いより進んでいる場合、リフレッシュ間隔設定部によって、要求間隔が増大されてリフレッシュ要求の頻度が低下される結果、リフレッシュとメモリアクセスとの競合が生じるおそれが低減される。
この場合、前記比率が正の値であるか負の値であるかによって、リフレッシュの進捗度合いの進み、遅れを判断することができる。従って、リフレッシュの進捗度合いの進み、遅れに応じて要求間隔を増減することが容易になる結果、リフレッシュとメモリアクセスとの競合が生じるおそれを低減しつつ、リフレッシュとメモリアクセスとの競合によりリフレッシュ条件の規定が満足できなくなるおそれを低減することが容易となる。
また、前記リフレッシュ間隔設定部は、前記計時部により計時された経過時間がtであるタイミングにおいて、前記設定期間がTs、前記平均リフレッシュ間隔がtREFI、前記リフレッシュ回数カウント部により計数された回数がnであるとき下記の式(1)に基づき得られる比率Rが、前記目標比率を下回る場合、前記要求間隔を短縮させ、当該比率Rが、前記目標比率を上回る場合、前記要求間隔を増大させることが好ましい。
R=(n−t/tREFI)/{(Ts/tREFI)−n} ・・・(1)
R=(n−t/tREFI)/{(Ts/tREFI)−n} ・・・(1)
この構成によれば、式(1)に基づいて、リフレッシュ換算回数からリフレッシュ回数カウント部により計数された回数を減じた差分に対する、当該回数から、計時部により計時された経過時間を平均リフレッシュ間隔で除した商として得られる基準回数を減じた差分の比率Rを算出することができる。
また、前記リフレッシュ間隔設定部は、前記比率が前記目標比率を下回る場合、前記要求間隔を前記平均リフレッシュ間隔より短縮させ、当該比率が前記目標比率を上回る場合、前記要求間隔を前記平均リフレッシュ間隔より増大させることが好ましい。
この構成によれば、前記比率が目標比率を下回り、すなわちリフレッシュの進捗度合いが目標とする進捗度合いより遅れている場合、リフレッシュ間隔設定部によって、要求間隔が平均リフレッシュ間隔より短縮されることで、リフレッシュ要求の頻度を目標とするリフレッシュの進捗度合いに近づける確実性が向上される。また、当該比率が目標比率を上回り、すなわちリフレッシュの進捗度合いが目標とする進捗度合いより進んでいる場合、リフレッシュ間隔設定部によって、要求間隔が平均リフレッシュ間隔より増大されることで、平均リフレッシュ間隔でリフレッシュが繰り返された場合よりも、リフレッシュとメモリアクセスとの競合が生じるおそれが低減される。
また、前記DRAMは、リフレッシュ間隔として許容できる最大限の時間である最大リフレッシュ間隔と、リフレッシュを実行後、再びリフレッシュを実行可能となるまでの最短時間である最短リフレッシュ間隔とが規定されており、前記リフレッシュ間隔設定部は、前記比率が前記目標比率を下回る場合において、前記比率と前記目標比率との差が大きくなるほど前記要求間隔が前記最短リフレッシュ間隔を下回らない範囲で小さくなるように当該要求間隔を短縮させ、前記比率が前記目標比率を上回る場合において、前記比率と前記目標比率との差が大きくなるほど前記要求間隔が前記最大リフレッシュ間隔を上回らない範囲で大きくなるように当該要求間隔を増大させることが好ましい。
この構成によれば、前記比率と前記目標比率との差が大きくなるほど、リフレッシュの進捗度合いと目標とする進捗度合いとの差が大きいことを意味する。また、前記比率が目標比率を下回る場合において、前記比率と目標比率との差が大きくなるほど要求間隔が最短リフレッシュ間隔を下回らない範囲で小さくなるように当該要求間隔が短縮される。これにより、最短リフレッシュ間隔の規定を満たしつつ、目標とする進捗度合いに対するリフレッシュの進捗度合いの遅れが大きいほど、リフレッシュ要求の頻度が高められる結果、リフレッシュの進捗度合いと目標とする進捗度合いとの差がすみやかに低減される。
また、前記比率が目標比率を上回る場合において、前記比率と目標比率との差が大きくなるほど要求間隔が最大リフレッシュ間隔を上回らない範囲で大きくなるように当該要求間隔が増大される。これにより、最大リフレッシュ間隔の規定を満たしつつ、目標とする進捗度合いに対するリフレッシュの進捗度合いの進みが大きいほど、リフレッシュ要求の頻度が低下される結果、リフレッシュの進捗度合いと目標とする進捗度合いとの差がすみやかに低減される。
また、前記調停部は、前記調停において、前記比率が大きくなるほど、前記競合したアクセス要求に対する前記競合したリフレッシュ要求の優先度合いを低下させることが好ましい。
この構成によれば、前記比率が大きくなるほど、すなわちリフレッシュの進捗度合いが進んでリフレッシュを実行するための時間的余裕が増大するほど、リフレッシュ要求の優先度合いが低下されて、競合したアクセス要求が優先的に実行されるようになる。これにより、リフレッシュとメモリアクセスとの競合によりリフレッシュ条件の規定が満足できなくなるおそれを低減しつつ、競合が生じた際にアクセス要求が待たされるおそれを低減することができる。
また、前記調停部は、前記調停を行う際に、前記計時部により計時された経過時間を前記平均リフレッシュ間隔で除した商として得られる基準回数を、前記リフレッシュ回数カウント部により計数された回数が上回る場合、前記リフレッシュ要求より前記アクセス要求を優先させることが好ましい。
この構成によれば、調停部が調停を行う際に、平均リフレッシュ間隔でリフレッシュを繰り返した場合よりも、実際のリフレッシュの進捗度合いが進んでいる場合、リフレッシュ要求よりアクセス要求が優先される。これにより、リフレッシュとメモリアクセスとの競合によりリフレッシュ条件の規定が満足できなくなるおそれを低減しつつ、競合が生じた際にアクセス要求が待たされるおそれを低減することができる。
また、前記DRAMへのアクセス要求には、緊急度を示す緊急度情報が付与されており、前記調停部は、前記調停を行う際に、前記基準回数を、前記リフレッシュ回数カウント部により計数された回数が下回る場合、前記競合したアクセス要求に付与された緊急度情報で示される緊急度が高いほど、前記競合したリフレッシュ要求に対する当該アクセス要求の優先度合いを高めることが好ましい。
この構成によれば、調停部が調停を行う際に、平均リフレッシュ間隔でリフレッシュを繰り返した場合よりも実際のリフレッシュの進捗度合いが遅れている場合、競合したアクセス要求に付与された緊急度情報で示される緊急度が高いほど、競合したリフレッシュ要求に対する当該アクセス要求の優先度合いが高められる。この場合、調停部によって、アクセス要求の緊急度とリフレッシュの進捗度合いとに応じて、競合した際にいずれを優先するかが判断されるので、リフレッシュとメモリアクセスとの競合によりリフレッシュ条件の規定が満足できなくなるおそれを低減しつつ、競合が生じた際にアクセス要求が待たされることによる影響を低減することが可能となる。
また、前記調停部は、前記調停を行う際に、前記計時部により計時された経過時間が前記設定期間の前半に該当する場合、前記リフレッシュ要求より前記アクセス要求を優先させ、前記計時部により計時された経過時間が前記設定期間の後半に該当し、かつ前記計時部により計時された経過時間を前記平均リフレッシュ間隔で除した商として得られる基準回数を、前記リフレッシュ回数カウント部により計数された回数が下回った場合、前記アクセス要求より前記リフレッシュ要求を優先させるようにしてもよい。
この構成によれば、計時部により計時された経過時間が設定期間の前半に該当する場合、すなわちリフレッシュを実行するための時間的余裕が大きい場合、調停部による調停において、リフレッシュ要求よりアクセス要求が優先される。従って、リフレッシュ条件の規定が満足できなくなるおそれが低い場合には、アクセス要求が待たされることを低減することが可能となる。また、計時部により計時された経過時間が設定期間の後半に該当し、かつ前記基準回数を、リフレッシュ回数カウント部により計数された回数が下回った場合、すなわちリフレッシュを実行するための時間的余裕が乏しい場合において、さらに平均リフレッシュ間隔でリフレッシュを繰り返した場合よりも実際のリフレッシュの進捗度合いが遅れているために、リフレッシュ条件の規定が満足できなくなるおそれが高い場合には、調停部による調停において、アクセス要求よりリフレッシュ要求が優先されるので、リフレッシュ条件の規定が満足できなくなるおそれが低減される。
また、前記設定期間毎に、前記リフレッシュ要求部から出力されたリフレッシュ要求指示の回数を計数するリフレッシュ回数カウント部をさらに備え、前記DRAMは、リフレッシュ間隔として許容できる最大限の時間である最大リフレッシュ間隔と、リフレッシュを実行後、再びリフレッシュを実行可能となるまでの最短時間である最短リフレッシュ間隔とが規定されており、前記リフレッシュ間隔設定部は、前記リフレッシュ換算回数と前記リフレッシュ回数カウント部により計数された回数との差が、前記設定期間から前記計時部により計時された経過時間を差し引いた差分を、前記最大リフレッシュ間隔で除した商以下になるまで、前記要求間隔として前記最短リフレッシュ間隔を設定したまま維持するようにしてもよい。
この構成によれば、以後、最大リフレッシュ間隔でリフレッシュ要求を繰り返しても、リフレッシュ条件の規定を満足することができるようになるまで、要求間隔として最短リフレッシュ間隔を設定したまま、すなわち許容される最大の頻度でリフレッシュ要求が行われるので、設定期間内でリフレッシュが前倒しで実行される結果、設定期間の終わりに近いタイミングでは、リフレッシュを実行するための時間的余裕が増大するので、リフレッシュとメモリアクセスとの競合によりリフレッシュ条件の規定が満足できなくなるおそれを低減することができる。
また、前記DRAMは、DDR2−SDRAMであることが好ましい。この構成によれば、DDR2−SDRAMにおいて、リフレッシュとメモリアクセスとの競合によりリフレッシュ条件の規定が満足できなくなるおそれを低減することができる。
このような構成のメモリアクセス制御回路は、計時部によって、予め設定された設定期間毎に、経過時間が繰り返し計時される。また、リフレッシュ換算回数は、サイクル規定時間内に実行すべきリフレッシュの回数であるリフレッシュ規定回数を、設定期間内に実行すべきリフレッシュの回数に換算した回数となる。そして、設定期間内に、リフレッシュ換算回数以上の回数、リフレッシュ要求部によるリフレッシュ要求が行われると共に、計時部により計時された経過時間が短いほど当該リフレッシュ要求を実行する時間間隔である要求間隔が短くなるように、当該要求間隔が設定される。そうすると、設定期間内において前倒しでリフレッシュが実行される。そうすると、設定期間の終わりに近いタイミングでは、リフレッシュを実行するための時間的余裕が増大するので、リフレッシュとメモリアクセスとの競合によりリフレッシュ条件の規定が満足できなくなるおそれを低減することができる。
以下、本発明に係る実施形態を図面に基づいて説明する。なお、各図において同一の符号を付した構成は、同一の構成であることを示し、その説明を省略する。
(第1実施形態)
図1は、本発明の一実施形態に係るメモリアクセス制御回路の構成の一例を示すブロック図である。図1に示すメモリアクセス制御回路1は、リフレッシュ間隔設定部11、リフレッシュ要求部12、リフレッシュ間隔計時部13(計時部)、リフレッシュ回数カウント部14、調停部15、ホストI/F16、及びトランザクションキュー17を備えている。
図1は、本発明の一実施形態に係るメモリアクセス制御回路の構成の一例を示すブロック図である。図1に示すメモリアクセス制御回路1は、リフレッシュ間隔設定部11、リフレッシュ要求部12、リフレッシュ間隔計時部13(計時部)、リフレッシュ回数カウント部14、調停部15、ホストI/F16、及びトランザクションキュー17を備えている。
また、調停部15には、バスライン21を介してメモリデバイス2が接続されている。ホストI/F16には、バスライン31を介して上位システム3が接続されている。
メモリデバイス2は、DRAMであり、例えばDDR2−SDRAMである。メモリデバイス2は、リフレッシュ要求部12から調停部15を介して出力されたオートリフレッシュコマンド(リフレッシュ要求)を受け付けると、内部でリフレッシュアドレスを自動的に生成してリフレッシュを実行するようになっている。
また、メモリデバイス2は、例えばリフレッシュサイクルが8192/64msecとして規定されており、64msecのサイクル規定時間tc内に、リフレッシュ規定回数である8192回リフレッシュを実行する必要がある。また、平均リフレッシュ間隔tREFIは、7.8μsecとなっている。また、メモリデバイス2において、リフレッシュを実行後、再びリフレッシュを実行可能となるまでの最短時間である最短リフレッシュ間隔tRFCは、例えば127.5nsec、リフレッシュ間隔として許容できる最大限の時間である最大リフレッシュ間隔tRFLは、例えば平均リフレッシュ間隔tREFIの9倍に規定されており、例えば70.2μsecとなっている。
上位システム3は、メモリアクセス制御回路1を用いてメモリデバイス2にアクセスするマスターデバイスであり、例えばCPU(Central Processing Unit)、DMAC(Direct Memory Access Controller)、スキャナー装置、画像出力エンジン等、種々のデバイスや装置である。上位システム3は、ホストI/F16へメモリデバイス2へのアクセス要求を出力する際に、当該アクセス要求の緊急度を示す緊急度情報を付与して出力する。
ホストI/F16は、上位システム3からのメモリデバイス2への、緊急度情報が付与されたアクセス要求を受け付けて、トランザクションキュー17へ出力する。トランザクションキュー17は、ホストI/F16から出力されたアクセス要求を緊急度情報と共に記憶して、先入れ先出しで調停部15へ出力するキューバッファである。
リフレッシュ要求部12は、リフレッシュ間隔設定部11からの制御信号に応じてメモリデバイス2のオートリフレッシュコマンドを調停部15へ出力する。なお、リフレッシュ要求部12は、メモリデバイス2が、DDR−SDRAM等のオートリフレッシュコマンドに対応したデバイスではない場合、オートリフレッシュコマンドを出力する代わりに、例えばリフレッシュアドレスを生成したり、当該デバイスに規定されているリフレッシュの指示信号を出力したりすることによって、リフレッシュ要求を行うようにしてもよい。
リフレッシュ間隔計時部13は、タイマ回路を用いて構成されている。そして、リフレッシュ間隔計時部13は、予め設定された設定期間Ts毎に、経過時間tの計時を行う。設定期間Tsは、サイクル規定時間tcと所定の整数Nとに基づいて、Ts=tc/N (N=1,2,3,・・・)となるように、設定されている。
また、リフレッシュ間隔計時部13は、設定期間Tsが経過する都度、リフレッシュ回数カウント部14をリセットするカウンタリセット信号を出力する。さらに、リフレッシュ間隔計時部13は、例えば調停部15からメモリデバイス2へ出力される制御信号を監視して、調停部15からオートリフレッシュコマンドが出力された後の経過時間をリフレッシュ経過時間trとして計時する。
リフレッシュ回数カウント部14は、カウンタ回路を用いて構成されている。リフレッシュ回数カウント部14は、リフレッシュ間隔計時部13からのカウンタリセット信号に応じて、カウント値がゼロにリセットされるようになっている。また、リフレッシュ回数カウント部14は、例えば調停部15からメモリデバイス2へ出力される制御信号を監視して、調停部15からオートリフレッシュコマンドが出力される都度、カウンタ値を一つ加算する。これにより、リフレッシュ回数カウント部14によって、前回リフレッシュが実行されてから経過時間tが経過した現時点までに実行されたリフレッシュ回数nが計時される。
リフレッシュ間隔設定部11は、順序回路や論理回路等を用いて構成されている。リフレッシュ間隔設定部11は、リフレッシュ間隔計時部13により計時された経過時間tのタイミングにおいて、リフレッシュ回数カウント部14により計数されたリフレッシュ回数nに基づき、下記の式(1)から得られる比率Rが、0より大きく1に満たない範囲で予め設定された目標比率、例えば0.5〜0.75の範囲に設定された目標比率を下回る場合、要求間隔tdを平均リフレッシュ間隔tREFIより短縮させ、当該比率Rが、前記目標比率を上回る場合、要求間隔tdを平均リフレッシュ間隔tREFIより増大させる。
R=(n−t/tREFI)/{(Ts/tREFI)−n} ・・・(1)
式(1)において、(Ts/tREFI)の項は、設定期間Ts内に実行する必要のあるリフレッシュ回数であるリフレッシュ換算回数Nkを示している。また、リフレッシュ間隔設定部11は、このようにして得られた比率Rを調停部15へ出力する。
式(1)において、(Ts/tREFI)の項は、設定期間Ts内に実行する必要のあるリフレッシュ回数であるリフレッシュ換算回数Nkを示している。また、リフレッシュ間隔設定部11は、このようにして得られた比率Rを調停部15へ出力する。
調停部15は、トランザクションキュー17からのアクセス要求と、リフレッシュ要求部12からのオートリフレッシュコマンドとが競合した場合、当該アクセス要求と当該オートリフレッシュコマンドとを調停し、いずれかを選択してメモリデバイス2へ出力する。
調停部15は、この調停を行う際に、当該アクセス要求に付与された緊急度情報と、リフレッシュ間隔設定部11から出力された比率Rとに基づいて、アクセス要求と当該オートリフレッシュコマンドとの優先順位を判定する。そして、調停部15は、判定した優先順位に基づいて、競合したアクセス要求とオートリフレッシュコマンドとのうちいずれかを選択する。
なお、リフレッシュ間隔設定部11、リフレッシュ要求部12、リフレッシュ間隔計時部13、及びリフレッシュ回数カウント部14は、例えばCPU等の制御回路を用いて構成されていてもよい。
次に、上述のように構成されたメモリアクセス制御回路1の動作について説明する。図2は、図1に示すメモリアクセス制御回路1の動作の一例を示す説明図である。図2においては、例えば設定期間Tsがサイクル規定時間tc(64msec)に等しい時間に設定されており、リフレッシュ換算回数Nkは、例えば8192回となる。
図2において、グラフG1は、平均リフレッシュ間隔tREFIでリフレッシュを繰り返した場合における、経過時間tと、経過時間tの間に実行されるリフレッシュ回数との関係を示している。グラフG1に示すように、メモリアクセス要求との競合によってリフレッシュが待たされることなく平均リフレッシュ間隔tREFIでリフレッシュが繰り返されれば、設定期間Ts(64msec)が経過したタイミングでリフレッシュ換算回数Nk(8192回)回のリフレッシュが実行されることとなり、メモリデバイス2のリフレッシュ条件が満たされる。
図2において、グラフG2は、メモリアクセス制御回路1によってメモリデバイス2のリフレッシュが実行される場合の経過時間tと、経過時間tの間に実行されるリフレッシュ回数nとの関係を示している。また、図2において、回数navgは、平均リフレッシュ間隔tREFIでリフレッシュが行われた場合の、経過時間t1におけるリフレッシュ回数nを示している。この場合、回数navgは、t1/tREFIで与えられ、請求項における基準回数に相当している。
図3は、図1に示すリフレッシュ間隔設定部11による要求間隔tdの設定動作の一例、及び図1に示す調停部15による調停動作の一例を説明するための説明図である。
まず、アクセス要求とリフレッシュ要求との競合が生じない場合の動作について説明する。まず、リフレッシュ間隔計時部13によって、経過時間tの計時が開始される。そして、リフレッシュ間隔設定部11によって、例えば要求間隔tdがtREFI/2に設定され、すなわち平均リフレッシュ間隔tREFIより短い時間に設定される。そして、リフレッシュ間隔設定部11によって、tREFI/2の時間間隔でリフレッシュ要求を要求する制御信号がリフレッシュ要求部12へ出力される。
そうすると、リフレッシュ要求部12からオートリフレッシュコマンドが調停部15へ出力されて、調停部15からメモリデバイス2へオートリフレッシュコマンドが出力される。そして、メモリデバイス2でリフレッシュが実行される。
このとき、調停部15から出力されたオートリフレッシュコマンドがリフレッシュ回数カウント部14で検出されて、リフレッシュ回数カウント部14によって、オートリフレッシュコマンドの出力回数、すなわちリフレッシュ回数nが計数される。
次に、リフレッシュ間隔設定部11によって、リフレッシュ回数カウント部14で計数されたリフレッシュ回数nと、リフレッシュ間隔計時部13で計時された経過時間tと、平均リフレッシュ間隔tREFIと、設定期間Tsとに基づいて、式(1)が計算され、比率Rが算出される。
例えば、経過時間tがt1,リフレッシュ回数nがn1のとき、比率R=(n1−t1/tREFI)/{(Ts/tREFI)−n1}となる。リフレッシュ換算回数Nk=Ts/tREFIであるから、比率R=(n1−t1/tREFI)/(Nk−n1)となる。ここで、比率Rの分母である(Nk−n1)は、図2に示すαに相当する。また、t1/tREFIは、navgに等しいから、比率Rの分子である(n1−t1/tREFI)は、図2に示すβに相当する。すなわち、R=β/αとなる。
そうすると、平均リフレッシュ間隔tREFIでリフレッシュを繰り返した場合に経過時間t1において実行済みとなるリフレッシュ回数navgより、実際に実行されたリフレッシュ回数n1の方が多くなるほど比率Rが大きくなる。すなわち、比率Rが大きくなるほど、設定期間Ts内に実行すべきリフレッシュ換算回数Nkのリフレッシュが、均一の時間間隔で実行された場合よりも前倒しで実行されたことを示している。
また、比率Rが負の値をとる場合には、リフレッシュ換算回数Nkのリフレッシュが、均一の時間間隔で実行された場合よりも遅れて実行されたことを示している。
そして、リフレッシュ間隔設定部11によって、算出された比率Rが所定の基準値と比較される。具体的には、図3に示すように、比率Rが0以上0.5未満であった場合、すなわちリフレッシュの実行が、平均リフレッシュ間隔tREFIで実行された場合と同程度か僅かに進んでいる場合、さらにリフレッシュの実行を前倒すべく、リフレッシュ間隔設定部11によって、要求間隔tdが平均リフレッシュ間隔tREFIより小さいtREFI/2に設定され、リフレッシュ要求部12によるオートリフレッシュコマンドの出力頻度が平均リフレッシュ間隔tREFIより高められる。
また、比率Rが、目標比率である0.5以上0.75未満であった場合、すなわちリフレッシュの実行が平均リフレッシュ間隔tREFIで実行された場合よりも進んでおり、リフレッシュの実行に余裕が生じている場合、リフレッシュ間隔設定部11によって、要求間隔tdが平均リフレッシュ間隔tREFIに設定される。そうすると、リフレッシュの実行進捗の余裕が維持されつつ、要求間隔tdがtREFI/2よりも増大されることで、アクセス要求とオートリフレッシュコマンドとの競合が生じる確率が低減される。
また、比率Rが、0.75以上であった場合、すなわちリフレッシュの実行が平均リフレッシュ間隔tREFIで実行された場合よりも相当程度進んでおり、リフレッシュの実行に充分な余裕が生じている場合、リフレッシュ間隔設定部11によって、要求間隔tdが平均リフレッシュ間隔tREFIより長いtREFI×2に設定される。
そうすると、リフレッシュ要求部12によるオートリフレッシュコマンドの出力頻度が低減されて、アクセス要求とオートリフレッシュコマンドとの競合が生じる確率がさらに低減される。また、tREFI×2は、メモリデバイス2の最大リフレッシュ間隔tRFLより小さな値にされており、最大リフレッシュ間隔tRFLの規定が満たされるようになっている。
このようにして、リフレッシュ間隔設定部11によって、要求間隔tdが設定される結果、設定期間Ts内に、設定期間Tsを平均リフレッシュ間隔tREFIで除した商として得られるリフレッシュ換算回数Nk以上、リフレッシュ要求部12によってオートリフレッシュコマンドを出力される。また、結果的に、リフレッシュ間隔計時部13により計時された経過時間tが短いほど、オートリフレッシュコマンドを出力する時間間隔である要求間隔tdが短くなるように、要求間隔tdが設定されることとなる。
そうすると、設定期間Ts内において、メモリデバイス2で規定されているリフレッシュ回数が前倒しで実行されることになる。従って、前回のリフレッシュからの経過時間がメモリデバイス2のサイクル規定時間tcに近いタイミングでオートリフレッシュコマンドの発行とメモリアクセスとが競合してオートリフレッシュコマンドの発行が待たされた場合であっても、サイクル規定時間tcの末期に近いタイミングでは、実行しなければならないリフレッシュ回数の残りが低減されている結果、メモリデバイス2が要求するリフレッシュ条件を満足できなくなるおそれが低減される。
ところで、オートリフレッシュコマンドの発行とメモリアクセスとが競合して、調停部15によりオートリフレッシュコマンドの発行が待たされた場合、リフレッシュの実行進捗が、平均リフレッシュ間隔tREFIで実行された場合よりも遅れる場合がある。リフレッシュの実行進捗が、平均リフレッシュ間隔tREFIで実行された場合よりも遅れると、以後平均リフレッシュ間隔tREFIでリフレッシュを実行しても設定期間Ts内にリフレッシュ換算回数Nkのリフレッシュを実行することができず、従って、メモリデバイス2が要求するリフレッシュ条件を満たすことができなくなってしまう。
そこで、比率Rが−0.5以上0未満であった場合、リフレッシュ換算回数Nkのリフレッシュが、均一の時間間隔で実行された場合よりも遅れて実行されていることを示しているから、リフレッシュ間隔設定部11によって、リフレッシュの実行頻度を増大させるべく、要求間隔tdがtREFI/4に設定される。そうすると、リフレッシュの実行頻度が高められて、比率Rが増大する。
また、比率Rが−0.5未満であった場合、リフレッシュ換算回数Nkのリフレッシュが、均一の時間間隔で実行された場合よりも相当程度遅れて実行されていることを示しているから、リフレッシュ間隔設定部11によって、リフレッシュの実行頻度をさらに増大させるべく、要求間隔tdがtREFI/8に設定される。そうすると、リフレッシュの実行頻度がさらに高められて、比率Rが急速に増大する。また、tREFI/8は、最短リフレッシュ間隔tRFCより大きな値にされており、最短リフレッシュ間隔tRFCの規定が満たされるようになっている。
以上の動作が、リフレッシュ間隔計時部13によって設定期間Tsが計時される都度、すなわち設定期間Ts毎に実行される。
なお、設定期間Tsとサイクル規定時間tcとが等しい場合(N=1)の例を示したが、Ts=tc/N (N=1,2,3,・・・)であれば、設定期間Ts内にリフレッシュ換算回数Nkのリフレッシュを実行することで、自動的にメモリデバイス2のリフレッシュサイクル規定を満たすことができる。また、サイクル規定時間tcが設定期間Tsの整数倍でない場合や、サイクル規定時間tcより設定期間Tsが長い場合には、別途、サイクル規定時間tc内に規定回数のリフレッシュが実行されるように、リフレッシュの実行を制御するようにしてもよい。
次に、図1に示す調停部15による調停動作について説明する。上位システム3から出力され、トランザクションキュー17に記憶されるアクセス要求には、当該アクセス要求の緊急度を示す緊急度情報が、例えば緊急度の高い方から順に1〜4の数値で付与されている。
また、調停部15は、例えば図3に示すように、競合が生じた場合にアクセス要求とオートリフレッシュコマンドとのうちいずれを優先するかを判断するための優先順位判断閾値が設定されている。具体的には、−0.5以上0未満の比率Rと優先順位判断閾値「1」とが対応付けられ、0以上0.5未満の比率Rと優先順位判断閾値「2」とが対応付けられ、0.5以上0.75未満の比率Rと優先順位判断閾値「3」とが対応付けられ、0.75以上の比率Rと優先順位判断閾値「4」とが対応付けられて設定されている。
そして、調停部15は、アクセス要求とオートリフレッシュコマンドとの競合を検出すると、当該オートリフレッシュコマンドの緊急度情報と、リフレッシュ間隔設定部11から出力された比率Rと、当該比率Rに対応する優先順位判断閾値とに基づいて、いずれを優先するかを決定する。
具体的には、リフレッシュ間隔設定部11から出力された比率Rが−0.5以上0未満であった場合、リフレッシュの実行進捗が僅かに遅れており、リフレッシュの実行を遅らせる余裕がない状態である。そのため、調停部15は、−0.5以上0未満の優先順位判定閾値「1」以下の緊急度情報が付与された最も緊急度の高いアクセス要求のみ、オートリフレッシュコマンドより優先してメモリデバイス2へ出力する。そして、アクセス要求に付与された緊急度情報が、優先順位判定閾値「1」より大きい値の「2〜4」であった場合はオートリフレッシュコマンドを選択してメモリデバイス2へ出力する。
また、リフレッシュ間隔設定部11から出力された比率Rが0以上0.5未満であった場合、リフレッシュの実行進捗が平均リフレッシュ間隔tREFIで実行された場合と同程度か僅かに進んでいる状態であり、リフレッシュの実行を遅らせる余裕が僅かしかない状態である。そのため、調停部15は、0以上0.5未満の優先順位判定閾値「2」以下の緊急度情報が付与された比較的緊急度の高いアクセス要求のみ、オートリフレッシュコマンドより優先してメモリデバイス2へ出力する。そして、アクセス要求に付与された緊急度情報が、優先順位判定閾値「2」より大きい値であった場合はオートリフレッシュコマンドを選択してメモリデバイス2へ出力する。
また、リフレッシュ間隔設定部11から出力された比率Rが目標比率である0.5以上0.75未満であった場合、リフレッシュの実行が平均リフレッシュ間隔tREFIで実行された場合よりも進んでおり、リフレッシュの実行に余裕が生じている。そのため、調停部15は、0.5以上0.75未満の優先順位判定閾値「3」以下の緊急度情報が付与された比較的緊急度の低いアクセス要求であっても、オートリフレッシュコマンドより優先してメモリデバイス2へ出力する。そして、アクセス要求に付与された緊急度情報が、優先順位判定閾値「3」より大きく、最も緊急度の低い「4」であった場合はオートリフレッシュコマンドを選択してメモリデバイス2へ出力する。
また、リフレッシュ間隔設定部11から出力された比率Rが0.75以上であった場合、リフレッシュの実行が平均リフレッシュ間隔tREFIで実行された場合よりも相当程度進んでおり、リフレッシュの実行に充分な余裕が生じている。そのため、調停部15は、優先順位判定閾値「4」以下の緊急度情報が付与されたアクセス要求、すなわちすべてのアクセス要求を無条件でオートリフレッシュコマンドより優先してメモリデバイス2へ出力する。
また、比率Rが−0.5未満であった場合、リフレッシュの実行が平均リフレッシュ間隔tREFIで実行された場合よりも相当程度遅れており、リフレッシュの実行を遅らせる余裕がない。そのため、調停部15は、アクセス要求の緊急度情報と関わりなく、無条件でオートリフレッシュコマンドを選択してメモリデバイス2へ出力する。
このように、調停部15は、アクセス要求とオートリフレッシュコマンドとの競合が生じた場合、上位システム3から出力されたアクセス要求の緊急度が高いものほど、オートリフレッシュコマンドに対する優先度を高める。これにより、アクセス要求とオートリフレッシュコマンドとの競合が生じた場合にメモリアクセスの待ちが生じることの影響が低減される。
また、調停部15は、アクセス要求とオートリフレッシュコマンドとの競合が生じた場合、比率Rが大きくなってリフレッシュの実行についての余裕が大きくなるほどアクセス要求に対するオートリフレッシュコマンドの優先度合いが低下されるので、リフレッシュ条件の規定が満足できなくなるおそれを低減しつつ、競合によりメモリアクセスが待たされるおそれを低減することができる。
なお、調停部15は、調停を行う際に、リフレッシュ間隔計時部13により計時された経過時間tを平均リフレッシュ間隔tREFIで除した商(t/tREFI)として得られる基準回数(navg)を、リフレッシュ回数カウント部14により計数されたリフレッシュ回数nが上回る場合、すなわち比率Rが0を上回る場合、アクセス要求の緊急度情報と関わりなく、オートリフレッシュコマンドよりアクセス要求を優先させるようにしてもよい。
また、調停部15は、調停を行う際に、リフレッシュ間隔計時部13により計時された経過時間tを平均リフレッシュ間隔tREFIで除した商(t/tREFI)として得られる基準回数(navg)を、リフレッシュ回数カウント部14により計数されたリフレッシュ回数nが下回る場合、すなわち比率Rが0を下回る場合にのみ、上述のように競合したアクセス要求に付与された緊急度情報で示される緊急度が高いほど、競合したオートリフレッシュコマンドに対する当該アクセス要求の優先度合いを高めるようにしてもよい。
これによれば、基準回数(navg)をリフレッシュ回数nが上回り、すなわちリフレッシュの実行が平均リフレッシュ間隔tREFIで実行されたときより進んでおり、メモリデバイス2のリフレッシュ条件を満たせなくなるおそれが小さい場合には、競合によりアクセス要求が待たされるいわゆるペナルティの発生が低減される。
また、調停部15は、調停を行う際に、リフレッシュ間隔計時部13により計時された経過時間tが設定期間Tsの前半に該当する場合、オートリフレッシュコマンドよりアクセス要求を優先させ、経過時間tが設定期間Tsの後半に該当し、かつリフレッシュ間隔計時部13により計時された経過時間tを平均リフレッシュ間隔tREFIで除した商(t/tREFI)として得られる基準回数(navg)を、リフレッシュ回数カウント部14により計数されたリフレッシュ回数nが下回る場合、すなわち比率Rが0を下回る場合に、アクセス要求よりオートリフレッシュコマンドを優先させるようにしてもよい。
この場合、まだリフレッシュの実行に時間的な余裕がある設定期間Tsの前半は、オートリフレッシュコマンドよりアクセス要求が優先されるので、競合によりアクセス要求が待たされるいわゆるペナルティの発生が低減される。また、リフレッシュの実行に時間的な余裕がない設定期間Tsの後半は、アクセス要求よりオートリフレッシュコマンドが優先されるので、競合によりメモリデバイス2のリフレッシュ条件を満たせなくなるおそれが低減される。
(第2実施形態)
次に、本発明の第2の実施形態に係るメモリアクセス制御回路1aについて説明する。メモリアクセス制御回路1aは、メモリアクセス制御回路1と同様、図1に示される。メモリアクセス制御回路1aは、メモリアクセス制御回路1とは、リフレッシュ間隔設定部11aの動作が異なる。
次に、本発明の第2の実施形態に係るメモリアクセス制御回路1aについて説明する。メモリアクセス制御回路1aは、メモリアクセス制御回路1と同様、図1に示される。メモリアクセス制御回路1aは、メモリアクセス制御回路1とは、リフレッシュ間隔設定部11aの動作が異なる。
リフレッシュ間隔設定部11aは、リフレッシュ換算回数Nkとリフレッシュ回数カウント部14により計数されたリフレッシュ回数nとの差が、設定期間Tsからリフレッシュ間隔計時部13により計時された経過時間tを差し引いた差分を、最大リフレッシュ間隔tRFLで除した商以下になるまで、要求間隔tdを最短リフレッシュ間隔tRFCのまま維持する。
その他の構成はメモリアクセス制御回路1と同様であるのでその説明を省略する。以下、第2の実施形態に係るメモリアクセス制御回路1aの動作について説明する。図4は、図1に示すメモリアクセス制御回路1aの動作の一例を示す説明図である。図4においては、例えば設定期間Tsがサイクル規定時間tc(64msec)に等しい時間に設定されており、リフレッシュ換算回数Nkは、例えば8192回となる。
図4において、グラフG1は、平均リフレッシュ間隔tREFIでリフレッシュを繰り返した場合における、経過時間tと、経過時間tの間に実行されるリフレッシュ回数との関係を示している。グラフG1に示すように、メモリアクセス要求との競合によってリフレッシュが待たされることなく平均リフレッシュ間隔tREFIでリフレッシュが繰り返されれば、設定期間Ts(64msec)が経過したタイミングでリフレッシュ換算回数Nk(8192回)回のリフレッシュが実行されることとなり、メモリデバイス2のリフレッシュ条件が満たされる。
図4において、グラフG3は、メモリアクセス制御回路1aによってメモリデバイス2のリフレッシュが実行される場合の経過時間tと、経過時間tの間に実行されるリフレッシュ回数nとの関係を示している。
まず、リフレッシュ間隔計時部13によって、経過時間tの計時が開始される。そして、リフレッシュ間隔設定部11aによって、例えば要求間隔tdが最短リフレッシュ間隔tRFCに設定され、すなわち可能な範囲で最大の頻度でメモリデバイス2のリフレッシュが実行される。
そして、リフレッシュ間隔設定部11aによって、リフレッシュ換算回数Nk、リフレッシュ回数カウント部14により計数されたリフレッシュ回数n、設定期間Ts、リフレッシュ間隔計時部13により計時された経過時間t、及び最大リフレッシュ間隔tRFLに基づいて、下記の式(2)の条件が満たされるまで、要求間隔tdが最短リフレッシュ間隔tRFCのまま維持される。
(Nk−n)≦(Ts−t)/tRFL ・・・(2)
これにより、式(2)の条件が満たされるまで、最短リフレッシュ間隔tRFCで、リフレッシュ要求部12からオートリフレッシュコマンドが調停部15へ出力されて、調停部15からメモリデバイス2へオートリフレッシュコマンドが出力される。そして、メモリデバイス2でリフレッシュが実行される。
これにより、式(2)の条件が満たされるまで、最短リフレッシュ間隔tRFCで、リフレッシュ要求部12からオートリフレッシュコマンドが調停部15へ出力されて、調停部15からメモリデバイス2へオートリフレッシュコマンドが出力される。そして、メモリデバイス2でリフレッシュが実行される。
そして、経過時間tがt2,リフレッシュ回数nがn2になったとき、(Nk−n2)≦(Ts−t2)/tRFL が成立すると、リフレッシュ間隔設定部11aによって、例えば要求間隔tdが最大リフレッシュ間隔tRFLに設定され、すなわち可能な範囲で最小の頻度でメモリデバイス2のリフレッシュが実行される。
この場合、上記式(2)が成立することは、以降、最大リフレッシュ間隔tRFLでリフレッシュを繰り返しても、メモリデバイス2のリフレッシュ条件が満たされることを示している。これにより、リフレッシュ間隔計時部13により計時された経過時間tが短い設定期間Tsの初期において要求間隔tdが短縮される。
このようにして、リフレッシュ間隔設定部11aによって、要求間隔tdが設定される結果、設定期間Ts内にリフレッシュ換算回数Nk以上、リフレッシュ要求部12によってオートリフレッシュコマンドが出力される。また、設定期間Ts内において、メモリデバイス2で規定されているリフレッシュ回数が前倒しで実行されることになる。従って、前回のリフレッシュからの経過時間がメモリデバイス2のサイクル規定時間tcに近いタイミングでオートリフレッシュコマンドの発行とメモリアクセスとが競合してオートリフレッシュコマンドの発行が待たされた場合であっても、サイクル規定時間tcの末期に近いタイミングでは、実行しなければならないリフレッシュ回数の残りが低減されている結果、メモリデバイス2が要求するリフレッシュ条件を満足できなくなるおそれが低減される。
1,1a メモリアクセス制御回路
2 メモリデバイス
3 上位システム
11,11a リフレッシュ間隔設定部
12 リフレッシュ要求部
13 リフレッシュ間隔計時部
14 リフレッシュ回数カウント部
15 調停部
16 ホストI/F
17 トランザクションキュー
Nk リフレッシュ換算回数
R 比率
n リフレッシュ回数
t 経過時間
tREFI 平均リフレッシュ間隔
tRFC 最短リフレッシュ間隔
tRFL 最大リフレッシュ間隔
tc サイクル規定時間
td 要求間隔
tr リフレッシュ経過時間
2 メモリデバイス
3 上位システム
11,11a リフレッシュ間隔設定部
12 リフレッシュ要求部
13 リフレッシュ間隔計時部
14 リフレッシュ回数カウント部
15 調停部
16 ホストI/F
17 トランザクションキュー
Nk リフレッシュ換算回数
R 比率
n リフレッシュ回数
t 経過時間
tREFI 平均リフレッシュ間隔
tRFC 最短リフレッシュ間隔
tRFL 最大リフレッシュ間隔
tc サイクル規定時間
td 要求間隔
tr リフレッシュ経過時間
Claims (13)
- 所定のサイクル規定時間内に実行すべきリフレッシュ規定回数としてリフレッシュサイクルが規定されたDRAMへ、リフレッシュの実行を要求するリフレッシュ要求を行うリフレッシュ要求部と、
予め設定された設定期間毎に、経過時間の計時を行う計時部と、
前記サイクル規定時間を前記リフレッシュ規定回数で除した商として得られる平均リフレッシュ間隔で前記設定期間を除した商として得られるリフレッシュ換算回数以上の回数、前記設定期間内に、前記リフレッシュ要求部によって前記リフレッシュ要求を行わせると共に、前記計時部により計時された経過時間が短いほど当該リフレッシュ要求を実行する時間間隔である要求間隔が短くなるように、当該要求間隔を設定するリフレッシュ間隔設定部と、
前記DRAMへのアクセス要求と、前記リフレッシュ要求部のリフレッシュ要求とが競合した場合、当該アクセス要求と当該リフレッシュ要求とを調停する調停部と
を備えることを特徴とするメモリアクセス制御回路。 - 前記サイクル規定時間は、前記設定期間の整数倍であること
を特徴とする請求項1記載のメモリアクセス制御回路。 - 前記設定期間毎に、前記リフレッシュ要求部から出力されたリフレッシュ要求指示の回数を計数するリフレッシュ回数カウント部をさらに備え、
前記リフレッシュ間隔設定部は、
前記計時部により計時された経過時間を前記平均リフレッシュ間隔で除した商として得られる基準回数を、前記リフレッシュ回数カウント部により計数された回数が下回った場合、前記要求間隔を短縮すること
を特徴とする請求項1又は2記載のメモリアクセス制御回路。 - 前記リフレッシュ間隔設定部は、
前記リフレッシュ換算回数から前記リフレッシュ回数カウント部により計数された回数を減じた差分に対する、当該回数から、前記計時部により計時された経過時間を前記平均リフレッシュ間隔で除した商として得られる基準回数を減じた差分の比率が、0より大きく1に満たない範囲で予め設定された目標比率を下回る場合、前記要求間隔を短縮させ、当該比率が、前記目標比率を上回る場合、前記要求間隔を増大させること
を特徴とする請求項1〜3のいずれか1項に記載のメモリアクセス制御回路。 - 前記リフレッシュ間隔設定部は、
前記計時部により計時された経過時間がtであるタイミングにおいて、前記設定期間がTs、前記平均リフレッシュ間隔がtREFI、前記リフレッシュ回数カウント部により計数された回数がnであるとき下記の式(1)に基づき得られる比率Rが、前記目標比率を下回る場合、前記要求間隔を短縮させ、当該比率Rが、前記目標比率を上回る場合、前記要求間隔を増大させること
を特徴とする請求項4記載のメモリアクセス制御回路。
R=(n−t/tREFI)/{(Ts/tREFI)−n} ・・・(1) - 前記リフレッシュ間隔設定部は、
前記比率が前記目標比率を下回る場合、前記要求間隔を前記平均リフレッシュ間隔より短縮させ、当該比率が前記目標比率を上回る場合、前記要求間隔を前記平均リフレッシュ間隔より増大させること
を特徴とする請求項4又は5記載のメモリアクセス制御回路。 - 前記DRAMは、
リフレッシュ間隔として許容できる最大限の時間である最大リフレッシュ間隔と、リフレッシュを実行後、再びリフレッシュを実行可能となるまでの最短時間である最短リフレッシュ間隔とが規定されており、
前記リフレッシュ間隔設定部は、
前記比率が前記目標比率を下回る場合において、前記比率と前記目標比率との差が大きくなるほど前記要求間隔が前記最短リフレッシュ間隔を下回らない範囲で小さくなるように当該要求間隔を短縮させ、
前記比率が前記目標比率を上回る場合において、前記比率と前記目標比率との差が大きくなるほど前記要求間隔が前記最大リフレッシュ間隔を上回らない範囲で大きくなるように当該要求間隔を増大させること
を特徴とする請求項4〜6のいずれか1項に記載のメモリアクセス制御回路。 - 前記調停部は、
前記調停において、前記比率が大きくなるほど、前記競合したアクセス要求に対する前記競合したリフレッシュ要求の優先度合いを低下させること
を特徴とする請求項4〜7のいずれか1項に記載のメモリアクセス制御回路。 - 前記調停部は、
前記調停を行う際に、前記計時部により計時された経過時間を前記平均リフレッシュ間隔で除した商として得られる基準回数を、前記リフレッシュ回数カウント部により計数された回数が上回る場合、前記リフレッシュ要求より前記アクセス要求を優先させること
を特徴とする請求項1〜8のいずれか1項に記載のメモリアクセス制御回路。 - 前記DRAMへのアクセス要求には、緊急度を示す緊急度情報が付与されており、
前記調停部は、
前記調停を行う際に、前記基準回数を、前記リフレッシュ回数カウント部により計数された回数が下回る場合、前記競合したアクセス要求に付与された緊急度情報で示される緊急度が高いほど、前記競合したリフレッシュ要求に対する当該アクセス要求の優先度合いを高めること
を特徴とする請求項9記載のメモリアクセス制御回路。 - 前記調停部は、
前記調停を行う際に、前記計時部により計時された経過時間が前記設定期間の前半に該当する場合、前記リフレッシュ要求より前記アクセス要求を優先させ、前記計時部により計時された経過時間が前記設定期間の後半に該当し、かつ前記計時部により計時された経過時間を前記平均リフレッシュ間隔で除した商として得られる基準回数を、前記リフレッシュ回数カウント部により計数された回数が下回った場合、前記アクセス要求より前記リフレッシュ要求を優先させること
を特徴とする請求項1〜7のいずれか1項に記載のメモリアクセス制御回路。 - 前記設定期間毎に、前記リフレッシュ要求部から出力されたリフレッシュ要求指示の回数を計数するリフレッシュ回数カウント部をさらに備え、
前記DRAMは、
リフレッシュ間隔として許容できる最大限の時間である最大リフレッシュ間隔と、リフレッシュを実行後、再びリフレッシュを実行可能となるまでの最短時間である最短リフレッシュ間隔とが規定されており、
前記リフレッシュ間隔設定部は、
前記リフレッシュ換算回数と前記リフレッシュ回数カウント部により計数された回数との差が、前記設定期間から前記計時部により計時された経過時間を差し引いた差分を、前記最大リフレッシュ間隔で除した商以下になるまで、前記要求間隔として前記最短リフレッシュ間隔を設定したまま維持すること
を特徴とする請求項1又は2に記載のメモリアクセス制御回路。 - 前記DRAMは、DDR2−SDRAMであること
を特徴とする請求項1〜12のいずれか1項に記載のメモリアクセス制御回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007262511A JP2009093740A (ja) | 2007-10-05 | 2007-10-05 | メモリアクセス制御回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007262511A JP2009093740A (ja) | 2007-10-05 | 2007-10-05 | メモリアクセス制御回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009093740A true JP2009093740A (ja) | 2009-04-30 |
Family
ID=40665569
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007262511A Pending JP2009093740A (ja) | 2007-10-05 | 2007-10-05 | メモリアクセス制御回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009093740A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113711191A (zh) * | 2019-05-16 | 2021-11-26 | 欧姆龙株式会社 | 信息处理装置 |
-
2007
- 2007-10-05 JP JP2007262511A patent/JP2009093740A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113711191A (zh) * | 2019-05-16 | 2021-11-26 | 欧姆龙株式会社 | 信息处理装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4786209B2 (ja) | メモリアクセス装置 | |
US8549199B2 (en) | Data processing apparatus and a method for setting priority levels for transactions | |
JP2005258867A (ja) | リソース管理装置 | |
WO2007132424A2 (en) | Multi-processing system and a method of executing a plurality of data processing tasks | |
WO2023226497A1 (zh) | 总线仲裁方法和装置、计算机可读存储介质及主控芯片 | |
CN112382321B (zh) | 动态随机存取存储器的刷新方法及内存控制器、电子装置 | |
US7606957B2 (en) | Bus system including a bus arbiter for arbitrating access requests | |
CN110556139B (zh) | 用以控制存储器的电路及相关的方法 | |
JP5106630B2 (ja) | バス調停装置 | |
JP2009093740A (ja) | メモリアクセス制御回路 | |
US8856465B2 (en) | Memory control apparatus and memory control method for controlling the priority of memory accesses | |
JP2010211864A (ja) | メモリ制御装置 | |
JP2006215621A (ja) | Dma制御装置 | |
JP2011034214A (ja) | メモリ制御装置 | |
JP3675349B2 (ja) | アクセス制御方法およびアクセス制御回路 | |
JP2020170315A (ja) | アクセス管理装置 | |
JPH06236683A (ja) | メモリリフレッシュ制御回路 | |
TW201721447A (zh) | 電腦資源控制器以及控制方法 | |
JP2005107648A (ja) | メモリ制御装置 | |
JPH08129883A (ja) | D−ramのリフレッシュ制御方式 | |
JP3982537B2 (ja) | アクセス制御方法およびアクセス制御回路 | |
KR102204459B1 (ko) | 메모리 컨트롤러 및 그 동작 방법 | |
JP2006331008A (ja) | メモリインタフェース | |
JP2004055084A (ja) | メモリ制御回路 | |
JP4689965B2 (ja) | メモリ制御回路およびメモリ制御方法 |