(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】6540980
(24)【登録日】2019年6月21日
(45)【発行日】2019年7月10日
(54)【発明の名称】情報処理装置、制御方法、及びプログラム
(51)【国際特許分類】
G06F 9/4401 20180101AFI20190628BHJP
G06F 13/10 20060101ALI20190628BHJP
【FI】
G06F9/4401
G06F13/10
【請求項の数】10
【全頁数】13
(21)【出願番号】特願2018-102491(P2018-102491)
(22)【出願日】2018年5月29日
【審査請求日】2018年5月29日
(73)【特許権者】
【識別番号】505205731
【氏名又は名称】レノボ・シンガポール・プライベート・リミテッド
(74)【代理人】
【識別番号】100161207
【弁理士】
【氏名又は名称】西澤 和純
(74)【代理人】
【識別番号】100169764
【弁理士】
【氏名又は名称】清水 雄一郎
(74)【代理人】
【識別番号】100175824
【弁理士】
【氏名又は名称】小林 淳一
(74)【代理人】
【識別番号】100206081
【弁理士】
【氏名又は名称】片岡 央
(72)【発明者】
【氏名】柴山 和哉
(72)【発明者】
【氏名】松浦 佑樹
(72)【発明者】
【氏名】森重 勇作
(72)【発明者】
【氏名】荒木 直幸
(72)【発明者】
【氏名】佐々木 健
【審査官】
多賀 実
(56)【参考文献】
【文献】
特開2013−196575(JP,A)
【文献】
特開2001−265707(JP,A)
【文献】
特開2014−197407(JP,A)
【文献】
特開2013−101710(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 9/44
G06F 13/10
G06F 13/14
(57)【特許請求の範囲】
【請求項1】
BIOS(Basic Input Output System)によるブート処理を実行する情報処理装置であって、
前記ブート処理の実行の有無に関わらず、前記情報処理装置に接続されている他装置から当該他装置に関する情報を取得する接続処理部と、
前記ブート処理において前記情報処理装置に接続されている他装置との通信処理を実行する通信制御部と、
前記ブート処理を実行する際に、前記接続処理部が取得する他装置に関する情報に基づいて前記通信制御部による処理を実行するか否かを制御する第1処理部と、
を備える情報処理装置。
【請求項2】
BIOS(Basic Input Output System)によるブート処理を実行する情報処理装置であって、
前記情報処理装置に接続される他装置との通信接続を確立する処理を実行する接続処理部と、
前記接続処理部により通信が確立された他装置との通信処理を実行する通信制御部と、
前記ブート処理を実行する際に、前記接続処理部により通信が確立された他装置があるか否かに基づいて前記通信制御部による処理を実行するか否かを制御する第1処理部と、
を備える情報処理装置。
【請求項3】
前記ブート処理の実行の有無に関わらず、前記情報処理装置に接続されている他装置に関する情報、または前記接続処理部により通信が確立された他装置があるか否かを示す情報を前記接続処理部から取得する第2処理部を備え、
前記第1処理部は、
前記ブート処理を実行する際に、前記第2処理部を介して前記接続処理部から取得した情報に基づいて前記通信制御部による処理を実行するか否かを制御する、
請求項1または請求項2に記載の情報処理装置。
【請求項4】
前記第1処理部はプロセッサであり、前記第2処理部は組み込みコントローラである、
請求項3に記載の情報処理装置。
【請求項5】
前記接続処理部は、
前記ブート処理の実行の有無に関わらず、前記情報処理装置に接続された他の装置との通信接続を確立する処理を実行するPD(Power Delivery)コントローラである、
請求項1から請求項4のいずれか一項に記載の情報処理装置。
【請求項6】
前記情報処理装置と前記他装置とは、USB Type−Cのコネクタを介して接続されている、
請求項1から請求項5のいずれか一項に記載の情報処理装置。
【請求項7】
BIOS(Basic Input Output System)によるブート処理を実行する情報処理装置の制御方法であって、
接続処理部が、前記ブート処理の実行の有無に関わらず、前記情報処理装置に接続されている他装置から当該他装置に関する情報を取得する接続処理ステップと、
通信制御部が、前記ブート処理において前記情報処理装置に接続されている他装置との通信処理を実行する通信制御ステップと、
第1処理部が、前記ブート処理を実行する際に、前記接続処理部が取得する他装置に関する情報に基づいて前記通信制御部による処理を実行するか否かを制御する第1処理ステップと、
を有する制御方法。
【請求項8】
BIOS(Basic Input Output System)によるブート処理を実行する情報処理装置の制御方法であって、
接続処理部が、前記情報処理装置に接続される他装置との通信接続を確立する処理を実行する接続処理ステップと、
通信制御部が、前記接続処理部により通信が確立された他装置との通信処理を実行する通信制御ステップと、
第1処理部が、前記ブート処理を実行する際に、前記接続処理部により通信が確立された他装置があるか否かに基づいて前記通信制御部による処理を実行するか否かを制御する第1処理ステップと、
を有する制御方法。
【請求項9】
BIOS(Basic Input Output System)によるブート処理を実行する情報処理装置としてのコンピュータに、
前記ブート処理の実行の有無に関わらず、前記情報処理装置に接続されている他装置から当該他装置に関する情報を取得する接続処理ステップと、
前記ブート処理において前記情報処理装置に接続されている他装置との通信処理を実行する通信制御ステップと、
前記ブート処理を実行する際に、前記接続処理ステップにより取得される他装置に関する情報に基づいて前記通信制御ステップによる処理を実行するか否かを制御する第1処理ステップと、
を実行させるためのプログラム。
【請求項10】
BIOS(Basic Input Output System)によるブート処理を実行する情報処理装置としてのコンピュータに、
前記情報処理装置に接続される他装置との通信接続を確立する処理を実行する接続処理ステップと、
前記接続処理ステップにより通信が確立された他装置との通信処理を実行する通信制御ステップと、
前記ブート処理を実行する際に、前記接続処理ステップにより通信が確立された他装置があるか否かに基づいて前記通信制御ステップによる処理を実行するか否かを制御する第1処理ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、制御方法、及びプログラムに関する。
【背景技術】
【0002】
近年、コンピュータなどの情報処理装置と当該情報処理装置に接続される機器(周辺機器)との入力インターフェースの一つとして、Thunderbolt(登録商標)、ACアダプタ、USB(Universal Serial Bus)、DisplayPortなどのインターフェースを一つのポートでサポートしているUSB Type−C規格のポートがある。
【0003】
例えば、特許文献1に示すように、情報処理装置は、起動時の最初にBIOS(Basic Input Output System)のプログラムを実行し、上述したような入力インターフェースに接続された機器に対する基本的な入出力制御や、CPU(Central Processing Unit)の動作モードの設定、OS(Operating System)の起動などのブート処理を行う。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2016−122268号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述したBIOSによるブート処理において、例えばThunderboltのような通信規格で接続される機器の検出には時間がかかり、ブート処理における時間が延びるという課題がある。これは、Thunderbolt接続機器が無い状態でも、検出するための待ち時間が発生するため同様である。そこで、BIOS設定においてThunderboltのサポートはデフォルトで無効(Disabile)に設定されていることが一般的であり、OSの起動前にThunderboltによる接続が必要な場合には、BIOS設定を有効(Enablie)に変更して再起動する必要があった。
【0006】
本発明は、上記した事情に鑑みてなされたもので、ブート処理にかかる時間を短縮することができる情報処理装置、制御方法、及びプログラムを提供することを目的の一つとする。
【課題を解決するための手段】
【0007】
本発明は上記の課題を解決するためになされたものであり、本発明の第1態様に係る情報処理装置は、BIOS(Basic Input Output System)によるブート処理を実行する情報処理装置であって、前記ブート処理の実行の有無に関わらず、前記情報処理装置に接続されている他装置から当該他装置に関する情報を取得する接続処理部と、前記ブート処理において前記情報処理装置に接続されている他装置との通信処理を実行する通信制御部と、前記ブート処理を実行する際に、前記接続処理部が取得する他装置に関する情報に基づいて前記通信制御部による処理を実行するか否かを制御する第1処理部と、を備える。
【0008】
また、本発明の第2態様に係る情報処理装置は、BIOS(Basic Input Output System)によるブート処理を実行する情報処理装置であって、前記情報処理装置に接続される他装置との通信接続を確立する処理を実行する接続処理部と、前記接続処理部により通信が確立された他装置との通信処理を実行する通信制御部と、前記ブート処理を実行する際に、前記接続処理部により通信が確立された他装置があるか否かに基づいて前記通信制御部による処理を実行するか否かを制御する第1処理部と、を備える。
【0009】
上記情報処理装置は、前記ブート処理の実行の有無に関わらず、前記情報処理装置に接続されている他装置に関する情報、または前記接続処理部により通信が確立された他装置があるか否かを示す情報を前記接続処理部から取得する第2処理部を備え、前記第1処理部は、前記ブート処理を実行する際に、前記第2処理部を介して前記接続処理部から取得した情報に基づいて前記通信制御部による処理を実行するか否かを制御してもよい。
【0010】
前記第1処理部はプロセッサであってもよく、前記第2処理部は組み込みコントローラであってもよい。
【0011】
前記接続処理部は、前記ブート処理の実行の有無に関わらず、前記情報処理装置に接続された他の装置との通信接続を確立する処理を実行するPD(Power Delivery)コントローラであってもよい。
【0012】
前記情報処理装置と前記他装置とは、USB Type−Cのコネクタを介して接続されていてもよい。
【0013】
また、本発明の第3態様に係るBIOS(Basic Input Output System)によるブート処理を実行する情報処理装置の制御方法は、接続処理部が、前記ブート処理の実行の有無に関わらず、前記情報処理装置に接続されている他装置から当該他装置に関する情報を取得する接続処理ステップと、通信制御部が、前記ブート処理において前記情報処理装置に接続されている他装置との通信処理を実行する通信制御ステップと、第1処理部が、前記ブート処理を実行する際に、前記接続処理部が取得する他装置に関する情報に基づいて前記通信制御部による処理を実行するか否かを制御する第1処理ステップと、を有する。
【0014】
また、本発明の第4態様に係るBIOS(Basic Input Output System)によるブート処理を実行する情報処理装置の制御方法は、接続処理部が、前記情報処理装置に接続される他装置との通信接続を確立する処理を実行する接続処理ステップと、通信制御部が、前記接続処理部により通信が確立された他装置との通信処理を実行する通信制御ステップと、第1処理部が、前記ブート処理を実行する際に、前記接続処理部により通信が確立された他装置があるか否かに基づいて前記通信制御部による処理を実行するか否かを制御する第1処理ステップと、を有する。
【0015】
また、本発明の第5態様に係るプログラムは、BIOS(Basic Input Output System)によるブート処理を実行する情報処理装置としてのコンピュータに、前記ブート処理の実行の有無に関わらず、前記情報処理装置に接続されている他装置から当該他装置に関する情報を取得する接続処理ステップと、前記ブート処理において前記情報処理装置に接続されている他装置との通信処理を実行する通信制御ステップと、前記ブート処理を実行する際に、前記接続処理ステップにより取得される他装置に関する情報に基づいて前記通信制御ステップによる処理を実行するか否かを制御する第1処理ステップと、を実行させる。
【0016】
また、本発明の第6態様に係るプログラムは、BIOS(Basic Input Output System)によるブート処理を実行する情報処理装置としてのコンピュータに、前記情報処理装置に接続される他装置との通信接続を確立する処理を実行する接続処理ステップと、前記接続処理ステップにより通信が確立された他装置との通信処理を実行する通信制御ステップと、前記ブート処理を実行する際に、前記接続処理ステップにより通信が確立された他装置があるか否かに基づいて前記通信制御ステップによる処理を実行するか否かを制御する第1処理ステップと、を実行させる。
【発明の効果】
【0017】
本発明の上記態様によれば、ブート処理における処理時間を短縮することができる。
【図面の簡単な説明】
【0018】
【
図1】実施形態に係る情報処理装置の一例を示すブロック図。
【
図2】実施形態に係るPOST処理の一例を示すフローチャート。
【
図3】実施形態に係るPOST処理の別の例を示すフローチャート。
【発明を実施するための形態】
【0019】
以下、図面を参照しながら本発明の実施形態について詳しく説明する。なお、各図において同一部分には同一符号を付している。
【0020】
Thunderbolt(以下、省略して「TBT」とも称する)を介してネットワークブートを行う場合や、TBTで接続されたキーボードなどの機器をOSの起動前のBIOSによるブート処理で使用する場合、BIOS設定でTBTサポートを有効(Enablie)にする必要がある。TBTサポートを有効(Enablie)にした場合、BIOSは、TBTコントローラへコマンドを送り、TBTコントローラによってTBTに接続されている機器を検出しエニュメレーションを行い、TBTを介した通信処理を行う。ここで、TBTサポートを有効(Enablie)に設定していると、TBTに接続されている機器が無い状態でも、BIOSがTBTコントローラへコマンドを送り、TBTコントローラによって機器を検出するための待ち時間が必要となるため、TBTサポートを無効(Disabile)に設定している場合よりブート処理における処理時間が長くなる。そこで、本実施形態では、TBTコントローラによるエニュメレーションを行わずにTBTに接続されている機器の有無を判定することで、BIOS設定を変更することなく、自動で(ユーザの操作を必要とせず)TBTサポートの有効/無効(即ち、TBTコントローラによるエニュメレーションを行うか否か)を切り替え可能な構成とした。以下、具体的な構成について説明する。
【0021】
図1は、本実施形態に係る情報処理装置の一例を示すブロック図である。図示する情報処理装置10は、デスクトップPC(Personal Computer)、ラップトップPC(ノートPC)、タブレットPCなどの電子機器である。図示する情報処理装置10は、入出力端子11と、PDコントローラ12と、TBTコントローラ13と、PCH14と、EC15と、CPU16とを備えている。なお、この図では、情報処理装置10が備える構成のうちブート処理に関する主な構成のみを示している。
【0022】
入出力端子11は、例えば、USB Type−Cのコネクタであり、TBTまたはUSBプロトコルに対応した機器と通信接続が可能である。また、入出力端子11は、DisplayPortとしても利用できる。
【0023】
PDコントローラ12は、USB PD(Power Delivery)に対応しており、入出力端子11に接続された機器への給電制御を行う。また、PDコントローラ12は、入出力端子11に接続される機器との通信接続を確立する処理を実行する。このPDコントローラ12は、ブート処理の実行の有無に関わらず、入出力端子11に接続される機器との通信接続を確立する処理を実行し、通信接続が確立した機器に関する情報を取得する。例えば、PDコントローラ12は、通信接続が確立した機器から、機器のベンダー情報(例えば、ベンダーID)、機器の種類や型番などを特定可能なデバイス情報(例えば、デバイスID)などを取得する。また、PDコントローラ12は、シリアルバス(例えば、I2C:アイ・スクエアド・シー)を介してTBTコントローラ13とEC15とのそれぞれに接続されている。
【0024】
TBTコントローラ13は、PDコントローラ12により通信接続が確立された機器がある場合、BIOSによるブート処理に基づいて当該機器を検出しエニュメレーションを行い、通信処理を実行する。例えば、TBTコントローラ13は、TBT、USB、DisplayPortなどのプロトコルに対応した機器との通信処理を実行する。また、TBTコントローラ13は、例えば、DisplayPort及びPCIe(PCI Express)バスを介してPCH14に接続されている。
【0025】
PCH (Platform Controller Hub) 14は、CPU16の機能をサポートし、データバスの管理などを行う。例えば、PCH14は、TBTコントローラ13とCPU16との間の通信、及びEC15とCPU16との間の通信を仲介する。
【0026】
EC15は、マイクロコンピュータが組み込まれた組み込みコントローラ(Embedded Controller)であり、バッテリーの管理、電源管理、キーボードコントローラなどの機能を有する。EC15は、PDコントローラ12から各種の情報を取得する。例えば、EC15は、PDコントローラ12により入出力端子11に接続される機器との通信接続が確立した場合、当該機器のベンダー情報、デバイス情報、及びTBT接続機器として通信確立ができている(通信経路ができている)ことを示す情報(以下、「通信確立情報」とも称する)をPDコントローラ12から取得する。また、EC15は、入出力端子11に接続された機器へ給電可能な電圧及び電流に関する情報をPDコントローラ12から取得する。
【0027】
なお、EC15は、CPU16で実行されるBIOSおよびOSの処理に関わらず、PDコントローラ12から各種の情報を取得できるため、BIOSによるブート処理の前に、入出力端子11に接続された機器のベンダー情報、デバイス情報、及び通信確立情報を取得することができる。例えば、EC15は、所定の周期でPDコントローラ12から各種情報を取得し、取得した情報を保持する。
【0028】
CPU16は、情報処理装置10の制御中枢として機能する中央処理装置(Central Processing Unit)である。例えば、CPU16は、BIOSのプログラムを実行することによりハードウェアの初期化を行い、ブート処理を実行する。また、CPU16は、ブート処理においてOSを起動し、OSの処理を実行する。
【0029】
例えば、CPU16は、BIOSによるブート処理において、入出力端子11に接続された機器に関する情報(例えば、ベンダー情報、デバイス情報、及び通信確立情報)をEC15から取得し、取得した情報に基づいて、TBTコントローラ13による通信処理を行うか否かを制御する。
【0030】
具体的には、CPU16は、ブート処理において、入出力端子11に接続された機器に関する情報(例えば、ベンダー情報、デバイス情報、及び通信確立情報)に基づいて、TBTに接続されている機器の有無を判定する。そして、CPU16は、ブート処理において、TBTに接続されている機器があると判定した場合には、TBTサポートを有効(Enablie)として、TBTコントローラ13による通信処理を実行する。一方、CPU16は、ブート処理において、TBTに接続されている機器が無いと判定した場合には、TBTサポートを無効(Disabile)として、TBTコントローラ13による通信処理を実行しない。
【0031】
このように、情報処理装置10は、BIOSによるブート処理を実行する際に、ブート処理の前にEC15がPDコントローラ12から取得した、入出力端子11に接続された機器(TBTに接続された機器)に関する情報(例えば、ベンダー情報、デバイス情報、及び通信確立情報)に基づいて、TBTに接続されている機器の有無を判定し、自動でTBTサポートの有効/無効(即ち、TBTコントローラによるエニュメレーションを行うか否か)を切り替える。そのため、情報処理装置10は、TBTに接続されている機器が無い状態では、自動でTBTサポートを無効にする(即ち、TBTコントローラによるエニュメレーションを行わない)ことでブート処理にかかる時間を短縮できる。また、情報処理装置10は、TBTに接続されている機器がある状態では、ユーザがBIOS設定を変更して再起動させなくとも、自動でTBTサポートを有効にするため、ブート処理にかかる時間を短縮することができるとともに、煩わしい操作を不要とすることができる。
【0032】
次に、CPU16がBIOSのプログラムを実行することにより制御するブート処理の動作について説明する。ここでは、ブート処理のうち、上述のTBTサポートの制御に関係するPOST(Power On Self Test)処理の動作について説明する。
図2は、本実施形態に係るPOST処理の一例を示すフローチャートである。
【0033】
(ステップS101)CPU16は、BIOSのプログラムを実行することによりPOST処理を開始する。そして、ステップS103の処理に進む。
【0034】
(ステップS103)CPU16は、EC15がPDコントローラ12から取得した入出力端子11に接続された機器に関する情報(例えば、ベンダー情報、デバイス情報、及び通信確立情報)を取得し、取得した情報に基づいてTBTに接続されている機器の有無を判定する。そして、ステップS105の処理に進む。
【0035】
(ステップS105)CPU16は、TBTに接続されている機器があると判定した場合(YES)、ステップS107の処理に進む。一方、CPU16は、TBTに接続されている機器が無いと判定した場合(NO)、ステップS109の処理に進む。
【0036】
(ステップS107)CPU16は、TBTコントローラ13を介してTBTに接続されている機器を検出し、エニュメレーションを行う。そして、ステップS109の処理に進む。
【0037】
(ステップS109)CPU16は、他の残りのPOST処理を実行してから、このPOST処理を終了する。
なお、CPU16は、ブート処理において、上記POST処理の終了後に、OSの起動処理などを実行する。
【0038】
次に、POST処理の動作の別の例について説明する。
図3は、本実施形態に係るPOST処理の別の例を示すフローチャートである。この
図3において、
図2に示す各処理に対応する処理には同一の符号を付しており、その説明を省略する。
図3に示す処理は、
図2に対してステップS102の処理が追加されている点が異なる。ステップS102の処理は、再起動(Restart)または通常の電源OFF状態(S5)からのブート処理であるか否かを判定する処理である。
【0039】
ステップS102において、CPU16は、実行中のPOST処理が、再起動(Restart)または通常の電源OFF状態(S5)からのブート処理であると判定した場合(YES)、
図2を参照して説明したステップS103〜S109の処理を実行する。一方、CPU16は、実行中のPOST処理が、再起動(Restart)または通常の電源OFF状態(S5)からのブート処理ではないと判定した場合(NO)、ステップS103〜S109の処理を行わずに、ステップS109の処理に進み、他の残りのPOST処理を実行してから、このPOST処理を終了する。なお、再起動(Restart)または通常の電源OFF状態(S5)からのブート処理ではない場合とは、例えば、直前の作業状態または作業データが記録されているスタンバイ(スリープ)状態または休止状態などから再開する処理である。
【0040】
以上説明したように、本実施形態に係る情報処理装置10は、BIOSによるブート処理を実行するコンピュータ装置であって、PDコントローラ12(接続処理部の一例)と、TBTコントローラ13と、CPU16(第1処理部の一例)とを備えている。PDコントローラ12は、ブート処理の実行の有無に関わらず、情報処理装置10に接続されている機器(他装置)から当該機器に関する情報を取得する。TBTコントローラ13は、ブート処理において情報処理装置10に接続されている機器との通信処理を実行する。そして、CPU16は、ブート処理を実行する際に、PDコントローラ12が取得する機器(即ち、TBTに接続される機器)に関する情報に基づいてTBTコントローラ13による処理(例えば、エニュメレーション)を実行するか否かを制御する。
【0041】
これにより、情報処理装置10は、TBTに接続される機器に関する情報に基づいて、BIOSにおけるTBTサポートの有効/無効を自動で切り替えることができるため、ブート処理にかかる時間を短縮することができる。具体的には、情報処理装置10は、TBTに接続されている機器が無い状態では、BIOSによるブート処理においてTBTコントローラ13によるエニュメレーションを行わないため、POST時間の増加を抑えることができ、ブート処理にかかる時間を短縮することができる。例えば、従来は、TBTに接続されている機器が無い状態において、TBTサポートが無効(Disable)に設定されている状態では、例えばEFI(Extensible Firmware Interface) Shell BootまでのPOST時間が7〜8秒程度であった場合、TBTサポートが有効(Enable)に設定されている状態では当該POST時間が8〜9秒程度となり、1〜2秒程度POST時間が増加していたが、本実施形態では、TBTに接続されている機器が無い状態ではTBTサポートが自動で無効に切り替わるため、上記のPOST時間の増加が生じない。
【0042】
また、情報処理装置10は、TBTに接続されている機器がある状態では、BIOSによるブート処理においてTBTコントローラ13によるエニュメレーションを行い、TBTに接続されている機器との通信を行うため、従来のようにBIOS設定を無効から有効に変更して再起動させる必要が無く、ブート処理にかかる時間を短縮することができるとともに、煩わしい操作を不要とすることができる。
【0043】
また、本実施形態に係る情報処理装置10が備える各構成は、以下のようにも記載することができる。PDコントローラ12は、情報処理装置10に接続される機器(他装置)との通信接続を確立する処理を実行する。TBTコントローラ13は、PDコントローラ12により通信が確立された機器との通信処理を実行する。そして、CPU16は、ブート処理を実行する際に、PDコントローラ12により通信が確立された機器があるか否かに基づいてTBTコントローラ13による処理(例えば、エニュメレーション)を実行するか否かを制御する。
【0044】
これにより、情報処理装置10は、TBTに接続される機器との通信接続の確立の有無に応じて、BIOSにおけるTBTサポートの有効/無効を自動で切り替えることができるため、ブート処理にかかる時間を短縮することができる。具体的には、情報処理装置10は、TBTにより通信が確立されている機器が無い状態では、BIOSによるブート処理においてTBTコントローラ13によるエニュメレーションを行わないため、POST時間の増加を抑えることができ、ブート処理にかかる時間を短縮することができる。また、情報処理装置10は、TBTにより通信が確立されている機器がある状態では、BIOSによるブート処理においてTBTコントローラ13によるエニュメレーションを行い、TBTに接続されている機器との通信を行うため、従来のようにBIOS設定を無効から有効に変更して再起動させる必要が無く、ブート処理にかかる時間を短縮することができるとともに、煩わしい操作を不要とすることができる。
【0045】
また、本実施形態に係る情報処理装置10は、EC15(第2処理部の一例)を備えている。EC15は、ブート処理の実行の有無に関わらず、情報処理装置10に接続されている機器に関する情報、またはPDコントローラ12により通信が確立された機器があるか否かを示す情報をPDコントローラ12から取得する。そして、CPU16は、ブート処理を実行する際に、EC15を介してPDコントローラ12から取得した情報に基づいてTBTコントローラ13による処理を実行するか否かを制御する。
【0046】
これにより、CPU16(BIOS)は、ブート処理を開始する時点では通信できないTBTに接続されている機器に関する情報、またはTBTにより通信が確立された機器があるか否かを示す情報を、ブート処理を開始する前にEC15から取得することができる。よって、情報処理装置10は、ブート処理において、TBTコントローラ13を介してエニュメレーションを行わなくても、EC15がPDコントローラ12から取得した情報に基づいてTBT接続機器の有無を判定し、TBTサポートの有効/無効を自動で切り替えることができる。例えば、CPU16(BIOS)がEC15を介してTBT接続機器の有無の判定に要する処理時間は、数msec〜数十msec以内であり、体感できないレベルである。一方、上述したように、BIOSがTBTコントローラ13を介してTBTに接続されている機器を検出しエニュメレーションを行う場合には、機器が接続されていない状態でも、数秒程度必要になる。よって、本実施形態によれば、ブート処理にかかる時間を短縮することができる。
【0047】
なお、本実施形態では、情報処理装置10に接続されている機器に関する情報、またはPDコントローラ12により通信が確立された機器があるか否かを示す情報を、EC15を介してCPU16(BIOS)が取得する例を説明したが、これに限られるものではない。例えば、CPU16(BIOS)は、情報処理装置10に接続されている機器に関する情報、またはPDコントローラ12により通信が確立された機器があるか否かを示す情報を、PDコントローラ12から直接的に取得する構成としてもよい。
【0048】
また、上記実施形態において、情報処理装置10がTBTサポートの有効/無効を自動で切り替える例を説明したが、BIOS設定としては、従来の有効(Enablie)/無効(Disabile)の選択肢に加えて、自動(Auto)の選択肢を加えてもよい。この場合、自動(Auto)に設定されているときに、TBTサポートの有効/無効を自動で切り替える制御が行われることとなる。そして、例えば、デフォルトを自動(Auto)とすることで、通常の使用ではBIOS設定を変更する必要がなくなる。なお、BIOS設定からTBTサポートの設定自体を無くし、常に、TBTサポートの有効/無効が自動で切り替わるようにしてもよい。
【0049】
また、本実施形態では、TBTに接続される機器に対する設定(TBTサポートの有効/無効の設定)を、ブート処理において自動で切り替える例を説明したが、TBTに限定されるものではなく、他の通信規格に対応した機器にも適用してもよい。また、入出力端子11は、USB Type−Cのコネクタの例を説明したが、他の規格に対応したコネクタであってもよい。
【0050】
なお、上述した情報処理装置10は、内部にコンピュータシステムを有している。そして、上述した情報処理装置10が備える各構成の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述した情報処理装置10が備える各構成における処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、インターネットやWAN、LAN、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。このように、プログラムを記憶した記録媒体は、CD−ROM等の非一過性の記録媒体であってもよい。
【0051】
また、記録媒体には、当該プログラムを配信するために配信サーバからアクセス可能な内部又は外部に設けられた記録媒体も含まれる。なお、プログラムを複数に分割し、それぞれ異なるタイミングでダウンロードした後に情報処理装置10が備える各構成で合体される構成や、分割されたプログラムのそれぞれを配信する配信サーバが異なっていてもよい。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0052】
また、上述した実施形態における情報処理装置10が備える各機能の一部、または全部を、LSI(Large Scale Integration)等の集積回路として実現してもよい。各機能は個別にプロセッサ化してもよいし、一部、又は全部を集積してプロセッサ化してもよい。また、集積回路化の手法はLSIに限らず専用回路、または汎用プロセッサで実現してもよい。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
【0053】
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
【符号の説明】
【0054】
10 情報処理装置、11 入出力端子、12 PDコントローラ、13 TBTコントローラ、14 PCH、15 EC、16 CPU
【要約】
【課題】ブート処理にかかる時間を短縮すること。
【解決手段】BIOS(Basic Input Output System)によるブート処理を実行する情報処理装置は、ブート処理の実行の有無に関わらず、情報処理装置に接続されている他装置から当該他装置に関する情報を取得する接続処理部と、ブート処理において情報処理装置に接続されている他装置との通信処理を実行する通信制御部と、ブート処理を実行する際に、接続処理部が取得する他装置に関する情報に基づいて通信制御部による処理を実行するか否かを制御する第1処理部と、を備える。
【選択図】
図1