特許第5885881号(P5885881)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ヒューレット−パッカード デベロップメント カンパニー エル.ピー.の特許一覧

特許5885881コンピューティングデバイスにおける電源オフ状態の実施
<>
  • 特許5885881-コンピューティングデバイスにおける電源オフ状態の実施 図000002
  • 特許5885881-コンピューティングデバイスにおける電源オフ状態の実施 図000003
  • 特許5885881-コンピューティングデバイスにおける電源オフ状態の実施 図000004
  • 特許5885881-コンピューティングデバイスにおける電源オフ状態の実施 図000005
  • 特許5885881-コンピューティングデバイスにおける電源オフ状態の実施 図000006
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5885881
(24)【登録日】2016年2月19日
(45)【発行日】2016年3月16日
(54)【発明の名称】コンピューティングデバイスにおける電源オフ状態の実施
(51)【国際特許分類】
   G06F 1/32 20060101AFI20160303BHJP
   G06F 1/26 20060101ALI20160303BHJP
【FI】
   G06F1/32 B
   G06F1/26 334C
【請求項の数】17
【全頁数】14
(21)【出願番号】特願2015-501657(P2015-501657)
(86)(22)【出願日】2012年7月27日
(65)【公表番号】特表2015-511045(P2015-511045A)
(43)【公表日】2015年4月13日
(86)【国際出願番号】US2012048686
(87)【国際公開番号】WO2014018064
(87)【国際公開日】20140130
【審査請求日】2014年9月22日
(73)【特許権者】
【識別番号】511076424
【氏名又は名称】ヒューレット−パッカード デベロップメント カンパニー エル.ピー.
【氏名又は名称原語表記】Hewlett‐Packard Development Company, L.P.
(74)【代理人】
【識別番号】100099623
【弁理士】
【氏名又は名称】奥山 尚一
(74)【代理人】
【識別番号】100096769
【弁理士】
【氏名又は名称】有原 幸一
(74)【代理人】
【識別番号】100107319
【弁理士】
【氏名又は名称】松島 鉄男
(74)【代理人】
【識別番号】110000039
【氏名又は名称】特許業務法人アイ・ピー・ウィン
(72)【発明者】
【氏名】ホブソン・ルイス・ビー
【審査官】 久々宇 篤志
(56)【参考文献】
【文献】 特開2008−070934(JP,A)
【文献】 特開2008−165588(JP,A)
【文献】 特開2001−092565(JP,A)
【文献】 特開平10−097353(JP,A)
【文献】 特開2002−312079(JP,A)
【文献】 特開2001−034371(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F1/26−1/32
(57)【特許請求の範囲】
【請求項1】
コンピューティングデバイスであって、
前記コンピューティングデバイスが電源オフコマンドを受信したことに応答して、前記コンピューティングデバイスをスリープ状態にするスリープコマンドを発行し、
前記コンピューティングデバイスのメモリの内容を前記コンピューティングデバイスの不揮発性記憶装置に書き込む、
オペレーティングシステムと、
コントローラであって、電源オフコマンドが前記スリープコマンドをトリガしたものと該コントローラが判断したことに応答して、前記コンピューティングデバイスを電源オフ状態にする前記電源オフコマンドを発行するコントローラと、
を備えてなり、
前記オペレーティングシステムは、更に、
スリープ状態インジケータを第1のレジスタに書き込み、
前記コンピューティングデバイスが前記オペレーティングシステムからスリープコマンドを受信したことに応答してスリープ準備(PTS)メソッドを起動するものであり、
前記オペレーティングシステムは、前記コンピューティングデバイスが前記電源オフコマンドを受信したことに応答して前記PTSメソッドを起動しないものである、コンピューティングデバイス。
【請求項2】
前記電源オフコマンドを実行する電力コントローラを更に備える、請求項1に記載のコンピューティングデバイス。
【請求項3】
前記電力コントローラは、高度設定電力インターフェース(ACPI)を実施する、請求項2に記載のコンピューティングデバイス。
【請求項4】
前記電源オフコマンドは、前記コンピューティングデバイスをシャットダウンするユーザコマンドと、タイムアウトコマンドと、アプリケーションによって実行される電源オフ命令とのうちの少なくとも1つを含む、請求項1に記載のコンピューティングデバイス。
【請求項5】
前記スリープ状態は、ACPI S4スリープ状態であり、前記電源オフ状態は、ACPI S5電力状態である、請求項1に記載のコンピューティングデバイス。
【請求項6】
前記コントローラは、前記PTSメソッドが前記オペレーティングシステムによって起動されたか否かを判断するロジックを備え、前記コントローラは、前記PTSメソッドが起動されないとき、電源オフ状態インジケータを第2のレジスタに書き込む、請求項1に記載のコンピューティングデバイス。
【請求項7】
前記第2のレジスタは、実施されるACPIスリープタイプを示すACPIスリープタイプレジスタである、請求項6に記載のコンピューティングデバイス。
【請求項8】
前記コントローラは、更に、S5最大省電力を実施し、前記コンピューティングデバイスのウェイクイベント及び管理サービスがディセーブルされる、請求項1に記載のコンピューティングデバイス。
【請求項9】
コンピューティングデバイス用の電源オフコマンドを検出したことに応答して前記コンピューティングデバイスのオペレーティングシステムから前記コンピューティングデバイスをスリープ状態にするスリープコマンドを発行することと、
前記コンピューティングデバイスのメモリの内容を前記コンピューティングデバイスの不揮発性記憶装置に書き込むことと、
前記メモリの内容を前記不揮発性記憶装置に書き込んだことに応答して、前記コンピューティングデバイス用の前記電源オフコマンドが前記オペレーティングシステムによる前記スリープコマンドをトリガしたものと前記コンピューティングシステムのコントローラが判断したことに応答して、前記コンピューティングデバイスを電源オフ状態にすることと、
を含んでなり、
前記電源オフコマンドが前記スリープコマンドをトリガしたものと前記コンピューティングシステムのコントローラが判断することは、
前記オペレーティングシステムがスリープ準備(PTS)メソッドを起動したか否かを判断することと、
前記オペレーティングシステムが前記PTSメソッドを起動していないとき、電源オフ状態インジケータをスリープタイプレジスタに書き込むこととを含むものである、方法。
【請求項10】
前記スリープ状態は、高度設定電力インターフェース(ACPI)S4スリープ状態であり、前記電源オフ状態は、ACPI S5電力状態である、請求項9に記載の方法。
【請求項11】
前記オペレーティングシステムが前記PTSメソッドを起動したとき、
前記コンピューティングデバイス用のスリープコマンドが前記オペレーティングシステムによる前記スリープコマンドをトリガしたものと判断することと、
スリープ状態インジケータを前記スリープタイプレジスタに書き込むことと、
前記コンピューティングデバイスを前記スリープ状態にすることと、
を更に含む、請求項9に記載の方法。
【請求項12】
前記スリープタイプレジスタは、電力コントローラによって実行される電力状態を示す前記電力コントローラのACPIスリープタイプレジスタである、請求項9に記載の方法。
【請求項13】
S5最大省電力を実施することを更に含み、前記コンピューティングデバイスのウェイクイベント及び管理サービスは、前記S5最大省電力中はディセーブルされる、請求項9に記載の方法。
【請求項14】
前記コンピューティングデバイスを前記電源オフ状態からウェイクさせることと、
前記不揮発性記憶装置がデータを含むものと判断したことに応答して、前記不揮発性記憶装置の内容をメモリに書き込むことと、
を更に含む、請求項9に記載の方法。
【請求項15】
前記不揮発性記憶装置がデータを含むものと判断することは、前記オペレーティングシステムが、ACPI電力状態を実施する前にメモリの内容を前記不揮発性記憶装置に記憶するように構成されているか否かを判断することを含む、請求項14に記載の方法。
【請求項16】
非一時的コンピュータ可読媒体であって、コンピューティングデバイスのプロセッサによって実行されると、前記プロセッサに、
前記コンピューティングデバイス用の電源オフコマンドを検出したことに応答して、前記コンピューティングデバイスをスリープ状態にするスリープコマンドを発行させ、
前記コンピューティングデバイスのメモリの内容を前記コンピューティングデバイスの不揮発性記憶装置に書き込ませ、
前記メモリの内容を前記不揮発性記憶装置に書き込んだことに応答して、前記コンピューティングデバイス用の前記電源オフコマンドがペレーティングシステムによる前記スリープコマンドをトリガしたものと前記プロセッサが判断したことに応答して、前記コンピューティングデバイスを電源オフ状態にさせる、
命令を含み、
前記電源オフコマンドが前記スリープコマンドをトリガしたものと前記プロセッサが判断することは、
前記オペレーティングシステムがスリープ準備(PTS)メソッドを起動したか否かを判断することと、
前記オペレーティングシステムが前記PTSメソッドを起動していないとき、電源オフ状態インジケータをスリープタイプレジスタに書き込むこととを含むものである、非一時的コンピュータ可読媒体。
【請求項17】
高度設定電力インターフェース(ACPI)S5最大省電力プロセスを実行する、前記プロセッサによって実行可能な命令を更に含み、前記コンピューティングデバイスは、ほぼ0.5Wの電力消費に電力低下され、前記コンピューティングデバイスのウェイクイベント及び管理サービスは、前記S5最大省電力プロセス中はディセーブルされる、請求項16に記載の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピューティングデバイスにおける電力低下状態を実施することに関する。
【背景技術】
【0002】
技術の進歩は、パーソナルコンピュータ、ラップトップコンピュータ、移動電話、及びタブレットコンピュータ等の、より小型で、より強力なコンピューティングデバイスをもたらしてきた。コンピューティングデバイスのサイズがより小さくなり、計算能力がより強力になるにつれて、バッテリ寿命及び電力消費は、ウェイクアップ中のコンピューティングデバイスの応答性を犠牲にすることなく、検討すべき重要な因子となってきている。一般に、電力供給されないコンピューティングデバイスの構成要素が多いほど、より多くの電力が節約され得、コンピューティングデバイスのバッテリ寿命は延び得る。コンピューティングデバイスは、電力消費を削減するためにスリープモード又は電源オフモードに入ることができる。例えば、ユーザは、コンピューティングデバイスに、スリープモード、スタンバイモード、又はハイバネーションモードに入るように命令することができる。さらに、ユーザは、電源シャットダウンコマンドを選択することができ、これに応答して、コンピューティングデバイスの構成要素は電源オフされる。
【0003】
以下の詳細な説明は、図面を参照する。
【図面の簡単な説明】
【0004】
図1】電源オフ状態を実施するためのコントローラを備えるコンピューティングデバイスの一例示の実施態様のブロック図である。
図2】電源オフ状態を実施するためのコントローラを備えるコンピューティングデバイスの別の例示の実施態様のブロック図である。
図3】コンピューティングデバイスにおける電源オフ状態の一例示の実施態様のフローチャートである。
図4】コンピューティングデバイスにおける電源オフ状態の別の例示の実施態様のフローチャートである。
図5】電源オフ状態を実施するための命令を用いてコード化された機械可読記憶媒体を備えるコンピューティングデバイスの例示の実施態様のブロック図である。
【発明を実施するための形態】
【0005】
コンピューティングデバイスは、高度設定電力インターフェース(ACPI)仕様に定義されているように、1つ又は複数の低電力モード(例えば、スリープ状態)で動作することによって電力及びエネルギーの消費を節約し得る。ACPI仕様は、「S0〜S5」電力状態を含み得る。S0は、システムのフル電力状態又は「オン」状態を表す。スリープ状態S1〜S4は、省電力が増大していくレベルを表し、状態S5は、システムがソフトオフ(すなわち、シャットダウン)状態にある最も高い省電力モードである。S5状態は、例えばユーザからのシャットダウンコマンドによって達成又はトリガされ得る。
【0006】
S4状態では、ウェイクアップ中のレイテンシーを削減するために、メモリの内容は、S4状態に入る前に不揮発性メモリに記憶される。しかしながら、S4スリープ状態は、S5状態よりもかなり多くの電力を消費する。その上、幾つかの国、例えば欧州諸国は、システムがオフ状態(例えば、S5状態)にある間に消費することができる電力量に対して、0.5ワット等の制限を課す規制を実施している。
【0007】
したがって、以下で詳細に説明するように、様々な例が、電源オフコマンドに応答してスリープ状態コマンドを発行する(例えば、スリープ状態インジケータを書き込む)オペレーティングシステムにおいて電源オフ状態を実施することに関係している。スリープ状態コマンドを発行する前又はスリープ状態インジケータを書き込む前に、オペレーティングシステムは、メインメモリの現在の状態又は内容を不揮発性記憶装置に書き込む。コントローラは、電源オフコマンドがスリープ状態インジケータのレジスタへの書き込みをトリガしたものと判断し得、それに応答して、コントローラは、電源オフ状態インジケータを第2のレジスタに書き込み得る。幾つかのハードウェアの事例では、例えば、第1のレジスタ及び第2のレジスタは同じアドレスにあることに留意すべきである。そのような例では、レジスタの能力は、第2の書き込みの前にスリープ状態遷移を可能にするように再構成される。したがって、メインメモリの内容は、電源オフコマンドを実行する前に記憶される。
【0008】
コントローラは、オペレーティングシステムによって発行された「シャットダウンS4」(すなわち、S5要求によってトリガされたS4状態コマンド)と、真の「ハイバネーションS4」(すなわち、S4要求によってトリガされたS4状態コマンド)とを区別するようにも動作可能である。したがって、1つの例では、コントローラは、「シャットダウンS4」がオペレーティングシステムによって起動されたとき、S5シャットダウンを実施するように動作可能である。別の例では、システムは、真の「ハイバネーションS4」がオペレーティングシステムによって起動されたとき、S4スリープ状態を実施することができる。したがって、電力供給オフの前にコンピューティングデバイスの状態を不揮発性記憶デバイスに書き込むことによって、0.5Wの電力消費及び低レイテンシーの双方がコンピューティングデバイスによって達成され得る。
【0009】
以下の説明では、「機械可読記憶媒体」という用語が参照される。「機械可読記憶媒体」という用語は、本明細書において用いられるとき、実行可能な命令又は他のデータを記憶する任意の非一時的な電子記憶デバイス、磁気記憶デバイス、光記憶デバイス、又は他の物理記憶デバイス(例えば、ハードディスクドライブ、ランダムアクセスメモリ、フラッシュメモリ等)を指す。
【0010】
次に図面を参照すると、図1は、1つの例による電源オフ状態を実施するためのコントローラ114を備えるコンピューティングデバイスのブロック図である。コンピューティングデバイス102は、例えば、図示するように通信可能に結合されたコントローラ114、不揮発性記憶装置120、及びオペレーティングシステム112を備える。コンピューティングデバイス102は、例えば、ノートブックコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、ハンドヘルドコンピューティングデバイス、移動電話、サーバー、スレートコンピューティングデバイス若しくはタブレットコンピューティングデバイス、ポータブル読み取りデバイス、又は他の任意の処理デバイスであり得る。
【0011】
コントローラ114は、例えば、初期化、入出力(I/O)、管理、システムリセット機能、熱管理動作、電力管理動作等のコンピューティングデバイス102のための補助機能、並びに当該コンピューティングデバイス102内の様々なデバイスを構成及び制御するための補助機能を実行し得る。コントローラ114は、当該コントローラ114に結合され得る様々な追加の構成要素(例えば、メモリ、キーボード、マウス、バッテリ等)も備え得るシステムオンチップ(SoC)の一部であり得る。さらに、コントローラ114は、コンピューティングデバイス102用の周辺デバイスコントローラ(例えば、キーボードコントローラ)であり得る。その上、コントローラ114は、コンピューティングデバイス102のメモリに記憶された命令を実行するためのプロセッサを備え得るか又はそのようなプロセッサであり得る。これらの命令は、コンピューティングデバイス102に接続された構成要素を制御及び管理するためのものである。
【0012】
コントローラ114は、オペレーティングシステム112によるスリープコマンドの発行をトリガした、コンピューティングデバイス102において受信されたコマンド(すなわち、ソースコマンド)を識別するロジック124を備える。例示すると、コントローラ114のロジック124は、コンピューティングデバイス102において受信されたコマンドが電源オフコマンドであるのか又はスリープコマンドであるのかを判断することができる。例えば、コントローラ114は、コンピューティングデバイス102の電源ボタンにアクセスしたユーザから受信された電源オフコマンド、アプリケーションから受信された電源オフコマンド、又はコンピューティングデバイス102のオペレーティングシステムから受信されたものを検出することができる。電源オフコマンドを検出したことに応答して、コントローラ114は、スリープコマンドをオペレーティングシステム112に発行することができる。このスリープコマンドは、オペレーティングシステムがS3電力状態又はS4電力状態に遷移するための命令とすることができる。
【0013】
コンピューティングデバイス102用の電源オフコマンドを受信したことに応答して、コントローラ114は、オペレーティングシステム112に、コンピューティングデバイスの現在の状態を不揮発性記憶装置120に記憶するように命令することができる。オペレーティングシステム112は、ACPIに準拠したオペレーティングシステムであり得る。このオペレーティングシステムでは、デバイス構成及び電力管理が、オペレーティングシステム112によって実行される。オペレーティングシステム112は、コンピューティングデバイス102のメモリに記憶され得る。スリープコマンドを受信したことに応答して、オペレーティング112システムは、コンピューティングデバイスの現在の状態130を不揮発性記憶デバイス120に書き込むことができる。
【0014】
コンピューティングデバイス102の現在の状態130は、コンピューティングデバイス102のランダムアクセスメモリに記憶された内容を含むことができる。現在の状態130は、メインメモリのオペレーティングシステムのコンテキスト及びアプリケーションの内容を含み得る。不揮発性記憶装置120は、コンピューティングデバイス102に結合されたハードドライブ又はフラッシュメモリを含むことができる。さらに、現在の状態130は、コンピューティングデバイス102が電源オフ状態から電源オンになることに応答して復元(又は書き戻し)されるファイル(例えば、ハイバネーションファイル)又はイメージとしてメモリに記憶され得る。
【0015】
1つの実施形態では、コントローラ114は、コンピューティングデバイス102がスリープ状態に入るためのフラグ等のインジケータをセットすることもできる。コンピューティングデバイス102の状態130が不揮発性記憶デバイス120に書き込まれることに応答して、コントローラ114は、コンピューティングデバイスを電源オフ状態にする電源オフコマンドを発行する。電源オフ状態は、コンピューティングデバイスのS5電力状態を含むことができる。別の実施形態では、電源オフ状態は、コンピューティングデバイス102の機械的なオフ状態を含むことができる。コンピューティングデバイス102が電源オフ状態にある場合、コンピューティングデバイス102は、0.5W以下の電力を消費することができる。
【0016】
図2は、電源オフ状態を実施するためのコントローラを備えるコンピューティングデバイスの別の例示の実施態様のブロック図である。この例では、コンピューティングデバイス102は、図示するように通信可能に結合された、コントローラ114、電力コントローラ218、不揮発性記憶装置120、オペレーティングシステム112、第1のレジスタ216、及びメモリ240を備える。
【0017】
上記で説明したように、オペレーティングシステム112は、コンピューティングデバイス102が電源オフするための電源オフコマンド(すなわち、S5コマンド)を当該コンピューティングデバイス102が受信したことに応答して、スリープコマンドを発行する。また、オペレーティングシステム112は、メモリ240の内容を不揮発性記憶装置120に書き込む。ここで、メモリ240の内容は、オペレーティングシステムのコンテキスト及びアプリケーションの内容を含む。1つの例では、オペレーティングシステム112は、電源オフコマンドを受信したことに応答して、スリープ状態(すなわち、S4状態)インジケータを第1のレジスタ216に書き込むことによって、スリープコマンドを発行する。第1のレジスタ216は、スリープコマンドが書き込まれるオペレーティングシステムのコマンドレジスタであり得る。さらに、オペレーティングシステム112は、コンピューティングデバイス112においてスリープコマンドを受信したことに応答してスリープ準備(PTS:prepare-to-sleep)メソッド222を起動する。したがって、コントローラ114は、ロジック124を介して、PTSメソッド222を参照又はポーリングして、コンピューティングデバイス102において受信された電源オフコマンド(スリープコマンドではない)がオペレーティングシステム112によるスリープコマンドをトリガしたか否かを判断し得る。例えば、コントローラ114のロジック124は、PTSメソッド222がオペレーティングシステム112によって起動されるとき、フラグをセットし得る。PTSメソッド22がオペレーティングシステム112によってコールされないとき、コントローラ114は、例えば、電源オフ状態インジケータ(すなわち、S5状態)を電力コントローラ218の第2のレジスタ228に書き込むことによって電源オフコマンドを発行する。
【0018】
例えば、コンピューティングデバイス102がS5状態にされているとき、S5最大省電力メソッド224(コントローラ114によって実施される)は、1W未満(ほぼ0.5W)の電力がコンピューティングデバイス102によって消費されるようにハードウェアへの電力をオフにする。1つの実施形態では、S5電力状態中、コンピューティングデバイス102のウェイクイベント(例えば、ウェイクオンLAN(wake-on-LAN))及び管理サービスはオフにされる。
【0019】
1つの実施形態では、コンピューティングデバイス102は、ACPIスリープタイプを実施するACPIコントローラ等の電力コントローラ218を備えることができる。電力コントローラ218は、第2のレジスタ228(すなわち、スリープタイプレジスタ)を備える。第2のレジスタ228は、電力コントローラ218によって実行又は実施される電力状態を示す電力コントローラ218のレジスタである。例えば、電源オフ状態インジケータ(例えば、S5電力状態)が第2のレジスタ118に書き込まれる場合、電力コントローラ118は、コンピューティングデバイス102をS5電力状態にする。別の実施形態では、スリープ状態インジケータ(例えば、S4スリープ状態)が、第2のレジスタ118に書き込まれ、電力コントローラ118は、コンピューティングデバイス102をS4スリープ状態にする。
【0020】
図2は、(オペレーティングシステム112の)第1のレジスタ116及び(電力コントローラ218の)第2のレジスタ228を示しているが、一例示の実施形態は、電力コントローラ118によって実施されるスリープ状態を記憶する単一のレジスタ(例えば、ACPIスリープタイプレジスタ)を備え得ることに留意すべきである。そのような実施形態では、オペレーティングシステム112が、電源オフコマンドに応答して、S4スリープ状態インジケータをスリープタイプレジスタに発行したとき、コントローラ114は、スリープ状態インジケータの書き込みをインターセプトし、このスリープ状態インジケータをスリープタイプレジスタ内のS5電源オフ状態インジケータに取り替え、それによって、電力コントローラ118がスリープ状態の代わりに電源オフ(すなわち、シャットダウン)を実施することを可能にする。
【0021】
メインメモリの内容(すなわち、コンピューティングデバイス102の状態130)は、電源オフ状態を実施する前に不揮発性メモリ120に書き込まれているので、コンピューティングデバイス102は、電源オフ状態から電源が投入されると、以前の状態から迅速に再始動され得る。したがって、開示した実施形態によれば、電力を節約し、バッテリ寿命を延ばし、電源オフモードにおける電力消費に関する規制に準拠すると同時に、コンピューティングデバイス102のより迅速な応答性を達成するように、電源オフ状態をコンピューティングデバイス102において実施し得る。
【0022】
図3は、コンピューティングデバイスにおいて電力低下状態を実施するための一例示の方法300のフローチャートである。方法300は、以下では、コンピューティングデバイス102の構成要素に関して説明されるが、方法300の実行に好適な他の構成要素が当業者には明らかであろう。加えて、方法300を実行するための構成要素は、複数のデバイス間に散在させ得る。方法300は、図5の機械可読記憶媒体510等の機械可読記憶媒体上に記憶された実行可能命令の形態、電子回路部の形態、又はそれらを組み合わせたもので実施され得る。
【0023】
方法300は、ブロック310において開始し、ブロック320に進み得る。ブロック320において、コンピューティングデバイスのオペレーティングシステムからのスリープコマンドが、コンピューティングデバイス用の電源オフコマンドを検出したことに応答して発行される。このスリープコマンドは、コンピューティングデバイスをスリープ状態にするためのものである。例えば、オペレーティングシステム112は、電源オフコマンドがオペレーティングシステムにおいて受信されると、スリープコマンドを発行し得る。電源オフコマンドは、コンピューティングデバイスをシャットダウンするユーザコマンド、タイムアウトコマンド、及びアプリケーションによって実行される電源オフ命令のうちの少なくとも1つを含み得る。オペレーティングシステム112は、スリープ状態インジケータを第1のレジスタ216に書き込むことによってスリープコマンドを発行し得る。スリープコマンドは、例えばS4状態であり得る。
【0024】
方法300はブロック330に進み得る。ブロック330において、コンピューティングデバイスのメモリの内容が、コンピューティングデバイスの不揮発性記憶装置に書き込まれる。例えば、オペレーティングシステム112は、コンピューティングデバイス102の現在の状態130を不揮発性記憶装置120(例えば、ハードドライブ)に書き込み得る。現在の状態130は、システムハードウェアのコンテキスト、オペレーティングシステムのコンテキストを含み得る。現在の状態130は、例えば、ハイバネートファイルとして不揮発性記憶装置120に記憶され得る。したがって、システムウェイクアップ時に、このファイルは、不揮発性記憶装置120からメインメモリ240に書き戻され得、それによって、コンピューティングデバイス102及びオペレーティングシステム112をリブートすることに関連したレイテンシーが防止される。
【0025】
方法300は、次にブロック340に進み得る。ブロック340において、コンピューティングデバイスは、メモリの内容を不揮発性記憶装置に書き込んだことに応答して電源オフ状態にされる。例えば、コントローラ114は、コンピューティングデバイス102において受信された電源オフコマンドが、(例えば、メモリの内容をディスクに保存した後に)オペレーティングシステム112によるスリープコマンドをトリガしたものと判断し得、続いて、(例えば、電源オフ状態インジケータをスリープタイプレジスタ228に書き込むことによって)電源オフコマンドを発行し得る。したがって、電力コントローラ218(例えば、ACPIコントローラ)は、電源オフコマンドを実行することができる。方法300は、次にブロック350に進み得る。ブロック350において、方法300は停止する。
【0026】
図4は、コンピューティングデバイスにおいて電源オフ状態を実施するための別の例示の方法400のフローチャートである。方法400は、以下では、コンピューティングデバイス102の構成要素に関して説明されるが、方法400の実行に好適な他の構成要素が当業者には明らかであろう。加えて、方法400を実行するための構成要素は、複数のデバイス間に散在させ得る。方法400は、図5の機械可読記憶媒体510等の機械可読記憶媒体上に記憶された実行可能命令の形態、電子回路部の形態、又はそれらを組み合わせたもので実施され得る。
【0027】
方法400は、ブロック402において開始し、ブロック404に進み得る。ブロック404において、第1のレジスタに書き込まれたスリープ状態インジケータが検出される。例えば、コントローラ114は、S4スリープ状態インジケータがオペレーティングシステム112によって第1のレジスタ116に書き込まれたことを検出し得る。代替的に、コントローラ114は、オペレーティングシステム112によるスリープタイプレジスタ228へのS4スリープ状態インジケータの書き込みをインターセプトし得る。
【0028】
方法400はブロック406に進み得る。ブロック406において、スリープ状態インジケータの書き込みをトリガしたコンピューティングデバイスにおけるコマンドが決定又は識別される。スリープ状態インジケータの書き込みをトリガしたコンピューティングデバイスにおけるコマンドを決定することは、ブロック408において、PTSメソッド222がコールされたか否かを判断することを含み得る。例えば、コントローラ114は、PTSメソッド222がオペレーティングシステム112によって起動されたか否かを判断し得る。ここで、PTSメソッド222は、真のS4スリープイベントを示す。
【0029】
PTSメソッドがコールされていない場合、方法400はブロック410に進み得る。ブロック410において、電源オフコマンドがスリープ状態インジケータの書き込みをトリガしたものと判断される。例えば、PTSメソッド22がオペレーティングシステム112によってコールされず、S4状態インジケータが第1のレジスタ216に書き込まれると、コントローラ114は、S5コマンドがコンピューティングデバイス102において受信されたものと(例えば、ロジック124を介して)判断する。S5コマンドは、コンピューティングデバイス102をシャットダウンするユーザ要求を含み得る。ここで、そのような要求は、オフボタンを押下すること又はアプリケーションを介してシャットダウン要求を実行することを含む。方法400は、次にブロック412に進み得る。ブロック412において、電源オフ状態インジケータが第2のレジスタに書き込まれる。例えば、コントローラ114は、スリープタイプレジスタ228にS5状態インジケータを(すなわち、S4状態インジケータを書き込む代わりに)書き込み得る。方法400は、次にブロック414に進み得る。ブロック414において、コンピューティングデバイスは電源オフ状態にされる。例えば、電力コントローラ228は、スリープタイプレジスタ228に書き込まれたS5電力タイプに基づいて、コンピューティングデバイス102をS5状態にし得る。
【0030】
一方、ブロック408において判断されているように、PTSメソッド222がコールされた場合、方法400はブロック416に進み得る。ブロック416において、スリープコマンドがスリープ状態の書き込みをトリガしたものと判断される。例えば、PTSメソッド122がオペレーティングシステム112によってコールされると、コントローラ114は、S4コマンド又はスリープコマンドがコンピューティングデバイス102において受信されたものと判断する。S4コマンドは、コンピューティングデバイス102をハイバネートする、ユーザ要求、又はコンピューティングデバイス102が或る時間期間アイドル状態であった後の要求を含み得る。方法400は、次にブロック418に進み得る。ブロック418において、スリープ状態インジケータが、第2のレジスタに書き込まれる。例えば、コントローラ114は、S4状態を電力コントローラ218のスリープタイプレジスタ228に書き込み得る。この場合、真のS4イベントが発生しているので、コントローラ114は、オペレーティングシステム112によって書き込まれるスリープタイプを変更しない。方法400は、次にブロック420に進み得る。ブロック420おいて、コンピューティングデバイスはスリープ状態にされる。例えば、電力コントローラ218は、スリープタイプレジスタ228に書き込まれたS4スリープタイプに基づいて、コンピューティングデバイス102をS4スリープ状態にし得る。
【0031】
方法400はブロック422に進み得る。ブロック422において、コンピューティングデバイスは、電源オフ状態又はスリープ状態のいずれかからウェイクアップされる。方法400はブロック424に進み得る。ブロック424において、コンピューティングデバイスの状態が、不揮発性記憶装置からメモリに書き込まれる。例えば、コントローラ114は、内容データが、メモリ240に書き戻されるように不揮発性記憶装置120に存在するものと判断し得る。したがって、コンピューティングデバイス102の現在の状態130は、電源オフ状態又はスリープ状態に入る前に不揮発性記憶装置120に書き込まれているので、状態130(すなわち、ハードウェアのコンテキスト、オペレーティングシステムのコンテキスト、及びメインメモリの内容)は、メモリ240に書き戻され得る。したがって、コンピューティングデバイス102は、コンピューティングデバイスの以前のプレ電源オフ状態又はプレスリープ状態からレジュームし得る。方法400は、次にブロック426に進み得る。ブロック426において、方法400は停止する。
【0032】
方法400は、オペレーティングシステム112のPTSメソッド222を利用して、電源オフイベントがスリープ状態インジケータの書き込みをトリガしたか否かを判断することを示すが、スリープ状態インジケータの書き込みをトリガしたイベントを判断する他の方法を実施し得ることに留意すべきである。例えば、コントローラ114は、オペレーティングシステムのバージョンを確認し、特定のバージョンのオペレーティングシステムが、デフォルトによって、電源オフイベント及びスリープイベントに応答してスリープ状態インジケータを書き込むものと判断し得る。したがって、コントローラ114は、オペレーティングシステム112が電源オフイベントに応答してスリープ状態インジケータを書き込んだ時、及びオペレーティングシステム112がスリープイベントに応答してスリープ状態インジケータを書き込んだ時を判断することができる。
【0033】
図5は、電力低下状態を実施するための命令を用いてコード化された機械可読記憶媒体を備えるコンピューティングデバイスのブロック図である。図5の実施形態では、コントローラ114は、プロセッサ520及び機械可読記憶媒体510を備える。
【0034】
プロセッサ520は、マイクロプロセッサ、半導体ベースのマイクロプロセッサ、機械可読記憶媒体510に記憶された命令の取り出し及び実行に好適な他のハードウェアデバイス若しくは処理素子、又はそれらの任意の組み合わせであり得る。プロセッサ520は、機械可読記憶媒体510に記憶された命令をフェッチし、デコードし、実行して、以下で詳細に説明する機能を実施し得る。命令の取り出し及び実行の代わりとして又はこれらに加えて、プロセッサ510は、機械可読記憶媒体510に記憶された命令512、514、及び516の機能を実行するための複数の電子構成要素を備える少なくとも1つの集積回路(IC)、他の制御ロジック、他の電子回路、又はそれらの任意の組み合わせを含み得る。さらに、プロセッサ520は、チップ上の単一若しくは複数のコア、複数のデバイスにわたる複数のコア、又はそれらの任意の組み合わせを備え得る。
【0035】
機械可読記憶媒体510は、実行可能命令を含むか又は記憶する任意の非一時的な電子記憶デバイス、磁気記憶デバイス、光記憶デバイス、又は他の物理記憶デバイスであり得る。したがって、機械可読記憶媒体510は、例えば、NVRAM、ランダムアクセスメモリ(RAM)、電気的消去可能プログラマブル読み出し専用メモリ(EEPROM)、記憶ドライブ、コンパクトディスク読み出し専用メモリ(CD−ROM)等であり得る。さらに、機械可読記憶媒体510は、非一時的だけでなく、コンピュータ可読とすることができる。以下で詳細に説明するように、機械可読記憶媒体510は、コンピューティングデバイス102において電力低下状態を実施するための一連の実行可能命令を用いてコード化され得る。これらの実行可能命令は、例えば、電力低下状態を実施する、コンピューティングデバイス102のオペレーティングシステムの一部分又はOS上で実行される別個のアプリケーションであり得る。実行可能命令の他の好適なフォーマットは、当業者に明らかであろう。
【0036】
機械可読記憶媒体510は、コンピューティングデバイス用の電源オフコマンドを検出したことに応答して、コンピューティングデバイスをスリープ状態にするスリープコマンドを発行するように構成され得るコマンド発行命令512を含み得る。例えば、コマンド発行命令512は、コンピューティングデバイス102において電源オフコマンドを検出したことに応答して、コンピューティングデバイス102をスリープ状態にするスリープ状態コマンドを発行するように構成され得る。電源オフコマンドは、例えば、コンピューティングデバイス102をシャットダウンするユーザ要求を含み得る。
【0037】
機械可読記憶媒体510は、コンピューティングデバイスのメモリの内容をコンピューティングデバイスの不揮発性記憶装置に記憶するように構成され得るメモリ内容記憶命令514を含み得る。例えば、メモリ内容記憶命令514は、メモリ240の内容を不揮発性記憶装置120に記憶するように構成され得る。メモリ240の内容は、コンピューティングデバイスの現在の状態130、オペレーティングシステムのコンテキスト、及びハードウェアのコンテキストを含み得る。さらに、内容記憶命令514は、記憶された現在の状態130をウェイクアップ中に不揮発性記憶装置120からメモリ240に書き戻すように構成され得る。
【0038】
機械可読記憶媒体510は、メモリの内容を不揮発性記憶装置に書き込んだことに応答して、コンピューティングデバイスを電源オフ状態にするように構成され得る電力制御命令516も含み得る。例えば、電力制御命令516は、メモリ240の内容130を不揮発性メモリ120に書き込んだことに応答して、コンピューティングデバイスを電源オフ状態にし得る。さらに、電力制御命令516は、1W未満(例えば、0.5W)の電力がコンピューティングデバイス102によって消費されるように、不必要なハードウェアへの電力がオフにされる省電力を実施するように構成され得る。S5最大省電力中、コンピューティングデバイス102のウェイクイベント及び管理サービスはオフにされる。
【0039】
上記で詳細に説明した実施形態によれば、ウェイクアップ中のコンピューティングデバイスのスリープモード応答性を達成すると同時に、コンピューティングデバイスの電力消費を電源オフモードにおいてほぼ0.5Wに削減し得る。
図1
図2
図3
図4
図5