特表2016-535328IP Force 特許公報全文掲載

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】特表2016-535328(P2016-535328A)
(43)【公表日】2016年11月10日
(54)【発明の名称】システムの初期化前のデバイスの構成
(51)【国際特許分類】
   G06F 1/26 20060101AFI20161014BHJP
   G06F 9/445 20060101ALI20161014BHJP
【FI】
   G06F1/26 334B
   G06F9/06 610A
【審査請求】有
【予備審査請求】未請求
【全頁数】19
(21)【出願番号】特願2016-516862(P2016-516862)
(86)(22)【出願日】2013年9月26日
(85)【翻訳文提出日】2016年5月18日
(86)【国際出願番号】US2013061960
(87)【国際公開番号】WO2015047277
(87)【国際公開日】20150402
(81)【指定国】 AP(BW,GH,GM,KE,LR,LS,MW,MZ,NA,RW,SD,SL,SZ,TZ,UG,ZM,ZW),EA(AM,AZ,BY,KG,KZ,RU,TJ,TM),EP(AL,AT,BE,BG,CH,CY,CZ,DE,DK,EE,ES,FI,FR,GB,GR,HR,HU,IE,IS,IT,LT,LU,LV,MC,MK,MT,NL,NO,PL,PT,RO,RS,SE,SI,SK,SM,TR),OA(BF,BJ,CF,CG,CI,CM,GA,GN,GQ,GW,KM,ML,MR,NE,SN,TD,TG),AE,AG,AL,AM,AO,AT,AU,AZ,BA,BB,BG,BH,BN,BR,BW,BY,BZ,CA,CH,CL,CN,CO,CR,CU,CZ,DE,DK,DM,DO,DZ,EC,EE,EG,ES,FI,GB,GD,GE,GH,GM,GT,HN,HR,HU,ID,IL,IN,IS,JP,KE,KG,KN,KP,KR,KZ,LA,LC,LK,LR,LS,LT,LU,LY,MA,MD,ME,MG,MK,MN,MW,MX,MY,MZ,NA,NG,NI,NO,NZ,OM,PA,PE,PG,PH,PL,PT,QA,RO,RS,RU,RW,SA,SC,SD,SE,SG,SK,SL,SM,ST,SV,SY,TH,TJ,TM,TN,TR,TT,TZ,UA,UG,US,UZ
(71)【出願人】
【識別番号】511076424
【氏名又は名称】ヒューレット−パッカード デベロップメント カンパニー エル.ピー.
【氏名又は名称原語表記】Hewlett‐Packard Development Company, L.P.
(74)【代理人】
【識別番号】100099623
【弁理士】
【氏名又は名称】奥山 尚一
(74)【代理人】
【識別番号】100096769
【弁理士】
【氏名又は名称】有原 幸一
(74)【代理人】
【識別番号】100107319
【弁理士】
【氏名又は名称】松島 鉄男
(74)【代理人】
【識別番号】100114591
【弁理士】
【氏名又は名称】河村 英文
(74)【代理人】
【識別番号】100125380
【弁理士】
【氏名又は名称】中村 綾子
(74)【代理人】
【識別番号】100142996
【弁理士】
【氏名又は名称】森本 聡二
(74)【代理人】
【識別番号】100166268
【弁理士】
【氏名又は名称】田中 祐
(74)【代理人】
【識別番号】100170379
【弁理士】
【氏名又は名称】徳本 浩一
(74)【代理人】
【識別番号】100179154
【弁理士】
【氏名又は名称】児玉 真衣
(74)【代理人】
【識別番号】100180231
【弁理士】
【氏名又は名称】水島 亜希子
(72)【発明者】
【氏名】ジャーニク,グレゴリー・ピー
(72)【発明者】
【氏名】ピウォンカ,マーク・エイ
(72)【発明者】
【氏名】ダーラム,マイケル・アール
【テーマコード(参考)】
5B011
5B376
【Fターム(参考)】
5B011EA02
5B011MB15
5B376AA05
5B376AA10
5B376AA21
(57)【要約】
幾つかの例が、コンピューティングシステム内のデバイスを構成(設定)する方法、システム、及びコンピュータ可読媒体を開示している。これらの例は、待機電力がデバイスに印加されたとき、構成データを処理する。加えて、これらの例は、構成データに基づいてデバイスを構成し、このデバイスは、コンピューティングシステムの初期化の前に構成される。
【選択図】図5
【特許請求の範囲】
【請求項1】
コンピューティングシステムであって、
待機電力をデバイスに送信する電源回路と、
構成データを保持する、前記デバイスに関連付けられたメモリと、
前記デバイスと、
を備え、
前記デバイスは、
前記待機電力を受信すると、前記メモリからの前記構成データを処理することと、
前記構成データに基づいて該デバイス自身を構成することと、
を行い、前記デバイスは、前記コンピューティングシステムの初期化の前に構成される、コンピューティングシステム。
【請求項2】
前記構成データに対応する値をプログラミングする前記デバイスの内部のレジスタを更に備え、前記値は、前記レジスタに関連付けられたハードウェアコンポーネントの機能を示す、請求項1に記載のコンピューティングシステム。
【請求項3】
前記コンピューティングシステムを初期化するために、前記電源回路は、主電力を前記デバイスに更に送信する、請求項1に記載のコンピューティングシステム。
【請求項4】
前記構成データを通じて熱回路を構成するレジスタを更に備え、該熱回路は、前記コンピューティングシステムの初期化の前に構成される、請求項1に記載のコンピューティングシステム。
【請求項5】
前記構成データに対応する値を用いてプログラミングされる前記デバイスの内部のレジスタに基づいて動作するハードウェアコンポーネントを更に備える、請求項1に記載のコンピューティングシステム。
【請求項6】
コンピューティングシステムのプロセッサによって実行可能な命令が符号化された非一時的機械可読記憶媒体であって、
待機電力を前記コンピューティングシステム内のデバイスに印加する命令と、
前記デバイスの構成データを処理する命令と、
前記構成データに基づいて前記デバイスを構成する命令と、
を含み、前記デバイスは、前記コンピューティングシステムの初期化の前に構成される、非一時的機械可読記憶媒体。
【請求項7】
請求項6に記載の命令を含み、
前記構成データに基づいて前記デバイスを構成するために、前記媒体は、さらに、
前記構成データに対応する値を用いて前記デバイスの内部のレジスタをプログラミングする命令を含み、前記値は、前記レジスタに対応するハードウェアの機能を示す、非一時的機械可読記憶媒体。
【請求項8】
請求項7に記載の命令を含み、
前記レジスタは、ピン、熱管理、及び冷却ファンのうちの少なくとも1つを構成するようにプログラミングされる、非一時的機械可読記憶媒体。
【請求項9】
請求項6に記載の命令を含み、さらに、
主電力を前記コンピューティングシステムに印加する命令と、
前記コンピューティングシステムを初期化する命令と、
を含む、非一時的機械可読記憶媒体。
【請求項10】
請求項6に記載の命令を含み、
前記構成データに基づいて前記デバイスを構成するために、前記媒体は、さらに、
データ構造体から値を取得する命令と、
前記値を用いて前記デバイスの内部のレジスタをプログラミングする命令と、
前記レジスタにプログラミングされた前記値に基づいて前記デバイス上のピンを構成する命令と、
を含む、非一時的機械可読記憶媒体。
【請求項11】
コンピューティングシステム内のデバイスを構成する方法であって、
待機電力が前記デバイスに印加されたとき、該デバイスの構成データを処理するステップと、
前記構成データに基づいて前記デバイスを構成するステップと、
を含み、前記デバイスは、前記コンピューティングシステムの初期化の前に構成される、方法。
【請求項12】
前記コンピューティングシステムの初期化のために主電力をメイン処理ユニットに印加するステップを更に含む、請求項11に記載の方法。
【請求項13】
前記構成データを処理するステップは、
前記構成データに対応する値をテーブルから取得するステップと、
前記値を用いて前記デバイスの内部のレジスタをプログラミングするステップと、
を更に含み、前記値は、前記レジスタに関連付けられたハードウェアの機能を示す、請求項11に記載の方法。
【請求項14】
前記コンピューティングシステムを交流(AC)電源にプラグ接続して、前記待機電力を前記デバイスに印加するステップを更に含む、請求項11に記載の方法。
【請求項15】
前記デバイスを構成するステップは、前記構成データに対応する値を用いて前記デバイスの内部のレジスタをプログラミングするステップを更に含み、前記レジスタは、前記デバイスに関連付けられたハードウェアコンポーネントを設定する、請求項11に記載の方法。
【発明の詳細な説明】
【背景技術】
【0001】
コンピューティングシステムが初期化されるとき、そのコンピューティングシステムは様々な電気デバイスを構成(設定)する場合がある。電気デバイスのこれらの構成は、コンピューティングシステムの動作に影響を与える回路、コーディング、及びハードウェア機能に関係する場合がある。
【0002】
添付図面において、同様の参照符号は、同様のコンポーネント又はブロックを示す。以下の詳細な説明は、これらの図面について言及している。
【図面の簡単な説明】
【0003】
【図1】待機電力をデバイスに送電する電源回路を備える一例示のコンピューティングシステムのブロック図であり、このデバイスは、メモリからの構成データを処理し、この構成データに基づいてデバイス自体を構成する。
【図2A】電源回路により交流(AC)電力を受信する一例示のコンピューティングシステムの図であり、この電源回路は、デバイスに、主電力を送電する前に該デバイスを構成する待機電力を送電する。
【図2B】デバイスの内部のレジスタ用の構成データを含む一例示のデータ構造体の図であり、このデータ構造体は、レジスタの機能と、関連付けられたハードウェアと、対応するレジスタをプログラミングする値と、を含む。
【図3】構成データを処理し、コンピューティングシステムの初期化前にこの構成データに基づいてデバイスを構成する一例示の方法のフローチャートである。
【図4】コンピューティングシステムをAC電源にプラグ接続して待機電力を受信し、それに応じてデバイスを構成する一例示の方法のフローチャートである。
【図5】待機電力をデバイスに印加し、構成データを処理し、主電力をデバイスに印加する前にこの構成データに基づいてデバイスを構成する機械可読記憶媒体内の命令を実行するプロセッサを有する一例示のコンピューティングデバイスのフローチャートである。
【発明を実施するための形態】
【0004】
コンピューティングシステムは、基本入出力システム(BIOS)の初期化の際にその内部コンポーネントを構成(設定)することができる。BIOSは、コンピューティングシステム内の電気デバイスを構成することができるインタフェースを規定する標準である。構成は、コンピューティングシステムの機能及び性能に影響を与えるコーディング、ハードウェアコンポーネント、及び他のドキュメンテーションに関係する場合がある。コンピューティングシステムの内部の電子デバイスは、それらのデバイスがコンピューティングシステムの初期化(例えば、ブートアップ)時に適切な構成を有するように設計することができる。これらのデバイスは、デフォルトで正しい構成になるべきであり、さもなければ、コンピューティングシステムはブートアップしない場合がある。加えて、デバイスが不正確に構成された場合、これによって、不正確に構成された電気デバイス間に競合が発生する場合があり、コンピューティングシステムをブートアップする際にレイテンシが発生する場合があり、損傷が発生する場合もある。例えば、電気デバイスからの電気接続を有するピンは、専ら出力にのみ用いられる場合があり、このため、このピンを入力として構成すると、このピンは、機能することができないか又はコンピューティングシステムに損傷を与える場合がある。加えて、デバイスの空間は制限される場合があり、このため、追加の専用ピンを用いて異なる構成をロードすることが実現可能でない場合がある。
【0005】
これらの問題に対処するために、本明細書に開示された一実施態様は、コンピューティングシステムの初期化の前にコンピューティングシステム内のデバイスを構成する。待機電力をデバイスに印加することによって、メモリ内の構成データを取得する信号がデバイスに与えられる。デバイスは、その後、この構成データを処理し、この構成データに基づいて自身を構成することができる。デバイスは、コンピューティングシステムの初期化の前に構成される。コンピューティングシステムの初期化の前にデバイスを構成することによって、初期化の際にデバイスを既に構成しておくことができるので、コンピューティングシステムのブートアップに関連したレイテンシが削減される。加えて、コンピューティングシステムの初期化の前にデバイスを構成することによって、コンピューティングシステムのブートアップに備えてデバイスを正しく構成しておくことが確保される。
【0006】
別の実施態様では、デバイスの内部のレジスタが、構成データに対応する値を用いてプログラミングされる。この実施態様では、レジスタは、ハードウェアコンポーネントの状態に関係する値を記憶することができる。これによって、デバイスは、値を用いてレジスタをプログラミングすることを通じてハードウェアコンポーネントを管理することができるので、制御及び柔軟性がもたらされる。例えば、デバイスからの各ピンは、各レジスタを通じて構成することができる。異なる値を用いて各レジスタをプログラミングすることによって、各ピンは異なる機能を実行することが可能になる。さらに、これによって、デバイスは、各ピンの機能を変更することも可能になる。例えば、或るピンは入力を含むことができ、別のピンは出力を含むことができる一方、更に別のピンは入力及び出力として動作することができる。デバイスは、別の構成(設定)においては、これらのピンの機能を変更することができる。
【0007】
更なる実施態様では、デバイスは、構成データに基づいて値を識別するデータテーブルを備えることができる。このデータテーブルに値を提供してデバイスの内部のレジスタをプログラミングすることによって、ユーザ入力を伴わない自動構成が提供される。構成データに基づいてコンピューティングシステムの初期化の前にデバイスを構成することによって、様々なデバイスにわたって構成の幾つかの変形形態が可能になる。加えて、データテーブルからの値を用いて特定のレジスタをプログラミングすることによって、デバイスは、プラットフォーム固有のインタフェースからではなくテーブルから自身を構成することができるので、それぞれ異なるコンピューティングシステムプラットフォームにおいてデバイスを用いることが可能になる。さらに、これによって、各プラットフォームがそのプラットフォームに固有のデバイスを用いるのではなく、複数のプラットフォーム上でのそのデバイスの使用が可能になる。さらに、テーブルを用いてデバイスを構成する値を識別することによって、構成データを受信するのに用いられる場合がある専用のストラッピングピンが取り除かれる。これによって、デバイスからのピンの数が削減されるので、コンピューティングシステム内の空間も節約される。
【0008】
要約すれば、本明細書に開示された実施態様は、コンピューティングシステムを初期化することに関連したレイテンシを削減する。加えて、本明細書に開示された実施態様は、様々なコンピューティングシステム間で複数の構成のデバイスが可能になる。
【0009】
次に図を参照する。図1は、待機電力106をデバイス108に送電する電源回路104を備える一例示のコンピューティングシステム102のブロック図である。待機電力106を印加することによって、デバイス108は、関連付けられたメモリ110から構成データ112を取得し、モジュール116においてデバイス108を構成するために、構成データをモジュール114において処理することができる。デバイス108は、コンピューティングシステム102の初期化の前にブートアップに備えて構成される。コンピューティングシステム102の初期化の前にデバイス108を構成することによって、初期化の際にデバイスを既に構成しておくことができるので、コンピューティングシステムを初期化することに関連したレイテンシが取り除かれる。コンピューティングシステム102は、有限の一組の動作を実行するようにプログラミングすることができる電気デバイスであり、したがって、デバイス108及び電源回路104に加えて中央処理ユニット(CPU)を備えることができる電子デバイスである。コンピューティングシステム102の実施態様には、様々なアプリケーションを実行するとともに動作を実行することが可能なモバイルデバイス、クライアントデバイス、パーソナルコンピュータ、デスクトップコンピュータ、ラップトップ、タブレット、ノートブック、ビデオゲームコンソール、又は他のタイプの電子デバイスが含まれる。加えて、図1は、コンピューティングシステム102を、電源回路104及びデバイス108を備えるものとして示しているが、これは例示の目的でなされたものであるので、実施態様はこの描写に限定されるべきではない。例えば、コンピューティングシステム102は、マザーボード及び中央処理ユニット(CPU)を備えることもできる。
【0010】
電源回路104は、コンピューティングシステム102の内部にある、待機電力106をデバイス108に印加するタイプの電力処理回路である。したがって、電源回路104は、交流(AC)電源等の外部電源(図示せず)に接続して待機電力106をデバイス108に印加することができる。電源回路104は、外部電源からの電力を受信し、受信した電力をフィルタリングし、変換し、及び/又は調整して待機電力106を取得することができる。1つの実施態様では、電源回路104は、待機電力106に加えて主電力もデバイス108に送電することができる。別の実施態様では、電源回路104は、AC電源に接続することができ、待機電力106をデバイス108に送信する低電圧レールと、主電力をデバイス108に送信する高電圧レールとを備えることができる。この実施態様では、コンピューティングシステム102は、オンになり(すなわち、ブートアップする)、このため、高電圧レール上でより大きな大きさの電力(例えば、主電力)を受信することができる。主電力は、コンピューティングシステム102をブートアップのために初期化する。コンピューティングシステム102の初期化は、コンピューティングシステム102のブートアップ又は電源オンを含むことができ、したがって、コンピューティングシステム102全体を構成(設定)するCPU及びオペレーティングシステムの電源オンを含むことができる。電源回路104の実施態様には、入力電力を受信してデバイス108への送電用の待機電力106を取得することが可能な電力管理回路、変換器、整流器、電力ストレージ、力率補正回路、回路ロジック、増幅器、又は他のタイプの電源回路104が含まれる。
【0011】
待機電力106は、コンピューティングシステム102が外部電源に接続されたときに電源回路104によってデバイス108に印加される補助電力である。待機電力106は、コンピューティングデバイスが接続されたときに構成データ112を読み出すためのデバイス108への信号として動作する。1つの実施態様では、コンピューティングシステム102がオンにされる(すなわち、ブートアップされる)と、電源回路104は、待機電力106に加えて主電力をデバイス108に送電する。一方、コンピューティングシステム102が電源を切られた場合、待機電力106は維持されてデバイス108に印加される。この実施態様では、コンピューティングシステム102が外部電源から接続解除されたとき、待機電力106は除去される。待機電力106の実施態様には、デバイス108に印加することが可能な電流、電圧、及び/又は他の電荷が含まれる。
【0012】
デバイス108は、コンピューティングシステム102内の少なくとも1つのハードウェアコンポーネント及び/又は少なくとも1つの特定の使用を管理することができる集積回路であり、したがって、コンピューティングシステム102において用いられるI/Oコントローラ等のコントローラを備えることができる集積回路である。デバイス108は、コンピューティングシステム102のマザーボード上のCPU(図示せず)に加えて用いられる。この実施態様では、このCPUは、コンピューティングシステム102の全体的な動作を管理する一方、デバイス108は、少なくとも1つのハードウェアコンポーネントを管理することができ、及び/又はコンピューティングシステム102の1つの特定の使用を管理することができる。この点に関して、デバイス108は補助プロセッサとして動作することができる一方、CPUはメイン処理ユニットとして動作する。別の実施態様では、デバイス108は、このデバイス108によって実行可能な機械可読命令を有するファームウェアベースのデバイスを含むことができる。この実施態様では、デバイス108は、コンピューティングシステム102の一般的な機能ではなく特定の目的又は特定の使用にカスタマイズすることができるスーパI/O、特定用途向け集積回路(ASIC)等のファームウェアベースのデバイスを含む。デバイス108は、構成データ112に加えてメモリ110に記憶されたファームウェア(すなわち、機械可読命令)を用いて動作することができる。コンピューティングシステム102が外部電源に接続された(ただし、まだオンにされていない)とき、待機電力106が印加され、したがって、デバイス108はメモリ110から構成データ112を読み出すことができる。デバイス108は、構成データ112を用いて、そのピンを構成し、所望のレジスタを初期化のためにプログラミングする。コンピューティングシステム102がオンにされ、主電力を受信するとき、コンピューティングシステム102を初期化する際の構成のための基本入出力インタフェース及び他のタイプのインタフェースを用いることなく、デバイス108を既に構成して動作させておくことができる。図1は、デバイス108を、メモリ110及びモジュール114、116を備えるものとして示しているが、これは、実施態様を限定するものではなく例示の目的で行われたものである。例えば、デバイス108は、プログラマブルレジスタ及び/又はポート等も備えることができる。プログラマブルレジスタは、デバイス108によって構成データ112に対応する値を用いて書き込まれる。プログラマブルレジスタに書き込まれた値は、そのプログラマブルレジスタに対応するハードウェアコンポーネントの機能を示す。デバイス108の実施態様には、構成のための待機電力106を受信することが可能なスーパI/O、集積回路、ASIC、補助プロセッサ、補助コントローラ、組み込みシステム、チップセット、マイクロチップ、半導体、又は他のタイプの電子コンポーネントが含まれる。
【0013】
メモリ110は、構成データ112を保持する、デバイス108の内部の記憶エリアである。1つの実施態様では、デバイス108が構成データ112を取り出すための待機電力106をメモリ110に通電することができる。別の実施態様では、メモリ110は、構成データ112を保持する不揮発性メモリを含む。更なる実施態様では、メモリ110は、デバイス108がレジスタをプログラミングするための構成データに対応する値を有するデータテーブルを含むことができる。メモリ110の実施態様には、構成データ112を保持することが可能な不揮発性メモリ、揮発性メモリ、フラッシュメモリ、ローカルストレージ、記憶エリア、メモリバッファ、キャッシュ、ランダムアクセスメモリ(RAM)、ダイナミックRAM、電気的消去可能プログラマブル読み出し専用メモリ(EEPROM)、読み出し専用メモリ(ROM)、記憶ドライブ、又は他の記憶エリアが含まれる。
【0014】
構成データ112は、メモリ110によって記憶された、デバイス108を構成するための一連の変数である。このように、構成データ112は、デバイス108に、それ自身をどのように構成するのかを指示する。1つの実施態様では、構成データ112は、コンピューティングシステム102内のマザーボード上におけるデバイス108のロケーションを規定するストラッピングデータを含むことができる。この実施態様では、コンピューティングシステム102は、複数のマザーボード上に複数のデバイスを備えることができ、このため、ストラッピングデータは、どのマザーボード上のどのデバイスのロケーションであるか等を識別する。加えて、ストラッピングデータは、複数の構成の中で、特定のマザーボードを有する特定のデバイスの特定の構成等を識別するのに用いることができる。ストラッピングデータを構成データ112として含めることによって、デバイス108の各タイプの構成を駆動する専用のストラッピングピンが除去されるので、デバイス108上のピンの数が減少し、デバイス108の全体的な空間が削減される。別の実施態様では、構成データ112は、デバイス108内の特定のレジスタの識別情報を含むことができる。したがって、この特定のレジスタの識別情報は、そのレジスタをプログラミングする値を特定するのに用いることができる。この実施態様は、後に示す図面において詳細に記載されている。
【0015】
モジュール114において、デバイス108は、メモリ110から取り出された構成データ112を処理する。待機電力106をデバイス108に印加することによって、構成データ112をモジュール114において処理するために取得する信号がデバイス108に与えられる。モジュール114の1つの実施態様では、デバイス108は、データテーブル又はデータ構造体を利用して、構成データに対応する値を識別することができる。データテーブルからの値を用いると、デバイス108は、レジスタに対応するハードウェアコンポーネントを構成するようにそのレジスタをプログラミングすることができる。この実施態様は、後に示す図面において詳細に論述される。モジュール114の実施態様には、構成データ112を処理するようにデバイス108によって実行可能な一組の命令、プロセス、動作、ロジック、アルゴリズム、技法、論理関数、ファームウェア、及び/又はソフトウェアが含まれる。
【0016】
モジュール116において、デバイス108は、メモリ110内の構成データ112に基づいて構成される。モジュール116の1つの実施態様では、デバイス108は、コンピューティングシステム102内のデバイス108を構成する所望のレジスタ(図示せず)に値を書き込むことができる。デバイス108内の所望のレジスタに値を書き込むことによって、それらの所望のレジスタに対応するハードウェアコンポーネントの構成が可能になる。デバイス108は、コンピューティングシステム102の初期化の前にモジュール116において構成される。コンピューティングシステム102の初期化は、CPU及び/又はコンピューティングシステム102をブートアップすることを含むことができる。モジュール116の実施態様には、構成データ112に基づいてデバイス108を構成するためのデバイス108によって実行可能な一組の命令、プロセス、動作、ロジック、アルゴリズム、技法、論理関数、ファームウェア、及び/又はソフトウェアが含まれる。
【0017】
図2Aは、コンピューティングシステム102の初期化のための主電力220の送電前に、入力電力を受信し、待機電力106を送電してデバイス108を構成する一例示のコンピューティングシステム102の図である。デバイス108は、コンピューティングシステム102を外部電源に接続することができるとき、構成データをロードすることができる。外部電源へのコンピューティングシステム102の接続中に、電源回路104は、交流(AC)電力218を受信し、待機電力106をデバイスに供給することができる。これによって、デバイス108は、コンピューティングシステム102がオンになるか又はブートアップする前にカスタム構成をロードすることが可能になる。本出願全体を通じて、ピン及びレジスタ等のハードウェアコンポーネントを構成(設定)する例が図示及び/又は説明されているが、実施態様は限定されるべきではない。例えば、構成データは、ピン構成、ファン制御、熱保護、機能の有効/無効、内部/外部デバイスのアドレス、通信プロトコル、バス速度、通信バス幅、デバッグ情報、コンピューティングシステム能力データ、プログラマブルレジスタ値、及び信号アサートタイミング等のデバイス108の動作のプログラムコードを含むことができる。
【0018】
AC電力218は、コンピューティングシステム102が外部電源(図示せず)に接続された際に電源回路104に提供される電荷である。電源回路104は、デバイス108に送電される電力量を制御することができる。1つの実施態様では、コンピューティングシステム102が、外部電源にプラグ接続(すなわち、接続)されている間、AC電力218は、電源回路104に連続して送電される。この実施態様では、コンピューティングシステム102がまだ初期化されていない場合又はオンにされていない場合であっても、電源回路104は待機電力106を提供する。
【0019】
主電力220は、コンピューティングシステム102及びデバイス108に印加され、コンピューティングシステム102の全体的な機能が初期化される。1つの実施態様では、電力220は、中央処理ユニット(CPU)に提供され、コンピューティングシステム102の全体的な機能を得るためにオペレーティングシステムが初期化される。この実施態様では、ユーザが、電源回路104の電力状態を開始して主電力220を送電することによって、コンピューティングシステム102をブートアップすることができる。主電力220の実施態様には、コンピューティングシステム102を初期化することが可能な電流、電圧、及び/又は他の電荷が含まれる。
【0020】
レジスタ222は、デバイス108が情報ビットの読み出し又は書き込みを行うことができるような方法でこの情報ビット(すなわち、値)を記憶する。情報ビットは、コンピューティングシステム102の内部のハードウェアコンポーネントの状態を表す。この実施態様では、デバイス108は、コンピューティングシステム102の内部のハードウェアコンポーネント(図示せず)のうちの少なくとも1つを管理する。この点に関して、レジスタ222は、ハードウェア機能についての情報のプレースホルダである。値224は、レジスタ222に関連付けられたハードウェアコンポーネントの機能を示す。別の実施態様では、レジスタ222は、構成データを通じて熱回路を構成する。この実施態様では、熱回路は、コンピューティングシステム102の初期化の前に構成される。コンピューティングシステム102を初期化する前に、熱センサ及び/又は冷却ファンを含むことができる熱回路を構成することによって、コンピューティングシステム102のブートアップの前の損傷又は他のタイプの熱問題を防止することができる。
【0021】
値224は、デバイス108によってレジスタ222内にプログラミングされた情報ビットである。構成データを用いると、図2Bにおけるデータテーブル又はデータ構造体を用いて値224を識別することができる。データテーブルから値224を識別することによって、デバイス108は、値224をレジスタ222にプログラミングし、及び/又は書き込むことが可能になる。図2Bにおける各値は、ハードウェアコンポーネントの中の様々な機能を表すことができる。
【0022】
図2Bは、対応する値を識別する構成データを含む一例示のデータ構造体212の図である。待機電力をデバイスに印加すると、デバイスは、メモリから構成データを取得することができる。デバイスは、この構成データを処理して対応する値、機能、及び/又はハードウェアを識別することができる。デバイスは、この対応する値、機能、及び/又はハードウェアを用いてハードウェア機能用のレジスタをプログラミングする。デバイスは、コンピューティングシステムの初期化の前に構成のためのレジスタをプログラミングする。1つの実施態様では、このデータ構造体は、特定のレジスタを所与とした対応する値、機能、及び/又はハードウェアを特定するデータを有するテーブルを含むことができる。この実施態様では、構成データは、その特定のレジスタの識別情報を含み、したがって、デバイスは、構成のための対応する機能、ハードウェア、及び/又は値を識別することができる。例えば、デバイスのメモリに記憶された構成データは、レジスタ(REG1、REG2、REG3)のうちの1つを識別することができ、このため、デバイスは、この構成データを処理して対応する値(0X02、0X00、0X01)を特定することができる。
【0023】
対応する値(0X02、0X00、0X01)のそれぞれは、ハードウェアコンポーネント(PIN(ピン)、THERMAL(熱)、BUS WIDTH(バス幅))と、ハードウェアコンポーネントが機能する態様(OUTPUT(出力)、MONITOR(監視)、COMM(通信))とに相関する。例えば、デバイスによって処理された構成データは、このデバイスに関連付けられたピンを構成(設定)するレジスタ1(REG1)を識別することができる。この例では、デバイスは、出力として動作するピンを表す対応する値(0X02)を特定することができる。別の例では、構成データは、コンピューティングシステムの内部の熱回路を構成(設定)するレジスタ2(REG2)を識別することができる。デバイスは、次に、コンピューティングシステムの熱的側面を監視する熱回路を表す対応する値(0X00)を特定することができる。更なる例では、構成データは、バス幅を構成(設定)するレジスタ3(REG3)を識別することができる。デバイスは、次に、通信のバス幅を表す対応する値(0X01)を特定することができる。これらの値(0X02、0X00、0X01)は、デバイスに対する構成のための様々な内部レジスタ内にプログラミングされる。図2Bは、様々なレジスタ(REG1、REG2、及びREG3)、ハードウェア機能(OUTPUT、MONITOR、COMM)、ハードウェアコンポーネント(PIN、THERMAL、BUS WIDTH)、及び対応する値(0X02、0X00、0X01)を有するデータ構造体を示しているが、これは、実施態様を限定するものではなく例示の目的でなされたものである。例えば、レジスタは複数のレジスタを含むことができ、対応する値はバイナリ値を含むことができ、ハードウェア機能は有効/無効、入力/出力等の追加の機能を含むことができ、ハードウェアコンポーネントはファン制御等の追加のコンポーネントを含むことができる。別の実施態様では、構成データは、デバイスの様々な構成(設定)の中の或る構成(設定)を識別するストラッピングデータを含むことができる。このストラッピングデータは、複数の構成の中でデバイスの特定の構成を識別するのに用いることができる。この実施態様では、コンピューティングシステムの内部に複数のデバイスが存在する場合があり、このため、各デバイスは異なる構成(設定)を備える場合がある。加えて、この実施態様によって、様々なコンピューティングシステム間の様々なプラットフォーム間でデバイスを用いることが可能になる。
【0024】
図3は、コンピューティングシステムの初期化の前に、構成データを処理し、この構成データに基づいてデバイスを構成する一例示の方法のフローチャートである。デバイスは、組み込みシステム等の、メモリと、このメモリに記憶されたプログラムコードと、を備えることができるファームウェアベースのデバイスである。デバイスに含まれるファームウェアは、デバイスの制御プログラムを提供する機械可読命令であり、したがって、デバイスに関連付けられた不揮発性メモリに記憶及び/又は保持することができる。構成データは、デバイスの構成(設定)を指示する情報を含む。構成データは、デバイスに関連付けられたメモリに存在することができ、したがって、待機電力がデバイスに印加されたとき、この構成データを取得することができる。1つの実施態様では、構成データは、データ構造体内の値に対応することができる識別データを含むことができる。この実施態様では、デバイスは、構成データを用いてデータ構造体から値を取得し、この値をデバイスに関連付けられたレジスタ内にプログラミングすることができる。レジスタは、このレジスタに関連付けられたハードウェアコンポーネントをどのように用いるのかをデバイスに指示するようにプログラミングすることができる情報を含むことができる。例えば、レジスタは、デバイス上のピンに関連付けることができ、したがって、レジスタ内にプログラミングされた値は、入力、出力等を含むことができる。レジスタの実施態様は、電子レジスタ、ハードウェアレジスタ、及び/又はプロセッサレジスタを含むことができる。別の実施態様では、構成データは、デバイスとともに用いられる構成のタイプを識別するストラッピングデータを含むことができる。更なる実施態様では、構成データは、デバイスがどのように動作するのかの機能を含むことができる。コンピューティングシステムの初期化の前にデバイスを構成することによって、デバイスは、コンピューティングシステムをブートアップする構成データをロードすることが可能になる。これによって、デバイスは、コンピューティングシステムの電源オンの前にカスタム構成をロードすることが可能になる。加えて、これによって、コンピューティングシステムのブートアップにおけるレイテンシを減少させることができる。図3の論述では、文脈上の例を提供するために図1〜図2Bにおけるコンポーネントが参照される場合がある。さらに、図3は、図1におけるデバイス108によって実施されるものとして説明されているが、他の適したコンポーネントにおいても実行することができる。例えば、図3は、図5における機械可読記憶媒体504等の機械可読記憶媒体上の実行可能命令の形態で実施することができる。別の例では、図3は、デバイス108の機能及び構成(設定)を管理するコンピューティングシステムに関連付けられたプロセッサによって実施することができる。
【0025】
待機電力が印加されたとき、動作302において、デバイスは、このデバイスに関連付けられたメモリから取得された構成データを処理することができる。この動作において、デバイスは交流(AC)電源にプラグ接続することができるが、主電力はまだ印加されていない場合がある。この実施態様では、コンピューティングシステムは、壁コンセントにプラグ接続されてAC電流を受信することができ、その結果、AC電流がコンピューティングシステム内のデバイスに印加される。主電力は、コンピューティングシステムがオンにされたときに受信することができる。この実施態様では、待機電力の電流の大きさは、コンピューティングデバイスに印加される主電力よりも小さい。このように、デバイスは、主電力を用いてコンピューティングシステムを初期化する前に、待機電力から構成することができる。待機電力は、デバイスがこのデバイスのフラッシュメモリから構成データを読み出すことができるタイプの補助電力である。この構成データは、所望のレジスタを初期化のためにプログラミングすることによってコンピューティングシステムの内部のハードウェアを構成するのに用いられる。このため、主電力が印加され、コンピューティングシステムが初期化されるとき、基本入出力システム(BIOS)も他のタイプの構成インタフェースも用いることなく、デバイスを既に適切に構成して動作させておくことができる。
【0026】
動作302の別の実施態様では、デバイスは、構成データを用いて、デバイスの内部のレジスタをプログラミングする。レジスタは、このデバイスに関連付けられたコンピューティングシステム内のハードウェアコンポーネントを構成(設定)する。例えば、レジスタは、ファン、熱監視、ピン構成、熱保護等の機能を含むことができる。この実施態様では、レジスタ内にプログラミングされる値は、ハードウェアコンポーネントの機能に対応する。例えば、ハードウェアコンポーネントは、デバイス上のピン構成を含むことができ、このため、レジスタ内にプログラミングされる値は、特定のピンが入力、出力、シリアルポート、パラレルポート等として機能することができるか否かを示すことができる。動作302の更なる実施態様では、デバイスは、データテーブルに従って構成データを処理することができる。構成データは、プログラミングする特定のレジスタを識別することができ、このため、デバイスは、このテーブルを用いて、この特定のレジスタをプログラミングするそのレジスタに対応する値を特定する。レジスタ内にプログラミングされる値は、デバイスに関連付けられたハードウェアコンポーネントの機能を規定する。
【0027】
動作304において、デバイスは、動作302において処理された構成データに基づいて構成される。デバイスは、初期化のために主電力をコンピューティングシステムに印加する前に構成される。この実施態様では、デバイスは、コンピューティングシステムのブートアップの前に構成される。別の実施態様では、初期化のために主電力をコンピューティングシステムに印加する前に、デバイスの内部のレジスタを通じて、コンピューティングシステムの熱システムを構成することができる。これによって、初期化に由来する問題に遭遇したときに、熱システムを構成する反応時間が削減される。更なる実施態様では、動作304を処理すると、この方法は、次に、初期化のために主電力をコンピューティングシステムに印加することができる。
【0028】
図4は、コンピューティングシステムを交流(AC)電源にプラグ接続して待機電力を受信し、それに応じてデバイスを構成する一例示の方法のフローチャートである。デバイスは、構成データを処理して、この構成データに対応する値を、デバイスの不揮発性メモリ内のデータテーブルから取得する。データテーブルから取得された値を用いて内部レジスタをプログラミングすることによって、この値を用いてデバイスを構成することができる。構成データは、特定の内部レジスタの識別情報を含むことができ、このため、テーブルは、特定の内部レジスタと、この特定の内部レジスタ内に書き込む対応する値と、を識別する構成データ含むことができる。加えて、デバイスの構成は、コンピューティングシステムの初期化のために主電力を印加する前に行われる。構成データに対応する値を用いて各内部レジスタをプログラミングすることによって、各ピン(すなわち、電気接続)及び/又は他のハードウェアコンポーネントの機能を制御することができ、このため、柔軟性がデバイスの複数の異なる構成(設定)にもたらされる。図4の論述では、文脈上の例を提供するために図1〜図2Bにおけるコンポーネントが参照される場合がある。さらに、図4は、図1におけるデバイス108によって実施されるものとして説明されているが、他の適したコンポーネントにおいても実行することができる。例えば、図4は、デバイス108の機能及び構成(設定)を管理するコンピューティングシステムに関連付けられたプロセッサによって実施することができる。別の例では、図4は、図5における機械可読記憶媒体504等の機械可読記憶媒体上の実行可能命令の形態で実施することができる。
【0029】
動作402において、コンピューティングシステムは、AC電源にプラグ接続される。AC電源は、電荷の流れをコンピューティングシステムに提供する。AC電源は、電流をコンピューティングシステムに提供し、更にはデバイスに提供する。1つの実施態様では、動作402は、AC電源からのAC電流を直流(DC)に調整することを含むことができる。AC電源は、2つの異なる電力レールをコンピューティングシステムに提供する。これらの電力レールは、待機電力及び主電力を含む。AC電源は、コンピューティングシステム及びデバイスがこのAC電源にプラグ接続されたとき、低電力供給レール上で待機電力をこれらのコンピューティングシステム及びデバイスに提供する。待機電力は、電力の大きさが主電力よりも小さい。換言すれば、主電力は、電力の大きさが待機電力よりも大きい。主電力は、コンピューティングシステムがオンにされ、及び/又はブートアップされるとき、高電力供給レール上でコンピューティングシステムに送電される。この実施態様では、待機電力は、構成のためにデバイスに印加される最小量の電力である。コンピューティングシステムは、システムの一部分としてデバイスを備え、このため、デバイスは、コンピューティングシステムがAC電源にプラグ接続されたとき、動作404において待機電力を受信することができる。一方、コンピューティングシステムがAC電源からプラグ接続解除されたとき、待機電力はデバイスから除去される。
【0030】
コンピューティングシステムが動作402においてAC電源にプラグ接続されたとき、動作404において、デバイスは待機電力を受信する。コンピューティングシステムが電力供給を受けることができる(例えば、AC電源にプラグ接続することができる)が、まだ始動されていないとき、待機電力は、主電力とは対照的に待機電流をデバイスに提供する。この実施態様では、待機電力の電流の大きさは、動作414において印加される主電力よりも小さい。
【0031】
動作404において受信された待機電力がデバイスに印加されたとき、動作406において、デバイスは、メモリから構成データを取得し、この構成データを処理することができる。1つの実施態様では、デバイスは、構成データを処理すると、動作408に進むことができる。動作406の機能は、図3における動作302と同様とすることができる。
【0032】
動作408において、デバイスは、動作406において処理された構成データに対応する値をテーブルから取得することができる。この動作において、デバイスは、データテーブル又は他のタイプのデータ構造体を備えることができ、動作406においてメモリから取得された構成データを用いて、デバイスは、この構成データに対応する値を識別することができる。構成データは、動作412においてハードウェア構成のためにレジスタをプログラミングするテーブル内の特定の値を識別する手段である。例えば、構成データは、データテーブルにおける値のロケーション又は動作410におけるデバイスの構成のためにプログラミングする特定のレジスタを識別することを含むことができる。テーブルはデバイスに固有なものにすることができるので、テーブルから値を取得することによって、テーブルは様々なデバイスの複数の構成(設定)を含むことが可能になる。構成データは、特定のレジスタを識別することができ、このため、この識別情報を用いて、テーブルは、その特定のレジスタをプログラミングする値を含む。レジスタ内にプログラミングされる値は、対応するハードウェアコンポーネントの機能を規定する。
【0033】
動作410において、デバイスは、動作406においてメモリから取得された構成データに基づいて自身を構成することができる。デバイスは、動作414及び416におけるコンピューティングシステムの初期化のための主電力の印加の前に構成される。1つの実施態様では、デバイスは、動作408において、構成データに対応する値をテーブルから取得することができる。別の実施態様では、テーブルを利用して、ハードウェアコンポーネントを構成する値を識別するのではなく、構成データは、コンピューティングシステム内のハードウェアコンポーネントをどのように構成するのかをデバイスに指示することができる。動作410の機能は、図3における動作304と同様とすることができる。
【0034】
動作412において、デバイスは、動作408において取得された値を用いて内部レジスタをプログラミングすることができる。値を用いて内部レジスタをプログラミングすることによって、ハードウェアコンポーネントを、このハードウェアコンポーネントの機能を有するその内部レジスタを通じて構成することができるということが可能になる。例えば、デバイスは、このデバイスから他の様々なコンポーネントへの電気伝導体からなる電気接続(すなわち、ピン)の機能を構成(設定)する少なくとも1つの内部レジスタを備えることができる。この例では、この内部レジスタ内にプログラミングされる値は、ピンが入力、出力、入力/出力等として機能するか否かを示す。このように、動作408において取得された値は、ハードウェアコンポーネントの機能を示すことができる。別の実施態様では、コンピューティングシステムの熱システムに対応するレジスタに値を書き込むことによって、この熱システムを構成することができる。この実施態様では、熱システムは、動作414及び416におけるコンピューティングシステムを初期化する主電力の印加の前に構成することができる。コンピューティングシステムの初期化の前に熱システムを構成することによって、コンピューティングシステムの初期化の際に検出された問題からの反応時間が削減される。
【0035】
動作414において、コンピューティングシステムは、オンになり、動作416におけるコンピューティングシステムの初期化のための主電力をメイン処理ユニット(例えば、中央処理ユニット)に印加することができる。この主電力によって、コンピューティングシステムのメイン処理ユニットと通信するオペレーティングシステムは、コンピューティングシステムの全体的な機能を管理することが可能になる。メイン処理ユニットは、中央処理ユニット(CPU)とも呼ばれ、システムの基本的な算術演算、論理演算、及び入力/出力動作を実行するコンピューティングシステム内のハードウェアコンポーネントである。この実施態様では、デバイスは、コンピューティングシステム内の様々なハードウェアコンポーネントを管理する補助処理ユニットを備えることができる一方、CPUは、コンピューティングシステムの全体的な機能を管理する。別の実施態様では、主電力がシャットダウンしたが、コンピューティングシステム及び/又はデバイスがAC電源にプラグ接続されたままであるとき、動作404における待機電力は維持される。
【0036】
動作414において主電力が印加されると、この方法は、次に、動作416においてコンピューティングシステムを初期化する。この実施態様では、コンピューティングシステムの中央処理ユニットは、電源オンを開始するように初期化することができる。加えて、この実施態様では、動作410において構成されるデバイスは、中央処理ユニットとは異なり、コンピューティングシステム内のハードウェアコンポーネントのうちの1つの機能を管理することができるファームウェアベースのデバイスである。ファームウェアは、機械可読命令であり、したがって、デバイス内において、デバイスの制御プログラムを提供する不揮発性メモリに記憶される。
【0037】
図5は、機械可読記憶媒体504内の命令506〜522を実行するプロセッサ502を有する一例示のコンピューティングデバイス500のブロック図である。具体的には、プロセッサ502を有するコンピューティングデバイス500は、待機電力をデバイスに印加し、構成データを処理し、この構成データに基づいてデバイスを構成する。デバイスは、主電力をデバイスに印加し、及び/又はデバイスに関連付けられたコンピューティングシステムを初期化する前に構成される。コンピューティングデバイス500は、プロセッサ502及び機械可読記憶媒体504を備えるが、当業者に適した他のコンポーネントも備えることができる。例えば、コンピューティングデバイス500は、図1における電源回路104及び/又はメモリ110を備えることができる。コンピューティングデバイス500は、命令506〜522を実行することが可能なプロセッサ502を有する電子デバイスであり、したがって、コンピューティングデバイス500の実施形態には、命令506〜522を実行することが可能なモバイルデバイス、クライアントデバイス、パーソナルコンピュータ、デスクトップコンピュータ、ラップトップ、タブレット、ビデオゲームコンソール、又は他のタイプの電子デバイスが含まれる。命令506〜522は、記憶媒体504上に記憶された機械可読命令として実施される方法、機能、動作、及び他のプロセスとして実施することができる。この記憶媒体は、ハードウェア記憶デバイス(例えば、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、消去可能プログラマブルROM、電気的消去可能ROM、ハードドライブ、及びフラッシュメモリ)等の非一時的なものとすることができる。
【0038】
プロセッサ502は、コンピューティングシステムの初期化の前に、命令506〜522をフェッチ、デコード、及び実行して待機電力を印加し、構成データを処理し、この構成データに基づいてデバイスを構成することができる。1つの実施態様では、プロセッサ502は、命令506〜512を実行すると、命令520及び/又は522を実行することができる。別の実施態様では、プロセッサ502は、命令506〜510を実行すると、命令514〜518を実行し、命令520及び/又は522に進むことができる。プロセッサ502は、命令506〜510を実行して、待機電力をコンピューティングシステム内のデバイスに印加し、デバイスのメモリから取得された構成データを処理し、この構成データに基づいてデバイスを構成する。デバイスの構成は、コンピューティングシステムの初期化のために主電力をコンピューティングシステムに印加する前に行われる。プロセッサ502は、命令512を実行し、テーブルから取得された値を用いてデバイスの内部のレジスタをプログラミングすることができる。命令512の代替形態では、プロセッサ502は、命令514〜518を実行して、デバイスに関連付けられたピンを構成することができ、命令514〜518は、データ構造体から値を取得することと、デバイスの内部のレジスタを、データ構造体から取得された値を用いてプログラミングすることと、レジスタ内にプログラミングされた値に基づいてデバイスに関連付けられたピンを構成することとを含む。プロセッサ502は、次に、命令520〜522を実行して、主電力をコンピューティングデバイスに印加し、主電力の印加によってコンピューティングシステムを初期化することができる。主電力は、デバイスに印加することもできる。プロセッサ502の実施態様は、命令506〜522を実行することが可能な集積回路、マイクロチップ、プロセッサ、チップセット、電子回路、マイクロプロセッサ、半導体、マイクロコントローラ、中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)、半導体、又は他のタイプのプログラマブルデバイスを含むことができる。
【0039】
機械可読記憶媒体504は、プロセッサ502がフェッチ、デコード、及び実行するための命令506〜522を含む。別の実施形態では、機械可読記憶媒体504は、実行可能命令を収容又は記憶する電子デバイス、磁気デバイス、光デバイス、メモリデバイス、記憶デバイス、フラッシュドライブデバイス、又は他の物理デバイスとすることができる。このため、機械可読記憶媒体504は、例えば、ランダムアクセスメモリ(RAM)、電気的消去可能プログラマブル読み出し専用メモリ(EEPROM)、記憶ドライブ、メモリキャッシュ、ネットワークストレージ、コンパクトディスク読み出し専用メモリ(CDROM)等を含むことができる。したがって、機械可読記憶媒体504は、単独で及び/又は機械可読記憶媒体504の命令をフェッチ、デコード、及び/又は実行するプロセッサ502とともに利用することができるアプリケーション及び/又はファームウェアを含むことができる。このアプリケーション及び/又はファームウェアは、機械可読記憶媒体504上に記憶することができ、及び/又はコンピューティングデバイス500の別のロケーション上に記憶することができる。
【0040】
要約すれば、本明細書に開示された実施態様は、コンピューティングシステムを初期化することに関連したレイテンシを削減する。加えて、本明細書に開示された実施態様は、様々なコンピューティングシステム間での複数の構成(設定)のためのデバイスを可能にする。
【図1】
【図2A.2B】
【図3】
【図4】
【図5】
【国際調査報告】

[広告欄]

ログインすれば広告は減ります

ログインすれば広告は減ります