JP2012163995A - Information processing device - Google Patents
Information processing device Download PDFInfo
- Publication number
- JP2012163995A JP2012163995A JP2011021498A JP2011021498A JP2012163995A JP 2012163995 A JP2012163995 A JP 2012163995A JP 2011021498 A JP2011021498 A JP 2011021498A JP 2011021498 A JP2011021498 A JP 2011021498A JP 2012163995 A JP2012163995 A JP 2012163995A
- Authority
- JP
- Japan
- Prior art keywords
- pci express
- memory
- port
- information processing
- microprocessor
- 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.)
- Withdrawn
Links
Images
Landscapes
- Information Transfer Systems (AREA)
Abstract
Description
本発明は、情報処理装置に関する。特に、本発明は、PCI(Peripheral Components Interconnect bus) Expressカードによって機能を拡張する情報処理装置に関する。 The present invention relates to an information processing apparatus. In particular, the present invention relates to an information processing apparatus whose function is expanded by a peripheral component interconnect bus (PCI) Express card.
図12は、既知の情報処理装置900の利用環境の一例を示す。既知の情報処理装置900は、マイクロプロセッサ920、メモリ930、PCI Expressスイッチ940、及び複数のPCI Expressカード950a〜d(以下、PCI Expressカード950と総称する。)を備えている。
FIG. 12 shows an example of a use environment of a known
マイクロプロセッサ920は、ルートコンプレックスを内蔵している。そして、マイクロプロセッサ920は、バス961を介して、メモリ930と電気的に接続されている。また、マイクロプロセッサ920のルートポート921は、PCI Expressリンク973を介して、PCI Expressスイッチ940のアップストリームポート942と電気的に接続されている。
The
一方、PCI Expressスイッチ940のダウンストリームポート943は、PCI Expressリンク974を介して、PCI Expressカード950aのポート951aと電気的に接続されている。同様に、PCI Expressスイッチ940のダウンストリームポート944〜946は、PCI Expressリンクを介して、PCI Expressカード950と電気的に接続されている。また、PCI Expressカード950は、パスを介して、周辺機器700と電気的に接続されている。
On the other hand, the
既知の情報処理装置900は、マイクロプロセッサ920上で動作するソフトウェアが情報処理装置900と周辺機器700との間のデータ転送を制御するために、PCI Expressカード950にアクセスする場合は次のように動作する。
The known
まず、ソフトウェアは対象となるPCI Expressカード950に対応したメモリマップドI/O空間にアクセスする命令をマイクロプロセッサ920に対して実行する。なおまた、この命令はメモリ930にアクセスするものと同一であり、一般的にロード命令及びストア命令である。これにより、マイクロプロセッサ920はソフトウェアにより指示されたメモリマップドI/O空間に対してアクセスする信号を内蔵のルートコンプレックスに送信し、ルートコンプレックスは対応するパケットをルートポート921より送信する。パケットを受信したPCI Expressカード950はそのパケットに対応した処理を行い、メモリReadリクエストならばリクエスタであるマイクロプロセッサ920に対して読み出したデータと共にコンプリーションを返す。メモリWriteリクエストの場合はポステッドになる。そして、PCI Expressカード950よりコンプリーションを受信したルートコンプレックスはマイクロプロセッサ920に受信したデータを渡し、ソフトウェアによって実行された命令が完結する。
First, the software executes an instruction for accessing the memory mapped I / O space corresponding to the target PCI Express card 950 to the
ここで、PCI Expressカード950が障害によりマイクロプロセッサ920からのメモリReadリクエストに正常に応答できない場合を考えてみる。PCI Expressカード950がメモリReadリクエストに対して無応答になったり、コンプリーションがコンプリータアボートや未サポートリクエストを返した場合、ルートコンプレックスはマイクロプロセッサ920に対して読み出したデータを受け渡すことができなくなる。そのため、マイクロプロセッサ920は命令を完結することができずにストール状態になってしまう。また、ルートコンプレックスはコンプリータの無応答によりタイムアウトを検出したり、コンプリーションアボートや未サポートリクエストを返されたとき、致命的な障害の発生をマイクロプロセッサ920に報告するものもあり、このときマイクロプロセッサ920は情報処理装置900全体をリセットして回復を試みる場合がほとんどである。
Here, consider a case where the PCI Express card 950 cannot normally respond to a memory read request from the
このように、既知の情報処理装置900において、PCI Expressカード950の障害によりマイクロプロセッサ920からのメモリマップドI/O空間のアクセスが正常に完了しない場合、たとえ単一のPCI Expressカード950の障害であったとしても情報処理装置900全体の障害になるという問題が存在する。
As described above, in the known
ところで、バス障害処理方法としては、コンピュータシステムにおいてPCIバスを制御する技術が知られている(例えば、特許文献1参照。)。 By the way, as a bus failure processing method, a technique for controlling a PCI bus in a computer system is known (for example, see Patent Document 1).
また、システム監視プログラムとしては、入出力バスの障害による影響を受けずに、システムを安定動作できるようにした技術が知られている(例えば、特許文献2参照。)。 As a system monitoring program, a technique is known in which a system can be stably operated without being affected by an input / output bus failure (see, for example, Patent Document 2).
特許文献1に記載の技術は、PCI規格に関する技術である。しかしながら、PCI規格には、リクエストリプライに対するタイムアウトの概念がない。したがって、特許文献1に記載の技術によっては、PCIデバイスより応答がない場合に対処することができない。
The technique described in
上記課題を解決するために、本発明の第1の形態によると、PCI Expressカードによって機能を拡張する情報処理装置であって、マイクロプロセッサと、PCI Expressカード、及びマイクロプロセッサとそれぞれPCI Expressリンクによって接続されるPCI Expressスイッチと、マイクロプロセッサ、及びPCI ExpressスイッチとそれぞれPCI Expressリンクによって接続されて、PCI ExpressカードのメモリマップドI/O空間にアクセスするIOコントローラとを備え、IOコントローラは、マイクロプロセッサのルートポートに接続される第1のPCI Expressポートと、第1のPCI Expressポートに接続されて、PCI ExpressパケットとIOコントローラの内部信号を変換する第1のPCI Expressインターフェース部と、PCI Expressスイッチのダウンストリームポートに接続される第2のPCI Expressポートと、第2のPCI Expressポートに接続されて、PCI ExpressパケットとIOコントローラの内部信号を変換する第2のPCI Expressインターフェース部と、第1のPCI Expressインターフェース部、及び第2のPCI Expressインターフェース部とそれぞれ内部バスによって接続されるメモリアクセス機構とを有する。 In order to solve the above-described problem, according to a first aspect of the present invention, there is provided an information processing apparatus whose function is expanded by a PCI Express card, wherein a microprocessor, a PCI Express card, and a microprocessor are respectively connected by a PCI Express link. A PCI Express switch to be connected, a microprocessor, and an IO controller connected to the PCI Express switch by a PCI Express link, respectively, to access the memory mapped I / O space of the PCI Express card. A first PCI Express port connected to the processor root port and a first PCI Express port connected to the first PCI Express port. A PCI Express interface unit for converting internal signals of the host and the IO controller, a second PCI Express port connected to the downstream port of the PCI Express switch, and a PCI Express port connected to the second PCI Express port. A second PCI Express interface unit for converting an Express packet and an internal signal of the IO controller, a first PCI Express interface unit, and a memory access mechanism connected to the second PCI Express interface unit by an internal bus. .
なおまた、上記のように発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となり得る。 In addition, as described above, the summary of the invention does not enumerate all necessary features of the present invention, and sub-combinations of these feature groups can also be the invention.
以上の説明から明らかなように、この発明においては、マイクロプロセッサにおいて動作するソフトウェアがPCI ExpressカードのメモリマップドI/O空間にアクセスするにあたり、IOコントローラのメモリアクセス機構を使用する。 As is apparent from the above description, in the present invention, when the software operating in the microprocessor accesses the memory mapped I / O space of the PCI Express card, the memory access mechanism of the IO controller is used.
このようにして、この発明によっては、PCI Expressカードに障害が発生して、コンプリーションがタイムアウトしたり、コンプリータアボート等のマイクロプロセッサが予期しないものだったりしたとしても、IOコントローラのメモリアクセス機構がそれを受信するので、マイクロプロセッサに致命的な障害として伝搬することがない。 In this way, depending on the present invention, even if a failure occurs in the PCI Express card and the completion times out or the microprocessor abort or other microprocessor is unexpected, the IO controller memory access mechanism Will not propagate as a catastrophic failure to the microprocessor.
そのため、この発明によっては、ソフトウェアによって回復処理が可能となり、PCI Expressカードの障害によって情報処理装置全体に障害が波及することを防ぐことができる。 Therefore, according to the present invention, recovery processing can be performed by software, and it is possible to prevent a failure from spreading to the entire information processing apparatus due to a failure of the PCI Express card.
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は、特許請求の範囲にかかる発明を限定するものではなく、また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。 Hereinafter, the present invention will be described through embodiments of the invention. However, the following embodiments do not limit the invention according to the scope of claims, and are combinations of features described in the embodiments. Not all are essential to the solution of the invention.
図1は、一実施形態に係る情報処理装置100利用環境の一例を示す。情報処理装置100は、PCI Expressカードによって機能を拡張する装置である。
FIG. 1 shows an example of an environment for using an
情報処理装置100は、IO(input−output)コントローラ110、マイクロプロセッサ120、メモリ130、PCI Expressスイッチ140、及び複数のPCI Expressカード150a〜d(以下、PCI Expressカード150と総称する。)を備える。マイクロプロセッサ120は、PCI Expressのルートコンプレックスを実装している。
The
IOコントローラ110は、2つのPCI Expressポート111、112を有している。マイクロプロセッサ120は、2つのルートポート121、122を有している。PCI Expressスイッチ140は、1つのアップストリームポート141と、5つのダウンストリームポート142〜146とを有している。PCI Expressカード150aは、ポート151aを有している。
The IO
なおまた、PCI Expressカード150a以外のPCI Expressカード150b〜dも、PCI Expressカード150aが有する構成要素と同じ構成要素を有する。以後の説明では、PCI Expressカード150が有する構成要素がいずれのPCI Expressカード150の構成要素であるかを区別する場合には、各構成要素を有するPCI Expressカード150と同じ添え字(a〜d)を各構成要素の末尾に付して区別する。例えば、ポート151a、ポート151b、及びポート151cは、それぞれPCI Expressカード150a、PCI Expressカード150b、及びPCI Expressカード150cの構成要素であることを示す。
In addition, the
また、以後の説明において、添え字が付されていない構成要素の機能及び動作は、同じ符号が付されたいずれの構成要素の機能及び動作を示す。例えば、ポート151で説明された機能及び動作は、ポート151a〜dの機能及び動作を示す。
Further, in the following description, the function and operation of a component that is not given a subscript indicates the function and operation of any component that is assigned the same reference numeral. For example, the functions and operations described for the port 151 indicate the functions and operations of the
そして、IOコントローラ110のPCI Expressポート111は、PCI Expressリンク171を介して、マイクロプロセッサ120のルートポート122と電気的に接続されている。また、IOコントローラ110のPCI Expressポート112は、PCI Expressリンク173を介して、PCI Expressスイッチ140のダウンストリームポート142と電気的に接続されている。
The
一方、マイクロプロセッサ120は、バス161を介して、メモリ130と電気的に接続されている。また、マイクロプロセッサ120のルートポート121は、PCI Expressリンク172を介して、PCI Expressスイッチ140のアップストリームポート141と電気的に接続されている。
On the other hand, the
一方、PCI Expressスイッチ140のダウンストリームポート143は、PCI Expressリンク174を介して、PCI Expressカード150aのポート151aと電気的に接続されている。同様に、PCI Expressスイッチ140のダウンストリームポート144は、PCI Expressリンク175を介して、PCI Expressカード150bのポート151bと電気的に接続されている。同様に、PCI Expressスイッチ140のダウンストリームポート145は、PCI Expressリンク176を介して、PCI Expressカード150cのポート151cと電気的に接続されている。同様に、PCI Expressスイッチ140のダウンストリームポート146は、PCI Expressリンク177を介して、PCI Expressカード150dのポート151dと電気的に接続されている。
On the other hand, the
一方、PCIExpressカード150aは、パス801を介して、周辺機器700aと電気的に接続されている。同様に、PCIExpressカード150bは、パス802を介して、周辺機器700bと電気的に接続されている。同様に、PCIExpressカード150cは、パス803を介して、周辺機器700cと電気的に接続されている。同様に、PCIExpressカード150dは、パス804を介して、周辺機器700dと電気的に接続されている。
On the other hand, the
図2は、IOコントローラ110のブロック構成の一例を示す。IOコントローラ110は2個のPCI Expressポート111、112を持っており、それぞれIOコントローラ110の内部信号とPCI Expressのインターフェース変換を行うPCI Expressインターフェース部113、114を接続している。PCI Expressインターフェース部113、114はPCI Expressポート111、112より受信したパケットを解析して内部信号に変換し、IOコントローラ内部に出力し、また、IOコントローラ内部からの内部信号を対応するパケットに変換してPCI Expressポートに送信する処理を受け持つ。
FIG. 2 shows an example of a block configuration of the
そして、IOコントローラ110にはPCI Expressインターフェース部114とPCI Expressポート112に対してPCI Expressのメモリアクセスを要求するメモリアクセス機構200を持っており、PCI Expressインターフェース部113、114と内部バス115、116を介して接続されている。このメモリアクセス機構200にはPCI Expressに対してメモリリクエストを発行し、メモリマップドI/O空間の読み書きを行うための5つの制御レジスタ210〜250を持っており、それぞれメモリマップドI/O空間にマッピングされている。また、これらの制御レジスタ210〜250はPCI Expressポート111とPCI Expressインターフェース部113を通して、マイクロプロセッサ120上のソフトウェアにより対応するメモリマップドI/O空間にアクセスすることによってアクセスが可能になっており、ソフトウェアはメモリアクセス機構200を使用してPCI Expressにメモリリクエストを発行することができる。なおまた、メモリアクセス機構200の内部構造については通常のPCI Expressにおけるものと同じであるので説明は省略する。また、各レジスタの詳細はメモリマップドI/O空間に関する箇所で説明する。
The
図3は、情報処理装置100におけるメモリマップドI/O空間のマッピングの一例を示す。メモリマップドI/O空間は図3のようにマッピングされており、マイクロプロセッサ120、IOコントローラ110、及びPCI Expressカード150a〜dは対象となるコンポーネントのアドレスに対してメモリリクエストを発行することでデータの読み書きを行うことができる。
FIG. 3 shows an example of mapping of the memory mapped I / O space in the
図4は、IOコントローラ110のメモリマップドI/O空間370のマッピングの一例を示す。IOコントローラ110のメモリマップドI/O空間は図4のようになっており、メモリアクセス機構200のレジスタ210〜250がメモリマップドI/O空間にそれぞれマッピングされている。
FIG. 4 shows an example of mapping of the memory mapped I /
図5は、リクエスト・コントロール・レジスタ210の一例を示す。リクエスト・コントロール・レジスタ210はメモリリクエストの発行を制御するレジスタで、メモリマップドI/O空間のメモリReadを指示するReadビット211やメモリWriteを指示するWriteビット212、Read/Writeのサイズを指定するSize213を持ち、各ビットが1のときに対応する指示がPCI Expressインターフェース部114に通知され、対応するリクエストがパケットとしてPCI Expressポート112より送信される。
FIG. 5 shows an example of the
図6は、リクエスト・アドレス・レジスタ220の一例を示す。リクエスト・アドレス・レジスタ220はメモリRead及びメモリWriteを行うメモリマップドI/O空間アドレスを指定するレジスタで、リクエスト・コントロール・レジスタ210によりメモリリクエストを発行する前に設定する必要がある。
FIG. 6 shows an example of the
図7は、リプライ・ステータス・レジスタ230の一例を示す。リプライ・ステータス・レジスタ230はメモリReadのときにコンプリータからのリプライ状態やタイムアウト等を確認するためのレジスタで、コンプリーションを受信したことを示すENDビット231、コンプリーションタイムアウトが発生したことを示すTOビット232、受信したコンプリーションが正常終了であることを示すSCビット233、未サポートリクエストを示すURビット234、コンフィグレーションリトライ中を示すCRSビット235、コンプリータアボートを示すCAビット236、受信したデータが不正だったことを示すERRビット237を持っている。なおまた、リプライ・ステータス・レジスタ230はPCI Expressインターフェース部114がPCI Expressポート112より受信したコンプリーションに従って設定している。ソフトウェアはリプライ・ステータス・レジスタ230を監視してリプライ状態を確認する必要がある。
FIG. 7 shows an example of the
図8は、データ・レジスタ240の一例を示す。データ・レジスタ240はメモリWriteの場合は書き込むデータを設定し、メモリReadの場合はリプライ・ステータス・レジスタ230がENDビット231とSCビット233が1のときに読み出された値が格納される。ソフトウェアはメモリWriteの場合、リクエスト・コントロール・レジスタ210に値を書き込んでメモリWriteリクエストを発行する前にデータ・レジスタ240に書き込む値を設定する必要がある。また、ソフトウェアはメモリReadの場合、リプライ・ステータス・レジスタ230を読み出してENDビット231とSCビット233の1を確認した後、データ・レジスタ240を読み出す必要がある。なおまた、データ・レジスタ240はメモリWriteの場合はリクエスト・コントロール・レジスタ210に値が設定された後でPCI Expressインターフェース部114によって読み出され、対応するパケットが生成され、また、メモリRead時は正常終了となるコンプリーションを受信したとき、パケットより読み出したデータがPCI Expressインターフェース部114によって設定される。
FIG. 8 shows an example of the data register 240. The data register 240 sets data to be written in the case of the memory write. In the case of the memory read, the data register 240 stores a value read when the
図9は、タイムアウト・レジスタ250の一例を示す。タイムアウト・レジスタ250はメモリReadのときにコンプリータからのコンプリーションのタイムアウト時間をマイクロ秒で設定する。メモリアクセス機構200はPCI Expressインターフェース部114にメモリReadリクエストを発行してからコンプリーションを受信するまでのタイムアウト時間をタイムアウト・レジスタ250で渡しており、PCI Expressインターフェース部114はPCI Expressポート112にメモリReadリクエストを発行後、タイムアウト・レジスタ250で指定された時間以内にコンプリーションを受信できなかった場合はリプライ・ステータス・レジスタ230のTOビット232を1に設定する。
FIG. 9 shows an example of the
図10は、情報処理装置100の動作フローの一例を示す。情報処理装置100において、マイクロプロセッサ120上で動作するソフトウェアが情報処理装置100と周辺機器700との間のデータ転送を制御するため、PCI Expressカード150a〜dのメモリマップドI/O空間220〜250にアクセスする場合、メモリWriteの場合は図10のような動作フローになる。
FIG. 10 shows an example of the operation flow of the
PCI Expressカード150a〜dのメモリマップドI/O空間220〜250へのメモリWriteの場合、ソフトウェアはIOコントローラ110のメモリマップドI/O空間270にアクセスしてメモリアクセス機構200の各レジスタ210〜250を設定し、PCI Expressカード150a〜dにメモリWriteリクエストを発行する。ソフトウェアはリクエスト・アドレス・レジスタ220に書き込み先メモリマップドI/O空間アドレスを設定し(S101)、データ・レジスタ240に書き込む値を設定する(S102)。そして、リクエスト・コントロール・レジスタ210にWriteビット212を1に、Size213に書き込むサイズを設定する値を書き込む(S103)。これにより、メモリアクセス機構200はPCI Expressインターフェース部114に対して各レジスタ210〜250の値に基づいてメモリWriteリクエストの発行要求を行い、PCI Expressインターフェース部114は対応するパケットを生成してPCI Expressポート112に送信する。パケットはコンプリータとして、PCI Expressカード150a〜dにルーティングされ、指定されたメモリマップドI/O空間へのデータ書き込みがコンプリータによって行われる。PCI ExpressにおけるメモリWriteはポステッドであるため、メモリWrite処理はこれで終了する。
In the case of the memory write to the memory mapped I /
図11は、情報処理装置100の動作フローの別の例を示す。情報処理装置100において、マイクロプロセッサ120上で動作するソフトウェアが情報処理装置100と周辺機器700との間のデータ転送を制御するため、PCI Expressカード150a〜dのメモリマップドI/O空間220〜250にアクセスする場合、メモリReadの場合は図11のような動作フローになる。
FIG. 11 shows another example of the operation flow of the
次に、PCI Expressカード150a〜dのメモリマップドI/O空間220〜250よりデータを読み出す場合、ソフトウェアはIOコントローラ110のメモリマップドI/O空間270にアクセスしてメモリアクセス機構200の各レジスタ210〜250を設定し、PCI Expressカード150a〜dにメモリReadリクエストを発行する。ソフトウェアはリクエスト・アドレス・レジスタ220に読み出し先のメモリマップドI/O空間アドレスを設定し(S201)、タイムアウト・レジスタ250にコンプリーションタイムアウト時間をマイクロ秒で設定する(S202)。そして、リクエスト・コントロール・レジスタ210にReadビット211を1に、Size213に読み出すサイズを設定する値を書き込む(S203)。これにより、メモリアクセス機構200はPCI Expressインターフェース部114に対して各レジスタ210〜250の値に基づいてメモリReadリクエストの発行要求を行い、PCI Expressインターフェース部114は対応するパケットを生成してPCI Expressポート112に送信する。そして、パケットはコンプリータにルーティングされ、コンプリータはパケットの内容に従ってメモリマップドI/O空間よりデータを読み出し、リクエスタに対するコンプリーションパケットを生成してリクエスタに送信する。
Next, when data is read from the memory mapped I /
コンプリータより送信されたコンプリーションパケットはリクエスタであるIOコントローラ110にルーティングされ、PCI Expressインターフェース部114がそれを受信して解析し、パケットのコンプリーションステータスに従ってリプライ・ステータス・レジスタ230のSCビット233、URビット234、CRSビット235、CAビット236とERRビット237を1に設定し、ENDビット231を1に設定する。
The completion packet transmitted from the completer is routed to the
ソフトウェアはリクエスト・コントロール・レジスタ210に値を書き込んでメモリReadリクエストを発行した後、リプライ・ステータス・レジスタ230読み出してENDビット231かTOビット232が1になるまで待ち合わせる(S204、S205、S206)。そして、ENDビット231が1になったとき、SCビット233を確認してコンプリーションが正常終了かどうかを確認し(S207)、SCビット233が1ならばデータ・レジスタ240よりメモリマップドI/O空間より読み出したデータを読み出して処理を正常終了する(S208)。SCビット233が0の場合はコンプリータがアボートしたか、未サポートリクエストであったか、コンフィグレーション中であったか、又はコンプリーションパケットのデータが壊れていた場合であるので、異常終了として処理を終了する。このとき、ソフトウェアはコンプリータの回復処理を行う。回復処理の内容については本発明の範囲外なので説明は省略する。
After writing a value in the
次に、PCI Expressカード150a〜dの障害によりメモリReadリクエストに対するコンプリーションが返されない場合を考えてみる。メモリReadリクエストの発行までは上記と動作は同じである。PCI Expressインターフェース部114はメモリReadリクエストを発行した後、コンプリータからのコンプリーションをタイムアウト・レジスタ250で指定された時間だけ待ち合わせているが、コンプリーションがコンプリータから返されないためタイムアウトが発生し、PCI Expressインターフェース部114はメモリアクセス機構200のリプライ・ステータス・レジスタ230のTOビット232を設定する。ソフトウェアはリプライ・ステータス・レジスタ230を読み出してENDビット231とTOビット232が1になるのを待ち合わせている(S205、S206)。この場合、TOビット232が1になるため、ソフトウェアはコンプリーションのタイムアウトを判断し、異常終了として処理を終了する。
Next, consider a case where the completion for the memory read request is not returned due to a failure of the
このように、図1の情報処理装置100において、マイクロプロセッサ120上で動作するソフトウェアがPCI Expressカード150a〜dのメモリマップドI/O空間220〜250にアクセスするとき、IOコントローラ110のメモリアクセス機構200を使用することによって、PCI Expressカード150a〜dの障害によりコンプリーションがタイムアウトしたり、コンプリータアボート等のマイクロプロセッサが予期しないものだったとしても、IOコントローラ110のメモリアクセス機構200がそれを受信するため、マイクロプロセッサ120に致命的な障害として伝搬することはなく、ソフトウェアによって回復処理が可能となり、PCI Expressカード150a〜dの障害によって情報処理装置100全体に障害が波及することを防ぐことができる。
As described above, in the
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は、上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。そのような変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。 As mentioned above, although this invention was demonstrated using embodiment, the technical scope of this invention is not limited to the range as described in the said embodiment. It will be apparent to those skilled in the art that various modifications or improvements can be added to the above embodiment. It is apparent from the scope of the claims that the embodiments added with such changes or improvements can be included in the technical scope of the present invention.
100 情報処理装置
110 IOコントローラ
111 PCI Expressポート
112 PCI Expressポート
113 PCI Expressインターフェース部
114 PCI Expressインターフェース部
115 内部バス
116 内部バス
120 マイクロプロセッサ
121 ルートポート
122 ルートポート
130 メモリ
140 PCI Expressスイッチ
141 アップストリームポート
142 ダウンストリームポート
143 ダウンストリームポート
144 ダウンストリームポート
145 ダウンストリームポート
146 ダウンストリームポート
150 PCI Expressカード
151 ポート
161 バス
171 PCI Expressリンク
172 PCI Expressリンク
173 PCI Expressリンク
174 PCI Expressリンク
175 PCI Expressリンク
176 PCI Expressリンク
177 PCI Expressリンク
200 メモリアクセス機構
210 リクエスト・コントロール・レジスタ
211 Readビット
212 Writeビット
213 Sizeビット
220 リクエスト・アドレス・レジスタ
230 リプライ・ステータス・レジスタ
231 ENDビット
232 TOビット
233 SCビット
234 URビット
235 CRSビット
236 CAビット
237 ERRビット
240 データ・レジスタ
250 タイムアウト・レジスタ
310 メモリ130のメモリマップドI/O空間
320 PCI Expressカード150dのメモリマップドI/O空間
330 PCI Expressカード150cのメモリマップドI/O空間
340 PCI Expressカード150bのメモリマップドI/O空間
350 PCI Expressカード150aのメモリマップドI/O空間
360 PCI Expressスイッチ140のメモリマップドI/O空間
370 IOコントローラ110のメモリマップドI/O空間
371 リクエスト・コントロール・レジスタ210のメモリマップドI/O空間
372 リクエスト・アドレス・レジスタ220のメモリマップドI/O空間
373 リプライ・ステータス・レジスタ230のメモリマップドI/O空間
374 データ・レジスタ240のメモリマップドI/O空間
375 タイムアウト・レジスタ250のメモリマップドI/O空間
700 周辺機器
801 パス
802 パス
803 パス
804 パス
100 Information processing device 110 IO controller 111 PCI Express port 112 PCI Express port 113 PCI Express interface unit 114 PCI Express interface unit 114 PCI Express interface unit 115 Internal bus 116 Internal bus 120 Microprocessor 121 Root port 122 Root port 130 Memory 140 PCI Express switch 141 Upstream port 142 downstream port 143 downstream port 144 downstream port 145 downstream port 146 downstream port 150 PCI Express card 151 port 161 bus 171 PCI Express link 172 PCI Express link 173 PCI Express link 174 PCI Express link 175 PCI Express link 176 PCI Express link 177 PCI Express link 200 PCI Express link 200 Memory access mechanism 210 Request control register 211 Read bit 212 Write bit 213 Size bit 220 Request address register 230 Reply status register 231 D 232 TO bit 233 SC bit 234 UR bit 235 CRS bit 236 CA bit 237 ERR bit 240 Data register 250 Timeout register 310 Memory mapped I / O space 320 of memory 130 Memory mapped I / O space of PCI Express card 150d 330 PCI Express card 150c Memory-mapped I / O space 340 Memory-mapped I / O space 350 of the PCI Express card 150b Memory-mapped I / O space 360 of the PCI Express card 150a Memory-mapped I / O space 370 of the PCI Express switch 140 Memory of the IO controller 110 Mapped I / O space 371 Memory mapped I / O space 372 in request control register 210 Memory mapped I / O space 373 in request address register 220 Memory mapped I / O in reply status register 230 Space 374 Memory mapped I / O space 375 of data register 240 Memory mapped I / O space 700 of timeout register 250 Peripheral device 801 Path 802 Path 803 Path 804 Path
Claims (7)
マイクロプロセッサと、
前記PCI Expressカード、及び前記マイクロプロセッサとそれぞれPCI Expressリンクによって接続されるPCI Expressスイッチと、
前記マイクロプロセッサ、及び前記PCI ExpressスイッチとそれぞれPCI Expressリンクによって接続されて、前記PCI ExpressカードのメモリマップドI/O空間にアクセスするIOコントローラと
を備え、
前記IOコントローラは、
前記マイクロプロセッサのルートポートに接続される第1のPCI Expressポートと、
前記第1のPCI Expressポートに接続されて、PCI ExpressパケットとIOコントローラの内部信号を変換する第1のPCI Expressインターフェース部と、
前記PCI Expressスイッチのダウンストリームポートに接続される第2のPCI Expressポートと、
前記第2のPCI Expressポートに接続されて、PCI ExpressパケットとIOコントローラの内部信号を変換する第2のPCI Expressインターフェース部と、
前記第1のPCI Expressインターフェース部、及び前記第2のPCI Expressインターフェース部とそれぞれ内部バスによって接続されるメモリアクセス機構と
を有する情報処理装置。 An information processing apparatus whose function is expanded by a PCI Express card,
A microprocessor;
A PCI Express switch connected to the PCI Express card and the microprocessor, respectively, by a PCI Express link;
An IO controller connected to the microprocessor and the PCI Express switch by a PCI Express link, respectively, and accessing a memory mapped I / O space of the PCI Express card;
The IO controller
A first PCI Express port connected to a root port of the microprocessor;
A first PCI Express interface unit connected to the first PCI Express port for converting a PCI Express packet and an internal signal of the IO controller;
A second PCI Express port connected to the downstream port of the PCI Express switch;
A second PCI Express interface unit connected to the second PCI Express port for converting a PCI Express packet and an internal signal of the IO controller;
An information processing apparatus comprising: a memory access mechanism connected to the first PCI Express interface unit and the second PCI Express interface unit by an internal bus.
請求項1に記載の情報処理装置。 The information processing apparatus according to claim 1, wherein the memory access mechanism issues a memory request for a memory mapped I / O space to the second PCIe interface unit.
請求項2に記載の情報処理装置。 The information processing apparatus according to claim 2, wherein the memory access mechanism includes a register for managing a completion state of the issued memory request.
請求項3に記載の情報処理装置。 The information processing apparatus according to claim 3, wherein the register is mapped in a memory mapped I / O space.
請求項4に記載の情報処理装置。 The information processing apparatus according to claim 4, wherein software operating in the microprocessor accesses the register via the first PCI Express port and the first PCI Express interface unit.
請求項5に記載の情報処理装置。 6. The information processing according to claim 5, wherein software operating in the microprocessor issues a memory request to a memory mapped I / O space of the PCI Express card by accessing a register of a memory access mechanism of the IO controller. apparatus.
請求項6に記載の情報処理装置。 7. The software operating in the microprocessor reads the data read from the memory mapped I / O space from the register when the completion of the memory read request is completed after checking the completion state. Information processing device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011021498A JP2012163995A (en) | 2011-02-03 | 2011-02-03 | Information processing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011021498A JP2012163995A (en) | 2011-02-03 | 2011-02-03 | Information processing device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012163995A true JP2012163995A (en) | 2012-08-30 |
Family
ID=46843350
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011021498A Withdrawn JP2012163995A (en) | 2011-02-03 | 2011-02-03 | Information processing device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2012163995A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10162780B2 (en) | 2012-12-17 | 2018-12-25 | Electronics And Telecommunications Research Institute | PCI express switch and computer system using the same |
JP2019192217A (en) * | 2018-04-18 | 2019-10-31 | 富士通クライアントコンピューティング株式会社 | Information processing system |
JP2020024557A (en) * | 2018-08-07 | 2020-02-13 | 富士通株式会社 | Information processing apparatus, boot method, and boot program |
-
2011
- 2011-02-03 JP JP2011021498A patent/JP2012163995A/en not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10162780B2 (en) | 2012-12-17 | 2018-12-25 | Electronics And Telecommunications Research Institute | PCI express switch and computer system using the same |
JP2019192217A (en) * | 2018-04-18 | 2019-10-31 | 富士通クライアントコンピューティング株式会社 | Information processing system |
JP2020024557A (en) * | 2018-08-07 | 2020-02-13 | 富士通株式会社 | Information processing apparatus, boot method, and boot program |
JP7115128B2 (en) | 2018-08-07 | 2022-08-09 | 富士通株式会社 | Information processing device, boot method and boot program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7890812B2 (en) | Computer system which controls closing of bus | |
KR102255216B1 (en) | Pci device and pci system including the same | |
US9753880B1 (en) | Method and switch for transferring transactions between switch domains | |
CN105980998B (en) | Every function downlink port control | |
JP2008090375A (en) | Interrupt control system and storage control system using the same | |
CN104572517A (en) | Method providing required data, controller and computer system | |
EP2480977A1 (en) | Mapping non-prefetchable storage locations into memory mapped input/output space | |
CN109977061A (en) | A kind of interruption processing method and interrupt processing device | |
US20110296256A1 (en) | Input/output device including a mechanism for accelerated error handling in multiple processor and multi-function systems | |
US20210034250A1 (en) | Storage device | |
US10990544B2 (en) | PCIE root complex message interrupt generation method using endpoint | |
JP2013512519A (en) | Controller directly accessing memory for direct transfer of data between memories of several peripheral devices, method and computer program enabling such controller | |
US10142169B2 (en) | Diagnosis device, diagnosis method, and non-transitory recording medium storing diagnosis program | |
US20150363259A1 (en) | Managing a storage device using a hybrid controller | |
CN105426265A (en) | Virtual Device Based Systems | |
US20150095518A1 (en) | I/o device sharing system and i/o device sharing method | |
JP2012163995A (en) | Information processing device | |
US20140156934A1 (en) | Storage apparatus and module-to-module data transfer method | |
WO2012124431A1 (en) | Semiconductor device | |
JP6418021B2 (en) | Information processing apparatus and information processing apparatus control method | |
TWI463501B (en) | Development system for a flash memory module | |
JP4985599B2 (en) | DMA transfer control system | |
WO2017163302A1 (en) | Control apparatus | |
JP4892406B2 (en) | Transaction management method for information processing apparatus and information processing apparatus | |
JP6626216B2 (en) | controller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20140513 |