(57)【要約】【課題】本発明は、システムバスを介して相互に通信可能に接続されたＣＰＵとメモリサブシステムを含むコンピュータ・システムを提供する。【解決手段】コンピュータ・システム１００は、システムバス１０に接続され、ＣＰＵ２０からメモリサブシステム３０へのアクセスリクエストの頻度を監視するバスモニタ５０と、バスモニタから受信した前記アクセスリクエストの頻度に応じて、メモリサブシステムに対して、前記アクセスリクエストのレイテンシを可変するための制御信号を送る、レイテンシ可変手段６０と、を備える。【選択図】  図１
2014021785.tif 000002
【特許請求の範囲】
【請求項１】
システムバスを介して相互に通信可能に接続されたＣＰＵとメモリサブシステムを含むコンピュータ・システムであって、
システムバスに接続され、ＣＰＵからメモリサブシステムへのアクセスリクエストの頻度を監視するバスモニタと、
バスモニタから受信した前記アクセスリクエストの頻度に応じて、メモリサブシステムに対して、前記アクセスリクエストのレイテンシを可変するための制御信号を送る、レイテンシ可変手段と、を備えるコンピュータ・システム。
【請求項２】
前記バスモニタは、前記アクセスリクエストの数と前記アクセスリクエスト以外のリクエストの数とを計数するアップダウン・カウンタを含み、
前記レイテンシ可変手段は、レジタと、アップダウン・カウンタによる計数値をレジタに格納された所定のしきい値と比較するための比較器とを含む、請求項１のコンピュータ・システム。
【請求項３】
前記メモリサブシステムは、システムバスに接続するメモリコントローラと、ＤＤＲ―ＰＨＹインターフェース（ＤＦＩ）を介してメモリコントローラに接続するＤＤＲメモリとを含み、
前記レイテンシ可変手段は、前記比較器による比較結果に応じて、（ｉ）メモリコントローラへの動作クロックを間引くためのクロックゲート信号を生成する、（ｉｉ）ＤＤＲメモリへの動作クロックを間引くためのＣＫＥゲート信号を生成する、および（ｉｉｉ）メモリコントローラへの前記システムバスの応答を遅らせるためのダミーサイクル信号を生成する、の少なくともいずれか１つを実行する、請求項１または２のコンピュータ・システム。
【請求項４】
前記アップダウン・カウンタは、前記システムバスからサイクルエンド信号を受けた後に、前記アクセスリクエストをプラス１（＋１）として、前記アクセスリクエスト以外のリクエストおよび前記システムバスのアイドル状態をマイナス１（−１）として計数を行う、請求項２または３のコンピュータ・システム。
【請求項５】
システムバスを介してＣＰＵと相互に通信可能なメモリサブシステムであって、
システムバスに接続するメモリコントローラと、
ＤＤＲ―ＰＨＹインターフェース（ＤＦＩ）を介してメモリコントローラに接続するＤＤＲメモリと、
システムバスに接続され、ＣＰＵからのアクセスリクエストの頻度を監視するバスモニタと、
バスモニタから受信した前記アクセスリクエストの頻度に応じて、メモリコントローラまたはＤＤＲメモリに対して、前記アクセスリクエストのレイテンシを可変するための制御信号を送る、レイテンシ可変手段と、を備えるメモリサブシステム。
【請求項６】
前記バスモニタは、前記アクセスリクエストの数と前記アクセスリクエスト以外のリクエストの数とを計数するアップダウン・カウンタを含み、
前記レイテンシ可変手段は、レジタと、アップダウン・カウンタによる計数値をレジタに格納された所定のしきい値と比較するための比較器とを含む、請求項５のメモリサブシステム。
【請求項７】
前記レイテンシ可変手段は、前記比較器による比較結果に応じて、（ｉ）メモリコントローラへの動作クロックを間引くためのクロックゲート信号を生成する、（ｉｉ）ＤＤＲメモリへの動作クロックを間引くためのＣＫＥゲート信号を生成する、および（ｉｉｉ）メモリコントローラへの前記システムバスの応答を遅らせるためのダミーサイクル信号を生成する、の少なくともいずれか１つを実行する、請求項５または６のメモリサブシステム。
【請求項８】
前記アップダウン・カウンタは、前記システムバスからサイクルエンド信号を受けた後に、前記アクセスリクエストをプラス１（＋１）として、前記アクセスリクエスト以外のリクエストおよび前記システムバスのアイドル状態をマイナス１（−１）として計数を行う、請求項６または７のメモリサブシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ・システムに関し、より具体的には、メモリサブシステムを備えるコンピュータ・システムの省電力化に関する。
【背景技術】
【０００２】
メモリサブシステムを備えるＰＣやサーバシステムなどを含むコンピュータ・システムにおいて、電源、空調装置、あるいは冷却装置などの負荷軽減のために省電力化を行うことが重要となっている。そのために、従来から例えば特許文献１、２に示されるように、ＣＰＵ／ＧＰＵ等の負荷、稼働率、温度（発熱）などの状態を監視し、それらに応じた省電力化が積極的に行われている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表2011-526018号公報
【特許文献２】特開2008-041089号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の目的は、コンピュータ・システムにおいて、ＣＰＵ／ＧＰＵやＯＳの動作状態を監視するのではなく、バスを介してメモリサブシステムの動作状態を監視することにより省電力化を図ることである。
【０００５】
本発明の目的は、メモリサブシステムのＨ／Ｗによる、Ｓ／Ｗの介在を必要としない省電力化を図ることである。
【課題を解決するための手段】
【０００６】
本発明は、システムバスを介して相互に通信可能に接続されたＣＰＵとメモリサブシステムを含むコンピュータ・システムを提供する。そのコンピュータ・システムは、システムバスに接続され、ＣＰＵからメモリサブシステムへのアクセスリクエストの頻度を監視するバスモニタと、バスモニタから受信した前記アクセスリクエストの頻度に応じて、メモリサブシステムに対して、前記アクセスリクエストのレイテンシを可変するための制御信号を送る、レイテンシ可変手段と、を備える。
【０００７】
本発明のコンピュータ・システムによれば、システムバス上のＣＰＵからメモリサブシステムへのアクセスリクエストの頻度を監視することによりメモリサブシステムの動作（負荷）状態を監視することができ、さらに、その動作（負荷）状態に応じてアクセスリクエストのレイテンシを可変することができる。その結果、本発明のコンピュータ・システムによれば、メモリサブシステムの動作（負荷）状態が低い場合にアクセスリクエストのレイテンシを長くしてシステムの処理速度を下げることにより省電力化を図ることができる。
【０００８】
本発明は、システムバスを介してＣＰＵと相互に通信可能なメモリサブシステムを提供する。そのメモリサブシステムは、システムバスに接続するメモリコントローラと、ＤＤＲ―ＰＨＹインターフェース（ＤＦＩ）を介してメモリコントローラに接続するＤＤＲメモリと、システムバスに接続され、ＣＰＵからのアクセスリクエストの頻度を監視するバスモニタと、バスモニタから受信した前記アクセスリクエストの頻度に応じて、メモリコントローラまたはＤＤＲメモリに対して、前記アクセスリクエストのレイテンシを可変するための制御信号を送る、レイテンシ可変手段と、を備える。
【０００９】
本発明のメモリサブシステムによれば、システムバス上のＣＰＵからメモリサブシステムへのアクセスリクエストの頻度を監視することによりメモリサブシステムの動作（負荷）状態を監視することができ、さらに、その動作（負荷）状態に応じてアクセスリクエストのレイテンシを可変することができる。その結果、本発明のメモリサブシステムによれば、メモリサブシステムの動作（負荷）状態が低い場合にアクセスリクエストのレイテンシを長くしてシステムの処理速度を下げることにより省電力化を図ることができる。
【図面の簡単な説明】
【００１０】
【図１】本発明のメモリサブシステムを含むコンピュータ・システムの構成例を示す図である。
【図２】本発明のバスモニタとレイテンシ可変手段の構成例を示す図である。
【図３】本発明のバスモニタの動作フロー例を示す図である。
【発明を実施するための形態】
【００１１】
図面を参照しながら本発明の実施の形態を説明する。図１は、本発明のメモリサブシステムを含むコンピュータ・システム１００の構成例を示す図である。コンピュータ・システム１００は、システムバス１０にそれぞれバス１２、１４、１６を介して接続するＣＰＵ２０、メモリサブシステム３０、バスマスタデバイス４０を含む。コンピュータ・システム１００は、さらに、バスモニタ５０と、レイテンシ可変手段６０を含む。バスモニタ５０とレイテンシ可変手段６０とを含む構成５５は、メモリサブシステム３０の一部として構成してもよい。
【００１２】
システムバス１０は、厳密にはＣＰＵ２０が接続するフロントサイドバスと、メモリサブシステム３０が接続するメモリバスからなる。ＣＰＵ２０としては、グラフィックス・プロセッシング・ユニット（ＧＰＵ）やマルチコア等をも含むことができる。バスマスタデバイス４０は、ＣＰＵ２０を介さずに直接メモリサブシステム３０にアクセス可能なデバイスである。
【００１３】
メモリサブシステム３０は、メモリコントローラ３１０と、ＤＤＲ―ＰＨＹ３２０と、ＤＤＲメモリ３３０とを含む。ＤＤＲ―ＰＨＹ３２０は、DDR PHY Interface（DFI）と呼ばれるメモリコントローラのインターフェース仕様の１つである。ＤＤＲメモリ３３０は、ＤＤＲ２、ＤＤＲ３等のダブル・データ・レートのメモリ（ＤＲＡＭ）を意味し、メモリ容量に応じて複数の基板上に配置され得る。バスモニタ５０は、ＣＰＵ２０からメモリサブシステム３０へのアクセスリクエストの頻度を監視する。レイテンシ可変手段６０は、バスモニタ５０から受信したアクセスリクエストの頻度に応じて、メモリサブシステム３０に対して、アクセスリクエストのレイテンシを可変するための制御信号を送る。
【００１４】
図２は、本発明のバスモニタ５０とレイテンシ可変手段６０の構成例を示す図である。破線で囲まれた領域５５が両者の構成例を示す。上述したように、領域５５はメモリサブシステム３０の一部として構成してもよい。アップダウン・カウンタ５１０は、システムバス１０上のメモリサブシステム３０への各アクセスリクエスト（要求信号）をモニタする。具体的には、アップダウン・カウンタ５１０は、システムバス１０からサイクルエンド信号（データ転送終了信号）を受けた後に、ＣＰＵからのアクセスリクエストをプラス１（＋１）として、ＣＰＵからのアクセスリクエスト以外のリクエストおよびシステムバス１０のアイドル状態をマイナス１（−１）として計数を行う。この計数動作の詳細を図３を参照しながら以下に説明する。
【００１５】
図３は、本発明のバスモニタ５０（アップダウン・カウンタ５１０）の動作フロー例を示す図である。ステップＳ１において、システムバス１０上のメモリサブシステム３０へのアクセス要求があるか否かを判定する。アクセス要求がない場合、すなわちシステムバス１０がアイドル状態の場合、ステップＳ２において、利用がないとしてマイナス１（−１）をカウントする。アクセス要求がある場合、ステップＳ３において、アクセス要求がＣＰＵのアクセス要求か否かを判定する。
【００１６】
ＣＰＵのアクセス要求である場合、ステップＳ４において、利用があるとしてプラス１（＋１）をカウントする。ステップＳ５において、サイクルが終了、すなわちＣＰＵのアクセス要求完了（データ転送終了）か否かを判定する。サイクルが終了の場合は、最初のステップＳ１に戻りアクセス要求の有無を判定する。サイクルが終了していない場合は、ステップＳ４においてプラス１（＋１）のカウントを繰り返す。
【００１７】
ステップＳ３においてＣＰＵのアクセス要求でない場合、ステップＳ６において、ＣＰＵ以外の他のアクセス利用であるとしてマイナス１（−１）をカウントする。ステップＳ７において、ステップＳ５の場合と同様にサイクルが終了か否かを判定する。サイクルが終了の場合は、最初のステップＳ１に戻りアクセス要求の有無を判定する。サイクルが終了していない場合は、ステップＳ６においてマイナス１（−１）のカウントを繰り返す。以上のフローで計数される計数値は、システムバス１０上のＣＰＵ２０によるメモリサブシステム３０へのアクセス要求の頻度、占有率を推定するための値（規準）となる。
【００１８】
図２に戻って、アップダウン・カウンタ５１０の計数値は、比較器６２０において、レジスタ６１０に格納された所定のしきい値と比較される。アップダウン・カウンタ５１０においては、計数結果として負の計数値が得られた場合はゼロの値が比較器６２０に入力される。所定のしきい値は、メモリサブシステム３０へのアクセスリクエストのレイテンシを長くしてもシステム（ＣＰＵ）のパフォーマンスへの影響が小さく省電力化が図れる基準値として、経験的／実験的に適正な値として設定される。比較器６２０は、入力された計数値が所定のしきい値よりも小さい場合に、出力信号としてハイ（Ｈ）信号を出力し、しきい値以上の場合にロー（Ｌ）信号を出力する。このハイ（Ｈ）信号またはロー（Ｌ）信号は、メモリサブシステム３０へのアクセス要求の頻度、占有率が低いことまたは高いことに相当する。なお、図２において、レジスタ６１０と比較器６２０がそれぞれ複数あるように記載されているが、実装上それぞれ１つであってもよい。
【００１９】
比較器６２０の出力信号は、クロックゲート回路６３０、ＷＡＩＴ挿入回路６４０、およびＣＫＥゲート回路６５０に入力される。クロックゲート回路６３０は、比較器６２０のハイ（Ｈ）信号を受けて、メモリコントローラ３１０の動作クロックを間引くためのゲート信号をＡＮＤゲート６６０に向けて出力する。ＡＮＤゲート６６０は、システムバス１０からクロック信号を受けて、クロックゲート回路６３０からのゲート信号がハイ（Ｈ）の時だけクロック信号をメモリコントローラ３１０に向けて出力する。これにより、ゲート信号がロウ（Ｌ）の間はクロックを間引くことができる。
【００２０】
ＷＡＩＴ挿入回路６４０は、比較器６２０のハイ（Ｈ）信号を受けて、メモリコントローラ３１０からシステムバス１０への信号（データ）の出力のタイミングを遅らせるためのダミーサイクル信号をメモリコントローラ３１０に向けて出力する。ダミーサイクル信号は、所定周期のビット列信号からなる。メモリコントローラ３１０は、このダミーサイクル信号の分だけシステムバス１０への信号（データ）の出力を遅延させる。
【００２１】
ＣＫＥゲート回路６５０は、比較器６２０のハイ（Ｈ）信号を受けて、ＤＤＲメモリ３３０の動作クロックを間引くためのゲート信号をＡＮＤゲート６７０に向けて出力する。ＡＮＤゲート６７０は、メモリコントローラ３１０からＤＤＲメモリ３３０のクロックイネーブル（ＣＫＥ）信号を受けて、ＣＫＥゲート回路６５０からのＣＫＥゲート信号がハイ（Ｈ）の時だけＣＫＥ信号（ハイ）をＤＤＲメモリ３３０に向けて出力する。これにより、ＣＫＥゲート信号がロウ（Ｌ）の間はＣＫＥ信号を間引いて、ＤＤＲメモリ３３０の動作クロックを遅延させることができる。
【００２２】
クロックゲート回路６３０、ＷＡＩＴ挿入回路６４０、およびＣＫＥゲート回路６５０は、比較器６２０の出力信号を受けて３つ同時に動作させることもできるが、選択的にいずれか１つあるいは２つのみを動作させることもできる。その選択的な動作は、動作させる回路に対応した比較器６２０のみ選択的に出力させることにより、あるいは動作させる回路のみ出力信号を出させるようにすることにより実行させることができる。
【００２３】
以上述べたように、本発明は、ＣＰＵ／ＧＰＵの動作状態を監視するのではなく、メモリサブシステムの動作状態を監視する省電力機構を提案するものである。システムバス上におけるＣＰＵによるメモリアクセスの占有率が低い時はＣＰＵのアイドル状態が多いと推定できる。この場合、メモリアクセスのレイテンシを長くしてもシステムパフォーマンスへの影響は少ない。ＣＰＵがアイドル状態で無い場合であっても、キャッシュのヒット率が高いことによってメモリバスの占有率が低くなる場合が考えられるが、処理がＣＰＵ内部で閉じているので、メモリサブシステム等のＣＰＵ以外のパフォーマンスを下げてもシステムパフォーマンスへの影響は少ない。
【００２４】
本発明の実施形態について、図を参照しながら説明をした。しかし、本発明はこれらの実施形態に限られるものではない。本発明はその趣旨を逸脱しない範囲で当業者の知識に基づき種々なる改良、修正、変形を加えた態様で実施できるものである。
【符号の説明】
【００２５】
１０  シシテムバス
２０  ＣＰＵ
３０  メモリサブシステム
４０  バスマスタデバイス
５０  バスモニタ
６０  レイテンシ可変手段
１００  コンピュータ・システム
【図１】
2014021785.tif 000003
【図２】
2014021785.tif 000004
【図３】
2014021785.tif 000005