(58)【調査した分野】(Int.Cl.,DB名)
複数のコアから1つまたは複数の要求を受信することと、前記1つまたは複数の要求の各々が、複数の電力ダウンモードのうちの1つに入るかまたは出るためのものである、
前記1つまたは複数の要求により要求された1つまたは複数の前記電力ダウンモードに入るかまたは出るべき前記コアの数を選択することと、ここにおいて、前記数は、前記要求された電力ダウンモードに入るかまたは出るために選択される前記コアの合計突入電流が突入電流バジェットを超えないように、前記複数の電力ダウンモードに前記入ることまたは出ることに関連する突入電流情報および前記突入電流バジェットに基づいて選択され、前記電力ダウンモードのうちの1つに前記入ることまたは出ることに関連する前記突入電流情報は、前記関連する電力ダウンモードに入るかまたは出る間の突入電流におけるスパイクについての情報を含む、
を行うように構成された第1の回路と、
前記選択されたコアにおいて前記要求された1つまたは複数の電力ダウンモードに入るかまたは出ることをもたらすように構成された第2の回路とを備える、装置。
前記第1の回路が、前記コアの各々に優先度を割り当てるようにさらに構成され、前記割り当てられた優先度に基づいて前記コアを選択するように構成された、請求項1に記載の装置。
前記第1の回路が、前記コアのうちの選択されないコアの優先度を増加させるようにさらに構成され、前記コアのうちの前記選択されないコアの前記増加された優先度に基づいて前記コアのうちの別の1つまたは複数を選択するように構成された、請求項5に記載の装置。
前記コアの各々に優先度を割り当てることをさらに備え、ここにおいて、前記コアの最大数を前記選択することが、前記割り当てられた優先度に基づく、請求項9に記載の方法。
【発明を実施するための形態】
【0011】
[0015]添付の図面に関して以下に記載される発明を実施するための形態は、本発明の様々な例示的な実施形態を説明するものであり、本発明が実施され得る実施形態のみを表すものではない。発明を実施するための形態は、本発明の完全な理解を与えるための具体的な詳細を含む。ただし、本発明はこれらの具体的な詳細なしに実施され得ることが当業者には明らかであろう。いくつかの事例では、本発明の概念を不明瞭にしないように、よく知られている構造および構成要素をブロック図の形式で示す。頭字語および他の記述的専門用語は、単に便宜および明快のために使用され得、本発明の範囲を限定するものではない。
【0012】
[0016]本開示全体にわたって提示される様々な装置および方法は、ハードウェアの様々な形態で実装され得る。例として、これらの装置または方法のいずれかは、単独でまたは組み合わせてのいずれかで、集積回路として、または集積回路の一部として実装され得る。集積回路は、マイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、プログラマブル論理、または他の好適な集積回路などの最終製品であり得る。代替的に、集積回路は、マザーボードなどの中間製品または最終製品のいずれかの一部として、他のチップ、個別回路要素、および/または他の構成要素と一体化され得る。最終製品は、例として、セルラーフォン、携帯情報端末(PDA)、ラップトップコンピュータ、デスクトップコンピュータ(PC)、コンピュータ周辺デバイス、マルチメディアデバイス、ビデオデバイス、オーディオデバイス、全地球測位システム(GPS)、ワイヤレスセンサー、または他の好適なデバイスを含む、集積回路を含む好適な製品であり得る。
【0013】
[0017]「例示的」という単語は、例、事例、または例示の働きをすることを意味するために本明細書で使用される。本明細書で「例示的」と記載されたいかなる実施形態も、必ずしも他の実施形態よりも好ましいまたは有利であると解釈されるべきであるとは限らない。同様に、装置または方法の「実施形態」という用語は、本発明のすべての実施形態が、説明する構成要素、構造、特徴、機能、プロセス、利点、利益、または動作モードを含むことを必要としない。
【0014】
[0018]「信号」が言及(reference)であるとき、用語は、説明される信号を搬送する導体を含み得る。「接続」という用語は信号線を含み得る。「接続された」、「結合された」という用語、またはその任意の変形態は、2つまたはそれ以上の要素間の、直接的または間接的のいずれかの任意の接続または結合を意味し、互いに「接続された」または「結合された」2つの要素間の1つまたは複数の中間要素の存在を包含することがある。要素間の結合または接続は、物理的、論理的、またはそれらの組合せであり得る。本明細書で使用する、2つの要素は、いくつかの非限定的で非網羅的な例として、1つまたは複数のワイヤ、ケーブル、および/またはプリントされた電気的接続を使用することによって、ならびに無線周波数領域、マイクロ波領域、および光学的(可視と非可視の両方)領域中の波長を有する電磁エネルギーなど、電磁エネルギーを使用することによって互いに「接続された」または「結合された」ものと見なされ得る。
【0015】
[0019]本明細書における「第1」、「第2」などの名称を使用した要素への言及は、それらの要素の数量または順序を概括的に限定するものでない。むしろ、これらの名称は、本明細書において2つまたはそれ以上の要素またはある要素の複数の事例を区別する便利な方法として使用される。したがって、第1および第2の要素への言及は、2つの要素のみが採用され得ること、または第1の要素が第2の要素に先行しなければならないことを意味するものではない。
【0016】
[0020]本明細書で使用される単数形「a」、「an」および「the」は、文脈が別段に明確に示すのでなければ、複数形をも含むものとする。さらに、本明細書で使用されるときの「備える(comprises)」、「備える(comprising)」、「含む(includes)」、および/または「含む(including)」という用語は、述べられた特徴、整数、ステップ、動作、要素、および/または構成要素の存在を明示するが、1つまたは複数の他の特徴、整数、ステップ、動作、要素、構成要素、および/またはそれらのグループの存在または追加を排除しないことを理解されよう。
【0017】
[0021]複数のコアについて電力ダウンモードに入ることまたはそれを出ることを管理するための回路をもつ装置の様々な態様が提供される。そのような装置の一例は、ワイヤレス通信適用例のためのプロセッサであり得る。いくつかの例では、本装置は、突入電流情報に基づいて電力ダウンモードに入るかまたはそれを出るためのコアを選択するように構成された電力管理回路を含み得る。いくつかの例では、電力管理回路は、電力ダウンモードに入るかまたはそれを出ることについてのコアからの要求を受信し、要求を許可するために選択されたコアにトークンを発行する、トークンマネージャとして構成される。
【0018】
[0022]当業者が容易に諒解するように、本開示の態様および適用例は、説明される例示的な実施形態に限定されないことがある。たとえば、本開示の装置はプロセッサに限定されず、電力管理回路はトークンマンガー(manger)に限定されない。したがって、特定の適用例へのすべての言及は、そのような態様が適用例の広い差を有し得るという理解とともに、メモリの例示的な態様を示すものにすぎない。
【0019】
[0023]
図1は、突入電流情報に基づいて複数のコアについて電力ダウンモードに入ることまたはそれを出ることを管理するように構成されたプロセッサ100の例示的な実施形態のブロック図である。プロセッサ100は、たとえば、ワイヤレス通信のためのプロセッサであり得る。いくつかの例では、例示的な装置は、プロセッサ100、またはプロセッサ100を組み込んだセルフォンを含み得る。プロセッサ100は、スタンドアロングプロセッサであり得るか、またはモバイルフォン、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータなどの最終製品に一体化され得る。
【0020】
[0024]プロセッサ100は、コア110(110−1、110−2、110−3、および110−4)を含む。コアは、たとえば、回路の集合であり得る。いくつかの例では、コア110は、命令を実行するプロセッサまたは実行ユニットであり得る。プロセッサ100は、コア110とインターフェースするグラフィックプロセッサユニット、デジタル信号プロセッサ(DSP)、ワイヤレスモデム、およびワイヤレスローカルエリアネットワーク、またはWLANブロックなど(明快のために図示されていない)追加の機能ブロックをさらに含み得る。
【0021】
[0025]コア110の各々は、電力ダウンモード回路104(コア110の各々について104−1、104−2、104−3、または104−4)を含み得る。電力ダウンモード回路104は、対応するコア110が、様々な電力ダウンモードに入るかまたはそれを出ることをもたらし得る。したがって、電力ダウンモード回路104は、対応するコア110が、電力ダウンモードから電力アップすること、電力ダウンして電力ダウンモードになること、または様々な電力ダウンモードの間で遷移することを引き起こし得る。
【0022】
[0026]電力ダウンモードの例としては、すべての電力がコアから切断される電力コラプスモード(power-collapse mode)を含み得る。したがって、電力コラプスモードは、すべての電力が切断されるので、電流を引き出さないことがある。他の電力ダウンモードは、コアにおけるクロック制御を無効にするクロックゲーティングモードを含み得る。また他の電力ダウンモードは、コアの動作電圧および周波数を調整することを含み得る。様々な電力ダウンモードに入ることおよびそれを出ることは、異なる量の時間を要し得る。たとえば、電力コラプスモードに入ることおよびそれから出ることは、他の電力ダウンモードよりも多くのサイクルを要し得る。
【0023】
[0027]電力ダウンモード回路104は、図示のように、対応するコア110が、電力コラプスモードまたはクロックゲーティングモードに入ること(たとえば、コア110を電力ダウンすること)をもたらし得る。電力ダウンモード回路104は、同様に、コア110が、電力ダウンモードを出て、全電力動作に戻ること(たとえば、コア110を電力アップすること)をもたらし得る。いくつかの例では、電力ダウンモード回路104は、対応するコア110が、電力コラプスモードとクロックゲーティングモードとの間で遷移することをもたらし得る。
【0024】
[0028]プロセッサ100は、電力マネージャ105と、突入電流情報ストレージ120と、電力ダウンモード優先度ストレージ122とをさらに含む。電力マネージャ105は、電力ダウンモード回路104を選択的に制御することによって電力ダウンモードに入るかまたはそれを出ることについてコア110の中から選択するように構成され得る。いくつかの例では、電力マネージャ105は、ソフトウェア命令を実行する(コア110のうちの1つなどの)プロセッサを含み得る。電力マネージャ105は、突入電流情報ストレージ120に記憶された突入電流情報、および/または電力ダウンモード優先度ストレージ122に記憶された電力ダウンモード優先度に基づいてコア110の中から選択し得る。いくつかの例では、記憶された突入電流情報および/または電力ダウンモード優先度は、プログラム可能であり得る(たとえば、ソフトウェア命令によって変更され得る)。
【0025】
[0029]突入電流情報ストレージ120は、たとえば、様々な電力ダウンモードに入るかまたはそれを出ることによって引き起こされる突入電流を含む突入電流情報を記憶するレジスタであり得る。様々な電力ダウンモードに入り、それを出るプロセスは、コア110における突入電流が、コア110への電流供給の能力を超えるポイントにまで(even to the point)スパイクすることを引き起こし得る。様々な電力ダウンモードに入ることおよびそれを出ることに関連する突入電流情報を利用することによって、電力マネージャ105は、過大な突入電流を引き起こすことなしに、効率的に電力ダウンモードに入るかまたはそれを出るために選択されるべきコア110の数および順序を決定し得る。
【0026】
[0030]電力ダウンモード優先度ストレージ122は、たとえば、電力ダウンモード優先度を記憶するレジスタであり得る。優先度は、たとえば、電力ダウンモードに入るかまたはそれを出る時間に基づき得る。たとえば、電力コラプスモードは、入るまたは出るのに最も長くかかり得、したがって、電力コラプスモードは最低優先度を有し得る。いくつかの例では、優先度は電力ダウンモードの電力節約に基づき得る。
【0027】
[0031]電力マネージャ105は、さらに、突入電流バジェット(budget)を受信し、突入電流バジェットに基づいてコア110を選択し得る。突入電流バジェットは、電源(たとえば、電力管理集積回路またはPMIC)の電流限界に基づき得る。いくつかの例では、突入電流バジェットは、電力ダウンモードに入るかまたはそれを出ることを要求しないコアでも、コアの現在の動作にさらに基づき得る。たとえば、コアのうちのいくつかが高性能モードで動作している(したがって、より多くの電力を消費している)場合には、突入電流バジェットは低減され得る。
【0028】
[0032]
図2は、トークンマネージャとして動作する
図1の電力マネージャ105の例示的な実施形態のブロック図である。トークンは、電力ダウンモードに入るかそれを出るための許可または許容を示すシグナリングであり得る。電力マネージャ105は、コア110(コア110−1〜コア110−4)から、電力ダウンモードに入るかまたはそれを出るようにとの1つまたは複数の要求を受信するように構成された電力マネージャ制御205を含む。1つまたは複数の要求の各々は、コアのうちの1つが電力ダウンモードのうちの1つに入るかまたはそれを出ることを望むことを示す。
【0029】
[0033]複数のコア110は、独立しておよび並列に、電力ダウンモードに入るかまたはそれを出ることの要求を送り得る。たとえば、コア110−1は、電力コラプスモードからの電力アップを要求し得る。コア110−2は、全電力動作から電力ダウンしてクロックゲーティングモードになることを要求し得る。110−3は、電力コラプスモードからクロックゲーティングモードに遷移することを要求し得、以下同様である。すべての要求は、同時に行われ得る。上記で説明されたように、複数のコア110における電力ダウンモードに入るかまたはそれを出ることのすべての要求を実行に移すこと(enacting)は、突入電流がスパイクすることを引き起こし得る。したがって、電力マネージャ制御205は、突入電流が突入電流しきい値(たとえば、突入電流バジェット)を超えてスパイクすることを引き起こさないように、トークンにを許可すべき(to grant to tokens)コア110のうちの1つまたは複数を選択するようにさらに構成され得る。この選択プロセスの追加の特徴は、
図4〜
図5を用いて提示される。
【0030】
[0034]トークンを要求し、許可するプロセスは以下で説明される。電力マネージャ105(たとえば、電力マネージャ制御205)は、シグナリングREQ206(コア110の各々について206−1〜206−4)とシグナリングACK207(コア110の各々について207−1〜207−4)とを介してコア110と通信する。電力ダウンモードに入るかそれを出るための許諾を要求するために、コア110の各々は、シグナリングREQ206をアサートすることによって、電力マネージャ105からトークンを独立しておよび並列に要求し得る。いくつかの例では、シグナリングREQ206は、所望の行為および所望の得られた電力ダウンモードを示す(たとえば、現在の電力ダウンモードから出て全電力動作になる、所望の電力ダウンモードに入ることの要望、所望の電力ダウンモードの識別情報などを示す)ために複数の信号線によって搬送され得る。
【0031】
[0035]電力マネージャ105(たとえば、電力マネージャ制御205)は、シグナリングREQ206を受信する。たとえば、シグナリングREQ206は、電力マネージャ制御205内の論理ゲートまたは構成要素への入力として与えられる。トークンを許可するために、電力マネージャ105は、シグナリングACK207(コア110の各々について207−1〜207−4)をアサートする。アサーションに応答して、選択されたコア110の電力ダウンモード回路104は、(たとえば、電力ダウンモードに入るかまたはそれを出るために)要求された電力ダウン行為をもたらす。要求された電力ダウン行為の完了時に、電力ダウンモード回路104は、(要求を終了するための)シグナリングREQ206と(要求された電力ダウン行為の完了を示すための)シグナリングACK207の両方をアサート解除する。
【0032】
[0036]電力マネージャ105は、要求およびトークンを管理するために、トークンレジスタ230とコアステータスレジスタ240とをさらに含む。トークンレジスタ230は、その各々がコア110のうちの1つに対応する複数ビット(231〜234)を含む。ビット231〜234は、対応するコア110からのトークンについての要求がアクティブであることを示す。たとえば、ビット231は、対応するコア110−1がトークンを要求している(たとえば、シグナリングREQ206−1がアサートされる)ことを示すために値「1」を記憶する。ビット233および234は、対応するコア110−3および110−4がトークンを要求していない(たとえば、シグナリングREQ206−2〜206−4がアサート解除される)ことを示すために値「0」を記憶する。
【0033】
[0037]コアステータスレジスタ240は、コアの現在の電力モードを記憶する。コアステータスレジスタ240は、その各々がコア110のうちの1つに対応するビット240−1〜240−4を含む。たとえば、ビット240−1は、コア110−1が全電力動作状態にあることを示す値C0を記憶する。240−2は、コア110−2が電力コラプスモードにあることを示す値C1を記憶する。240−3は、コア110−2がクロックゲーティングモードにあることを示す値C2を記憶し、以下同様である。トークンレジスタ230とコアステータスレジスタ240とを介して、電力マネージャ105は、トークン要求の現在状態とコア110の各々のステータス(たとえば、全電力動作状態、または電力ダウンモードのうちの1つ)とを追跡する(keep track)ことが可能である。
【0034】
[0038]
図3は、トークンを要求し、許可する動作のタイミング図である。T
0において、コア110のうちの1つまたは複数は、シグナリングREQ206をアサートすること(たとえば、高にプルすること)によって電力ダウンモードに入るかまたはそれを出るためにトークンを要求する。T
1において、電力マネージャ105(たとえば、電力マネージャ制御205)は、シグナリングACK207をアサートすること(たとえば、高にプルすること)によって、選択された1つまたは複数のコア110にトークンを発行する。それに応じて、選択された1つまたは複数のコアの電力ダウンモード回路104は、要求された電力ダウンモード動作をもたらす。たとえば、電力ダウンモード回路104は、(Aにおいて)対応するコア110が、電力アップして全電力動作状態になること、電力ダウンして全電力動作状態から電力ダウンモードのうちの1つになること、または電力ダウンモードの間で遷移することを引き起こし得る。Bにおいて、要求された電力ダウンモード動作は完了される。それに応じて、電力ダウンモード回路104は、シグナリングREQ206とシグナリングACK207の両方をアサート解除すること(たとえば、低にプルすること(pulling low))によって電力マネージャ105にトークンの解放を通知する。
【0035】
[0039]
図4は、要求を許可すべき1つまたは複数のコア110を選択する電力マネージャ制御205の例示的な実施形態の動作のフローチャートである。いくつかの例では、動作は、電力マネージャ制御205によって実行され得る。402において、複数のコアからの1つまたは複数の要求が受信される。いくつかの例では、電力マネージャ制御205は、電力マネージャ制御205内の論理ゲートまたは構成要素に入力としてシグナリングREQ206を与えることによって、要求を受信する。いくつかの例では、1つまたは複数の要求の各々は、電力ダウンモードの複数のうちの1つに入るかまたはそれを出ることの要求である。
図2を参照すると、たとえば、電力マネージャ制御205は、シグナリングREQ206−1およびシグナリングREQ206−2の低状態(low state)を受信することによって、コア110(110−1〜110−4)からトークン要求を受信する。電力マネージャ制御205は、次いで、コア110−1および110−2が電力ダウンモードのうちの少なくとも1つに入るかまたはそれを出ることを要求していることをそれぞれ示す、ビット231および232中の「1」を記憶することによってトークンレジスタ230中に要求を保存する。
【0036】
[0040]電力ダウンモードは異なり、すべての電力がコアから切断される電力コラプスモードを含み得る。他の電力ダウンモードは、コアを用いたクロックをゲート制御すること(たとえば、コアにおけるクロック制御を無効にすること)を含み得る。また他の電力ダウンモードは、コアの動作電圧および周波数を調整することを含み得る。電力ダウンモードに入るかまたはそれを出ることの要求は、たとえば、電力ダウンモードのうちの1つを出て、全電力動作状態になることによって要求元コア(requesting core)を電力アップすることと、全電力動作状態から電力ダウンモードのうちの1つに入ることによって、要求元コアを電力ダウンすることとを含み得る。そのような要求は、様々な電力ダウンモードの間で遷移することをも含み得る。
【0037】
[0041]403において、コアの各々に優先度が割り当てられる。
図1を参照すると、たとえば、割当ては、コア110によって要求される電力ダウンモードと、電力ダウンモード優先度ストレージ122内に記憶された電力ダウンモード優先度とに基づき得る。優先度は、たとえば、電力ダウンモードに入るかまたはそれを出る時間に基づき得る。たとえば、電力コラプスモードは、入るまたは出るのに最も長くかかり得、したがって、電力コラプスモードは最低優先度を有し得る。
図2を参照すると、たとえば、電力マネージャ制御205は、コアステータスレジスタ240に記憶されたコアの状態と、シグナリングREQ206によって示される電力ダウンモードとに基づいて、コア110に優先度を割り当て得る。
【0038】
[0042]404において、コアのうちの追加の1つまたは複数が選択される。コアのうちの追加の1つまたは複数は、408において選択されるコアを参照し、それに追加される。いくつかの例では、電力ダウンモードに入るかまたはそれを出ることの要求を迅速に許可するために、電力マネージャ制御205は、電力ダウンモードとは無関係に要求を許可するためのコア110の選択を高速化し(fast-track)得る。いくつかの例では、電力マネージャ制御205は、電力ダウンモードに基づかずに、あらかじめ決定する優先度に基づいてコアを選択し得る。たとえば、あらかじめ決定する優先度は、コア110−1、コア110−2、コア110−3、およびコア110−4の固定順序であり得る。いくつかの例では、高速化された選択は、1つのコアのみを選択することによって突入電流バジェット内にあると決定される。突入電流バジェットは、電源(たとえば、PMIC)の電流限界に基づき得る。いくつかの例では、突入電流バジェットは、電力ダウンモードに入るかまたはそれを出ることを要求しないコアでも、コアの現在の動作にさらに基づき得る。たとえば、コアのうちのいくつかが高性能モードで動作している(したがって、より多くの電力を消費している)場合には、突入電流バジェットは低減され得る。
【0039】
[0043]408において、要求された1つまたは複数の電力ダウンモードに入るかまたはそれを出るべきコアのうちの1つまたは複数が選択される。いくつかの例では、選択は、動作403において割り当てられた優先度に基づき得る。いくつかの例では、選択は、電力ダウンモードに関連する突入電流情報にさらに基づき得る。たとえば、最高優先度の突入電流は、電流バジェットを超えることなしにコアの最大選択を可能にするために、突入電流バジェットと比較される。そのような様式で、選択されるコアの数は決定され得る。
【0040】
[0044]たとえば、コア110の選択は、突入電流バジェット内で最高優先度のコア110(たとえば、最高優先度の電力ダウンモードに入るかまたはそれを出ることを要求するコア110)からの最大数の要求を許可することを可能にする。そのような選択は、最高優先度のコア110の突入電流情報を使用して行われ得る。残りの突入電流バジェットは、残りの突入電流バジェット内の突入電流を要求するより低い優先度の(たとえば、より低い優先度の電力ダウンモードに入るかそれを出ることを要求する)コア110を選択することによって利用され得る。そのような様式で、第1の電力ダウンモードに入るかまたはそれを出ることを要求する1つまたは複数のコア110と、第2の異なる電力ダウンモードに入るかまたはそれを出ることを要求する1つまたは複数のコア110とは、コンカレントに選択され得る。いくつかの例では、「コンカレントに」は、実質的に同じ時間に異なる電力ダウンモードに入るかまたはそれを出るための要求を選択および/または許可することを表し得る。いくつかの例では、「コンカレントに」は、当業者によって理解されるように、実質的な、非自明な重複をもつ異なる電力ダウンモードに入るかまたはそれを出るための要求を選択および/または許可することを表し得る。
【0041】
[0045]410において、コアのうちの選択された1つまたは複数によって要求された1つまたは複数の電力ダウンモードに入るかまたはそれを出る。たとえば、
図1および
図2を参照すると、(たとえば、動作404および408から)選択されたコア110の電力ダウンモード回路104は、選択されたコア110が、要求された電力ダウンモードに入ること、または現在の電力ダウンモードを出ることを引き起こし得る。
【0042】
[0046]412において、コアのうちの選択されないコアの優先度が増加される。ある例では、選択されたコアのうちの1つが、電力ダウンモードに入るかまたはそれを出ることを完了したとき、突入電流バジェットは増加であり得る。それに応じて、電力マネージャ制御205は、要求を許可すべき別の1つまたは複数のコアを選択するために、(動作413を介して)408に戻り得る。最初はより低い優先度をもち得る、選択されないコアの優先度を増加させることは、これらのコアの窮乏(starvation)を防ぐ。
【0043】
[0047]
図5は、電力マネージャ制御205の例示的な実施形態のブロック図である。ブロック図は電力マネージャ制御205のハードウェア実装形態の例示的な実施形態であり得、様々な(たとえば、ハードウェアおよび/またはソフトウェア)構成要素を含み得る。いくつかの例では、以下で説明される命題(theses)構成要素は、コア110−1〜110−4のうちの1つによって実行される命令を含み得る。
【0044】
[0048]例示的な実施形態では、電力マネージャ制御205、および以下で提示される、本明細書中に含まれる構成要素は、回路、1つまたは複数のプロセッサ、1つまたは複数のプロセッサ上で実行するソフトウェア、あるいはそれらの組合せを含み得る。これらの構成要素は、以下で説明される機能のための信号を生成するための回路、またはそれらの信号を搬送する信号線を含み得る。
【0045】
[0049]例として、構成要素、または構成要素の任意の部分、または構成要素の任意の組合せは、1つまたは複数のプロセッサを用いて実装され得る。プロセッサの例としては、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブル論理デバイス(PLD)、状態機械、ゲート論理、個別ハードウェア回路、および本開示全体にわたって説明する様々な機能を実行するように構成された他の好適なハードウェアがある。処理システム内の1つまたは複数のプロセッサはソフトウェアを実行し得る。ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語などの名称にかかわらず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行ファイル、実行スレッド、プロシージャ、関数などを意味すると広く解釈されたい。
【0046】
[0050]電力マネージャ制御205は、優先度割当て構成要素502と、コア選択構成要素504と、要求処理構成要素506とを含む。優先度割当て構成要素502は、要求処理構成要素506から、(入るかまたは出るべき)要求された電力ダウンモードと、要求元コア110とを受信する。優先度割当て構成要素502は、プログラム可能電力ダウンモード優先度ストレージ122から電力ダウンモード優先度をさらに受信する。いくつかの例では、優先度割当て構成要素502は、(たとえば、電力ダウンモードに入るかそれを出る時間に基づき得る)電力ダウンモード優先度に基づいて、コアに優先度を割り当てる(たとえば、動作403)。いくつかの例では、優先度割当て構成要素502は、選択されないコアを窮乏させないように、選択されないコアの優先度を増加させ得る(たとえば、動作412)。
【0047】
[0051]コア選択構成要素504は、優先度割当て構成要素502から要求元コアの割り当てられた優先度を受信する。コア選択構成要素504はまた、突入電流情報と突入電流バジェットとを受信する。いくつかの例では、突入電流情報は、電力ダウンモードの各々に入るかまたはそれを出るために消費される突入電流を含み得る。突入電流情報は突入電流情報ストレージ120から受信され得、ソフトウェアによってプログラム可能であり得る。突入電流バジェットは、供給される電力(たとえば、PMIC)に基づく制限であり得る。突入電流バジェットは、コア110の現在の動作に基づいてさらに調整され得る。たとえば、コア110のうちのいくつかは、突入電流バジェットが低減されるように、電流消費動作を機能させていること(engaging)がある。
【0048】
[0052]いくつかの例では、コア選択構成要素504は、すべての要求を引き受け、突入電流バジェットに従って(abiding by)最大数の要求にコンカレントに適応することを試みる。たとえば、コア選択構成要素504は、突入電流バジェット内で最高優先度のコア110(たとえば、最高優先度の電力ダウンモードに入るかまたはそれを出ることを要求するコア110)からの最大数の要求を許可し得る。そのような決定は、最高優先度のコア110の突入電流情報を使用して行われ得る。コア選択構成要素504は、残りの突入電流バジェット内の突入電流を要求する(requiring)、より低い優先度のコア110を選択すること(たとえば、より低い優先度の電力ダウンモードに入るかそれを出ることを要求すること(requesting))によって、残りの突入電流バジェットをさらに利用し得る。そのような様式で、コア選択構成要素504は、第1の電力ダウンモードに入るかまたはそれを出ることを要求する1つまたは複数のコア110と、第2の異なる電力ダウンモードに入るかまたはそれを出ることを要求する1つまたは複数のコア110とをコンカレントに選択し得る。したがって、コア選択構成要素504は、突入電流バジェットに基づいて電力ダウンモード要求を許可するためにコア110のうちの1つまたは複数を選択するように構成される。その上、選択されるコア110のうちの1つまたは複数の数(the number of the one or more of the cores 110 selected)は、突入電流バジェットに基づく。たとえば、動作408参照。
【0049】
[0053]いくつかの例では、コア選択構成要素504は、選択プロセスを促進する(expedite)ために、電力ダウンモードとは無関係に要求元コア110を選択し得る。たとえば、コア選択構成要素504は、固定順序のコア110−1、コア110−2、コア110−3、次いでコア110−4など、電力ダウンモードとは無関係の優先度を利用し得る。電力ダウンモードとは無関係のコア110の選択が突入電流バジェット内にあることを確実にするために、限定された数(たとえば、1つ)のコア110が、このようにして選択され得る。たとえば、動作404参照。コア選択構成要素504は、電力ダウンモードに基づく要求元コア110の選択(動作408)を並列に、または後で(subsequently)進め(proceed with)得る。
【0050】
[0054]コア選択構成要素504は、要求処理構成要素506から、選択されたコア110のうちの1つの完了の通知を受信する。それに応じて、コア選択構成要素504は、選択されないコア110と新しい要求元コア110との上記で説明された選択を実行し得る。選択されないコア110は、それらのコア110を窮乏させないように、前の選択から優先度を増加させていることがある。
【0051】
[0055]要求処理構成要素506は、要求を受信するために、および電力ダウンモードに入るかまたはそれを出ることの要求を許可するために、シグナリングREQ206とシグナリングACK207とを介してコア110とインターフェースする。要求を許可するために、要求処理構成要素506はコア選択構成要素504からコア選択を受信する。要求のうちの1つの完了時に、要求処理構成要素506はコア選択構成要素504に通知を送る。
【0052】
[0056]上記で説明された動作方法におけるブロックの特定の順序または階層は、一例として与えられたにすぎない。設計選好に基づいて、動作方法におけるブロックの特定の順序または階層は、並べ替えられ、修正され、および/または変更され得る。添付の方法クレームは、動作方法に関係する様々な限定を含むが、具陳された限定は、特許請求の範囲において明記されていない限り、特定の順序または階層によっていかなる形でも限定されるものではない。
【0053】
[0057]本開示の様々な態様は、当業者が本発明を実施することができるようにするために提供される。本開示全体にわたって提示された例示的な実施形態への様々な変更は当業者には容易に明らかであり、本明細書で開示された概念は他の磁気記憶デバイスに拡張され得る。したがって、特許請求の範囲は、本開示の様々な態様に限定されるものではなく、特許請求の範囲の文言に矛盾しない全範囲を与えられるべきである。当業者に知られている、または後に知られることになる、本開示全体にわたって説明された例示的な実施形態の様々な構成要素のすべての構造的および機能的均等物は、参照により本明細書に明確に組み込まれ、特許請求の範囲に包含されるものである。さらに、本明細書で開示されるいかなることも、そのような開示が特許請求の範囲に明示的に記載されているか否かにかかわらず、公に供するものではない。いかなるクレーム要素も、その要素が「ための手段」という句を使用して明確に具陳されていない限り、または方法クレームの場合には、その要素が「ためのステップ」という句を使用して具陳されていない限り、米国特許法第112条(f)の規定の下で解釈されるべきではない。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
複数のコアから1つまたは複数の要求を受信することと、前記1つまたは複数の要求の各々が、複数の電力ダウンモードのうちの1つに入るかまたは出ることである、
前記電力ダウンモードに関連する突入電流情報に基づいて、前記要求された1つまたは複数の電力ダウンモードに入るかまたは出るべき前記コアのうちの1つまたは複数を選択することと
を行うように構成された第1の回路と、
前記コアのうちの前記選択された1つまたは複数において前記要求された1つまたは複数の電力ダウンモードに入るかまたは出ることをもたらすように構成された第2の回路と
を備える、装置。
[C2]
前記第1の回路が、前記電力ダウンモードとは無関係に前記コアのうちの追加の1つまたは複数を選択するようにさらに構成され、前記第2の回路が、前記コアのうちの前記追加の1つまたは複数によって要求された前記1つまたは複数の電力ダウンモードに入るかまたは出ることをもたらすようにさらに構成された、C1に記載の装置。
[C3]
前記第1の回路が、突入電流バジェット内でおよび前記電力ダウンモードとは無関係の優先度に基づいて、前記コアのうちの前記追加の1つまたは複数を選択するようにさらに構成された、C2に記載の装置。
[C4]
前記第1の回路が、突入電流バジェットに基づいて前記コアのうちの前記1つまたは複数を選択するようにさらに構成された、C1に記載の装置。
[C5]
選択された前記コアのうちの前記1つまたは複数の数が、前記突入電流バジェットに基づく、C4に記載の装置。
[C6]
前記第1の回路が、前記コアの各々に優先度を割り当てるようにさらに構成され、前記割り当てられた優先度に基づいて前記コアのうちの前記1つまたは複数を選択するように構成された、C1に記載の装置。
[C7]
前記第1の回路が、前記電力ダウンモードの優先度に基づいて前記コアの各々に前記優先度を割り当てるようにさらに構成された、C6に記載の装置。
[C8]
前記電力ダウンモードの前記優先度がプログラム可能である、C7に記載の装置。
[C9]
前記第1の回路が、前記コアのうちの選択されないコアの優先度を増加させるようにさらに構成され、前記コアのうちの前記選択されないコアの前記増加された優先度に基づいて前記コアのうちの別の1つまたは複数を選択するように構成された、C6に記載の装置。
[C10]
前記電力ダウンモードに関連する前記突入電流情報がプログラム可能である、C1に記載の装置。
[C11]
電力を管理するための方法であって、
複数のコアから1つまたは複数の要求を受信することと、前記1つまたは複数の要求の各々が、複数の電力ダウンモードのうちの1つに入るかまたは出ることである、
前記電力ダウンモードに関連する突入電流情報に基づいて、前記要求された1つまたは複数の電力ダウンモードに入るかまたは出るべき前記コアのうちの1つまたは複数を選択することと、
前記コアのうちの前記選択された1つまたは複数において前記要求された1つまたは複数の電力ダウンモードに入るかまたは出ることと
を備える、方法。
[C12]
前記電力ダウンモードとは無関係に前記コアのうちの追加の1つまたは複数を選択することと、
前記コアのうちの前記追加の1つまたは複数によって要求された前記1つまたは複数の電力ダウンモードに入るかまたは出ることと
をさらに備える、C11に記載の方法。
[C13]
前記コアのうちの前記追加の1つまたは複数を前記選択することが、突入電流バジェット内にあり、前記電力ダウンモードとは無関係の優先度に基づく、C12に記載の方法。
[C14]
前記コアのうちの前記1つまたは複数を前記選択することが、突入電流バジェットに基づく、C11に記載の方法。
[C15]
選択された前記コアのうちの前記1つまたは複数の数が、前記突入電流バジェットに基づく、C14に記載の方法。
[C16]
前記コアの各々に優先度を割り当てることをさらに備え、ここにおいて、前記コアのうちの前記1つまたは複数を前記選択することが、前記割り当てられた優先度に基づく、C11に記載の方法。
[C17]
前記コアの各々に前記優先度を前記割り当てることが、前記電力ダウンモードの優先度に基づく、C16に記載の方法。
[C18]
前記電力ダウンモードの前記優先度がプログラム可能である、C17に記載の方法。
[C19]
前記コアのうちの選択されないコアの優先度を増加させることと、
前記コアのうちの前記選択されないコアの前記増加された優先度に基づいて前記コアのうちの別の1つまたは複数を選択することと
をさらに備える、C16に記載の方法。
[C20]
前記電力ダウンモードに関連する前記突入電流情報がプログラム可能である、C11に記載の方法。
[C21]
複数のコアから複数の要求を受信することと、前記要求の各々が、複数の電力ダウンモードのうちの1つに入るかまたは出ることである、
コンカレントに異なる電力ダウンモードに入るかまたは出るべき前記コアのうちのコアを選択することと
を行うように構成された第1の回路と、
前記コアのうちの前記選択されたコアにおいて前記要求された電力ダウンモードに入るかまたは出ることをもたらすように構成された第2の回路と
を備える、装置。
[C22]
前記第1の回路が、突入電流バジェットに基づいて、コンカレントに異なる電力ダウンモードに入るかまたは出るべき前記コアのうちの前記コアを選択するようにさらに構成された、C21に記載の装置。
[C23]
前記第1の回路が、前記電力ダウンモードに関連する突入電流情報に基づいて、コンカレントに異なる電力ダウンモードに入るかまたは出るべき前記コアのうちの前記コアを選択するようにさらに構成された、C22に記載の装置。
[C24]
前記第1の回路が、前記コアの優先度に基づいて、コンカレントに異なる電力ダウンモードに入るかまたは出るべき前記コアのうちの前記コアを選択するようにさらに構成された、C21に記載の装置。
[C25]
前記第1の回路が、前記電力ダウンモードの優先度に基づいて前記コアの各々に前記優先度を割り当てるようにさらに構成された、C24に記載の装置。
[C26]
電力を管理するための方法であって、
複数のコアから複数の要求を受信することと、前記要求の各々が、複数の電力ダウンモードのうちの1つに入るかまたは出ることである、
コンカレントに異なる電力ダウンモードに入るかまたは出るべき前記コアのうちのコアを選択することと、
前記コアのうちの前記選択されたコアにおいて前記要求された電力ダウンモードに入るかまたは出ることと
を備える、方法。
[C27]
コンカレントに異なる電力ダウンモードに入るかまたは出るべき前記コアのうちの前記コアを前記選択することが、突入電流バジェットに基づく、C26に記載の方法。
[C28]
コンカレントに異なる電力ダウンモードに入るかまたは出るべき前記コアのうちの前記コアを前記選択することが、前記電力ダウンモードに関連する突入電流情報に基づく、C27に記載の方法。
[C29]
コンカレントに異なる電力ダウンモードに入るかまたは出るべき前記コアのうちの前記コアを前記選択することが、前記コアの優先度に基づく、C26に記載の方法。
[C30]
前記コアの前記優先度が、前記電力ダウンモードの優先度に基づく、C29に記載の方法。