(57)【要約】【課題】  メモリトラフィックに適したクロックを発生させることにより、消費電力を低減する。【解決手段】  メモリアクセス制御装置のモニタ部３は、発生したメモリアクセス要求からメモリアクセス消費帯域を測定し、この測定結果と１つまたは段階的な複数の閾値とを比較してメモリ消費帯域のクラスを判定する。そして、判定したメモリ消費帯域のクラスに応じて、低消費電力状態に遷移するアイドル時間条件を決定する。このとき、メモリ消費帯域の大きなクラスに対応するアイドル時間条件ほど、長くなるよう決定する。決定されたアイドル時間条件の間メモリアクセスが発生しない場合、デバイスマネージャ部７は、パワーダウン要求をメモリアクセス調停部４へ発行し、メモリデバイスを低消費電力状態に遷移させるよう指示する。【選択図】    図１
2006343946.tif 000002
【特許請求の範囲】
【請求項１】
メモリアクセスの要求を調停するメモリアクセス調停手段を有するメモリアクセス制御装置において、
メモリデバイスを低消費電力状態に遷移させるメモリ電力モード制御手段と、
メモリアクセスの消費帯域を測定するメモリ消費帯域測定手段と、
上記メモリ消費帯域測定手段により測定したメモリアクセスの消費帯域の測定結果と、１つまたは段階的な複数の閾値とを比較して、メモリ消費帯域のクラスが複数クラスのうちいずれであるかを判定するメモリ消費帯域判定手段と、
前記メモリ消費帯域判定手段によって判定されたメモリ消費帯域のクラスに応じて、低消費電力状態に遷移するアイドル時間条件を決定するアイドル時間決定手段と、
前記アイドル時間決定手段により決定したアイドル時間条件の間メモリアクセスが発生しないときに、前記メモリ電力モード制御手段を用いて前記メモリデバイスを低消費電力状態に遷移させる自動電力低減手段と、
を有することを特徴とするメモリアクセス制御装置。
【請求項２】
前記アイドル時間決定手段は、前記アイドル時間条件を、より大きなメモリ消費帯域に対応するクラスほど長くなるよう決定する、ことを特徴とする請求項１に記載のメモリアクセス制御装置。
【請求項３】
前記アイドル時間条件を変更する電力低減条件変更手段をさらに有する、ことを特徴とする請求項１または請求項２に記載のメモリアクセス制御装置。
【請求項４】
メモリアクセスの要求を調停するメモリアクセス調停手段を有するメモリアクセス制御装置に用いられるコンピュータプログラムであって、
メモリアクセスの消費帯域を測定するステップと、
測定したメモリアクセスの消費帯域の測定結果と、１つまたは段階的な複数の閾値とを比較して、メモリ消費帯域のクラスが複数クラスのうちいずれであるかを判定するステップと、
判定されたメモリ消費帯域のクラスに応じて、低消費電力状態に遷移するアイドル時間条件を決定するステップと、
決定したアイドル時間条件の間メモリアクセスが発生しないときに、前記メモリデバイスを低消費電力状態に遷移させるステップと、
をコンピュータに実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリアクセス制御装置及びコンピュータプログラムに関する。
【背景技術】
【０００２】
従来、メモリシステムの消費電力を低減するために、メモリアクセスが行われていない時はメモリデバイスを低消費電力状態に遷移させることが行われている。また、特許文献１には、複数のデバイスによるバスの使用割合に応じて低消費電力モードへ移行するメモリアクセス制御装置について開示されている。
【特許文献１】特開２０００−２７６４３６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来の技術において、メモリデバイスが低消費電力状態のときにメモリにアクセスしたい場合、まずメモリデバイスを低消費電力状態より復帰させてからメモリアクセスする必要があるため、メモリアクセスのレイテンシ（遅延時間）が増大する。これを回避するため、長時間メモリアクセスが発生しないことを、メモリデバイスを低消費電力状態にする条件とすることが考えられる。しかしながら、メモリアクセスが発生しない時間、すなわち、アイドル時間の設定を長くすると、メモリアクセスがそれほど頻繁でないときであっても、メモリデバイスが低消費電力状態となっている時間が少なくなってしまい、メモリシステムの消費電力の低減が困難となってしまう。
しかし、特許文献１の技術における制御対象はＣＰＵであり、制御対象がメモリデバイスである場合に適用することはできない。また、システムクロックの低減により低消費電力モードを実現しているため、クロックが変更できないメモリデバイスに適用することはできない。
【０００４】
本発明は、このような事情に鑑みてなされたもので、低消費電力状態に移行するアイドル時間の条件をメモリアクセスの頻度に応じて変更することにより、メモリアクセスのレイテンシを押さえながら、消費電力を効率的に低減することができるメモリアクセス制御装置及びコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記した課題を解決するために本発明は、メモリアクセスの要求を調停するメモリアクセス調停手段を有するメモリアクセス制御装置において、メモリデバイスを低消費電力状態に遷移させるメモリ電力モード制御手段と、メモリアクセスの消費帯域を測定するメモリ消費帯域測定手段と、上記メモリ消費帯域測定手段により測定したメモリアクセスの消費帯域の測定結果と、１つまたは段階的な複数の閾値とを比較して、メモリ消費帯域のクラスが複数クラスのうちいずれであるかを判定するメモリ消費帯域判定手段と、前記メモリ消費帯域判定手段によって判定されたメモリ消費帯域のクラスに応じて、低消費電力状態に遷移するアイドル時間条件を決定するアイドル時間決定手段と、前記アイドル時間決定手段により決定したアイドル時間条件の間メモリアクセスが発生しないときに、前記メモリ電力モード制御手段を用いて前記メモリデバイスを低消費電力状態に遷移させる自動電力低減手段と、を有することを特徴とするメモリアクセス制御装置である。
【０００６】
また、本発明は、上述するメモリアクセス制御装置であって、前記アイドル時間決定手段は、前記アイドル時間条件を、より大きなメモリ消費帯域に対応するクラスほど長くなるよう決定する、ことを特徴とする。
【０００７】
また、本発明は、上述するメモリアクセス制御装置であって、前記アイドル時間条件を変更する電力低減条件変更手段をさらに有する、ことを特徴とする。
【０００８】
また、本発明は、メモリアクセスの要求を調停するメモリアクセス調停手段を有するメモリアクセス制御装置に用いられるコンピュータプログラムであって、メモリアクセスの消費帯域を測定するステップと、測定したメモリアクセスの消費帯域の測定結果と、１つまたは段階的な複数の閾値とを比較して、メモリ消費帯域のクラスが複数クラスのうちいずれであるかを判定するステップと、判定されたメモリ消費帯域のクラスに応じて、低消費電力状態に遷移するアイドル時間条件を決定するステップと、決定したアイドル時間条件の間メモリアクセスが発生しないときに、前記メモリデバイスを低消費電力状態に遷移させるステップと、をコンピュータに実行させることを特徴とするコンピュータプログラムである。
【発明の効果】
【０００９】
上記発明によれば、メモリアクセスが閑散な時は、低消費電力状態へ移行するためのアイドル時間条件を短くすることにより、頻繁にメモリデバイスを低消費電力状態にして消費電力を低減し、メモリアクセスが頻繁な時は、アイドル時間条件を長くすることにより、ほとんどメモリデバイスを低消費電力状態にしないようにしてメモリアクセスの性能を高める。これにより、メモリアクセスの性能と消費電力の自動的なトレードオフを実現することが可能となる。また、クロックの低減により消費電力を抑えることができないメモリデバイスにも有効である。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照し、この発明の一実施形態について説明する。
図１は、本発明の一実施形態によるメモリアクセス制御装置の構成を示すブロック図である。このメモリアクセス制御装置は、例えば、複写機、プリンタ、ファクシミリ等の機能が使用可能なＭＦＰ（Multi Function Printer）などの画像データ処理装置に用いられる。メモリアクセス制御装置は、メモリデバイスであるＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）とのインタフェース（Ｉ／Ｆ）を有し、リフレッシュ部１、ホストインタフェース部２、モニタ部３、メモリアクセス調停部４、キューイングバッファ５、コマンドディスパッチャ部６、デバイスマネージャ部７、コマンド発生部８、ストローブ発生部９、ＯＰＢ（On-Chip Peripheral Bus）インタフェース部１０、及び、メモリクロック生成部１１を備える。ここでは、ＳＤＲＡＭを、メモリクロックの変更ができないＤＤＲ(Double Data Rate)  ＳＤＲＡＭであるとする。
【００１１】
リフレッシュ部１は、メモリアクセス調停部４へＳＤＲＡＭのリフレッシュ要求を行う。ホストインタフェース部２は、メモリトランザクションの要求を行うホストのモジュールであり、ホストの各種要求をアビトレーションしてＳＤＲＡＭへのアクセス要求を発行する。モニタ部３は、ＳＤＲＡＭへのアクセス要求の頻度から、どれぐらいメモリアクセス要求がなければＳＤＲＡＭを低消費電力状態に遷移させるかの条件を決定する。メモリアクセス調停部４は、メモリアクセス要求を調停し、リフレッシュを行うか、あるいは、メモリトランザクションを発生させるかを決定する。メモリトランザクションを発生する場合、キューイングバッファ５へキューイングする。キューイングバッファ５は、トランザクションファイルであり、メモリトランザクションを保持する。
【００１２】
コマンドディスパッチャ部６は、キューイングバッファ５にキューイングされたトランザクションファイルについて、ＳＤＲＡＭに対してどのようなコマンドを発行するかを決定し、ＳＤＲＡＭに対するシーケンス等を制御する。例えば、一つのメモリに対してロー（ＲＯＷ）アドレス／カラム（ＣＯＬ）アドレスを与える。デバイスマネージャ部７は、メモリデバイス（ＳＤＲＡＭ）の状態を内部的にミラーリングしてコマンドディスパッチャ部６へ通知し、コマンドをいつ発行できるかを調停する。コマンド発生部８は、コマンドディスパッチャ部６からのコマンド発生要求に応じてＳＤＲＡＭに対する信号を駆動する。
【００１３】
ストローブ発生部９は、コマンド発生部８が発行するリード／ライトのコマンドに同期してデータ転送のトリガを受け、データ転送のタイミング、すなわち、ホストインタフェース部２との間のリード／ライトデータの受け渡しのタイミングを司る。例えば、ＳＤＲＡＭからメモリリードするときには、ＳＤＲＭＡへメモリリードを与える。そして、ＳＤＲＡＭからリードデータが返ってくるタイミングに併せてホストに対してリードのストローブを返す。ＳＤＲＡＭへメモリライトするときには、ＳＤＲＡＭにライトのタイミングに併せてホストに対してライトデータのストローブを与え、ライトするデータを引き出す。ＯＰＢインタフェース部１０は、各種設定を行うためのレジスタであり、設定レジスタのためのインタフェースと、実際の設定レジスタからなるモジュールである。メモリクロック生成部１１は、源発振器が発信する周波数からメモリクロック及びメモリインタフェースクロックを発生させる。
【００１４】
次に、メモリアクセス制御装置の動作について説明する。
画像データ処理装置は、ホストインタフェース部２を介してホストからのメモリアクセス要求を受ける。例えば、印刷を初めることを想定する。ＳＤＲＡＭ上には、スキャナで読み取った画像などのパターンがビットマップデータとして保持されている。印刷を始める場合、ＳＤＲＡＭにメモリにあるこのビットマップデータをリードするメモリトランザクションを発生させる。これにより、メモリアクセス調停部４によって、メモリトランザクションがキューイングバッファ５にキューイングされる。
【００１５】
一方、モニタ部３は、ホストインタフェース部２を介してメモリアクセス調停部４へ発行されるメモリアクセス要求から、メモリアクセス消費帯域を測定する。メモリアクセス消費帯域は、単位時間あたり発生したメモリアクセス要求に使用された帯域であり、メモリアクセス要求の発生頻度を示す。モニタ部３は、メモリアクセス消費帯域の測定結果と、１つ以上の段階的な値の閾値とを比較して、メモリ消費帯域のクラス（以下、単に「クラス」とも記載）が複数クラスのうちいずれであるかを判定する。例えば、閾値がａ１，ａ２，…，ａｎであり、ａ１＜ａ２＜…＜ａｎの関係があるとする。モニタ部３は、メモリアクセスの消費帯域の測定結果が閾値ａ１を超えていなければクラス０、閾値ａ１以上閾値ａ２未満であればクラス１、…、閾値ａｎ以上であればクラスｎと判定する。閾値が１つのみであれば、この閾値を超えているか否かにより２つのクラスのいずれであるかを判定する。モニタ部３はこの判定したメモリ消費帯域のクラスに応じて、低消費電力状態に遷移する条件となるアイドル時間であるアイドル時間条件を決定する。アイドル時間とは、メモリアクセス要求が全く発生しない時間である。このとき、モニタ部３は、メモリアクセスの消費帯域がより多いクラスほど、アイドル時間条件を長く決定する。すなわち、メモリ消費帯域のクラスｉに対応するアイドル時間条件をｔｉとすると、ｔ０＜ｔ１＜ｔ２…＜ｔｎの関係がある（但し、０＜ｉ＜ｎ）。
【００１６】
モニタ部３において決定したアイドル時間条件の間、メモリアクセス要求が発行されないことを検出した場合、デバイスマネージャ部７は、メモリデバイスを低消費電力状態に遷移させるためのパワーダウン要求をメモリアクセス調停回路４に出力する。メモリアクセス調停部４は、パワーダウン要求のトランザクションをキューイングバッファ５へ登録する。これにより、コマンドディスパッチャ部６は、パワーダウンを指示するクロック・イネーブル信号ＣＫＥの発行要求をコマンド発生部８に発行し、コマンド発生部８は、クロック・イネーブル信号ＣＫＥをＳＤＲＡＭへ出力する。クロック・イネーブル信号ＣＫＥを受信したＳＤＲＡＭは、低消費電力状態に遷移する。
【００１７】
また、コマンドを投入することにより、アイドル時間条件を変更することが可能である。ＯＰＢインタフェース部１０は、変更後のアイドル時間条件をＯＰＢから受信すると、モニタ部３へ出力する。モニタ部３は、現在のアイドル時間条件を、受信したアイドル時間条件に変更する。また、アイドル時間条件の変更対象であるメモリ消費帯域のクラスと、変更後のアイドル時間条件とをＯＰＢから受信した場合、モニタ部３は、ダイレクトコマンド要求で指示されたように、メモリ消費帯域のクラスに対応するアイドル時間条件を変更する。
【００１８】
図２は、上記処理をソフトウェアにより実現する場合のメモリアクセス制御装置の処理フローを示す。メモリアクセス制御装置がホストからメモリアクセス要求を受けると、モニタ部３は、ホストインタフェース部２からメモリアクセス調停部４へ発行されるメモリアクセス要求より、メモリアクセス消費帯域を測定する（ステップＳ１１０）。モニタ部３は、メモリアクセスの消費帯域の測定結果と、予め記憶しておいた閾値とメモリ消費帯域のクラスとの関係のデータからメモリ消費帯域のクラスを判定する（ステップＳ１２０）。続いて、モニタ部３は、予め記憶しておいたメモリ消費帯域のクラスとアイドル時間条件との関係のデータから、判定したメモリ消費帯域のクラスに対応したアイドル時間条件を決定する（ステップＳ１３０）。デバイスマネージャ部７は、モニタ部３が決定したアイドル時間条件の間、メモリアクセス要求が発生しないことを検出すると（ステップＳ１４０：Ｙｅｓ）、メモリデバイスを低消費電力状態に遷移させるための指示をメモリアクセス調停部４に出力する（ステップＳ１５０）。メモリアクセス調停部４が、パワーダウン要求のトランザクションをキューイングバッファ５へ登録することにより、コマンドディスパッチャ部６は、パワーダウンを指示するクロック・イネーブル信号ＣＫＥの発行要求をコマンド発生部８に発行し、コマンド発生部８は、クロック・イネーブル信号ＣＫＥをＳＤＲＡＭへ出力する。
【００１９】
上記実施の形態によれば、メモリアクセス制御装置において、メモリ消費帯域が少ないときは、メモリアクセスのレイテンシ（遅延）が増えてもシステムに与える影響は少ないものと判断し、アイドル時間条件を短めに設定してこまめにメモリデバイスを低消費電力状態にするよう制御する。また、メモリアクセス消費帯域が増えるに従って、アイドル時間条件を徐々に長くなるように制御することことによって、メモリアクセスの頻度が多いときにはメモリデバイスをほとんど低消費電力状態にさせないようにして、メモリアクセスを向上させる。
【００２０】
以上、本発明の実施の形態について説明したが、メモリアクセス制御装置の各部は、専用のハードウェア（例えば、ワイヤードロジック等）により実現されるものであってもよく、また、メモリおよびＣＰＵ（中央処理装置）により構成され、各部の機能を実現するためのプログラムをメモリからロードして実行することによりその機能を実現させるものであってもよい。また、メモリアクセス制御装置の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、メモリアクセス制御装置の各部に必要な処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
【００２１】
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの（伝送媒体ないしは伝送波）、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【図面の簡単な説明】
【００２２】
【図１】本発明の一実施形態によるメモリアクセス制御装置の構成を示すブロック図である。
【図２】メモリアクセス制御装置の処理フローである。
【符号の説明】
【００２３】
１・・・リフレッシュ部
２・・・ホストインタフェース部
３・・・モニタ部（メモリ消費帯域測定手段、メモリ消費帯域判定手段、アイドル時間決定手段）
４・・・メモリアクセス調停部（メモリアクセス調停手段、メモリ電力モード制御手段）
５・・・キューイングバッファ
６・・・コマンドディスパッチャ部（メモリ電力モード制御手段）
７・・・デバイスマネージャ部（自動電力低減手段）
８・・・コマンド発生部（メモリ電力モード制御手段）
９・・・ストローブ発生部
１０・・・ＯＰＢインタフェース部（電力低減条件変更手段）
１１・・・メモリクロック生成部
【図１】
2006343946.tif 000003
【図２】
2006343946.tif 000004