(57)【特許請求の範囲】
【請求項１】
システムオンチップ(SOC)の異なるモジュールに提供される電圧をスケーリングするための方法であって、
前記SOCのエネルギーパフォーマンスエンジンにおいて、前記SOCの第1のモジュールに関する使用履歴の第1の通知と、前記SOCの第2のモジュールに関する使用履歴の第2の通知とを受信するステップと、
前記SOCのバッテリに関する残りのバッテリ寿命を示すバッテリ寿命通知を受信するステップと、
前記第1の通知と、前記第2の通知と、前記バッテリ寿命通知とに基づいて、前記SOCの前記第1のモジュールに提供される第1の電源電圧を調整することを決定するステップと、
前記第1のモジュールの1つまたは複数のトランジスタ特性を示す記憶された情報に基づいて、前記第1の電源電圧を増加または減少させる量を決定するステップであって、前記第1のモジュールの前記1つまたは複数のトランジスタ特性が、前記第1のモジュールのトランジスタのチャネル長を含む、ステップと、
前記第1の通知と、前記第2の通知と、前記バッテリ寿命通知とに基づいて、前記SOCの前記第2のモジュールに提供される第2の電源電圧を調整するステップと
を備える、方法。
【請求項２】
前記残りのバッテリ寿命がしきい値未満であるかどうかを決定するステップをさらに備え、前記残りのバッテリ寿命が前記しきい値未満であるとの決定に応答して、前記第1の電源電圧および前記第2の電源電圧が調整される、請求項1に記載の方法。
【請求項３】
前記第1の電源電圧を調整することを決定するステップが、
前記第1の通知および前記第2の通知が、前記第1のモジュールが前記第2のモジュールよりも低い消費電力を有することを示す場合、前記第1の電源電圧を低下させることを決定するステップと、
前記第1の通知および前記第2の通知が、前記第1のモジュールが前記第2のモジュールよりも高い消費電力を有することを示す場合、前記第1の電源電圧を上昇させることを決定するステップと
を備える、請求項1に記載の方法。
【請求項４】
前記第2の電源電圧を調整するステップが、
前記第1の通知および前記第2の通知が、前記第2のモジュールが前記第1のモジュールよりも低い消費電力を有することを示す場合、前記第2の電源電圧を低下させるステップと、
前記第1の通知および前記第2の通知が、前記第2のモジュールが前記第1のモジュールよりも高い消費電力を有することを示す場合、前記第2の電源電圧を上昇させるステップと
を備える、請求項1に記載の方法。
【請求項５】
前記第1の電源電圧を調整するステップをさらに備え、前記第1の電源電圧を調整するステップが、前記第1の電源電圧を調整するように電圧レギュレータに命令するステップを備え、前記第2の電源電圧を調整するステップが、前記第2の電源電圧を調整するように前記電圧レギュレータに命令するステップを備える、請求項1に記載の方法。
【請求項６】
前記SOCの第3のモジュールに関する使用履歴の第3の通知を受信するステップと、
前記第1の通知と、前記第2の通知と、前記第3の通知とに基づいて、前記SOCの前記第3のモジュールに提供される第3の電源電圧を調整するステップと
をさらに備える、請求項1に記載の方法。
【請求項７】
前記第1のモジュールが、中央処理装置を含み、前記第2のモジュールが、グラフィック処理ユニットを含み、前記第3のモジュールが、デジタル信号プロセッサを含む、請求項6に記載の方法。
【請求項８】
前記第2の電源電圧に対する調整が、前記第2のモジュールの1つまたは複数のトランジスタ特性を示す情報にさらに基づき、前記第2のモジュールの前記1つまたは複数のトランジスタ特性が、前記SOCの設計段階中に決定された前記第2のモジュールのトランジスタのチャネル長を含む、請求項1に記載の方法。
【請求項９】
前記第1のモジュールの前記1つまたは複数のトランジスタ特性が、トランジスタしきい値電圧を含む、請求項1に記載の方法。
【請求項１０】
ユーザプロファイルに基づいて前記第2のモジュールの前記1つまたは複数のトランジスタ特性を決定するステップをさらに備える、請求項8に記載の方法。
【請求項１１】
前記第1の電源電圧を調整することを決定するステップが、前記第1の電源電圧の電圧レベルを示す前記第1のモジュールからの電源電圧通知にさらに基づく、請求項1に記載の方法。
【請求項１２】
システムオンチップ(SOC)の異なるモジュールに提供される電圧をスケーリングするための命令を備えるコンピュータ可読記憶媒体であって、前記命令が、前記SOCのエネルギーパフォーマンスエンジンによって実行されたとき、前記エネルギーパフォーマンスエンジンに、請求項1から11のいずれか一項に記載の方法を行わせる、コンピュータ可読記憶媒体。
【請求項１３】
システムオンチップ(SOC)の第1のモジュールに関する使用履歴の第1の通知と、前記SOCの第2のモジュールに関する使用履歴の第2の通知とを生成するための手段と、
前記SOCのバッテリに関する残りのバッテリ寿命を示すバッテリ寿命通知を生成するための手段と、
第1の電源電圧と第2の電源電圧とを調整するための手段と
を備える装置であって、前記調整するための手段が、
前記第1の通知と、前記第2の通知と、前記バッテリ寿命通知とに基づいて、前記第1の電源電圧を決定することと、
前記第1のモジュールの1つまたは複数のトランジスタ特性を示す記憶された情報に基づいて、前記第1の電源電圧を増加または減少させる量を決定することであって、前記第1のモジュールの前記1つまたは複数のトランジスタ特性が、前記第1のモジュールのトランジスタのチャネル長を含む、決定することと、
前記第1の通知と、前記第2の通知と、前記バッテリ寿命通知とに基づいて、前記第2の電源電圧を調整することと
を行うように構成された、装置。
【請求項１４】
前記調整するための手段が、
前記第1の通知および前記第2の通知が、前記第1のモジュールが前記第2のモジュールよりも履歴上少ない頻度で使用されたことを示す場合、前記第1の電源電圧を低下させることを決定し、
前記第1の通知および前記第2の通知が、前記第1のモジュールが前記第2のモジュールよりも履歴上多い頻度で使用されたことを示す場合、前記第1の電源電圧を上昇させることを決定するように構成された、請求項13に記載の装置。
【請求項１５】
前記調整するための手段が、前記第1のモジュールの1つまたは複数のトランジスタ特性を示す情報を記憶するように構成された、請求項13に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
優先権の主張
本出願は、その内容全体が参照により明示的に組み込まれている、2014年11月17日に出願した「VOLTAGE SCALING FOR HOLISTIC ENERGY MANAGEMENT」と題する、同一出願人が所有する米国仮特許出願第62/080,824号および2015年3月5日に出願した米国非仮特許出願第14/639,755号の優先権を主張するものである。
【０００２】
本開示は、概して、エネルギー管理に関する。
【背景技術】
【０００３】
技術の進歩は、より小型でより強力なコンピューティングデバイスをもたらした。たとえば、小さく、軽量で、ユーザにより容易に持ち運ばれる、ポータブルワイヤレス電話、携帯情報端末(PDA)、タブレットコンピュータ、およびページングデバイスのようなワイヤレスコンピューティングデバイスを含む、種々のポータブルパーソナルコンピューティングデバイスが現在では存在する。多くのそのようなコンピューティングデバイスは、その中に組み込まれる他のデバイスを含む。たとえば、ワイヤレス電話はまた、デジタルスチルカメラと、デジタルビデオカメラと、デジタルレコーダと、オーディオファイルプレーヤとを含み得る。また、そのようなコンピューティングデバイスは、インターネットにアクセスするために使用することができるウェブブラウザアプリケーション、および、スチルカメラまたはビデオカメラを利用しマルチメディア再生機能を提供するマルチメディアアプリケーションなどのソフトウェアアプリケーションを含む、実行可能命令を処理することができる。
【０００４】
ワイヤレスデバイスは、複数の構成要素、モジュール、および/またはプロセッサを統合するシステムオンチップ(SOC)を含み得る。非限定的な例として、SOCは、中央処理装置(CPU)、グラフィック処理ユニット(GPU)、デジタル信号プロセッサ(DSP)、変調器/復調器(モデム)、ディスプレイモジュールなどを含み得る。SOCの各構成要素の使用時間は、個々のユーザエクスペリエンスに基づいて変化し得る。たとえば、ユーザは、CPUを利用するワイヤレスデバイス上の比較的多数の機能を実行することがあり、GPUを利用する比較的少数の機能を実行することがある。CPUとGPUとに同じ電源電圧を供給することにより、不必要な電力消費が生じる可能性がある。たとえば、ワイヤレスデバイスがGPUを使用していないとき、GPUは、(電源電圧に基づいて)電力を消費し得る。
【発明の概要】
【課題を解決するための手段】
【０００５】
ワイヤレスデバイスのシステムオンチップ(SOC)の異なるモジュールに供給される電圧を動的にスケーリングするための技法が開示される。たとえば、SOCは、バッテリと、使用履歴モジュールと、モード制御と、複数の電圧領域とを含み得る。各電圧領域は、処理ユニットを含み得る。たとえば、第1の電圧領域は、中央処理装置(CPU)を含み得、第2の電圧領域は、グラフィック処理ユニット(GPU)を含み得、第3の電圧領域は、デジタル信号プロセッサ(DSP)を含み得る、などである。
【０００６】
モード制御は、バッテリ、使用履歴モジュール、および各電圧領域から監視データを受信し得る。たとえば、バッテリは、残りのバッテリ寿命を示し、(残りのバッテリ寿命を示す)データをモード制御に提供するモニタを含み得る。使用履歴モジュールは、各電圧領域の使用に関連する履歴データを監視し得る。たとえば、使用履歴モジュールは、第2および第3の電圧領域が使用された頻度に対する第1の電圧領域が使用された頻度を監視し得る。使用履歴モジュールは、使用履歴を示すデータをモード制御に提供し得る。各電圧領域は、電圧レギュレータから受信した電源電圧を監視し得、(受信した電源電圧を示す)データをモード制御に提供し得る。
【０００７】
受信した監視データに基づいて、モード制御は、電圧レギュレータが各電圧領域に提供される電源電圧を調整することを可能にする信号を電圧レギュレータに提供し得る。たとえば、モード制御は、受信した監視データに基づいて特定の電圧領域に提供される電源電圧を増加させるのかまたは減少させるのかを決定し得る。決定は、残りのバッテリ寿命と使用履歴とに基づき得る。たとえば、残りのバッテリ寿命が比較的少なく、使用履歴が、第1の電圧領域が履歴上、第2および第3の電圧領域よりも頻繁に使用されたことを示す場合、電圧レギュレータは、第1の電圧領域に提供される電源電圧を増加させ得、第2および第3の電源領域に提供される電源電圧を減少させ得る。したがって、SOCは、電力消費を低減するために、使用履歴を示す履歴データに基づいて、各電圧領域に提供される電源電圧を動的に調整(たとえば、スケーリング)し得る。
【０００８】
特定の態様では、システムオンチップ(SOC)の異なるモジュールに提供される電圧をスケーリングするための方法は、SOCのエネルギーパフォーマンスエンジンにおいて、SOCの第1のモジュールに関する使用履歴の第1の通知(indication)と、SOCの第2のモジュールに関する使用履歴の第2の通知とを受信するステップを含む。方法は、SOCのバッテリに関する残りのバッテリ寿命を示すバッテリ寿命通知を受信するステップを含む。方法は、第1の通知と、第2の通知と、バッテリ寿命通知とに基づいて、SOCの第1のモジュールに提供される第1の電源電圧を調整するステップを含む。方法は、第1の通知と、第2の通知と、バッテリ寿命通知とに基づいて、SOCの第2のモジュールに提供される第2の電源電圧を調整するステップをさらに含む。
【０００９】
別の特定の態様では、装置は、システムオンチップ(SOC)のエネルギーパフォーマンスエンジンと、動作を実行するためにエネルギーパフォーマンスエンジンによって実行可能な命令を記憶するメモリとを含む。動作は、SOCの第1のモジュールに関する使用履歴の第1の通知と、SOCの第2のモジュールに関する使用履歴の第2の通知とを受信することを含む。動作はまた、SOCのバッテリに関する残りのバッテリ寿命を示すバッテリ寿命通知を受信することを含む。動作は、第1の通知と、第2の通知と、バッテリ寿命通知とに基づいて、SOCの第1のモジュールに提供される第1の電源電圧を調整することをさらに含む。動作はまた、第1の通知と、第2の通知と、バッテリ寿命通知とに基づいて、SOCの第2のモジュールに提供される第2の電源電圧を調整することを含む。
【００１０】
別の特定の態様では、非一時的コンピュータ可読媒体は、システムオンチップ(SOC)の異なるモジュールに提供される電圧をスケーリングするための命令を含む。命令は、SOCのエネルギーパフォーマンスエンジンによって実行されたとき、エネルギーパフォーマンスエンジンに、SOCの第1のモジュールに関する使用履歴の第1の通知と、SOCの第2のモジュールに関する使用履歴の第2の通知とを受信させる。命令はまた、エネルギーパフォーマンスエンジンに、SOCのバッテリに関する残りのバッテリ寿命を示すバッテリ寿命通知を受信させるように実行可能である。命令はまた、エネルギーパフォーマンスエンジンに、第1の通知と、第2の通知と、バッテリ寿命通知とに基づいて、SOCの第1のモジュールに提供される第1の電源電圧を調整させるように実行可能である。命令は、エネルギーパフォーマンスエンジンに、第1の通知と、第2の通知と、バッテリ寿命通知とに基づいて、SOCの第2のモジュールに提供される第2の電源電圧を調整させるようにさらに実行可能である。
【００１１】
別の特定の態様では、装置は、システムオンチップ(SOC)の第1のモジュールに関する使用履歴の第1の通知と、SOCの第2のモジュールに関する使用履歴の第2の通知とを生成するための手段を含む。装置はまた、SOCのバッテリに関する残りのバッテリ寿命を示すバッテリ寿命通知を生成するための手段を含む。装置は、第1の電源電圧と第2の電源電圧とを調整するための手段をさらに含む。第1の電源電圧は、第1の通知と、第2の通知と、バッテリ寿命通知とに基づいて、SOCの第1のモジュールに提供される。第2の電源電圧は、第1の通知と、第2の通知と、バッテリ寿命通知とに基づいて、SOCの第2のモジュールに提供される。
【００１２】
開示される実施形態のうちの少なくとも1つによって提供される1つの特定の利点は、システムオンチップ(SOC)の異なる構成要素に提供される電源電圧を調整する(たとえば、スケーリングする)能力である。履歴上、他の構成要素よりも低頻度で使用される特定の構成要素に提供される電源電圧を低減する(たとえば、調整する)ことは、電力消費を低減し得る。本開示の他の態様、利点、および特徴は、以下のセクション、すなわち、図面の簡単な説明と、詳細な説明と、特許請求の範囲とを含む本出願全体の検討後に明らかになるであろう。
【図面の簡単な説明】
【００１３】
【図１】異なるモジュールに供給される電圧を動的にスケーリングするように動作可能なシステムオンチップ(SOC)の特定の例示的な実施形態の図である。
【図２】図1のSOCのための設計パラメータを決定するように動作可能なシステムの特定の例示的な実施形態の図である。
【図３】計画された使用条件を示す表の特定の例示的な実施形態の図である。
【図４】第1のユーザプロファイルおよび第2のユーザプロファイルの特定の例示的な実施形態の図である。
【図５】図1のSOCのための設計パラメータを決定するように動作可能なシステムの別の特定の例示的な実施形態の図である。
【図６】SOCの異なる電圧領域に提供される電圧を動的にスケーリングするための方法の特定の例示的な実施形態のフローチャートである。
【図７】異なるモジュールに供給される電圧を動的にスケーリングするように動作可能なSOCを含むデバイスのブロック図である。
【図８】異なるモジュールに供給される電圧を動的にスケーリングするように動作可能なSOCを製造する製造プロセスの特定の例示的な実施形態のデータフロー図である。
【発明を実施するための形態】
【００１４】
図1を参照すると、異なるモジュールに供給される電圧を動的にスケーリングするように動作可能なシステムオンチップ(SOC)100の特定の例示的な実施形態が示されている。SOC100は、エネルギーパフォーマンスエンジン102と、電圧レギュレータ106と、第1のモジュール110と、第2のモジュール120と、第3のモジュール130と、バッテリ140と、使用履歴モジュール150とを含む。エネルギーパフォーマンスエンジン102は、モジュール110、120、130に提供される電圧を管理するように構成されたプロセッサであり得る。特定の実施形態では、SOC100は、ワイヤレスデバイスに組み込まれ得る。たとえば、SOC100は、モバイル電話、通信デバイス、携帯情報端末(PDA)、タブレット、ナビゲーションデバイス、音楽プレーヤ、ビデオプレーヤ、または娯楽ユニットに組み込まれ得る。
【００１５】
各モジュール110、120、130は、SOC100の処理ユニットに対応し得る。非限定的な例として、第1のモジュール110は、中央処理装置(CPU)を含み得、第2のモジュール120は、グラフィック処理ユニット(GPU)を含み得、第3のモジュール130は、デジタル信号プロセッサ(DSP)を含み得る。3つのモジュール110、120、130は、SOC100内に示されているが、他の実施形態では、SOC100は、追加の(またはより少ない)モジュールを含み得る。たとえば、SOC100はまた、変調器/復調器(モデム)、ディスプレイモジュールなどを含み得る。
【００１６】
第1のモジュール110は、第1の電圧領域(たとえば、「電圧領域A」)に対応し得、電圧レギュレータ106から第1の電源電圧を受け取り得る。第1の電源電圧は、図2に関してより詳細に説明するように、予測されたユーザエクスペリエンスに基づいて設計段階中に決定された第1のモジュール110のための構成された(たとえば、「最適な」)電源電圧に基づき得る。第1のモジュール110は、第1のモニタ112を含み得る。第1のモニタ112は、受信した電源電圧(たとえば、第1の電源電圧)を監視し、エネルギーパフォーマンスエンジン102のモードコントローラ104に第1の電源電圧通知(Vdd1)114を提供するように構成され得る。たとえば、第1の電源電圧通知114は、第1の電源電圧の電圧レベルを示し得る。
【００１７】
加えて、図2に関してより詳細に説明するように、設計段階中、第1のモジュール110内のトランジスタのしきい値電圧およびチャネル長が、計画された(または「予測された」)ユーザエクスペリエンスに基づいて構成される(または「最適化される」)。エネルギーパフォーマンスエンジン102は、第1のモジュール110内のトランジスタのしきい値電圧とチャネル長とを示す情報を記憶し得る。
【００１８】
第2のモジュール120は、第2の電圧領域(たとえば、「電圧領域B」)に対応し得、電圧レギュレータ106から第2の電源電圧を受け取り得る。第2の電源電圧は、図2に関してより詳細に説明するように、予測されたユーザエクスペリエンスに基づいて設計段階中に決定された第2のモジュール120のための構成された(たとえば、「最適な」)電源電圧に基づき得る。第2のモジュール120は、第2のモニタ122を含み得る。第2のモニタ122は、受信した電源電圧(たとえば、第2の電源電圧)を監視し、エネルギーパフォーマンスエンジン102のモードコントローラ104に第2の電源電圧通知(Vdd2)124を提供するように構成され得る。たとえば、第2の電源電圧通知124は、第2の電源電圧の電圧レベルを示し得る。
【００１９】
加えて、図2に関してより詳細に説明するように、設計段階中、第2のモジュール120内のトランジスタのしきい値電圧およびチャネル長が、計画されたユーザエクスペリエンスに基づいて構成される(または「最適化される」)。エネルギーパフォーマンスエンジン102は、第2のモジュール120内のトランジスタのしきい値電圧とチャネル長とを示す情報を記憶し得る。
【００２０】
第3のモジュール130は、第3の電圧領域(たとえば、「電圧領域C」)に対応し得、電圧レギュレータ106から第3の電源電圧を受け取り得る。第3の電源電圧は、図2に関してより詳細に説明するように、予測されたユーザエクスペリエンスに基づいて設計段階中に決定された第3のモジュール130のための構成された(たとえば、「最適な」)電源電圧に基づき得る。第3のモジュール130は、第3のモニタ132を含み得る。第3のモニタ132は、受信した電源電圧(たとえば、第3の電源電圧)を監視し、エネルギーパフォーマンスエンジン102のモードコントローラ104に第3の電源電圧通知(Vdd3)134を提供するように構成され得る。たとえば、第3の電源電圧通知134は、第3の電源電圧の電圧レベルを示し得る。
【００２１】
加えて、図2に関してより詳細に説明するように、設計段階中、第3のモジュール130内のトランジスタのしきい値電圧およびチャネル長が、計画されたユーザエクスペリエンスに基づいて構成される(または「最適化される」)。エネルギーパフォーマンスエンジン102は、第3のモジュール130内のトランジスタのしきい値電圧とチャネル長とを示す情報を記憶し得る。
【００２２】
バッテリ140は、エネルギーパフォーマンスエンジン102に結合され得る。バッテリ140は、バッテリの残りのバッテリ寿命を監視するように構成されたバッテリ寿命モニタ142を含み得る。たとえば、バッテリ寿命モニタ142は、バッテリ140がだいたいどれくらい長くSOC100の他の構成要素に電力を供給することができるのか決定し得る。バッテリ寿命モニタ142は、バッテリ140の残りのバッテリ寿命を示すバッテリ寿命通知144を生成し得、バッテリ寿命通知144をエネルギーパフォーマンスエンジン102のモードコントローラ104に提供し得る。
【００２３】
使用履歴モジュール150はまた、エネルギーパフォーマンスエンジン102に結合され得る。使用履歴モジュール150は、第1のモジュール110、第2のモジュール120、第3のモジュール130の使用に関連する履歴データを監視するように構成された使用履歴モニタ152を含み得る。たとえば、使用履歴モニタ152は、第2および第3のモジュール120、130がどれくらい頻繁に使用されたのかに対して第1のモジュール110がどれくらい頻繁に使用されたのかを監視し得る。特定の実施形態では、使用履歴モニタ152は、モジュール110、120、130に結合された外部モニタ(図示せず)から使用履歴の通知を受信し得る。別の特定の実施形態では、使用履歴モジュール150は、使用履歴モニタ152が使用履歴を監視することを可能にするために他のモジュール110、120、130に結合され得る。
【００２４】
各モジュール110、120、130に関する使用頻度は、ユーザエクスペリエンスに基づき得る。たとえば、ユーザが主に通話、電子メール、テキスティング、およびソーシャルメディア目的のために(SOC100を含む)ワイヤレスデバイスを履歴上使用している場合、第3のモジュール130(たとえば、DSP)は、第1および第2のモジュール110、120よりも多く使用される可能性がある。ユーザが主にゲームおよび音楽のためにワイヤレスデバイスを履歴上使用している場合、第1のモジュール110(たとえば、CPU)は、第2および第3のモジュール120、130よりも多く使用される可能性がある。
【００２５】
使用履歴モニタ152は、使用履歴通知154を生成し得る。使用履歴通知154は、第1のモジュール110に関する使用履歴の第1の通知と、第2のモジュール120に関する使用履歴の第2の通知と、第3のモジュール130に関する使用履歴の第3の通知とを含み得る。使用履歴の第1の通知は、ワイヤレスデバイスが第1のモジュール110を利用するアプリケーションをどれくらいの頻度で実行するのか、および/または、第1のモジュール110が履歴上使用された時間期間を示し得る。使用履歴の第2の通知は、ワイヤレスデバイスが第2のモジュール120を利用するアプリケーションをどれくらいの頻度で実行するのか、および/または、第2のモジュール120が履歴上使用された時間期間を示し得る。使用履歴の第3の通知は、ワイヤレスデバイスが第3のモジュール130を利用するアプリケーションをどれくらいの頻度で実行するのか、および/または、第3のモジュール130が履歴上使用された時間期間を示し得る。使用履歴通知154は、エネルギーパフォーマンスエンジン102のモードコントローラ104に提供され得る。
【００２６】
モードコントローラ104は、監視データ(たとえば、第1の電源電圧通知114、第2の電源電圧通知124、第3の電源電圧通知134、バッテリ寿命通知144、および使用履歴通知154)を受信し得る。受信した監視データに基づいて、モードコントローラ104は、SOC100を動作させるモードを決定し得る。たとえば、モードコントローラ104は、バッテリ140のバッテリ寿命を延長させるために、モジュール110、120、130に提供される電源電圧を調整する(たとえば、スケーリングする)かどうかを決定し得る。
【００２７】
たとえば、(バッテリ寿命通知144によって示される)残りのバッテリ寿命が特定のしきい値未満である場合、モードコントローラ104は、モジュール110、120、130に提供される電源電圧がバッテリ寿命を延長させるために調整されるべきであるかどうかを決定し得る。残りのバッテリ寿命のための特定のしきい値は、時間の単位として測定され得る。非限定的な例として、残りのバッテリ寿命のための特定のしきい値は、45分にほぼ等しくてもよい。したがって、残りのバッテリ寿命が45分未満である場合、モードコントローラ104は、モジュール110、120、130に提供される電源電圧がバッテリ寿命を延長させるために調整されるべきであるかどうかを決定し得る。決定は、(使用履歴通知154によって示される)使用履歴に基づき得る。たとえば、残りのバッテリ寿命が比較的少なく(たとえば、しきい値未満)、使用履歴が、第1のモジュール110が第2および第3のモジュール120、130よりも頻繁に履歴上使用されたことを示す場合、モードコントローラ104は、第1の電源電圧を増加させ、第2および第3の電源電圧を減少させるために、電圧レギュレータ106に電圧調整信号を提供し得る。したがって、少ない頻度で使用されるモジュール120、130は、より低い電源電圧を受け取り得、より少ない電力を消費し得、これは、残りのバッテリ寿命を延長させ得る。
【００２８】
モジュール110、120、130に提供される電源電圧をどのように調整するのかの決定は、各モジュール110、120、130が履歴上使用されている時間期間にさらに基づき得る。たとえば、残りのバッテリ寿命が比較的少ない場合、モードコントローラ104は、時刻を決定し得、(使用履歴通知154に基づいて)その時刻にどのモジュールが履歴上使用されているのかを決定し得る。非限定的な例として、時刻が午後8時15分であり、使用履歴通知154が、履歴上、第3のモジュール130が午後8時と午後10時との間に他のモジュール110、120よりも多く使用されていることを示す場合、モードコントローラ104は、(第1のモジュール110が履歴上、24時間の間に第3のモジュール130よりも頻繁に使用されたとしても)第3の電源電圧を増加させ、第1および第2の電源電圧を減少させるために、電圧レギュレータ106に電圧調整信号を提供し得る。
【００２９】
特定の態様では、モードコントローラ104は、各モジュール110、120、130のための動作の使用と、動作の使用に関連する消費電力とを決定し得る。モードコントローラ104によって生成される電圧調整信号は、各モジュール110、120、130の動作の使用に関連する消費電力にさらに基づき得る。非限定的な例として、第3のモジュール130は、第1の動作(たとえば、書込み動作)と第2の動作(たとえば、読出し動作)とを実行し得、第2のモジュールは、第3の動作(たとえば、読出し動作)と第4の動作(たとえば、書込み動作)とを実行し得る。第1の動作は、第3の動作よりも多くの電力を引き出し得るが、第2の動作は、第4の動作よりも少ない電力を引き出し得る。第3のモジュール130は、履歴上、午後8時と午後10時との間に第2のモジュール120よりも頻繁に使用され得るが、第3のモジュール130が午後8時と午後10時との間に書込み動作をまれに実行し、第2のモジュール120が午後8時と午後10時との間に書込み動作を頻繁に実行する場合、モードコントローラ104は、第2の電源電圧を増加させ、第1および第3の電源電圧を減少させるために、電圧レギュレータ106に電圧調整信号を提供し得る。
【００３０】
エネルギーパフォーマンスエンジン102によって電圧レギュレータ106に提供される電圧調整は、各モジュール110、120、130内のトランジスタのしきい値電圧およびチャネル長にさらに基づき得る。エネルギーパフォーマンスエンジン102は、トランジスタのしきい値電圧およびチャネル長に基づいて、漏れを低減する(および、したがって、電力消費を低減する)ために、各モジュール110、120、130に提供される各電源電圧を調整する量を決定し得る。たとえば、エネルギーパフォーマンスエンジン102は、それぞれのモジュール110、120、130のトランジスタ特性に基づいて、各モジュール110、120、130に提供される電源電圧を構成(たとえば、「最適化」)し得る。例示するために、エネルギーパフォーマンスエンジン102は、第1のモジュール110内のトランジスタのしきい値電圧に基づいて、第1の電源電圧を増加させる(または減少させる)量を決定し得る。非限定的な例として、第1のモジュール110内のトランジスタが比較的高いしきい値電圧を有する場合、エネルギーパフォーマンスエンジン102は、比較的大きな量だけ第1の電源電圧を増加させ得る。
【００３１】
図1のSOC100は、バッテリ140のバッテリ寿命を増加させるために、異なるモジュール110、120、130に提供される電源電圧を調整(たとえば、スケーリング)し得る。たとえば、エネルギーパフォーマンスエンジン102は、履歴上低頻度に使用される1つまたは複数のモジュール110、120、130に提供される電源電圧を低下させるために、電圧レギュレータ106に信号を送り得る。他のモジュールよりも履歴上低頻度に使用される特定のモジュールに提供される電源電圧を減少させる(たとえば、調整する)ことは、電力消費を減少させ得る。たとえば、使用される可能性が低いモジュールは、バッテリ寿命を節約するために、減少された電源電圧を受け得る。
【００３２】
図2を参照すると、図1のSOC100のための設計パラメータを決定するように動作可能なシステム200の特定の例示的な実施形態が示されている。たとえば、システム200は、SOC100の設計段階中にSOC100のための設計パラメータ208を決定するように構成された設計プロセッサ202(たとえば、設計エンジン)を含む。
【００３３】
例示的な実施形態では、設計プロセッサ202は、トランジスタ設計エンジンおよび/または電源電圧設計エンジンであり得る。たとえば、設計プロセッサ202は、SOC100内に実装されるべきトランジスタのための設計パラメータ208を決定し得る。非限定的な例として、設計パラメータ208は、SOC100の各モジュール110、120、130内に実装されるべきトランジスタのためのしきい値電圧、SOC100の各モジュール110、120、130内に実装されるべきトランジスタのためのゲート長、SOC100の各モジュール110、120、130内に実装されるべきトランジスタのためのオン/オフ電流、SOC100の各モジュール110、120、130に提供されるべき電源電圧、他のパラメータ、またはそれらの任意の組合せを指定し得る。特定の実施形態では、第1のモジュール110内のトランジスタは、他のモジュール120、130内のトランジスタとは異なる特性(たとえば、しきい値電圧、チャネル長、オン/オフ電流など)を有し得る。加えて、各モジュール110、120、130は、異なる電源電圧を供給され得る。以下で説明するように、設計パラメータ208は、計画されたユーザエクスペリエンスに基づいてワイヤレスデバイスのエネルギー効率を向上させ得る。
【００３４】
設計パラメータ208を決定するために、設計プロセッサ202は、SOC100のための計画された使用条件204と、他のSOC設計入力データ206とを受け取り得る。他のSOC設計入力データ206については、図5に関してより詳細に説明する。SOC100のための計画された使用条件204は、SOC100内の各モジュール110、120、130がワイヤレスデバイスのバッテリ寿命中に特定の動作周波数で動作することが予測される時間量を示し得る。
【００３５】
図3を参照すると、計画された使用条件204を示す表の特定の実施形態が示されている。たとえば、計画された使用条件204は、SOC100の第1のモジュール110がワイヤレスデバイスの単一のバッテリ寿命(たとえば、バッテリが完全に充電されている場合、ワイヤレスデバイスが動作する時間量)中に約1.45ギガヘルツ(GHz)で4時間動作することを示し得る。計画された使用条件204は、SOC100の第1のモジュール110がワイヤレスデバイスの単一のバッテリ寿命中に約1.92GHzで2時間動作することをさらに示す。計画された使用条件204はまた、SOC100の第1のモジュール110がワイヤレスデバイスの単一のバッテリ寿命中に約2.25GHzで1時間動作することを示す。加えて、計画された使用条件204は、SOC100の第1のモジュール110がワイヤレスデバイスの単一のバッテリ寿命中に2.5GHzで30分動作することをさらに示す。
【００３６】
計画された使用条件204は、SOC100の第2のモジュール120がワイヤレスデバイスの単一のバッテリ寿命中に800メガヘルツ(MHz)で8時間動作することを示す。計画された使用条件204はまた、SOC100の第3のモジュール130がワイヤレスデバイスの単一のバッテリ寿命中に450MHzで18時間動作することを示す。
【００３７】
計画された使用条件204におけるモジュール110、120、130のための動作周波数および実行時間は、予測されたユーザエクスペリエンスに基づき得る(たとえば、ユーザプロファイルに基づき得る)。たとえば、第1のユーザプロファイルは、主に通信目的(たとえば、テキスティング、通話、電子メールなど)のためにワイヤレスデバイスを使用するワイヤレスデバイスユーザに対応し得、第2のユーザプロファイルは、主に音楽およびゲーム目的のためにワイヤレスデバイスを使用するワイヤレスデバイスユーザに対応し得る。
【００３８】
例示するために、図4を参照すると、第1のユーザプロファイルおよび第2のユーザプロファイルの特定の例示的な実施形態400が示されている。第1のユーザプロファイルは、第1のユーザが主に通話、電子メール、テキスティング、およびソーシャルメディア目的のためにワイヤレスデバイスを使用することを示す。第2のユーザプロファイルは、第2のユーザが主にゲームおよび音楽のためにワイヤレスデバイスを使用することを示す。ユーザプロファイルに基づいて、CPU、GPU、DSP、およびモデムにおける動作周波数および使用時間(たとえば、実行時間)は、SOCに対して変化し得る。たとえば、第2のユーザは、第1のユーザがCPUを使用するよりも長い時間量の間CPUを使用し得る(たとえば、音楽およびゲームは、テキスティングおよび通話よりも多くのCPU使用を必要とする)。
【００３９】
したがって、図2に戻って参照すると、設計プロセッサ202に提供される計画された使用条件204は、予測されたユーザエクスペリエンス(たとえば、図4の第1のユーザプロファイルまたは図4の第2のユーザプロファイル)に基づき得る。計画された使用条件204が第1のユーザプロファイルに基づく場合、設計パラメータ208(たとえば、トランジスタパラメータおよび電源電圧パラメータ)は、主に通話、電子メール、テキスティング、およびソーシャルメディア目的のために使用されるSOC100を設計するように構成(たとえば、最適化)され得る。計画された使用条件204が第2のユーザプロファイルに基づく場合、設計パラメータ208は、主にゲームおよび音楽のために使用されるSOC100を設計するように構成(たとえば、最適化)され得る。第1のユーザプロファイルに基づく設計パラメータ208は、ワイヤレスデバイスの第1のバージョンを設計するために使用され得、第2のユーザプロファイルに基づく設計パラメータ208は、ワイヤレスデバイスの第2のバージョンを設計するために使用され得る。ワイヤレスデバイスの各バージョンは、同様の構成要素/モジュールを含み得る(たとえば、各バージョンは、ワイヤレスデバイスの同様のモデルに対応し得る)。
【００４０】
本明細書で使用されるとき、設計パラメータ208を構成する(たとえば、最適化する)ことは、予測されたユーザエクスペリエンスに基づいてSOC100のパフォーマンスを改善する(たとえば、エネルギー効率を向上させる)ことになる各モジュール110、120、130のためのトランジスタしきい値電圧、トランジスタチャネル長、トランジスタオン/オフ電流、および電源電圧、またはそれらの任意の組合せを決定することに対応する。たとえば、CPUを高速化するためにCPU内のトランジスタのトランジスタしきい値電圧を増加させることは、増加したバッテリエネルギー流出に至る可能性がある。CPUが(第1のユーザプロファイルの場合のように)比較的短い時間実行される場合、トランジスタしきい値電圧を増加させることによって生じるバッテリエネルギー流出は、増加したCPU速度に対して悪いトレードオフである可能性がある。したがって、CPUが比較的短い時間実行されることが予測されるので、第1のユーザプロファイルのための設計パラメータ208は、CPUのための比較的小さいトランジスタしきい値電圧を有するトランジスタを設計することを示し得る。
【００４１】
図2のシステム200は、予測されたユーザエクスペリエンスに基づいてSOC100のエネルギー効率を向上させ得る。たとえば、計画された使用条件204を設計プロセッサ202に提供することによって、設計プロセッサ202は、ユーザがどれくらい長く特定の周波数でSOC100内の特定のモジュール110、120、130を使用する可能性があるかに基づいて、SOC100のための設計パラメータ208(たとえば、トランジスタパラメータおよび電源電圧パラメータ)を決定し得る。たとえば、設計プロセッサ202は、第1の使用条件(たとえば、CPUの第1の動作周波数、およびCPUが第1の動作周波数で動作する時間量)に基づくとともに、第2の使用条件(たとえば、DSPの第2の動作周波数、およびDSPが第2の動作周波数で動作する時間量)に基づいて、設計パラメータ208を生成し得る。計画された使用条件204(たとえば、第1の使用条件および第2の使用条件)に基づいて設計パラメータ208を生成することは、ワイヤレスデバイスの異なるバージョンの設計が、予測された計画されたユーザエクスペリエンスに基づいてパフォーマンスを改善する(たとえば、エネルギー効率を向上させる)ことを可能にし得る。
【００４２】
図5を参照すると、ワイヤレスデバイスのためのSOCのための設計パラメータを決定するように動作可能なシステム500の特定の例示的な実施形態が示されている。システム500は、計画された使用条件204に基づいてSOC100の設計パラメータ208を決定するように構成された図2の設計プロセッサ202を含む。設計プロセッサ202はまた、以下で説明するように、ファウンドリ(foundry)入力502と、技術的定義504と、仕様506と、データ経路の速度分布508と、経路によってビニングおよびマッピングされた(BMP:binned and mapped by path)較正されたリング発振器(R/O)セット510とに基づいて設計パラメータ208を決定し得る。特定の実施形態では、ファウンドリ入力502、技術的定義504、仕様506、速度分布508、および較正されたR/Oセット510は、図2の他のSOC設計入力データ206に対応し得る。
【００４３】
ファウンドリ入力502および技術的定義504は、しきい値電圧およびゲート長と、オンおよびオフ電流と、SOC全体を設計するための他のパラメータとのための可能な技術(たとえば、20nm設計、シリコン-ゲルマニウム(SiGe)設計など)を決定し得る。加えて、速度、電力要件、および他のパラメータなどの仕様506は、SOC設計のための全体的な可能性を定義する。
【００４４】
システム500は、SOCを通過するデータ経路を考慮し、データ経路(たとえば、またはデータ経路の代表的なサンプル)を、データ経路を横断するのにかかる時間の長さで除算する。SOCに関するデータ経路の速度分布508は、仕様506および技術的定義504とともに、デバイスのセットへの入力である。これらのデバイス(たとえば、リング発振器、論理ゲート、または他の同様のデバイス)は、510において、選択されたしきい値電圧およびゲート長に関して経路によってビニングおよびマッピングされる(BMP)。
【００４５】
SOC内のデータ経路の電力および/または速度が所与の部分(たとえば、リング発振器、論理ゲートなど)に対して較正され、(図2〜図4に関して説明したように)計画された使用条件204が設計プロセッサ202に提供されると、設計プロセッサ202は、SOC内のどのトランジスタおよび/またはどのデータ経路が異なるしきい値電圧、ゲート長、トランジスタオン/オフ電流、および他のパラメータを使用し得るのかを決定し、SOC100のための設計パラメータ208としてより高パフォーマンスなSOC設計を出力する。
【００４６】
図5のシステム500は、予測されたユーザエクスペリエンスに基づいてSOC100のパフォーマンスを改善し得る(たとえば、エネルギー効率を向上させ得る)。たとえば、計画された使用条件204を設計プロセッサ202に提供することによって、設計プロセッサ202は、ユーザがどれくらい長く特定の周波数でSOC100内の特定のモジュール110、120、130を使用する可能性があるかに基づいて、SOC100の各モジュール110、120、130のための設計パラメータ208(たとえば、トランジスタパラメータおよび電源電圧パラメータ)を決定し得る。たとえば、設計プロセッサ202は、第1の使用条件(たとえば、CPUの第1の動作周波数、およびCPUが第1の動作周波数で動作する時間量)に基づくとともに、第2の使用条件(たとえば、DSPの第2の動作周波数、およびDSPが第2の動作周波数で動作する時間量)に基づいて、設計パラメータ208を生成し得る。計画された使用条件204(たとえば、第1の使用条件および第2の使用条件)に基づいて設計パラメータ208を生成することは、ワイヤレスデバイスの異なるバージョンの設計が、予測された計画されたユーザエクスペリエンスに基づいてエネルギー効率を向上させることを可能にし得る。
【００４７】
図6を参照すると、ワイヤレスデバイスのためのSOCのための設計パラメータを決定するための方法600の特定の例示的な実施形態のフローチャートが示されている。方法600は、図1のSOC100の構成要素を使用して実行され得る。
【００４８】
方法600は、602において、SOCのエネルギーパフォーマンスエンジンにおいて、SOCの第1のモジュールに関する使用履歴の第1の通知と、SOCの第2のモジュールに関する使用履歴の第2の通知とを受信するステップを含む。たとえば、図1を参照すると、エネルギーパフォーマンスエンジン102のモードコントローラ104は、使用履歴通知154を受信し得る。使用履歴通知154は、第1のモジュール110に関する使用履歴の第1の通知と、第2のモジュール120に関する使用履歴の第2の通知と、第3のモジュール130に関する使用履歴の第3の通知とを含み得る。使用履歴の第1の通知は、ワイヤレスデバイスが第1のモジュール110を利用するアプリケーションをどれくらいの頻度で実行するのか、および/または、第1のモジュール110が履歴上使用された時間期間を示し得る。使用履歴の第2の通知は、ワイヤレスデバイスが第2のモジュール120を利用するアプリケーションをどれくらいの頻度で実行するのか、および/または、第2のモジュール120が履歴上使用された時間期間を示し得る。使用履歴の第3の通知は、ワイヤレスデバイスが第3のモジュール130を利用するアプリケーションをどれくらいの頻度で実行するのか、および/または、第3のモジュール130が履歴上使用された時間期間を示し得る。使用履歴通知154は、エネルギーパフォーマンスエンジン102のモードコントローラ104に提供され得る。特定の実施形態では、使用履歴モニタ152は、モジュール110、120、130に結合された外部モニタ(図示せず)から使用履歴の通知を受信し得る。別の特定の実施形態では、使用履歴モジュール150は、使用履歴モニタ152が使用履歴を監視することを可能にするために他のモジュール110、120、130に結合され得る。
【００４９】
604において、SOCの第1のモジュールに提供される第1の電源電圧は、第1の通知と第2の通知とに基づいて調整され得る。非限定的な例として、図2を参照すると、バッテリ140の残りのバッテリ寿命が比較的少なく(たとえば、しきい値未満)、使用履歴が、第1のモジュール110が履歴上第2のモジュール120よりも頻繁に使用されたことを示す場合、モードコントローラ104は、第1のモジュール110に提供される第1の電源電圧を増加させるために、電圧レギュレータ106に電圧調整信号を提供し得る。
【００５０】
SOCの第2のモジュールに提供される第2の電源電圧は、第1の通知と第2の通知とに基づいて調整され得る。非限定的な例として、図2を参照すると、バッテリ140の残りのバッテリ寿命が比較的少なく(たとえば、しきい値未満)、使用履歴が、第1のモジュール110が履歴上第2のモジュール120よりも頻繁に使用されたことを示す場合、モードコントローラ104は、第2のモジュール120に提供される第2の電源電圧を減少させるために、電圧レギュレータ106に電圧調整信号を提供し得る。
【００５１】
図6の方法600は、バッテリ140のバッテリ寿命を増加させるために、異なるモジュール110、120に提供される電源電圧を調整(たとえば、スケーリング)し得る。たとえば、エネルギーパフォーマンスエンジン102は、履歴上、低頻度に使用される1つまたは複数のモジュールに提供される電源電圧を低下させるために、電圧レギュレータ106に信号を送り得る。履歴上他のモジュールよりも低頻度に使用される特定のモジュールに提供される電源電圧を減少させる(たとえば、調整する)ことは、電力消費を減少させ得る。たとえば、使用される可能性が低いモジュールは、バッテリ寿命を節約するために、低い電源電圧を受け得る。
【００５２】
図7を参照すると、ワイヤレス通信デバイスの特定の例示的な実施形態が示され、全体として700で示されている。デバイス700は、メモリ732に結合された第1のモジュール110(たとえば、CPU)を含む。第1のモジュール110内の回路(たとえば、トランジスタ)は、設計プロセッサ202によって決定された設計パラメータ208に従って設計され得る。第1のモジュール110は、メモリ732内に記憶されたソフトウェア(たとえば、1つまたは複数の命令768のプログラム)を実行するように構成され得る。
【００５３】
ワイヤレスインターフェース740は、第1のモジュール110と、トランシーバ746を介してアンテナ742とに結合され得る。コーダ/デコーダ(CODEC)734も、第1のモジュール110に結合され得る。スピーカ736およびマイクロホン738は、CODEC734に結合され得る。ディスプレイコントローラ726は、第1のモジュール110およびディスプレイデバイス728に結合され得る。第2のモジュール120(たとえば、GPU)は、ディスプレイコントローラ726に結合され得る。第2のモジュール120内の回路は、設計プロセッサ202によって決定された設計パラメータ208に従って設計され得る。加えて、第3のモジュール130(たとえば、DSP)は、第1のモジュール110に結合され得る。第3のモジュール130内の回路は、設計プロセッサ202によって決定された設計パラメータ208に従って設計され得る。
【００５４】
エネルギーパフォーマンスエンジン102は、命令792を記憶するメモリ790に結合され得る。メモリ790は、非一時的コンピュータ可読媒体であり得る。命令792は、エネルギーパフォーマンスエンジン102に図6の方法600を実行させるように実行可能であり得る。たとえば、使用履歴モジュール150およびバッテリ140は、エネルギーパフォーマンスエンジン102に結合され得る。加えて、第1、第2、および第3のモジュール110、120、130は、エネルギーパフォーマンスエンジン102に結合され得る。第1のモジュール110は、図1の第1の電源電圧通知114をエネルギーパフォーマンスエンジン102に提供し得、第2のモジュール120は、図1の第2の電源電圧通知124をエネルギーパフォーマンスエンジン102に提供し得、第3のモジュール130は、図1の第3の電源電圧通知134をエネルギーパフォーマンスエンジン102に提供し得る。加えて、バッテリ140は、図1のバッテリ寿命通知144をエネルギーパフォーマンスエンジン102に提供し得、使用履歴モジュール150は、図1の使用履歴通知154をエネルギーパフォーマンスエンジン102に提供し得る。
【００５５】
バッテリ140の残りのバッテリ寿命に基づいて、エネルギーパフォーマンスエンジン102は、図1に関して説明したものと実質的に同様の方法で、第1、第2、および第3のモジュール110、120、130に提供される電源電圧を調整するために電圧レギュレータ106に信号を送り得る。たとえば、電圧調整は、使用履歴モジュール150によって示される履歴使用データに基づき得る。
【００５６】
特定の実施形態では、エネルギーパフォーマンスエンジン102、電圧レギュレータ106、第1のモジュール110、第2のモジュール120、第3のモジュール130、使用履歴モジュール150、ディスプレイコントローラ726、メモリ732、CODEC734、ワイヤレスインターフェース740、トランシーバ746、およびメモリ790は、システムインパッケージまたはSOCデバイス内に含まれる。たとえば、エネルギーパフォーマンスエンジン102、電圧レギュレータ106、第1のモジュール110、第2のモジュール120、第3のモジュール130、使用履歴モジュール150、ディスプレイコントローラ726、メモリ732、CODEC734、ワイヤレスインターフェース740、トランシーバ746、およびメモリ790は、図1のSOC100内に含まれ得る。
【００５７】
特定の実施形態では、入力デバイス730およびバッテリ140は、SOCデバイス100に結合される。代替の実施形態では、バッテリ140は、SOC100内に含まれ得る。さらに、特定の実施形態では、図7に示すように、ディスプレイデバイス728、入力デバイス730、スピーカ736、マイクロホン738、アンテナ742、およびバッテリ140は、SOC100の外部にある。しかしながら、ディスプレイデバイス728、入力デバイス730、スピーカ736、マイクロホン738、アンテナ742、およびバッテリ140の各々は、1つまたは複数のインターフェースまたはコントローラなどの、SOC100の1つまたは複数の構成要素に結合され得る。
【００５８】
上記で開示したデバイスおよび機能は、コンピュータ可読媒体上に記憶されたコンピュータファイル(たとえば、RTL、GDSII、GERBERなど)に設計および構成され得る。いくつかまたはすべてのそのようなファイルは、そのようなファイルに基づいてデバイスを製造するために製造ハンドラに提供され得る。得られる生成物は、次いで、ダイに切断され、チップにパッケージされるウエハを含む。チップは、次いで、上記で説明したデバイスに用いられ得る。図8は、電子デバイス製造プロセス800の特定の例示的な実施形態を示す。
【００５９】
物理的デバイス情報802は、研究用コンピュータ806などにおける製造プロセス800において受信される。物理的デバイス情報802は、SOC100の物理的特性などの、半導体デバイスの少なくとも1つの物理的特性を表す設計情報を含み得る。たとえば、物理的デバイス情報802は、研究用コンピュータ806に結合されたユーザインターフェース804を介して入力される物理的パラメータと、材料特性と、構造情報とを含み得る。研究用コンピュータ806は、メモリ810などのコンピュータ可読媒体に結合された1つまたは複数の処理コアなどのプロセッサ808を含む。メモリ810は、ファイルフォーマットに準拠し、ライブラリファイル812を生成するために、プロセッサ808に物理的デバイス情報802を変換させるように実行可能なコンピュータ可読命令を記憶し得る。
【００６０】
特定の実施形態では、ライブラリファイル812は、変換された設計情報を含む少なくとも1つのデータファイルを含む。たとえば、ライブラリファイル812は、電子設計自動化(EDA)ツール820とともに使用するために提供される、SOC100を含む半導体デバイスのライブラリを含み得る。
【００６１】
ライブラリファイル812は、メモリ818に結合された1つまたは複数の処理コアなどのプロセッサ816を含む設計コンピュータ814においてEDAツール820とともに使用され得る。EDAツール820は、設計コンピュータ814のユーザがライブラリファイル812を使用してSOC100を含む回路を設計することを可能にするために、メモリ818においてプロセッサ実行可能命令として記憶され得る。たとえば、設計コンピュータ814のユーザは、設計コンピュータ814に結合されたユーザインターフェース824を介して回路設計情報822を入力し得る。回路設計情報822は、SOC100などの半導体デバイスの少なくとも1つの物理的特性を表す設計情報を含み得る。例示するために、回路設計特性は、回路設計内の特定の回路および他の要素との関係の識別、位置情報、特徴のサイズ情報、相互接続情報、または、電子デバイスの物理的特性を表す他の情報を含み得る。
【００６２】
設計コンピュータ814は、ファイルフォーマットに準拠するように、回路設計情報822を含む設計情報を変換するように構成され得る。例示するために、ファイル構成は、平面幾何学的形状と、テキストラベルと、グラフィックデータシステム(GDSII)ファイルフォーマットなどの階層的フォーマット内の回路レイアウトについての他の情報とを表すデータベースバイナリファイルフォーマットを含み得る。設計コンピュータ814は、他の回路または情報に加えて、SOC100を記述する情報を含むGDSIIファイル826などの変換された設計情報を含むデータファイルを生成するように構成され得る。例示するために、データファイルは、SOC100に対応する情報を含み得る。
【００６３】
GDSIIファイル826は、GDSIIファイル826内の変換された情報に従ってSOC100を製造するために、製造プロセス828において受信され得る。たとえば、デバイス製造プロセスは、代表的なマスク832として図8に示すフォトリソグラフィ処理で使用されるマスクなどの1つまたは複数のマスクを作製するために、マスク製造元830にGDSIIファイル826を提供することを含み得る。マスク832は、製造プロセスの間に、1つまたは複数のウエハ833を生成するために使用されることが可能であり、ウエハ833は検査されて、代表的なダイ836などのダイに分割され得る。ダイ836は、SOC100を含む回路を含む。
【００６４】
特定の実施形態では、製造プロセス828は、プロセッサ834によって開始され得るか、またはプロセッサ834によって制御され得る。プロセッサ834は、コンピュータ可読命令またはプロセッサ可読命令などの実行可能命令を含むメモリ835にアクセスし得る。実行可能命令は、プロセッサ834などのコンピュータによって実行可能な1つまたは複数の命令を含み得る。
【００６５】
製造プロセス828は、完全に自動化されたまたは部分的に自動化された製造システムによって実行され得る。たとえば、製造プロセス828は、自動化され得、スケジュールに従って処理ステップを実行し得る。製造システムは、電子デバイスを形成するために1つまたは複数の動作を実行するための製造機器(たとえば、処理ツール)を含み得る。
【００６６】
製造システムは、分散型アーキテクチャ(たとえば、階層)を有し得る。たとえば、製造システムは、分散型アーキテクチャに従って分散された、プロセッサ834などの1つもしくは複数のプロセッサ、メモリ835などの1つもしくは複数のメモリ、および/またはコントローラを含み得る。分散型アーキテクチャは、1つまたは複数の低レベルシステムの動作を制御または開始する高レベルプロセッサを含み得る。たとえば、製造プロセス828の高レベル部分は、プロセッサ834などの1つまたは複数のプロセッサを含むことができ、低レベルシステムは、各々、1つもしくは複数の対応するコントローラを含むことができ、または、1つもしくは複数の対応するコントローラによって制御され得る。特定の低レベルシステムの特定のコントローラは、高レベルシステムから1つまたは複数の命令(たとえば、コマンド)を受信することができ、サブコマンドを下位のモジュールまたはプロセスツールに発行することができ、高レベルシステムに状態データを通信し戻すことができる。1つまたは複数の低レベルシステムの各々は、製造機器の1つまたは複数の対応する部分(たとえば、処理ツール)に関連付けられ得る。特定の実施形態では、製造システムは、製造システム内に分散された複数のプロセッサを含み得る。たとえば、製造システムの低レベルシステム構成要素のコントローラは、プロセッサ834などのプロセッサを含み得る。
【００６７】
代替的には、プロセッサ834は、製造システムの高レベルシステム、サブシステム、または構成要素の一部であり得る。別の実施形態では、プロセッサ834は、製作システムの様々なレベルおよび構成要素における分散処理を含む。
【００６８】
ダイ836は、パッケージングプロセス838に提供され得、ダイ836は、代表的なパッケージ840内に組み込まれる。たとえば、パッケージ840は、システムインパッケージ(SiP)配置などの単一のダイ836または複数のダイを含むことができる。パッケージ840は、合同電子デバイス委員会(JEDEC(Joint Electron Device Engineering Council))規格などの1つまたは複数の規格または仕様に準拠するように構成され得る。
【００６９】
パッケージ840に関する情報は、コンピュータ846において記憶された構成要素ライブラリを介するなどして様々な製品設計者に配布され得る。コンピュータ846は、メモリ850に結合された、1つまたは複数の処理コアなどのプロセッサ848を含むことが可能である。プリント回路基板(PCB)ツールは、ユーザインターフェース844を介してコンピュータ846のユーザから受信したPCB設計情報842を処理するために、メモリ850においてプロセッサ実行可能命令として記憶され得る。PCB設計情報842は、回路基板上のパッケージ化された電子デバイスの物理的位置情報を含み得、パッケージ化された電子デバイスは、SOC100を含むパッケージ840に対応する。
【００７０】
コンピュータ846は、回路基板上のパッケージ化された電子デバイスの物理的位置情報ならびにトレースおよびビアなどの電気的接続のレイアウトを含むデータを有する、GERBERファイル852などのデータファイルを生成するために、PCB設計情報842を変換するように構成され得、パッケージ化された電子デバイスは、SOC100を含むパッケージ840に対応する。他の実施形態では、変換されたPCB設計情報によって生成されたデータファイルは、GERBERフォーマット以外のフォーマットを有し得る。
【００７１】
GERBERファイル852は、基板組立プロセス854において受け取られ得、GERBERファイル852内に格納された設計情報に従って製造される代表的なPCB856などのPCBを作製するために使用され得る。たとえば、GERBERファイル852は、PCB製造プロセスの様々なステップを実行するために1つまたは複数のマシンにアップロードされ得る。PCB856は、代表的なプリント回路アセンブリ(PCA)858を形成するために、パッケージ840を含む電子構成要素を装着され得る。
【００７２】
PCA858は、製品製造元860において受け取られ、第1の代表的な電子デバイス862および第2の代表的な電子デバイス864のような、1つまたは複数の電子デバイスに組み込まれる。例示的な非限定的な例として、第1の代表的な電子デバイス862、第2の代表的な電子デバイス864、またはその両方は、SOC100が組み込まれた、モバイル電話、通信デバイス、携帯情報端末(PDA)、タブレット、ナビゲーションデバイス、音楽プレーヤ、ビデオプレーヤ、または娯楽ユニット、固定位置データユニット、およびコンピュータから選択され得る。別の例示的な非限定的な例として、電子デバイス862および864の1つまたは複数は、モバイル電話、ハンドヘルドパーソナル通信システム(PCS)ユニット、携帯情報端末などのポータブルデータユニット、全地球測位システム(GPS)対応デバイス、または、データもしくはコンピュータ命令を記憶もしくは取り出す任意の他のデバイス、または、それらの任意の組合せなどの遠隔ユニットであり得る。図8は、本開示の教示に従った遠隔ユニットを示すが、本開示は、これらの示されたユニットに限定されない。本開示の実施形態は、メモリおよびオンチップ回路を含む能動的な集積回路を含む、任意のデバイスにおいて適切に利用され得る。
【００７３】
SOC100を含むデバイスは、例示的な製造プロセス800において説明したように、製造され、処理され、電子デバイス内に組み込まれ得る。図1〜図7に関して開示された実施形態の1つまたは複数の態様は、ライブラリファイル812、GDSIIファイル826、およびGERBERファイル852の内部など、様々な処理段階で含めることができると同様に、研究用コンピュータ806のメモリ810、設計用コンピュータ814のメモリ818、コンピュータ846のメモリ850、基板組立プロセス854などの様々な段階で使用される1つもしくは複数の他のコンピュータまたはプロセッサ(図示せず)のメモリに記憶することができ、マスク832、ダイ836、パッケージ840、PCA858、プロトタイプの回路もしくはデバイス(図示せず)などの他の製品、またはそれらの任意の組合せなど、1つもしくは複数の他の物理的な実施形態に組み込まれることも可能である。図8のプロセス800は、製造プロセス800の様々な段階を実行する単一のエンティティあるいは1つまたは複数のエンティティによって実行され得る。
【００７４】
説明された実施形態に関連して、装置は、SOCの第1のモジュールに関する使用履歴の第1の通知と、SOCの第2のモジュールに関する使用履歴の第2の通知とを生成するための手段を含む。たとえば、第1の通知と第2の通知とを生成するための手段は、図1および図7の使用履歴モジュール150、図1の使用履歴モニタ152、1つもしくは複数の他のデバイス、回路、モジュール、またはそれらに任意の組合せを含み得る。
【００７５】
装置はまた、SOCのバッテリに関する残りのバッテリ寿命を示すバッテリ寿命通知を生成するための手段を含む。たとえば、バッテリ寿命通知を生成するための手段は、図1のバッテリ寿命モニタ142、1つもしくは複数の他のデバイス、回路、モジュール、またはそれらの任意の組合せを含み得る。
【００７６】
装置はまた、第1の電源電圧と第2の電源電圧とを調整するための手段を含む。第1の電源電圧は、第1の通知と、第2の通知と、バッテリ寿命通知とに基づいて、SOCの第1のモジュールに提供され得る。第2の電源電圧は、第1の通知と、第2の通知と、バッテリ寿命通知とに基づいて、SOCの第2のモジュールに提供され得る。たとえば、第1の電源電圧と第2の電源電圧とを調整するための手段は、図1および図7のエネルギーパフォーマンスエンジン102、図1のモードコントローラ104、図1および図7の電圧レギュレータ106、1つもしくは複数の他のデバイス、回路、モジュール、またはそれらの任意の組合せを含み得る。
【００７７】
当業者は、本明細書に開示された実施形態に関連して説明した様々な例示的な論理ブロック、構成、モジュール、回路、およびアルゴリズムステップが、電子ハードウェア、コンピュータソフトウェア、またはその両方の組合せとして実装され得ることを理解するであろう。様々な例示的な構成要素、ブロック、構成、モジュール、回路、およびステップについて、それらの機能に関して概略的に上記で説明した。そのような機能が、ハードウェアとして実装されるのか、それともソフトウェアとして実装されるのかは、特定の適用例および全体的なシステムに課された設計制約によって決まる。当業者は、説明した機能を各特定の用途のために様々な方法で実装することができるが、そのような実装の決定は、本開示の範囲からの逸脱を引き起こすものとして解釈されるべきではない。
【００７８】
本明細書に開示された実施形態に関連して説明した方法またはアルゴリズムのステップは、ハードウェアにおいて直接、プロセッサによって実行されるソフトウェアモジュールにおいて、またはこれら2つの組合せにおいて実施され得る。ソフトウェアモジュールは、ランダムアクセスメモリ(RAM)、フラッシュメモリ、読出し専用メモリ(ROM)、プログラマブル読出し専用メモリ(PROM)、消去可能プログラマブル読出し専用メモリ(EPROM)、電気的消去可能プログラマブル読出し専用メモリ(EEPROM)、レジスタ、ハードディスク、リムーバブルディスク、コンパクトディスク読出し専用メモリ(CD-ROM)、または任意の他の形態の当該技術分野において周知の記憶媒体内に存在することができる。例示的な非一時的(たとえば、有形)記憶媒体は、プロセッサが記憶媒体から情報を読み出し、記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替形態において、記憶媒体は、プロセッサと一体であり得る。プロセッサおよび記憶媒体は、特定用途向け集積回路(ASIC)内に存在することができる。ASICは、コンピューティングデバイスまたはユーザ端末内に存在することができる。代替形態において、プロセッサおよび記憶媒体は、コンピューティングデバイスまたはユーザ端末内の個別の構成要素として存在することができる。
【００７９】
開示された実施形態の上記の説明は、当業者が開示された実施形態を製作または使用することを可能にするために提供される。当業者にはこれらの実施形態に対する様々な修正が容易に明らかであり、また、本明細書において定義されている原理は、本開示の範囲を逸脱することなく他の実施形態に適用することができる。したがって、本開示は、本明細書において示されている実施形態に限定されることは意図されておらず、以下の特許請求の範囲によって定義されている原理および新規な特徴と無矛盾の最も広義の可能範囲と一致するものとする。
【符号の説明】
【００８０】
100  システムオンチップ(SOC)
102  エネルギーパフォーマンスエンジン
104  モードコントローラ
106  電圧レギュレータ
110  第1のモジュール
112  第1のモニタ
114  第1の電源電圧
120  第2のモジュール
122  第2のモニタ
124  第2の電源電圧
130  第3のモジュール
132  第3のモニタ
134  第3の電源電圧
140  バッテリ
142  バッテリ寿命モニタ
144  バッテリ寿命
150  使用履歴モジュール
152  使用履歴モニタ
154  使用履歴
200  システム
202  設計プロセッサ
204  計画された使用条件
206  他のSOC設計入力データ
208  設計パラメータ
500  システム
502  ファウンドリ入力
504  技術的定義
506  仕様
508  データ経路の速度分布
510  較正されたリング発振器(R/O)セット
700  デバイス
726  ディスプレイコントローラ
728  ディスプレイデバイス
730  入力デバイス
732  メモリ
734  コーダ/デコーダ(CODEC)
736  スピーカ
738  マイクロホン
740  ワイヤレスインターフェース
742  アンテナ
746  トランシーバ
768  命令
790  メモリ
792  命令
800  電子デバイス製造プロセス
802  物理的デバイス情報
804  ユーザインターフェース
806  研究用コンピュータ
808  プロセッサ
810  メモリ
812  ライブラリファイル
814  設計コンピュータ
816  プロセッサ
818  メモリ
820  電子設計自動化(EDA)ツール
822  回路設計情報
824  ユーザインターフェース
826  GDSIIファイル
828  製造プロセス
830  マスク製造元
832  マスク
833  ウエハ
834  プロセッサ
835  メモリ
836  ダイ
838  パッケージングプロセス
840  パッケージ
842  PCB設計情報
844  ユーザインターフェース
846  コンピュータ
848  プロセッサ
850  メモリ
852  GERBERファイル
854  基板組立プロセス
856  PCB
858  プリント回路アセンブリ(PCA)
860  製品製造者
862  第1の代表的な電子デバイス
864  第2の代表的な電子デバイス
【図１】
0006563493.tif 000002
【図２】
0006563493.tif 000003
【図３】
0006563493.tif 000004
【図４】
0006563493.tif 000005
【図５】
0006563493.tif 000006
【図６】
0006563493.tif 000007
【図７】
0006563493.tif 000008
【図８】
0006563493.tif 000009