(57)【要約】【課題】データ転送の効率を向上させるメモリ制御装置を提供する。【解決手段】リフレッシュ制御部106Aは、DRAM105のリフレッシュが必要な周期でリフレッシュ要求である第2要求信号を発生するパルス発生回路131と、データ転送要求のカウント値とその変動傾向に基づいて今後のデータ転送要求の回数が増加することが予測される場合にリフレッシュ要求である第1要求信号を発生する変動予測回路132と、を備える。アービトレータ103は、第2要求信号、第1要求信号、データ転送要求信号の優先順位で要求信号の調停を行う。【選択図】図１
2010211864.tif 000002
【特許請求の範囲】
【請求項１】
メモリのリフレッシュ要求を発生するリフレッシュ制御部と、
メモリとの間でデータ転送を行う複数のモジュールからのデータ転送要求を受信するとともに前記リフレッシュ制御部からのリフレッシュ要求を受信し、前記データ転送要求と前記リフレッシュ要求とを調停して前記メモリに動作要求を与えるアービトレータと、を備えるメモリ制御装置において、
前記リフレッシュ制御部は、
前記メモリのリフレッシュが必要な周期でリフレッシュ要求である第2要求信号を発生するパルス発生回路と、
前記アービトレータを介して入力される前記データ転送要求のカウント値とその変動傾向に基づいて今後のデータ転送要求の回数が増加することが予測される場合にリフレッシュ要求である第1要求信号を発生する変動予測回路と、を備え、
前記アービトレータは、前記第2要求信号、前記第1要求信号、前記データ転送要求の優先順位で要求信号の調停を行う
ことを特徴とするメモリ制御装置。
【請求項２】
請求項1に記載のメモリ制御装置において、
前記変動予測回路は、
最新のサンプリング期間における前記データ転送要求の回数の変動が1以上の増加であり、
一つ前のサンプリング期間における前記データ転送要求の回数の変動が0以下であり、
かつ、一つ前のサンプリング期間におけるデータ転送要求回数が予め設定された判定基準値以下である場合に、前記第1要求信号を発生する
ことを特徴とするメモリ制御装置。
【請求項３】
請求項1に記載のメモリ制御装置において、
前記変動予測回路は、
データ転送要求回数の変動値が−1以下であり、データ転送要求回数が減少傾向であること、かつ、変動値の絶対値が一旦増加してからその後減少に転じたこと、
最新のサンプリング期間における前記データ転送要求の回数の変動が0以下であること、
最新のサンプリング期間における前記データ転送要求の回数の変動が予め設定された判定基準値以上であること、
の条件がすべて満たされた場合に、前記第1要求信号を発生する
ことを特徴とするメモリ制御装置。
【請求項４】
請求項2または請求項3に記載のメモリ制御装置において、
前記判定基準値は、前記メモリのリフレッシュ周期内で変更可能に設定されている
ことを特徴とするメモリ制御装置。
【請求項５】
請求項2から請求項4のいずれかに記載のメモリ制御装置において、
リフレッシュ周期におけるデータ転送要求回数の最大値および最小値のどちらか一方または両方を記憶する記憶回路を備え、
前記記憶回路で記憶したデータ転送要求回数の回数情報に基づいて、
前記変動予測回路は、前記第1要求信号発生の条件の一つとして、最新のデータ転送要求回数の上限を決定する
ことを特徴とするメモリ制御装置。
【請求項６】
メモリに対するデータ転送要求とリフレッシュ要求とを調停するメモリ制御方法であって、
前記メモリのリフレッシュが必要な周期でリフレッシュ要求である第2要求信号を発生し、
前記データ転送要求のカウント値とその変動傾向に基づいて今後のデータ転送要求の回数が増加することが予測される場合にリフレッシュ要求である第1要求信号を発生し、
前記第2要求信号、前記第1要求信号、前記データ転送要求信号の優先順位で要求信号の調停を行う
ことを特徴とするメモリ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ制御装置に関する。特に、リフレッシュが必要なDRAMのリフレッシュ動作のタイミングを制御するメモリ制御装置に関する。
【背景技術】
【０００２】
近年、画像などの膨大な量のデータを随時処理する要求が高まっている。そのため、処理対象となるデータをDRAMに高速にデータ転送することが必要となってきている。
ここで、DRAMは定期的にリフレッシュ動作を行う必要がある。そして、データ転送とリフレッシュタイミングとが重なる場合は、リフレッシュを優先し、データ転送は保留するようにしている。
しかし、このようなデータ転送の保留は、データ転送効率を低下させ、ひいては、処理系全体の処理速度の低下を招いてしまう。その為、リフレッシュ動作とデータ転送との重なりを少なくして、DRAMへのデータ転送効率を向上させるようにメモリ動作を制御する必要性が高まってきている。
【０００３】
DRAMへのデータ転送効率を向上させるようにしたメモリ制御装置が特許文献1に開示されている。
図9は、この特許文献1のメモリ制御装置の構成を示す図である。
画像を処理するリアルタイム・プロセシング・ユニット（以下、「RPU」）5は、画像処理機能部として単一画素処理部51と、画素補間部52と、画像圧縮部53と、を備えている。
単一画素処理部51は、画像を画素単位で処理するものである。例えば、シェーディング補正などを行う。画素補間部52は、画像の各画素に欠落している色成分の値を周辺画素の情報に基づいて補間する色補間処理を行う。画像圧縮部53は、画像を圧縮して画像データ量を削減する。
【０００４】
RPU 5は、メモリ・インターフェイス・ユニット（以下、「MIU」）6を介してバス20に接続されている。また、バス20にはDRAM4も接続されている。そして、メモリ制御装置となるMIU6を介して、RPU5とDRAM4との間で画像データの転送が行われる。
【０００５】
MIU 6は、アービトレータ61と、制御信号送信部62と、リフレッシュ制御部63と、を備える。
ここで、RPU 5は、DRAM 4へのデータ転送要求をアービトレータ61に出力する。
また、リフレッシュ制御部63は、DRAM4のリフレッシュを要求するリフレッシュ要求信号をアービトレータ61に発信する。そして、アービトレータ61は、RPU 5からのDRAM 4に係るデータ転送の要求と、リフレッシュ制御部63から発信されるリフレッシュ要求とを調停する。
調停については図11のフローチャートを参照して後述する。
【０００６】
制御信号送信部62は、DRAM 4の制御信号（RAS、CAS、WEなど）を生成し、DRAM 4の制御部41に発信する。制御部41は、このように入力される制御信号に基づいてDRAM 4の動作を制御する。
【０００７】
リフレッシュ制御部63は、所定の発生周期で基準パルスを発生するパルス発生部64を備え、この基準パルスを基準信号として2種類のリフレッシュ要求信号を発信する。
第1のリフレッシュ要求信号（第1要求信号）は、緊急度の比較的低い要求信号として機能する。
第2のリフレッシュ要求信号（第2要求信号）は、緊急度の比較的高い要求信号として機能する。
換言すれば、第１要求信号はリフレッシュを実行してもよいタイミングを示し、第２要求信号はリフレッシュを必ず実行しなくてはならないタイミングを示すことになる。
第2要求信号は、必ず発信されるものではなく、第1要求信号に基づいてリフレッシュが実行されなかった場合にのみ、発信されるようになっている。
【０００８】
図10は、基準パルスの発生タイミングと、2種類のリフレッシュ要求信号の発信タイミングと、の関係を示すタイミングチャートである。
基準パルスの発生タイミングは、リフレッシュ周期に相当する。
基準パルスは、所定の発生周期Taで発生する。そして、ある基準パルスの発生から所定の期間Tb（＜Ta）が経過したタイミングで、第1のリフレッシュ要求信号（第1要求信号）が発信される。そしてさらに、次の基準パルスの発生と同一のタイミングで、第2のリフレッシュ要求信号（第2要求信号）が発信される。すなわち、従来技術においては、第1要求信号の発生タイミングT1から第2要求信号の発生されるタイミングT2までの期間Tdのいずれかにおいて、DRAM 4へのリフレッシュが指示されることになる。
【０００９】
なお、これらの期間Ta，Tbは、リフレッシュ制御部63のレジスタなどに予め記憶されている。
【００１０】
RPU 5の単一画素処理部51、画素補間部52および画像圧縮部53は、それぞれデータ転送部7a〜7eを備えている。
データ転送部7a〜7eは、データ転送に用いるバッファメモリとなるFIFO 8a〜8eを備え、これらFIFO8a-8eに格納されたデータ量に基づいてデータ転送を要求する転送要求信号をアービトレータ61に発信する。
【００１１】
図11は、アービトレータ61及び制御信号送信部62によってなされる動作フローを示す図である。
ここで、アービトレータ61においては、第2要求信号、転送要求信号、第1要求信号の順で要求信号を判断し、この順を優先順位として実行すべき要求信号を決定する。
まず、アービトレータ61に第2要求信号が入力されている場合には（S1：YES）、転送要求信号の有無に係わらず、リフレッシュが実行される（S4）。すなわち、DRAM 4のリフレッシュを実行すべく、制御信号送信部62からリフレッシュ指示信号がDRAM 4に発信される（ステップS4）。第2要求信号が入力されていない場合は（S1：NO）、転送要求信号の有無を判断し（S2）、転送要求があれば（S2：YES）、転送要求信号に係るデータ転送が制御信号送信部62から指示される（S7）。
また、第2要求信号も転送要求信号も入力されていない場合（S1：NO、S2：NO）、第1要求信号が入力されていれば（S3：YES）、リフレッシュを実行する（S4）。
【００１２】
従来技術においては、第1要求信号の発生タイミングの時点T1から第2要求信号の発生タイミングの時点T2までの期間Td（＝Ta−Tb）のいずれかにおいて、リフレッシュが指示される。
つまり、一律にリフレッシュの緊急度の高い第2要求信号の発生タイミング（基準パルスの発生タイミング）でリフレッシュを指示するわけではなく、この第2要求信号の発生タイミングよりも前にリフレッシュを指示ができるように、ある程度の幅を持った期間（以下、「余裕期間」という。）Tdを設けている。
これにより、データ転送に利用するバス20の混雑度に応じてリフレッシュの実行がその猶予期間Td内で調整される。
バス20の混雑度が比較的低い状態のうちにリフレッシュを実行することによってリフレッシュに伴うデータ転送効率の低下を防ぎ、その結果、データ転送効率を向上できる。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開2007−257774号公報
【発明の概要】
【発明が解決しようとする課題】
【００１４】
上記従来技術では、アービトレータ61における信号処理の優先順位の関係から、第1要求信号が入力されていたとしても、転送要求信号が入力されていれば、転送要求信号の有無が優先的に判断され、転送要求信号に基づく処理が実行されることとなる。
すなわち、データ転送が実行され、第1要求信号によるリフレッシュは実行されないこととなる。
【００１５】
ここで、データ転送要求の存在によって第1要求信号によるリフレッシュ動作が飛ばされた後、第2要求信号がアービトレータ61に入力される場合があり得る。すなわち、第1要求信号によるリフレッシュ動作は飛ばされているため、次の基準パルスの発生と同一のタイミングで、第2リフレッシュ要求信号（第2要求信号）が発信されることとなる。
アービトレータ61に第2要求信号が入力されると、DRAM 4のリフレッシュ緊急度が高い状態となる。すると、転送要求信号の発信状態に係わらずリフレッシュを実行することになる。
【００１６】
そして、第1要求信号によるリフレッシュをデータ転送要求信号の存在によって飛ばしたあと、前記余裕期間Tdの間でさらにデータ転送要求の回数が増加する場合もありうるが、このような場合にはデータ転送の要求が多いところで第2要求信号が競合してしまう。
この状態でリフレッシュが実行されると、リフレッシュとデータ転送との重なりが増え、データ転送の効率が著しく低下してしまうという問題が発生する。
【００１７】
近年、画像などの膨大な量のデータを随時処理する事が必要である分野においては、その処理対象となるデータを記憶するDRAMに対してデータ転送を高速に行うことが要求されている。
また、画像処理を行うシステムにおいては、DRAMへのデータ転送要求回数は常に一定ではなく、処理対象となるデータをDRAMから取り込む期間においてはデータ転送要求の回数は増加し、処理を実行する期間においてはデータ転送要求の回数は減少する傾向がある。
しかし、従来のメモリ制御装置では、リフレッシュとデータ転送との重なりが増えてデータ転送の効率が著しく低下するという事態が頻発する恐れがあり、データ転送の高速化の要求には到底応じられないという問題がある。
【課題を解決するための手段】
【００１８】
本発明のメモリ制御装置は、メモリのリフレッシュ要求を発生するリフレッシュ制御部と、メモリとの間でデータ転送を行う複数のモジュールからのデータ転送要求を受信するとともに前記リフレッシュ制御部からのリフレッシュ要求を受信し、前記データ転送要求と前記リフレッシュ要求とを調停して前記メモリに動作要求を与えるアービトレータと、を備えるメモリ制御装置において、前記リフレッシュ制御部は、前記メモリのリフレッシュが必要な周期でリフレッシュ要求である第2要求信号を発生するパルス発生回路と、前記アービトレータを介して入力される前記データ転送要求のカウント値とその変動傾向に基づいて今後のデータ転送要求の回数が増加することが予測される場合にリフレッシュ要求である第1要求信号を発生する変動予測回路と、を備え、前記アービトレータは、前記第2要求信号、前記第1要求信号、前記データ転送要求信号の優先順位で要求信号の調停を行うことを特徴とする。
【００１９】
本発明のメモリ制御方法は、メモリに対するデータ転送要求とリフレッシュ要求とを調停するメモリ制御方法であって、前記メモリのリフレッシュが必要な周期でリフレッシュ要求である第2要求信号を発生し、前記データ転送要求のカウント値とその変動傾向に基づいて今後のデータ転送要求の回数が増加することが予測される場合にリフレッシュ要求である第1要求信号を発生し、前記第2要求信号、前記第1要求信号、前記データ転送要求信号の優先順位で要求信号の調停を行うことを特徴とする。
【発明の効果】
【００２０】
DRAM等のリフレッシュが必要なメモリのリフレッシュ制御回路において、一定期間におけるデータ転送要求回数とその変化から、今後のデータ転送要求回数の増加を予測し、データ転送要求回数の増加が見込まれる場合は、リフレッシュ要求を発生しリフレッシュを実行させる。
データ転送要求回数が増加する前にリフレッシュを実行し、リフレッシュとデータ転送の重なりを少なくすることにより、リフレッシュに伴うデータ転送効率の低下を防ぎ、データ転送効率を向上できる。
【図面の簡単な説明】
【００２１】
【図１】第1実施形態の構成を示す図
【図２】第1実施形態の動作手順を示すフローチャート。
【図３】第1実施形態の動作例を説明するための図。
【図４】第1実施形態の動作例を説明するための図。
【図５】第1実施形態の効果を説明するための図。
【図６】第2実施形態の構成を示す図。
【図７】第2実施形態の動作手順を示すフローチャート。
【図８】第2実施形態の動作例を説明するための図。
【図９】従来のメモリ制御装置の構成を示す図。
【図１０】従来のメモリ制御装置において信号発生タイミングを示すタイミングチャート。
【図１１】従来のメモリ制御装置における動作手順を示すフローチャート。
【発明を実施するための形態】
【００２２】
以下、本発明の実施の形態を図示するとともに図中の各要素に付した符号を参照して説明する。
（第1実施形態）
図1は、本発明のDRAM制御装置（メモリ制御装置）に係る第1実施形態の構成を示す図である。
アービトレータ103には、CPUコア101からのデータ転送要求信号1と、周辺マクロ102からのデータ転送要求信号2と、リフレッシュ制御部106Aからのリフレッシュ要求信号と、が入力される。
アービトレータ103は、リフレッシュ要求信号が入力されている場合は、リフレッシュ要求を制御信号送信部104に出力する。
また、アービトレータ103は、リフレッシュ要求信号が入力されておらず、かつ、データ転送要求信号1、2が入力されている場合には、データ転送要求を制御信号送信部104に出力する。
また、アービトレータ103にはCPUコア101からのデータ転送要求信号1と周辺マクロ102からのデータ転送要求信号2とが入力されているところ、これらデータ転送要求信号1およびデータ転送要求信号2をそのままデータ転送要求信号3としてリフレッシュ制御部106Aに出力する。
【００２３】
リフレッシュ制御部106Aには、アービトレータ103からデータ転送要求信号3が入力されている。そして、リフレッシュ制御部106Aは、一定期間におけるデータ転送要求の回数とその変化とに基づいて、今後のデータ転送要求の回数を予測する。
データ転送要求の回数が増加する見込みである場合は、リフレッシュ制御部106Aは、アービトレータ103にリフレッシュ要求信号を出力する。
【００２４】
制御信号送信部104は、アービトレータ103からの要求信号を入力とし、DRAM 105に対して制御信号を出力する。
【００２５】
リフレッシュ制御部106Aは以下に示す回路にて構成される。
リフレッシュ要求回路133は、第2要求信号と第１要求信号とを受けて、アービトレータ103にリフレッシュ要求を行う。
ここで、第2要求信号は、パルス発生回路131で生成され、DRAM 105のリフレッシュ周期で発生する信号である。
パルス発生回路131は、内部にカウンターを持ち、DRAM 105のリフレッシュが必要な周期にてリフレッシュ要求回路133に対してリフレッシュ要求である第2要求信号を発生する。
一方、第1要求信号は、データ転送要求の回数が増加する見込みである場合に変動予測回路132からリフレッシュ要求として発生する信号である。
ただし、リフレッシュ要求回路133はパルス発生回路131および変動予測回路132から一定期間中に複数のリフレッシュ要求を受けた場合は2回目以降のリフレッシュ要求は無視する。
【００２６】
変動予測回路132が一定期間におけるデータ転送要求回数とその変化から、今後のデータ転送要求の回数の増加を予測するための構成および動作について説明する。
【００２７】
転送要求回数カウント回路121には、アービトレータ103からのデータ転送要求信号3が入力される。
転送要求回数カウント回路121には、DRAM 105が必要とするリフレッシュ周期を任意の値で複数に均等分割した期間であるサンプリング期間が設定されている。そして、転送要求回数カウント回路121は、前記サンプリング期間内のデータ転送要求の回数をカウントし、その結果をサンプリング期間毎に転送要求回数記憶回路122および第1変動算出回路123Aに出力する。
【００２８】
転送要求回数記憶回路122は、転送要求回数カウント回路121にてカウントされた転送要求回数を記憶していく。
また、転送要求回数記憶回路122には最新の転送要求回数が順々に入力されるところ、転送要求回数記憶回路122は、入力される最新の転送要求回数に対して一つ前のサンプリング期間における転送要求回数を第1変動算出回路123Aおよび絶対値判定回路126へ出力する。
【００２９】
第1変動算出回路123Aには、転送要求回数カウント回路121にてカウントされた最新の転送要求回数と、転送要求回数記憶回路122から与えられる一つ前のサンプリング期間における転送要求回数と、が入力されている。そして、第1変動算出回路123Aは、一つ前のサンプリング期間における転送要求回数から最新の転送要求回数を減算してデータ転送要求回数の変動値を算出する。
第1変動算出回路123Aは、このようにして算出したデータ転送要求回数の変動値を最新の変動値として第2変動算出回路124Bおよび変動予測回路132へ出力する。
【００３０】
第2変動算出回路124Bは、第1変動算出回路123Aから与えられる最新の変動値を記憶していく。
また、第2変動算出回路124Bは、一つ前のサンプリング期間におけるデータ転送要求回数の変動値を変動予測回路132へ出力する。
【００３１】
判定基準レジスタ回路125Aには、任意に設定されうる判定基準値が設定されており、判定基準レジスタ回路125Aは、前記判定基準値を絶対値判定回路126に出力する。
絶対値判定回路126には、判定基準レジスタ回路A125からの判定基準値と、転送要求回数記憶回路122から与えられる一つ前のサンプリング期間における転送要求回数と、が入力されている。絶対値判定回路126は、判定基準値と前記転送要求回数との大小判定を行い、大小判定の結果を変動予測回路132に出力する。
転送要求回数が判定基準値以下である場合は、判定結果1を出力し、転送要求回数が判定基準値を超える場合は、判定結果0を出力する。
【００３２】
変動予測回路132には、第1変動算出回路123Aから与えられる最新の変動値と、第2変動算出回路124Bから与えられる一つ前のサンプリング期間における変動値と、絶対値判定回路126から与えられる大小判定結果と、が入力される。
そして、変動予測回路132は、データ転送要求の回数の変化を予測し、データ転送要求の回数が増加する見込みである場合にリフレッシュ要求回路133に対してリフレッシュ要求である第1要求信号を出力する。
【００３３】
変動予測回路132にて第1要求信号を出力する条件は、次の3条件のすべてが満たされた場合である。
（1）第1変動算出回路123Aから与えられる最新の変動値が1以上である。
（2）第2変動算出回路124Bから与えられる一つ前のサンプリング期間における変動値が0以下である。
（3）一つ前のサンプリング期間におけるデータ転送要求回数が判定基準値以下である。
これら3条件の総てが満たされる場合、変動予測回路132は、リフレッシュ要求回路133に対してリフレッシュ要求である第1要求信号を出力する。
【００３４】
ここで、上記（1）の場合、データ転送要求回数が増加していることになる。
また、上記（2）の場合、一つ前のサンプリング期間におけるデータ転送要求回数に変化がないか、減少していることになる。
また、上記（3）の場合、一つ前のサンプリング期間におけるデータ転送要求回数が一定の回数以下であることになる。
これら3条件が満たされる場合、データ転送要求の回数が少ない状態から今後増加局面に移行しつつあることが判断できる。
そこで、変動予測回路132は、今後のデータ転送要求回数が増加すると予測し、リフレッシュ要求である第1要求信号を出力する。
【００３５】
なお、上記3条件のうち一つでも満たされない場合は、変動予測回路132は第1要求信号を出力しない。
【００３６】
ここに、アービトレータ103、リフレッシュ制御部106Aおよび制御信号送信部104により、メモリ制御装置が構成されている。
【００３７】
次に、図2を参照しつつ、第1実施形態の動作について説明する。
図2は、第1実施形態に係るDRAM制御方法の動作手順を示すフローチャートである。
まず、パルス発生回路131は、DRAM 105のリフレッシュが必要な周期にて第2要求信号を発生するところ、第2要求信号が発生した場合（S101：YES）、この第2要求信号はリフレッシュ要求回路133に出力される。
リフレッシュ要求回路133は、第2要求信号を受けてアービトレータ103にリフレッシュ要求信号を出力する。
リフレッシュ要求信号を受けると、アービトレータ103は、データ転送要求信号1、2の有無に係わらず、リフレッシュ要求を制御信号送信部104に出力する。
すると、制御信号送信部104からの制御信号によってDRAM 105にリフレッシュが指示され（S106）、DRAM105のリフレッシュが実行される。
【００３８】
パルス発生回路131から第2要求信号が発生していない状態においては（S101：NO）、変動予測回路132は、第1変動算出回路123、第2変動算出回路124および絶対値判定回路126から与えられるデータに基づいて第1要求信号の発生条件を順番に判断する。
すなわち、S102において、第1変動算出回路123にて求められる最新のデータ転送要求回数の変動値の大きさをみる。
最新のデータ転送要求回数の変動値が1以上であれば（S102：YES）、続いて、第2変動算出回路124から与えられる一つ前のデータ転送要求回数の変動値をみる。
一つ前のデータ転送要求回数の変動値が0以下であれば（S103：NO）、続いて、絶対値判定回路から与えられる大小判定結果をみる。
【００３９】
絶対値判定回路による大小判定において一つ前のサンプリング期間におけるデータ転送要求回数が判定基準値以下であると判断される場合（S104：YES）、第1要求信号を発生する3条件のすべてが満たされていることになる。
したがって、この場合、今後のデータ転送要求回数が増加すると予測し、変動予測回路132は第1要求信号を発生する（S105）。
【００４０】
この第1要求信号は、変動予測回路からリフレッシュ要求回路133に出力される。
リフレッシュ要求回路133は、第1要求信号を受けてアービトレータ103にリフレッシュ要求信号を出力する。
リフレッシュ要求信号を受けると、アービトレータ103は、データ転送要求信号1、2の有無に係わらず、リフレッシュ要求を制御信号送信部104に出力する。すると、制御信号送信部104からの制御信号によってDRAM 105にリフレッシュが指示され（S106）、DRAM105のリフレッシュが実行される。
【００４１】
第2要求信号が発生していない場合で（S101：NO）、かつ、上記S102からS104の条件を一つでも満たさない場合、リフレッシュ要求回路133には第2要求信号も第1要求信号も入力されないことになる。
この場合、リフレッシュ要求回路133からアービトレータ103にリフレッシュ要求信号が出力されない。
アービトレータ103は、リフレッシュ要求信号がない場合は、CPUコア101または周辺マクロ102からのデータ転送要求信号1、2があるか否かを判断する（S107）。そして、データ転送要求がある場合は（S107：YES）、データ転送要求を制御信号送信部104に出力し、DRAM 105にデータ転送を指示する（S108）。
【００４２】
図3および図4は、第1実施形態の動作例を説明するための図である。
ここでは、画像処理を行うシステムを例にして、データ転送要求回数の変動と第1要求信号の発生との関係を具体例で示す。
図3および図4において、縦軸はデータ転送要求回数、横軸は時間を示す。
ここで、サンプリング期間としては、DRAM 105のリフレッシュが必要な周期Taを20分割した期間とする。
また、判定基準レジスタ回路125Aに判定基準値として「5」を設定したとする。
【００４３】
図3において、転送要求回数カウント回路121の出力は、基準T0以降で、4・3・2・3・2・・・と変化する。
第1変動算出回路123Aの出力である最新の変動値は、一つ前のサンプリング期間における転送要求回数から最新の転送要求回数を減算することにより求められる。すなわち、最新の変動値は、基準T0以降で−3・−1・−1・1・・・と変化する。
【００４４】
第2変動算出回路124Bの出力は、一つ前のサンプリング期間における変動値であり、第1変動算出回路123Aの出力である最新の変動値を一つ遅延させたものに同じである。すなわち、基準T0以降で−3・−3・−1・−1・・・と変化する。
【００４５】
また、絶対値判定回路126の出力である大小判定結果は、一つ前のサンプリング期間におけるデータ転送要求回数を判定基準値（＝5）と対比して求められる。
本例では、基準T0以降で0・1・1・1・・・となる。
【００４６】
したがって、最新の変動値が1以上で、一つ前のサンプリング期間の変動値が0以下であり、一つ前のサンプリング期間におけるデータ転送要求回数が判定基準値以下である最初のタイミングは図3中のTs1で示される。
タイミングTs1において、変動予測回路132は、今後のデータ転送要求の回数が増加すると予測し、第1要求信号を生成し、リフレッシュ要求回路133に出力する。すると、DRAM 105のリフレッシュが実行される。
【００４７】
図4は、図3とは別の例を示す図である。
図4においても前記図3の場合と同様の処理を実行する。すると、最新の変動値が1以上で、一つ前のサンプリング期間の変動値が0以下であり、一つ前のサンプリング期間におけるデータ転送要求回数が判定基準値以下である最初のタイミングは図4中のTs2で示される。
したがって、タイミングTs2において、変動予測回路132は、今後のデータ転送要求の回数が増加すると予測し、第1要求信号を生成し、リフレッシュ要求回路133に出力する。すると、DRAM 105のリフレッシュが実行される。
【００４８】
このように本実施形態では、データ転送要求回数とその変化に基づいて、今後のデータ転送要求回数の変化を予測する。そして、データ転送要求の回数が増加する見込みである場合は、第1要求信号を発信し、DRAM 105のリフレッシュを実行させる。
すなわち、今後データ転送要求が増加すると見込まれる場合には、DRAM 105のリフレッシュが絶対的に必要になるタイミング（第2要求信号）を待つことなく、第1要求信号によってDRAM 105にリフレッシュを開始させる。
このように、データ転送要求の回数が増加する前にリフレッシュを実行させることにより、実際にデータ転送要求の回数が高まったところで絶対に必要なリフレッシュ動作が重なるという事態を回避することができる。
これにより、リフレッシュ動作とデータ転送要求との重なりを少なくすることができ、その結果、リフレッシュに伴うデータ転送効率の低下を防いでデータ転送効率を向上させることができる。
【００４９】
（実施例1）
次に、本発明の効果を実証する実施例1について説明する。
図5は、第1実施形態の効果を説明するための図である。
リフレッシュを実施した場合の例として、以下の条件にて従来技術と第1実施形態との比較を行う。
【００５０】
DRAMの動作スピード ：100MHz（10ns／1サイクル）
リフレッシュサイクル ：4ms
リフレッシュ回数 ：8192回
分散リフレッシュ回数 ：1024回
分散リフレッシュ周期 ：3.91us
分散リフレッシュ中の判定回数 ：16回
サンプリング期間 ：244.1ns
リフレッシュ動作時間 ：100ns
【００５１】
画像処理を行うシステムにおいて想定されるデータ転送要求回数の変動を用いて、上記の使用条件にて、データ転送要求が発生した場合にデータ転送とリフレッシュ動作とが衝突する確率を図5に示す。
各サンプリング期間は244.1nsであるので1サンプリング期間の最大アクセス回数は24.41（244.1ns／10ns）回である。
リフレッシュ動作時間100nsは、1サイクル時間10nsの10回分であるので、最大となる24.41回アクセス時の衝突回数は10回となる。
図5において7回のアクセス回数が発生した最初のサンプリング期間S1での衝突回数の期待値は、10×（7／24.41）＝2.87回となる。
第1実施形態によれば、タイミングTs1にて第1要求信号を発生するため衝突回数の期待値は、1.23回となり、従来例に対して最大で約8倍、平均で4倍の衝突確率の低減ができる。
よって、第1実施形態によれば、従来技術に対してリフレッシュとデータ転送との重なりを少なくすることができ、リフレッシュに伴うデータ転送効率の低下を防ぎ、データ転送効率を向上させることができる。
したがって、本第1実施形態の効果が実証された。
【００５２】
（第2実施形態）
次に、本発明の第2実施形態について説明する。
図6は、第2実施形態の構成を示す図である。
図6において、転送要求回数記憶回路122には最新の転送要求回数が転送要求回数カウント回路121から順々に入力されるところ、転送要求回数記憶回路122は、入力される最新の転送要求回数に対して一つ前のサンプリング期間における転送要求回数を第1変動算出回路123Aへ出力する。
なお、第1実施形態と比べて、第2実施形態は、絶対値判定回路を備えていない。
【００５３】
判定基準レジスタ回路125Aには、任意に設定されうる判定基準値が設定されており、判定基準レジスタ回路125Aは、前記判定基準値を変動予測回路232に出力する。
【００５４】
第1変動算出回路123Aは、一つ前のサンプリング期間における転送要求回数から最新の転送要求回数を減算してデータ転送要求回数の変動値を算出し、このようにして算出したデータ転送要求回数の変動値を最新の変動値として第3変動算出回路224C、傾向判定回路226および変動予測回路232へ出力する。
第3変動算出回路124Bは、第1変動算出回路123Aから入力されるデータ転送要求回数の変動値を絶対値に変換する。
そして、データ転送要求回数の変動値を絶対値に変換した値は、傾向判定回路226へ出力される。
【００５５】
傾向判定回路226には、第1変動算出回路123Aからの最新の変動値と、第3変動算出回路224Cから与えられる変動値の絶対値と、が入力されている。そして、傾向判定回路226は、データ転送要求回数の変動値およびその変動値の絶対値をモニターする。
ここで、データ転送要求回数の変動値およびその変動値の絶対値に基づいて、データ転送要求回数の変動値が−1以下であり、データ転送要求回数が減少傾向であること、かつ、変動値の絶対値が一旦増加してからその後減少に転じたこと、を、検出した場合に、傾向判定回路226は、変動予測回路232に対して傾向判定結果としてハイレベルを出力する。
【００５６】
変動予測回路232には、判定基準レジスタ回路225Bに設定された判定基準値と、第1変動算出回路123Aから与えられる最新の変動値と、傾向判定回路226から与えられる傾向判定結果と、が入力されている。
そして、変動予測回路232は、データ転送要求の回数の変化を予測し、データ転送要求の回数が増加する見込みである場合にリフレッシュ要求回路133に対してリフレッシュ要求である第１要求信号を出力する。
【００５７】
変動予測回路232が第1要求信号を出力する条件は、次の3条件のすべてが満たされる場合である。
（1）傾向判定回路226からの傾向判定結果がハイレベルである。
（2）第1変動算出回路123Aからの最新の変動値は0以下である。
（3）第1変動算出回路123Aからの最新の変動値は、判定基準レジスタ回路225Bに設定された判定基準値以上である。
これら3条件が満たされる場合、変動予測回路232は、リフレッシュ要求回路133に対してリフレッシュ要求である第1要求信号を出力する。
【００５８】
ここで、上記（1）の場合、データ転送要求の回数は減少傾向にあり、かつ、その減少度が少なくなってきていることから、データ転送要求が最も少ない局面に近づいていることになる。
また、上記（2）の場合、データ転送要求の回数は、変化がないか、減少していることになる。
また、上記（3）の場合、データ転送要求の回数の減少度は一定（判断基準値）以下であることから、大きく減少する局面から漸減曲面に入り、データ転送要求が最も少ない局面に近づいていることになる。
したがって、これら条件が成立した場合、データ転送要求の回数は最も少ない状態に近い状態であり、今後、増加すると予測できる。
そこで、変動予測回路232は、リフレッシュ要求である第1要求信号を出力する。
【００５９】
なお、上記3条件のうち一つでも満たされない場合は、変動予測回路232は第1要求信号を出力しない。
【００６０】
図7を参照しつつ、第2実施形態の動作について説明する。
図7は、第2実施形態に係るDRAM制御方法の手順を示すフローチャートである。
パルス発生回路131から第2要求信号が出力された場合は（S101：YES）、アービトレータ103はデータ転送要求信号1、2の有無に係わらずリフレッシュ要求を制御信号送信部104に出力し（S106）、DRAM105のリフレッシュを実行させる。
パルス発生回路131から第2要求信号が発生していない状態においては（S101：NO）、まず、傾向判定回路226における判定においてハイレベルが出力される条件が満たされているかを見る。
すなわち、S202において、第1変動算出回路123にて求められる最新のデータ転送要求回数の変動値の大きさをみる。
データ転送要求回数が減少状態にある、すなわち、データ転送要求回数が−1以下であるとき（S202：YES）、続いて、第3変動算出回路にて求められるデータ転送要求回数の変動値の絶対値を見る。
この絶対値が一旦増加したあと減少している場合（S203：YES）、傾向判定回路226は傾向判定結果としてハイレベルを変動予測回路232に出力する。
【００６１】
続いて、変動予測回路232は、ハイレベルを受信したうえで、さらに、第1要求信号の発生条件を満たしているかを判定する。
すなわち、第1変動算出回路123にて求められる最新のデータ転送要求回数の変動値を見て、変動値が0以下であれば（S205：YES）、続いて、この変動値を判定基準レジスタ回路225Bに設定された判定基準値と対比する。そして、前記変動値が判定基準値以上であれば（S206：YES）、第1要求信号を発生する条件を満たしていることになる。
したがって、この場合、データ転送要求回数は最も減少している状態に近い状態であり、今後、データ転送要求回数は増加すると予測し、変動予測回路232は第1要求信号を発生する（S207）。
【００６２】
この第1要求信号は、変動予測回路232からリフレッシュ要求回路133に出力される。
リフレッシュ要求回路133は、第1要求信号を受けてアービトレータ103にリフレッシュ要求信号を出力する。
リフレッシュ要求信号を受けると、アービトレータ103は、データ転送要求信号1、2の有無に係わらず、リフレッシュ要求を制御信号送信部104に出力する。すると、制御信号送信部104からの制御信号によってDRAM 105にリフレッシュが指示され（S106）、DRAM105のリフレッシュが実行される。
【００６３】
第2要求信号が発生していない場合で（S101：NO）、かつ、上記S202からS206の条件を一つでも満たさない場合、リフレッシュ要求回路133には第2要求信号も第1要求信号も入力されないことになる。
この場合、リフレッシュ要求回路133からアービトレータ103にリフレッシュ要求信号が出力されない。
アービトレータ103は、リフレッシュ要求信号がない場合は、CPUコア101または周辺マクロ102からのデータ転送要求信号1、2があるか否かを判断する（S107）。そして、データ転送要求がある場合は（S107：YES）、データ転送要求を制御信号送信部104に出力し、DRAM 105にデータ転送を指示する（S108）。
【００６４】
図8は、第2実施形態の動作例を説明するための図である。
ここでは、画像処理を行うシステムを例にして、データ転送要求回数の変動と第1要求信号の発生との関係を具体例で示す。
図3および図4において、縦軸はデータ転送要求回数、横軸は時間を示す。
サンプリング期間としては、DRAM 105のリフレッシュが必要な周期Taを20分割した期間とする。
また、判定基準レジスタ回路125Aに判定基準値として「−1」を設定したとする。
【００６５】
図8において、転送要求回数カウント回路121の出力は、基準T0以降で、9・13・16・・・18・16・13・9・6・4・3・2・・・と変化する。
第1変動算出回路123Aの出力である最新の変動値は、一つ前のサンプリング期間における転送要求回数から最新の転送要求回数を減算することにより求められる。
すなわち、最新の変動値は、基準T0以降で、3・4・3・・・−1・−2・−3・−4・−3・−2・−1・−1・・・と変化する。
【００６６】
第3変動算出回路224Cの出力は、第1変動算出回路123Aからの出力値を絶対値に変換したものである。
すなわち、基準T0以降で、3・4・3・・・1・2・3・4・3・2・1・1・・・と変化する。
【００６７】
傾向判定回路226は、第1変動算出回路123Aから与えられる変動値と第3変動算出回路224Cから与えられる変動値の絶対値とに基づいて、ハイレベルを出力する条件が満たされているか否かを判定する。
すなわち、データ転送要求回数が減少している状態で、かつ、変動値の絶対値が一旦増加したあと減少状態に変化していることを検出した場合、傾向判定回路226はハイレベルを出力する。
本例では、傾向判定結果は、基準T0以降で0・0・0・・・0・0・0・0・1・1・1・1・・・と変化する。
【００６８】
したがって、傾向判定結果がハイレベル状態であり、変動値が0以下で、且つ、変動値が判定基準レジスタ回路225Bに設定された判定基準値（＝−1）以上となる最初のタイミングは図8中のTs3で示される。
タイミングTs3において、変動予測回路232は、データ転送要求回数が最も減少している状態に近い状態であり、今後、データ転送要求回数は増加すると予測し、第1要求信号を生成し、リフレッシュ要求回路133に出力する。すると、DRAM 105のリフレッシュが実行される。
【００６９】
第1実施形態においては、最新のデータ転送要求回数が増加しているタイミングにおいて今後のデータ転送要求回数が増加すること予測し、DRAM 105のリフレッシュを実行していた。
これに対し、本第2実施形態においては、データ転送要求回数が増加する前のタイミングにおいて今後のデータ転送要求回数が増加すること予測し、DRAM 105のリフレッシュを実施することができる。
【００７０】
（変形例1）
上記第1実施形態では、絶対値判定回路126を備え、絶対値判定回路126は、判定基準レジスタ回路125Aに設定された判定基準値（例えば5回）と一つ前のサンプリング期間におけるデータ転送要求回数とを対比して、前記データ転送回数が判定基準値以下である場合に判定結果1を出力していた。
そして、変動予測回路132は、前記判定結果'1'が満たされていることを第1要求信号の発生条件の一つとしていた。
ここで、変形例1として、判定基準レジスタ回路125Aに複数の値が設定できる構成へ変更し、DRAM 105のリフレッシュ周期内の前半にあるか後半にあるかにより絶対値判定回路126に出力する判定基準値を変化させるようにしてもよい。
この事により、DRAM 105のリフレッシュが必ず必要なタイミングとなるまでの時間に応じて、第1要求信号の発生条件を変えることができる。
このように第1要求信号の発生条件を変えることにより、より最適なタイミングにてDRAMのリフレッシュを実施することができる。
なお、このような判断基準値の変更は、第2実施形態において判定基準レジスタ回路225Bに設定する判定基準値にも適用できる。
【００７１】
（変形例2）
上記第1実施形態および第2実施形態において、リフレッシュ周期におけるデータ転送要求回数の最大値および最小値のどちらか一方または両方を記憶する記憶回路を追加し、この記憶回路で記憶したデータ転送要求回数の回数情報に基づいて、第1要求信号発生の条件の一つとして、最新のデータ転送要求回数の上限を決定してもよい。
この構成により、データ転送要求の回数変化を広い時間範囲でみて、第1要求信号を発生させる条件を全体的傾向に応じて自動的に設定変更することができる。
【００７２】
例えば、前記記憶回路に記憶したデータ転送要求回数の最大値または最小値をそのまま最新のデータ転送要求回数の上限とし、これを満たした状態でさらに第1実施形態または第2実施形態で説明した条件を満たしている場合に第1要求信号を発生するとしてもよい。
あるいは、前記記憶回路に記憶したデータ転送要求回数の最大値または最小値に対して所定の値を加算または減算することによって基準値を自動的に生成してもよい。
【００７３】
また、一つ前のリフレッシュ周期におけるデータ転送要求回数の最大値および最小値を記憶してもよく、より以前のリフレッシュ周期におけるデータ転送要求回数の最大値および最小値を記憶してもよく、また、複数のリフレッシュ周期におけるデータ転送要求回数の最大値および最小値を平均した値を記憶するようにしてもよい。
【００７４】
なお、本発明は上記実施の形態に限られるものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【符号の説明】
【００７５】
101…CPUコア、102…周辺マクロ、103…アービトレータ、104…制御信号送信部、105…DRAM、106A…リフレッシュ制御部、121…転送要求回数カウント回路、122…転送要求回数記憶回路、123A…第1変動算出回路、124B…第2変動算出回路、125A…判定基準レジスタ回路、126…絶対値判定回路、131…パルス発生回路、132…変動予測回路、133…リフレッシュ要求回路、206…リフレッシュ制御部、224C…第3変動算出回路、225…判定基準レジスタ回路、226…傾向判定回路、232…変動予測回路。
【図１】
2010211864.tif 000003
【図２】
2010211864.tif 000004
【図３】
2010211864.tif 000005
【図４】
2010211864.tif 000006
【図５】
2010211864.tif 000007
【図６】
2010211864.tif 000008
【図７】
2010211864.tif 000009
【図８】
2010211864.tif 000010
【図９】
2010211864.tif 000011
【図１０】
2010211864.tif 000012
【図１１】
2010211864.tif 000013