JP2018509682A - 入出力動作特性に基づくシステムオンチップアイドル電力状態制御のシステムと方法 - Google Patents

入出力動作特性に基づくシステムオンチップアイドル電力状態制御のシステムと方法 Download PDF

Info

Publication number
JP2018509682A
JP2018509682A JP2017538315A JP2017538315A JP2018509682A JP 2018509682 A JP2018509682 A JP 2018509682A JP 2017538315 A JP2017538315 A JP 2017538315A JP 2017538315 A JP2017538315 A JP 2017538315A JP 2018509682 A JP2018509682 A JP 2018509682A
Authority
JP
Japan
Prior art keywords
input
output
power state
output operation
information
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.)
Granted
Application number
JP2017538315A
Other languages
English (en)
Other versions
JP6535749B2 (ja
Inventor
デレク アール. クマール,
デレク アール. クマール,
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Apple Inc filed Critical Apple Inc
Publication of JP2018509682A publication Critical patent/JP2018509682A/ja
Application granted granted Critical
Publication of JP6535749B2 publication Critical patent/JP6535749B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3221Monitoring of peripheral devices of disk drive devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3243Power saving in microcontroller unit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0251Power saving arrangements in terminal devices using monitoring of local events, e.g. events related to user activity
    • H04W52/0254Power saving arrangements in terminal devices using monitoring of local events, e.g. events related to user activity detecting a user operation or a tactile contact or a motion of the device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0251Power saving arrangements in terminal devices using monitoring of local events, e.g. events related to user activity
    • H04W52/0258Power saving arrangements in terminal devices using monitoring of local events, e.g. events related to user activity controlling an operation mode according to history or models of usage information, e.g. activity schedule or time of day
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Abstract

入出力動作に関連する情報に基づいた電力状態の制御によりシステム性能を管理するデバイスの方法と機器について、記載されている。デバイスは、過去の入出力情報を収集する。過去の入出力情報は、標本期間における入出力動作数及び入出力動作の到着間隔を含むことができる。デバイスは、更に現在の入出力動作に関連する情報を受信する。現在の入出力動作の情報は入出力動作の、方向、規模、品質サービス及びメディアタイプを含むことができる。システム効率を改善し、かつ許容可能レベルのシステム性能を維持しながら、電力消費を低減するために、デバイスは、過去の入出力情報及び現在の入出力動作に関連する情報に基づいて、電力状態を決定する。デバイスに決定された電力状態が更に適用される。他の実施形態も、明細書と特許請求の範囲に記載されている。

Description

(関連事項)
本出願は、2015年1月26日に出願された「System and Method for SoC Idle Power State Control Based on I/O Operation Characterization」と題する米国仮出願62/108,033の先の出願日の利益を有する。
本発明は、全般的にオペレーティングシステムに関し、特に性能管理用のデバイスに関する。
オペレーティングシステムは、デバイスのハードウェア資源を管理するソフトウェアの集合であり、コンピュータプログラムのための共通のサービスを提供する。オペレーティングシステムは、デバイスのシステムソフトウェアの非常に重要な構成要素である。システムソフトウェアは、デバイスの性能を管理し、統合する。システムソフトウェアは、オペレーティングシステム、ユーティリティソフトウェア、デバイスドライバ及び他のソフトウェアツールを含む。オペレーティングシステムは、デバイスの電力消費及び性能を管理する。
プロセッサが非アクティブな時、デバイスの電力管理は、プロセッサをゲーティングして低電力状態にする。低電力状態は、プロセッサに対するアイドル状態であっても良い。コンピュータシステム内の現在のプロセッサでは、携帯型及び組込型システムの、総エネルギー消費の低減、冷却要求の低減、バッテリ寿命の延長のため、しばしば積極的な電力管理技術が採用される。その結果、プロセッサは、より頻繁に低電力状態に入り、そのような低電力状態により長い時間留まる。そのような低電力状態への遷移は、通常、そのような状態への頻繁な出入りの遷移による純効率利得の低減と共に、追加の待ち時間を伴う。プロセッサは、複数の型のアイドル電力状態を支援することができ、それぞれの型のアイドル電力状態は、異なる遷移待ち時間、遷移エネルギー及び達成可能な電力レベルに関わる。
入出力は、コンピュータと外部との間の通信である。入力はコンピュータが受信する信号又はデータであり、出力は、コンピュータから送信する信号又はデータである。例えば、ディスクドライブからデータを読み込むことにより、コンピュータのCPUやメモリから、又は、CPUやメモリへの情報のあらゆる転送は、入出力と考えられる。
入出力情報に基づいて、電力状態を制御することによりシステム性能を管理するデバイスの、方法と機器について説明する。一実施形態では、入出力情報は、入出力動作に関係する現在と過去の入出力情報である。一実施形態では、現在の入出力情報は、現在の入出力動作の方向(例えば、読み取り又は書き込み)を含む。一実施形態では、現在の入出力情報は、現在の入出力動作の規模(例えば、関わるデータ量)を含む。一実施形態では、現在の入出力情報は、現在の入出力動作のサービス品質を含む。一実施形態では、現在の入出力情報は、現在の入出力動作のメディアタイプ(例えば、ソリッドステートドライブ又はハードドライブ)を含む。一実施形態の過去の入出力情報は、標本期間における入出力動作の数を含む。一実施形態では、過去の入出力情報は、標本期間における入出力動作の到着間隔を含む。一実施形態では、過去の入出力情報は、標本期間における読み取り動作の総規模及び標本期間における書き込み動作の総規模を含む。
一実施形態では、デバイスは過去の入出力情報を収集する。デバイスは、そのデバイスによって実行されるべき、現在の入出力動作の入出力情報を更に受信する。システム効率を改善し、かつシステム性能の許容可能レベルを維持しながら、電力消費を低減するため、デバイスは、過去及び現在の入出力情報に基づいて、電力状態を決定する。デバイスは決定された電力状態を更に適用する。一実施形態では、電力状態はデバイス全体に適用される。別の実施形態では、電力状態はデバイスのプロセッサに適用される。更に別の実施形態では、電力状態は、デバイスのシステムオンチップに適用される。
他の方法と機器についても説明する。非一時的機械可読性媒体についても説明し、非一時的機械可読性媒体は、データ処理システムによって実行された時にデータ処理システムがここで説明する1つ以上の方法を実行する、実行可能なコンピュータプログラム命令を含む。
本開示は、例として示されるものであり、添付図面の図中のものに限定されるものではなくなく、添付図面の図中において、同様の参照符号は同様の要素を示す。
入出力情報に基づいて電力状態を制御することによりシステム性能を管理するデバイスの一実施形態のブロック図である。
電力管理器の一実施形態の詳細ブロック図を示す。
入出力情報に基づいて電力状態を制御することによりシステム性能を管理するプロセスの一実施形態のフローチャートを示す。
入出力情報に基づいて電力状態を制御することによりシステム性能を管理する別のプロセスの一実施形態のフローチャートを示す。
一実施形態において使用される現在の入出力情報の一例を示す。
一実施形態において使用される過去の入出力情報の一例を示す。
入出力情報に基づいて補正される電力状態の一実施形態の一例を示す。
本開示の一実施形態と共に使用することができるデータ処理システムの一例を示す。
本開示の一実施形態と共に使用することができる別のデータ処理システムの例を示す。
入出力情報に基づいて、電力状態を制御することによりシステム性能を管理するデバイスの、方法と機器について説明する。以下の説明では、本開示の実施形態の完全な説明を提供するために、多くの具体的な詳細が記載される。しかしながら、当業者が、本開示の実施形態をこれらの具体的な詳細を伴わずとも実践できることは、明らかであろう。他の例では、本説明の理解を分かりにくくすることがないように、周知の構成要素、構造及び技術は、詳細には示されていない。
本明細書中での「一実施形態」又は「実施形態」への言及は、その実施形態に関連して説明される特定の機構、構造、又は特性を、本開示の少なくとも1つの実施形態に含めることができることを意味する。本明細書の様々な箇所に出てくる、語句「一実施形態では」は、必ずしも全てが同じ実施形態に言及しているものではない。
以下の説明及び請求項において、「連結している」及び「接続されている」と共にこれらの派生語が使用される場合がある。これらの言葉は、互いに同義語として意図されていないことを理解すべきである。「連結している」は、相互に物理的又は電気的に直接接触しているかもしれず、していないかもしれない2つ以上の要素が、互いに協働し、又は相互作用することを示すために使用される。「接続されている」は、相互に連結している2つ以上の要素間の通信の確立を示すために使用される。
以下の図で示されるプロセスは、ハードウェア(例えば、回路機構、専用論理など)、ソフトウェア(汎用デバイス、又は専用機械上で実行されるものなど)、又は両方の組み合わせを含む、処理論理によって実行される。それらのプロセスは、幾つかの逐次動作の観点から以下で説明されるが、説明される動作の一部は、異なる順序で実行することができる点を理解するべきである。更には、一部の動作は、逐次的にではなく、並列して実行することができる。
「サーバ」、「クライアント」、「デバイス」という用語は、サーバ、クライアント及び/又はデバイスに特定のフォームファクタよりも、一般的にデータ処理システムに言及することを意図している。
時々、プロセッサが入出力動作(例えば、読み取り又は書き込みコマンドをNAND型記憶装置に発行する)を実行した後、他の停止中のワークがない場合、プロセッサ及び/又はシステムオンチップ(SoC)が、低電力状態に入ることができる。一実施形態では、この低電力状態はアイドル状態である。この実施形態では、電力管理モジュールが、プロセッサ、関連するキャッシュ及びメモリコントローラ、並びにランダムアクセスメモリ(RAM)に低電力状態に入らせる。選択された電力状態に依存して、プロセッサキャッシュを排除することができ、RAMはセルフリフレッシュを行うことができる。それからほどなくして、NAND型記憶装置が入出力要求を完了し、データにアクセスするために、メモリコントローラ及びRAMが再アクティブ化される。プロセッサに入出力の完了を通知し、プロセッサ及び関連する構成要素を低電力状態からフル電力状態へ戻して、プロセッサが入出力動作によって戻ったデータで動作するようにするために、割り込みが発生する。
入出力要求が完了した後、プロセッサ及び関連構成要素が低電力状態から抜け出すのには時間がかかるので、入出力サブシステムからデータを受信するには待ち時間がある。よって、入出力動作が完了するには、時間の量が増えるであろう。場合によっては、アプリケーションの起動中や記憶装置上に記憶されたメモリにデバイスがページングしている時に、ユーザはデータがRAMに入ることを待っており、このようなことは受け入れられないかもしれない。従って、入出力要求の発行後に、プロセッサ及び関連構成要素を頻繁に低電力状態に入らせることは、コンピュータシステムの性能に悪影響を及ぼす。
更に、プロセッサ及び関連構成要素をすぐに正常な電力状態に戻すためだけに、それらを低電力状態に入らせることにより、異なる電力状態間で遷移を実行するのには相当量のエネルギーが浪費され、それには、プロセッサ及び関連構成要素を低電力状態に入らせるためにパワーゲーティングして、更に、低電力状態からすぐに抜け出させるために再アクティブ化することも含む。よって、コンピュータシステムの効率にも悪影響を及ぼす。
システム効率を改善し、かつシステム性能の合理的なレベルを維持しながら電力消費を低減するための、システム性能を管理するデバイスの方法と機器が記載されている。一実施形態では、プロセッサが不揮発性記憶装置に入出力要求を発行した後、プロセッサが低電力状態に入り、その低電力状態では、プロセッサ及び関連構成要素への電力が、デバイスの電力消費を低減するためにパワーゲーティングされる。不揮発性記憶装置は入出力トランザクションを完了し、入出力トランザクションに関わるデータを更に処理するように、プロセッサに通知する。プロセッサ及び関連構成要素は、データを処理するために再アクティブ化される。このことは、入出力サブシステムからのデータ受信の待ち時間につながり、低電力状態への出入りで不要なエネルギーコストの追加となる。待ち時間とは、プロセッサが意図された機能を実行する、低電力状態からより高い電力状態に遷移する時間の量である。一実施形態では、システム効率を改善し、かつシステム性能の許容可能レベルを維持しながら、電力消費を低減するために、デバイスは、過去の入出力情報及び現在の入出力情報に基づいて、電力状態を決定する。そこで、デバイスは、決定された電力状態に入る。一実施形態では、入出力動作がインフライトである時、デバイスに決定された電力状態が適用される。別の実施形態では、入出力動作の結果を受信した後、入出力動作がインフライトである時、デバイスに決定された電力状態が適用される。
図1は、入出力情報に基づいて電力状態を制御することによりシステム性能を管理するデバイス100の一実施形態のブロック図である。一実施形態では、デバイス100は、デスクトップコンピュータ、サーバ、スマートホン、ラップトップ、携帯情報端末、音楽演奏装置、ゲーム機、又は、複数のプロセスを実行可能な他のデバイスであってもよい。図1において、デバイス100は、集積回路110、オペレーティングシステム102、揮発性メモリ130及び不揮発性メモリ135を含む。一実施形態において、デバイス100は、複数のプロセッサ及び/又は複数の処理コアを含むこともできる。
集積回路110は、プロセッサ120及びメモリコントローラ125を含む。一実施形態では、集積回路110は、システムオンチップ(SoC)であってもよい。プロセッサ120は、デジタルデータを入力として受け付け、プロセッサのメモリ内に記憶された命令に従ってデータを処理し、出力結果を供給する。プロセッサ120は、プロセッサ120に取り付けられたブロック記憶装置(例えば、不揮発性メモリ135)を制御するブロック記憶ドライバ122を含む。メモリコントローラ125は、揮発性メモリ130と行き来するデータの流れを管理する。
オペレーティングシステム102は、デバイスのハードウェア資源の管理に使われるソフトウェアの集合であり、アプリケーションプログラムのなどの他の実行中のコンピュータプログラムのための共通のサービスを提供する。オペレーティングシステム102は、デバイス100の電力消費を管理する電力管理器105を含む。電力管理器105は、デバイス100全体に対する電力状態又はデバイスの各構成要素に対する電力状態を決定することができる。一実施形態では、電力管理器105により、電力状態が集積回路110に適用される。別の実施形態では、電力管理器105により、電力状態がプロセッサ120に適用される。
電力状態は、デバイス又はデバイスの1つ以上の構成要素の電力消費レベルを規定する。例えば、一実施形態では、電力状態はフル電力状態(すなわち、最高電力状態)又は電力オフ状態(すなわち、最低電力状態)があり得る。フル電力状態の下では、いかなる構成要素も省電力モードにはない状態で、デバイス又はデバイスの構成要素の群は、最大電力となっている。電力オフ状態では、デバイス又は構成要素の電源が切られている。別の実施形態では、フル電力状態と電力オフ状態の間の異なる電力消費レベルを規定するいくつかの低電力状態があり得る。デバイス又は構成要素の群に関し、より多くの構成要素が省電力モードになると、電力状態がより低くなる。
省電力モードにある構成要素に関し、異なる電力低減技術により、異なる電力状態を規定できる。例えば、パワーゲーティングは、電力消費を低減するために回路ブロックへの電流を遮断する電力低減技術である。クロックゲーティングは、回路のある個所へのクロックパルスをディスエーブルして、回路のそれらの箇所のトランジスタが状態を切り替えないようにすることにより節電する電力低減技術である。状態の切り替えによる電力消費が避けられたとしても、依然として、漏洩電流はクロックゲーティングで発生する。よって、パワーゲーティングはクロックゲーティングより多くの節電を行い、パワーゲーティングされた構成要素は、クロックゲーティングされた構成要素より低電力状態にある。しかしながら、プロセッサキャッシュのコンテンツなどの、パワーゲーティングは状態を維持することができず、パワーゲート出口において復元する必要があるかもしれない。
不揮発性メモリ135は、ハードディスクやNANDスタックなどの、永久的に情報を記憶するブロック記憶装置である。揮発性メモリ130は、ダイナミックランダムアクセスメモリ(DRAM)などの、記憶された情報を維持するのに電力を必要とするコンピュータメモリである。
一実施形態では、ブロック記憶ドライバ122は、不揮発性メモリ135内のデータにアクセスするために、(入出力要求を発行することにより(、読み取り/書き込みコマンド123を発行する。読み取りコマンドの場合、不揮発性メモリ135が要求されたデータ136をメモリコントローラ125に送信し、メモリコントローラ125は、さらなる処理のためにデータ136を揮発性メモリ130に渡す。
一実施形態では、読み取り/書き込みコマンド123を送信している間、ブロック記憶ドライバ122も、現在の入出力要求に関係する入出力情報を電力管理器105に送信する。一実施形態では、電力管理器105は、効率を改善[MLJ1]し、かつシステム性能の許容可能レベルを維持しながら、電力消費を低減するために、現在の入出力情報106及び記憶された過去の入出力情報(不図示)に基づいて、低電力状態を決定する。例えば、一実施形態では、プロセッサ120及びその関係する構成要素を、プロセッサ120がパワーゲーティングされる(例えば、電力オフ状態)超低電力状態に落とす代りに、電力管理器105が、現在の入出力情報106及び記憶された過去の入出力情報(不図示)に基づいて、プロセッサ120がクロックゲーティングされる低電力状態を決定し、より高レベルの電力消費を有する。より高い電力状態を決定し、そのより高い電力状態をプロセッサ120に適用することにより、ある入出力動作中に超低電力状態に入りそこからすぐに抜け出してしまうことによって生じる、待ち時間及び効率への悪影響を避けることができる。
一実施形態では、現在の入出力情報106は、現在の入出力動作の、方向、規模、サービス品質及びメディアタイプを含むことができる。一実施形態では、電力管理器105により、決定された電力状態がデバイス100全体に適用される。別の実施形態では、電力管理器105により、決定された電力状態が集積回路110に適用される。更に別の実施形態では、電力管理器105によって、決定された電力状態が、プロセッサ120及びメモリコントローラ125、揮発性メモリ130などの、プロセッサに関係するいくつかの構成要素に適用される。
一実施形態では、集積回路110は、複数のプロセッサ及び/又は複数の処理コアを含む。その実施形態では、電力管理器105は、決定された電力状態を集積回路110に適用することにより、集積回路110の全体のアイドル電力状態を制御する。集積回路110は、一つのコアがアクティブであっても、達成可能なアイドル状態に抑えられている。例えば、一実施形態では、電力管理器105が、決定された電力状態をそのコアに適用することによって、入出力サブシステムから完了割り込みを受信するコアのアイドル電力状態を制御する。一実施形態では、入出力サブシステムからの完了割り込みは、実行の複雑化を避けるために、指定されたコアによって受信されるように制限されている。
図2は、電力管理器105の一実施形態の詳細なブロック図である。一実施形態では、上記図1に示されているように、電力管理器105は、オペレーティングシステムの一部である。別の実施形態では、電力管理器105は、デバイスの電力消費を管理する独立したハードウェア/ソフトウェアモジュールである。図2において、電力管理器105は、積算器210及び過去の入出力データ記憶装置[MLJ2]220を含む。
一実施形態では、積算器210は、現在の入出力情報106をブロック記憶ドライバ(不図示)から受信し、現在の入出力情報106を過去の入出力データ記憶装置220に記憶する。一実施形態では、現在の入出力情報106は、現在の入出力動作の、方向、規模、サービス品質及びメディアタイプを含むことができる。積算器210は、過去の入出力データ225を過去の入出力データ記憶装置[MLJ3]220から受信することもできる。一実施形態では、過去の入出力データ225は、標本期間における入出力動作の数、入出力動作の到着間隔、読み取り動作の総規模及び書き込み動作の総規模を含むことができる。一実施形態では、積算器210は、現在の入出力情報106及び過去の入出力データ225に基づいて、電力状態230を決定する。
一実施形態では、積算器210によって出力される電力状態230は、低電力状態である。一実施形態では、決定された電力状態230が、デバイス全体に適用される。別の実施形態では、決定された電力状態230が、プロセッサ及びプロセッサに密に関連する構成要素(例えば、メモリコントローラ及びDRAM)に適用される。
過去の入出力データ記憶装置220は、現在の入出力情報106を受信し、現在の入出力情報106を、過去の入出力データの一部として記憶する。一実施形態では、各入出力動作に対する情報は、別々の項目として過去の入出力データ記憶装置220に記憶される。別の実施形態では、入出力動作に対する情報は、統合されて過去の入出力データ記憶装置220に記憶される。過去の入出力データ記憶装置220は、過去の入出力データ225を積算器210に供給する。
一実施形態では、積算器210は、効率を改善[MLJ4]し、かつシステム性能の許容可能レベルを維持しながら、電力消費を低減するために、現在の入出力情報106及び過去の入出力データ225に基づいて、適切な低電力状態230を決定する。例えば、一実施形態では、プロセッサを、プロセッサの回路ブロックがパワーゲーティングされる超低電力状態に落とす代りに、積算器210が、現在の入出力情報106及び過去の入出力データ225に基づいて、プロセッサのほとんどの回路ブロックがクロックゲーティングされる電力状態230を決定し、それにより、エネルギー消費はより多くてもより待ち時間の少ない遷移をもたらす。より高い電力状態を選択し、そのより高い電力状態をプロセッサに適用することにより、多くのプロセッサがパワーゲーティングされている時のように、すべての状態を再初期化及び再ロードするのではなく、入出力動作が完了したことを示す割り込みが到着した時、クロックゲーティングされたプロセッサが、クロックゲーティングを無効とする信号を受信のみである。その結果、ある入出力動作中に超低電力状態に入りそこからすぐに抜け出してしまうことによって生じる、待ち時間及び悪影響を避けることができる。
例えば、ページングは、コンピュータがデータを、メインメモリでの使用のために、同一規模ブロック(すなわちページ)で、補助メモリに記憶し、補助メモリから取り出すメモリ管理方式である。ページングストーム中、短時間で多くのページング要求が発行され、非常に多くの入出力動作が実行される。例えば、一実施形態では、ページングストームは、アプリケーションプログラムの起動中に発生する。電力状態制御が入出力情報に基づいていない時、ページングストーム中に入出力要求が発行される毎に、プロセッサは深い低電力状態に落ちる可能性がある(例えば、電力消費が非常に低レベルであり、再アクティブ化のための長い待ち時間を有するであろう、パワーゲーティングされた状態)。一旦、入出力動作が完了すると、プロセッサが深い低電力状態から抜け出し、入出力サブシステムから受信したデータを更に処理するためには、長い時間及び非常に多くの電力を要するであろう。このことは、システムの性能及び効率に悪影響を与えるであろう。なぜなら、ユーザはアプリケーションの起動をより長時間待たなければならないであろうし、深い低電力状態への頻繁の出入りでは、電力が浪費される。
入出力に基づいた電力状態制御では、ページングストーム中に入出力要求が発行される毎に、プロセッサの電力状態は、入出力動作及び過去の入出力データの特性を考慮して決定される。アプリケーションの起動によって起きるページングストームの場合、各入出力動作は高Qosを有する。なぜなら、ユーザは、アプリケーションプログラムが起動されるのを待っているからである。ページングストームに関係する過去の入出力情報によれば、入出力動作数は多く、入出力動作の到着間隔は短い、ことが示されているであろう。その結果、システム効率を改善し、かつ高レベルのシステム性能を維持しながら、少ない電力を節約するために、浅い低電力状態(例えば、比較的高電力消費レベル及び非常に短い待ち時間のアイドルプロセッサ電力状態)が、ページングストームに関わる入出力動作にわたって選択されるであろう。異なる電力状態間での遷移中、ユーザが知覚する、起動されるアプリケーションの待機は短くなるであろうし、より少ないエネルギーが消費されている。
電力管理器105は、本開示の一実施形態について上述したものである。当業者であれば、他の実施形態では、このモジュールを違う方法で実施できることが分かるであろう。例えば、上記の一実施形態では、或るモジュールはソフトウェアモジュールとして実施される。しかしながら、別の実施形態では、いくつかの又は全てのモジュールは、専用特定用途ハードウェア(例えば、ASICチップやコンポーネント)又は汎用のチップ(例えば、マイクロポロプロセッサやFPGA)でありうる、ハードウェアによって実施されるかもしれない。
図3は、入出力情報に基づいて電力状態を制御することによってシステム性能を管理するプロセス300の一実施形態のフローチャートを示す。一実施形態では、上記図1及び図2に記載された電力管理器105は、システム効率を改善し、かつシステム性能の許容可能レベルを維持しながら、電力消費を低減するために、プロセス300を実行して適切な低電力状態を決定する。図3Aでは、プロセス300は、デバイスに対する過去の入出力情報を収集、統合する(ブロック305)ことから始まる。一実施形態では、図2に記載されているように、積算器210が現在の入出力情報を収集し、その現在の入出力情報を過去の入出力情報に統合する。一実施形態では、過去の入出力情報は、標本期間における入出力動作の数、入出力動作の到着間隔、読み取り動作の総規模及び書き込み動作の総規模を含むことができる。
ブロック310において、プロセス300は、現在の入出力動作に関する入出力情報を受信する。一実施形態では、現在の入出力情報は、現在の入出力動作の、方向、規模、サービス品質及びメディアタイプを含むことができる。
一実施形態では、現在の入出力情報は、実行されるべき入出力動作に関する情報である。別の実施形態では、現在の入出力情報は、予測情報である。例えば、一実施形態では、オペレーティングシステムは、ファイルに対する順次アクセスを察知することができる。そのシステムは、入出力動作に備えるものの、実際には入出力動作に対する入出力要求を発行せず、この入出力動作は予測であることを示すフラグを設定する、選択をすることができる。
ブロック315において、プロセス300は、過去の入出力情報及び現在の入出力情報に基づいて、デバイスに対する電力状態を決定する。一実施形態では、ブロック315で決定された電力状態は、システム効率を改善し、かつシステム性能の合理的なレベルを維持しながら電力消費を低減する低電力状態である。例えば、一実施形態では、プロセッサを、プロセッサがパワーゲーティングされる超低電力状態に落とす代りに、プロセス300が、現在の入出力情報及び過去の入出力情報に基づいて、プロセッサがクロックゲーティングされる電力状態を決定し、それにより、より高レベルの電力消費を有する。より高い電力状態を決定し、そのより高い電力状態をプロセッサに適用することにより、ある入出力動作中に超低電力状態に入りそこからすぐに抜け出してしまうことによって生じる、待ち時間の及び効率への悪影響を避けることができる。
一実施形態では、現在の入出力の予測フラグが立つと、より長い時間にわたる電力状態の決定を計画できる。例えば、一実施形態では、プロセス300が、一連の入出力動作の総待ち時間に上限を定め、それに従って電力状態を決定する。一実施形態では、現在の入出力の予測フラグが立つと、プロセス300は、電力管理の積極性を低減することができる。
プロセス300により、(ブロック320において、)決定された電力状態が適用される。一実施形態では、電力状態はデバイス全体に適用される。別の実施形態では、電力状態は、デバイスのプロセッサ及びメモリコントローラ及びRAMなどのプロセッサに関係する構成要素に、適用される。
当業者であれば、プロセス300は、システム性能の管理に使用される動作の概念的表示であることが、理解できるであろう。プロセス300の特定の動作は、図示及び説明された厳密な順序で実行されなくともよい。特定の動作は、連続した一連の動作としては実行されず、異なる特定の動作は、異なる実施形態で実行できる。更に、プロセス300は、いくつかのサブプロセスを使用して、又はより大きなマクロプロセスの一部として、実行できるであろう。
入出力に基づいた電力状態制御のプロセスは、電力管理器の観点から図3Aに記載されている。図3Bは、入出力情報に基づいて電力状態を制御することによりシステム性能を管理する、別のプロセス350の一実施形態のフローチャートを示している。図3Bには、入出力動作の観点から、入出力に基づいた電力状態制御のプロセスが記載されている。一実施形態では、図1に記載されたデバイス100がプロセス350を実行する。図3Bでは、プロセス350は、(ブロック355において)過去の入出力データを収集することにより始まる。一実施形態では、過去の入出力データは、標本期間における入出力動作数、入出力動作の到着間隔、読み取り動作の総規模及び書き込み動作の総規模を含むことができる。
ブロック360において、プロセス350は、実行されるべき入出力動作を決定する。一実施形態では、入出力動作は、読み取り動作又は書き込み動作である。ブロック365において、プロセス350は、入出力動作の特性を決定する。一実施形態では、入出力動作の特性は、方向、規模、サービス品質及びメディアタイプを含むことができる。
一実施形態では、現在の入出力情報は、実行されるべき入出力動作に関する情報である。別の実施形態では、現在の入出力情報は、予測情報である。例えば、一実施形態では、オペレーティングシステムは、ファイルに対する順次アクセスを察知することができる。そのシステムは、入出力動作に備えるものの、実際には入出力動作に対する入出力要求を発行せず、この入出力動作は予測であることを示すフラグを設定する、選択をすることができる。
ブロック370において、プロセス350は、過去の入出力データ及び入出力動作の特性に基づいて、低電力状態を決定する。一実施形態では、ブロック370で決定された低電力状態は、システム効率を改善し、かつシステム性能の合理的なレベルを維持しながら電力消費を低減する低電力状態である。例えば、一実施形態では、プロセッサを、プロセッサがパワーゲーティングされる超低電力状態に落とす代りに、プロセス350が、現在の入出力動作の特性及び過去の入出力データに基づいて、プロセッサがクロックゲーティングされる低電力状態を決定し、それにより、より高レベルの電力消費を有する。より高い電力状態を決定し、そのより高い電力状態をプロセッサに適用することにより、ある入出力動作中に超低電力状態に入りそこからすぐに抜け出してしまうことによって生じる、待ち時間及び効率への悪影響を避けることができる。
一実施形態では、現在の入出力の予測フラグが立つと、より長い時間にわたる電力状態の決定を計画できる。例えば、一実施形態では、プロセス350が、一連の入出力動作の総待ち時間に上限を定め、それに従って電力状態を決定する。一実施形態では、現在の入出力の予測フラグが立つと、プロセス350は、電力管理の積極性を低減することができる。例えば、一実施形態では、パワーゲーティングされた状態の代わりにクロックゲーティングされた状態を使用することにより、より積極的ではない電力管理が実施される。
ブロック375において、プロセス350は、入出力動作に対する入出力命令を発行する。プロセス350は、(ブロック380)において、決定された低電力状態に入る。一実施形態では、低電力状態が、デバイス全体に適用される。別の実施形態では、低電力状態が、プロセッサ及びメモリコントローラ及びDRAMなどのプロセッサに深く関係する関連要素に適用される。
ブロック385において、プロセス350は、入出力動作が完了した通知を受信する。一実施形態では、通知は、入出力処理を実行した記憶装置から発信される。ブロック390において、プロセッサは、入出力動作の結果を処理するために低電力状態から抜け出す。
当業者であれば、プロセス350は、システム性能の管理に使用される操作の概念的表示であることが、理解できるであろう。プロセス350の特定の動作は、図示及び説明された厳密な順序で実行されない可能性がある。例えば、ブロック370及びブロック375の動作は、並行して実行したり、逆順序で実行したりできる。特定の動作は、連続した一連の動作としては実行されず、異なる特定の動作は、異なる実施形態で実行できる。更に、プロセス350は、いくつかのサブプロセスを使用して、又はより大きなマクロプロセスの一部として、実施できるであろう。
図4は、一実施形態において使用される現在の入出力情報の一例を示す。図に示されたように、現在の入出力情報106には、入出力方向405、入出力規模410、入出力Qos415及び入出力メディアタイプ420を含む情報項目が含まれるが、情報項目はこれらに限定されるものではない。一実施形態では、現在の入出力動作に対する情報項目のうちの1つ以上は、システム効率を改善し、かつシステム性能の許容可能レベルを維持しながら、電力消費を低減するために、適切な低電力状態を決定するのに使用することができる。
入出力方向405は、入出力動作の方向(例えば、読み取り又は書き込み)を表す。一実施形態では、入出力動作が書き込み動作である場合、低電力状態の決定につき、現在の入出力情報106は無視される。なぜなら、書き込み動作はブロック記憶においてバッファリングされ、プロセッサは、書き込み動作が完了しても作動しないからである。その実施形態では、書き込み動作に関する情報が電力状態の決定に影響を与えないのに対し、読み取り動作に関する情報は、電力状態の決定に影響を与えることができる。一実施形態では、読み取り動作に関する情報が受信されている間、より浅い低電力状態(すなわち、入出力情報を考慮しない電力状態より、高い電力消費レベルの電力状態及び短い待ち時間の電力状態)が選択されるであろう。
当業者であれば、高電力消費レベルは全面稼働の電力レベルより小さく、低電力消費レベルは完全な電力オフより大きいことを、理解できるであろう。当業者であれば、「高」は「無電力」に対する比較で使われ、「低」は「フル電力」に対する比較で使われていることも、理解できるであろう。
入出力規模410は、入出力動作の規模(例えば、関わるデータの量)を表す。一実施形態では、大規模の入出力動作には、低電力状態を決定するのに、小規模の入出力動作に比べてより少ない重みづけが与えられる。なぜなら、大規模な入出力動作は、完了するのにより長い時間を要し、直後の電力状態に与える影響はより少ないからである。それに対し、小規模の入出力動作は早く完了し、直後の電力状態により多くの影響を与える。一実施形態では、大規模な入出力動作では、より深い低電力状態(すなわち、より低い電力消費レベル及びより長い待ち時間)が選択される一方、小規模な入出力動作では、より浅い低電力状態(すなわち、より高い電力消費レベル及びより短い待ち時間)が選択されるであろう。
Qos415は、その入出力動作が重要であるか否かを表示する。一実施形態では、低Qosが付された入出力動作は、電力状態の決定について、ほとんど影響を与えないか、全く影響を与えない。その実施形態では、高Qosが付された入出力動作(例えば、ページング操作)には、電力状態の決定について、より多くの影響を与える。例えば、一実施形態では、低Qosの入出力動作には、電力状態の決定に関し、完全に除去されるか、より低く重みづけられる。例えば、一実施形態では、中品質サービスの入出力動作には、重要な入出力動作(例えばページングからの)のちょうど半分に重みづけされるかもしれない。例えば、一実施形態では、中Qosの入出力動作では、より深い低電力状態(例えば、高Qosの入出力動作に対する電力状態の電力消費レベルの約半分の電力状態)が選択される一方、高Qosの入出力処理では、より浅い低電力状態(すなわち、より高い電力消費レベル及びより短い待ち時間)が選択されるであろう。
入出力メディアタイプ420は、入出力動作が実行されるメディアの型(例えば、ソリッドステートドライブ又はハードドライブ)を表す。一実施形態では、ハードドライブで実行される入出力動作は、ソリッドステートドライブで実行される入出力動作より、電力状態の決定に与える影響が少ない。なぜなら、ハードドライブの入出力動作に対する待ち時間がより長く、よって、入出力動作の完了が直後の電力状態に与える影響が、より少ないからである。一実施形態では、ハードドライブの入出力動作では、より深い低電力状態(すなわち、より低い電力消費レベル及びより長い待ち時間)が選択される一方、ソリッドステートドライブの入出力動作では、より浅い低電力状態(すなわち、より高い電力消費レベル及びより短い待ち時間)が選択されるであろう。
低電力状態の決定に対する、現在の入出力情報106の各情報項目の効果は、上記で個々に議論されている。しかしながら、その技術分野の当業者であれば、低電力状態の決定を更に改善するために、2つ以上の情報項目を結合することができることを、理解するであろう。一実施形態では、低電力状態は、現在の入出力情報106の2つ以上の情報項目の累積効果に基づいて、決定される。
図5は、一実施形態において使用される過去の入出力情報の一例を示す。図で示されているように、過去の入出力データ225には、入出力動作数505、入出力動作の到着間隔510、読み取り動作の総規模515及び書き込み動作の総規模520を含む情報項目が含まれるが、情報項目はこれらに限定されるものではない。一実施形態では、過去の入出力データに対する情報項目のうちの1つ以上は、システム効率を改善し、かつシステム性能の合理的レベルを維持しながら電力消費を低減するために、適切な低電力状態の決定に使用することができる。
入出力動作数505は、標本期間における入出力動作の数である。一実施形態では、入出力動作数が少ない時は、より深い低電力状態(すなわち、より低い電力消費レベル及びより長い待ち時間[MLJ5])が選択される一方、入出力動作数が多い時は、より浅い低電力状態(すなわち、より高い電力消費レベル及びより短い待ち時間)が選択されるであろう。一実施形態では、入出力動作数が多いほど、低電力状態がより浅くなるであろう。
一実施形態では、入出力動作の到着間隔は、標本期間における入出力動作の到着間隔の平均を表す。一実施形態では、入出力動作の到着間隔が長い場合、より深い低電力状態(例えば、より低い電力消費レベル及びより長い待ち時間)が選択される一方、入出力動作の到着間隔が短い場合、より浅い低電力状態(すなわち、より高い電力消費レベル及び短い待ち時間)が選択されるであろう。一実施形態では、入出力動作の到着間隔がより短いほど、低電力状態がより浅くなるであろう。
読み取り動作515の総規模は、標本期間における読み取り動作の規模合計である。一実施形態では、読み取り動作の総規模が大きい場合、より深い低電力状態(例えば、より低い電力消費レベル及びより長い待ち時間)が選択される一方、読み取り動作の総規模が小さい場合、より浅い低電力状態(すなわち、より高い電力消費レベル及び短い待ち時間)が選択されるであろう。一実施形態では、読み取り動作の総規模が小さいほど、低電力状態がより浅いであろう。
書き込み動作の総規模520は、標本期間における書き込み動作の規模合計である。一実施形態では、書き込み動作の総規模が大きい場合、より深い低電力状態(例えば、より低い電力消費レベル及びより長い待ち時間)が選択される一方、書き込み動作の総規模が小さい場合、より浅い低電力状態(すなわち、より高い電力消費レベル及びより短い待ち時間)が選択されるであろう。一実施形態では、書き込み動作の総規模が小さいほど、低電力状態がより浅いであろう。
低電力状態の決定に対する、過去の入出力データ225の各情報項目の効果は、上記で個々に議論されている。しかしながら、その技術分野の当業者であれば、低電力状態の決定を更に改善するために、2つ以上の情報項目を結合することができることを、理解するであろう。一実施形態では、低電力状態は、過去の入出力データ225の2つ以上の情報項目の累積効果に基づいて、決定される。
図6は、入出力情報に基づいて補正される電力状態の一実施形態の一例を示す。図6において、チャート600のX軸上に、いくつかの異なる時点(610Aから610F)を特定する。この期間中、3つの入出力動作が発生した。第一の入出力動作は、610Aの時に発行され、610Bの時に完了している。第二の入出力動作は、610Cの時に発行され、610Dの時に完了している。第三の入出力動作は、610Eの時に発行され、610Fの時に完了している。
図6において、チャート600のY軸上に、いくつかの異なる電力状態(620Aから620E)も特定する。待ち時間とは、プロセッサが意図された機能を実行する、低電力状態からより高い電力状態に遷移する時間の量である。電力状態がチャート600の原点に近いほど、電力状態は、より低い電力消費レベル及びより長い待ち時間を有する。電力状態がチャート600の原点から遠いほど、電力状態は、より高い電力消費レベル及びより短い待ち時間を有する。例えば、電力状態620Dは、電力状態620Aから620Cより、高い電力消費レベル及び短い待ち時間を有する。
一実施形態では、第一、第二及び第三の入出力動作は、同じ特性のものである。例えば、同じ規模で同じQos等である。その実施形態では、電力状態は、第一の入出力動作が発行される前に、620Aにて設定される。610Aの時点では、過去の入出力情報は全くない。一実施形態では、過去の入出力情報が全くないことは、過去の入出力情報が全く記憶されていないことを意味する。別の実施形態では、過去の入出力情報が全くないことは、より古い過去の入出力情報は失効して分析に使われないことを意味する。更に、別の実施形態では、過去の入出力情報が全くないことは、期間内入出力動作が全くないことを意味する。610Aの時点で、第一の入出力動作を発行するために、電力状態は620C[MLJ6]に上昇する。610Bの時点で、第一の入出力動作は完了し、電力状態は620Bに下落する。
610Cの時点で、第一の入出力動作の発生及び場合によっては、それ以前の他の入出力動作の発生に伴って使用できる過去の入出力情報が存在する。使用できる過去の入出力情報が存在するので、電力状態が610Cの時点で620Dまで上昇する。それは、第二の入出力動作を発行するために、610Aの時点における時よりも電力消費の大きな上昇である。610Dの時点では、第二の入出力動作が完了し、電力状態は620Cまで下落し、それは、第一の入出力動作が完了した後の電力状態620Bより、高い電力消費レベル及び短い待ち時間を有する。
610Eの時点では、第一と第二の入出力動作の発生及び場合によっては、それ以前の他の入出力動作の発生に伴って、より多くの使用できる過去の入出力情報が存在する。より多くの使用できる過去の入出力情報が存在するので、電力状態が610Eの時点で620Eまで上昇する。それは、第三の入出力動作を発行するために、610Cの時点における時よりも電力消費の更に大きな上昇である。610Fの時点では、第三の入出力動作が完了し、電力状態は620Dまで下落し、それは、第二の入出力動作が完了した後の電力状態620Cより、更に高い電力消費レベル及び短い待ち時間を有する。
図6は、益々過去の入出力情報が使用できる時、電力状態が飛躍的に上昇することを示す。高電力消費レベル及び短い待ち時間を有する電力状態が、システム効率を改善しながら電力消費を低減し、かつシステム性能の合理的レベルを保証するために、入出力動作を処理するように維持される。
図7は、本開示の一実施形態と共に使用できるデータ処理システム700の一例を示す。例えば、処理システム700は、図1に示されたデバイス100で実行できる。図7は、デバイスの様々な構成要素を示すが、それらの詳細は本開示と密接に関連するものではないため、それらの構成要素を相互接続する、いずれかの特定のアーキテクチャ又は方式を表すことを意図するものではない点を理解されたい。より少ない構成要素又はおそらくより多い構成要素を有する、ネットワークコンピュータ、他のデータ処理システム及び他の家庭用電子機器が、本開示と共に使用できることも、理解できるであろう。
図7に示されているように、データ処理システム型のデバイス700は、マイクロプロセッサ(単数又は複数)705、ROM(読み取り専用メモリ)707、揮発性RAM709及び不揮発性メモリ711に連結されているバス703を含む。マイクロプロセッサ705は、キャッシュメモリ704に連結されている。キャッシュメモリ704は、揮発性メモリでも不揮発性メモリでもよい。マイクロプロセッサ705は、メモリ707,709,711及び704から命令を取り出し、上記の動作を実行するためにそれらの命令を実行する。バス703は、様々な構成要素を相互接続し、これら構成要素705、707,709,及び711をディスプレイコントローラ及びディスプレイ装置713並びに入出力装置715などの周辺機器に相互接続する。入出力装置715は、マウス、キーボード、モデム、ネットワークインターフェース、プリンタ及びこの技術分野で周知の他のデバイスであってもよい。
通常、入出力装置715は、入出力制御装置710を通してそのシステムに連結されている。揮発性RAM(ランダムアクセスメモリ)709は、通常、メモリ中のデータをリフレッシュ又は維持するために継続して電力を必要とするダイナミックRAM(DRAM)として実装される。
大容量記憶装置711は、通常、電力がシステムから除去された後でもデータ(例えば、大容量データ)を維持する、磁気ハードドライブ、磁気光ドライブ、光ドライブ、DVD RAM、フラッシュメモリ又は他の型のメモリシステムである。通常、大容量記憶装置711はRAMであってもよいが、必要ではない。図7は、大容量記憶装置711が、データ処理システムの他の構成要素に直接連結されているローカルデバイスであることを示しているが、本開示は、モデム、イーサネットインターフェース又は無線ネットワークなどのネットワークインターフェースを通して、データ処理システムに連結されているネットワーク記憶装置などのシステムからリモートにある、不揮発性メモリを利用することもできることも、理解できるであろう。バス703は、その技術分野で周知の、様々なブリッジ、コントローラ及び/又はアダプタを通して相互に接続される1つ以上のバスを含んでもよい。
図8は、本開示の一実施形態と共に使用できる別のデータ処理システム800の一例を示す。例えば、処理システム800は、図1に示されたデバイス100として実行できる。図8に示されたデータ処理システム800は、1つ以上のマイクロプロセッサ又はチップ集積回路上のシステムであり得る処理システム811を含み、更に、処理システム800は、その処理システムによって実行されるデータ及びプログラムを記憶するためのメモリ801も含む。システム800は、例えばスピーカ及びマイクロフォンを通してバックミュージックを演奏したり電話機能を提供したりするための、マイクロフォン及びスピーカを含むオーディオ入出力サブシステム805も含む。
ディスプレイコントローラ及びディスプレイ装置809は、ユーザに視覚ユーザーインターフェースを提供する。このデジタルインターフェースは、OSXオペレーティングシステムソフトウェア実行時のマッキントッシュコンピュータ又はiOSオペレーティングシステムを実行時のApple iPhone(登録商標)上で表示されるものなどに似たグラフィックユーザーインターフェースを含むことができる。システム800は、図8のシステム800のなどの別のデータ処理システムと通信するための1つ以上の無線送受信機803も含む。無線送受信機は、WLAN送受信機、赤外線送受信機、ブルートゥース送受信機及び/又は無線携帯電話型送受信機であってもよい。実施形態によっては、図示されない追加の構成要素がシステム800の一部であってもよく、実施形態によっては、図8に示されているよりも少ない構成要素がデータ処理システム内で使用されてもよいこともまた理解できるであろう。システム800は、図10中のシステムなどの別のデータ処理システムと通信するための1つ以上の通信ポート817を更に含む。通信ポートは、USBポート、Firewire(商標)ポート、ブルートゥースインターフェース等でもよい。
データ処理システム800は、ユーザがシステムに入力することを許可する1つ以上の入力装置813も含む。これらの入力装置は、キーパッド、キーボード、タッチパネル又はマルチタッチパネルでもよい。データ処理システム800は、ドックコネクタであり得る選択的入出力装置815も含む。更には、不図示の1つ以上のバスを使用して、当該技術分野において周知であるように、様々な構成要素を相互接続することができる点が、理解されるであろう。図8に示されたデータ処理システムは、携帯端末、携帯情報端末(PDA)、PDAの様な機能が付いた携帯電話、携帯電話を含む携帯端末、iPod(登録商標)などのメディアプレイヤー、それらのデバイスの態様や機能を結合したデバイス(1つのデバイス、組込機器又は他の家電製品における、PDA及び携帯電話と結合されたメディアプレイヤーなど)、であってもよい。他の実施形態では、データ処理システム800は、ネットワークコンピュータ、別のデバイス内の組込処理装置、又は、図8に示されたものより構成要素が少ないか又はおそらく多い、他の型のデータ処理システムであってもよい。
少なくとも、本開示のある実施形態では、メディアを表すためのメディア処理システムを含む、携帯音楽機器及び/又はビデオメディアプレイヤーなどのデジタルメディアプレイヤー、又は、メディアを記憶する記憶装置の一部でもよく、アンテナシステム及びメディア処理システムと連結された無線周波送受信機(例えば、携帯電話用無線周波送受信機)を更に含んでもよい。ある実施形態では、リモートの記憶装置に記憶されたメディアは、無線周波送受信機を通してメディアプレイヤーに転送され得る。例えば、メディアは、音楽若しくは他のオーディオ、静止画、又は動画のうちの1つ以上であってもよい。
携帯メディアプレイヤーは、Apple,Inc(カリフォルニア州Cupertino)のiPod(登録商標)又はiPod Nano(登録商標)上のクリックホイール入力装置、タッチスクリーン入力装置、プッシュボタン装置、可動ポインティング入力装置又は他の入力装置などのメディア選択装置を含んでもよい。メディア選択装置は、記憶装置及び/又はリモートの記憶装置に記憶されたメディアを選択するために、使うことができる。少なくともある実施形態では、携帯メディアプレイヤーは、入力装置を通して選択され、スピーカ、イヤホン(単数又は複数)、ディスプレイ装置上又は、ディスプレイ装置上及びスピーカ若しくはイヤホン(単数又は複数)に表された、メディアのタイトル及び他のインジケータを表示するためのメディア処理システムに連結されたディスプレイ装置を含んでもよい。携帯メディアプレイヤーの例は、米国特許第7,345,671号及び同第7,627,343号に記載されており、これら両者を参照することにより本明細書に援用される。
上述されたものの諸部分は、専用論理回路などの論理回路で、又はプログラムコード命令を実行する、マイクロコントローラ若しくは他の形態のプロセッシングコアで実行することができる。それゆえ、上記の考察によって教示される処理は、機械実行可能命令などのプログラムコードで実行することができ、このプログラムコードは、これらの命令を実行するマシンに特定の機能を実行させる。この文脈では、「マシン」は、中間形態(又は「抽象」)命令を、プロセッサ固有命令に変換するマシン(例えば、「仮想マシン」(例えば、Java仮想マシン)、インタープリタ、共通言語ランタイム、高級言語仮想マシンなどの、抽象的実行環境)、並びに/又は、汎用プロセッサ及び/若しくは専用プロセッサの命令を実行するように設計された、半導体チップ上に配置される電子回路(例えば、トランジスタで実装される「論理回路」)とすることができる。上記の考察によって教示されるプロセスはまた、プログラムコードを実行することなく、それらのプロセス(又は処理の一部分)を実行するよう設計された、電子回路によって(機械の代わりに、又は機械と組み合わせて)実行することもできる。
本開示はまた、本明細書に記載された動作を実行するための機器にも関する。この機器は、必要な目的のために特別に構築されてもよく、又はデバイスに記憶されたコンピュータプログラムにより選択的にアクティブ化されるか若しくは再構成される汎用デバイスを含むものでもよい。そのようなコンピュータプログラムは、以下に限定するものではないが、フロッピーディスク、光ディスク、CD−ROM、及び磁気光ディスクを含めた任意のタイプのディスク、読み出し専用メモリ(ROM)、RAM、EPROM、EEPROM、磁気若しくは光カード、又は電子命令の記憶に好適な任意のタイプの媒体などの、それぞれがデバイスバスに結合される、コンピュータ可読記憶媒体内に記憶することができる。
機械読取可能な媒体は、機械(例えばコンピュータ)によって読取可能な型で情報を記憶又は転送するための任意の方式を含む。例えば、機械読取可能な媒体は、読み出し専用メモリ(ROM)ランダムアクセスメモリ(RAM)磁気ディスク記憶媒体光記憶媒体フラッシュメモリデバイス等を含む。
製品を使用して、プログラムコードを記憶することができる。プログラムコードを記憶する製品は、1つ以上のメモリ(例えば、1つ以上のフラッシュメモリ、ランダムアクセスメモリ(スタティック、ダイナミック、又はその他))、光ディスク、CD−ROM、DVD ROM、EPROM、EEPROM、磁気若しくは光カード、又は電子命令の記憶に好適な他のタイプの機械可読媒体として具体化することができるが、これらに限定されない。プログラムコードはまた、伝搬媒体中に具体化されるデータ信号によって(例えば、通信リンク(例えば、ネットワーク接続)を介して)、リモートコンピュータ(例えば、サーバ)から要求側コンピュータ(例えば、クライアント)にダウンロードすることもできる。
上記の詳細な説明は、デバイスメモリ内部のデータビット上での操作の、アルゴリズム及びシンボリックな表現の観点から表されている。これらのアルゴリズムの説明及び表現は、データ処理技術の当業者によって、その作業内容の本質を他の当業者に最も効果的に伝えるために使用されるツールである。アルゴリズムとは、本明細書では、及び概して、所望の結果をもたらす、自己矛盾のない動作のシーケンスであると考えられる。それらの動作は、物理量の物理的操作を必要とするものである。通常は、必須ではないが、これらの量は、記憶、転送、組み合わせ、比較、及び他の方式での操作が可能な、電気信号若しくは磁気信号の形態を取る。主として一般的な使用の理由から、これらの信号を、ビット、値、要素、記号、文字、用語、数字などと称することが、好都合な場合があることが判明している。
しかしながら、これらの用語、及び同様の用語の全ては、適切な物理量と関連付けられるものであり、これらの量に適用される便宜的な標識にすぎない点に留意するべきである。特に具体的な記述がない限り、上記の考察から明らかであるように、説明全体を通して、「受信する」又は「選択する」又は「決定する」又は「収集する」又は「適用する」又は「入る」などの用語を利用する考察は、コンピュータシステムのレジスタ若しくはメモリ内の物理(電子)量として表されるデータを操作して、デバイスのメモリ又はレジスタ、あるいは他のそのような情報記憶装置、伝送装置、又はディスプレイ装置内の物理量として同様に表される他のデータへと変換する、デバイス又は同様の電子コンピューティング装置の、動作並びにプロセスを指すことが理解されよう。
本明細書で提示されるプロセス及び表示は、いずれかの特定のデバイス若しくは他の機器に、固有に関連するものではない。様々な汎用システムを、本明細書での教示に従ったプログラムで使用することができ、又は、説明される動作を実行するための、より特殊化された装置を構築することが、好都合であると判明する場合もある。様々なこれらのシステムに関して必要とされる構造は、以下の説明から明らかであろう。更に、本開示は、いずれかの特定のプログラミング言語に関連して記しているものではない。様々なプログラミング言語を使用して、本明細書に記されている本開示の教示を実施することが可能であることが、理解されるであろう。
上記の考察は、本開示のいくつかの例示的実施形態を記載したに過ぎない。当業者であれば、上記の考察、添付図面及び特許請求の範囲から、本開示の趣旨と範囲から離れることのない様々な変更が可能であることが、すぐに分かるであろう。

Claims (20)

  1. 1つ以上の処理ユニットにデータ処理システムの性能管理する方法を実行させる実行可能命令を有する非一時的機械可読媒体であって、
    前記方法は、
    前記データ処理システムに対する過去の入出力情報を収集することと、
    前記データ処理システムの現在の入出力動作の入出力情報を受信することと、
    前記過去の入出力情報及び前記現在の入出力動作の前記入出力情報に基づいて、前記データ処理システムに対する電力状態を決定することと、
    を含む、非一時的機械可読媒体。
  2. 前記方法は、
    前記の決定された電力状態を前記データ処理システムのプロセッサに適用することを、更に含む、請求項1に記載の非一時的機械可読媒体。
  3. 前記現在の入出力動作の前記入出力情報は、前記入出力動作の方向を含み、前記入出力動作の前記方向は読み取り及び書き込みのうちの一つである、請求項1に記載の非一時的機械可読媒体。
  4. 前記入出力動作の前記方向が書き込みであることに応じて、前記現在の入出力情報は、前記電力状態の前記決定することにおいて無視される、請求項3に記載の非一時的機械可読媒体。
  5. 前記入出力動作の前記方向が読み取りであることに応じて、前記電力状態の前記決定することは、高電力消費レベル及び短い待ち時間の電力状態の選択を含む、請求項3に記載の非一時的機械可読媒体。
  6. 前記現在の入出力動作の前記入出力情報は、前記入出力動作の規模を含み、前記入出力動作の前記規模は、前記入出力動作に関わるデータの量を含む、請求項1に記載の非一時的機械可読媒体。
  7. 前記現在の入出力動作は第一の入出力動作であり、前記電力状態は第一の電力状態であり、前記方法は、第二の入出力動作の入出力情報を受信することと、前記過去の入出力情報及び前記第二の入出力動作の前記入出力情報に基づいて、第二の電力状態を決定することと、を更に含み、前記第一の入出力動作の前記規模は前記第二の入出力動作の規模より小さく、前記第一の電力状態は、前記第二の電力状態より高い電力消費及びより短い待ち時間を有するように決定される、請求項6に記載の非一時的機械可読媒体。
  8. 前記現在の入出力動作の前記入出力情報は、前記現在の入出力動作のサービス品質を含む、請求項1に記載の非一時的機械可読媒体。
  9. 前記現在の入出力動作は第一の入出力動作であり、前記電力状態は第一の電力状態であり、前記方法は、第二の入出力動作の入出力情報を受信することと、前記過去の入出力情報及び前記第二の入出力動作の前記入出力情報に基づいて、第二の電力状態を決定することと、を更に含み、前記第一の入出力動作の前記サービス品質は前記第二のサービス品質より高く、前記第一の電力状態は、前記第二の電力状態より高い電力消費及びより短い待ち時間を有するように決定される、請求項8に記載の非一時的機械可読媒体。
  10. コンピュータにより実行される、デバイスの性能を管理する方法であって、前記方法は、
    前記デバイスに対する過去の入出力情報を収集することと、
    前記デバイスの現在の入出力動作の入出力情報を受信することと、
    前記過去の入出力情報及び前記現在の入出力動作の前記入出力情報に基づいて、前記デバイスに対する電力状態を決定することと、
    を含む、方法。
  11. 前記方法は、前記デバイスにおいて、前記決定された電力状態に入ることを更に含む、請求項10に記載の方法。
  12. 前記現在の入出力動作の前記入出力情報は、前記現在の入出力動作の規模を含み、前記現在の入出力動作の前記規模は、前記現在の入出力動作に関わるデータの量を含む、請求項10に記載の方法。
  13. 前記現在の入出力動作の前記入出力情報は、前記現在の入出力動作のサービス品質を含む、請求項10に記載の方法。
  14. 前記現在の入出力動作の前記入出力情報は、前記現在の入出力動作のメディアタイプを含む、請求項10に記載の方法。
  15. 前記電力状態の前記決定することは、前記現在の入出力動作の前記メディアタイプがソリッドステートドライブであることに応じて、より高い電力消費及びより短い待ち時間の電力状態を選択することと、前記現在の入出力動作の前記メディアタイプがハードドライブであることに応じて、より低い電力消費及びより長い待ち時間の電力状態を選択することと、を含む、請求項14に記載の方法。
  16. プロセッサと、
    バスを通して前記プロセッサに連結されているメモリと、
    前記プロセッサに、過去の入出力情報を収集させ、入出力動作の現在の情報を受け取らせ、前記過去の入出力情報及び前記現在の情報に基づいて電力状態を決定させる、前記プロセッサによって前記メモリから実行されるプロセスと、
    を備えるデバイス。
  17. 前記過去の入出力情報は、標本期間における複数の入出力動作を含む、請求項16に記載のデバイス。
  18. 前記電力状態の前記決定することは、前記入出力動作数が多いことに応じて、より高い電力消費及びより短い待ち時間の電力状態を選択することと、前記入出力動作数が少ないことに応じて、より低い電力消費及びより長い待ち時間の電力状態を選択することと、を含む、請求項17に記載のデバイス。
  19. 前記過去の入出力情報は、標本期間における入出力動作の到着間隔を含む、請求項16に記載のデバイス。
  20. 前記電力状態の前記決定することは、入出力動作の前記到着間隔が短いことに応じて、より高い電力消費及びより短い待ち時間の電力状態を選択することと、入出力動作の前記到着間隔が長いことに応じて、より低い電力消費及びより長い待ち時間の電力状態を選択することと、を含む、請求項19に記載のデバイス。
JP2017538315A 2015-01-26 2016-01-22 入出力動作特性に基づくシステムオンチップアイドル電力状態制御のシステムと方法 Active JP6535749B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562108033P 2015-01-26 2015-01-26
US62/108,033 2015-01-26
US15/003,551 US11399344B2 (en) 2015-01-26 2016-01-21 System and method for SoC idle power state control based on I/O operation characterization
US15/003,551 2016-01-21
PCT/US2016/014628 WO2016122988A2 (en) 2015-01-26 2016-01-22 System and method for soc idle power state control based on i/o operation characterization

Publications (2)

Publication Number Publication Date
JP2018509682A true JP2018509682A (ja) 2018-04-05
JP6535749B2 JP6535749B2 (ja) 2019-06-26

Family

ID=56432997

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017538315A Active JP6535749B2 (ja) 2015-01-26 2016-01-22 入出力動作特性に基づくシステムオンチップアイドル電力状態制御のシステムと方法

Country Status (6)

Country Link
US (1) US11399344B2 (ja)
JP (1) JP6535749B2 (ja)
KR (1) KR102143269B1 (ja)
CN (1) CN107209544B (ja)
TW (1) TWI709031B (ja)
WO (1) WO2016122988A2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102552666B1 (ko) 2018-11-12 2023-07-10 삼성전자주식회사 전자 장치 및 그것의 동작 방법
US11947804B2 (en) * 2022-04-06 2024-04-02 Nvidia Corporation Hardware latency monitoring for memory device input/output requests

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001331243A (ja) * 2000-05-19 2001-11-30 Fujitsu Ltd 情報処理装置及び省電力制御方法及び省電力制御プログラムを格納した記録媒体
JP2013250791A (ja) * 2012-05-31 2013-12-12 Toshiba Corp プログラム、計算処理装置、メモリ管理方法および計算機

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040203797A1 (en) * 2002-09-05 2004-10-14 Jeremy Burr Method and apparatus for communications using distributed services in a mobile ad hoc network (MANET)
US7366921B2 (en) * 2004-04-23 2008-04-29 Hewlett-Packard Development Company, L.P. Selecting input/output devices to control power consumption of a computer system
US7251160B2 (en) * 2005-03-16 2007-07-31 Sandisk Corporation Non-volatile memory and method with power-saving read and program-verify operations
US7516342B2 (en) 2005-12-30 2009-04-07 Intel Corporation Method, apparatus and system to dynamically choose an optimum power state
US7861068B2 (en) * 2006-03-07 2010-12-28 Intel Corporation Method and apparatus for using dynamic workload characteristics to control CPU frequency and voltage scaling
US7827425B2 (en) 2006-06-29 2010-11-02 Intel Corporation Method and apparatus to dynamically adjust resource power usage in a distributed system
US7870407B2 (en) 2007-05-18 2011-01-11 Advanced Micro Devices, Inc. Dynamic processor power management device and method thereof
US7774631B1 (en) * 2007-06-30 2010-08-10 Emc Corporation Method and system for minimizing power consumption in a multiprocessor data storage system
US7971084B2 (en) 2007-12-28 2011-06-28 Intel Corporation Power management in electronic systems
US8156362B2 (en) 2008-03-11 2012-04-10 Globalfoundries Inc. Hardware monitoring and decision making for transitioning in and out of low-power state
US8230238B2 (en) * 2008-08-25 2012-07-24 International Business Machines Corporation Estimating power consumption in a computing environment
US8291249B2 (en) 2009-09-25 2012-10-16 Advanced Micro Devices, Inc. Method and apparatus for transitioning devices between power states based on activity request frequency
US8635469B2 (en) 2009-12-22 2014-01-21 Intel Corporation Method and apparatus for I/O devices assisted platform power management
FR2956446B1 (fr) * 2010-02-12 2012-07-27 Turbomeca Dispositif d'ejection de gaz d'un moteur a turbine a gaz et moteur a turbine a gaz
US8484498B2 (en) * 2010-08-26 2013-07-09 Advanced Micro Devices Method and apparatus for demand-based control of processing node performance
US8670205B1 (en) * 2010-09-29 2014-03-11 Western Digital Technologies, Inc. Hybrid drive changing power mode of disk channel when frequency of write data exceeds a threshold
US8976405B2 (en) * 2010-12-20 2015-03-10 Canon Kabushiki Kaisha Printing apparatus and control method therefor
US8417979B2 (en) 2010-12-23 2013-04-09 Western Digital Technologies, Inc. Method and system for progressive power reduction of inactive device while maintaining ready status with host
US8560749B2 (en) * 2011-02-11 2013-10-15 Intel Corporation Techniques for managing power consumption state of a processor involving use of latency tolerance report value
US8504753B2 (en) 2011-02-14 2013-08-06 Qnx Software Systems Limited Suspendable interrupts for processor idle management
KR20130002046A (ko) * 2011-06-28 2013-01-07 삼성전자주식회사 멀티 코어를 포함하는 저장 장치의 전력 관리 방법
US9372526B2 (en) * 2012-12-21 2016-06-21 Intel Corporation Managing a power state of a processor
US9417685B2 (en) * 2013-01-07 2016-08-16 Micron Technology, Inc. Power management
US9690353B2 (en) * 2013-03-13 2017-06-27 Intel Corporation System and method for initiating a reduced power mode for one or more functional blocks of a processor based on various types of mode request
US9201490B2 (en) 2013-03-15 2015-12-01 International Business Machines Corporation Power management for a computer system
US20160077576A1 (en) * 2014-09-17 2016-03-17 Abhinav R. Karhu Technologies for collaborative hardware and software scenario-based power management

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001331243A (ja) * 2000-05-19 2001-11-30 Fujitsu Ltd 情報処理装置及び省電力制御方法及び省電力制御プログラムを格納した記録媒体
JP2013250791A (ja) * 2012-05-31 2013-12-12 Toshiba Corp プログラム、計算処理装置、メモリ管理方法および計算機

Also Published As

Publication number Publication date
KR102143269B1 (ko) 2020-08-10
CN107209544B (zh) 2021-08-31
TWI709031B (zh) 2020-11-01
CN107209544A (zh) 2017-09-26
JP6535749B2 (ja) 2019-06-26
US11399344B2 (en) 2022-07-26
WO2016122988A3 (en) 2016-09-22
TW201640274A (zh) 2016-11-16
KR20170104564A (ko) 2017-09-15
WO2016122988A2 (en) 2016-08-04
US20160219525A1 (en) 2016-07-28

Similar Documents

Publication Publication Date Title
US9569279B2 (en) Heterogeneous multiprocessor design for power-efficient and area-efficient computing
JP5697284B2 (ja) コンピュータプラットフォームのシステム電力状態を遷移させる方法、装置およびシステム
US8656196B2 (en) Hardware automatic performance state transitions in system on processor sleep and wake events
JP6197196B2 (ja) 電力効率の優れたプロセッサアーキテクチャ
JP6818687B2 (ja) ネットワーク負荷に基づいてプロセッサ電力使用を調整する装置及び方法
US20090327774A1 (en) Coordinated link power management
CN109906437B (zh) 基于线程重要性的处理器核停止和频率选择
US10761774B2 (en) Forced idling of memory subsystems
KR20130002046A (ko) 멀티 코어를 포함하는 저장 장치의 전력 관리 방법
JP2014056594A (ja) イベント処理のためのターボ性能を向上させる方法および装置
US20140195830A1 (en) System and method for power management
JP2017519294A (ja) フラッシュメモリベースストレージデバイスのマルチホスト電力コントローラ(mhpc)
JP2022515687A (ja) コンピューティングシステムにおける動的な割り込みレート制御
JP6151465B1 (ja) プロセッサコアの電力モードを制御するためのレイテンシベースの電力モードユニット、ならびに関連する方法およびシステム
JP6535749B2 (ja) 入出力動作特性に基づくシステムオンチップアイドル電力状態制御のシステムと方法
CN103853307A (zh) 电子装置及降低处理器系统功耗的方法
JP6409218B2 (ja) 電力効率の優れたプロセッサアーキテクチャ

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180712

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180813

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20181113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190213

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190510

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190603

R150 Certificate of patent or registration of utility model

Ref document number: 6535749

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250