JP2015524122A - ピーシーアイエクスプレスのエンドポイントデバイスにアクセスするための方法、コンピューターシステム、および、装置 - Google Patents

ピーシーアイエクスプレスのエンドポイントデバイスにアクセスするための方法、コンピューターシステム、および、装置 Download PDF

Info

Publication number
JP2015524122A
JP2015524122A JP2015517591A JP2015517591A JP2015524122A JP 2015524122 A JP2015524122 A JP 2015524122A JP 2015517591 A JP2015517591 A JP 2015517591A JP 2015517591 A JP2015517591 A JP 2015517591A JP 2015524122 A JP2015524122 A JP 2015524122A
Authority
JP
Japan
Prior art keywords
access request
endpoint device
pcie endpoint
response message
message
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.)
Granted
Application number
JP2015517591A
Other languages
English (en)
Other versions
JP5932146B2 (ja
Inventor
小宇 ▲葛▼
小宇 ▲葛▼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of JP2015524122A publication Critical patent/JP2015524122A/ja
Application granted granted Critical
Publication of JP5932146B2 publication Critical patent/JP5932146B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3041Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is an input/output interface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/004Error avoidance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3027Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/105Program control for peripheral devices where the programme performs an input/output emulation function
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/40Bus coupling
    • G06F2213/4004Universal serial bus hub with a plurality of upstream ports

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本発明の実施例は、ピーシーアイエクスプレス(PCIe)エンドポイントデバイスにアクセスするための方法、コンピューターシステム、および、装置に関する。プロシージャによって送付されたアクセスリクエストのメッセージ状態がモニターされ、アクセスリクエストに対してPCIeエンドポイントデバイスが何らレスポンスメッセージを送付していないものと判断された場合には、アクセスリクエストに対するシミュレーションレスポンスメッセージがプロセッサに対して送付される。それゆえ、シミュレーションレスポンスメッセージに従って、プロセッサは、以前に送付されたアクセスリクエストに対応するプロシージャの完了を確認することができ、アクセスリクエストのタイミングに対するタイマーをシャットダウンして、バッファーされたアクセスリクエストをクリアすることができる。これにより、プロセッサにおける通常オペレーションを保持して、プロセッサにおけるアクセスリクエストの累積から生じるMCEリセット問題を回避している。

Description

本発明は、コンピューターテクノロジーに関する。より特定的には、ピーシーアイエクスプレス(PCIe)のエンドポイントデバイスにアクセスするための方法、コンピューターシステム、および、装置に関する。
ペリフェラルコンポーネントインターコネクトエクスレス(Periferal Component Interconnect Express:ピーシーアイエクスプレス、PCIe)は、コンピューター及びコミュニケーションプラットフォーム上で使用される高性能システムバスである。PCIeバスは、CPUと周辺機器が相互接続されているシステムに広く適用することができ、コンピューター及びストレージデバイスにおいて主要なサービスチャネルとして働く。ネットワークアダプターデバイス又は半導体ディスク(Solid State Disk、SSD)といった、PCIeバスを通じてCPUと相互接続される多くのタイプの周辺機器が存在する。ここにおいて、そうしたデバイスは、一様にPCIeエンドポイントデバイスと呼ばれるものである。
PCIeバスは、サーバー又はストレージシステムのバスインターフェイスとして広く適用されている。システムが通常に稼働している場合、オンライン拡張とメンテナンスが要求されるため、PCIeエンドポイントデバイスは電力を中断することなく追加または除去される必要がある。これは、ホットスワッピング(hot−swapping)として知られている。従来技術において、PCIeホットスワッピングは以下の工程に従っている。オペレーターがボタンを押すことによってホットスワップリクエストを送付する。ホットスワップコントローラーは、ホットスワップイベントを知って、システムにおいてPCIeエンドポイントデバイスにアクセスする可能性のある全てのデバイスに対してPCIeエンドポイントデバイスへのアクセスを中止するように通知して、ホットスワップされる必要があるPCIeエンドポイントデバイスのリソースを切り離す。そして、PCIeエンドポイントデバイスは電源オフされ、オペレーターがPCIeエンドポイントデバイスを引き抜く。
従来技術では、PCIeエンドポイントデバイスのホットスワッピングには、通常のシステム稼働を保証するために、事前の通知が必要とされる。しかしながら、近年において、PCIeバスは、イントラシステム(intra−system)の相互接続からインターシステム(inter−system)の相互接続へと発展しており、外部ケーブルといった周辺機器の適用が増加している。ケーブルは異常にドロップする傾向があり、PCIeエンドポイントデバイスは事前の通知なしに異常にオフラインとなることがある。加えて、半導体ディスクSSDを使用するユーザーにとって、システムに直接的にアクセスすることは、ますます通常のことになっている。ユーザーの習慣といった理由により、ユーザーは事前の通知なくSSDディスクを追加したり、引き抜いたりする。しかしながら、PCIeエンドポイントデバイスが突然、異常にオフラインとなる上述の状況のために、CPUがPCIeエンドポイントデバイスに読み出し又は書き込みインストラクションを送付した場合、その関連のインストラクションは常に実行されるべき状態にある。PCIeエンドポイントデバイスにアクセスするためにCPUによって送付されたインストラクションがある程度の累積された場合、CPUは、システム全体が異常であると考え、マシンチェック例外(Machine check exception、MCE)エラーをレポートして、リセットを実行する。
本発明の実施例は、ピーシーアイエクスプレス(PCIe)のエンドポイントデバイスが異常にオフラインとなった後でCPUをリセットすることを妨げるために、PCIeエンドポイントデバイスにアクセスするための方法、コンピューターシステム、および、装置を提供する。
第1の態様において、本発明の実施例は、以下のコンピューターシステムを提供する。すなわち、
プロセッサと;
ピーシーアイエクスプレス(PCIe)エンドポイントデバイスを接続するように構成されたPCIeバスと、を含み、
プロセッサは、PCIeエンドポイントデバイスにアクセスするためのオペレーションインストラクションを獲得して、オペレーションインストラクションに従ってPCIeエンドポイントデバイスに対してアクセスリクエストを送付するように構成されており、
コンピューターシステムは、さらに、シミュレーションレスポンスモジュールを含み、
シミュレーションレスポンスモジュールは、アクセスリクエストのメッセージ状態をモニターし、プリセットトリガー条件が満たされた場合にアクセスリクエストのメッセージ状態を判断するように構成され、かつ、
アクセスリクエストのメッセージ状態が「未完了」であれば、アクセスリクエストに対するシミュレーションレスポンスメッセージを獲得して、シミュレーションレスポンスメッセージをプロセッサに対して送付するように構成されており、
アクセスリクエストのメッセージ状態は「完了」又は「未完了」から成り、「未完了」は、PCIeエンドポイントデバイスがアクセスリクエストに対して何らレスポンスメッセージを送付していないことを示す、ことを特徴とするコンピューターシステム。
第1の態様に関して、第1に可能な実施例において、シミュレーションレスポンスモジュールは、プロセッサとPCIeエンドポイントデバイスとの間の信号伝送パスに設定され、プロセッサによって送付されたアクセスリクエストを受け取り、アクセスリクエストに対するレスポンスメッセージをPCIeエンドポイントデバイスから受け取ったかどうかをモニターするように構成され、かつ、 アクセスリクエストに対するレスポンスメッセージをPCIeエンドポイントデバイスから受け取った場合に、アクセスリクエストのメッセージ状態を「完了」として記録するように構成されている。
第1の態様、または、第1の態様の第1に可能な実施例に関して、第2に可能な実施例において、コンピューターシステムは、さらに、複数のPCIeエンドポイントデバイスをプロセッサに接続するように構成されているPCIeスイッチを含み、該PCIeスイッチの下流ポートは、PCIeバスを通じて複数のPCIeエンドポイントデバイスに接続されており、シミュレーションレスポンスモジュールの一つのポートが、PCIeバスを通じてPCIeスイッチの上流ポートに接続されており、シミュレーションレスポンスモジュールの別のポートは、プロセッサに接続されている。
第1の態様、または、第1の態様の第1に可能な実施例、もしくは、第1の態様の第2に可能な実施例に関して、第3に可能な実施例において、アクセスリクエストに対するシミュレーションレスポンスメッセージは、第1タイプのシミュレーションレスポンスメッセージ又は第2タイプのシミュレーションレスポンスメッセージを含んでおり、第1タイプのシミュレーションレスポンスメッセージはPCIeエンドポイントデバイスがアクセスリクエストをサポートしていないことを示し、第2タイプのシミュレーションレスポンスメッセージはPCIeエンドポイントデバイスが異常であることを示しており、プロセッサは、さらに、第1タイプのシミュレーションレスポンスメッセージ又は第2タイプのシミュレーションレスポンスメッセージに従って、PCIeエンドポイントデバイスに対する後続のアクセスを止めるように構成されている。
第1の態様、または、第1の態様の第1に可能な実施例、もしくは、第1の態様の第2に可能な実施例に関して、第4に可能な実施例において、プリセットトリガー条件は、PCIeエンドポイントデバイスが異常にオフラインになることであり、それに応じて、シミュレーションレスポンスモジュールは、さらに、PCIeエンドポイントデバイスが異常にオフラインになったかどうかをモニターし、PCIeエンドポイントデバイスが異常にオフラインになったものと判断された場合に、アクセスリクエストのメッセージ状態を判断するように構成されている。
第1の態様、または、第1の態様の第1に可能な実施例、もしくは、第1の態様の第2に可能な実施例に関して、第5に可能な実施例において、プリセットトリガー条件は、アクセスリクエストのタイマーのタイムアウトであり、シミュレーションレスポンスモジュールは、さらに、プロセッサによって送付されたアクセスリクエストの時間を計るタイマーをスタートし、タイマーのタイムアウトの際にアクセスリクエストのメッセージ状態を判断するように構成されている。
第2の態様において、ピーシーアイエクスプレス(PCIe)エンドポイントデバイスにアクセスするための方法が、さらに、提供される。PCIeバスを通じてPCIeエンドポイントデバイスがコンピューターシステムにアクセスする方法であって、コンピューターの中のプロセッサがアクセスリクエストをPCIeエンドポイントデバイスに対して送付した後で、アクセスリクエストのメッセージ状態をモニターするステップであり、アクセスリクエストのメッセージ状態は「完了」又は「未完了」から成り、「未完了」は、PCIeエンドポイントデバイスがアクセスリクエストに対して何らレスポンスメッセージを送付していないことを示すステップと;プリセットトリガー条件が満たされた場合にアクセスリクエストのメッセージ状態を判断するステップと;アクセスリクエストのメッセージ状態が「未完了」であれば、アクセスリクエストに対するシミュレーションレスポンスメッセージを獲得するステップと;アクセスリクエストに対するシミュレーションレスポンスメッセージをプロセッサに対して送付するステップと、を含む。
第2の態様に関して、第1に可能な実施例において、方法は、さらに、プロセッサによって送付されたアクセスリクエストを受け取るステップ、を含み、アクセスリクエストのメッセージ状態をモニターするステップは:アクセスリクエストに対するレスポンスメッセージをPCIeエンドポイントデバイスから受け取ったかどうかをモニターするステップと、アクセスリクエストに対するレスポンスメッセージをPCIeエンドポイントデバイスから受け取った場合に、アクセスリクエストのメッセージ状態を「完了」として記録するステップと、を含む。
第2の態様、または、第2の態様の第1に可能な実施例に関して、第2に可能な実施例において、プリセットトリガー条件は、PCIeエンドポイントデバイスが異常にオフラインになることであり、方法は、さらに、PCIeエンドポイントデバイスが異常にオフラインになったかどうかをモニターするステップと、PCIeエンドポイントデバイスが異常にオフラインになったものと判断された場合に、アクセスリクエストのメッセージ状態の判断を実行するステップと、を含む。
第2の態様、または、第2の態様の第1に可能な実施例に関して、第3に可能な実施例において、プリセットトリガー条件は、アクセスリクエストのタイマーのタイムアウトであり、方法は、さらに、プロセッサによって送付されたアクセスリクエストの時間を計るタイマーをスタートするステップと、タイマーのタイムアウトの際にアクセスリクエストのメッセージ状態の判断を実行するステップと、を含む。
第3の態様において、コンピューターシステムに適用され、ピーシーアイエクスプレス(PCIe)エンドポイントデバイスがPCIeバスを通じてコンピューターシステムにアクセスするシミュレーションレスポンス装置は、コンピューターの中のプロセッサがアクセスリクエストをPCIeエンドポイントデバイスに対して送付した後で、アクセスリクエストのメッセージ状態をモニターするように構成されたモニターユニットであり、アクセスリクエストのメッセージ状態は「完了」又は「未完了」から成り、「未完了」は、PCIeエンドポイントデバイスがアクセスリクエストに対して何らレスポンスメッセージを送付していないことを示すモニターユニットと;プリセットトリガー条件が満たされた場合にアクセスリクエストのメッセージ状態を判断するように構成された判断ユニットと;アクセスリクエストのメッセージ状態が「未完了」であれば、アクセスリクエストに対するシミュレーションレスポンスメッセージを獲得するように構成された獲得ユニットと;アクセスリクエストに対するシミュレーションレスポンスメッセージをプロセッサに対して送付するように構成されたレスポンスユニットと、を含む。
第3の態様の第1に可能な実施例に関して、第2の実施例において、装置は、さらに、プロセッサによって送付されたアクセスリクエストを受け取るように構成されたインタラクトユニット、を含み、モニターユニットは、特に、インタラクトユニットが、PCIeエンドポイントデバイスによって送付されたアクセスリクエストに対するレスポンスメッセージを受け取るかどうかをモニターし、アクセスリクエストに対するレスポンスメッセージをPCIeエンドポイントデバイスから受け取った場合に、アクセスリクエストのメッセージ状態を「完了」として記録するするように構成されている。
第4の態様において、コンピューターは、プロセッサ、メモリー、バス、および、コミュニケーションインターフェイスを含む。メモリーは、コンピューターで実行可能なインストラクションを保管するように構成されており、プロセッサは、バスを通じてメモリーに対して接続されており、コンピューターが動作する場合に、プロセッサは、メモリーの中に保管されたコンピューターで実行可能なインストラクションを実行して、コンピューターが、第2の態様において提供されるPCIeエンドポイントデバイスにアクセスする方法を実施するコンピューター。
第5の態様において、コンピューターで実行可能なインストラクションを含む、コンピューターで読取り可能な媒体が提供される。コンピューターのプロセッサが、コンピューターで実行可能なインストラクションを実行する場合に、コンピューターが、第2の態様において提供されるPCIeエンドポイントデバイスにアクセスする方法を実施するコンピューターで読取り可能な媒体である。
本発明の実施例においては、プロセッサから送付されたアクセスリクエストのメッセージ状態をモニターすることができ、PCIeエンドポイントデバイスがアクセスリクエストに対して何のレスポンスメッセージも送付しないと決定された場合、アクセスリクエストに対するシミュレーションレスポンスメッセージがプロセッサに送付される。従って、シミュレーションレスポンスメッセージに応じて、プロセッサは、以前に送付されたアクセスリクエストに対応するプロシージャ(procedure)の完了を確認することができ、アクセスリクエストのタイミングにためのタイマーをシャットダウンし、バッファーされたアクセスリクエストをクリアする。それによって、プロセッサにおける通常処理を保持し、プロセッサにおけるアクセスリクエストの累積から生じるMCEのリセット問題を回避することができる。
本発明の実施例に係る技術的ソリューションをより明確に説明するように、実施例または従来技術を記述するために必要な添付の図面について以降に簡単に紹介する。明らかに、以降の説明において添付に図面は、本発明のいくつかの実施例を単に示すものであって、当業者であれば、創造的な努力をすることなく、添付の図面から他の図面でさえ引き出すことができる。
図1は、本発明の実施例に従ったコンピューターシステムの構成ダイヤグラムである。 図2は、本発明の実施例に従った別のコンピューターシステムの構成ダイヤグラムである。 図3は、本発明の実施例に従った方法のフローチャートである。 図4は、本発明の実施例に従った別の方法のフローチャートである。 図5は、本発明の実施例に従った別の方法のフローチャートである。 図6は、本発明の実施例に従ったシミュレーションレスポンス装置の構成ダイヤグラムである。 図7は、本発明の実施例に従った別のシミュレーションレスポンス装置の構成ダイヤグラムである。 図8は、本発明の実施例に従ったコンピューターの構成ダイヤグラムである。
本発明の実施例は、ピーシーアイエクスプレスPCIeのエンドポイントデバイスにアクセスするための方法、コンピューターシステム、および、装置を提供する。PCIeエンドポイントデバイスがホットスワップされる必要がある場合に、処理を実行する以前にシステムに通知することなく、PCIeエンドポイントデバイスとプロセッサとの間の接続を直接的にカットオフするようにである。この場合、プロセッサは、MCEリセットのリスクを負わない。
本発明の実施例において、PCIeエンドポイントデバイスが故障によってシステムから直接的に取り外されたり、オフラインされた状態は、統一的に、PCIeエンドポイントデバイスの異常オフラインと呼ばれる。
本発明の実施例に係るシステムアーキテクチャー
図1は、本発明の実施例に従ったコンピューターシステムの構成ダイヤグラムである。図1に示されたコンピューターシステムは、CPU110とメモリー120を含んでいる。PCIeエンドポイントデバイス130は、PCIeバス140を通じてCPU110に接続されており、コンピューターシステムに取り付けたり、取り外したりすることができる。PCIeエンドポイントデバイス130は、グラフィック処理ユニット131、ネットワークアダプター132、半導体ディスク133、および、ビデオアクセラレーションコンポーネント134といった、種々のタイプであってよい。
図1に示されたコンピューターシステムにおいて、PCIeエンドポイントデバイス130とCPU110は、PCIeドメインを構成しており、PCIeドメインにおけるすべてのデバイスは、PCIeバスを通じてCPU110に接続されており、CPU110によってコントロールされる。
PCIeエンドポイントデバイス130にアクセスするためのオペレーションインストラクションを得た後で、CPU110は、オペレーションインストラクションに従ってPCIeエンドポイントデバイス130に対してアクセスリクエストを送付し、PCIeエンドポイントデバイス130のレジスター上で読み出しオペレーション又は書き込みオペレーションを実行するようにリクエストしている。PCIeエンドポイントデバイス130が異常にオフラインとなる場合、CPU110は、PCIeエンドポイントデバイス130から、CPU110のアクセスリクエストに対するレスポンスメッセージを受け取ることができない。この場合、CPUは、アクセスリクエストを未完了タスクであるとみなす。こうした未完了タスクがある程度CPUの中に累積された場合、CPUは、システム全体を異常であるとみなし、MCEエラーをレポートして、リセットされる。
本発明の実施例において、シミュレーションレスポンスモジュール160がシステムに追加される。シミュレーションレスポンスモジュール160は、以下のように構成されている。つまり、CPU110がPCIeエンドポイントデバイス130に対するアクセスリクエストを送付した後で、CPU110によって送付されたアクセスリクエストのメッセージ状態をモニターする。プリセットトリガー条件が満たされている場合、アクセスリクエストのメッセージ状態がまだ「未完了」であれば、すなわち、PCIeエンドポイントデバイス130がアクセスリクエストに対して何らレスポンスメッセージを送付しないとすれば、シミュレーションレスポンスモジュール160が、アクセスリクエストに対するシミュレーションレスポンスメッセージを獲得して、CPU110にシミュレーションレスポンスメッセージを送付する。シミュレーションレスポンスメッセージとアクセスリクエストは、同一のメッセージヘッダーを有しており、アクセスリクエストはシミュレーションレスポンスメッセージに対応するものである。従って、CPUは以前に送付されたアクセスリクエストに対応するプロシージャを完了したものとみなして、アクセスリクエストのタイミングのためのタイマーをシャットダウンし、CPUによってバッファーされたアクセスリクエストをクリアする。
アクセスリクエストのメッセージ状態は、「完了」または「未完了」を含んでいる。ここで、「完了」は、PCIeエンドポイントデバイスがアクセスリクエストに対するレスポンスメッセージを送付したことを示し、「未完了」は、PCIeエンドポイントデバイスが何らアクセスリクエストに対するレスポンスメッセージを送付していないことを示している。
加えて、シミュレーションレスポンスモジュール160は、さらに、以下のように構成されている。つまり、プロセッサがPCIeエンドポイントデバイスに対してアクセスリクエストを送付した後で、アクセスリクエストに対するシミュレーションレスポンスメッセージを生成し、アクセスリクエストに対するシミュレーションレスポンスメッセージをバッファーする。続いて、シミュレーションレスポンスモジュール160は、アクセスリクエストに対する、ローカルにバッファーされたシミュレーションレスポンスメッセージを直接的に獲得する。
本発明の実施例において、シミュレーションレスポンスモジュールは、CPUによって送付されたアクセスメッセージのメッセージ状態をモニターすることができ、PCIeエンドポイントデバイスがアクセスリクエストに対するメッセージを何ら送付していないものと判断する場合に、アクセスリクエストに対するシミュレーションレスポンスメッセージをCPUに送付する。シミュレーションレスポンスメッセージに従って、CPUは、以前に送付されたアクセスリクエストに対応するプロシージャーの完了を確認することができ、アクセスリクエストのタイミングのためのタイマーをシャットダウンし、バッファーされたアクセスリクエストをクリアする。それによって、プロセッサにおける通常処理を保持し、プロセッサにおけるアクセスリクエストの累積から生じるMCEのリセット問題を回避することができる。
本発明の特定の実施例において、シミュレーションレスポンスモジュール160は、PCIeエンドポイントデバイス130からアクセスリクエストに対するレスポンスメッセージを受け取ったかどうかをモニターすることによってアクセスリクエストのメッセージ状態をモニターすることができ、シミュレーションレスポンスモジュールが、PCIeエンドポイントデバイスからアクセスリクエストに対するレスポンスメッセージを受け取った場合、シミュレーションレスポンスモジュールは、アクセスリクエストのメッセージ状態を「完了」として記録する。
本発明の特定の実施例において、シミュレーションレスポンスモジュール160は、CPU110とそれぞれのPCIeエンドポイントデバイス130との間の伝送パス(path)において設定され、CPU110とそれぞれのPCIeエンドポイントデバイス130との間の全てのメッセージが、シミュレーションレスポンスモジュール160を通じてパスしていることを保証する。このようにして、シミュレーションレスポンスモジュール160は、PCIeエンドポイントデバイス130からアクセスリクエストに対するレスポンスメッセージを受け取ったかどうかをモニターすることによってアクセスリクエストのメッセージ状態をモニターすることができる。別の実施例においては、PCIeエンドポイントデバイス130上でプリコンフィグレーション(pre−configuration)が実行されてよい。レスポンスメッセージをCPU110に送付するときに、PCIeエンドポイントデバイス130が、アクセスリクエストに対するレスポンスメッセージもシミュレーションレスポンスモジュールに送付するようにである。このようにして、シミュレーションレスポンスモジュール160は、また、アクセスリクエストに対するレスポンスメッセージが受け取られたかどうかに応じて、アクセスリクエストのメッセージ状態をモニターすることもできる。本発明の実施例において提供された実施に基づいて、当業者であれば、他の同等又は類似の方法を使用して、シミュレーションレスポンスモジュール160がアクセスリクエストのメッセージ状態をモニターできるようにし得ることが明らかである。
図1に示されるように、シミュレーションレスポンスモジュール160は、CPU110とそれぞれのPCIeエンドポイントデバイス130との間の一つの伝送パスにおいて設定されている。このように、CPU110から送付されたアクセスリクエストは、PCIeエンドポイントデバイス130に到着する以前に、シミュレーションレスポンスモジュール160を通じてパスされることを要する。このように、シミュレーションレスポンスモジュール160は、アクセスリクエストを受け取り、PCIeエンドポイントデバイスによって送付されたメッセージはCPU110に到着する前にシミュレーションレスポンスモジュール160を通じてパスされることを要するので、シミュレーションレスポンスモジュール160は、アクセスリクエストに対するレスポンスメッセージをPCIeエンドポイントデバイスから受け取ったかどうかに応じて、PCIeエンドポイントデバイス130がアクセスリクエストに対するレスポンスメッセージを送付したかどうかを判断して、アクセスリクエストのメッセージ状態を記録する。さらに、本発明の実施例に係る別の特定な実施においては、CPU110によって送付されたアクセスリクエストを受け取った後で、シミュレーションレスポンスモジュール160は、アクセスリクエストをさらにバッファーしてもよい。引き続き、PCIeエンドポイントデバイス130からアクセスリクエストに対するレスポンスメッセージが受け取られた場合、シミュレーションレスポンスモジュール160は、バッファーされたアクセスリクエストに「完了」フラグを付け、または、バッファーされたアクセスリクエストを削除してもよい。プリセットトリガー条件が満たされている場合、シミュレーションレスポンスモジュール160は、アクセスリクエストのメッセージ状態を問い合わせてよい。つまり、バッファーされたアクセスリクエストのフラグを問い合わせるか、または、バッファーされたアクセスリクエストを問い合わせる。アクセスリクエストのフラグがアクセスリクエストが「未完了」であることを示している場合、または、バッファーされたアクセスリクエストが削除されていない場合、シミュレーションレスポンスモジュール160は、アクセスリクエストのメッセージ状態が「未完了」であると判断する。つまり、PCIeエンドポイントデバイス130は、アクセスリクエストに対して何らのレスポンスメッセージも送付しない。従って、シミュレーションレスポンスモジュール160は、アクセスリクエストに対するシミュレーションレスポンスメッセージを獲得して、そのシミュレーションレスポンスメッセージをCPU110に送付する。
CPU110によって送付されたアクセスリクエストを受け取る場合、シミュレーションレスポンスモジュール160は、アクセスリクエストに対するシミュレーションレスポンスメッセージを事前に生成して、アクセスリクエストに関して事前に生成されたアクセスリクエストに対するシミュレーションレスポンスメッセージをバッファーしてもよい。続いて、シミュレーションレスポンスモジュール160は、アクセスリクエストに対するバッファーされたシミュレーションレスポンスメッセージを直接的に獲得する。アクセスリクエストに対するレスポンスメッセージをPCIeエンドポイントデバイス130から何も受け取っていないと判断されるまで、シミュレーションレスポンスモジュール160は、アクセスリクエストに対するシミュレーションレスポンスメッセージを生成しなくてよいことが明らかである。本発明の実施例は、特定の実施方法を限定するものではない。
図2に示されるように、システムにおいて複数のPCIeエンドポイントデバイスが存在する場合、複数のPCIeエンドポイントデバイスは、PCIeスイッチ150を通じてCPU110に接続される。図2に示されるシステムは、図1に示されたコンポーネントだけでなく、PCIeスイッチ150も含んでいる。PCIeスイッチ150の上流ポートは、PCIeバス140を通じてCPU110に接続されており、PCIeスイッチ150の下流ポートは、それぞれのPCIeエンドポイントデバイスのためのPCIeポートを提供する。それぞれのPCIeポートは、PCIeバス140を通じてそれぞれのPCIeエンドポイントデバイスに接続されている。PCIeスイッチ150は、対応するPCIeポートに対してデータを下流にルート(route)するように、そして、それぞれの独立したPCIeポートからCPU110に対してデータを上流にルートするように構成されている。図2において、シミュレーションレスポンスモジュール160は、CPU110とPCIeスイッチ150との間の信号伝送パスにおいて設定され、以下のように構成されてよい。つまり、CPU110によって送付されたアクセスリクエストを受け取り、CPU110によって送付されたアクセスリクエストをバッファーする。アクセスリクエストをPCIeエンドポイントデバイス130に転送して、アクセスリクエストのメッセージ状態をモニターする。アクセスリクエストに対するレスポンスメッセージをPCIeエンドポイントデバイス130から受け取ったと判断する場合、ローカルにバッファーされたアクセスリクエストに「完了」フラグを付ける。そして、プリセットトリガー条件が満たされる場合、アクセスリクエストのバッファーされたフラグ又はバッファーされたアクセスリクエストを問い合わせる。アクセスリクエストのフラグが、アクセスリクエストが「未完了」であることを示す場合、または、バッファーされたアクセスリクエストが削除されていない場合、シミュレーションレスポンスモジュール160は、PCIeエンドポイントデバイス130がアクセスリクエストに対して何らレスポンスメッセージを送付していないと判断して、アクセスリクエストに対するシミュレーションレスポンスメッセージを獲得して、シミュレーションレスポンスメッセージをCPU110に送付する。
上述の実施例において、プリセットトリガー条件は、PCIeエンドポイントデバイス130が異常にオフラインになっているとシミュレーションレスポンスモジュール160が判断することであってよい。この場合、シミュレーションレスポンスモジュール160は、さらに、PCIeエンドポイントデバイスが異常にオフラインになっているかどうかをモニターするように構成されている。図1及び図2に示される実施例において、シミュレーションレスポンスモジュール160は、PCIeエンドポイントデバイス130が異常にオフラインになることを示す通知(PCIeエンドポイントデバイスがシステムから抜き出されたことを示している割り込み通知といったもの)を受け取ったかどうかを判断し、PCIeエンドポイントデバイス130が異常にオフラインになっていることを示す通知に従って、PCIeエンドポイントデバイス130が異常にオフラインになっているものと判断する。代替的に、プリセットトリガー条件は、アクセスリクエストのタイマーのタイムアウトであり得る。この場合、シミュレーションレスポンスモジュール160は、さらに、PCIeエンドポイントデバイス130から送付されたアクセスリクエストのためにタイマーをスタートするように構成され、タイマーのタイムアウトの際に、PCIeエンドポイントデバイス130がアクセスリクエストに対してレスポンスメッセージを送付したかどうかを判断する。図1と図2に示された実施例において、シミュレーションレスポンスモジュール160は、CPU110によって送付されたアクセスリクエストを受け取り、アクセスリクエストをバッファーした後で、アクセスリクエストに対するタイマーをスタートする。
本発明の実施例において、シミュレーションレスポンスモジュールは、アクセスリクエストのメッセージ状態をモニターする。つまり、プリセットトリガー条件が満たされている場合、アクセスリクエストのメッセージ状態がまだ「未完了」であれば、シミュレーションレスポンスモジュールが、アクセスリクエストに対するシミュレーションレスポンスメッセージをCPUに送付する。従って、CPUは、アクセスリクエストに対応するプロシージャが完了したかどうかを判断するためのタイミングを停止して、ローカルにバッファーされたアクセスリクエストをクリアする。それにより、CPUにおける通常処理を保持し、CPUにおけるアクセスリクエスト処理のタイムアウトから生じるMCEのリセット問題を回避している。
上述の全ての実施例において、シミュレーションレスポンスモジュール160からCPU110へ送付されたアクセスリクエストに対するシミュレーションレスポンスメッセージは、第1タイプのシミュレーションレスポンスメッセージ又は第2タイプのシミュレーションレスポンスメッセージを含んでよい。第1タイプのシミュレーションレスポンスメッセージは、PCIeエンドポイントデバイス130がアクセスリクエストをサポートしないことを示しており、第2タイプのシミュレーションレスポンスメッセージは、PCIeエンドポイントデバイス130が異常であることを示している。アクセスリクエストに対するシミュレーションレスポンスメッセージを受け取った後で、CPU110は、さらに、第1タイプのシミュレーションレスポンスメッセージ又は第2タイプのシミュレーションレスポンスメッセージに応じて、PCIeエンドポイントデバイス130のアクセスに失敗したかを判断し、従って、これ以上のデータの読み込みオペレーションを止める。この実施例において、シミュレーションレスポンスメッセージのタイプはさらに区分される。その結果、シミュレーションレスポンスメッセージに応じてアクセスプロシージャの完了を確認しながら、CPUは、さらに、アクセスが成功していないことを確認することができ、従って、関連データにアクセスするオペレーションの次のステップ(例えば、読み出しオペレーション)を止める。それゆえに、PCIeエンドポイントデバイスが異常にオフラインになるシミュレーションにおいても、本発明の実施例はCPUの通常処理を保持して、CPUが不必要なオペレーションを実行することから避ける。これにより、システムリソースの浪費を回避している。
本発明の別の実施例において、特に、CPU110は、アクセスされるPCIeエンドポイントデバイスに対する一つ以上のアクセスリクエストを有してよい。例えば、複数のアクセスリクエストの送付である。この場合、シミュレーションレスポンスモジュール160は、CPUによって送付された複数のアクセスリクエストのそれぞれのメッセージ状態をモニターして、例えば、複数のアクセスリクエストのそれぞれをバッファーし、それぞれのアクセスリクエストに対するレスポンスメッセージを受け取ったかどうかをモニターし、プリセットトリガー条件が満たされている場合、レスポンスメッセージを受け取っていないアクセスリクエストの数量統計を集めて、複数のアクセスリクエストのうちでメッセージ状態が「未完了」であるアクセスリクエストの数量を得て、数量が第1閾値を超えている場合にはアクセスリクエストに対するシミュレーションレスポンスメッセージを獲得し、プロセッサに対してシミュレーションレスポンスメッセージを送付する。この実施例において、一つのアクセスリクエストだけがレスポンスメッセージの受信を欠いている場合、MCEリセットを実行するためにCPUは必要とされない。事実、CPUには許容範囲があり、レスポンスメッセージのないアクセスリクエストの数量が所定の値に累積するまでは、MCEリセットを実行しない。つまり、この実施例では、第1閾値が設定されており、レスポンスメッセージを受け取っていないアクセスリクエストの数量が第1閾値を超えるまで、シミュレーションレスポンスモジュール160はCPUに対してシミュレーションレスポンスメッセージを送付しない。それによって、MCEがCPUをリセットするのを回避している。
シミュレーションレスポンスモジュール160は、ソフトウェア又はハードウェアの形式で実施されてよく、本発明の実施例においては、FPGA(Field−Programmable Gate Array)の形式で実施されてよい。
図1及び図2におけるCPUは単なる例示である。例えば、CPUは、所定の集積回路であってもよい。CPUの形式にかかわらず、CPUは、コンピューターシステムにおいてプロセッサ機能を実施する。本発明の実施例におけるコンピューターシステムは、コンピュータータイプのサーバー、または、スイッチといったルート管理サーバーであってよい。本発明は、コンピューターシステムの特定の実施形式に限定されるものではない。
PCIeエンドポイントデバイスのアクセスプロシージャ
以降では、PCIeエンドポイントデバイスのアクセスプロシージャの実施例について説明する。図3は、本発明の実施例に従ったPCIeエンドポイントデバイスのアクセスプロシージャのフローチャートである。PCIeエンドポイントデバイスは、PCIeバスを通じてコンピューターシステムにアクセスする。プロシージャは、以下のステップを含んでいる。
S301:コンピューターシステムにおけるCPUがPCIeエンドポイントデバイスに対してアクセスリクエストを送付した後で、アクセスリクエストのメッセージ状態をモニターする。
特定的には、アクセスリクエストのメッセージ状態は「完了」又は「未完了」を含んでいる。ここで、「完了」は、PCIeエンドポイントデバイスがアクセスリクエストに対するレスポンスメッセージを送付したことを示しており、「未完了」は、PCIeエンドポイントデバイスがアクセスリクエストに対するレスポンスメッセージを何ら送付していないことを示している。
シミュレーションレスポンスモジュールは、PCIeエンドポイントデバイスからアクセスリクエストに対するレスポンスメッセージを受け取ったかどうかをモニターすることによってアクセスリクエストのメッセージ状態をモニターすることができる。シミュレーションレスポンスモジュールが。PCIeエンドポイントデバイスからアクセスリクエストに対するレスポンスメッセージを受け取った場合に、シミュレーションレスポンスモジュールは、アクセスリクエストのメッセージ状態を「完了」として記録する。
さらに、シミュレーションレスポンスモジュールは、CPUとPCIeエンドポイントデバイスとの間の信号伝送パスに設定されてよい。このように、シミュレーションレスポンスモジュールは、CPUからのアクセスリクエストとPCIeエンドポイントデバイスからのアクセスリクエストに対するレスポンスメッセージの両方を受け取ることができる。シミュレーションレスポンスモジュールは、アクセスリクエストを受け取った後で、アクセスリクエストをバッファーする。続いて、アクセスリクエストに対するレスポンスメッセージを受け取った場合には、シミュレーションレスポンスモジュールはバッファーされたアクセスリクエストに対して「完了」フラグを付けるか、バッファーされたアクセスリクエストを削除する(この場合、アクセスリクエストに対するメッセージ状態は、アクセスリクエストがバッファーされているかどうかに応じてフラグ付けされる。アクセスリクエストがバッファーされている場合は、アクセスリクエストのメッセージ状態は「未完了」であり、バッファーされたアクセスリクエストが削除された場合は、アクセスリクエストのメッセージ状態は「完了」である。)
S302:シミュレーションレスポンスモジュールは、プリセットトリガー条件が満たされている場合に、アクセスリクエストのメッセージ状態を判断する。
プリセットトリガー条件は、アクセスリクエストのタイマーのタイムアウトであってよく、また、PCIeエンドポイントデバイスが異常にオフラインになったことを示す通知を受け取ることでもよい。以降の実施例において、実施の仕方が詳細に説明される。
S303:シミュレーションレスポンスモジュールは、アクセスリクエストのメッセージ状態が「未完了」である場合に、アクセスリクエストに対するシミュレーションレスポンスメッセージを獲得する。
S304:CPUに対してシミュレーションレスポンスメッセージを送付する。
特に、シミュレーションレスポンスモジュールは、シミュレーションレスポンスモジュール自身によって生成されたアクセスリクエストに対するシミュレーションレスポンスメッセージを獲得してもよい。シミュレーションレスポンスメッセージ及びアクセスリクエストは、同一のメッセージヘッダーを有しており、アクセスリクエストはシミュレーションレスポンスメッセージに対応するものである。従って、CPUは以前に送付されたアクセスリクエストに対応するプロシージャを完了したものとみなして、アクセスリクエストのタイミングのためのタイマーをシャットダウンし、CPUによってバッファーされたアクセスリクエストをクリアする。これにより、CPUにおける通常オペレーションを保持して、CPUにおけるアクセスリクエストの累積から生じるCPUのMCEリセット問題を回避している。
本発明の実施例において、アクセスリクエストに対するシミュレーションレスポンスメッセージは、PCIeエンドポイントデバイスによって送付されたものではなく、アクセスリクエストに対する実際のレスポンスメッセージではない。シミュレーション手段によって別のモジュールにより生成されたものでもよい。本発明の実施例において、アクセスリクエストに対するシミュレーションレスポンスメッセージは、シミュレーションレスポンスモジュールによって生成されてよい。シミュレーションレスポンスモジュールは、事前にアクセスリクエストに対するシミュレーションレスポンスメッセージを生成してよく、または、アクセスリクエストのメッセージ状態が「未完了」であると判断された場合、一時的に、アクセスリクエストに対するシミュレーションレスポンスメッセージを生成してもよい。
本発明の実施例において、シミュレーションレスポンスモジュールは、アクセスリクエストのメッセージ状態をモニターする。プリセットトリガー条件が満たされている場合、アクセスリクエストのメッセージ状態がまだ「未完了」であれば、シミュレーションレスポンスモジュールが、アクセスリクエストに対するシミュレーションレスポンスメッセージをCPUに送付する。従って、CPUは、アクセスリクエストに対応するプロシージャが完了したかどうかを判断するためのタイミングを停止して、ローカルにバッファーされたアクセスリクエストをクリアする。それにより、CPUにおける通常処理を保持し、CPUにおけるアクセスリクエスト処理のタイムアウトから生じるMCEのリセット問題を回避している。
図1又は図2において説明されたコンピューターシステムに関して、シミュレーションレスポンスモジュールがCPUとPCIeエンドポイントデバイスとの間の信号伝送パスに設定されている場合について、本発明の実施例における所定のアクセスプロシージャが図4で説明されており、以下のものを含んでいる。
S401:コンピューターシステムにおけるCPUはオペレーションインストラクションを獲得する。オペレーションインストラクションは、CPUに対してPCIeエンドポイントデバイスにアクセスするように命令するものであり、CPUはPCIeエンドポイントデバイスに対してアクセスリクエストを送付する。
上流のエンドポイントが、PCIeエンドポイントデバイスに対する読み出しオペレーション要求又は書き込みオペレーション要求を生成する場合、上流のエンドポイントによってPCIeエンドポイントデバイスのドライバーモジュールが起動され、予め設定されたアクセスインストラクションに応じて、PCIeエンドポイントデバイスにアクセスするためのオペレーションインストラクションを生成する。CPUは、オペレーションインストラクションを獲得する。
S402:シミュレーションレスポンスモジュールは、CPUからアクセスリクエストを受け取り、アクセスリクエストをバッファーする。
シミュレーションレスポンスモジュールは、CPUとPCIeエンドポイントデバイスとの間の信号伝送パスに設定され、CPUからのアクセスリクエストを取得することができる。
S403:シミュレーションレスポンスモジュールは、アクセスリクエストに対するシミュレーションレスポンスメッセージを生成して、アクセスリクエストに関連してシミュレーションレスポンスメッセージをバッファーする。
ステップ403において、シミュレーションレスポンスモジュールは、アクセスリクエストをバッファーする場合、事前にアクセスリクエストに対するシミュレーションレスポンスメッセージを生成してよく、または、シミュレーションレスポンスメッセージの必要性が判断された場合、後に続くステップにおいて、シミュレーションレスポンスメッセージを生成してよい。
S404:シミュレーションレスポンスモジュールは、PCIeエンドポイントデバイスに対してアクセスリクエストを転送する。
S405:シミュレーションレスポンスモジュールは、アクセスリクエストのメッセージ状態をモニターする。
特に、シミュレーションレスポンスモジュールは、アクセスリクエストに対するレスポンスメッセージをPCIeエンドポイントデバイスから受け取ったかどうかをモニターする。シミュレーションレスポンスモジュールがアクセスリクエストに対するレスポンスメッセージをPCIeエンドポイントデバイスから受け取った場合、シミュレーションレスポンスモジュールは、バッファーされたアクセスリクエストに対して「完了」フラグを付け、または、シミュレーションレスポンスモジュールは、バッファーされたアクセスリクエストを削除する。
シミュレーションレスポンスモジュールは、ステップ404の後にモニターを開始してもよい。つまり、シミュレーションレスポンスモジュールが、PCIeエンドポイントデバイスに対してアクセスリクエストを転送した後である。または、ステップ401の後にモニターを開始してもよい。つまり、CPUが、PCIeエンドポイントデバイスに対してアクセスリクエストを転送した後である。
S406:シミュレーションレスポンスモジュールは、PCIeエンドポイントデバイスが異常にオフラインとなったことを示す通知を受け取り、アクセスリクエストのメッセージ状態を判断する。
この実施例において、プリセットトリガー条件は、PCIeエンドポイントデバイスが異常にオフラインになったことを示す通知を受け取ることである。シミュレーションレスポンスモジュールは、CPUとPCIeエンドポイントデバイスとの間の信号伝送パスに設定される。従って、PCIeエンドポイントデバイスが取り外された場合、PCIeエンドポイントデバイスが異常にオフラインになったことを示す通知が、CPUに転送されるものであるが、シミュレーションレスポンスモジュールを通じてパスされる。シミュレーションレスポンスモジュールは、PCIeエンドポイントデバイスが異常にオフラインになったことを示す通知を受け取り、プリセットトリガー条件が満たされたものと判断して、アクセスリクエストのメッセージ状態を問い合わせ、メッセージ状態を判断する。
S407:シミュレーションレスポンスモジュールが、アクセスリクエストのメッセージ状態は「未完了」であると判断した場合、シミュレーションレスポンスモジュールは、ローカルにバッファーされたアクセスリクエストに対するレスポンスメッセージを獲得して、シミュレーションレスポンスメッセージをCPUに送付する。
この実施例において、シミュレーションレスポンスメッセージは、PCIeエンドポイントデバイス130がアクセスリクエストをサポートしていないことを示す第1タイプのシミュレーションレスポンスメッセージであってよく、例えば、シミュレーションレスポンスメッセージは、アンサポーテッドリクエスト(UR)指標を伝達する。もしくは、シミュレーションレスポンスメッセージは、PCIeエンドポイントデバイス130が異常であることを示す第2タイプのシミュレーションレスポンスメッセージであってよく、例えば、シミュレーションレスポンスメッセージは、コンプリーターアボート(Completer Abort:CA)指標を伝達する。
S408:CPUは、シミュレーションレスポンスメッセージを受け取り、シミュレーションレスポンスメッセージに応じて、アクセスリクエストに対応するプロシージャが完了したと判断して、ローカルにバッファーされたアクセスリクエストをクリアする。
シミュレーションレスポンスメッセージ及びアクセスリクエストは、同一のメッセージヘッダーを有しており、アクセスリクエストはシミュレーションレスポンスメッセージに対応するものである。従って、CPUは以前に送付されたアクセスリクエストに対応するプロシージャを完了したものとみなして、アクセスリクエストのタイミングのためのタイマーをシャットダウンし、CPUによってバッファーされたアクセスリクエストをクリアする。これにより、CPUにおける通常オペレーションを保持して、CPUにおけるアクセスリクエストの累積から生じるCPUのMCEリセット問題を回避している。
さらに、シミュレーションレスポンスメッセージはUR又はCAの指標を伝達するので、シミュレーションレスポンスモジュールは、さらに、シミュレーションレスポンスメッセージにおいて伝達された指標に応じて、PCIeエンドポイントデバイスのアクセスの失敗を判断して、アクセスエラーに対処する。アクセスエラーの対処は、以下のものを含んでいる。CPUがアクセスリクエストに対する関連のオペレーション(データ読み出しといったもの)をさらに実行することを止め、または、異常なオフラインであるとしてPCIeエンドポイントデバイスの状態を記録し、それによって、CPUが続いてPCIeエンドポイントデバイスにアクセスすることを止める。
S409: シミュレーションレスポンスモジュールは、PCIeエンドポイントデバイスが異常にオフラインとなったことを示す通知をCPUに転送する。
続いて、PCIeエンドポイントデバイスが異常にオフラインとなったことを示す通知に応じて、CPUは、PCIeエンドポイントデバイスに対応する物理的デバイスを電源オフし、関連のリソースを切り離すオペレーションを実行する。
本発明の実施例において、シミュレーションレスポンスモジュールは、アクセスリクエストのメッセージ状態をモニターする。アクセスされたPCIeエンドポイントデバイスが異常にオフラインとなったことを示す通知を受け取った場合、アクセスリクエストのメッセージ状態が未だに「未完了」であれば、シミュレーションレスポンスモジュールは、アクセスリクエストに対するシミュレーションレスポンスメッセージをCPUに送付する。従って、CPUは、アクセスリクエストに対応するプロシージャが完了したかどうかを判断するためのタイムアウトの時間を計ることを止めて、それにより、CPUにおける通常オペレーションを保持して、CPUにおけるアクセスリクエストの処理のタイムアウトから生じるCPUのMCEリセット問題を回避している。本発明の実施例において、CPUとPCIeエンドポイントデバイスとの間の信号伝送パスにおいて、シミュレーションレスポンスモジュールは、アクセスリクエストに対するレスポンスメッセージをアクセスされたPCIeエンドポイントデバイスから受け取ったかどうかに応じて、アクセスリクエストのメッセージ状態をモニターすることができる。本実施例は、便利で、汎用性があり、非常に効率的なものである。
加えて、この実施例では、シミュレーションレスポンスメッセージのタイプがさらに区分される。それにより、シミュレーションレスポンスメッセージに応じてアクセスプロシージャの完了を確認する一方で、CPUは、さらに、アクセスが成功していないことを確認することができ、従って、関連するデータにアクセスする次のステップのオペレーション(例えば、読み出しオペレーション)を止める。それゆえ、PCIeエンドポイントデバイスが異常にオフラインになる場合のシミュレーションにおいて、本発明の実施例は、CPUの通常オペレーションを保持し、CPUが不必要なオペレーションを実行することを避け、それによって、システムリソースの浪費を回避している。
本発明の第2の方法の実施例においても、シミュレーションレスポンスモジュールは、CPUとPCIeエンドポイントデバイスとの間の信号伝送パスに設定される。図5に示されるように、本方法は以下のものを含んでいる。
S501:コンピューターシステムにおけるCPUはオペレーションインストラクションを獲得する。オペレーションインストラクションは、CPUに対してPCIeエンドポイントデバイスにアクセスするように命令するものであり、CPUはPCIeエンドポイントデバイスに対してアクセスリクエストを送付する。
S502:シミュレーションレスポンスモジュールは、CPUからアクセスリクエストを受け取り、アクセスリクエストをバッファーする。
シミュレーションレスポンスモジュールは、CPUとPCIeエンドポイントデバイスとの間の信号伝送パスに設定され、従って、CPUからのアクセスリクエストを取得することができる。
S503:シミュレーションレスポンスモジュールは、アクセスリクエストに対するタイマーをスタートさせ、タイミングを開始する。
S504:シミュレーションレスポンスモジュールは、アクセスリクエストに対するシミュレーションレスポンスメッセージを生成し、アクセスリクエストに関連するシミュレーションレスポンスメッセージをバッファーする。
ステップ503において、シミュレーションレスポンスモジュールは、アクセスリクエストをバッファーする場合、前もってアクセスリクエストに対するシミュレーションレスポンスメッセージを生成してよい。または、シミュレーションレスポンスメッセージが必要であると判断された場合、後続のステップにおいてシミュレーションレスポンスメッセージを生成してもよい。
ステップ503とステップ504との間の実施例命令は固定されていない。シミュレーションレスポンスモジュールは、アクセスリクエストを受け取った後でステップ503とステップ504を同時に実行してよいし、または、ステップ504を実行する前にステップ503を実行してもよい。
S505:シミュレーションレスポンスモジュールは、PCIeエンドポイントデバイスに対してアクセスリクエストを転送する。
S506:シミュレーションレスポンスモジュールは、アクセスリクエストのメッセージ状態をモニターする。
特に、シミュレーションレスポンスモジュールは、アクセスリクエストに対するレスポンスメッセージをPCIeエンドポイントデバイスから受け取ったかどうかをモニターする。シミュレーションレスポンスモジュールがアクセスリクエストに対するレスポンスメッセージをPCIeエンドポイントデバイスから受け取った場合、シミュレーションレスポンスモジュールは、バッファーされたアクセスリクエストに対して「完了」フラグを付け、または、シミュレーションレスポンスモジュールは、バッファーされたアクセスリクエストを削除する。
S507:シミュレーションレスポンスモジュールは、タイマーのタイムアウトに際してアクセスリクエストのメッセージ状態を判断する。
この実施例において、プリセットトリガー条件は、アクセスリクエストのタイマーのタイムアウトである。タイマーのタイムアウト時間は、経験値に従って設定される。経験値は、PCIeエンドポイントデバイスがアクセスリクエストに対するレスポンスメッセージを送付するための最大の許容時間である。一般的に、PCIeエンドポイントデバイスが通常である場合、シミュレーションレスポンスモジュールは、経験値の時間内に、アクセスリクエストに対するレスポンスメッセージをPCIeエンドポイントデバイスから確実に受け取ることができる。
S508:シミュレーションレスポンスモジュールが、アクセスリクエストのメッセージ状態は「未完了」であると判断した場合、シミュレーションレスポンスモジュールは、ローカルにバッファーされたアクセスリクエストに対するレスポンスメッセージを獲得して、シミュレーションレスポンスメッセージをCPUに送付する。
タイマーがタイムアウトすると、シミュレーションレスポンスモジュールは、アクセスリクエストのメッセージ状態を問い合わせる。メッセージ状態が「未完了」であると判断された場合、アクセスされたPCIeエンドポイントデバイスが異常にオフラインになったものと基本的に判断され、CPUは、アクセスリクエストに対するレスポンスメッセージを受け取ることができない。この場合、CPUによってバッファーされたアクセスリクエストのタイムアウトから生じるMCEリセット問題を回避するために、シミュレーションレスポンスモジュールは、シミュレーションレスポンスメッセージを前もってCPUに送付する。
この実施例において、シミュレーションレスポンスメッセージは、PCIeエンドポイントデバイス130がアクセスリクエストをサポートしていないことを示す第1タイプのシミュレーションレスポンスメッセージであってよく、例えば、シミュレーションレスポンスメッセージは、アンサポーテッドリクエスト(UR)指標を伝達する。もしくは、シミュレーションレスポンスメッセージは、PCIeエンドポイントデバイス130が異常であることを示す第2タイプのシミュレーションレスポンスメッセージであってよく、例えば、シミュレーションレスポンスメッセージは、コンプリーターアボート(CA)指標を伝達する。
S509:CPUは、シミュレーションレスポンスメッセージを受け取り、シミュレーションレスポンスメッセージに応じて、アクセスリクエストに対応するプロシージャが完了したかを判断して、ローカルにバッファーされたアクセスリクエストをクリアする。
シミュレーションレスポンスメッセージ及びアクセスリクエストは、同一のメッセージヘッダーを有しており、アクセスリクエストはシミュレーションレスポンスメッセージに対応するものである。従って、CPUは以前に送付されたアクセスリクエストに対応するプロシージャを完了したものとみなして、アクセスリクエストのタイミングのためのタイマーをシャットダウンし、CPUによってバッファーされたアクセスリクエストをクリアする。これにより、CPUにおける通常オペレーションを保持して、CPUにおけるアクセスリクエストの累積から生じるCPUのMCEリセット問題を回避している。
さらに、シミュレーションレスポンスメッセージはUR又はCAを指標を伝達するので、シミュレーションレスポンスモジュールは、さらに、シミュレーションレスポンスメッセージにおいて伝達された指標に応じて、PCIeエンドポイントデバイスのアクセスの失敗を判断して、アクセスエラーに対処する。アクセスエラーの対処は、以下のものを含んでいる。CPUがアクセスリクエストに対する関連のオペレーション(データ読み出しといったもの)をさらに実行することを止め、または、異常なオフラインであるとしてPCIeエンドポイントデバイスの状態を記録し、それによって、CPUが続いてPCIeエンドポイントデバイスにアクセスすることを止める。
S510:シミュレーションレスポンスモジュールは、PCIeエンドポイントデバイスの状態を判断する。
シミュレーションレスポンスモジュールは、さらに、PCIeエンドポイントデバイスの状態が「異常なオフライン」または「欠陥」であるかどうかを判断する。PCIeエンドポイントデバイスが異常にオフラインとなった場合、ステップ511を実行する。もしくは、PCIeエンドポイントデバイスが欠陥である場合、ステップ512が実行される。
シミュレーションレスポンスモジュールは、PCIeエンドポイントデバイスが異常にオフラインとなったことを示す通知を受け取ったかどうかを判断する。PCIeエンドポイントデバイスが異常にオフラインとなったかどうかは、通知を受け取ったかどうかで判断される。シミュレーションレスポンスモジュールは、また、PCIeエンドポイントデバイスの状態を判断するために、PCIeエンドポイントデバイスに対してプローブ(probe)メッセージを送付する。
S511:PCIeエンドポイントデバイスが異常にオフラインとなったと判断された場合、シミュレーションレスポンスモジュールは、PCIeエンドポイントデバイスが異常にオフラインとなったことを示す通知をCPUに送付する。PCIeエンドポイントデバイスが異常にオフラインとなったことを示す通知に応じて、CPUは、PCIeエンドポイントデバイスに対応する物理的デバイスを電源オフし、リソースの切り離しオペレーションを実行する。
S512:PCIeエンドポイントデバイスが欠陥であると判断された場合、シミュレーションレスポンスモジュールは、PCIeエンドポイントデバイスの欠陥を除去する。
本発明の実施例において、シミュレーションレスポンスモジュールは、アクセスリクエストのメッセージ状態をモニターする。タイマーのタイムアウトに際して、アクセスリクエストのメッセージ状態が未だに「未完了」であれば、シミュレーションレスポンスモジュールは、アクセスリクエストに対するシミュレーションレスポンスメッセージをCPUに送付する。従って、CPUは、アクセスリクエストに対応するプロシージャが完了したかどうかを判断するためのタイムアウトの時間を計ることを止めて、それにより、CPUにおける通常オペレーションを保持して、CPUにおけるアクセスリクエストの処理のタイムアウトから生じるCPUのMCEリセット問題を回避している。
加えて、この実施例では、シミュレーションレスポンスメッセージのタイプがさらに区分される。それにより、シミュレーションレスポンスメッセージに応じてアクセスプロシージャの完了を確認する一方で、CPUは、さらに、アクセスが成功していないことを確認することができ、従って、関連するデータにアクセスする次のステップのオペレーション(例えば、読み出しオペレーション)を止める。それゆえ、PCIeエンドポイントデバイスが異常にオフラインになる場合のシミュレーションにおいて、本発明の実施例は、CPUの通常オペレーションを保持し、CPUが不必要なオペレーションを実行することを避け、それによって、システムリソースの浪費を回避している。
本発明に係る装置の実施例
本発明の実施例において提供されたシミュレーションレスポンス装置はコンピューターシステムに適用され、PCIeエンドポイントデバイスがPCIeバスを通じてコンピューターシステムにアクセスする。図6に示されるように、装置は、PCIeエンドポイントデバイス130及びCPU110とインタラクト(interact)している。装置は、コンピューターの中のCPU110がアクセスリクエストをPCIeエンドポイントデバイスに対して送付した後で、アクセスリクエストのメッセージ状態をモニターするように構成されたモニターユニット601であり、アクセスリクエストのメッセージ状態は「完了」又は「未完了」から成り、「未完了」は、PCIeエンドポイントデバイスがアクセスリクエストに対して何らレスポンスメッセージを送付していないことを示すモニターユニット601と;プリセットトリガー条件が満たされた場合にアクセスリクエストのメッセージ状態を判断するように構成された判断ユニット602と;アクセスリクエストのメッセージ状態が「未完了」であれば、アクセスリクエストに対するシミュレーションレスポンスメッセージを獲得するように構成された獲得ユニット603と; アクセスリクエストに対するシミュレーションレスポンスメッセージをCPU110に対して送付するように構成されたレスポンスユニット604604と、を含む。
図7に示すように、さらに、本発明の別の実施例に係る装置は、CPU110によって送付されたアクセスリクエストを受け取るように構成されたインタラクトユニット605、を含み、モニターユニット601は、特に、インタラクトユニット605が、PCIeエンドポイントデバイスによって送付されたアクセスリクエストに対するレスポンスメッセージを受け取るかどうかをモニターし、アクセスリクエストに対するレスポンスメッセージをPCIeエンドポイントデバイスから受け取った場合に、アクセスリクエストのメッセージ状態を「完了」として記録するするように構成されている。
さらに、本発明の別の実施例に係る装置は、インタラクトユニット605が受け取ったアクセスリクエストをバッファーするように構成されており、モニターユニット601は、インタラクトユニット605が、PCIeエンドポイントデバイスによって送付されたアクセスリクエストに対するレスポンスメッセージを受け取った場合に、バッファーされたアクセスリクエストに「完了」フラグを付けるか、または、バッファーされたアクセスリクエストを削除するように構成されており、判断ユニット602は、特に、プリセットトリガー条件が満たされた場合に、モニターユニット601によってバッファーされたアクセスリクエストを問い合わせ、バッファーされたアクセスリクエストのフラグが「完了」であるか又はバッファーされたアクセスリクエストが削除されていれば、アクセスリクエストのメッセージ状態は「完了」であると判断し、または、バッファーされたアクセスリクエストのフラグが「未完了」であるか又はバッファーされたアクセスリクエストに「完了」フラグが付いていなければ、アクセスリクエストのメッセージ状態は「未完了」であると判断するように構成されている。
さらに、本発明の別の実施例に係る装置は、インタラクトユニット605がCPU110によって送付されたアクセスリクエストを受け取った後で、アクセスリクエストに対するシミュレーションメッセージを生成し、アクセスリクエストに対するシミュレーションレスポンスメッセージをバッファーするように構成されており、獲得ユニット603は、特に、モニターユニット601によってバッファーされたアクセスリクエストに対するシミュレーションレスポンスメッセージを獲得するように構成されている。
さらに、本発明の別の実施例に係る装置において、アクセスリクエストに対するシミュレーションレスポンスメッセージは、第1タイプのシミュレーションレスポンスメッセージ又は第2タイプのシミュレーションレスポンスメッセージを含んでおり、第1タイプのシミュレーションレスポンスメッセージはPCIeエンドポイントデバイスがアクセスリクエストをサポートしていないことを示し、第2タイプのシミュレーションレスポンスメッセージはPCIeエンドポイントデバイスが異常であることを示しており、第1タイプのシミュレーションレスポンスメッセージ又は第2タイプのシミュレーションレスポンスメッセージは、PCIeエンドポイントデバイスに対する後続のアクセスを止めるようにCPU110に命令するために使用される。
さらに、本発明の別の実施例に係る装置において、プリセットトリガー条件は、PCIeエンドポイントデバイスが異常にオフラインになることであり、モニターユニット601は、さらに、PCIeエンドポイントデバイスが異常にオフラインになったかどうかをモニターし、PCIeエンドポイントデバイスが異常にオフラインになったものと判断された場合に、アクセスリクエストのメッセージ状態の判断を実行するよう判断ユニット602に通知するように構成されている。
さらに、本発明の別の実施例に係る装置において、モニターユニット601は、特に、PCIeエンドポイントデバイスが異常にオフラインになったことを示す通知を受け取ったかどうかを判断し、通知を受け取った場合に、PCIeエンドポイントデバイスが異常にオフラインになったものと判断するように構成されている。
さらに、本発明の別の実施例に係る装置において、装置は、さらに、PCIeエンドポイントデバイスが異常にオフラインになったことを示す通知をCPU110に転送するように構成されている。
さらに、本発明の別の実施例に係る装置において、プリセットトリガー条件は、アクセスリクエストのタイマーのタイムアウトであり、モニターユニット601は、さらに、CPU110によって送付されたアクセスリクエストの時間を計るタイマーをスタートし、タイマーのタイムアウトの際にアクセスリクエストのメッセージ状態の判断を実行するように判断ユニット602に通知するように構成されている。
モニターユニット601は、さらに、PCIeエンドポイントデバイスの状態を判断し、PCIeエンドポイントデバイスの状態が異常なオフラインであると判断された場合に、PCIeエンドポイントデバイスが異常にオフラインになることを示す通知をCPU110に対して送付するよう判断ユニット602に通知するように構成されている。
さらに、本発明の別の実施例に係る装置において、CPU110は、PCIeエンドポイントデバイスに対して複数のアクセスリクエストを送付し、モニターユニット601は、特に、複数のアクセスリクエストのそれぞれのメッセージ状態をモニターするように構成され、判断ユニット602は、特に、プリセットトリガーイベント条件が満たされる場合に、複数のアクセスリクエストのうちでレスポンスメッセージを受け取っていないアクセスリクエストの数量統計を集めるように構成され、獲得ユニット603は、特に、数量が第1閾値を超えている場合には、アクセスリクエストに対するシミュレーションレスポンスメッセージを獲得するように構成されている。
図8は、本発明の実施例に従ったコンピューターの構成ダイヤグラムである。本発明の実施例において、コンピューターは以下のものを含んでいる。プロセッサ801、メモリー802、システムバス804、および、コミュニケーションインターフェイス805.ここで、プロセッサ801、メモリー802、および、コミュニケーションインターフェイス805は、システムバス804を通じてお互いにコミュニケーションする。
プロセッサ801は、シングルコア又はマルチコアの中央処理装置、または、集積回路、もしくは、本発明の実施例を実行するために構成された一つまたはそれ以上の集積回路であってよい。
メモリー802は、高速RAMメモリー、または、不揮発性メモリーであってよい。例えば、少なくとも一つのディスクメモリーである。
メモリー802は、コンピューターで実行可能なインストラクション803を保管するように構成されている。特に、コンピューターで実行可能なインストラクション803は、プログラムコードを含んでいる。
コンピューターが動作しているとき、プロセッサ801は、コンピューターで実行可能なインストラクション803を実行して、図3から図5のいずれかにおいて説明された方法プロシージャを実施することができる。詳細について、これ以上、ここにおいて、繰り返すことはしない。
当業者であれば、本発明のそれぞれの態様又はそれぞれの態様のあらゆる可能な実施形態は、システム、方法、または、コンピュータープログラムの形式において実施され得ることが理解されよう。従って、本発明のそれぞれの態様又はそれぞれの態様のあらゆる可能な実施形態は、全くのハードウェアの実施例の形式、または、全くのソフトウェアの実施例の形式(ファームウェア、駐在するソフトウェア、等を含む)、もしくは、ソフトウェアとハードウェアの組合せの実施例の形式であってよく、それらは、ここにおいて統一的に「回路」、「モジュール」、または、「システム」と呼ばれている。さらに、本発明のそれぞれの態様又はそれぞれの態様のあらゆる可能な実施形態は、コンピュータープログラムプロダクトの形式であってよく、ここで、コンピュータープログラムプロダクトは、コンピューターで読取り可能な媒体上に保管されたコンピューターで読取り可能なプログラムコードのことである。
コンピューターで読取り可能な媒体は、コンピューターで読取り可能な信号媒体又はコンピューターで読取り可能なストレージ媒体であってよい。コンピューターで読取り可能なストレージ媒体は、これらに限定されるわけではないが、以下のものを含んでいる。電気的、磁気的、光学的、電磁気的、赤外線、又は半導体のシステム、デバイス、または、装置、もしくは、これらの好適なあらゆる組み合わせであり、ランダムアクセスメモリー(RAM)、読み出し専用メモリー(ROM)、消去可能でプログラム可能な読み出し専用メモリー(EPROM又はフラッシュメモリー)、光ファイバー、および、ポータブル読み出し専用メモリー(CD−ROM)といったものである。
コンピューターの中のプロセッサは、コンピューターで読取り可能な媒体に保管されたコンピューターで読取り可能なプログラムコードを読み出す。それにより、プロセッサは、それぞれのステップで規定された機能アクション、または、フローチャートの中のステップの組合せを実行することができる。そして、それぞれのブロック又はブロックダイヤグラムのブロックの組合せにおいて規定された機能アクションを実行するための装置を生成することができる。
コンピューターで読取り可能なプログラムコードは、ユーザーのコンピューター上で全て実行されるか、ユーザーのコンピューター上で部分的に実行されるか、分離したソフトウェアパッケージとして実行されるか、ユーザーのコンピューター上で部分的に実行されて離れたコンピューター上で部分的に実行されるか、もしくは、離れたコンピューター又はサーバー上で全て実行されてよい。いくつかの代替的な実施例において、フローチャートにおけるステップ、または、ブロックダイヤグラムのそれぞれのブロックで規定された機能は、図において規定された順序の代わりに異なる順序で生じ得ることに留意すべきである。例えば、包含された機能に依存して、2つのステップが連続して示されていても、2つのブロックが実際にはほとんど同時に実行されてよく、または、時には逆の順序でブロックが実行されてもよい。
当業者であれば、本明細書で開示された実施例において説明された例示の組合せにおいて、ユニットとアルゴリズムステップは、電気的ハードウェア、または、コンピューターソフトウェアと電気的ハードウェアとの組み合わせによって実施されてよいことに気付くであろう。機能がハードウェア又はソフトウェアのどちらによって実行されるかは、所定のアプリケーション及び技術的ソリューションのデザイン制約条件に依るものである。当業者であれば、それぞれの所定のアプリケーションに対して説明された機能を実施するために異なる方法を使用し得るが、その実施が本発明の範囲を超えるものと考えられるべきではない。
上述の記載は、単に本発明の特定の実施例を説明するものであり、本発明の保護範囲を限定することを意図するものではない。本発明において開示された技術的範囲内で当業者によって容易に把握されるあらゆるバリエーション又は置き換えは、本発明の保護範囲の中にあるものである。従って、本発明の保護範囲は、特許請求の範囲の保護範囲を前提とすべきものである。

Claims (37)

  1. コンピューターシステムであって:
    プロセッサと;
    ピーシーアイエクスプレス(PCIe)エンドポイントデバイスを接続するように構成されたPCIeバスと、を含み、
    前記プロセッサは、前記PCIeエンドポイントデバイスにアクセスするためのオペレーションインストラクションを獲得して、該オペレーションインストラクションに従って前記PCIeエンドポイントデバイスに対してアクセスリクエストを送付するように構成されており、
    前記コンピューターシステムは、さらに、シミュレーションレスポンスモジュールを含み、
    該シミュレーションレスポンスモジュールは、前記アクセスリクエストのメッセージ状態をモニターし、プリセットトリガー条件が満たされた場合に前記アクセスリクエストの前記メッセージ状態を判断するように構成され、かつ、
    前記アクセスリクエストの前記メッセージ状態が「未完了」であれば、前記アクセスリクエストに対するシミュレーションレスポンスメッセージを獲得して、該シミュレーションレスポンスメッセージを前記プロセッサに対して送付するように構成されており、
    前記アクセスリクエストの前記メッセージ状態は「完了」又は「未完了」から成り、「未完了」は、前記PCIeエンドポイントデバイスが前記アクセスリクエストに対して何らレスポンスメッセージを送付していないことを示す、
    ことを特徴とするコンピューターシステム。
  2. 前記シミュレーションレスポンスモジュールは、前記プロセッサと前記PCIeエンドポイントデバイスとの間の信号伝送パスに設定され、前記プロセッサによって送付された前記アクセスリクエストを受け取り、前記アクセスリクエストに対するレスポンスメッセージを前記PCIeエンドポイントデバイスから受け取ったかどうかをモニターするように構成され、かつ、
    前記アクセスリクエストに対するレスポンスメッセージを前記PCIeエンドポイントデバイスから受け取った場合に、前記アクセスリクエストの前記メッセージ状態を「完了」として記録するように構成されている、
    請求項1に記載のコンピューターシステム。
  3. 前記コンピューターシステムは、さらに、複数のPCIeエンドポイントデバイスを前記プロセッサに接続するように構成されているPCIeスイッチを含み、該PCIeスイッチの下流ポートは、前記PCIeバスを通じて前記複数のPCIeエンドポイントデバイスに接続されており、
    前記シミュレーションレスポンスモジュールの一つのポートが、前記PCIeバスを通じて前記PCIeスイッチの上流ポートに接続されており、前記シミュレーションレスポンスモジュールの別のポートは、前記プロセッサに接続されている、
    請求項2に記載のコンピューターシステム。
  4. 前記シミュレーションレスポンスモジュールは、さらに、前記プロセッサによって送付された前記アクセスリクエストを受け取った後で、前記アクセスリクエストをバッファーするように構成され、前記アクセスリクエストに対する前記レスポンスメッセージを前記PCIeエンドポイントデバイスから受け取った場合に、バッファーされた前記アクセスリクエストに対して「完了」フラグを付けるか、または、バッファーされた前記アクセスリクエストを削除するように構成されており、
    前記シミュレーションレスポンスモジュールは、前記プリセットトリガー条件が満たされている場合に、バッファーされた前記アクセスリクエストを問い合わせるよう構成され、バッファーされた前記アクセスリクエストの前記フラグが「完了」であるか又はバッファーされた前記アクセスリクエストが削除されていれば、前記アクセスリクエストの前記メッセージ状態は「完了」であると判断し、かつ、バッファーされた前記アクセスリクエストの前記フラグが「未完了」であるか又はバッファーされた前記アクセスリクエストに「完了」フラグが付いていなければ、前記アクセスリクエストの前記メッセージ状態は「未完了」であると判断するように構成されている、
    請求項2または3に記載のコンピューターシステム。
  5. 前記シミュレーションレスポンスモジュールは、さらに、前記プロセッサによって送付された前記アクセスリクエストを受け取った後で、前記アクセスリクエストに対するシミュレーションレスポンスメッセージを生成して、前記アクセスリクエストに対するシミュレーションレスポンスメッセージをバッファーするように構成され、かつ、
    前記アクセスリクエストに対する前記メッセージ状態が「未完了」であると判断された場合、前記アクセスリクエストのためにバッファーされた前記シミュレーションレスポンスメッセージを獲得するように構成されている、
    請求項2、3、または、4に記載のコンピューターシステム。
  6. 前記アクセスリクエストに対する前記シミュレーションレスポンスメッセージは、第1タイプのシミュレーションレスポンスメッセージ又は第2タイプのシミュレーションレスポンスメッセージを含んでおり、第1タイプのシミュレーションレスポンスメッセージは前記PCIeエンドポイントデバイスが前記アクセスリクエストをサポートしていないことを示し、第2タイプのシミュレーションレスポンスメッセージは前記PCIeエンドポイントデバイスが異常であることを示しており、
    前記プロセッサは、さらに、前記第1タイプのシミュレーションレスポンスメッセージ又は前記第2タイプのシミュレーションレスポンスメッセージに従って、前記PCIeエンドポイントデバイスに対する後続のアクセスを止めるように構成されている、
    請求項1乃至5のいずれか一項に記載のコンピューターシステム。
  7. 前記シミュレーションレスポンスモジュールは、フィールドでプログラム可能なゲートアレイ(FPGA)の形式で実施される、
    請求項1乃至6のいずれか一項に記載のコンピューターシステム。
  8. 前記プリセットトリガー条件は、前記PCIeエンドポイントデバイスが異常にオフラインになることであり、
    それに応じて、前記シミュレーションレスポンスモジュールは、さらに、前記PCIeエンドポイントデバイスが異常にオフラインになったかどうかをモニターし、前記PCIeエンドポイントデバイスが異常にオフラインになったものと判断された場合に、前記アクセスリクエストの前記メッセージ状態を判断するように構成されている、
    請求項1乃至7のいずれか一項に記載のコンピューターシステム。
  9. 前記シミュレーションレスポンスモジュールは、特に、前記PCIeエンドポイントデバイスが異常にオフラインになったことを示す通知を受け取ったかどうかを判断し、かつ、前記通知を受け取った場合に前記PCIeエンドポイントデバイスが異常にオフラインになったものと判断するように構成されている、
    請求項8に記載のコンピューターシステム。
  10. 前記シミュレーションレスポンスモジュールは、さらに、前記PCIeエンドポイントデバイスが異常にオフラインになったことを示す通知を前記プロセッサに転送するように構成されており、
    前記プロセッサは、さらに、受け取った前記PCIeエンドポイントデバイスが異常にオフラインになったことを示す前記通知に従って、前記PCIeエンドポイントデバイスに対応する物理的デバイスを電源オフするように構成されている、
    請求項9に記載のコンピューターシステム。
  11. 前記プリセットトリガー条件は、前記アクセスリクエストのタイマーのタイムアウトであり、
    前記シミュレーションレスポンスモジュールは、さらに、前記プロセッサによって送付された前記アクセスリクエストの時間を計るタイマーをスタートし、前記タイマーのタイムアウトの際に前記アクセスリクエストの前記メッセージ状態を判断するように構成されている、
    請求項1乃至7のいずれか一項に記載のコンピューターシステム。
  12. 前記シミュレーションレスポンスモジュールは、さらに、前記シミュレーションレスポンスメッセージを前記プロセッサに対して送付した後で、前記PCIeエンドポイントデバイスの状態を判断し、前記PCIeエンドポイントデバイスの前記状態が異常なオフラインである場合は、前記PCIeエンドポイントデバイスが異常にオフラインになることを示す通知を前記プロセッサに対して送付するように構成されており;かつ、
    前記プロセッサは、さらに、前記PCIeエンドポイントデバイスが異常にオフラインになることを示す指標の受け取りに応じて、前記PCIeエンドポイントデバイスに対応する物理的デバイスを電源オフするように構成されている、
    請求項11に記載のコンピューターシステム。
  13. 前記プロセッサは、特に、前記PCIeエンドポイントデバイスに対して複数のアクセスリクエストを送付するように構成されており;かつ
    前記シミュレーションレスポンスモジュールは、特に、前記複数のアクセスリクエストのそれぞれのメッセージ状態をモニターし、プリセットトリガーイベント条件が満たされる場合に、前記複数のアクセスリクエストのうちでレスポンスメッセージを受け取っていないアクセスリクエストの数量統計を集めて、数量が第1閾値を超えている場合には、前記アクセスリクエストに対するシミュレーションレスポンスメッセージを獲得し、前記シミュレーションレスポンスメッセージをプロセッサに対して送付するように構成されている、
    請求項1に記載のコンピューターシステム。
  14. ピーシーアイエクスプレス(PCIe)エンドポイントデバイスにアクセスするための方法であって:
    コンピューターの中のプロセッサがアクセスリクエストを前記PCIeエンドポイントデバイスに対して送付した後で、前記アクセスリクエストのメッセージ状態をモニターするステップであり、前記アクセスリクエストの前記メッセージ状態は「完了」又は「未完了」から成り、「未完了」は、前記PCIeエンドポイントデバイスが前記アクセスリクエストに対して何らレスポンスメッセージを送付していないことを示すステップと;
    プリセットトリガー条件が満たされた場合に前記アクセスリクエストの前記メッセージ状態を判断するステップと;
    前記アクセスリクエストの前記メッセージ状態が「未完了」であれば、前記アクセスリクエストに対するシミュレーションレスポンスメッセージを獲得するステップと;
    前記アクセスリクエストに対する前記シミュレーションレスポンスメッセージを前記プロセッサに対して送付するステップと、を含む、
    ことを特徴とする方法。
  15. 前記方法は、さらに、
    前記プロセッサによって送付された前記アクセスリクエストを受け取るステップ、を含み、
    前記アクセスリクエストのメッセージ状態をモニターするステップは:
    前記アクセスリクエストに対するレスポンスメッセージを前記PCIeエンドポイントデバイスから受け取ったかどうかをモニターするステップと、
    前記アクセスリクエストに対するレスポンスメッセージを前記PCIeエンドポイントデバイスから受け取った場合に、前記アクセスリクエストの前記メッセージ状態を「完了」として記録するステップと、を含む、
    請求項14に記載の方法。
  16. 前記方法は、さらに、
    前記プロセッサによって送付された前記アクセスリクエストを受け取った後で、前記アクセスリクエストをバッファーするステップと、を含み、
    前記アクセスリクエストの前記メッセージ状態を「完了」として記録するステップは、
    前記アクセスリクエストに対する前記レスポンスメッセージを前記PCIeエンドポイントデバイスから受け取った場合に、前記バッファーされたアクセスリクエストに「完了」フラグを付けるか、または、前記バッファーされたアクセスリクエストを削除するステップ、を含み、
    プリセットトリガー条件が満たされた場合に前記アクセスリクエストの前記メッセージ状態を判断するステップは、
    前記バッファーされたアクセスリクエストのフラグが「完了」であるか又は前記バッファーされたアクセスリクエストが削除されていれば、前記アクセスリクエストの前記メッセージ状態は「完了」であると判断するステップ、または、
    前記バッファーされたアクセスリクエストのフラグが「未完了」であるか又は前記バッファーされた前記アクセスリクエストに「完了」フラグが付いていなければ、前記アクセスリクエストの前記メッセージ状態は「未完了」であると判断するステップ、を含む、
    請求項15に記載の方法。
  17. 前記方法は、さらに、
    前記プロセッサによって送付された前記アクセスリクエストを受け取った後で、
    前記アクセスリクエストに対するシミュレーションメッセージを生成するステップと、
    前記アクセスリクエストに対する前記シミュレーションレスポンスメッセージをバッファーするステップと、を含み、
    前記アクセスリクエストに対するシミュレーションレスポンスメッセージを獲得するステップは、
    バッファーされた前記アクセスリクエストに対するシミュレーションレスポンスメッセージを獲得するステップ、を含む、
    請求項15または16に記載の方法。
  18. 前記アクセスリクエストに対する前記シミュレーションレスポンスメッセージは、第1タイプのシミュレーションレスポンスメッセージ又は第2タイプのシミュレーションレスポンスメッセージを含んでおり、第1タイプのシミュレーションレスポンスメッセージは前記PCIeエンドポイントデバイスが前記アクセスリクエストをサポートしていないことを示し、第2タイプのシミュレーションレスポンスメッセージは前記PCIeエンドポイントデバイスが異常であることを示しており、
    前記第1タイプのシミュレーションレスポンスメッセージ又は前記第2タイプのシミュレーションレスポンスメッセージは、前記PCIeエンドポイントデバイスに対する後続のアクセスを止めるように前記プロセッサに命令するために使用される、
    請求項14乃至17のいずれか一項に記載の方法。
  19. 前記プリセットトリガー条件は、前記PCIeエンドポイントデバイスが異常にオフラインになることであり、
    前記方法は、さらに、
    前記PCIeエンドポイントデバイスが異常にオフラインになったかどうかをモニターするステップと、
    前記PCIeエンドポイントデバイスが異常にオフラインになったものと判断された場合に、前記アクセスリクエストの前記メッセージ状態の判断を実行するステップと、を含む、
    請求項14乃至18のいずれか一項に記載の方法。
  20. 前記PCIeエンドポイントデバイスが異常にオフラインになることをモニターするステップは:
    前記PCIeエンドポイントデバイスが異常にオフラインになったことを示す通知を受け取ったかどうかを判断するステップと、
    前記通知を受け取った場合に、前記PCIeエンドポイントデバイスが異常にオフラインになったものと判断するステップと、を含む、
    請求項19に記載の方法。
  21. 前記方法は、さらに、
    前記PCIeエンドポイントデバイスが異常にオフラインになったことを示す通知を前記プロセッサに転送するステップと、を含む、
    請求項20に記載の方法。
  22. 前記プリセットトリガー条件は、前記アクセスリクエストのタイマーのタイムアウトであり、
    前記方法は、さらに、
    前記プロセッサによって送付された前記アクセスリクエストの時間を計るタイマーをスタートするステップと、
    前記タイマーのタイムアウトの際に前記アクセスリクエストの前記メッセージ状態の判断を実行するステップと、を含む、
    請求項14乃至18のいずれか一項に記載の方法。
  23. 前記方法は、さらに、
    前記PCIeエンドポイントデバイスの状態を判断するステップと、
    前記PCIeエンドポイントデバイスの前記状態が異常なオフラインである場合に、前記PCIeエンドポイントデバイスが異常にオフラインになることを示す通知を前記プロセッサに対して送付するステップと、を含む、
    請求項22に記載の方法。
  24. 前記プロセッサは、前記PCIeエンドポイントデバイスに対して複数のアクセスリクエストを送付し、
    前記方法は、さらに、
    前記複数のアクセスリクエストのそれぞれのメッセージ状態をモニターするステップと、
    プリセットトリガーイベント条件が満たされる場合に、前記複数のアクセスリクエストのうちでレスポンスメッセージを受け取っていないアクセスリクエストの数量統計を集めるステップと、
    数量が第1閾値を超えている場合には、前記アクセスリクエストに対するシミュレーションレスポンスメッセージを獲得するステップと、を含む、
    請求項14に記載の方法。
  25. コンピューターシステムに適用され、ピーシーアイエクスプレス(PCIe)エンドポイントデバイスがPCIeバスを通じて前記コンピューターシステムにアクセスするシミュレーションレスポンス装置であって:
    コンピューターの中のプロセッサがアクセスリクエストを前記PCIeエンドポイントデバイスに対して送付した後で、アクセスリクエストのメッセージ状態をモニターするように構成されたモニターユニットであり、前記アクセスリクエストの前記メッセージ状態は「完了」又は「未完了」から成り、「未完了」は、前記PCIeエンドポイントデバイスが前記アクセスリクエストに対して何らレスポンスメッセージを送付していないことを示すモニターユニットと;
    プリセットトリガー条件が満たされた場合に前記アクセスリクエストの前記メッセージ状態を判断するように構成された判断ユニットと;
    前記アクセスリクエストの前記メッセージ状態が「未完了」であれば、前記アクセスリクエストに対するシミュレーションレスポンスメッセージを獲得するように構成された獲得ユニットと;
    前記アクセスリクエストに対する前記シミュレーションレスポンスメッセージを前記プロセッサに対して送付するように構成されたレスポンスユニットと、を含む、
    ことを特徴とする装置。
  26. 前記装置は、さらに、
    前記プロセッサによって送付された前記アクセスリクエストを受け取るように構成されたインタラクトユニット、を含み、
    前記モニターユニットは、特に、
    前記インタラクトユニットが、前記PCIeエンドポイントデバイスによって送付された前記アクセスリクエストに対するレスポンスメッセージを受け取るかどうかをモニターし、
    前記アクセスリクエストに対するレスポンスメッセージを前記PCIeエンドポイントデバイスから受け取った場合に、前記アクセスリクエストの前記メッセージ状態を「完了」として記録するするように構成されている、
    請求項25に記載の装置。
  27. 前記モニターユニットは、さらに、
    前記インタラクトユニットが受け取った前記アクセスリクエストをバッファーするように構成されており、
    前記モニターユニットは、前記インタラクトユニットが、前記PCIeエンドポイントデバイスによって送付された前記アクセスリクエストに対する前記レスポンスメッセージを受け取った場合に、前記バッファーされたアクセスリクエストに「完了」フラグを付けるか、または、前記バッファーされたアクセスリクエストを削除するように構成されており、
    前記判断ユニットは、特に、プリセットトリガー条件が満たされた場合に、前記モニターユニットによってバッファーされた前記アクセスリクエストを問い合わせ、
    前記バッファーされたアクセスリクエストのフラグが「完了」であるか又は前記バッファーされたアクセスリクエストが削除されていれば、前記アクセスリクエストの前記メッセージ状態は「完了」であると判断し、または、
    前記バッファーされたアクセスリクエストのフラグが「未完了」であるか又は前記バッファーされた前記アクセスリクエストに「完了」フラグが付いていなければ、前記アクセスリクエストの前記メッセージ状態は「未完了」であると判断するように構成されている、
    請求項26に記載の装置。
  28. 前記モニターユニットは、さらに、
    前記インタラクトユニットが前記プロセッサによって送付された前記アクセスリクエストを受け取った後で、
    前記アクセスリクエストに対するシミュレーションメッセージを生成し、前記アクセスリクエストに対する前記シミュレーションレスポンスメッセージをバッファーするように構成されており、
    前記獲得ユニットは、特に、前記モニターユニットによってバッファーされた前記アクセスリクエストに対するシミュレーションレスポンスメッセージを獲得するように構成されている、
    請求項26または27に記載の装置。
  29. 前記アクセスリクエストに対する前記シミュレーションレスポンスメッセージは、第1タイプのシミュレーションレスポンスメッセージ又は第2タイプのシミュレーションレスポンスメッセージを含んでおり、第1タイプのシミュレーションレスポンスメッセージは前記PCIeエンドポイントデバイスが前記アクセスリクエストをサポートしていないことを示し、第2タイプのシミュレーションレスポンスメッセージは前記PCIeエンドポイントデバイスが異常であることを示しており、
    前記第1タイプのシミュレーションレスポンスメッセージ又は前記第2タイプのシミュレーションレスポンスメッセージは、前記PCIeエンドポイントデバイスに対する後続のアクセスを止めるように前記プロセッサに命令するために使用される、
    請求項25乃至28のいずれか一項に記載の装置。
  30. 前記プリセットトリガー条件は、前記PCIeエンドポイントデバイスが異常にオフラインになることであり、
    前記モニターユニットは、さらに、
    前記PCIeエンドポイントデバイスが異常にオフラインになったかどうかをモニターし、
    前記PCIeエンドポイントデバイスが異常にオフラインになったものと判断された場合に、前記アクセスリクエストの前記メッセージ状態の判断を実行するよう前記判断ユニットに通知するように構成されている、
    請求項25乃至29のいずれか一項に記載の装置。
  31. 前記モニターユニットは、特に、
    前記PCIeエンドポイントデバイスが異常にオフラインになったことを示す通知を受け取ったかどうかを判断し、
    前記通知を受け取った場合に、前記PCIeエンドポイントデバイスが異常にオフラインになったものと判断するように構成されている、
    請求項30に記載の装置。
  32. 前記装置は、さらに、
    前記PCIeエンドポイントデバイスが異常にオフラインになったことを示す通知を前記プロセッサに転送するように構成されている、
    請求項31に記載の装置。
  33. 前記プリセットトリガー条件は、前記アクセスリクエストのタイマーのタイムアウトであり、
    前記モニターユニットは、さらに、
    前記プロセッサによって送付された前記アクセスリクエストの時間を計るタイマーをスタートし、
    前記タイマーのタイムアウトの際に前記アクセスリクエストの前記メッセージ状態の判断を実行するように前記判断ユニットに通知するように構成されている、
    請求項25乃至29のいずれか一項に記載の装置。
  34. 前記モニターユニットは、さらに、
    前記PCIeエンドポイントデバイスの状態を判断し、
    前記PCIeエンドポイントデバイスの前記状態が異常なオフラインであると判断された場合に、前記PCIeエンドポイントデバイスが異常にオフラインになることを示す通知を前記プロセッサに対して送付するよう前記判断ユニットに通知するように構成されている、
    請求項33に記載の装置。
  35. 前記プロセッサは、前記PCIeエンドポイントデバイスに対して複数のアクセスリクエストを送付し、
    前記モニターユニットは、特に、前記複数のアクセスリクエストのそれぞれのメッセージ状態をモニターするように構成され、
    前記判断ユニットは、特に、プリセットトリガーイベント条件が満たされる場合に、前記複数のアクセスリクエストのうちでレスポンスメッセージを受け取っていないアクセスリクエストの数量統計を集めるように構成され、
    前記獲得ユニットは、特に、数量が第1閾値を超えている場合には、前記アクセスリクエストに対するシミュレーションレスポンスメッセージを獲得するように構成されている、
    請求項25に記載の装置。
  36. プロセッサ、メモリー、バス、および、コミュニケーションインターフェイスを含むコンピューターであって、
    前記メモリーは、コンピューターで実行可能なインストラクションを保管するように構成されており、
    前記プロセッサは、前記バスを通じて前記メモリーに対して接続されており、
    前記コンピューターが動作する場合に、前記プロセッサは、前記メモリーの中に保管された前記コンピューターで実行可能なインストラクションを実行して、前記コンピューターが、請求項14乃至24のいずれか一項に従った方法を実施するコンピューター。
  37. コンピューターで実行可能なインストラクションを含む、コンピューターで読取り可能な媒体であって、
    コンピューターのプロセッサが、前記コンピューターで実行可能なインストラクションを実行する場合に、前記コンピューターが、請求項14乃至24のいずれか一項に従った方法を実施するコンピューターで読取り可能な媒体。
JP2015517591A 2013-05-20 2013-05-20 ピーシーアイエクスプレスのエンドポイントデバイスにアクセスするための方法、コンピューターシステム、および、装置 Active JP5932146B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/075920 WO2014186938A1 (zh) 2013-05-20 2013-05-20 一种计算机系统、高速外围组件互联端点设备的访问方法和装置

Publications (2)

Publication Number Publication Date
JP2015524122A true JP2015524122A (ja) 2015-08-20
JP5932146B2 JP5932146B2 (ja) 2016-06-08

Family

ID=50671623

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015517591A Active JP5932146B2 (ja) 2013-05-20 2013-05-20 ピーシーアイエクスプレスのエンドポイントデバイスにアクセスするための方法、コンピューターシステム、および、装置

Country Status (5)

Country Link
US (2) US9384110B2 (ja)
EP (1) EP2829986B1 (ja)
JP (1) JP5932146B2 (ja)
CN (1) CN103797469B (ja)
WO (1) WO2014186938A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2018131550A1 (ja) * 2017-01-13 2019-11-07 日本電気株式会社 コネクション管理ユニット、およびコネクション管理方法

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104133759A (zh) * 2014-08-06 2014-11-05 浪潮(北京)电子信息产业有限公司 一种实现扩展模组移除的方法及装置
CN105893293B (zh) * 2014-12-18 2019-10-29 伊姆西公司 用于管理外部组件快速互连设备热插拔的系统和方法
CN104657317B (zh) * 2015-03-06 2017-12-26 北京百度网讯科技有限公司 服务器
TWI559148B (zh) * 2015-05-11 2016-11-21 廣達電腦股份有限公司 自動硬體恢復方法及自動硬體恢復系統
CN105022716A (zh) * 2015-06-24 2015-11-04 浪潮电子信息产业股份有限公司 一种多数据链路的gpu服务器
CN108733479B (zh) * 2017-04-24 2021-11-02 上海宝存信息科技有限公司 卸载固态硬盘卡的方法以及使用该方法的装置
CN107682397B (zh) 2017-08-28 2019-02-26 平安科技(深圳)有限公司 客户资源获取方法、装置、终端设备及存储介质
CN107678994B (zh) * 2017-09-15 2021-04-20 华为技术有限公司 PCIe设备热拔方法及装置
CN110413554B (zh) * 2018-04-28 2021-05-28 杭州海康威视数字技术股份有限公司 热插拔系统及热插拔方法
CN109324991B (zh) * 2018-09-21 2021-12-03 郑州云海信息技术有限公司 一种pcie设备的热插拔装置、方法、介质及系统
CN112015580A (zh) * 2019-05-31 2020-12-01 瑞昱半导体股份有限公司 具资料传收机制的电子装置以及资料传收方法
CN110851330B (zh) * 2019-11-13 2023-04-21 重庆秦嵩科技有限公司 一种cpu在线监控方法
CN110928827B (zh) * 2019-11-29 2021-06-22 苏州浪潮智能科技有限公司 一种访问PCIe设备的优化的方法和设备
US11449456B2 (en) 2020-06-02 2022-09-20 Microchip Technology Inc. System and method for scheduling sharable PCIe endpoint devices

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0283649A (ja) * 1988-09-20 1990-03-23 Fujitsu Ltd バス監視方式
JP2003288278A (ja) * 2002-01-25 2003-10-10 Oki Electric Ind Co Ltd マイクロコントローラ
JP2010055474A (ja) * 2008-08-29 2010-03-11 Internatl Business Mach Corp <Ibm> シリアルバスシステム及びハングアップスレーブリセット方法
US20100153602A1 (en) * 2008-12-12 2010-06-17 Fujitsu Microelectronics Limited Computer system and abnormality detection circuit
JP2012043171A (ja) * 2010-08-19 2012-03-01 Sony Corp バスシステムおよびバスシステムと接続機器とを接続するブリッジ回路
JP2012063971A (ja) * 2010-09-16 2012-03-29 Nec Corp I/oブリッジ装置、応答通知方法、及びプログラム
JP2013097420A (ja) * 2011-10-28 2013-05-20 Kyocera Document Solutions Inc 情報処理装置および画像形成装置

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5337413A (en) * 1992-02-06 1994-08-09 Tandem Computers Incorporated Environment monitoring system for standard interface bus computer systems
ATE176063T1 (de) * 1994-04-06 1999-02-15 Advanced Micro Devices Inc Parallelschlussschnittstellenschaltkreise in rechnersystemen
US5594875A (en) * 1994-07-01 1997-01-14 Digital Equipment Corporation Method and apparatus to provide pended transaction on a non-pended system bus
US5819027A (en) * 1996-02-28 1998-10-06 Intel Corporation Bus patcher
US6070207A (en) * 1998-01-26 2000-05-30 Intel Corporation Hot plug connected I/O bus for computer system
US6751698B1 (en) * 1999-09-29 2004-06-15 Silicon Graphics, Inc. Multiprocessor node controller circuit and method
JP4144986B2 (ja) * 1999-12-13 2008-09-03 富士通株式会社 情報処理装置、及び、トランザクション処理方法、プロセッサ、並びに、リトライ方法
US7058750B1 (en) * 2000-05-10 2006-06-06 Intel Corporation Scalable distributed memory and I/O multiprocessor system
GB2367647B (en) * 2000-10-03 2002-11-20 Sun Microsystems Inc Resource access control for a processor
WO2003019393A1 (en) 2001-08-24 2003-03-06 Intel Corporation A general intput/output architecture, protocol and related methods to implement flow control
US7260749B2 (en) * 2003-01-22 2007-08-21 Red Hat, Inc. Hot plug interfaces and failure handling
US20070033314A1 (en) * 2005-08-04 2007-02-08 Arad Rostampour Event generation for device hotplug
JP4630766B2 (ja) * 2005-08-26 2011-02-09 キヤノン株式会社 プライマリシステムとセカンダリシステムを有するシステム
US20070088987A1 (en) * 2005-10-13 2007-04-19 Hiroshi Kimizuka System and method for handling information transfer errors between devices
JP4555791B2 (ja) * 2006-03-16 2010-10-06 富士通株式会社 データ読出方法及びデータ読出装置
US8935437B2 (en) * 2006-06-14 2015-01-13 Dell Products L.P. Peripheral component health monitoring apparatus
CN100511162C (zh) * 2006-09-29 2009-07-08 华为技术有限公司 一种隔离总线故障的方法、装置与一种单板
CN100504823C (zh) * 2007-04-19 2009-06-24 杭州华三通信技术有限公司 实现周边元件接口加速总线插卡热插拔的方法及装置
US8151145B2 (en) * 2008-04-03 2012-04-03 Oracle America, Inc. Flow control timeout mechanism to detect PCI-express forward progress blockage
JP5293165B2 (ja) 2008-12-25 2013-09-18 富士通セミコンダクター株式会社 シミュレーション支援プログラム、シミュレーション装置、およびシミュレーション支援方法
CN101996146B (zh) * 2009-08-26 2013-08-07 戴尔产品有限公司 多模式处理模块及其使用方法
CN102023941B (zh) * 2009-09-23 2013-01-16 联想(北京)有限公司 一种笔记本电脑
US8443126B2 (en) * 2010-09-22 2013-05-14 Wilocity, Ltd. Hot plug process in a distributed interconnect bus
US8782461B2 (en) * 2010-09-24 2014-07-15 Intel Corporation Method and system of live error recovery
CN102193799A (zh) * 2011-03-25 2011-09-21 上海磁浮交通发展有限公司 一种用于安全计算机通信的安全中间系统
US9086945B2 (en) * 2011-09-01 2015-07-21 Dell Products, Lp System and method to correlate errors to a specific downstream device in a PCIe switching network
CN102662903B (zh) * 2012-03-31 2016-09-28 浪潮电子信息产业股份有限公司 一种通过cpld或fpga实现pcie设备热插拔的方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0283649A (ja) * 1988-09-20 1990-03-23 Fujitsu Ltd バス監視方式
JP2003288278A (ja) * 2002-01-25 2003-10-10 Oki Electric Ind Co Ltd マイクロコントローラ
JP2010055474A (ja) * 2008-08-29 2010-03-11 Internatl Business Mach Corp <Ibm> シリアルバスシステム及びハングアップスレーブリセット方法
US20100153602A1 (en) * 2008-12-12 2010-06-17 Fujitsu Microelectronics Limited Computer system and abnormality detection circuit
JP2012043171A (ja) * 2010-08-19 2012-03-01 Sony Corp バスシステムおよびバスシステムと接続機器とを接続するブリッジ回路
JP2012063971A (ja) * 2010-09-16 2012-03-29 Nec Corp I/oブリッジ装置、応答通知方法、及びプログラム
JP2013097420A (ja) * 2011-10-28 2013-05-20 Kyocera Document Solutions Inc 情報処理装置および画像形成装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2018131550A1 (ja) * 2017-01-13 2019-11-07 日本電気株式会社 コネクション管理ユニット、およびコネクション管理方法
JP7103231B2 (ja) 2017-01-13 2022-07-20 日本電気株式会社 コネクション管理ユニット、およびコネクション管理方法
US11411880B2 (en) 2017-01-13 2022-08-09 Nec Corporation Connection management unit and connection management method

Also Published As

Publication number Publication date
US9384110B2 (en) 2016-07-05
CN103797469B (zh) 2016-08-31
EP2829986B1 (en) 2017-07-12
CN103797469A (zh) 2014-05-14
EP2829986A4 (en) 2015-07-08
JP5932146B2 (ja) 2016-06-08
US20140344632A1 (en) 2014-11-20
US9323635B2 (en) 2016-04-26
US20150242341A1 (en) 2015-08-27
WO2014186938A1 (zh) 2014-11-27
EP2829986A1 (en) 2015-01-28

Similar Documents

Publication Publication Date Title
JP5932146B2 (ja) ピーシーアイエクスプレスのエンドポイントデバイスにアクセスするための方法、コンピューターシステム、および、装置
US9477632B2 (en) Access proxy for accessing peripheral component interconnect express endpoint device, PCIe exchanger and computer system
US9626153B2 (en) Control device and control method
CN106502814B (zh) 一种记录pcie设备错误信息的方法及装置
CN107566214B (zh) 一种性能测试方法和装置
TW201719436A (zh) 使用基板管理控制器偵測通訊匯流排上錯誤的方法以及用於網路系統的偵錯器
US20160134508A1 (en) Non-disruptive integrated network infrastructure testing
US20140189103A1 (en) System for monitoring servers and method thereof
JP2016186719A (ja) 入出力制御装置、情報処理装置及び入出力制御装置の制御方法
CN106126454B (zh) 一种计算机系统、高速外围组件互联端点设备的访问方法和装置
CN114564334B (zh) 一种mrpc数据处理方法、系统及相关组件
CN115599617A (zh) 总线检测方法、装置、服务器及电子设备
JP6222759B2 (ja) 障害通知装置、障害通知方法及びプログラム
JP2015114952A (ja) ネットワークシステム、監視制御装置およびソフトウェア検証方法
CN110209548B (zh) 服务控制方法、系统、电子设备及计算机可读存储介质
CN110752939B (zh) 一种业务进程故障处理方法、通知方法和装置
JP4863984B2 (ja) 監視処理プログラム、方法及び装置
JP6112205B2 (ja) 情報処理システム、装置、方法及びプログラム
EP4057582B1 (en) Device management method and apparatus
JP7368713B2 (ja) サービス提供システム、サーバ、サービス提供方法、及びサービス提供プログラム
JPWO2012127629A1 (ja) サーバシステム及びクロスバボードの活性保守方法
US20130238284A1 (en) Testing method
JP2017225005A (ja) 情報処理装置、情報処理方法、プログラム及び情報処理システム
JP2016225943A (ja) 装置状態の復旧システム,及びシステムの装置状態復旧方法
JP2006313419A (ja) 検査システム、遅延回路、データ収集装置、データ遅延方法、データ遅延プログラム、記録媒体

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150811

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151111

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: 20160405

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160427

R150 Certificate of patent or registration of utility model

Ref document number: 5932146

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250