(57)【要約】【課題】  ステートの異常遷移を監視し、異常遷移が所定の条件となった場合に、デバイスに関して特定のステートへの遷移を行わないようにすることが可能な情報処理装置および制御方法を提供する。【解決手段】  ステートマシーンのステート遷移を履歴情報として記憶し、履歴情報に応じて、L0s、L1に遷移させるか否かの制御を行う。【選択図】      図２
2006338380.tif 000002
【特許請求の範囲】
【請求項１】
通信路確立のためのステートマシーン遷移を持つシリアルバスインタフェースで接続されたデバイスを備えた情報処理装置であって、
前記ステートマシーンのステート遷移を履歴情報として記憶する記憶手段と、
前記記憶手段に記憶された履歴情報に応じて、特定のステートに遷移させるか否かの制御を行う制御手段と、
を具備することを特徴とする情報処理装置。
【請求項２】
請求項１に記載の情報処理装置において、
前記履歴情報は、遷移元と遷移先のステートに応じて重み付けを行い、この重み付け情報を関連付けて指標情報として前記記憶手段に記憶することを特徴とする情報処理装置。
【請求項３】
請求項１に記載の情報処理装置において、
前記特定のステートは、省電力モードであることを特徴とする情報処理装置。
【請求項４】
請求項２に記載の情報処理装置において、
前記制御手段は、前記履歴情報から、前記デバイス間におけるステート遷移の累積異常発生回数または前記指標情報が一定値を超えたか否かによって、特定のステートに遷移させるか否かの制御を行うことを特徴とする情報処理装置。
【請求項５】
請求項２に記載の情報処理装置において、
前記制御手段は、前記履歴情報から、前記デバイス間におけるステート遷移の累積異常発生率または前記指標情報が一定値を超えたか否かによって、特定のステートに遷移させるか否かの制御を行うことを特徴とする情報処理装置。
【請求項６】
請求項５に記載の情報処理装置において、
前記制御手段は、前記履歴情報から、前記デバイス間におけるステート遷移の累積異常発生率または前記指標情報が一定期間、所定値を下回った場合は、特定のステートに遷移させることを許可することを特徴とする情報処理装置。
【請求項７】
請求項１に記載の情報処理装置において、
前記シリアルバスインタフェースがPCI Expressに相当することを情報処理装置。
【請求項８】
請求項７に記載の情報処理装置において、
前記履歴情報からPCI ExpressのASPMでのL0s、L1の各パワーステートへの遷移および復帰が異常なステート遷移であった履歴が所定条件を超えた場合、前記特定のステートへの遷移を無効にすることを特徴とする情報処理装置。
【請求項９】
請求項７に記載の情報処理装置において、
前記特定のステートへの遷移が強制的に許可された場合は、前記異常なステート遷移であった履歴をクリアすることを特徴とする情報処理装置。
【請求項１０】
請求項７に記載の情報処理装置において、
前記特定のステートへの遷移を無効とした場合、このときに接続されていたデバイスのデバイス識別情報及び／又はベンダー識別情報を前記記憶手段に記憶し、前記デバイス識別情報及び／又はベンダー識別情報と一致するデバイスが接続された場合は、前記特定のステートへの遷移を無効とすることを特徴とする情報処理装置。
【請求項１１】
請求項７に記載の情報処理装置において、
接続されるデバイスのデバイス識別情報及び／又はベンダー識別情報毎に、異常発生回数、異常発生率、指標情報のうち、いずれか１つ以上を前記記憶手段に記憶し、前記デバイス識別情報及び／又はベンダー識別情報と一致するデバイスが接続された場合は、異常発生回数、異常発生率、指標情報のうち、前記記憶手段に記憶された情報を適用することを特徴とする情報処理装置。
【請求項１２】
通信路確立のためのステートマシーン遷移を持つシリアルバスインタフェースで接続されたデバイスを備えた情報処理装置の動作を制御する制御方法であって、
前記ステートマシーンのステート遷移を履歴情報として記憶手段に記憶する記憶ステップと、
前記記憶手段に記憶された履歴情報に応じて、特定のステートに遷移させるか否かの制御を行う制御ステップと、
を含むことを特徴とする制御方法。
【請求項１３】
請求項１２に記載の制御方法において、
前記履歴情報は、遷移元と遷移先のステートに応じて重み付けを行い、この重み付け情報を関連付けて指標情報として前記記憶手段に記憶することを特徴とする制御方法。
【請求項１４】
請求項１２に記載の制御方法において、
前記特定のステートは、省電力モードであることを特徴とする制御方法。
【請求項１５】
請求項１２に記載の制御方法において、
前記シリアルバスインタフェースがPCI Expressに相当することを特徴とする制御方法。
【請求項１６】
請求項１５に記載の制御方法において、
前記履歴情報は、遷移元と遷移先のステートに応じて重み付けを行い、この重み付け情報を関連付けて指標情報として前記記憶手段に記憶することを特徴とする制御方法。
【請求項１７】
請求項１５に記載の制御方法において、
前記特定のステートは、省電力モードであることを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータのような情報処理装置および同装置の動作を制御する制御方法に関する。
【背景技術】
【０００２】
近年、コンピュータ１０のような情報処理装置においては、PCI EXPRESSと称される第３世代汎用Ｉ／Ｏ相互接続インタフェースが注目されている。PCI EXPRESSは、リンクと称される通信路を介してデバイス間を相互接続するための規格であり、ＰＣＩ  ＳＩＧ（Peripheral Component Interconnect Special Interest Group）によって規定されている。PCI EXPRESSの規格においては、デバイス間のデータの伝送はパケットを用いて実行される。
【０００３】
また、PCI EXPRESSの規格においては、たとえデバイスが動作状態であってもリンクをローパワーステートに設定することが可能な通信路制御機能が規定されている。この通信路制御機能は、Active State Power Management (ASPM)と称されている。リンクの状態は、当該リンクのアイドル時にハードウェアによって自動的に動作ステートからローパワーステート（スタンバイステート）に設定される。通信の必要が生じた場合、リンクの状態はハードウェアによってスタンバイステートから動作ステートに戻される。このASPM機能により、リンクのアイドル期間中における無駄な電力消費を低減することができ、情報処理装置の消費電力を低減することができる。
【０００４】
また、PCI ExpressのLTSSM(Link Training and Status State Machine)の遷移の概略を示すものである。Link を確立する際には、まずDetectステートから始まり、Polling、Configuration、L0とState遷移し、L0が通常のステートとなる。ASPM(Active Sate Power Management)をEnableにしている場合、一定以上の期間、パケットの送受信がなかった場合に、LTSSMはL0s、L1に遷移し、消費電力低減を図る(青線)。パケットの送受信が再開する際には、L0sの場合にはFTSシーケンスにより直接L0ステートへ、また、L1の場合にはRecoveryステート 経由で、L0ステートに遷移する。しかしながら、対向する2つのPCI ExpressコンポーネントデバイスのPHY、MACの実装の違いの組み合わせ、また、伝送路の状態に起因するエラーなどによって、正常なシーケンスですぐに復帰せず、LTSSMステートが異常遷移を行ってしまうことがある（特許文献１参照）。
【特許文献１】特開２００２−７３２２６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、従来例である特許文献１の技術は、ASPMの存在しない、PCIのパワーマネージメント(PCI-PM)に関するものであり、主にPCI-PMのD3遷移に関するものである。PCI-PMのD3遷移からの復帰に関しては、ソフトウェア、あるいはハードウェアによるリセットを行うことが前提となるが、PCI Expressにおいては、ASPMは自律的に遷移するローパワーステートモードに相当し、ソフトウェアの関与なくローパワーステートモードに遷移することが特徴である。しかし同時に、ASPMの実装に関する、コンポーネント間の実装の曖昧さ等により、ASPMをEnableにすることに起因した、２コンポーネントの不安定化、Linkの再初期化による電力の浪費という影響を及ぼすこととなる。しかしながら、PCI Express規格においては双方のコンポーネントはそれぞれASPMに対応していることとなっているため、Link Capability Status のASPM SupportはEnableと報告することになる。しかし、このような実装が場合にASPMをEnableするのは好ましくない。
【０００６】
本発明は上述の事情を考慮してなされたものであり、ステートの異常遷移を監視し、異常遷移が所定の条件となった場合に、デバイスに関して特定のステートへの遷移を行わないようにすることが可能な情報処理装置および制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述の課題を解決するため、本願発明の一態様によれば、通信路確立のためのステートマシーン遷移を持つPCI Expressで接続されたデバイスを備えた情報処理装置であって、前記ステートマシーンのステート遷移を履歴情報として記憶する記憶手段と、前記記憶手段に記憶された履歴情報に応じて、特定のステートに遷移させるか否かの制御を行う制御手段と、を具備することを特徴とする情報処理装置が提供される。このため、ステートの異常遷移を監視し、異常遷移が所定の条件となった場合に、デバイスに関して特定のステートへの遷移を行わないようにすることができる。
【発明の効果】
【０００８】
本発明によれば、ステートの異常遷移を監視し、異常遷移が所定の条件となった場合に、デバイスに関して特定のステートへの遷移を行わないようにすることが可能となる。
【発明を実施するための最良の形態】
【０００９】
以下、図面を参照して本発明の実施形態を説明する。
【００１０】
図１には、本発明の一実施形態に係る情報処理装置のシステム構成図が示されている。この情報処理装置は、バッテリ駆動可能なノートブック型コンピュータ１０として実現されている。
【００１１】
図１に示すように、コンピュータ１０は、コンピュータ本体と、ディスプレイユニット１２とから構成されている。ディスプレイユニット１２にはＬＣＤ（Liquid Crystal Display）からなる表示装置が組み込まれており、そのＬＣＤの表示画面１２１はディスプレイユニット１２のほぼ中央に位置されている。
【００１２】
ディスプレイユニット１２は、コンピュータ１０に対して解放位置と閉塞位置との間を回動自在に取り付けられている。コンピュータ１０の本体側は薄い箱形の筐体を有しており、その上面にはパワーボタン２４、ＬＥＤ表示部（表示手段）２２０、キーボード２５、パームレスト上にはタッチパッド２６、および左右２つのボタン１１３ａ、１１３ｂ等が配置されている。
【００１３】
図２は、コンピュータ１０の構成を示したブロック図である。
【００１４】
このコンピュータ１０は、内蔵バッテリ２７を備えており、外部電源（ＡＣ電源）にコンピュータ１０が接続されていない状態においては内蔵バッテリ２７からの電力によって動作する。一方、ＡＣアダプタ２８がコンピュータ１０に接続されている状態、つまり外部電源（ＡＣ電源）にコンピュータ１０が接続されている状態においては、コンピュータ１０は外部電源（ＡＣ電源）によって動作する。また、外部電源によってバッテリ２７の充電が行われる。
【００１５】
このコンピュータ１０は、図示のように、ＣＰＵ（Central Processing Unit）１１、Root Complex１２、主メモリ１３、グラフィクスコントローラ１４、表示装置（ＬＣＤ）１５、End Point１６、PCI（Peripheral Component Interconnect）デバイス群１７、PCI Express デバイス群１８，１９、ハードディスクドライブ（ＨＤＤ）２０、ＢＩＯＳ−ＲＯＭ１９、エンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）２２、および電源コントローラ（ＰＳＣ）２３、キーボード（ＫＢ）２５、タッチパッド２６などを備えている。
【００１６】
Root Complex１２、グラフィクスコントローラ１４、End Point１６、およびPCI Express デバイス群１８，１９の各々は、PCI EXPRESS規格に準拠したデバイス（コンポーネント）である。Root Complex１２とグラフィクスコントローラ１４との間の通信は、Root Complex１２とグラフィクスコントローラ１４との間に配設されたPCI EXPRESSリンク２１を介して実行される。各PCI EXPRESSリンクはシリアルインタフェースから構成される通信路であり、アップストリームレーンおよびダウンストリームレーンを含む。
【００１７】
ＣＰＵ１１は本コンピュータの動作を制御するプロセッサであり、ＨＤＤ２０から主メモリ１３にロードされる各種プログラム（オペレーティングシステム、アプリケーションプログラム）を実行する。また、ＣＰＵ１１は、ＢＩＯＳ−ＲＯＭ１９に格納されたＢＩＯＳ（Basic Input Output System）も実行する。ＢＩＯＳはハードウェアを制御するためのプログラムである。また、ＢＩＯＳは、PCI Express 規格で規定されたActiveステート Power Management (ASPM:Active State Power Management)機能の実行を本コンピュータの動作モードに応じて動的に許可または禁止するためのＳＭＩ（System Management Interrupt）ルーチンを有している。ASPM機能は、上述したように、たとえPCI Express規格に対応するデバイスが動作状態（D0ステート）であっても、そのデバイスが接続されたリンクをローパワーステート（スタンバイステート）に設定することが可能な通信路制御機能である。リンクを介して相互接続された２つのデバイスの各々はASPM機能を有しており、リンクがアイドル状態であるか否かに応じて、リンクの状態を動作ステートと当該動作ステートよりも低消費電力のスタンバイステートとの間で遷移させることができる。この遷移はハードウェアによって自動的に実行される。
【００１８】
Root Complex１２は、ＣＰＵ１１のローカルバスとEnd Point１６との間を接続するブリッジデバイスである。Root Complex１２には、また、Root Complex１２は、PCI EXPRESSリンク２１を介してEnd Point１６、グラフィクスコントローラ１４との通信を実行する機能も有している。
【００１９】
グラフィクスコントローラ１４は本コンピュータのディスプレイモニタとして使用されるＬＣＤ１５を制御する表示コントローラである。
【００２０】
エンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）２２は、電力管理のためのエンベデッドコントローラと、キーボード（ＫＢ）２５およびタッチパッド２６を制御するためのキーボードコントローラとが集積された１チップマイクロコンピュータである。このエンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）２２は、ユーザによるパワーボタン２４の操作に応じて、電源コントローラ（ＰＳＣ）２３と共同して、本コンピュータ１０をパワーオン／パワーオフする機能を有している。さらに、エンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）２２は、本コンピュータに対するＡＣアダプタ２８の接続および取り外しを検出する機能も有している。ＡＣアダプタ２８の接続または取り外しのイベントが発生した時、エンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）２２は、電力管理イベントの発生をＢＩＯＳに通知するために割り込み信号（ＩＮＴＲ）を発生する。この割り込み信号（ＩＮＴＲ）の発生に応答して、End Point１６は、ＣＰＵ１１に割り込み信号（ＳＭＩ）を発生する。ＣＰＵ１１は、ＳＭＩに応答して、ＢＩＯＳのＳＭＩルーチンを実行する。なお、ＥＣ／ＫＢＣ２２からＣＰＵ１１に直接的にＳＭＩを供給するようにしてもよい。
【００２１】
図３には、PCI EXPRESS規格にそれぞれ準拠した２つのデバイス間の接続構成が示されている。ここでは、Root Complex１２とEnd Point１６とを例示して説明する。以降、Root Complex１２はデバイス＃１、End Point１６はデバイス＃２と称する。
【００２２】
デバイス＃１およびデバイス＃２は、PCI EXPRESSリンク２１を介して相互接続されている。PCI EXPRESSリンク２１は、デバイス＃１とデバイス＃２との間をポイントツーポイント形式で接続するシリアルインタフェース（シリアルバス）である。このPCI EXPRESSリンク２１は、デバイス＃１からデバイス＃２の方向に情報を伝送するための差動信号線対と、デバイス＃２からデバイス＃１の方向に情報を伝送するための差動信号線対とを含む。PCI EXPRESSリンク２１を介したデバイス＃１とデバイス＃２との間の情報の伝送は、パケットを用いて実行される。
【００２３】
デバイス＃１は、PCI EXPRESSリンク２１に接続されたポート１０１を有している。同様に、デバイス＃２は、PCI EXPRESSリンク２１に接続されたポート１０１を有している。
【００２４】
ポート１０１は、PCI EXPRESSリンク２１を介してデバイス＃２にデータを送信する送信部、およびPCI EXPRESSリンク２１を介してデバイス＃２から送信されるデータを受信する受信部とを有している。同様に、ポート１０１も、PCI EXPRESSリンク２１を介してデバイス＃１にデータを送信する送信部、およびPCI EXPRESSリンク２１を介してデバイス＃１から送信されるデータを受信する受信部とを有している。ポート１０１，１０２の各々は、PCI EXPRESSリンク２１を介して伝送されるデータ（有効データ）が無い状態が一定期間続いたならば、PCI EXPRESSリンク２１がアイドル状態であることを検出する。この場合、ポート１０１，２０１は、互いに共同して、PCI EXPRESSリンク２１のステート(リンクステート)を動作ステートからスタンバイステートに遷移させる処理を実行する。スタンバイステートにおいては、例えば、送信部および受信部の各々の動作は停止され、またPCI EXPRESSリンク２１は駆動されない。よって、消費電力が低減される。
【００２５】
PCI EXPRESS規格においては、図４のリンクステート状態遷移図に示されているように、リンクステートとして、L0, L0s, L1, L2,Detect, Polling, Configuration, Disabled, Hot Reset, Loopback, Recovery が定義されている。L0は通常の動作ステート（アクティブステート）である。L0s, L1, L2,は、それぞれL0 よりも電力消費の少ないローパワーステートである。L0s, L1, L2の順で電力消費は減る。
【００２６】
PCI EXPRESS規格においては、PCI EXPRESSデバイスが動作状態である時にPCI EXPRESSリンクが遷移可能なローパワーステートとして、L0s, L1の２つのスタンバイステートが定義されている。L1 は、L0s よりも低消費電力のスタンバイステートである。L0s から L0 への復帰に要する遅延時間は、L1 から L0 への復帰に要する遅延時間よりも短い。PCI EXPRESSデバイスは、PCI EXPRESSデバイスが動作状態である時にPCI EXPRESSリンクが遷移可能なローパワーステートとして、少なくともL0s をサポートすることが必要とされている。また、PCI EXPRESSデバイスによっては、PCI EXPRESSデバイスが動作状態である時にPCI EXPRESSリンクが遷移可能なローパワーステートとして、 L0s, L1の２つのスタンバイステートをサポートするものもある。
【００２７】
また、ポート１０１，１０２の各々は、相手に送信すべきデータが生じたとき、互いに共同して、PCI EXPRESSリンク２１のステート(リンクステート)を現在のL0s またはL1 から L0 へ復帰する処理を実行する。
【００２８】
また、デバイス＃１は、図２に示すように、ASPMサポートレジスタ１０２、リンク制御レジスタ１０３を有している。これらASPMサポートレジスタ１０２、およびリンク制御レジスタ１０３は、ＣＰＵ１１からアクセス可能に構成されている。ASPMサポートレジスタ１０２は、デバイス＃１がASPMとしてサポートしているスタンバイステートを示すフィールドを有している。ＢＩＯＳは、ASPMサポートレジスタ１０２をリードアクセスすることにより、デバイス＃１がASPMとしてサポートしているスタンバイステートを認識することができる。リンク制御レジスタ１０３は、ASPM機能の実行の許可または禁止を指示するパワーマネージメント制御情報を格納するためのフィールドを有している。ＢＩＯＳは、パワーマネージメント制御情報をリンク制御レジスタ１０３に書き込むことにより、デバイス＃１のポート１０１に対して、ASPM機能の実行の許可または禁止を指示することができる。
【００２９】
次に、制御処理の手順について、図４と図５のフローチャートを参照して説明する。
【００３０】
電源投入時の初期ステートは、通常 Detectステートである。Detectステートでは、Root Complex１２のPower Management Controllerは、ステップＳ１０で、PCI Expressで通信すべき相手Linkの検知を行い、Link検知に成功すると、Pollingステートに移る。Pollingステートでは、Root Complex１２のPower Management Controllerは、ステップＳ１２で、特殊な信号(TS Ordered Set)をLink上に流し、Linkが正常に機能しうるかについての試験を行う。Linkが正常であると判別されると、Configurationステートに移行する。Configuration ステートでは、Root Complex１２のPower Management Controllerは、ステップＳ１４で、Link幅、Link番号、Lane番号などのネゴシエーションを行い、Linkの設定を主に行う。設定が正常に完了すると、通常動作Stateである、L0ステートへ移る。
【００３１】
L0ステートでは、Root Complex１２のPower Management Controllerは、ステップＳ１６で、一定期間以上、パケットの送受信が行われない場合には、ステップＳ１８で、ASPMにより、自動的にLTSSM(Link Training and Status State Machine)のStateが、L0sまたはL1のステートに遷移する。これらのステートではLinkは休止しており、上位レイヤ(Data Link Layerなど)よりパケットの送信要求が発生すると、LinkをL0へ復帰させるが、L0sの場合にはFTS Sequenceにより直接L0に復帰し、L1の場合にはRecoveryステート経由でL0に復帰する。これらの遷移は正常な遷移である。
【００３２】
一方、対向コンポーネントの実装が大きく異なったり、PCI Express規格外の振る舞いをするなどの要因により、ネゴシエーションの失敗が引き起こされる可能性があり、そのため、L0sステートでFTS Sequenceに失敗する、L1からのRecovery復帰に失敗する等の問題が発生することが考えられる。その場合には、異常なLTSSMのステートの遷移シーケンスを辿ることになる。
【００３３】
このような、異常なステートの遷移シーケンスの履歴を、Root Complex１２のPower Management Controllerは、ステップＳ２０で、記憶手段であるレジスタ、フラッシュメモリ等に記憶する。
【００３４】
図６は、異常なステートの遷移シーケンスを示した模式図である。
【００３５】
異常なステートの遷移シーケンスとしては、例えば、
L0ステート＞L0sステート＞Recoveryステート＞L0ステート、
L0ステート＞L0sステート＞Recoveryステート＞Detectステート、
L0ステート＞L0sステート＞Recoveryステート＞Configurationステート、
L1ステート＞Recoveryステート＞Configurationステート＞L0ステート、
L1ステート＞Recoveryステート＞Configurationステート＞Detectステート、
L1ステート＞Recoveryステート＞Configurationステート＞Pollingステート、
が挙げられる。
【００３６】
以上のステートの遷移シーケンスについて、回数（Times）、重み付け（Weight）、指標値（Point）の履歴を記憶する。
【００３７】
例えば、L0ステート＞L0sステート＞Recoveryステート＞L0ステートであれば、回数（Times）は４回、重み付け（Weight）は１、指標値（Point）は、４＊１＝４となる。また、L0ステート＞L0sステート＞Recoveryステート＞Detectステートであれば、回数（Times）は１回、重み付け（Weight）は５、指標値（Point）は、１＊５＝５となる。Detectステートは、深刻な異常ステート遷移であるので、重み付け（Weight）を重くし、例えば５としている。
【００３８】
すなわち、L0ステート＞L0sステート＞Recoveryステート＞L0ステートのパターンは比較的軽微な異常遷移であり、通常はPLLのロックが間に合わない等の理由で、FTSが正常に成功せず、Recoveryステートに落ち、L0に復帰するというパターンが多い。一方で、L0ステート＞L0sステート＞Recoveryステート＞Detectステートのパターンの場合には、さらにRecoveryステートからConfigurationステートに落ちてしまうということであり、TS Ordered Setのやり取りに失敗していると考えられ、さらに状態が悪いということになる、Detectステートに落ちる場合には前述のDL_Downへの遷移もあり、さらに影響が大きい。したがって、LTSSMのステート遷移のパターンによって、同じ異常ステート遷移であっても、問題の影響度が異なるということになる。このため、LTSSMのステート遷移のパターンによって、問題の重み付けを行い、管理することで、より一層、効果的な管理をすることができる。
【００３９】
同様に図６のL1からの遷移については、L1ステート＞Recoveryステート＞Configurationステート＞L0のパターンはDL_Downへの遷移がなく、比較的軽微な異常遷移である。一方で、L1ステート＞Recoveryステート＞Configurationステート＞Detectステート、L1ステート＞Recoveryステート＞Configurationステート＞Pollingステートのパターンの遷移については、DL_Downへの遷移があり、影響が大きい。このように、L1からの遷移についてもL0sからの場合と同様に、重み付けを行うことができる。
【００４０】
次に、Root Complex１２のPower Management Controllerは、ステップＳ２２で、記憶手段に記憶された異常なステートの遷移シーケンスの履歴が所定値に達したか否かを判別する。この所定値は、予め設定されているものである。また、所定値は、回数（Times）、指標値（Point）に対して設定しても良い。さらに、所定値は、単位時間当たりのポイントを算出し、単位時間当たりのポイントの閾値としてもよい。単位時間当たりのポイントの閾値とした場合は、一時的に不具合があった場合等に、不具合が収まれば、通常のステートに復帰可能となり有効である。
【００４１】
ステップＳ２２で、所定値に達したと判別された場合は、Root Complex１２のPower Management Controllerは、ステップＳ２４で、特定のステートへの遷移を抑制する。例えば、所定値に達したと判別された場合は、このような不安定な状態を続けるようなことがあれば、ASPMのメリットはないので、ASPMをDisableに設定する。
【００４２】
以上のように、異常なシーケンスを辿る場合、ASPMを使用しない場合にはL0を維持すればよいだけであったにも関わらず、RecoveryステートやConfigurationステートでのTS Ordered Setによるネゴシエーション、最悪の場合には、DetectステートでのLink検出まで、ステートが遷移してしまう。このDetectステートについては、Data Link LayerにおけるDL_Downステートへの遷移を引き起こし、Retry Bufferのクリア、TLPの損失という悪影響を引き起こしうる。よって、PCI ExpressのASPMは、電力消費の積極的な削減をもたらしうるが、反面、Linkの安定性を低下させる副作用をももつと考えられる。
【００４３】
よって、上述したように、このようなLinkの不安定な状態を続けるようなことがあれば、ASPMのメリットはなく、ASPMをDisableに設定した方が好ましいという場合がおきうる。
【００４４】
本発明においては、ASPMからの復帰に起因する、LTSSMの異常ステート遷移が多数、あるいは多くの割合で発生する場合に、自動的にASPMをDisableに設定し、L0s/L1へのLTSSMステート遷移自体を抑制し、Linkの安定性を高めることができる。
【００４５】
図６では、主な、ASPMからの復帰に起因するLTSSMの異常ステート遷移のパターンの例と、その管理方法の例を示し、主要な例をL0sからの遷移について3つ、L1からの遷移について３つ挙げたが、とくにこれらのLTSSMのステート遷移に限定するものではない。図６では過去４ステートのLTSSMステートを保持している。この過去のLTSSMステートの遷移情報について、記憶手段に記憶し、データベースとして用いる。
【００４６】
最終的に、前述した所定値に基づいて、ある一定以上の異常遷移があった場合に、ASPM（L0s/L1）への遷移を起こさせないという判断をすることができる（ASPMをDisableに設定する）。このときの閾値については自由に設定できるようにしても良い。
【００４７】
また、ASPMの遷移を起こさせないという判断をした場合には、Configuration RegisterのLink Control Registerをハードウェアまたはソフトウェアによって自動的にDisableにしても良い。ASPM遷移を抑制することで、L0を維持し、安定なLink状態を維持することができる。
【００４８】
また、一旦ASPMの遷移を抑制する状態にした場合においても、物理層への一時的な外乱が原因でRecoveryステート、Configurationステート、Detectステートに遷移したという可能性が考えられるため、一定期間の経過後にASPMを再度有効にする、または、ASPMの遷移である L0s/L1ステートに入る頻度を下げる、という対処方法をとっても良い。
【００４９】
また、Link Control Registerをソフトウェアで再度ASPM Enable設定でWriteした場合には、統計情報をクリアし、L0s/L1に再び遷移を許可する仕様にしても良い。このように、実装仕様としてはさまざまな方法が適用できる。
【００５０】
また、上述したように、ASPM（L0s/L1）への遷移を起こさせないという判断をした場合、接続されているデバイスのDevice ID、Vendor ID等を記憶手段に記憶しておく。そして、新たなデバイスが接続された場合に記憶されたDevice ID、Vendor ID等が一致すると、ASPM(L0s/L1)の遷移を起こさせないという判断をすることも可能である。
【００５１】
また、その他には、Vendor IDのみ一致する場合には、実装が類似している可能性が高いために、異常遷移の閾値を下げて、無理にASPM(L0s/L1)の遷移を起こさせないという判断を行うことも可能である。
【００５２】
なお、上述した実施形態では、LTSSMでのステートの遷移にについて説明したが、ASPM(L0s/L1)の遷移によって、Data Link Layer以上の上位レイヤで異常が発生する場合においても、それを一定の基準で検知し、上述した実施形態と同様にASPM(L0s/L1)への遷移を抑制しても良い。
【００５３】
また、上述した実施形態では、PCI Expressの規格に準拠した場合について説明したが、ASPMに類似した技術、すなわち、自動的にPower Managementを行う技術に関して、同様に上述した実施形態を適用できる。
【００５４】
以上より、ステートの異常遷移を監視し、異常遷移が所定の条件となった場合に、デバイスに関して特定のステートへの遷移を行わないようにすることが可能となる。また、ASPM対応のデバイスとの相性問題が発生した場合についても、問題が多数発生した場合等に自動的にASPMをDisableにすることにより、安定な接続を得ることができる。
【００５５】
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【図面の簡単な説明】
【００５６】
【図１】本発明の一実施形態に係る情報処理装置を示す外観図。
【図２】本発明の一実施形態に係る情報処理装置のシステム構成図。
【図３】同実施形態の情報処理装置に設けられるデバイス間の接続構成を示すブロック図。
【図４】同実施形態の情報処理装置で用いられるリンクステートの遷移を示す模式図。
【図５】同実施形態の情報処理装置によって実行されるASPM制御処理の手順を説明するフローチャート。
【図６】異常なステートの遷移シーケンスの履歴情報を示した模式図。
【符号の説明】
【００５７】
１０…コンピュータ、１１…ＣＰＵ、１２…ディスプレイユニット、１３…主メモリ、１４…グラフィクスコントローラ、１５…ＬＣＤ、２０…ＨＤＤ、２１…リンク、２２…ＥＣ／ＫＢＣ、２３…電源コントローラ、２４…パワーボタン、２５…キーボード、２６…タッチパッド、２７…バッテリ、２８…ＡＣアダプタ、１０１…ポート、１０１．１０２…ポート、１０１．２０１…ポート、１０２…サポートレジスタ、１０３…リンク制御レジスタ、１１３ａ．１１３ｂ…ボタン。
【図１】
2006338380.tif 000003
【図２】
2006338380.tif 000004
【図３】
2006338380.tif 000005
【図４】
2006338380.tif 000006
【図５】
2006338380.tif 000007
【図６】
2006338380.tif 000008