(57)【特許請求の範囲】
【請求項１】
データを記憶するためのメモリ回路であって、
前記データを記憶するためのメモリと、
アクセス要求を前記メモリへ送出してから次にアクセス要求を前記メモリへ送出するまでの遅延時間の平均である隣接アクセス要求間の平均アクセス遅延が所定の値以上に維持されるように、隣接アクセス要求間のアクセス遅延を制御することによって、前記メモリの電力消費を制御するための制御回路と、を備え、
前記制御回路は、前記メモリへのアクセス要求の優先度を決定し、かつより低い優先度を有するアクセス要求を、より高い優先度を有するアクセス要求より長く遅延させることによって、前記所定の値以上に前記平均アクセス遅延を維持するように構成される、
メモリ回路。
【請求項２】
前記制御回路は、前記アクセス要求のレイテンシ感度に応じて前記アクセス要求の前記優先度を決定するように構成される、請求項１に記載のメモリ回路。
【請求項３】
前記アクセス要求の前記優先度は、
前記アクセス要求のタイプと、
前記アクセス要求と関連付けられた優先度レベルインジケータと、
前記アクセス要求のソースと、のうちの少なくとも１つに応じて決定される、請求項１または２に記載のメモリ回路。
【請求項４】
前記メモリ回路は、前記平均アクセス遅延を決定するための平均アクセス遅延決定回路をさらに備える、請求項１に記載のメモリ回路。
【請求項５】
前記制御回路は、前記アクセス要求のそれぞれを少なくとも２つの異なる優先度カテゴリのうちの１つに分類し、かつ前記少なくとも２つの異なる優先度カテゴリに属するアクセス要求には、それぞれアクセス遅延を設定するように構成され、より高い優先度カテゴリに属するアクセス要求は、より短く遅延される、請求項１〜４のいずれかに記載のメモリ回路。
【請求項６】
前記メモリは、隣接アクセス要求間の最小アクセス遅延を伴って設計され、前記最小アクセス遅延は、前記平均アクセス遅延より短く、
前記制御回路は、前記平均アクセス遅延が前記所定の値以上に維持されるように、前記最も高い優先度カテゴリの中の少なくともいくつかのアクセス要求に前記最小アクセス遅延を、かつそれより低い優先度カテゴリの中の複数のアクセス要求により長いアクセス遅延を割り当てるように構成される、請求項５に記載のメモリ回路。
【請求項７】
前記制御回路は、それぞれの前記優先度カテゴリの中の複数のアクセス要求に対して同一のアクセス遅延を維持し、前記より低い優先度カテゴリのそれぞれに対する閾値と比較して、かつ現在の平均アクセス遅延と比較して、前記アクセス要求の優先度にしたがって前記アクセス要求を分類するように構成され、
前記現在の平均アクセス遅延がプリセットの低値を下回る場合、少なくともいくつかのアクセス要求がより低い優先度に分類されるように前記閾値のうちの少なくとも１つが増加され、前記現在の平均アクセス遅延がプリセットの高値を上回る場合、少なくともいくつかのアクセス要求がより高い優先度に分類されるように前記閾値のうちの少なくとも１つが減少されるようにする、請求項６に記載のメモリ回路。
【請求項８】
前記アクセス要求は、前記アクセス要求に対する複数の優先度のレベルのうちの１つを示す優先度インジケータを備え、前記より低い優先度カテゴリのそれぞれに対する前記閾値は、前記複数の優先度のレベルのうちの１つである、請求項７に記載のメモリ回路。
【請求項９】
前記制御回路は、前記所定の値以上で、かつプリセットの低値とプリセットの高値との間に前記平均アクセス遅延を維持するために、前記優先度カテゴリのそれぞれの中のアクセス要求に提供される前記アクセス遅延を変化させるように構成される、請求項６に記載のメモリ回路。
【請求項１０】
前記プリセットの低値は、前記所定の値を含む、請求項７または９に記載のメモリ回路。
【請求項１１】
前記制御回路は、前記最も高い優先度カテゴリに属する前記アクセス要求の前記アクセス遅延を前記最小アクセス遅延に設定し、前記最も高い優先度カテゴリ以外の前記優先度カテゴリのそれぞれにより高いアクセス遅延を設定し、前記より高いアクセス遅延のそれぞれは最大アクセス遅延によって制限され、前記平均アクセス遅延が前記プリセット低値を下回る場合、前記最も高い優先度カテゴリ内の前記アクセス要求の前記アクセス遅延を増加させて、前記最小アクセス遅延よりも高いアクセス遅延にするように構成される、請求項９または１０に記載のメモリ回路。
【請求項１２】
前記メモリは、ダイナミックメモリを備える、請求項１〜１１のいずれかに記載のメモリ回路。
【請求項１３】
前記ダイナミックメモリは、ダイナミックランダムアクセスメモリすなわちＤＲＡＭを備え、前記ＤＲＡＭは、複数のバンクを備え、それぞれのバンクがアレイを備え、前記メモリへのアクセスは、行アドレスに応じて前記バンクのうちの１つの行を活性化させることを含む、請求項１２に記載のメモリ回路。
【請求項１４】
前記制御回路は、前記メモリの温度を検出するための温度検出回路をさらに備え、前記制御回路は、前記メモリ回路の温度がある温度を上回ったことを示す前記温度検出回路からの信号に応じて前記所定の値を増加させるように構成される、請求項１〜１３のいずれかに記載のメモリ回路。
【請求項１５】
データを処理するためのプロセッサと、
前記プロセッサによって処理される前記データを記憶するための、請求項１〜１３のいずれか１項に記載のメモリ回路と、を備える、データ処理装置。
【請求項１６】
メモリにアクセスする方法であって、
制御回路が、
前記メモリにアクセスするためのアクセス要求を受信し、
前記アクセス要求の優先度を決定し、
アクセス要求を前記メモリへ送出してから次にアクセス要求を前記メモリへ送出するまでの遅延時間の平均である隣接アクセス要求間の平均アクセス遅延が所定の値以上に維持されるように、隣接アクセス要求間のアクセス遅延を制御し、より低い優先度を有するアクセス要求を、より高い優先度を有するアクセス要求より長く遅延させることによって、前記優先度に応じて前記アクセス要求に遅延を提供する、方法。
【請求項１７】
前記方法は、前記アクセス要求の優先度を決定した後、前記アクセス要求を少なくとも２つの異なる優先度カテゴリのうちの１つに分類するさらなるステップを含み、前記アクセス遅延の大きさは、前記アクセス要求が分類される前記優先度カテゴリに応じて提供される、請求項１６に記載の方法。
【請求項１８】
前記メモリは、隣接アクセス要求間の最小アクセス遅延を伴って設計され、前記最小アクセス遅延は、前記平均アクセス遅延より短く、前記遅延を提供する前記ステップは、
前記平均アクセス遅延が前記所定の値より高く維持されるように、前記最も高い優先度カテゴリの中の少なくともいくつかのアクセス要求に前記最小アクセス遅延を、かつそれより低い優先度カテゴリの中の複数のアクセス要求により長いアクセス遅延を割り当てることを含む、請求項１７に記載の方法。
【請求項１９】
前記方法は、前記優先度カテゴリのそれぞれの中のアクセス要求に対して同一のアクセス遅延を維持し、かつ前記アクセス要求の優先度レベルおよび現在の平均アクセス遅延の両方により前記アクセス要求を分類し、前記現在の平均アクセス遅延がプリセットの低値より低い場合、より少ないアクセス要求が高い優先度に分類されるように前記優先度カテゴリ間の閾値が増加され、前記現在の平均アクセス遅延がプリセットの高値より高い場合、前記閾値が減少されるようにする、請求項１７または１８に記載の方法。
【請求項２０】
前記優先度カテゴリのそれぞれの中のアクセス要求に提供される前記アクセス遅延は、前記平均アクセス遅延を前記所定の値より高く維持するために変化させられる、請求項１７に記載の方法。
【請求項２１】
前記方法は、前記平均アクセス遅延を計算するさらなるステップを含む、請求項１６〜１９のいずれか１項に記載の方法。
【請求項２２】
前記メモリの温度を検出し、前記温度が所定の温度を超えたことに応じて前記所定の値を増加させるさらなるステップを含む、請求項１６〜２１のいずれかに記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ記憶の分野に関し、具体的には、メモリのレイテンシおよび電力消費を制御することに関する。
【背景技術】
【０００２】
ＤＲＡＭ等のメモリの大きさが増大し、それらが互いにますます緊密な関係でシステム内に実装され、時には互いに上下に積み重ねられているとき、これらのメモリの電力消費は、それらが過熱しないように制御される必要がある場合がある。
【０００３】
例えばＤＲＡＭメモリでは、ＤＲＡＭ内の列または行が活性化されるときにかなりの電力が消費される。図１は、メモリ１０の８つのバンクからなる従来のＤＲＡＭメモリバンク５の一例を示す。これらのメモリバンクは、データ記憶場所のアレイから形成され、データアクセス内の行アドレスに応じた行の活性化（activation）は、センス増幅器１２の始動、および行内のコンデンサに記憶されているデータのセンス増幅器へのディスチャージ、またはデータのセンス増幅器に書き込みとそれに続くプリチャージ段階での行内のコンデンサへの記憶のいずれかをもたらす。
【０００４】
読み込みの場合、例えば、行からのデータがセンス増幅器に記憶されると、マルチプレクサ１４への列アドレス入力に応じてデータがアクセスされてよく、同一の行内のいくつかの列がアクセスされる場合、これらのいくつかの項目のアクセスのために１つの行のみの活性化が必要である。しかしながら、データの転送は、ある程度時間がかかり、メモリの活性化速度を制限するであろう。これは、活性化時間がパケットサイズの長さ、すなわち行のデータ出力のビット数、によってどのように変化するかを表す、図１のグラフによって示される。行からの１つのみまたはごく少数のデータ項目がアクセスされる場合には、時間がかからず、異なるメモリバンクへの後続のアクセスはかなり素早く行われることができる。これらのアクセスがすべて、行活性化および後続のプリチャージを必要とするため、これは、比較的大きなメモリの電力消費の結果となる可能性があり、過熱につながるかもしれない。したがって、メモリは概して、複数の後続のアクセスまたは行活性化の間を最小アクセス時間とし、４つの行アクセスに対する最短時間ｔＦＡＷにさらなる制約をもって設計される。
【０００５】
したがって、例えば、複数のアクセス間の時間は、設計によって７．５ｎｓを超えるように制限される場合がある一方、４つのアクセスの時間は、３５ｎｓを超えるように制限される場合がある。これらの制限は、メモリの設計者によって設定されるが、例えば、メモリがスタック内に実装される場合、過熱からメモリを保護するのに十分でない場合がある。これはまた、処理装置内の他の構成要素を保護するのに十分でない場合があるため、さらなる制約がメモリのアクセスの速度、ひいてはその電力消費を制限するために適用される必要がある場合がある。
【０００６】
しかしながら、メモリへのアクセス速度を制限することは、そのレイテンシを増加させ、メモリを使用するデバイスの性能を低下させる。性能に過度の影響を与えることなく電力消費を減少させることが望ましい。
【発明の概要】
【課題を解決するための手段】
【０００７】
第１の態様から見ると、本発明は、データを記憶するためのメモリ回路であって、前記データを記憶するためのメモリと、隣接アクセス間の平均アクセス遅延が所定の値以上に維持されるように、前記メモリへのアクセスの速度を制御することによって、前記メモリの電力消費を制御するための制御回路とを備え、前記制御回路は、前記メモリへのアクセス要求の優先度を決定し、かつより高い優先度を有するアクセス要求からの少なくともいくつかのアクセスより長く、より低い優先度を有するアクセス要求からの少なくともいくつかのアクセスを遅延させることによって、前記所定の値以上に前記平均アクセス遅延を維持するように構成される、メモリ回路を提供する。
【０００８】
本発明は、電力消費を減少させるためにメモリへのアクセス間の遅延を増加させる必要がある場合があるが、これは、システムのレイテンシに悪影響を与えることを認識する。しかしながら、それはまた、いくつかのアクセス要求が遅延されないことがシステムのレイテンシに対してより重要である場合がある一方、他の場合、追加の遅延が全体の性能に与える影響はより小さい場合があることも認識する。したがって、要求される電力消費目標を達成するために、アクセス要求の優先度に応じてアクセス要求への異なる遅延を提供する。このようにして、高い優先度要求は一般に、低い優先度要求より低いレイテンシを与えられ、メモリの電力消費は、対応する性能を低下することなく減少される。
【０００９】
アクセス要求の優先度は、いくつかの方法で決定することができる。いくつかの実施形態では、前記制御回路は、前記アクセス要求のレイテンシ感度に応じて前記アクセス要求の前記優先度を決定するように構成される。
【００１０】
アクセス要求の優先度は、そのレイテンシ感度から決定されてもよい。換言すれば、アクセス要求がそのレイテンシの増加に敏感でない場合、低い優先度が与えられ、それを遅延させ、デバイスの性能に影響を与えないか、またはわずかにのみ影響を与えるかのいずれかであるように、所望のメモリの減少した電力消費を達成することができる。
【００１１】
他の実施形態では、アクセス要求の優先度は、アクセス要求のタイプ、アクセス要求と関連付けられた優先度レベルインジケータ、またはアクセス要求のソースに応じて決定されてもよい。あるいは、優先度は、場合によっては、複数のこれらのものから決定されてもよい。
【００１２】
アクセス要求のタイプは、アクセス要求のいくつかのタイプが低いレイテンシを必要とし、それらが遅延される場合、性能に影響を与えるという点で重要である場合がある。さらに、アクセス要求のソースは、レイテンシ感度に影響を与える場合がある。例えば、ソースが処理ユニットである場合、メモリへのアクセスの完了を待っている間、処理ユニットは膠着状態となる可能性がある一方、ＬＣＤコントローラ等の他のデバイスは、前倒ししてデータを取得し、遅延が、ＬＣＤコントローラが内部で動作している前倒し期間より長くない限り、システムの性能に影響を与えないであろう。
【００１３】
いくつかの実施形態では、メモリにアクセスするシステム内の異なるデバイスはそれら自体、優先度システムを操作し、それによってシステムの性能を向上させるために優先度レベルをトランザクションに割り当て、これらのトランザクションを使用する他のユニットがそれらの優先順位をつけることができるようにする場合がある。このようなシステムでは、これらの優先度レベルは、アクセス遅延をトランザクション要求に割り当てるとき、メモリコントローラによって再利用されても良い。あるいは、メモリコントローラ自体が、アクセス要求のソース、ならびにまたはアクセス要求のタイプおよび／もしくはアクセス要求がメモリに達するためにとったルート（root）に応じて優先度レベルを設定しても良い。
【００１４】
いくつかの実施形態では、前記メモリ回路は、前記平均アクセス遅延を決定するための平均アクセス遅延決定回路をさらに備える。
【００１５】
平均アクセス遅延が所定の値を下回っているかどうかを決定するために、メモリ回路は、この平均アクセス遅延を所定の時間または所定の数のアクセス要求にわたって連続的に決定する平均アクセス遅延決定回路を有することができる。一般的に、電力消費を制限する必要性は、メモリ自体の中または関連するデバイス内のいずれかの温度上昇を制限するためにあることが注目されるべきである。しかしながら、電力消費の増加と関連する温度の上昇との間に何らかのレイテンシがある。したがって、平均時間遅延が計算される期間は、かなり長くなる可能性があり、平均が所定の値を下回っていることが注目される場合、遅延への調節においてレイテンシが生じるかもしれない。
【００１６】
いくつかの実施形態では、前記制御回路は、前記アクセス要求のそれぞれを少なくとも２つの異なる優先度カテゴリのうちの１つに分類し、かつ前記少なくとも２つの異なる優先度カテゴリのそれぞれにアクセス遅延を設定するように構成され、より高い優先度カテゴリは、より低いアクセス遅延を与えられる。
【００１７】
遅延を設定するために、アクセス要求を異なる優先度カテゴリに分類し、それらが割り当てられるカテゴリにより遅延を設定するのに便利である場合がある。
【００１８】
いくつかの実施形態では、前記メモリは、隣接アクセス間の最小アクセス遅延で設計され、前記最小アクセス遅延は、前記平均アクセス遅延より低い。
【００１９】
前記制御回路は、前記平均アクセス遅延が前記所定の値以上に維持されるように、前記最も高い優先度カテゴリ内の少なくともいくつかのアクセス要求に前記最小アクセス遅延を、かつより低い優先度カテゴリ内のアクセス要求により高いアクセス遅延を提供するように構成される。
【００２０】
メモリは、隣接アクセス間で最小アクセス遅延を持つように設計される場合がある。この場合、最も高い優先度カテゴリを有するアクセス要求にこの最小アクセス遅延を提供するのが有利である場合がある。これらのアクセス要求は、レイテンシに敏感であるものであり、それらを遅延させることは、デバイスの性能に影響を与えるであろう。したがって、これらの遅延が可能な限り最低限となることが重要であり、これらのアクセスへの任意の追加の遅延が性能に影響を与えるであろう。平均アクセス遅延を上回らないために、他のより低い優先度カテゴリは、より高いアクセス遅延が提供される必要があるであろう。
【００２１】
いくつかの実施形態では、前記制御回路は、前記優先度カテゴリのそれぞれの内の要求に対して同一のアクセス遅延を維持し、かつ前記より低い優先度カテゴリのそれぞれに対する閾値と比較して、かつ現在の平均アクセス遅延と比較して、前記アクセス要求の優先度により前記アクセス要求を分類するように構成され、前記現在の平均アクセス遅延がプリセットの低値を下回る場合、少なくともいくつかのアクセス要求がより低い優先度に分類されるように前記閾値のうちの少なくとも１つが増加され、前記現在の平均アクセス遅延がプリセットの高値を上回る場合、少なくともいくつかのアクセス要求がより高い優先度で分類されるように前記閾値のうちの少なくとも１つが減少されるようにする。
【００２２】
所定の値以上に平均アクセス遅延を維持するために、これを行うことができるいくつかの方法がある。例えば、いくつかの実施形態では、優先度カテゴリのそれぞれの内の要求に対して同一のアクセス遅延が維持されるが、平均アクセス時間があまりにも低くなる場合、換言すれば、アクセスがあまりにも早く生じている場合、アクセス要求を分類する閾値を変更して、より少ないアクセス要求が高い優先度カテゴリに分類され、平均すると、より長い遅延がアクセス要求に与えられるようにできる。
【００２３】
それらはまた、システムによって調整され得る別の値である場合もある。例えば、平均アクセス遅延がある値より高くなる場合、システム内のレイテンシの増加があり、システムの性能は、この値を減少させることによって向上させることができる。このような場合には、優先度カテゴリに対する閾値は減少される可能性があり、より多くのアクセス要求がより高い優先度カテゴリに分類され、ひいては平均すると、アクセス遅延時間が減少するであろう。
【００２４】
いくつかの実施形態では、前記アクセス要求は、前記アクセス要求に対する複数の優先度レベルのうちの１つを示す優先度インジケータを備え、前記より低い優先度カテゴリのそれぞれに対する前記閾値は、前記複数の優先度レベルのうちの１つである。
【００２５】
アクセス要求が複数の優先度インジケータのうちの１つである優先度インジケータを備える実施形態では、次に、カテゴリへの閾値としてこれらの優先度レベルのうちの１つを有すること、および必要に応じて閾値を変更することは、インテリジェントな様式でアクセス要求を再分類する便利な方法である場合がある。多くの優先度レベルがある場合、閾値を異なる優先度レベルに変更することによって、わずかにレイテンシにより敏感でないアクセス要求は、最も高い優先度カテゴリから取り除かれ、また、追加的レイテンシに敏感なアクセス要求は、所望の平均アクセス遅延を維持するために必要に応じて最も高い優先度カテゴリに追加されることができる。
【００２６】
他の実施形態では、前記制御回路は、前記所定の値以上、かつプリセットの低値とプリセットの高値との間に前記平均アクセス遅延を維持するために、前記優先度カテゴリのそれぞれの内の要求に提供される前記アクセス遅延を変化させるように構成される。
【００２７】
他の実施形態では、カテゴリに分類されるアクセス要求の数を変化させるよりも、カテゴリに提供される実際の遅延が変化させられても良い。再び、プリセットの低値および高値は、電力消費が高すぎず、さらにレイテンシが過度に増加されない、望ましい動作範囲内にシステムが入るように調整されるように使用することができる。使用されるプリセットの低値は、メモリ設計による所定の平均アクセス遅延値である場合がある。あるいは、調整を必要な場合には、これとわずかに異なる場合がある。
【００２８】
いくつかの実施形態では、前記制御回路は、前記最も高い優先度カテゴリ内の前記アクセス要求の前記アクセス遅延を前記最小アクセス遅延に設定し、前記最も高い優先度カテゴリ以外の前記優先度カテゴリのそれぞれに、それぞれが最大遅延によって制限されるより高い遅延を設定し、かつ前記平均アクセス遅延が前記プリセット低値を下回ることになる場合、前記最も高い優先度カテゴリ内の前記アクセス要求のうちの少なくとも１つの前記アクセス遅延を、前記最小アクセス遅延を超えるまで増加させるように構成される。
【００２９】
最小アクセス遅延を有する最も高い優先度カテゴリを設定し、他の優先度カテゴリのそれぞれにより高い遅延を設定することが望ましい場合がある。しかしながら、ある時間に対するアクセス要求のすべてが最も高い優先度カテゴリ内に入る場合、これは、メモリにアクセスするより低い優先度カテゴリのアクセス要求がないときには、より長い遅延をより低い優先度カテゴリに提供することによる効果がないので、必要とされる平均値を達成しないであろう。したがって、遅延を設定し、必要に応じて、最も高い優先度カテゴリ内のアクセス要求のうちの少なくともいくつかには最小時間遅延より長い遅延が提供され得るとき、平均速度もまた考慮される。
【００３０】
メモリは数多くのものであってよいが、いくつかの実施形態では、それは、ダイナミックメモリを備える。
【００３１】
特に、それは、ダイナミックランダムアクセスメモリすなわちＤＲＡＭを備え、前記ＤＲＡＭは、複数のバンクを備え、それぞれのバンクは、アレイを備え、前記メモリへのアクセスは、行アドレスに応じて前記バンクのうちの１つの行を活性化させることを含む。
【００３２】
ＤＲＡＭメモリは、アクセスに応じてかなりの電力を消費するため、温度に敏感であり、アクセス速度は、制御される必要がある。
【００３３】
いくつかの実施形態では、前記メモリ制御回路は、前記メモリの温度を検出するための温度検出回路をさらに備え、前記制御回路は、前記メモリ回路の温度がある温度を上回ったことを示す前記温度制御回路からの信号に応じて前記所定の値を増加させるように構成される。
【００３４】
電力消費がメモリ回路自体の温度を制御するように制御されている場合、それは、温度を検出し、所定の温度を上回り、または下回る場合に信号を送るメモリと関連付けられた温度検出回路がある場合に有利である場合がある。このようにして、電力目標は、いかに温度が実際に変化されるかに応じて変化される可能性があり、所定の平均アクセス遅延は、所望の温度動作範囲を達成するために直接変化させられる可能性がある。
【００３５】
本発明の第２の態様は、データを処理するためのプロセッサと、前記プロセッサによって処理される前記データを記憶するための本発明の第１の態様に記載のメモリ回路とを備えるデータ処理装置を提供する。
【００３６】
本発明の第３の態様は、前記メモリにアクセスするためのアクセス要求を受信することと、前記アクセス要求の優先度を決定することと、隣接アクセス間の平均アクセス遅延が所定の値以上に維持されるように、より低い優先度を有するアクセス要求からの少なくともいくつかのアクセスを、より高い優先度を有するアクセス要求からの少なくともいくつかのアクセスより長く遅延させることによって、前記優先度に応じて前記アクセス要求に遅延を提供することとを含む、メモリにアクセスする方法を提供する。
以下、本発明は、単に例示を目的として、添付図面に示されるようにその実施形態を参照してさらに説明する。
【図面の簡単な説明】
【００３７】
【図１】従来技術によるダイナミックランダムアクセスメモリを示す。
【図２ａ】本発明の実施形態によるデータ処理装置を示す。
【図２ｂ】本発明の実施形態によるデータ処理装置を示す。
【図３】本発明の一実施形態によるメモリコントローラを示す。
【図４】本発明の一実施形態による優先度閾値を変更することによって調整されるメモリコントローラの機能的配置を概略的に示す。
【図５】優先度閾値がいかにアクセス要求数によって変化される場合があるかを概略的に示す。
【図６】遅延時間をリセットすることによって調整されるメモリコントローラを概略的に示す。
【図７】本発明の一実施形態によるフロー図を示す。
【発明を実施するための形態】
【００３８】
図２ａは、本発明の一実施形態によるデータ処理装置２０を示す。データ処理装置２０は、データを処理するためのいくつかのデバイスを有する。それは、中央処理ユニットまたはＣＰＵ２２、グラフィック処理ユニットＧＰＵ２４、およびＬＣＤコントローラ２６を有する。これは、単なる一例であり、いくつかの異なるデバイスを有する処理装置が本発明の範囲内に含まれ得ることは当業者には明らかであろう。
【００３９】
これらのデバイスはすべて、メモリコントローラ４０を介してメモリ３０にアクセスする。これらのデバイスから受信されたトランザクションの優先度を決定するデータ処理装置２０内の優先度決定部５０もある。優先度決定部５０は、メモリコントローラ４０と関連付けられる場合があり、あるいは、それから独立して、処理装置の一部である場合がある。後者の場合では、それは一般に、処理装置の性能を向上させるために使用されるであろう。
【００４０】
優先度決定部５０は、この例では、０〜１５である優先度レベルを受信したアクセス要求のそれぞれに割り当て、次いでこれらをメモリコントローラ４０に転送する。この優先度レベルは、アクセスのタイプまたはアクセスのソースに応じて設定されてよい。例えば、ＣＰＵ２２からのアクセスは、ＧＰＵ２４またはＬＣＤコントローラ２６のいずれかからのアクセスよりレイテンシに敏感であり、他の２つのデバイスからのアクセスより高い優先度レベルを割り当てられる場合がある。１６の異なる優先度レベルがこの例では割り当てられるが、他の実施形態では、より多くの、またはより少ない優先度レベルが、異なるアクセス要求間の区別の要求される程度に応じて割り当てられ得ることが注目されるべきである。
【００４１】
それらに割り当てられる優先度レベルを有するこれらのアクセス要求は次に、これらのアクセス要求が共にメモリ３０に送られる遅延を制御するメモリコントローラ４０に送信される。特に、メモリコントローラ４０は、メモリを過度の電力で消費しないために、それぞれのアクセス要求間にメモリコントローラ４０が提供することが望ましい平均遅延を記憶する。したがって、それぞれのアクセス要求に割り当てられる遅延は、この平均がより低い優先度の要求より短い時間遅延されるより高い優先度の要求に適合するように変化する。
【００４２】
この実施形態では、メモリの温度を検出し、それが所定のレベルを上回る場合、メモリコントローラ４０に信号を送る温度検出部５５もある。この信号に応じて、メモリコントローラは、アクセス速度が減少され、電力消費が同様に減少するように、記憶された平均遅延値４２をより高い値にリセットする。他方では、メモリの温度が低値まで低下する場合、メモリがより速く動作し、より多くの電力を消費する可能性があり、信号が同様に、メモリコントローラ４０に送信され、遅延値４２を上書きし、より小さな平均遅延がメモリコントローラ４０内に記憶されることが理解される。
【００４３】
この実施形態では、温度検出部がメモリコントローラの外側に示されるが、いくつかの実施形態では、実際には図２ｂに示されるようにメモリコントローラに組み込まれる場合があることが注目されるべきである。さらに、温度検出部がここではメモリの温度を検出するものとして示されるが、他の実施形態では、他の構成要素の温度は、メモリへのアクセス要求速度を決定するのに重要である場合があり、このような場合、温度検出部は、これらの構成要素を検出し、アクセス要求遅延時間は、これらの構成要素を所望の制限内に保持するために変化されることになる。
【００４４】
図２ｂは、図２ａのものと類似のシステムを示すが、このシステムでは、温度検出部はなく、むしろこのシステムは、要求間の所定の平均遅延時間に達するように調整される。この実施形態では、所望の平均遅延は、電力コントローラ５６からの信号に応じて変更されてよい。この電力コントローラは、システムを制御し、所望のサービスの品質に応じてより低いまたはより高い性能状態になるために使用されてよい。したがって、ある期間でより少ない電力が消費されることが望ましく、装置が高い性能状態で動作していないことが容認できる場合がある。これは、限られた電荷が残る電池がデバイスを作動させるために使用されている場合であってよい。このような場合、メモリコントローラは、平均遅延時間が増加されるようにそれを変更する。これは、異なる優先度カテゴリのそれぞれに記憶される遅延時間を増加させることによって行われてよい。
【００４５】
図３は、メモリコントローラ４０の一例の機能ユニットの内側を概略的に示す。温度信号を受信する入力４１ならびに平均遅延の下限および上限を記憶する記憶ユニット４２がある。温度が所定の制限温度を超えたことを温度信号が示す場合、平均遅延の遅延下限または上限は、所望の制限内に温度を戻すために調節される。
【００４６】
これらの高い平均遅延制限および低い平均遅延制限は、コンパレータ４４に出力され、コンパレータ４４は、平均遅延計算部４６によって計算されたメモリにアクセスするアクセス要求の現在の平均遅延とこれらの制限とを比較する。平均遅延計算部４６が上限より高いまたは下限より低い平均値を出力する場合、信号は、コンパレータ４４によって出力され、システムを調節または調整する。これは、アクセス要求の認識された優先度に応じてアクセス要求に現在割り当てられている遅延値のうちの１つを変更するか、またはアクセス要求が分類される閾値を変更するかのいずれかによって行うことができる。
【００４７】
したがって、この実施形態では、アクセス要求は、受信され、優先度カテゴリに分類され、かつ２つの異なる遅延のうちの１つを与えられる。したがって、アクセス要求の優先度が閾値を超えることが決定される場合、それは、より短い遅延である遅延１を与えられ、優先度が閾値を超えない場合、それは、より長い遅延である遅延２を与えられる。したがって、アクセス要求が分類される対象である閾値、または遅延１もしくは遅延２の値のいずれかを変更することは事実上、アクセスの平均遅延を変化させ、実施形態によって、これらの値のうちの任意の１つは、所望の制限内にある平均遅延を達成するために調整することができる。
【００４８】
図４は、優先度レベル内の閾値が調整される実施形態を示す。この実施形態では、アクセス要求は、受信され、それと関連付けられた優先度レベルを有しないため、メモリコントローラ４０内の優先度レベル決定部４８は、そのソースに応じて、またはおそらくそのアクセス要求のタイプに関して、アクセス要求の優先度レベルを決定し、その結果、優先度レベルを設定する。コンパレータ４９は次に、この優先度レベルが閾値優先度レベルＰ１を超えるかどうかを判定する。それが閾値優先度レベルＰ１を超える場合、最小遅延がこのアクセス要求に割り当てられ、このアクセス要求は、この遅延を伴ってメモリにアクセスする。それがこの閾値より高くない場合、より高い遅延がアクセス要求に割り当てられ、このより高い遅延を伴ってメモリにアクセスする。平均遅延計算部４６は、ある時間にわたってこれらの遅延の平均を計算し、それらが設定された上限と下限との間であるかどうかを判定する。それらがその間でない場合、この実施形態では、Ｐ１の値はリセットされる。Ｐ１は、最も高い優先度カテゴリおよびより低い優先度カテゴリ内にアクセス要求がいくつあるかを決定する閾値レベルである。したがって、この値をリセットすることは、この割合を変更し、これにより平均遅延時間を変更するであろう。
【００４９】
この点に関して、図５は、優先度レベルに対するアクセス要求の数の例を示す。図５の例では、異なるアクセス要求に割り当てられる１５の優先度レベルがあり、優先度カテゴリが優先度レベルよりかなり少ない場合でも、わずかに異なる優先度レベルを有するアクセス要求が区別される高精度のシステムを提供する。したがって、２つの優先度カテゴリを有する図４の例では、平均アクセス時間があまりにも長くなっている場合、カテゴリ間の優先度閾値レベルは、より多くのアクセス要求が高い優先度カテゴリ内に入り、平均遅延が減少されるように減少され得る。
【００５０】
閾値を移動させる影響が優先度レベルのそれぞれの内のアクセス要求の数によるであろうことが注目されるべきである。図５は、これがいかに変化される場合があるかを概略的に示す。例えば、それぞれの優先度カテゴリ内に同数のアクセス要求がある場合があり、あるいは、あまり同じではない数のアクセス要求がある場合がある。処理中、それぞれの優先度レベル内のアクセス要求の数が変化する場合があるため、平均遅延時間の変化に応じて閾値レベルを変更することができることは、システムを調整し、かつ所望の制限内でそれを動作し続ける便利な方法であることが明らかであろう。
【００５１】
図６は、閾値レベルを調整する代わりに、遅延が調整されるシステムを調整する代替的方法を示す。この例では、隣接アクセス間に最小アクセス遅延を必要とするメモリに加えて、４つのアクセスが少なくともある時間をかける要件もある。
【００５２】
したがって、上記のように、アクセス要求が受信され、優先度が閾値Ｐ１を超えるかどうかコンパレータ４８によって判定される。次にそれがより長い遅延でない場合、遅延２が与えられるが、遅延がより短い場合、遅延１が与えられる。この遅延１は、メモリの最小許容遅延であっても良い。次に、最後４つのアクセス要求の時間がメモリ要件を超えるかどうかが判定される。超えない場合には、このアクセス要求を続行することを許可せずに、アクセス要求の続行が許可される時点で最後の４つのアクセス要求の遅延に対する要件が満たされるまで、アクセス要求は内部で遅延される。
【００５３】
これに加えて、平均時間遅延の計算部があり、それが望ましい下限と上限との間であるかどうかこの計算部によって判定される。その間でない場合、遅延２がリセットされる場合がある。遅延２は、最大値までリセットされるのみの場合があるため、最大値に達し、かつ平均時間遅延があまりにも低い場合、遅延１が増加されるであろう。これにより、すべてのアクセス要求が一時的に高い優先度であるシステムを調整することができる。
【００５４】
図７は、本発明の一実施形態による方法を示すフロー図を極めて概略的に示す。最初に、アクセス要求が受信され、そのアクセス要求の優先度が決定される。これは、アクセス要求と関連付けられた優先度レベルからであってよく、あるいは、そのソースまたはそのタイプ等のアクセス要求の特性からであってもよい。アクセス要求の好適な遅延は、この優先度から決定され、アクセス要求はこの遅延をともなって続行する。この例では、アクセス要求の認識された優先度に応じてアクセス要求に提供され得るいくつかの記憶された遅延がある。
【００５５】
次に、アクセス要求の現在の平均遅延が、所望の動作平均遅延制限を設定する高い所定の値を超えるか、または低い所定の値未満であるかが判定される。そう判定される場合、アクセス要求のうちの少なくともいくつかへの遅延は、ある量だけ増加され、または減少される。これは、記憶された遅延のうちの少なくとも１つを変更することによって行われる。
【００５６】
平均遅延が所望の制限内である場合、記憶された遅延への変更は必要とされない。
【００５７】
このフロー図では、平均遅延はあらゆるアクセス要求に対して計算されるものとして示されるが、多くの実施形態では、定期的に計算され、必要に応じて調節が行われるであろうことが注目されるべきである。
【００５８】
アクセス要求のうちの少なくともいくつかの遅延を増加させるステップが、この実施形態では、異なる優先度のアクセス要求に対して記憶された遅延を増加させることによって行われることが注目されるべきである。それはまた、平均遅延があまりにも低い場合、より多くの要求により長い遅延を与えることができるように、異なる遅延を与えられる要求の数を変更することによって行うこともできる。
【００５９】
本発明の様々なさらなる態様および特徴が添付の特許請求の範囲に定義される。本発明の範囲から逸脱することなく、上述した実施形態に対して様々な修正を行うことができる。
【図１】
0005952837.tif 000002
【図２ａ】
0005952837.tif 000003
【図２ｂ】
0005952837.tif 000004
【図３】
0005952837.tif 000005
【図４】
0005952837.tif 000006
【図５】
0005952837.tif 000007
【図６】
0005952837.tif 000008
【図７】
0005952837.tif 000009