(57)【特許請求の範囲】
【請求項１】
電力管理論理を備えるプロセッサであって、
前記電力管理論理は、
前記プロセッサに対して、前記プロセッサの現在の状態を維持しつつ、前記プロセッサへの電力を減らす節電モードに遷移するよう要求する制御信号を受信し、
前記制御信号に呼応して、前記プロセッサのコンポーネントの現在の状態を、不揮発性メモリに格納し、
前記プロセッサを前記節電モードにするために、前記プロセッサへの電力をゼロ電力モードに調節し、前記ゼロ電力モードの間、前記プロセッサは電力を受信せず、
前記電力管理論理は、
前記プロセッサが前記節電モードにある間は揮発性メモリに格納されたデータを維持すべく、前記電力を調節する前に自己リフレッシュモードを開始するよう前記揮発性メモリを制御し、
前記節電モードにある場合には、前記不揮発性メモリに格納されている前記コンポーネントの前記現在の状態を調節して更新状態を生成して、前記プロセッサ内の１以上のレジスタを前記更新状態に更新することで、前記プロセッサをonモードに復帰させる、プロセッサ。
【請求項２】
前記電力管理論理は、前記プロセッサのレジスタからの値をキャプチャして、前記値を前記不揮発性メモリに格納することにより、前記プロセッサのリアルタイムクロック（ＲＴＣ）およびオペレーティングシステムタイマ（ＯＳＴ）のそれぞれの現在の状態を格納する、請求項１に記載のプロセッサ。
【請求項３】
前記プロセッサはコア電圧により電力供給され、
前記電力管理論理は、前記ゼロ電力モード中に前記プロセッサの前記コア電圧をゼロボルトに低減させることにより、前記プロセッサの前記電力を調節し、
前記プロセッサは、前記ゼロ電力モードではゼロの電力を消費し、
前記電力管理論理は、前記プロセッサを、１０ミリ秒未満のうちに前記ゼロ電力モードからonモードに遷移させ、
前記電力管理論理は、前記プロセッサを、１０ミリ秒未満のうちに前記onモードから前記ゼロ電力モードに遷移させる、請求項１または２に記載のプロセッサ。
【請求項４】
前記電力管理論理はさらに、
前記プロセッサの電力モードをonモードに変更するための起動信号を受信して、
前記起動信号に呼応して、前記プロセッサが前記節電モードまたはoffモードにあるかを判断する、
請求項１から３の何れか１項に記載のプロセッサ。
【請求項５】
前記電力管理論理は、
前記プロセッサに対する電力を復旧することにより、前記プロセッサを前記onモードに復帰させ、
格納されている前記現在の状態を調節することは、
電源管理集積回路（ＰＭＩＣ）のリアルタイムクロックの値を利用して、格納されている前記現在の状態を前記更新状態に更新することを含む、請求項４に記載のプロセッサ。
【請求項６】
前記電力管理論理は、前記起動信号に呼応して、自己リフレッシュモードから作動モードに遷移するよう揮発性メモリを制御して、前記揮発性メモリ内の位置へのポインタを利用して、前記プロセッサに対してオペレーティングシステム情報を復帰させる、請求項４または５に記載のプロセッサ。
【請求項７】
プロセッサに対して、前記プロセッサの現在の状態を維持しつつ、前記プロセッサへの電力を減らす節電モードに遷移するよう要求する制御信号を、前記プロセッサで受信する段階と、
前記制御信号に呼応して、前記プロセッサのコンポーネントの現在の状態を、不揮発性メモリに格納する段階と、
前記プロセッサを前記節電モードにするために、前記プロセッサへの電力をゼロ電力モードに調節する段階と、
前記プロセッサが前記節電モードにある間は揮発性メモリに格納されたデータを維持すべく、前記電力を調節する前に自己リフレッシュモードを開始するよう前記プロセッサに関連付けられている前記揮発性メモリを制御する段階と、
前記節電モードにある場合には、前記不揮発性メモリに格納されている前記コンポーネントの前記現在の状態を調節して更新状態を生成して、前記プロセッサ内の１以上のレジスタを前記更新状態に更新することで、前記プロセッサをonモードに復帰させる段階と
を備え、
前記ゼロ電力モードの間、前記プロセッサは電力を受信しない、方法。
【請求項８】
前記コンポーネントの前記現在の状態を格納する段階は、
前記プロセッサのリアルタイムクロック（ＲＴＣ）およびオペレーティングシステムタイマ（ＯＳＴ）のそれぞれの現在の状態を格納する段階を含む、請求項７に記載の方法。
【請求項９】
前記プロセッサはコア電圧により電力供給され、
前記プロセッサの前記電力を調節する段階は、前記ゼロ電力モード中に前記プロセッサの前記コア電圧をゼロボルトに低減させる段階を含む、請求項７または８に記載の方法。
【請求項１０】
前記プロセッサのモードをonモードに変更するための起動信号を受信する段階と、
前記起動信号に呼応して、前記プロセッサが前記節電モードまたはoffモードにあるかを判断する段階と、
をさらに備える、請求項７から９の何れか１項に記載の方法。
【請求項１１】
前記プロセッサを前記onモードに復帰させる段階は、
前記プロセッサに対する電力を復旧する段階を含み、
前記コンポーネントの格納されている前記現在の状態を調節することは、
電源管理集積回路（ＰＭＩＣ）のリアルタイムクロックの値を利用して、格納されている前記現在の状態を前記更新状態に更新することを含む、請求項１０に記載の方法。
【請求項１２】
前記起動信号に呼応して、自己リフレッシュモードから作動モードに遷移し、かつ、前記揮発性メモリ内の位置へのポインタを利用して、前記プロセッサに対してオペレーティングシステム情報を復帰させるよう揮発性メモリを制御する段階をさらに備える、請求項１０または１１に記載の方法。
【請求項１３】
プロセッサの現在の状態を維持しつつ前記プロセッサへの電力を減らす節電モードに遷移すべく、前記プロセッサを制御する電力管理論理を備え、
前記制御は、
前記プロセッサの前記現在の状態を、不揮発性メモリに保存すること、
前記プロセッサを前記節電モードにするために前記プロセッサへの電力を低減させること、および
前記プロセッサが前記節電モードにある間は揮発性メモリに格納されたデータを維持すべく、前記電力を低減させる前に自己リフレッシュモードを開始するよう前記揮発性メモリを制御すること、によりなされ、
前記節電モードの間、前記プロセッサは電力を消費せず、
前記電力管理論理は、
前記節電モードにある場合には、前記不揮発性メモリに保存されているコンポーネントの前記現在の状態を調節して更新状態を生成して、前記プロセッサ内の１以上のレジスタを前記更新状態に更新することで、前記プロセッサをonモードに復帰させる、集積回路。
【請求項１４】
前記電力管理論理は、前記プロセッサのレジスタからの値をキャプチャして、前記値を前記不揮発性メモリに格納することにより、前記プロセッサのリアルタイムクロック（ＲＴＣ）およびオペレーティングシステムタイマ（ＯＳＴ）のそれぞれの現在の状態を保存する、請求項１３に記載の集積回路。
【請求項１５】
前記プロセッサはコア電圧により電力供給され、
前記電力管理論理は、前記プロセッサの前記コア電圧をゼロボルトに低減させることにより、前記プロセッサの前記電力を低減させる、請求項１３または１４に記載の集積回路。
【請求項１６】
前記電力管理論理はさらに、
前記プロセッサの電力モードをonモードに変更するための起動信号を受信して、
前記起動信号に呼応して、前記プロセッサが前記節電モードまたはoffモードにあるかを判断する、
請求項１３から１５の何れか１項に記載の集積回路。
【請求項１７】
前記電力管理論理は、
前記プロセッサに対する電力を復旧することにより、前記プロセッサを前記onモードに復帰させ、
格納されている前記現在の状態を調節することは、
電源管理集積回路（ＰＭＩＣ）のリアルタイムクロックの値を利用して、保存されている前記現在の状態を前記更新状態に更新することを含み、
前記電力管理論理は、前記起動信号に呼応して、自己リフレッシュモードから作動モードに遷移し、かつ、前記揮発性メモリ内の位置へのポインタを利用して、前記プロセッサに対してオペレーティングシステム情報を復帰させるよう揮発性メモリを制御する、請求項１６に記載の集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本特許開示は、２０１１年７月２６日提出の米国仮出願第61/511,844号明細書の恩恵を請求しており、本文献の全体を参照として組み込む。
【背景技術】
【０００２】
本明細書に記載される背景的な説明は、開示の前後関係を概略的に提示することを目的としている。現在示されている発明者の研究は、この背景の項、および、その他出願の時点で先行技術として認定されない可能性のある説明の態様で説明されている範囲において、本開示に対する先行技術として明示的にも暗示的にも認められるものではない。
【０００３】
コンピューティングデバイスは、ユーザによりよいパフォーマンスを提供するべく進化を続けている。スマートフォン、ラップトップ、およびタブレットコンピュータ等のモバイルコンピューティングデバイスにおいてこれらの技術的変化が顕著である。しかしモバイルデバイスは、電力を得るために電池を利用しているので、パフォーマンスは、電力消費と均衡がとれる必要がある。これは、電池の寿命の延長と、軽量化された設計およびプロファイルとの間の相殺関係を考えると、特に難しい。
【０００４】
したがって、電力消費は、電池を使用するモバイルデバイスでは重要な考慮材料である。電力消費問題を解決するためには、アイドル時に電池寿命を延ばすために、モバイルデバイスの一定のコンポーネントを低電力モードにするとよい。しかし、デバイスは、低電力モードにあっても、作動モードへと電力を迅速に戻すことができるよう、準備の整った状態に情報を維持するために依然として電力を消費し続ける。したがって、デバイスは、低電力モードでも電池からの電力を使用し、電池寿命が短くなる。
【発明の概要】
【０００５】
一実施形態では、プロセッサは電力管理論理を含む。電力管理論理は、プロセッサに対して、プロセッサの現在の状態（current state）を維持しつつ、プロセッサへの電力を減らす節電モードに遷移するよう要求する制御信号を受信するよう構成されている。電力管理論理は、制御信号に呼応して、プロセッサのコンポーネントの現在の状態を、不揮発性メモリに格納する。電力管理論理は、プロセッサを節電モードにするために、プロセッサへの電力をゼロ電力モードに調節し、ゼロ電力モードの間、プロセッサは電力を受信しない。
【０００６】
別の実施形態では、電力管理論理は、プロセッサのレジスタからの値をキャプチャして、値を不揮発性メモリに格納することにより、プロセッサのリアルタイムクロック（ＲＴＣ）およびオペレーティングシステムタイマ（ＯＳＴ）のそれぞれの現在の状態を格納する。
【０００７】
別の実施形態では、電力管理論理は、電力を調節する前に自己リフレッシュモードを開始するよう揮発性メモリを制御して、プロセッサが節電モードにある間は、揮発性メモリに格納されたデータを維持する。
【０００８】
別の実施形態では、プロセッサは、コア電圧により電力供給される。電力管理論理は、ゼロ電力モード中にプロセッサのコア電圧をゼロボルトに低減させることにより、プロセッサの電力を調節する。プロセッサは、ゼロ電力モードではゼロの電力を消費する。電力管理論理は、プロセッサを、１０ミリ秒未満のうちにゼロ電力モードからonモードに遷移させる。電力管理論理は、プロセッサを、１０ミリ秒未満のうちにonモードからゼロ電力モードに遷移させる。
【０００９】
別の実施形態では、電力管理論理はさらに、プロセッサの電力モードをonモードに変更するための起動信号を受信して、起動信号に呼応して、プロセッサが節電モードまたはoffモードにあるかを判断して、節電モードにある場合には、不揮発性メモリに格納されているコンポーネントの現在の状態を調節して、更新状態を生成することでプロセッサをonモードに復帰させ、プロセッサ内の１以上のレジスタを更新状態に更新する。
【００１０】
別の実施形態では、電力管理論理は、プロセッサに対する電力を復旧することにより、プロセッサをonモードに復帰させる。格納されている現在の状態を調節することは、電源管理集積回路（ＰＭＩＣ）のリアルタイムクロックの値を利用して、格納されている現在の状態を更新状態に更新することを含む。
【００１１】
別の実施形態では、電力管理論理は、起動信号に呼応して、自己リフレッシュモードから作動モードに遷移するよう揮発性メモリを制御して、揮発性メモリ内の位置へのポインタを利用して、プロセッサに対してオペレーティングシステム情報を復帰させる。
【００１２】
一実施形態では、方法が、プロセッサに対して、プロセッサの現在の状態を維持しつつ、プロセッサへの電力を減らす節電モードに遷移するよう要求する制御信号を、プロセッサで受信する段階を含む。方法は、制御信号に呼応して、プロセッサのコンポーネントの現在の状態を、不揮発性メモリに格納する段階を含む。方法は、プロセッサを節電モードにするために、プロセッサへの電力をゼロ電力モードに調節し、ゼロ電力モードの間、プロセッサは電力を受信しない、段階を含む。
【００１３】
一実施形態では、集積回路が、プロセッサの現在の状態を維持しつつ、プロセッサへの電力を減らす節電モードに遷移するようプロセッサを制御する電力管理論理を含む。電力管理論理は、プロセッサの現在の状態を、不揮発性メモリに保存することで、プロセッサを制御する。電力管理論理は、プロセッサを節電モードにするために、プロセッサへの電力を低減させることにより、プロセッサを制御する。節電モードの間、プロセッサは電力を消費しない
【図面の簡単な説明】
【００１４】
明細書に組み込まれその一部をなす添付図面は、本開示の様々なシステム、方法、およびその他の実施形態を示す。図面に示されているエレメントの境界（たとえばボックス、ボックス群、その他の形状）は、境界の一例を表している。一部の例では、１つのエレメントが複数のエレメントとして設計されてもよいし、複数のエレメントが１つのエレメントとして設計されてもよい。一部の例では、別のエレメントの内部コンポーネントとして示されているエレメントは、外部のコンポーネントに実装されてもよいし、これと逆であってもよい。さらに、エレメントは実際の縮尺では描かれていない場合がある。
【００１５】
【図１】ゼロ電力のハイバーネイトモードに関するプロセッサの一実施形態を示す。
【００１６】
【図２】プロセッサを、ゼロ電力のハイバーネイトモードに遷移することに関する方法の一実施形態を示す。
【００１７】
【図３】ハイバーネイトモードからプロセッサを復帰させることに関する方法の一実施形態を示す。
【００１８】
【図４】ゼロ電力のハイバーネイトモードに関する集積回路の一実施形態を示す。
【発明を実施するための形態】
【００１９】
本明細書では、プロセッサが電力を消費しないゼロ電力のハイバーネイト／スリープモードをもつプロセッサに関するシステム、方法、およびその他の実施形態の例を説明する。一実施形態では、通常は低電力モードにおいて電力を消費するプロセッサのコンポーネントの電力供給を停止する。したがって、ハイバーネイトモードおよびスリープモード中に、減らされた電圧をプロセッサに供給するのではなく、プロセッサのコア電圧をゼロに低減することができる。通常はハイバーネイトモードおよびスリープモード中に電力を受けるプロセッサのコンポーネントの現在の状態は、電力供給が停止される前にメモリに保存される。このようにすることで、プロセッサへの電圧をゼロに低減しつつ、プロセッサの現在の状態を保存して、onモードに迅速に戻ることができる機能を維持することができる。
【００２０】
図１を参照すると、ゼロ電力のハイバーネイト／スリープモードに関するプロセッサ１００の一実施形態が示されている。プロセッサ１００は、第２のプロセッサ１６０（たとえばセルラープロセッサ）およびディスプレイ１７０（たとえば液晶ディスプレイＬＣＤ１７０）を含む電子デバイス１０５で動作するよう実装されている。電子デバイス１０５は、たとえば、スマートフォン、タブレットコンピュータ、ラップトップコンピュータ、セルラー電話器、携帯情報端末、可搬型音楽プレーヤ等である。
【００２１】
一実施形態では、電子デバイス１０５が、リアルタイムクロック（不図示）を含む電源管理集積回路（ＰＭＩＣ）１５０を含む。ＰＭＩＣ１５０は、プロセッサ１００、不揮発性メモリ１３０、および揮発性メモリ１４０等の、電子デバイス１０５の様々なコンポーネントに対する電力を管理する。ＰＭＩＣ１５０は、たとえば、コンポーネントへの電圧を調整して、要求を受けてからコンポーネントに給電して、電力onまたはoff要求を受けて電力レベルを変更すること等によって、電子デバイス１０５内のコンポーネントへの電力を管理する。たとえばＰＭＩＣ１５０は、常に電力を供給される１以上のコンポーネントを含む。ＰＭＩＣ１５０の、常にonのコンポーネントには、ＰＭＩＣのリアルタイムクロック（ＲＴＣ）、割り込み等が含まれる。このようにすることで、ＰＭＩＣ１５０は、電子デバイス１０５の他のコンポーネントが電力供給をoffにされていようと、常にonであるＲＴＣを利用することで、更新された時間を維持することができる。
【００２２】
プロセッサ１００は、複数のコンポーネント１２０を含む。たとえばコンポーネント１２０は、リアルタイムクロック（ＲＴＣ）１２２、オペレーティングシステム（ＯＳ）タイマ１２４、および、汎用入出力（ＧＰＩＯ）１２６を含む。コンポーネント１２０は、通常はプロセッサの常にonのドメインの一部であるコンポーネントの一例である。常にonのコンポーネントは、プロセッサ１００の電力供給がoffにされても、情報を維持するために電力が供給されるコンポーネントのことである。しかしプロセッサ１００のコンポーネント１２０は、後述するように、プロセッサ１００がハイバーネイトモードまたはスリープモードのときには、電力をoffされる。
【００２３】
一実施形態では、ＧＰＩＯ１２６（汎用入出力）は、プロセッサ１００と通信するための、ＰＭＩＣ１５０のための割り込み、または、電子デバイス１０５のその他のコンポーネントとして構成される。したがい、ＰＭＩＣ１５０は、制御信号をＧＰＩＯ１２６に提供してよく、制御信号が、プロセッサ１００を、ハイバーネイトモード、スリープモード、onモード、または、offモードに移行させる。ハイバーネイトモードおよびスリープモードは、プロセッサ１００の節電モードである。ハイバーネイトモードおよびスリープモードでは、プロセッサ１００の電力がoffにされる。したがって、ハイバーネイトモードおよびスリープモードは両方とも、プロセッサ１００が電力を受けない、ゼロ電力モードである。しかし、ハイバーネイトモードは、さらに、スリープモードにおいては電力をoffにされない電子デバイス１０５のさらなるコンポーネントの電力offも含んでよい。一例として、ハイバーネイトモードが、揮発性メモリ１４０の電力offを含み、スリープモードは、揮発性メモリ１４０の電力offを含まない。ハイバーネイトモードはさらに、第２のプロセッサ１６０および不揮発性メモリ１３０の電力offも含んでよい。したがって、スリープモードにおいては、揮発性メモリ１４０は、電力onモードまたは自己リフレッシュモードに維持される。さらにプロセッサ１００は、onモードおよびoffモードも含む。onモードは、プロセッサ１００および全ての関連するコンポーネントが作動レベルの電力を受けているときの、電子デバイス１０５の作動モードである。offモードでは、プロセッサ１００および電子デバイス１０５は、電力を受けず、プロセッサ１００の状態情報が保存されない。したがって、offモードからonモードに遷移するとき、電子デバイス１０５は、たとえば、オペレーティングシステムをプロセッサ１００および揮発性メモリ１４０にロードして、ＬＣＤ１７０を初期化する等の処理によって、初期化される。
【００２４】
一実施形態では、ハイバーネイトまたはスリープモードに切り替わると、プロセッサ１００は、電力を消費しない。たとえば、ハイバーネイトモードに入る前に、プロセッサ１００は、コンポーネント１２０の現在の状態情報を保存する。起動せよとの制御信号を受信すると、プロセッサ１００は、状態情報をメモリから復帰した後で、前に保存された状態情報を利用することで、電力offにされなかったかのように、処理を再開する。このようにして、プロセッサ１００の動作を一時的に停止して、電力を保全しつつ、プロセッサ１００の完全な電力offおよび起動を行うことなく、迅速な再起動を行うことができる。
【００２５】
ＲＴＣ１２２およびＯＳタイマ１２４は、ハイバーネイトモードおよびスリープモード中に電力offされるコンポーネントの一例である。一例では、電力管理論理１１０は、ＲＴＣ１２２およびＯＳＴ１２４に対応しているプロセッサ１００のレジスタの値を保存する。電力管理論理１１０は、プロセッサ１００がハイバーネイトモードに入る準備をしているときに、ＲＴＣおよびＯＳＴ値１３５として不揮発性メモリ１３０にレジスタからの値を保存する。ＲＴＣ１２２は、プロセッサ１００のために現在の時刻（たとえば時間、分、秒）をトラッキングする。したがい、ＲＴＣ１２２の現在の値を保存せずにＲＴＣ１２２を電力offにすると、プロセッサ１００の現在の時刻の情報を失うことになる。一実施形態では、ＲＴＣ１２２は、現在の時刻をトラッキングするために、プロセッサ１００のレジスタを継続的に更新する振動子（oscillator）である。
【００２６】
ＯＳＴ１２４は、プロセッサ１００における実行のためのプロセスをスケジュールするオペレーティングシステムスケジューラによって作動するオペレーティングシステムのタイマである。したがって、関連するレジスタの値を保存することなく、ＯＳＴ１２４の電力をoffにすると、プロセッサ１００がハイバーネイトモードから復帰した後に、オペレーティングシステムのプロセスのスケジューリングが妨げられる場合がある。したがって、ハイバーネイトモードおよびスリープモードにおいてＯＳＴ１２４およびＲＴＣ１２２の電力をoffするために、ＯＳＴ１２４およびＲＴＣ１２２の値が保存される。
【００２７】
たとえば、電子デバイス１０５のユーザが、プロセッサ１００で実行されているそれぞれ別のアプリケーションを有していると想定する。さらに、このユーザは、電子デバイス１０５の利用を一時的に停止する必要があるが、後で、現在の利用時点からアプリケーションの利用を再開したいと望んでいると想定する。この例では、アプリケーションおよびプロセッサ１００の現在の状態を維持するために、ユーザは、プロセッサ１００を、通常の作動レベルの電力を供給させつづけて、貴重な電池寿命を消費するonモードとし続ける場合がある。これに対して、電子デバイス１０５を停止してしまうと、プロセッサ１００がoffモードとなり、かなりの電力を節約することができる。しかし、デバイス１０５の停止は時間のかかることであり、ユーザは、電力停止する前に全てのデータを保存して、時間が長くかかる再起動の後にアプリケーションを再開する必要があり、これは不便であろう。この代わりに、プロセッサ１００は、ハイバーネイトモードまたはスリープモードに切り替えられてよく、これらモードからは、望まれたときに迅速な再開が可能であり、電池寿命が保護される。
【００２８】
一実施形態では、ハイバーネイトモードは、ユーザが電子デバイス１０５のボタンを押下して、これによってプロセッサ１００をハイバーネイトモードに切り替えるよう要求する制御信号をプロセッサ１００に送信することにより、開始される。制御信号に呼応して、プロセッサ１００は、ハイバーネイトモードに入るプロセスを開始する。制御信号は、プロセッサ１００に対して、ゼロ電力のハイバーネイトモードに入るよう要求する通信である。他の実施形態では、制御信号は、電子デバイス１０５の動いていない期間を検知するソフトウェアルーチンによって開始されてよい。他の実施形態では、ＰＭＩＣ１５０が、プロセスまたはユーザからの制御信号の受信を仲介して、関連部分をプロセッサ１００に中継する。制御信号はさらに、スリープモードに入らせるための要求であってよく、これは、デバイスによっては、プロセッサ１００に関連するこれより多いコンポーネントまたは少ないコンポーネント（たとえば揮発性メモリ１４０、第２のプロセッサ１６０、ＬＣＤ１７０）を低電力モードまたはoffモードにしてよい。
【００２９】
一実施形態では、電力管理論理１１０は、ハイバーネイトモードまたはスリープモードを要求する制御信号を受信する。制御信号に呼応して、電力管理論理１１０は、プロセッサ１００に、プロセッサ１００の現在のコンテキストおよびたとえばＲＴＣ１２２、ＯＳＴ１２４、およびＧＰＩＯ１２６のレジスタの値をキャプチャさせる。プロセッサ１００は、次に、これら値およびコンテキストを不揮発性メモリ１３０に格納する。
【００３０】
一実施形態では、電力管理論理１１０は、プロセッサ１００上で実行されているデバイスドライバの呼び戻しを実行する。呼び戻しは、デバイスドライバに対して、たとえば、プロセッサ１００をハイバーネイトモードに切り替えることができるようなアクションを実行することを要求する。呼び戻しに呼応して、デバイスドライバは、揮発性メモリ１４０または不揮発性メモリ１３０に、全ての現在のコンテキスト情報を保存する。一例では、制御信号で要求されているモードによって（たとえばハイバーネイトまたはスリープ）、デバイスドライバが、現在のコンテキスト情報を不揮発性メモリ１３０に保存する、というのも、スリープモードにおいては、揮発性メモリ１４０が電力offとされる可能性があるので、情報を保持できないからである。不揮発性メモリ１３０は、たとえば、電力offにされた場合であってもデータを維持できる、フラッシュメモリまたはその他のメモリである。不揮発性メモリ１３０も、プロセッサ１００がハイバーネイトモードまたはスリープモードにあるときには電力offにされてもよい。
【００３１】
不揮発性メモリ１３０は、電力offにされたときであってもデータを維持するので、不揮発性メモリ１３０に格納される値は失われない。したがってプロセッサ１００は、ハイバーネイトモードに入るよう要求する制御信号を受けると、ＲＴＣ１２２のためのレジスタの値を不揮発性メモリ１３０に保存して、ＲＴＣ１２２の現在の状態を保存する。不揮発性メモリ１３０とは対照的に、揮発性メモリ１４０は、電力off時にデータを維持しない。しかし、要求されているモードによっては、揮発性メモリ１４０の電力をoffにしなくてよい。揮発性メモリ１４０は、プロセッサ１００が作動時に利用するオペレーティングシステム（ＯＳ）データ１４５を格納する。したがって、プロセッサ１００が、ハイバーネイトモードから復帰した後で迅速に再開することができる機能を維持するためには、ＯＳデータ１４５を保存する必要がある。したがって一実施形態では、電力管理論理１１０が、プロセッサ１００を、揮発性メモリ１４０を自己リフレッシュモードにするよう構成する。自己リフレッシュモードは、揮発性メモリ１４０が電力供給を受けるが、プロセッサ１００の制御は受けずに、自足して、リフレッシュを行って格納されているデータを維持するモードである。自己リフレッシュモードにおいては、プロセッサの揮発性メモリ１４０のためのコントローラに対する電力を落として、節電を行う。
【００３２】
プロセッサ１００の現在の状態を保存すると、プロセッサ１００への電力をゼロに低減して、プロセッサ１００をハイバーネイトモードにする。電力をゼロに減らすために、たとえば、プロセッサ１００は、ＰＭＩＣ１５０にプロセッサ１００への電圧をなくすように要求する信号をＰＭＩＣ１５０に送信する。信号に呼応して、ＰＭＩＣ１５０は、プロセッサへのコア電圧をゼロに低減し、これによりプロセッサ１００がハイバーネイトモードになる。プロセッサ１００がハイバーネイトモードになると、プロセッサ１００のすべてのコンポーネントに電力がなくなる。一部のプロセッサでは、ハイバーネイトモードは、特定の機能を保存しているたとえばコンポーネント１２０またはプロセッサのその他の部分に給電することも含む。しかしこの例では、プロセッサ１００もプロセッサのいずれのコンポーネント１２０も、電力を受けない。ハイバーネイトモードおよびスリープモードでは、プロセッサ１００の全ての部分が、完全に電力offにされて、電力を受け取らない。
【００３３】
加えて、一実施形態では、電力管理論理１１０は、１０ミリ秒未満のうちに、ゼロ電力モードからonモードにプロセッサ１００を遷移させる。加えて、電力管理論理１１０は、１０ミリ秒未満のうちに、onモードからゼロ電力モードに、プロセッサ１００を遷移させる。このようにして、電力管理論理１１０は、プロセッサ１００のモードを切り替えるとき、低レイテンシーの遷移を提供する。したがって、電力を保存して、迅速に処理を再開することができる。
【００３４】
ゼロ電力のハイバーネイトモード／スリープモードおよびプロセッサ１００のさらなる詳細を、図２および図３を参照して説明する。図２は、プロセッサを、ゼロ電力のハイバーネイトモードに遷移することに関する方法２００の一実施形態を示す。図２は、方法２００を図１の電子デバイス１０５によって実装して実行して、プロセッサ１００をハイバーネイトモードにすることに関する説明である。
【００３５】
２１０で、方法２００は、プロセッサ１００が、onモードからハイバーネイトモードに遷移するようプロセッサ１００に要求する制御信号を受信することから開始される。ハイバーネイトモードは、プロセッサ１００が電力を消費せず、即座にonモードに戻り、ハイバーネイトモードに入るための制御信号を受信する前にプロセッサ１００が作動していた時点から処理を再開するモードである。ハイバーネイトモードは、プロセッサ１００がoffモードから即座に復帰できないoffモードとは別である。つまり、offモードからonモードに戻るためには、プロセッサ１００は、ハイバーネイトモードから復帰するときには必要ではなく、スリープモードから復帰するときにも必要ではない、完全な起動シーケンスを経る。たとえば、offモードからの完全な起動シーケンスは、ハイバーネイトモードからonモードに遷移する以上の時間を実質的に消費する、というのも、完全な起動シーケンスにおいては、電子デバイス１０５の様々なデバイスおよびオペレーティングシステムに関する情報が新たにロードされるからである。プロセッサ１００をoffモードにするときには前の状態が保存されないので、offモードからの復帰時には、デバイスコンポーネントおよびＯＳのための情報が新たにロードされる。一方で、プロセッサ１００をハイバーネイトモードまたはスリープモードにするときには、前の状態が保存される。
【００３６】
２２０で、２１０でハイバーネイトモードに遷移するために制御信号を受信した後で、方法２００は、プロセッサ１００のコンポーネントの現在の状態を不揮発性メモリに格納する。一実施形態では、プロセッサ１００の現在の状態を、プロセッサ１００のレジスタからキャプチャする。レジスタは、現在実行されているプロセスのためにプロセッサ１００が利用する情報を含む。このようにすることで、プロセッサ１００に電力供給が戻ったときに、長い起動プロセスによって遅延を生じさせることなく実質的に即座に処理を再開することができるように、プロセッサ１００の現在の状態が保存される。さらに、ハイバーネイトモードにおいてはレジスタを不揮発性メモリに保存するので、レジスタおよびレジスタを維持するために利用されるコンポーネントに対する電力をなくすことができる。したがって、電力消費を減らすことができ、プロセッサ１００が電池式デバイスで実現される場合、電池寿命が延びる。一実施形態では、たとえばプロセッサのリアルタイムクロック（ＲＴＣ）およびオペレーティングシステムタイマ（ＯＳＴ）に関連するレジスタのための値を不揮発性メモリに保存する。さらなる実施形態では、これより少ない数の値またはさらなる値（たとえばＧＰＩＯ値）を不揮発性メモリに保存してもよい。
【００３７】
レジスタの値を保存することに加えて、方法２００の２３０では、プロセッサ１００に関する揮発性メモリの内容を、揮発性メモリに自己リフレッシュモードを開始させるよう制御することで保存する。一実施形態では、揮発性メモリが、制御信号が受信されたときにプロセッサ１００で実行されているオペレーティングシステムのオペレーティングシステムデータを含む。したがって揮発性メモリを制御して自己リフレッシュモードに入らせることにより、オペレーティングシステムデータが保存され、不揮発性メモリにオフロードする必要がなくなる。加えて、自己リフレッシュモードを利用することで、ハイバーネイトモードから戻りプロセッサ１００に電力供給が戻ったとき、不揮発性メモリから揮発性メモリにデータをリロードする必要がない。こうすることで、電子デバイス１０５は、offモードへと完全に電力を落とす必要性をなくすことで、長い起動シーケンスおよび／またはメモリロードを回避することができ、プロセッサを迅速に起動して、onモードでの作動を再開することができる。加えて、揮発性メモリを自己リフレッシュモードにすることで、揮発性メモリのコントローラの電力をoffにすることができる。
【００３８】
図２を参照して説明を続けると、２４０で、方法２００は、プロセッサ１００への電力をゼロに調節する。一実施形態では、方法２００は、プロセッサ１００へのコア電圧をなくすことによって、電力をゼロに低減させてよい。つまり、ハイバーネイトモードまたはスリープモードにある間には、プロセッサ１００に対するすべての電力を停止させて、プロセッサ１００または内部コンポーネントが消費する電力がなくなるようにする。プロセッサ１００がハイバーネイトモードにある場合には、プロセッサの部分ではない別のコンポーネント（ＰＭＩＣ１５０）が、プロセッサ１００がハイバーネイトモードから起動させられたときに格納している値を更新するためのカウンタまたはタイマを維持する。
【００３９】
図３は、ハイバーネイトモードからプロセッサを復帰させることに関する方法３００の一実施形態を示す。３１０で、プロセッサ１００をonモードに起動するための信号を受信する。受信時には、プロセッサ１００は、offモード、ハイバーネイトモード、またはスリープモードという、複数のモードのうちの１つにあってよい。一実施形態では、起動信号は、ＰＭＩＣ１５０で受信される。ＰＭＩＣ１５０は、プロセッサ１００への電力を構築して、次に、プロセッサ１００に起動信号を中継するよう構成されている。別の実施形態では、起動信号は、たとえばＧＰＩＯ１２６を介して、または、起動信号を受信するよう構成されている別の論理を介して受信された、プロセッサ１００における電力onイベントである。
【００４０】
３２０で、起動信号を受信した後で、方法３００は、プロセッサ１００がハイバーネイトモードまたはoffモードのいずれから起動しようとしているかを判断する。３２０で、方法３００が、プロセッサ１００がoffモードから起動しようとしていると判断すると、方法３００は３５０に進み、プロセッサ１００は、プロセッサ１００のコンポーネントの情報およびオペレーティングシステムが新たにロードされる完全な起動シーケンスを実行する。
【００４１】
しかし３２０で、方法３００が、プロセッサ１００がハイバーネイトモードから起動しようとしていると判断すると、方法３００は３３０に進む。一実施形態では、プロセッサ１００がハイバーネイトモードにあるかoffモードにあるかを判断するために、方法３００は、プロセッサ１００に関する揮発性メモリの現在の動作状態をチェックする。たとえば、揮発性メモリが停止されており、自己リフレッシュモードにない場合には、プロセッサ１００は、offモードであったことになり、方法３００は３５０に進む。しかし、揮発性メモリが自己リフレッシュモードにある場合には、プロセッサ１００はハイバーネイトモードにあり、方法３００は３３０に進む。さらなる実施形態では、揮発性メモリがoffモードにある場合、さらなるチェックを行って、揮発性メモリが、たとえばスリープモード中に電力offにされたかを判断する。揮発性メモリがスリープモード中に電力offにされた場合には、揮発性メモリに、格納されているデータをリロードして、方法は３３０に進み、または、３４０で、揮発性メモリをリロードするよう制御する。
【００４２】
３３０で、方法３００は、不揮発性メモリに前に格納したプロセッサ１００のコンポーネントの値を復帰させる。一実施形態では、値をプロセッサ１００のレジスタに復帰させて、値を、ハイバーネイトモードの前と同じ値にする。別の実施形態では、ハイバーネイトモードにある間に経った時間を考慮に入れるように、不揮発性メモリからの値を、プロセッサ１００のレジスタに戻して格納させる前に調節する。たとえば、ハイバーネイトモード中に電力offされない回路（たとえばＰＭＩＣ１５０）のリアルタイムクロックの値を利用して、不揮発性メモリに格納されている現在の状態の値（たとえばＲＴＣおよびＯＳＴ値１３５）を更新することができる。プロセッサ１００のリアルタイムクロックのための不揮発性メモリからの値は、たとえば格納されているリアルタイムクロックの値に、リアルタイムクロックが表す時間が正確であることを保証するための値を追加することにより更新される。リアルタイムクロック以外の他の値も、同様に更新してよい。このようにして、ハイバーネイトモードまたはスリープモードから復帰するときにプロセッサ１００について更新された値を生成することができる。
【００４３】
３４０で、方法３００は、自己リフレッシュモードから作動モード（たとえばonモード）に遷移するように、揮発性メモリを制御する。一実施形態では、方法３００がさらに、揮発性メモリ内の位置へのポインタを利用して、プロセッサ１００にオペレーティングシステム情報を復帰させる。このようにすることで、方法３００が３４０を完了した後で、プロセッサ１００は、ハイバーネイトモードから復帰して、プロセッサに前に格納されていた情報が、再度、プロセッサ１００に戻り、プロセッサ１００は、プロセッサがハイバーネイトモードに入る前の動作に、途切れなく遷移して戻ることができる。揮発性メモリも電力を停止される一実施形態では、自己リフレッシュモードを利用する代わりに、３４０で、揮発性メモリの内容を、不揮発性メモリの格納位置から揮発性メモリにコピーして戻す。加えて、一実施形態では、３３０および３４０のアクションが、並列に行われてもよいし、３４０が３３０の前に行われてもよい。
【００４４】
図４は、別の集積回路および／またはチップで構成される、図１の電子デバイス１０５の別の実施形態を示す。この実施形態では、図１のプロセッサ１００が、別の集積回路４１０として実現されている。加えて、電力管理論理１１０は、１つの集積回路（individual integrated circuit）４２０に実現される。ＰＭＩＣ１５０は、１つの集積回路４３０に実現される。回路は、信号を通信するために、接続経路を介して接続される。集積回路４１０、４２０、および、４３０は、それぞれ別の集積回路として示されているが、共通の回路基板４００に集積されてもよい。加えて、集積回路４１０および４２０が、組み合わせられて、示されているよりもより少ない数の集積回路にされていたり、または、示されているよりも多い集積回路に分割されていたりしてもよい。
【００４５】
別の実施形態では、集積回路４２０および４３０内に示されている電力管理論理１１０およびＰＭＩＣ１５０が、別の特定用途向け集積回路に組み合わせられてもよい。他の実施形態では、電力管理論理１１０に関する機能が、プロセッサ（たとえばプロセッサ１００）が実行可能なファームウェアとして実現されてもよい。
【００４６】
以下に、ここで利用する用語のうち選択したものの定義を示す。定義には、用語の範囲に含まれ、実装に利用されうるコンポーネントの様々な例および／または形態が含まれる。例は、限定を意図していない。用語の単数形および複数形も定義に含まれる。
【００４７】
「一実施形態」「１つの実施形態」「１つの例」「一例」といった用語は、記載する実施形態または例が、特定の特徴、構造、性質、特性、エレメント、または限定を含むことを示しているが、全ての実施形態または例が必ずしもその特徴、構造、性質、特性、エレメント、または限定を含まねばならないというわけではない。さらに、「一実施形態」といった言い回しが繰り返し利用されているからといって、必ずしも同じ実施形態のことを示しているわけではないが、同じ実施形態のことを示している場合もある。
【００４８】
ここで利用される「論理」という用語は、これらに限定はされないがハードウェア、ファームウェア、持続性の媒体に格納されている、または機械で実行可能である、および／または、それぞれの組み合わせであり、別の論理、方法、および／またはシステムから機能またはアクションを実行させたり、該機能またはアクションを生じさせたりする命令を含む。論理は、ソフトウェア制御されたマイクロプロセッサ、離散した論理（たとえばＡＳＩＣ）、アナログ回路、デジタル回路、プログラミングされた論理デバイス、命令を含むメモリデバイス等を含んでよい。論理は、１以上のゲート、ゲートの組み合わせ、または、その他の回路コンポーネントを含んでよい。複数の論理を説明する場合、複数の論理を１つの物理的論理に組み込むことも可能である。同様に、１つの論理を説明している場合であっても、１つの論理を複数の物理論理に分配することも可能である。ここに記載するコンポーネントおよび機能の１以上を、論理エレメントの１以上を利用して実装してもよい。
【００４９】
説明を簡潔にするために、例示されている方法は、一連のブロックとして図示、説明されている。しかし方法は、ブロックの順序に限定はされず、いくつかのブロックを図示、説明されているものと異なる順序で実行したり、および／または、図示、説明されているものと異なるブロックと同時に実行したりすることもできる。さらに、例示されている方法を実装するために、例示されているブロック全てを利用する必要がない場合もある。ブロックは、組み合わせることもできるし、複数のコンポーネントに分割することもできる。さらに、さらなる、および／または、別の方法が、さらなる、例示されていないブロックを利用することもできる。
【００５０】
「含む」という用語が詳細な説明または請求項で利用されている場合、この表現は、請求項の転換語として利用される「備える」という用語と同様の意味で解釈されるべき、包括的な意味を意図している。
【００５１】
例示されているシステム、方法その他は、例を説明ことで例示されており、例は詳しく記載されているが、出願人は、添付されている請求項の範囲をこれらの詳細に限定、または制限する意図は全くない。もちろん、ここで記載するシステム、方法などを説明するために、コンポーネントまたは方法について思いつく全ての組み合わせを説明することは不可能である。したがって本開示は、ここに示し記載する具体的な詳細、代表的な装置、および、例に限定はされない。したがって、本願は、添付請求項に含まれる変更例、変形例、およびバリエーションを含むことを意図している。
【図１】
0005994157.tif 000002
【図２】
0005994157.tif 000003
【図３】
0005994157.tif 000004
【図４】
0005994157.tif 000005