JP6418021B2 - 情報処理装置及び情報処理装置の制御方法 - Google Patents

情報処理装置及び情報処理装置の制御方法 Download PDF

Info

Publication number
JP6418021B2
JP6418021B2 JP2015054875A JP2015054875A JP6418021B2 JP 6418021 B2 JP6418021 B2 JP 6418021B2 JP 2015054875 A JP2015054875 A JP 2015054875A JP 2015054875 A JP2015054875 A JP 2015054875A JP 6418021 B2 JP6418021 B2 JP 6418021B2
Authority
JP
Japan
Prior art keywords
information
unit
pcie
processing unit
processing apparatus
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
Application number
JP2015054875A
Other languages
English (en)
Other versions
JP2016177333A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015054875A priority Critical patent/JP6418021B2/ja
Priority to US15/048,349 priority patent/US9892078B2/en
Publication of JP2016177333A publication Critical patent/JP2016177333A/ja
Application granted granted Critical
Publication of JP6418021B2 publication Critical patent/JP6418021B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • 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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • 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/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Systems (AREA)
  • Bus Control (AREA)

Description

本発明は、情報処理装置及び情報処理装置の制御方法に関する。
情報処理装置であるコンピュータの内部でCentral Processing Unit(CPU)とInput/Output(I/O)デバイスを接続するバスの規格として、例えば、Peripheral Component Interconnect Express(PCIe)が知られている。PCIeは、ルートコンプレックスを頂点とし、I/Oデバイスを終点とするツリー構造を有する。複数のI/Oデバイスを接続するには、ツリー構造の中間点にPCIeスイッチが設置される。
例えば、PCIeに準拠したI/Oデバイスには、イーサネット(登録商標)コントローラやSerial Advanced Technology Attachment(SATA)コントローラがある。
このようなPCIeに準拠したコントローラは、PCIeの仕様は踏襲していても、エラー処理や初期化などといった細かな動作の仕様は、製造元が個々に開発するコントローラによって異なる場合が多い。
従来、個々のデバイスドライバが各コントローラに合わせた処理を行うことでコントローラを動作させるため、デバイスドライバの開発者がハードウェアの動作を理解して、デバイスドライバに処理を組み込むことが行われていた。
例えば、エラー処理を行う場合、特定のコントローラは特定のレジスタのエラーステータスをクリアしなければ、次のエラーを検知することができないが、他のコントローラは同じレジスタをクリアしなくても次のエラーを検知できるという仕様の違いが存在する。ハードウェアで適切にエラーを検知するためには、特定のコントローラでは特定のレジスタのエラーステータスをクリアし、他のコントローラではクリアを行わなくてもよいというように、コントローラ毎にデバイスドライバを対応させることになる。
PCIeデバイスで発生したイベントの処理方法として、イベントが検出されたデバイスに対する命令を阻止し、その後Operating System(OS)から受信したコマンドを基にデバイスを制御する従来技術がある。
特表2013−534665号公報
しかしながら、従来のようにコントローラ毎にデバイスドライバを変更する場合、コントローラ毎のそれぞれのデバイスドライバというソフトウェアの開発において、ハードウェアに合わせたエラー処理を行うための工数がかかってしまう。
また、デバイスに対する命令を阻止した後にOSからのコマンドにしたがってデバイスを制御する従来技術を用いた場合、各デバイスに共通の処理を行うことはできるが、デバイス間の差異を吸収することは困難である。
開示の技術は、上記に鑑みてなされたものであって、デバイスドライバの開発工数の削減に寄与する情報処理装置及び情報処理装置の制御方法を提供することを目的とする。
本願の開示する情報処理装置及び情報処理装置の制御方法は、一つの態様において、演算処理部を有する。処理部は複数あり、前記演算処理部から送信される命令にしたがい処理を実行する。スイッチは、前記演算処理部と前記処理部との通信を中継する。入出力制御部は、各前記処理部の前記スイッチを介した前記演算処理部に対する位置情報及び各前記処理部でイベントが発生した場合にそれぞれの前記処理部に実行させる処理が登録された実行処理情報を有し、特定の処理部で前記イベントが発生した場合、イベント発生通知を取得し、取得した前記イベント発生通知を基に前記位置情報から前記特定の処理部の位置を特定し、前記特定の処理部に実行させる処理を前記実行処理情報から抽出し、抽出した処理の実行命令を、特定した位置を基に前記特定の処理部へ送信する。
本願の開示する情報処理装置及び情報処理装置の制御方法の一つの態様によれば、デバイスドライバの開発工数の削減に寄与することができるという効果を奏する。
図1は、実施例に係る情報処理装置を示す図である。 図2は、外部ROM及びアクションリストに格納されるデータの一例を示す図である。 図3は、PCIeブリッジの詳細を表すブロック図である。 図4は、デバイスツリーデータの一例を表す図である。 図5は、PIO管理部の詳細を表すブロック図である。 図6は、物理層におけるPCIeのパケットの模式図である。 図7は、TLPヘッダの詳細を表す図である。 図8は、実施例に係るPCIeブリッジによる初期化時におけるTLPパケットの設定情報の生成処理のフローチャートである。 図9は、実施例に係るPCIeブリッジのエラー発生時及び割り込み時におけるTLPパケットの設定情報の生成処理のフローチャートである。 図10は、TLPパケットの設定情報の生成処理のフローチャートである。
以下に、本願の開示する情報処理装置及び情報処理装置の制御方法の実施例を図面に基づいて詳細に説明する。なお、以下の実施例により本願の開示する情報処理装置及び情報処理装置の制御方法が限定されるものではない。
図1は、実施例に係る情報処理装置を示す図である。本実施例に係る情報処理装置は、CPU1、PCIeスイッチ2を有する。さらに、本実施例に係る情報処理装置は、SATAコントローラ31、イーサネットコントローラ32、外部ROM(Read Only Memory)4及びメモリ5を有する。メモリ5は、主記憶装置である。
SATAコントローラ31は、PCIeの規格に準拠したコントローラである。SATAコントローラ31は、例えば、ハードディスク、SSD(Solid State Drive)又は光ドライブなどが接続される。
イーサネットコントローラ32は、PCIeの規格に準拠したコントローラである。イーサネットコントローラ32は、ネットワークに接続するためのデバイスである。
本実施例では、PCIeデバイスとして、SATAコントローラ31及びイーサネットコントローラ32を例に説明するが、PCIeデバイスとしてはPCIeに準拠するデバイスあれば他の物でもよい。以下では、SATAコントローラ31及びイーサネットコントローラ32を区別しない場合、「PCIeデバイス30」という。このPCIeデバイス30が、「処理部」の一例にあたる。
CPU1は、演算処理装置である。CPU1は、コア11、PCIeブリッジ12及びルートコンプレックス13を有する。
コア11は、演算処理部である。コア11は、PCIeブリッジ12を介してルートコンプレックス13に接続する。コア11は、情報処理装置の電源投入時、PCIeスイッチ2に接続されたPCIeデバイス30の情報の入力をPCIeブリッジ12から受ける。そして、コア11は、各PCIeデバイス30のデバイス位置情報を生成する。ここで、デバイス位置情報とは、コア11に対するPCIeスイッチ2を介したPCIeデバイス30の位置を示す情報であり、言い換えれば、ルートコンプレックス13を頂点としたデバイスツリーにおける各PCIeデバイス30の位置を示す情報である。具体的には、デバイス位置情報は、バス(Bus)番号、デバイス(Device)番号、ファンクション(Function)番号で表される。以下では、デバイス位置情報を、デバイス位置情報に含まれる各番号の頭文字を取って「BDF(登録商標)」と表す場合がある。さらに、コア11は、PCIeスイッチ2に接続されたPCIeデバイス30の初期化を行う。そして、コア11は、PCIeデバイス30の初期化の通知を各PCIeデバイス30の識別情報及び生成したデバイス位置情報とともにシステム側入力ユニット122へ出力する。
また、コア11は、PCIeブリッジ12、ルートコンプレックス13及びPCIeスイッチ2を介してPCIeデバイス30に命令を送信し、また、PCIeデバイス30から応答を受信する。
PCIeブリッジ12は、コア11、ルートコンプレックス13、外部ROM4及びメモリ5とバスで接続される。PCIeブリッジ12は、ルートコンプレックス13にプロトコル変換を行わせるデバイスである。具体的には、PCIeブリッジ12は、コア11から送られてきた命令をPCIeの仕様規定にあわせて転送するための情報をルートコンプレックス13に送信し、ルートコンプレックス13に命令をPCIeのバスを介して目的のPCIeデバイス30に送信させる。また、PCIeブリッジ12は、ルートコンプレックス13から取得したデータをコア11へ転送する。
また、PCIeブリッジ12は、PCIeデバイス30とメモリ5との間のDMA(Direct Memory Access)を制御する。さらに、PCIeブリッジ12は、外部ROM4に格納された情報を読み込む。
ルートコンプレックス13は、PCIeブリッジ12を介してコア11に接続する。また、ルートコンプレックス13は、PCIeスイッチ2を介してPCIeデバイス30と接続する。ルートコンプレックス13は、プロトコル変換を行うデバイスである。
具体的には、ルートコンプレックス13は、コア11から送信された命令から、PCIeブリッジ12から受信した設定にしたがってPCIeに準拠したパケットを作成する。そして、ルートコンプレックス13は、PCIeスイッチ2を介してPCIeデバイス30へ生成したパケットを送信する。また、ルートコンプレックス13は、PCIeデバイス30から送られてきたデータを、コア11に繋がるシステムバスに合わせたプロトコルに変換してPCIeブリッジ12へ送信する。
すなわち、コア11からルートコンプレックス13までの間はシステムバスで接続される。一方、ルートコンプレックス13からPCIeデバイス30までは、PCIeのバスで接続される。
PCIeスイッチ2は、ルートコンプレックス13に複数のPCIeデバイス30を接続するためのデバイスである。PCIeスイッチ2は、ルートコンプレックス13に接続するポート21を有する。さらに、PCIeスイッチ2は、PCIeデバイス30を接続するためのポート22及び23を有する。ここで、本実施例では、一例としてPCIeスイッチ2がポート22及び23という2つのポートを有する場合で説明するが、PCIeスイッチ2が有するPCIeデバイス30を接続するポートの数はこれに限らない。また、実際には、CPU1とPCIeデバイス30とはPCIeスイッチ2を介してデータや命令の送受信を行うが、説明を分かり易くするために、以下の説明ではCPU1とPCIeデバイス30とが直接データや命令の送受信を行うように説明する場合がある。
外部ROM4は、情報処理装置から取り外し可能の記憶媒体である。外部ROM4には、図2に示すように、PCIeデバイス30の識別情報であるベンダID(Identification)及びデバイスIDに対応させて、イベント発生時に実行する処理の情報が登録されている。図2は、外部ROM及びアクションリストに格納されるデータの一例を示す図である。イベントには、例えば、PCIeデバイス30の初期化、PCIeデバイス30におけるエラー発生及び割り込みがある。また、実行する処理の情報として、例えば、処理に用いるコンフィグレジスタアドレス、読出処理又は書込処理のいずれを行うかの情報及び書込処理の場合の書込データである。読出処理又は書込処理のいずれを行うかの情報は、図2におけるRaed/Writeの欄に登録される。また、書込処理の場合の書込データは、図2におけるWrite Dataの欄に登録される。
外部ROM4のデータは、情報処理装置の管理者により、情報処理装置に実装されると予測されるPCIeデバイス30に関するデータが予め登録される。実行する処理によって用いるPCIeデバイス30はある程度固定であるため、管理者は、その情報処理装置が実行する処理によってどのようなPCIeデバイス30が実装されるかを予測することができる。
次に、図3を参照して、PCIeブリッジ12について詳細に説明する。図3は、PCIeブリッジの詳細を表すブロック図である。このPCIeブリッジ12が、「入出力制御部」の一例にあたる。
システム側出力ユニット121は、コア11へリクエストを出力するための出力インタフェースを有する。システム側出力ユニット121は、コア11からのリクエストを処理するモジュールである。
システム側出力ユニット121は、情報処理装置の電源投入時、PCIeスイッチ2に接続されたPCIeデバイス30の情報をデバイス側入力ユニット129から受信する。そして、システム側出力ユニット121は、取得したPCIeデバイス30の情報をコア11へ出力する。
システム側出力ユニット121は、システム側入力ユニット122又はデバイス側入力ユニット129からリクエストを受信する。加えて、システム側出力ユニット121は、システム側で用いるアドレスを割込処理アドレス変換モジュール123から受信する。そして、システム側出力ユニット121は、指定されたアドレスとともに受信したリクエストをコア11へ出力する。
さらに、システム側入力ユニット122やデバイス側入力ユニット129からのリクエストが割り込みの場合、システム側出力ユニット121は、割込命令を割込処理アドレス変換モジュール123から受信する。そして、システム側出力ユニット121は、割込命令にしたがって、受信したリクエストをコア11へ出力する。
システム側入力ユニット122は、コア11からリクエストを受信するための入力インタフェースを有する。システム側入力ユニット122は、コア11からのリクエストを処理するモジュールである。
システム側入力ユニット122は、情報処理装置の電源投入時、PCIeスイッチ2に接続されたPCIeデバイス30の初期化の通知を各PCIeデバイス30の識別情報及びデバイス位置情報とともにコア11から受ける。そして、システム側入力ユニット122は、PCIeデバイス30の初期化の通知を各PCIeデバイス30のベンダID、デバイスID及びデバイス位置情報とともにPIO管理部125へ送信する。
システム側入力ユニット122は、コア11からリクエストを受信する。そして、例えば、PIO(Programmed Input Output)リクエストをコア11から受信した場合、システム側入力ユニット122は、受信したPIOリクエストをPIO管理部125へ送信する。また、DMA処理のリクエストをコア11から受信した場合、システム側入力ユニット122は、受信したDMA処理のリクエストをDMA制御部124へ出力する。さらに、コア11へのリクエストに対する情報がある場合、システム側入力ユニット122は、リクエストに対する情報をシステム側出力ユニット121へ送信する。
DMA制御部124は、PCIeデバイス30とメモリ5との間のDMA処理を制御する。DMA制御部124は、DMA処理のリクエストをシステム側入力ユニット122から受信する。また、DMA制御部124は、PCIeデバイス30からのDMA処理のリクエストを割込処理アドレス変換モジュール123から受信する。そして、DMA制御部124は、受信した指示にしたがいメモリ5に対するデータの読み書きDMA処理を実行する。
割込処理アドレス変換モジュール123は、PCIeデバイス30から送信されたリクエストの入力をデバイス側入力ユニット129から受ける。そして、割込処理アドレス変換モジュール123は、リクエストが割り込みの場合、割り込みの種類に応じて割込情報をシステム側出力ユニット121又はデバイス側入力ユニット129へ送信する。さらに、割込処理アドレス変換モジュール123は、割込情報をPIO管理部125へ通知する。
また、割込処理アドレス変換モジュール123は、リクエストからPCIeデバイス30で指定されたアドレスを取得し、システム側で用いるアドレスに変換する。そして、割込処理アドレス変換モジュール123は、変換後のアドレスをシステム側出力ユニット121へ出力する。
また、割込処理アドレス変換モジュール123は、PCIeデバイス30から送信されたPCIeデバイス30のエラーメッセージをデバイス側入力ユニット129から受信する。そして、割込処理アドレス変換モジュール123は、エラーメッセージをPIO管理部125へ送信する。
デバイス側入力ユニット129は、ルートコンプレックス13からリクエストを受信するための入力インタフェースを有する。デバイス側入力ユニット129は、ルートコンプレックス13からのリクエストを処理するモジュールである。
デバイス側入力ユニット129は、情報処理装置の電源投入時にPCIeスイッチ2に接続されたPCIeデバイス30の情報をルートコンプレックス13から受信する。そして、デバイス側入力ユニット129は、取得したPCIeデバイス30の情報をシステム側出力ユニット121へ送信する。さらに、デバイス側入力ユニット129は、各PCIeデバイス30の情報からベンダID、デバイスID及び物理アドレスオフセットの情報を取得する。そして、デバイス側入力ユニット129は、各PCIeデバイス30のベンダID、デバイスID及び物理アドレスオフセットを後述するデバイスツリーデータ128へ登録する。
また、デバイス側入力ユニット129は、PCIeデバイス30から送信されたリクエストの入力をルートコンプレックス13から受ける。そして、デバイス側入力ユニット129は、受信したリクエストをシステム側出力ユニット121及び割込処理アドレス変換モジュール123へ送信する。さらに、リクエストにより割り込みが発生した場合、デバイス側入力ユニット129は、割込情報を割込処理アドレス変換モジュール123から受信する。そして、デバイス側入力ユニット129は、割込情報にしたがって、ルートコンプレックス13からのリクエストの入力を受ける。
また、デバイス側入力ユニット129は、ルートコンプレックス13からPCIeデバイス30のエラーメッセージ又は割込情報の入力を受けた場合、受信したエラーメッセージ又は割込情報を割込処理アドレス変換モジュール123へ送信する。
デバイスツリーデータ128は、図4に示される情報を格納する。図4は、デバイスツリーデータの一例を表す図である。デバイスツリーデータ128には、例えば、デバイス位置情報(BDF)に対応させて、ベンダID、デバイスID及び物理アドレスオフセットが登録される。デバイスツリーデータ128のデバイス位置情報は、後述するPIO管理部125によって登録される。また、デバイスツリーデータ128のベンダID、デバイスID及び物理アドレスオフセットは、デバイス側入力ユニット129によって登録される。このデバイスツリーデータ128が、「位置情報」の一例にあたる。
以下では、デバイスツリーデータ128に登録された、デバイス位置情報、ベンダID、デバイスID物理アドレスオフセットの組を「デバイスデータ」という。また、デバイスツリーデータ128におけるデバイスデータの各登録場所を「デバイスツリーデータ128のエントリ」という。
また、アクションリスト127は、PCIeスイッチ2に接続されたPCIeデバイス30毎に、図2に示すイベント発生時に実行する処理の情報が登録される。具体的には、アクションリスト127では、PCIeデバイス30のベンダID及びデバイスIDに対応させて、実行する処理の情報が登録される。すなわち、アクションリスト127は、外部ROM4に登録された情報の中のPCIeスイッチ2に接続されたPCIeデバイス30の情報である。このアクションリスト127が、「実行処理情報」の一例にあたる。
以下では、アクションリスト127における契機となるイベント及び実行する処理の情報の組を「アクションデータ」という。また、アクションリスト127におけるアクションデータの各登録場所を「アクションリスト127のエントリ」という。
外部ROMデータ読込部126は、電源投入時におけるデバイス側入力ユニット129及びPIO管理部125によるデバイスツリーデータ128への情報登録が完了後、デバイスツリーデータ128を参照する。そして、外部ROMデータ読込部126は、デバイスツリーデータ128からPCIeスイッチ2に接続された全てのPCIeデバイス30のベンダID及びデバイスIDを取得する。次に、外部ROMデータ読込部126は、取得したベンダID及びデバイスIDに対応するイベント発生時に実行する処理の情報を外部ROM4から取得する。次に、外部ROMデータ読込部126は、取得したイベント発生時に実行する処理の情報をベンダID及びデバイスIDの組に対応させてアクションリスト127へ登録する。
PIO管理部125は、情報処理装置の電源投入時に、各PCIeデバイス30の初期化の通知をデバイス位置情報とともにシステム側入力ユニット122から受信する。そして、PIO管理部125は、デバイス位置情報で指定されたPCIeデバイス30にID取得のためのPIOリクエストを送信する。ベンダIDとデバイスIDは、PCIeの仕様に規定されたCommon Configration Space HeaderのOffset 0x00に格納される。そこで、PIO管理部125は、このレジスタへのConfiguration Readを実行するPIOを送信する。その後、PIO管理部125は、デバイス位置情報に応じたPCIeデバイス30のベンダID及びデバイスIDをシステム側入力ユニット122から取得する。
そして、PIO管理部125は、各PCIeデバイス30のベンダID及びデバイスIDに対応するデバイス位置情報をデバイスツリーデータ128へ登録する。
さらに、図5を参照して、イベント発生時におけるPIO管理部125の機能について詳細に説明する。図5は、PIO管理部の詳細を表すブロック図である。ただし、図5では、イベント発生時におけるPIO管理部125の機能のみを抽出して記載した。
PIO管理部125は、図5に示すように、ビジー信号管理部201、デバイス特定部202、アクションリスト読出部203、TLP(Transaction Layer Packet)情報生成部204及びパケット管理部205を有する。
ビジー信号管理部201は、システム側入力ユニット122とPIO管理部125との間の通信を監視する。ビジー信号管理部201は、ビジー信号発行要求をデバイス特定部202から受信する。そして、ビジー信号管理部201は、システム側入力ユニット122との間でパケットの処理が行われている場合、その処理が完了するまで待機する。パケットの処理完了後、ビジー信号管理部201は、システム側入力ユニット122に対してビジー信号を発行する。これにより、システム側入力ユニット122からPIO管理部125へのパケットの入力を停止することができる。ビジー信号管理部201は、ビジー信号の発行をデバイス特定部202へ通知する。
その後、ビジー信号管理部201は、ビジー信号の発行停止の指示をデバイス特定部202から受ける。そして、ビジー信号管理部201は、ビジー信号の発行を停止する。これにより、システム側入力ユニット122からPIO管理部125へのパケットの入力が再開する。
デバイス特定部202は、PCIeデバイス30の初期化の通知を各PCIeデバイス30のベンダID及びデバイスIDとともにシステム側入力ユニット122から受ける。そして、デバイス特定部202は、ビジー信号の発行要求をビジー信号管理部201に通知する。その後、デバイス特定部202は、ビジー信号の発行の通知をビジー信号管理部201から受信する。
ビジー信号の発行の通知を受信すると、デバイス特定部202は、デバイスツリーデータ128の先頭のエントリにデバイスポインタを設定する。次に、デバイス特定部202は、デバイスポインタが示すエントリにデバイスデータがあるか否かを判定する。
デバイスポインタが示すエントリにデバイスデータがある場合、デバイス特定部202は、デバイスポインタが示すベンダID及びデバイスID、並びに、発生イベントが初期化である旨をアクションリスト読出部203に通知する。さらに、デバイス特定部202は、デバイスポインタが示すエントリにおける物理アドレスオフセットをデバイスツリーデータ128から取得する。そして、デバイス特定部202は、取得した物理アドレスオフセット、ベンダID及びデバイスIDをTLP情報生成部204へ送信する。
その後アクションリスト読出部203からアクションデータの読み出し完了の通知を受けると、デバイス特定部202は、デバイスポインタをデバイスツリーデータ128の次のエントリに移動する。以下では、デバイスポインタをデバイスツリーデータ128の次のエントリに移動することを、「デバイスポインタをインクリメント」という。
その後、デバイス特定部202は、デバイスデータが登録されていないエントリをデバイスポインタが示すまで、ベンダID、デバイスID及び物理アドレスオフセットの通知、並びに、デバイスポインタのインクリメントを繰り返す。そして、デバイスデータが登録されていないエントリをデバイスポインタが示すようになった場合、デバイス特定部202は、ビジー信号の発行停止をビジー信号管理部201に指示する。
また、デバイス特定部202は、PCIeデバイス30におけるエラー発生及び割り込みの通知をPCIeデバイス30のベンダID及びデバイスIDとともに割込処理アドレス変換モジュール123から受信する。そして、デバイス特定部202は、ビジー信号の発行要求をビジー信号管理部201に通知する。その後、デバイス特定部202は、ビジー信号の発行の通知をビジー信号管理部201から受信する。
ビジー信号の発行の通知を受信すると、デバイス特定部202は、デバイスツリーデータ128の先頭のベンダID及びデバイスIDの組にデバイスポインタを設定する。次に、デバイス特定部202は、受信したベンダID及びデバイスIDの組にデバイスポインタが示すベンダID及びデバイスIDの組が一致するか否かを判定する。
デバイスポインタが示すベンダID及びデバイスIDの組が一致しない場合、デバイス特定部202は、デバイスポインタをインクリメントする。
これに対して、デバイスポインタが示すベンダID及びデバイスIDの組が一致した場合、デバイス特定部202は、デバイスポインタが示すベンダID及びデバイスID、並びに、発生イベントの情報をアクションリスト読出部203に通知する。この場合、発生イベントの情報は、PCIeデバイス30におけるエラー発生及び割り込みの何れかである。さらに、デバイス特定部202は、デバイスポインタが示すベンダID及びデバイスIDに対応する物理アドレスオフセットをデバイスツリーデータ128から取得する。そして、デバイス特定部202は、取得した物理アドレスオフセット、ベンダID及びデバイスIDをTLP情報生成部204へ送信する。
その後、デバイス特定部202は、アクションデータの読み出し完了の通知をアクションリスト読出部203から受ける。そして、デバイス特定部202は、ビジー信号の発行停止をビジー信号管理部201に指示する。
ここで、本実施例では、1つのPCIeデバイス30に関するエラーの発生や割り込みについての対応を行うため、デバイスポインタが示すベンダID及びデバイスIDの組が一致したものが処理の対象となり、他のPCIeデバイス30は処理の対象とならない。そのため、本実施例では、デバイス特定部202は、受信したベンダID及びデバイスIDの組に一致するデバイスポインタが示すベンダID及びデバイスIDの組を検出した後は処理を終了する。しかし、デバイス特定部202によるPCIeデバイス30の特定の処理の流れはこれに限らない。
例えば、デバイス特定部202は、受信したベンダID及びデバイスIDの組に一致するデバイスポインタが示すベンダID及びデバイスIDの組を検出した後も、デバイスポインタをインクリメントしPCIeデバイス30の特定を繰り返してもよい。この場合、デバイスポインタの示すベンダID及びデバイスIDの組がなくなった時点で、デバイス特定部202は、ビジー信号の発行停止をビジー信号管理部201に指示する。こうすることで、複数のPCIeデバイス30に関してエラーの発生や割り込みが起こった場合であっても、PCIeブリッジ12は、それらのイベントに1回で対処することができる。
アクションリスト読出部203は、ベンダID及びデバイスIDをデバイス特定部202から受信する。また、アクションリスト読出部203は、発生したイベントの情報、すなわち、アクションリスト読出部203は、PCIeデバイス30の初期化、エラー発生又は割り込みのいずれが発生したかをデバイス特定部202から受信する。以下では、発生したイベントの情報で示されるイベントを「受信イベント」という。
アクションリスト読出部203は、取得したベンダID及びデバイスIDに対応するアクションリスト127を抽出する。次に、アクションリスト読出部203は、抽出したアクションリスト127の先頭のエントリにアクションポインタを設定する。
次に、アクションリスト読出部203は、アクションポインタが示すエントリに記載された契機が受信イベントと一致するか否かを判定する。ここで、図2のアクションリスト127に示される契機が「初期化時」が、PCIeデバイス30の初期化の場合にあたる。また、契機が「Correctable Error message 受信時」及び「Uncorrectable Error message 受信時」が、PCIeデバイス30でエラーが発生した場合にあたる。また、契機が「MSI 受信時」が、PCIeデバイス30による割り込みの場合にあたる。
受信イベントと一致する場合、アクションリスト読出部203は、アクションリスト127におけるアクションポインタが示すエントリからコンフィグレジスタアドレス及び読み出し書き込みのいずれの処理を実行するかの情報を取得する。さらに、実行する処理が書き込みの場合、アクションリスト読出部203は、書込データをアクションリスト127のエントリから取得する。そして、アクションリスト読出部203は、取得した情報をTLP情報生成部204に通知する。その後、アクションリスト読出部203は、アクションポインタを次のエントリへ移動する。以下では、アクションポインタを次のエントリへ移動することを、「アクションポインタのインクリメント」という。
また、アクションポインタが示すエントリに記載された契機が受信イベントと一致しない場合、アクションリスト読出部203は、アクションポインタをインクリメントする。
アクションリスト読出部203は、アクションデータがないエントリをアクションポインタが示すようになるまで、契機と受信イベントとが一致するか否かの判定を行う。さらに、受信イベントと一致した場合、アクションリスト読出部203は、実行する処理の情報の取得及びTLP情報生成部204への送信を繰り返す。アクションポインタが示すデータがなくなった場合、アクションリスト読出部203は、アクションデータの読み出し完了をデバイス特定部202に通知する。
その後、デバイス特定部202から次のベンダID及びデバイスIDが送られてきた場合、アクションリスト読出部203は、そのベンダID及びデバイスIDに対して同様の処理を繰り返す。
TLP情報生成部204は、物理アドレスオフセット、ベンダID及びデバイスIDをデバイス特定部202から受信する。さらに、TLP情報生成部204は、実行する処理の情報をアクションリスト読出部203から受信する。
次に、TLP情報生成部204は、受信した情報からTLPを生成するための情報を決定する。TLPとは、トランザクション層で用いられるパケットである。図6は、物理層におけるPCIeのパケットの模式図である。TLPは、TLPヘッダ301、データ302及びECRC(End to end Cyclic Redundancy Check)303で生成される。また、TLPにシーケンス番号及びLCRC(Link Cyclic Redundancy Check)を付加したパケットがデータリンクレイヤパケットである。また、データリンクレイヤパケットにスタートフレーム及びエンドフレームを付加したものが、物理層パケットである。TLP情報生成部204は、TLPヘッダ301を生成するための情報を決定する。また、書込処理の場合には、TLP情報生成部204は、データ302への書込データの格納を決定する。
図7は、TLPヘッダの詳細を表す図である。Fmt(format)401は、TLPフォーマットを表す項目である。また、Type402は、TLPの種別を表す項目であるFmt401及びType402により、そのTLPがどのようなTLPかが決まる。また、Length403は、パケットのデータ長を表す項目である。Tag404は、データの順序制御に用いる管理用の番号を表す項目である。BE(Byte Enable)405は、書き込みを許可するバイトの指定を表す項目である。Address406は、使用するアドレスの指定を表す項目である。
TLP情報生成部204は、Fmt401及びType402にPCIe使用規定のConfig Read/Writeを設定する。また、TLP情報生成部204は、Length403を4バイトとして設定する。また、TLP情報生成部204は、BE405に0000_xxxxを設定する。ここで、xxxxは、読み書きの対象とするバイトが指定される。また、TLP情報生成部204は、Tag404に昇順に番号を設定していく。
さらに、TLP情報生成部204は、Address406におけるビット[11:0]に物理アドレスオフセットを加えたビットにアクションリスト127から取得したコンフィグレジスタアドレスを設定する。Address406の上位はバス番号によりシステム毎に規定されたPCIeデバイス30のコンフィグ空間を指定する。
さらに、TLP情報生成部204は、TLPが書き込み処理の場合、図6のデータ302にアクションリスト127から取得した書込データを設定する。
そして、TLP情報生成部204は、TLPの設定情報及び書込データをデバイス位置情報とともにパケット管理部205へ送信する。
バケット管理部205は、TLPの設定情報及び書込データをTLP情報生成部204から受信する。そして、パケット管理部205は、システム側入力ユニット122からのリクエストが無い状態でTLPを発行するために、ステートマシンを遷移するためのダミーPIOリクエスト信号を生成する。そして、パケット管理部205は、生成したダミーPIOリクエスト信号を受信して、TLPを発行する状態に遷移する。その後、パケット管理部205は、設定情報、書込データ及びデバイス位置情報をルートコンプレックス13へ送信する。
また、PIO管理部125は、イベントに対するPCIeデバイス30への処理が書込処理の場合、データを書き込む前のReadデータを保存し、書き込み後に再度Readを行って、2つの値を比較することで書き込みができたか否かを確認してもよい。
次に、図8を参照して、本実施例に係るPCIeブリッジ12による初期化時におけるTLPパケットの設定情報の生成処理について説明する。図8は、実施例に係るPCIeブリッジによる初期化時におけるTLPパケットの設定情報の生成処理のフローチャートである。
コア11は、PCIeスイッチ2に接続されたPCIeデバイス30の初期化を開始する(ステップS1)。デバイス特定部202は、システム側入力ユニット122を介してコア11からPCIeデバイス30の初期化の通知を受ける。そして、デバイス特定部202は、ビジー信号の発行要求をビジー信号管理部201へ送信する。
ビジー信号管理部201は、ビジー信号の発行要求を受けて、コア11とPIO管理部125との間でシステム側入力ユニット122を介して実行中の処理が完了したか否かを判定する(ステップS2)。実行中の処理が完了していない場合(ステップS2:否定)、ビジー信号管理部201は、実行中の処理が完了するまで待機する。これに対して、実行中の処理が完了した場合(ステップS2:肯定)、ビジー信号管理部201は、ビジー信号をシステム側入力ユニット122へ発行する(ステップS3)。そして、ビジー信号管理部201は、ビジー信号の発行をデバイス特定部202へ通知する。
次に、デバイス特定部202は、デバイスツリーデータ128の先頭エントリにデバイスポインタを設定する(ステップS4)。
次に、デバイス特定部202は、デバイスポインタが示すデバイスデータが存在するか否かを判定する(ステップS5)。
デバイスポインタが示すエントリにデバイスデータが存在する場合(ステップS5:肯定)、デバイス特定部202は、デバイスポインタが示すエントリに格納されたベンダID及びデバイスIDをアクションリスト読出部203に通知する。アクションリスト読出部203は、デバイスポインタが示すベンダID及びデバイスIDに対応するアクションリスト127を抽出する(ステップS6)。
アクションリスト読出部203は、抽出したアクションリスト127の先頭エントリにアクションポインタを設定する(ステップS7)。
アクションリスト読出部203は、アクションポインタが示すエントリにアクションデータが存在するか否かを判定する(ステップS8)。アクションデータが存在する場合(ステップS8:肯定)、アクションリスト読出部203は、そのアクションデータにおける契機が初期化か否かを判定する(ステップS9)。契機が初期化の場合(ステップ9:肯定)、アクションリスト読出部203は、TLPパケットの設定情報の生成処理を実行する(ステップS10)。その後、アクションリスト読出部203は、ステップS11へ進む。
これに対して、契機が初期化以外である場合(ステップ9:否定)、アクションリスト読出部203は、ステップS11へ進む。
次に、アクションリスト読出部203は、アクションポインタをインクリメント(ステップS11)し、ステップS8へ戻る。
これに対して、アクションポインタが示すエントリにアクションデータが存在しない場合(ステップS8:否定)、アクションリスト読出部203は、アクションデータの読み出し完了をデバイス特定部202へ通知する。デバイス特定部202は、通知を受けて、デバイスポインタをインクリメントする(ステップS12)。その後、デバイス特定部202は、ステップS5へ戻る。
一方、デバイスポインタが示すエントリにデバイスデータが存在しない場合(ステップS5:否定)、デバイス特定部202は、ビジー信号の停止をビジー信号管理部201に指示する。ビジー信号管理部201は、ビジー信号を停止する(ステップS13)。
次に、図9を参照して、本実施例に係るPCIeブリッジ12のエラー発生時及び割り込み時におけるTLPパケットの設定情報の生成処理について説明する。図9は、実施例に係るPCIeブリッジのエラー発生時及び割り込み時におけるTLPパケットの設定情報の生成処理のフローチャートである。
デバイス特定部202は、イベントメッセージ、すなわちPCIeデバイス30からエラーメッセージ又は割込情報を割込処理アドレス変換モジュール123から受信する(ステップS21)。そして、デバイス特定部202は、ビジー信号の発行要求をビジー信号管理部201へ送信する。
ビジー信号管理部201は、ビジー信号の発行要求を受けて、コア11とPIO管理部125との間でシステム側入力ユニット122を介して実行中の処理が完了したか否かを判定する(ステップS22)。実行中の処理が完了していない場合(ステップS22:否定)、ビジー信号管理部201は、実行中の処理が完了するまで待機する。これに対して、実行中の処理が完了した場合(ステップS22:肯定)、ビジー信号管理部201は、ビジー信号をシステム側入力ユニット122へ発行する(ステップS23)。そして、ビジー信号管理部201は、ビジー信号の発行をデバイス特定部202へ通知する。
次に、デバイス特定部202は、デバイスツリーデータ128の先頭エントリにデバイスポインタを設定する(ステップS24)。
次に、デバイス特定部202は、デバイスポインタが示すデバイスデータが存在するか否かを判定する(ステップS25)。
デバイスポインタが示すエントリにデバイスデータが存在しない場合(ステップS25:否定)、デバイス特定部202は、デバイスポインタをインクリメントする(ステップS26)。その後、デバイス特定部202は、ステップS25へ戻る。
これに対して、デバイスポインタが示すエントリにデバイスデータが存在する場合(ステップS25:肯定)、デバイス特定部202は、デバイスポインタが示すエントリに格納されたベンダID及びデバイスIDをアクションリスト読出部203に通知する。アクションリスト読出部203は、デバイスポインタが示すベンダID及びデバイスIDに対応するアクションリスト127を抽出する(ステップS27)。
アクションリスト読出部203は、抽出したアクションリスト127の先頭エントリにアクションポインタを設定する(ステップS28)。
アクションリスト読出部203は、アクションポインタが示すエントリにアクションデータが存在するか否かを判定する(ステップS29)。アクションデータが存在する場合(ステップS29:肯定)、アクションリスト読出部203は、そのアクションデータにおける契機が受信イベントか否かを判定する(ステップS30)。契機が受信イベントの場合(ステップ30:肯定)、アクションリスト読出部203は、TLPパケットの設定情報の生成処理を実行する(ステップS31)。その後、アクションリスト読出部203は、ステップS32へ進む。
これに対して、契機が受信イベント以外である場合(ステップ30:否定)、アクションリスト読出部203は、ステップS32へ進む。
次に、アクションリスト読出部203は、アクションポインタをインクリメント(ステップS32)し、ステップS29へ戻る。
これに対して、アクションポインタが示すエントリにアクションデータが存在しない場合(ステップS29:否定)、アクションリスト読出部203は、アクションデータの読み出し完了をデバイス特定部202に通知する。デバイス特定部202は、通知を受けて、ビジー信号の停止をビジー信号管理部201に指示する。ビジー信号管理部201は、ビジー信号を停止する(ステップS33)。
次に、図10を参照して、TLPパケットの設定情報の生成処理の流れについて説明する。図10は、TLPパケットの設定情報の生成処理のフローチャートである。図10のフローチャートは、図8のステップS10及び図9のステップS31で実行される処理の一例にあたる。
アクションリスト読出部203は、アクションリスト127からアクションポインタが示すエントリに登録されたアクションデータを取得する(ステップS101)。アクションリスト読出部203は、取得したアクションデータをTLP情報生成部204へ送信する。また、デバイス特定部202は、ベンダID、デバイスID及び物理アドレスオフセットをTLP情報生成部204へ送信する。
TLP情報生成部204は、アクションデータをアクションリスト読出部203から受信する。また、TLP情報生成部204は、ベンダID、デバイスID及び物理アドレスオフセットをデバイス特定部202から受信する。そして、TLP情報生成部204は、TLPヘッダ301におけるFmt401及びType402に動作を設定する(ステップS102)。
次に、TLP情報生成部204は、TLPヘッダ301におけるLength403を4バイトに設定する(ステップS103)。
次に、TLP情報生成部204は、TLPヘッダ301におけるBE(Byte Enable)405に0000_xxxxを設定する(ステップS104)。
次に、TLP情報生成部204は、TLPヘッダ301におけるTag404を昇順に設定する(ステップS105)。
次に、TLP情報生成部204は、TLPヘッダ301のAddress406のビット[11:0]に物理アドレスオフセットを加えたビットにコンフィグレジスタアドレスを設定する(ステップS106)。
次に、TLP情報生成部204は、そのTLPでPCIeデバイス30に実行させる処理が書込処理か否かを判定する(ステップS107)。実行させる処理が書込処理以外である場合(ステップS107:否定)、処理はステップS109へ進む。
これに対して、実行させる処理が書込処理の場合(ステップS107:肯定)、TLP情報生成部204は、アクションリスト127に記載された書込データをデータ302に設定する(ステップS108)。そして、TLP情報生成部204は、デバイス位置情報とともに各設定情報をパケット管理部205へ送信する。
パケット管理部205は、デバイス位置情報及び設定情報をTLP情報生成部204から受信する。そして、パケット管理部205は、ダミーPIOリクエスト信号を生成する(ステップS109)。パケット管理部205は、生成したダミーPIOリクエスト信号を受信して、TLPを発行する状態に遷移する。その後、パケット管理部205は、設定情報、書込データ及びデバイス位置情報をルートコンプレックス13へ送信する。ただし、書込データは、TLPによりPCIeデバイス30に実行させる処理が書き込みの場合のみである。
ルートコンプレックス13は、設定情報、書込データ及びデバイス位置情報をパケット管理部205から受信する。そして、ルートコンプレックス13は、受信した設定情報及び書込データからTLPを生成する。その後、ルートコンプレックス13は、生成したTLPをデバイス位置情報が示すPCIeデバイス30に向けて送信する(ステップS110)。
以上に説明したように、本実施例に係る情報処理装置では、特定のPCIeデバイスでのイベント発生の通知を受けたPCIeブリッジが、その特定のPCIeデバイスに応じた処理を実行させるTLPを生成し送信する。これにより、イベント発生時に、各PCIeデバイスに応じた処理を、それぞれのPCIeデバイスに実行させることができる。そして、この処理は、ハードウェアであるPCIeブリッジで行われるため、デバイスドライバに依存しない。そのため、イベント発生時のPCIe毎の仕様の違いをPCIeブリッジで吸収することができ、デバイスドライバの開発工数を削減することができる。
また、以上では、イベント発生時にTLPを用いてPCIeデバイスに処理を実行させたが、使用するパケットはハードウェアにより制御できるパケットであれば他のパケットを用いてもよい。例えば、物理層パケットやDLLP(Data Link Layer Packet)を用いてもよい。
1 CPU
2 PCIeスイッチ
4 外部ROM
5 メモリ
11 コア
12 PCIeブリッジ
13 ルートコンプレックス
21〜23 ポート
121 システム側出力ユニット
122 システム側入力ユニット
123 割込処理アドレス変換モジュール
124 DMA制御部
125 PIO管理部
126 外部ROMデータ読込部
127 アクションリスト
128 デバイスツリーデータ
129 デバイス側入力ユニット
201 ビジー信号管理部
202 デバイス特定部
203 アクションリスト読出部
204 TLP情報生成部
205 パケット管理部

Claims (5)

  1. 演算処理部と、
    前記演算処理部から送信される命令にしたがい処理を実行する複数の処理部と、
    前記演算処理部と前記処理部との通信を中継するスイッチと、
    各前記処理部の前記スイッチを介した前記演算処理部に対する位置情報及び各前記処理部でイベントが発生した場合にそれぞれの前記処理部に実行させる処理が登録された実行処理情報を有し、特定の処理部で前記イベントが発生した場合、イベント発生通知を取得し、取得した前記イベント発生通知を基に前記位置情報から前記特定の処理部の位置を特定し、前記特定の処理部に実行させる処理を前記実行処理情報から抽出し、抽出した処理の実行命令を、特定した位置を基に前記特定の処理部へ送信する入出力制御部と
    を備えたことを特徴とする情報処理装置。
  2. 前記位置情報は、前記処理部の識別情報と前記スイッチを介した前記演算処理部に対する位置との対応情報を含み、
    前記入出力制御部は、前記イベント発生通知に格納された前記処理部の前記識別情報と前記対応情報とを基に、前記スイッチを介した前記演算処理部に対する位置を取得する
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記入出力制御部は、トランザクション・レイヤ・パケットを用いて前記実行命令の送信を行うことを特徴とする請求項1又は2に記載の情報処理装置。
  4. 前記入出力制御部は、前記処理部の初期化の場合、前記イベント発生通知を前記演算処理部から受信し、前記処理部のエラー発生時及び割り込みの場合、前記エラー発生又は前記割り込みが発生した処理部から前記イベント発生通知を受信することを特徴とする請求項1〜3のいずれか一つに記載の情報処理装置。
  5. 演算処理装置と、前記演算処理装置から送信される命令にしたがい処理を実行する複数のデバイスと、前記演算処理装置と前記デバイスとの通信を中継するスイッチとを有する情報処理装置の制御方法であって、
    特定のデバイスでイベントが発生した場合、イベント発生通知を取得し、
    取得した前記イベント発生通知を基に、各前記デバイスの前記スイッチを介した前記演算処理装置に対する位置情報から前記特定のデバイスの位置を特定し、
    前記特定のデバイスに実行させる処理を、各前記デバイスでイベントが発生した場合にそれぞれの前記デバイスに実行させる処理が登録された実行処理情報から抽出し、
    抽出した処理の実行命令を、特定した位置を基に前記特定のデバイスへ送信する
    ことを特徴とする情報処理装置の制御方法。
JP2015054875A 2015-03-18 2015-03-18 情報処理装置及び情報処理装置の制御方法 Active JP6418021B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015054875A JP6418021B2 (ja) 2015-03-18 2015-03-18 情報処理装置及び情報処理装置の制御方法
US15/048,349 US9892078B2 (en) 2015-03-18 2016-02-19 Information processing apparatus and control method of the information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015054875A JP6418021B2 (ja) 2015-03-18 2015-03-18 情報処理装置及び情報処理装置の制御方法

Publications (2)

Publication Number Publication Date
JP2016177333A JP2016177333A (ja) 2016-10-06
JP6418021B2 true JP6418021B2 (ja) 2018-11-07

Family

ID=56923909

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015054875A Active JP6418021B2 (ja) 2015-03-18 2015-03-18 情報処理装置及び情報処理装置の制御方法

Country Status (2)

Country Link
US (1) US9892078B2 (ja)
JP (1) JP6418021B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6992616B2 (ja) * 2018-03-13 2022-01-13 日本電気株式会社 データ転送装置、データ転送方法、プログラム
US10636577B2 (en) 2018-05-25 2020-04-28 Qualcomm Incorporated Safe handling of link errors in a peripheral component interconnect express (PCIE) device
US11573800B2 (en) 2018-07-05 2023-02-07 Marvell Asia Pte, Ltd. Complex I/O value prediction for multiple values with physical or virtual addresses

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03257609A (ja) * 1990-03-08 1991-11-18 Toshiba Corp プロセッサシステム
WO1995010806A1 (fr) * 1993-10-12 1995-04-20 Sony Corporation Dispositif et procede pour le controle d'interruptions
JP2006155321A (ja) * 2004-11-30 2006-06-15 Toshiba Corp バス接続デバイス
JP2008172727A (ja) * 2007-01-15 2008-07-24 Ricoh Co Ltd 制御装置および画像処理システム
US8510599B2 (en) 2010-06-23 2013-08-13 International Business Machines Corporation Managing processing associated with hardware events
US8615645B2 (en) * 2010-06-23 2013-12-24 International Business Machines Corporation Controlling the selectively setting of operational parameters for an adapter
EP2998872B1 (en) * 2013-05-16 2018-05-02 Mitsubishi Electric Corporation Bus repeater

Also Published As

Publication number Publication date
US20160275030A1 (en) 2016-09-22
US9892078B2 (en) 2018-02-13
JP2016177333A (ja) 2016-10-06

Similar Documents

Publication Publication Date Title
EP3276899B1 (en) Switching device, peripheral component interconnect express system and initialization method therefor
US10482047B2 (en) Slave device connected to master device via I2C bus and communication method thereof
JP4917173B2 (ja) 入出力動作を監視するための装置、方法、およびコンピュータ・プログラム
JP2008090375A (ja) 割込み制御システム、およびこれを利用した記憶制御システム
US7849235B2 (en) DMA controller, node, data transfer control method and storage medium
JP6427979B2 (ja) 原因特定方法、原因特定プログラム、情報処理システム
JP6379905B2 (ja) 制御装置および制御方法
US7676701B2 (en) Computer readable medium storing an error recovery program, error recovery method, error recovery apparatus, and computer system
US11175977B2 (en) Method and system to detect failure in PCIe endpoint devices
TWI480731B (zh) 轉接裝置及經由該轉接裝置之除錯方法
GB2491438A (en) Fibre channel input/output data routing system and method
JP2011070655A (ja) 情報処理装置、メモリダンプシステムおよびメモリダンプ方法
JP6418021B2 (ja) 情報処理装置及び情報処理装置の制御方法
GB2491437A (en) Fibre channel input/output data routing system and method
JP2018116648A (ja) 情報処理装置、その制御方法、及びプログラム
JP5151500B2 (ja) コンピュータシステム、障害処理方法および障害処理プログラム
EP2685385A1 (en) Network system
GB2491439A (en) Ordering of requests using offset fields in a fibre channel input/output data routing system and method.
WO2012124431A1 (ja) 半導体装置
TWI537740B (zh) 主機計算裝置、用以路由安排通用串列匯流排資料之方法及非暫態電腦可讀儲存媒體
JP2012163995A (ja) 情報処理装置
US20150212960A1 (en) Ss hub, usb 3.0 hub, and information processing instrument
JP2010183408A (ja) デバイスワイヤアダプタ及び通信制御方法
KR20090092707A (ko) 정보 처리 시스템, 정보 처리 시스템의 제어 방법, 및 정보처리 시스템의 제어 프로그램
KR102519484B1 (ko) PCIe 인터페이스 장치 및 이를 포함하는 시스템

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180831

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180924

R150 Certificate of patent or registration of utility model

Ref document number: 6418021

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150