JP7324637B2 - Computer device and restart method - Google Patents
Computer device and restart method Download PDFInfo
- Publication number
- JP7324637B2 JP7324637B2 JP2019135516A JP2019135516A JP7324637B2 JP 7324637 B2 JP7324637 B2 JP 7324637B2 JP 2019135516 A JP2019135516 A JP 2019135516A JP 2019135516 A JP2019135516 A JP 2019135516A JP 7324637 B2 JP7324637 B2 JP 7324637B2
- Authority
- JP
- Japan
- Prior art keywords
- value
- link
- cpu
- chipset
- capability
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 39
- 238000004891 communication Methods 0.000 claims description 70
- 238000012545 processing Methods 0.000 claims description 8
- 238000005259 measurement Methods 0.000 description 30
- 230000015654 memory Effects 0.000 description 23
- 238000012549 training Methods 0.000 description 23
- 238000001514 detection method Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Retry When Errors Occur (AREA)
Description
本開示は、コンピュータ装置及び再起動方法に関する。 The present disclosure relates to a computer device and a restart method.
パーソナルコンピュータやサーバ等のコンピュータ装置の機能を拡張するために、Peripheral Component Interconnect Express(以下では「PCIe」と呼ぶことがある)デバイスがコンピュータ装置に接続されることがある。 Peripheral Component Interconnect Express (hereinafter sometimes referred to as “PCIe”) devices are sometimes connected to computing devices to extend the functionality of the computing devices such as personal computers and servers.
PCIeデバイスには様々なものが存在するため、様々なPCIeデバイスの中には、PCIeデバイスが接続されたコンピュータ装置との相性が悪いものも存在する。コンピュータ装置との相性が悪いPCIeデバイスがコンピュータ装置に接続されると、コンピュータ装置とPCIeデバイスとの間の通信状態が期待通りにならないことがある。 Since there are various types of PCIe devices, some of the various types of PCIe devices are incompatible with computer apparatuses to which the PCIe devices are connected. When a PCIe device that is not compatible with the computer device is connected to the computer device, the communication state between the computer device and the PCIe device may not be as expected.
このように、コンピュータ装置とPCIeデバイスとの間の通信状態が期待通りにならなかった際に期待通りの通信状態を獲得するためには、従来は、PCIeデバイスを一旦リセットするために、PCIeデバイスが接続されたコンピュータ装置自体の再起動を試みていた。 In this way, in order to obtain the expected communication state when the communication state between the computer apparatus and the PCIe device does not meet expectations, conventionally, in order to reset the PCIe device once, the PCIe device was attempting to restart the connected computer device itself.
開示の技術は、コンピュータ装置自体の再起動が必要となる事態の発生率を減少させることを目的とする。 An object of the technology disclosed herein is to reduce the occurrence rate of situations requiring restarting of the computer device itself.
開示の態様では、外部機器を接続可能なコンピュータ装置は、チップセットと、CPUとを有する。前記チップセットは、前記外部機器と通信可能であって、前記コンピュータ装置と前記外部機器との通信状態を示す値を実測して前記通信状態の実測値を取得する。前記CPUは、前記チップセットの通信能力を示す第一能力値、及び、前記外部機器の通信能力を示す第二能力値のうち小さい方の値を前記通信状態の期待値に設定し、前記実測値と前記期待値とを比較し、前記実測値が前記期待値と異なるときに前記外部機器を再起動させる。 According to an aspect of the disclosure, a computer device to which an external device can be connected has a chipset and a CPU. The chipset is capable of communicating with the external device, and actually measures a value indicating a communication state between the computer device and the external device to obtain the measured value of the communication state. The CPU sets the smaller value of a first capability value indicating the communication capability of the chipset and a second capability value indicating the communication capability of the external device as an expected value of the communication state, and The value is compared with the expected value, and the external device is restarted when the measured value differs from the expected value.
開示の態様によれば、コンピュータ装置自体の再起動が必要となる事態の発生率を減少させることができる。 According to aspects of the disclosure, it is possible to reduce the occurrence rate of situations requiring restarting of the computer device itself.
以下、本開示の実施例を図面に基づいて説明する。なお、以下の実施例により本開示のコンピュータ装置及び再起動方法が限定されるものではない。また、以下の実施例において同一の機能を有する構成には同一の符号を付す。また、以下では、コンピュータ装置の機能を拡張するために、コンピュータ装置の外部からコンピュータ装置に接続可能なデバイスを「外部機器」と総称することがある。 Hereinafter, embodiments of the present disclosure will be described based on the drawings. It should be noted that the computer apparatus and restart method of the present disclosure are not limited by the following embodiments. Moreover, the same reference numerals are given to the structures having the same functions in the following embodiments. Also, hereinafter, devices that can be connected to the computer from outside the computer may be collectively referred to as "external equipment" in order to extend the functions of the computer.
[実施例1]
<コンピュータ装置の構成>
図1は、本開示の実施例1のコンピュータ装置の構成例を示す図である。図1において、コンピュータ装置2Aは、CPU(Central Processing Unit)21と、メモリ22と、チップセット23と、デバイス検出回路24と、PCIeポート25とを有する。チップセット23は、ケイパビリティレジスタ231と、リンクステータスレジスタ232とを有する。
[Example 1]
<Computer configuration>
FIG. 1 is a diagram illustrating a configuration example of a computer device according to a first embodiment of the present disclosure; In FIG. 1, a
PCIeポート25にPCIeデバイス3が装着されることにより、CPU21、チップセット23及びデバイス検出回路24の各々と、PCIeデバイス3とが接続される。CPU21及びチップセット23の各々とPCIeデバイス3とが接続されることにより、CPU21及びチップセット23の各々と、PCIeデバイス3とが、相互に通信可能となる。PCIeデバイス3は、レジスタ31を有する。PCIeデバイス3は外部機器の一例である。
By attaching the
<コンピュータ装置における処理手順>
図2は、本開示の実施例1のコンピュータ装置の処理手順の一例を示すフローチャートである。図2に示すフローチャートは、コンピュータ装置2Aの電源投入時(つまり、コンピュータ装置2Aの起動時)に開始される。
<Processing procedure in the computer device>
FIG. 2 is a flowchart illustrating an example of a processing procedure of the computer device according to the first embodiment of the present disclosure; The flowchart shown in FIG. 2 is started when the power of the
ステップS101では、CPU21は、PCIeデバイス3がコンピュータ装置2Aに接続されているか否かを判定する。デバイス検出回路24は、PCIeデバイス3がコンピュータ装置2Aに接続されたときに、PCIeデバイス3がコンピュータ装置2Aに接続されたことを検出し、PCIeデバイス3がコンピュータ装置2Aに接続されたことを検出したことを示す通知(以下では「PCIeデバイス検出通知」と呼ぶことがある)をCPU21へ送信する。コンピュータ装置2Aの電源投入後にCPU21がPCIeデバイス検出通知を受信していないときは、CPU21は、PCIeデバイス3がコンピュータ装置2Aに接続されていないと判定するため(ステップS101:No)、処理はステップS139へ進む。一方で、コンピュータ装置2Aの電源投入後にCPU21がPCIeデバイス検出通知を受信しているときは、CPU21は、PCIeデバイス3がコンピュータ装置2Aに接続されていると判定するため(ステップS101:Yes)、処理はステップS103へ進む。
In step S101, the
ステップS103では、CPU21は、第一リトライカウンタn及び第二リトライカウンタmを「0」にリセットする。第一リトライカウンタn及び第二リトライカウンタmは、メモリ22に記憶されている。
In step S103, the
次いで、ステップS105では、CPU21は、PCIeポート25を有効にする。
Next, in step S<b>105 , the
次いで、ステップS107では、CPU21は、トレーニングシーケンスの実行指示(以下では「TS実行指示」と呼ぶことがある)をチップセット23へ送信することにより、チップセット23にトレーニングシーケンスを実行させる。チップセット23は、CPU21から送信されたTS実行指示に従ってPCIeデバイス3との間でトレーニングシーケンスを実行する。チップセット23は、トレーニングシーケンスの実行中において、PCIeデバイス3との間で所定の信号を送受信することにより、コンピュータ装置2AとPCIeデバイス3との通信状態を示す値を実測する。例えば、チップセット23は、コンピュータ装置2AとPCIeデバイス3との通信状態を示す値として、チップセット23とPCIeデバイス3との間のリンクスピード及びリンク幅を実測し、リンクスピード実測値及びリンク幅実測値を通信状態の実測値(以下では「通信状態実測値」と呼ぶことがある)として取得する。チップセット23は、取得したリンクスピード実測値及びリンク幅実測値をリンクステータスレジスタ232に格納する。また、チップセット23は、トレーニングシーケンスを実行した結果、PCIeデバイス3がリンクアップした場合は、リンクステータスレジスタ232に記憶されているリンクアップ状態フラグを「0」(リンクダウン)から「1」(リンクアップ)に更新する。
Next, in step S107, the
次いで、ステップS109では、CPU21は、リンクステータスレジスタ232に記憶されているリンクアップ状態フラグを確認し、PCIeデバイス3がリンクアップしているか否かを判定する。リンクアップ状態フラグが「0」のときは、CPU21は、PCIeデバイス3がリンクアップしていないと判定するため(ステップS109:No)、処理はステップS111へ進む。一方で、リンクアップ状態フラグが「1」のときは、CPU21は、PCIeデバイス3がリンクアップしていると判定するため(ステップS109:Yes)、処理はステップS121へ進む。
Next, in step S109, the
ステップS111では、CPU21は、第一リトライカウンタnが所定回数N未満(但し、Nは2以上の整数)であるか否かを判定する。所定回数Nはメモリ22に予め記憶されており、例えば「4」にセットされている。第一リトライカウンタnが所定回数N未満である場合は(ステップS111:Yes)、処理はステップS113へ進み、第一リトライカウンタnが所定回数N以上である場合は(ステップS111:No)、処理はステップS139へ進む。
In step S111, the
ステップS113では、CPU21は、PCIeデバイス3をリセットしてPCIeデバイス3を再起動させる。
In step S<b>113 , the
次いで、ステップS115では、CPU21は、PCIeポート25をリセットする。
Next, in step S<b>115 , the
次いで、ステップS117では、CPU21は、TS実行指示をチップセット23へ送信することにより、チップセット23にトレーニングシーケンスを実行させる。チップセット23は、CPU21から送信されたTS実行指示に従ってPCIeデバイス3との間でトレーニングシーケンスを実行する。チップセット23は、トレーニングシーケンスの実行中において、チップセット23とPCIeデバイス3との間のリンクスピード及びリンク幅(つまり、コンピュータ装置2AとPCIeデバイス3との間のリンクスピード及びリンク幅)を実測し、リンクスピード実測値及びリンク幅実測値を取得する。そして、チップセット23は、取得したリンクスピード実測値及びリンク幅実測値によって、リンクステータスレジスタ232に格納されているリンクスピード実測値及びリンク幅実測値を更新する。また、チップセット23は、トレーニングシーケンスを実行した結果、PCIeデバイス3がリンクアップした場合は、リンクステータスレジスタ232に記憶されているリンクアップ状態フラグを「0」(リンクダウン)から「1」(リンクアップ)に更新する。
Next, in step S117, the
次いで、ステップS119では、CPU21は、第一リトライカウンタnをインクリメントする。ステップS119の処理後、処理はステップS109に戻る。
Next, in step S119, the
一方で、ステップS121では、CPU21は、チップセット23の通信能力を示す値(以下では「チップセット能力値」と呼ぶことがある)をケイパビリティレジスタ231から取得する。チップセット能力値は予めケイパビリティレジスタ231に記憶されている。例えば、ケイパビリティレジスタ231には、チップセット能力値として、チップセット23がPCIeデバイス3と通信可能な最大リンクスピード及び最大リンク幅(つまり、コンピュータ装置2AがPCIeデバイス3と通信可能な最大リンクスピード及び最大リンク幅)が記憶されており、CPU21は、ケイパビリティレジスタ231に記憶されている最大リンクスピード及び最大リンク幅をケイパビリティレジスタ231から取得する。
On the other hand, in step S<b>121 , the
次いで、ステップS123では、CPU21は、PCIeデバイス3の通信能力を示す値(以下では「PCIeデバイス能力値」と呼ぶことがある)をPCIeデバイス3のレジスタ31から取得する。PCIeデバイス能力値は予めレジスタ31に記憶されている。例えば、レジスタ31には、PCIeデバイス能力値として、PCIeデバイス3がチップセット23と通信可能な最大リンクスピード及び最大リンク幅(つまり、PCIeデバイス3がコンピュータ装置2Aと通信可能な最大リンクスピード及び最大リンク幅)が記憶されており、CPU21は、レジスタ31に記憶されている最大リンクスピード及び最大リンク幅をレジスタ31から取得する。
Next, in step S<b>123 , the
次いで、ステップS125では、CPU21は、ステップS121で取得したチップセット能力値と、ステップS123で取得したPCIeデバイス能力値とを比較し、チップセット能力値及びPCIeデバイス能力値のうち小さい方の値を通信状態の期待値(以下では「通信状態期待値」と呼ぶことがある)に設定する。例えば、CPU21は、チップセット23が通信可能な最大リンクスピード(以下では「チップセットリンクスピード」と呼ぶことがある)とPCIeデバイス3が通信可能な最大リンクスピード(以下では「PCIeリンクスピード」と呼ぶことがある)とを比較し、チップセットリンクスピード及びPCIeリンクスピードのうち小さい方のリンクスピードをリンクスピードの期待値(以下では「リンクスピード期待値」と呼ぶことがある)に設定する。また例えば、CPU21は、チップセット23が通信可能な最大リンク幅(以下では「チップセットリンク幅」と呼ぶことがある)とPCIeデバイス3が通信可能な最大リンク幅(以下では「PCIeリンク幅」と呼ぶことがある)とを比較し、チップセットリンク幅及びPCIeリンク幅のうち小さい方のリンク幅をリンク幅の期待値(以下では「リンク幅期待値」と呼ぶことがある)に設定する。そして、CPU21は、設定したリンクスピード期待値及びリンク幅期待値をメモリ22に格納する。
Next, in step S125, the
次いで、ステップS127では、CPU21は、通信状態実測値と通信状態期待値とを比較し、通信状態実測値が通信状態期待値に等しいか否かを判定する。例えば、CPU21は、リンクステータスレジスタ232に格納されているリンクスピード実測値とメモリ22に格納されているリンクスピード期待値とを比較するとともに、リンクステータスレジスタ232に格納されているリンク幅実測値とメモリ22に格納されているリンク幅期待値とを比較する。そして、CPU21は、リンクスピード実測値がリンクスピード期待値に等しく、かつ、リンク幅実測値がリンク幅期待値に等しい場合に、通信状態実測値が通信状態期待値に等しいと判定する。一方で、CPU21は、リンクスピード実測値がリンクスピード期待値と異なるか、または、リンク幅実測値がリンク幅期待値と異なる場合に、通信状態実測値が通信状態期待値と異なると判定する。通信状態実測値が通信状態期待値に等しい場合は(ステップS127:Yes)、処理はステップS139へ進み、通信状態実測値が通信状態期待値と異なる場合は(ステップS127:No)、処理はステップS129へ進む。
Next, in step S127, the
ステップS129では、CPU21は、第二リトライカウンタmが所定回数M未満(但し、Mは2以上の整数)であるか否かを判定する。所定回数Mはメモリ22に予め記憶されており、例えば「4」にセットされている。第二リトライカウンタmが所定回数M未満である場合は(ステップS129:Yes)、処理はステップS131へ進み、第二リトライカウンタmが所定回数M以上である場合は(ステップS129:No)、処理はステップS139へ進む。
In step S129, the
ステップS131では、CPU21は、PCIeデバイス3をリセットしてPCIeデバイス3を再起動させる。
In step S<b>131 , the
次いで、ステップS133では、CPU21は、PCIeポート25をリセットする。
Next, in step S<b>133 , the
次いで、ステップS135では、CPU21は、TS実行指示をチップセット23へ送信することにより、チップセット23にトレーニングシーケンスを実行させる。チップセット23は、CPU21から送信されたTS実行指示に従ってPCIeデバイス3との間でトレーニングシーケンスを実行する。チップセット23は、トレーニングシーケンスの実行中において、チップセット23とPCIeデバイス3との間のリンクスピード及びリンク幅を実測し、リンクスピード実測値及びリンク幅実測値を取得する。チップセット23は、取得したリンクスピード実測値及びリンク幅実測値によって、リンクステータスレジスタ232に格納されているリンクスピード実測値及びリンク幅実測値を更新する。
Next, in step S135, the
次いで、ステップS137では、CPU21は、第二リトライカウンタmをインクリメントする。ステップS137の処理後、処理はステップS127に戻る。
Next, in step S137, the
そして、ステップS139では、CPU21は、OS(Operating System)を起動させる。OSは、コンピュータ装置2Aが有するディスクドライブ(図示せず)に予め記憶されている。
Then, in step S139, the
<コンピュータ装置の動作>
図3は、本開示の実施例1のコンピュータ装置の動作例を示す図である。ここでは、一例として、リンクスピードとして2.5Gbps,5Gbps,8Gbpsの何れかを採用することが可能であり、リンク幅としてx1,x2,x4,x8,x16の何れかを採用することが可能である場合について説明する。
<Operation of computer device>
FIG. 3 is a diagram illustrating an operation example of the computer device according to the first embodiment of the present disclosure; Here, as an example, any of 2.5 Gbps, 5 Gbps, and 8 Gbps can be adopted as the link speed, and any of x1, x2, x4, x8, and x16 can be adopted as the link width. A case will be described.
図3に示すように、CPU21は、チップセットリンクスピード=5Gbps、かつ、チップセットリンク幅=x8であるチップセット能力値と、PCIeリンクスピード=8Gbps、かつ、PCIeリンク幅=x4であるPCIeデバイス能力値とを比較する。図3では、チップセットリンクスピード(5Gbps)がPCIeリンクスピード(8Gbps)より小さく、PCIeリンク幅(x4)がチップセットリンク幅(x8)より小さいため、CPU21は、通信状態期待値として、チップセットリンクスピード(5Gbps)をリンクスピード期待値に設定し、PCIeリンク幅(x4)をリンク幅期待値に設定する。
As shown in FIG. 3, the
よって、図3に示すように、CPU21は、リンクスピード実測値=5Gbps、かつ、リンク幅実測値=x4である場合は、通信状態実測値が通信状態期待値に等しいと判定する。また、CPU21は、リンクスピード実測値=2.5Gbps、かつ、リンク幅実測値=x4である場合は、通信状態実測値が通信状態期待値と異なると判定する。また、CPU21は、リンクスピード実測値=5Gbps、かつ、リンク幅実測値=x1である場合は、通信状態実測値が通信状態期待値と異なると判定する。
Therefore, as shown in FIG. 3, the
以上、実施例1について説明した。 The first embodiment has been described above.
[実施例2]
<コンピュータ装置の構成>
図4は、本開示の実施例2のコンピュータ装置の構成例を示す図である。図4において、コンピュータ装置2Bは、CPU21と、メモリ22と、チップセット23と、デバイス検出回路24と、USB(Universal Serial Bus)ポート26とを有する。
[Example 2]
<Computer configuration>
FIG. 4 is a diagram illustrating a configuration example of a computer device according to a second embodiment of the present disclosure; In FIG. 4, the
USBポート26にUSBデバイス4が装着されることにより、CPU21、チップセット23及びデバイス検出回路24の各々と、USBデバイス4とが接続される。CPU21及びチップセット23の各々とUSBデバイス4とが接続されることにより、CPU21及びチップセット23の各々と、USBデバイス4とが、相互に通信可能となる。USBデバイス4は、メモリ41を有する。USBデバイス4は外部機器の一例である。
By attaching the USB device 4 to the
<コンピュータ装置における処理手順>
図5は、本開示の実施例2のコンピュータ装置の処理手順の一例を示すフローチャートである。図5に示すフローチャートは、コンピュータ装置2Bの電源投入時(つまり、コンピュータ装置2Bの起動時)に開始される。
<Processing procedure in the computer device>
FIG. 5 is a flowchart illustrating an example of a processing procedure of the computer device according to the second embodiment of the present disclosure; The flowchart shown in FIG. 5 is started when the power of the
ステップS301では、CPU21は、USBデバイス4がコンピュータ装置2Bに接続されているか否かを判定する。デバイス検出回路24は、USBデバイス4がコンピュータ装置2Bに接続されたときに、USBデバイス4がコンピュータ装置2Bに接続されたことを検出し、USBデバイス4がコンピュータ装置2Bに接続されたことを検出したことを示す通知(以下では「USBデバイス検出通知」と呼ぶことがある)をCPU21へ送信する。コンピュータ装置2Bの電源投入後にCPU21がUSBデバイス検出通知を受信していないときは、CPU21は、USBデバイス4がコンピュータ装置2Bに接続されていないと判定するため(ステップS301:No)、処理はステップS337へ進む。一方で、コンピュータ装置2Bの電源投入後にCPU21がUSBデバイス検出通知を受信しているときは、CPU21は、USBデバイス4がコンピュータ装置2Bに接続されていると判定するため(ステップS301:Yes)、処理はステップS303へ進む。
In step S301, the
ステップS303では、CPU21は、第一リトライカウンタn及び第二リトライカウンタmを「0」にリセットする。第一リトライカウンタn及び第二リトライカウンタmは、メモリ22に記憶されている。
In step S303, the
次いで、ステップS305では、CPU21は、TS実行指示をチップセット23へ送信することにより、チップセット23にトレーニングシーケンスを実行させる。チップセット23は、CPU21から送信されたTS実行指示に従ってUSBデバイス4との間でトレーニングシーケンスを実行する。チップセット23は、トレーニングシーケンスの実行中において、USBデバイス4との間で所定の信号を送受信することにより、コンピュータ装置2BとUSBデバイス4との通信状態を示す値を実測する。例えば、チップセット23は、コンピュータ装置2BとUSBデバイス4との通信状態を示す値として、チップセット23とUSBデバイス4との間のリンクスピードを実測し、リンクスピード実測値を通信状態実測値として取得する。チップセット23は、取得したリンクスピード実測値をリンクステータスレジスタ232に格納する。また、チップセット23は、トレーニングシーケンスを実行した結果、USBデバイス4がリンクアップした場合は、リンクステータスレジスタ232に記憶されているリンクアップ状態フラグを「0」(リンクダウン)から「1」(リンクアップ)に更新する。
Next, in step S305, the
次いで、ステップS307では、CPU21は、リンクステータスレジスタ232に記憶されているリンクアップ状態フラグを確認し、USBデバイス4がリンクアップしているか否かを判定する。リンクアップ状態フラグが「0」のときは、CPU21は、USBデバイス4がリンクアップしていないと判定するため(ステップS307:No)、処理はステップS309へ進む。一方で、リンクアップ状態フラグが「1」のときは、CPU21は、USBデバイス4がリンクアップしていると判定するため(ステップS307:Yes)、処理はステップS319へ進む。
Next, in step S307, the
ステップS309では、CPU21は、第一リトライカウンタnが所定回数N未満(但し、Nは2以上の整数)であるか否かを判定する。所定回数Nはメモリ22に予め記憶されており、例えば「4」にセットされている。第一リトライカウンタnが所定回数N未満である場合は(ステップS309:Yes)、処理はステップS311へ進み、第一リトライカウンタnが所定回数N以上である場合は(ステップS309:No)、処理はステップS337へ進む。
In step S309, the
ステップS311では、CPU21は、USBデバイス4の電源をオフにした後、再びオンにしてUSBデバイス4を再起動させる。
In step S<b>311 , the
次いで、ステップS313では、CPU21は、USBポート26をリセットする。
Next, in step S313, the
次いで、ステップS315では、CPU21は、TS実行指示をチップセット23へ送信することにより、チップセット23にトレーニングシーケンスを実行させる。チップセット23は、CPU21から送信されたTS実行指示に従ってUSBデバイス4との間でトレーニングシーケンスを実行する。チップセット23は、トレーニングシーケンスの実行中において、チップセット23とUSBデバイス4との間のリンクスピード(つまり、コンピュータ装置2BとUSBデバイス4との間のリンクスピード)を実測し、リンクスピード実測値を取得する。そして、チップセット23は、取得したリンクスピード実測値によって、リンクステータスレジスタ232に格納されているリンクスピード実測値を更新する。また、チップセット23は、トレーニングシーケンスを実行した結果、USBデバイス4がリンクアップした場合は、リンクステータスレジスタ232に記憶されているリンクアップ状態フラグを「0」(リンクダウン)から「1」(リンクアップ)に更新する。
Next, in step S315, the
次いで、ステップS317では、CPU21は、第一リトライカウンタnをインクリメントする。ステップS317の処理後、処理はステップS307に戻る。
Next, in step S317, the
一方で、ステップS319では、CPU21は、チップセット能力値をケイパビリティレジスタ231から取得する。チップセット能力値は予めケイパビリティレジスタ231に記憶されている。例えば、ケイパビリティレジスタ231には、チップセット能力値として、チップセット23がUSBデバイス4と通信可能な最大リンクスピード(つまり、コンピュータ装置2BがUSBデバイス4と通信可能な最大リンクスピード)が記憶されており、CPU21は、ケイパビリティレジスタ231に記憶されている最大リンクスピードをケイパビリティレジスタ231から取得する。
On the other hand, in step S<b>319 , the
次いで、ステップS321では、CPU21は、USBデバイス4の通信能力を示す値(以下では「USBデバイス能力値」と呼ぶことがある)をUSBデバイス4のメモリ41から取得する。USBデバイス能力値は予めメモリ41に記憶されている。例えば、メモリ41には、USBデバイス能力値として、USBデバイス4がチップセット23と通信可能な最大リンクスピード(つまり、USBデバイス4がコンピュータ装置2Bと通信可能な最大リンクスピード)が記憶されており、CPU21は、メモリ41に記憶されている最大リンクスピードをメモリ41から取得する。
Next, in step S<b>321 , the
次いで、ステップS323では、CPU21は、ステップS319で取得したチップセット能力値と、ステップS321で取得したUSBデバイス能力値とを比較し、チップセット能力値及びUSBデバイス能力値のうち小さい方の値を通信状態期待値に設定する。例えば、CPU21は、チップセットリンクスピードとUSBデバイス4が通信可能な最大リンクスピード(以下では「USBリンクスピード」と呼ぶことがある)とを比較し、チップセットリンクスピード及びUSBリンクスピードのうち小さい方のリンクスピードをリンクスピード期待値に設定する。そして、CPU21は、設定したリンクスピード期待値をメモリ22に格納する。
Next, in step S323, the
次いで、ステップS325では、CPU21は、通信状態実測値と通信状態期待値とを比較し、通信状態実測値が通信状態期待値に等しいか否かを判定する。例えば、CPU21は、リンクステータスレジスタ232に格納されているリンクスピード実測値とメモリ22に格納されているリンクスピード期待値とを比較する。そして、CPU21は、リンクスピード実測値がリンクスピード期待値に等しい場合に、通信状態実測値が通信状態期待値に等しいと判定する。一方で、CPU21は、リンクスピード実測値がリンクスピード期待値と異なる場合に、通信状態実測値が通信状態期待値と異なると判定する。通信状態実測値が通信状態期待値に等しい場合は(ステップS325:Yes)、処理はステップS337へ進み、通信状態実測値が通信状態期待値と異なる場合は(ステップS325:No)、処理はステップS327へ進む。
Next, in step S325, the
ステップS327では、CPU21は、第二リトライカウンタmが所定回数M未満(但し、Mは2以上の整数)であるか否かを判定する。所定回数Mはメモリ22に予め記憶されており、例えば「4」にセットされている。第二リトライカウンタmが所定回数M未満である場合は(ステップS327:Yes)、処理はステップS329へ進み、第二リトライカウンタmが所定回数M以上である場合は(ステップS327:No)、処理はステップS337へ進む。
In step S327, the
ステップS329では、CPU21は、USBデバイス4の電源をオフにした後、再びオンにしてUSBデバイス4を再起動させる。
In step S<b>329 , the
次いで、ステップS331では、CPU21は、USBポート26をリセットする。
Next, in step S331, the
次いで、ステップS333では、CPU21は、TS実行指示をチップセット23へ送信することにより、チップセット23にトレーニングシーケンスを実行させる。チップセット23は、CPU21から送信されたTS実行指示に従ってUSBデバイス4との間でトレーニングシーケンスを実行する。チップセット23は、トレーニングシーケンスの実行中において、チップセット23とUSBデバイス4との間のリンクスピードを実測し、リンクスピード実測値を取得する。チップセット23は、取得したリンクスピード実測値によって、リンクステータスレジスタ232に格納されているリンクスピード実測値を更新する。
Next, in step S333, the
次いで、ステップS335では、CPU21は、第二リトライカウンタmをインクリメントする。ステップS335の処理後、処理はステップS325に戻る。
Next, in step S335, the
そして、ステップS337では、CPU21は、OSを起動させる。OSは、コンピュータ装置2Bが有するディスクドライブ(図示せず)に予め記憶されている。
Then, in step S337, the
<コンピュータ装置の動作>
図6は、本開示の実施例2のコンピュータ装置の動作例を示す図である。ここでは、一例として、リンクスピードとして480Mbps,5Gbps,10Gbpsの何れかを採用することが可能である場合について説明する。
<Operation of computer device>
FIG. 6 is a diagram illustrating an operation example of the computer device according to the second embodiment of the present disclosure; Here, as an example, a case where any one of 480 Mbps, 5 Gbps, and 10 Gbps can be adopted as the link speed will be described.
図6に示すように、CPU21は、チップセットリンクスピード=5Gbpsであるチップセット能力値と、USBリンクスピード=10GbpsであるUSBデバイス能力値とを比較する。図6では、チップセットリンクスピード(5Gbps)がUSBリンクスピード(10Gbps)より小さいため、CPU21は、通信状態期待値として、チップセットリンクスピード(5Gbps)をリンクスピード期待値に設定する。
As shown in FIG. 6, the
よって、図6に示すように、CPU21は、リンクスピード実測値=5Gbpsである場合は、通信状態実測値が通信状態期待値に等しいと判定する。また、CPU21は、リンクスピード実測値=480Mbpsである場合は、通信状態実測値が通信状態期待値と異なると判定する。
Therefore, as shown in FIG. 6, the
以上、実施例2について説明した。 The second embodiment has been described above.
[実施例3]
コンピュータ装置2A,2Bでの上記説明における各処理の全部または一部は、各処理に対応するプログラムをCPU21に実行させることによって実現しても良い。例えば、上記説明における各処理に対応するプログラムがメモリ22に記憶され、プログラムがCPU21によってメモリ22から読み出されて実行されても良い。また、プログラムは、任意のネットワークを介してコンピュータ装置2A,2Bに接続されたプログラムサーバに記憶され、そのプログラムサーバからコンピュータ装置2A,2Bにダウンロードされて実行されたり、コンピュータ装置2A,2Bが読み取り可能な記録媒体に記憶され、その記録媒体から読み出されて実行されても良い。コンピュータ装置2A,2Bが読み取り可能な記録媒体には、例えば、メモリカード、USBメモリ、SDカード、フレキシブルディスク、光磁気ディスク、CD-ROM、DVD、及び、Blu-ray(登録商標)ディスク等の可搬の記憶媒体が含まれる。また、プログラムは、任意の言語や任意の記述方法にて記述されたデータ処理方法であり、ソースコードやバイナリコード等の形式を問わない。また、プログラムは必ずしも単一的に構成されるものに限られず、複数のモジュールや複数のライブラリとして分散構成されるものや、OSに代表される別個のプログラムと協働してその機能を達成するものも含む。
[Example 3]
All or part of each process in the above description in the
以上、実施例3について説明した。 The third embodiment has been described above.
以上のように、本開示のコンピュータ装置(実施例1,2のコンピュータ装置2A,2B)は、外部機器(実施例1のPCIeデバイス3、実施例2のUSBデバイス4)を接続可能であり、チップセット(実施例1,2のチップセット23)と、CPU(実施例1,2のCPU21)とを有する。チップセットは、外部機器と通信可能であり、コンピュータ装置と外部機器との通信状態を示す値を実測して通信状態の実測値(実施例1,2の通信状態実測値)を取得する。CPUは、チップセットの通信能力を示す第一能力値(実施例1,2のチップセット能力値)、及び、外部機器の通信能力を示す第二能力値(実施例1のPCIeデバイス能力値、実施例2のUSBデバイス能力値)のうち小さい方の値を通信状態の期待値(実施例1,2の通信状態期待値)に設定し、実測値と期待値とを比較し、実測値が期待値と異なるときに外部機器を再起動させる。
As described above, the computer device of the present disclosure (the
例えば、実施例1のように、実測値、第一能力値、第二能力値、及び、期待値は、コンピュータ装置と外部機器との間のリンクスピード及びリンク幅であり、CPUは、実測値のリンクスピードまたはリンク幅が期待値のリンクスピードまたはリンク幅と異なるときに外部機器を再起動させる。 For example, as in Example 1, the measured value, the first ability value, the second ability value, and the expected value are the link speed and link width between the computer device and the external device, and the CPU is the measured value restart the external device when the link speed or link width of the device is different from the expected link speed or link width.
また例えば、実施例2のように、実測値、第一能力値、第二能力値、及び、期待値は、コンピュータ装置と外部機器との間のリンクスピードであり、CPUは、実測値のリンクスピードが期待値のリンクスピードと異なるときに外部機器を再起動させる。 Also, for example, as in Embodiment 2, the measured value, the first ability value, the second ability value, and the expected value are the link speeds between the computer device and the external device, and the CPU is the link speed of the measured value. Reboot the external device when the speed is different from the expected link speed.
こうすることで、外部機器が接続されたコンピュータ装置において、外部装置との通信状態が期待値とならないときにOSの起動前に外部機器を再起動させることができるため、コンピュータ装置自体の再起動が必要となる事態の発生率を減少させることができる。 By doing this, in the computer device to which the external device is connected, when the communication state with the external device does not reach the expected value, the external device can be restarted before the OS is started, so the computer device itself can be restarted. can reduce the incidence of situations requiring
2A,2B コンピュータ装置
3 PCIeデバイス
4 USBデバイス
21 CPU
23 チップセット
2A,
23 chipsets
Claims (4)
前記外部機器と通信可能なチップセットであって、前記コンピュータ装置と前記外部機器との通信状態を示す値を実測して前記通信状態の実測値を取得する前記チップセットと、
前記チップセットの通信能力を示す第一能力値、及び、前記外部機器の通信能力を示す第二能力値のうち小さい方の値を前記通信状態の期待値に設定し、前記実測値と前記期待値とを比較し、前記実測値が前記期待値と異なるときに前記外部機器を再起動させ、前記外部機器を再起動させた後に前記実測値が前記期待値と一致するか否かの判定を行う処理を複数回実行し、複数回実行する前記処理の最中に前記実測値が前記期待値と一致したとき、または、前記実測値が前記期待値と一致することなく前記処理の回数が所定回数に達したときにOSを起動させるCPUと、
を具備するコンピュータ装置。 A computer device to which an external device can be connected,
a chipset capable of communicating with the external device, wherein the chipset measures a value indicating a communication state between the computer device and the external device to acquire the measured value of the communication state;
setting the smaller one of a first capability value indicating the communication capability of the chipset and a second capability value indicating the communication capability of the external device as an expected value of the communication state, and value, restarting the external device when the measured value differs from the expected value, and determining whether or not the measured value matches the expected value after restarting the external device. When the measured value matches the expected value during the process of performing the process to be performed multiple times, or when the measured value does not match the expected value and the process is performed a predetermined number of times a CPU that activates the OS when the count is reached ;
A computer device comprising:
前記CPUは、前記実測値の前記リンクスピードが前記期待値の前記リンクスピードと異なるときに前記外部機器を再起動させる、
請求項1に記載のコンピュータ装置。 the measured value, the first capability value, the second capability value, and the expected value are link speeds between the computer device and the external device;
The CPU restarts the external device when the link speed of the measured value is different from the link speed of the expected value.
2. A computer device as claimed in claim 1.
前記CPUは、前記実測値の前記リンクスピードまたは前記リンク幅が前記期待値の前記リンクスピードまたは前記リンク幅と異なるときに前記外部機器を再起動させる、
請求項1に記載のコンピュータ装置。 The measured value, the first capability value, the second capability value, and the expected value are the link speed and link width between the computer device and the external device,
The CPU restarts the external device when the link speed or the link width of the actual value is different from the link speed or the link width of the expected value.
2. A computer device as claimed in claim 1.
前記コンピュータ装置と前記外部機器との通信状態を示す値を実測して前記通信状態の実測値を取得し、
前記コンピュータ装置の通信能力を示す第一能力値、及び、前記外部機器の通信能力を示す第二能力値のうち小さい方の値を前記通信状態の期待値に設定し、
前記実測値と前記期待値とを比較し、
前記実測値が前記期待値と異なるときに前記外部機器を再起動させ、
前記外部機器を再起動させた後に前記実測値が前記期待値と一致するか否かの判定を行う処理を複数回実行し、複数回実行する前記処理の最中に前記実測値が前記期待値と一致したとき、または、前記実測値が前記期待値と一致することなく前記処理の回数が所定回数に達したときにOSを起動させる、
再起動方法。 A computer device to which an external device can be connected,
measuring a value indicating a communication state between the computer device and the external device to acquire the measured value of the communication state;
setting the smaller value of the first capability value indicating the communication capability of the computer device and the second capability value indicating the communication capability of the external device as the expected value of the communication state;
Comparing the measured value and the expected value,
restarting the external device when the measured value differs from the expected value ;
After restarting the external device, a process of determining whether the measured value matches the expected value is executed a plurality of times, and the measured value changes to the expected value while the process is executed a plurality of times. or when the number of times of the processing reaches a predetermined number without the actual measured value matching the expected value,
How to reboot.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2019135516A JP7324637B2 (en) | 2019-07-23 | 2019-07-23 | Computer device and restart method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2019135516A JP7324637B2 (en) | 2019-07-23 | 2019-07-23 | Computer device and restart method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2021018731A JP2021018731A (en) | 2021-02-15 |
| JP7324637B2 true JP7324637B2 (en) | 2023-08-10 |
Family
ID=74563738
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2019135516A Active JP7324637B2 (en) | 2019-07-23 | 2019-07-23 | Computer device and restart method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7324637B2 (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP7574115B2 (en) | 2021-03-17 | 2024-10-28 | 株式会社Pfu | Computer equipment |
| CN115061558B (en) * | 2022-06-16 | 2023-08-15 | 飞腾信息技术有限公司 | Hot reset method and device of PCIE equipment, storage medium and PCIE equipment |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008547362A (en) | 2005-06-29 | 2008-12-25 | インテル コーポレイション | Point-to-point link negotiation method and apparatus |
| JP2009259217A (en) | 2008-03-18 | 2009-11-05 | Ricoh Co Ltd | Data processing circuit, power saving method, power saving program, recording medium, and apparatus |
| JP2013117930A (en) | 2011-12-05 | 2013-06-13 | Hitachi Ltd | Computer and method for controlling computer |
| JP2013162155A (en) | 2012-02-01 | 2013-08-19 | Nec Access Technica Ltd | Communication control device, communication control method, and communication control program |
| US20160077841A1 (en) | 2014-09-17 | 2016-03-17 | Dell Products L.P. | Systems and methods for in-situ fabric link optimization in a modular information handling system chassis |
| CN106649021A (en) | 2016-11-25 | 2017-05-10 | 北京计算机技术及应用研究所 | Testing device for PCIe slave device |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3405896B2 (en) * | 1997-01-30 | 2003-05-12 | 松下電器産業株式会社 | Device connection configuration management device |
-
2019
- 2019-07-23 JP JP2019135516A patent/JP7324637B2/en active Active
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008547362A (en) | 2005-06-29 | 2008-12-25 | インテル コーポレイション | Point-to-point link negotiation method and apparatus |
| JP2009259217A (en) | 2008-03-18 | 2009-11-05 | Ricoh Co Ltd | Data processing circuit, power saving method, power saving program, recording medium, and apparatus |
| JP2013117930A (en) | 2011-12-05 | 2013-06-13 | Hitachi Ltd | Computer and method for controlling computer |
| JP2013162155A (en) | 2012-02-01 | 2013-08-19 | Nec Access Technica Ltd | Communication control device, communication control method, and communication control program |
| US20160077841A1 (en) | 2014-09-17 | 2016-03-17 | Dell Products L.P. | Systems and methods for in-situ fabric link optimization in a modular information handling system chassis |
| CN106649021A (en) | 2016-11-25 | 2017-05-10 | 北京计算机技术及应用研究所 | Testing device for PCIe slave device |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2021018731A (en) | 2021-02-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9442876B2 (en) | System and method for providing network access for a processing node | |
| US9122501B1 (en) | System and method for managing multiple bios default configurations | |
| CN104185836B (en) | Method and system for verifying proper operation of computing device after system change | |
| US9672112B2 (en) | Backing up firmware during initialization of device | |
| CN105814541B (en) | Computer equipment and method for starting memory of computer equipment | |
| US10372460B2 (en) | System and method for baseboard management controller assisted dynamic early host video on systems with a security co-processor | |
| TWI522834B (en) | System and method for operating system agnostic hardware validation | |
| US9542201B2 (en) | Network bios management | |
| US20170031694A1 (en) | System and method for remote system configuration managment | |
| US10198332B2 (en) | System on chip integrity verification method and system | |
| US8880747B2 (en) | Endpoint device discovery system | |
| CN119861985B (en) | Server startup method, device, storage medium and program product | |
| CN114968628B (en) | Method and system for reducing downtime | |
| US20180210783A1 (en) | Information processing apparatus, control method of the same, and storage medium | |
| JP7324637B2 (en) | Computer device and restart method | |
| CN101620580B (en) | Computer system and control method of the same | |
| CN115291957B (en) | Initialization method and device of multiprocessor mainboard | |
| EP2973139B1 (en) | Security co-processor boot performance | |
| US10509656B2 (en) | Techniques of providing policy options to enable and disable system components | |
| JP2013025440A (en) | Information processor and fault processing method | |
| US20110196992A1 (en) | Method for dismounting a storage device, and computer program product and electronic apparatus for implementing the method | |
| CN110383260A (en) | Functional status of devices coupled to a computer bus | |
| CN114328313A (en) | Information transmission method and system | |
| CN102455970A (en) | Multi-peripheral boot implementation method, device and system with reliability detection function |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220316 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230127 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230221 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230421 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20230725 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230731 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7324637 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |