JP6003136B2 - Data relay device - Google Patents
Data relay device Download PDFInfo
- Publication number
- JP6003136B2 JP6003136B2 JP2012065850A JP2012065850A JP6003136B2 JP 6003136 B2 JP6003136 B2 JP 6003136B2 JP 2012065850 A JP2012065850 A JP 2012065850A JP 2012065850 A JP2012065850 A JP 2012065850A JP 6003136 B2 JP6003136 B2 JP 6003136B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- data
- tlp
- port
- retransmission
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Transfer Systems (AREA)
- Bus Control (AREA)
Description
本発明は、機器間でデータを中継するデータ中継装置に関する。 The present invention relates to a data relay device that relays data between devices.
ローカルバスの規格であるPCI(Peripheral Component Interconnect) Express(以下、「PCIe」と略称する。)は、PCやサーバ、組み込み機器内の通信などで利用される高速データ転送バスの規格として広く知られている。例えば、特許文献1においては、このPCIe規格の構造として、物理層、データリンク層、トランザクション層の3層からなることが示されている。
PCI (Peripheral Component Interconnect) Express (hereinafter abbreviated as “PCIe”), which is a standard for local buses, is widely known as a standard for high-speed data transfer buses used in communications within PCs, servers, and embedded devices. ing. For example,
トランザクション層は、CPUやデバイスから発行されたリクエスト(読み取り/書き込み要求)を受け取り、ヘッダ、データ、及びECRCを含むトランザクション層パケット(Transaction Layer Packet、以下、TLPと称す)化し、データリンク層に転送する。データリンク層は、PCIeリンク経由でのパケットの伝送を確実に行うために、データの整合性を維持する機能を有しており、トランザクション層から受け取ったTLPにシーケンス番号、LCRCを付加してデータリンク層パケット(Datalink Layer Packet、以下DLLPと称す)を作成して物理層に転送する。シーケンス番号は、全てのパケットが届いたか否かを、LCRCはパケットの中身が変わっていないかどうかを、パケットの受信側のデータリンク層で確認するためのものである。物理層は、データリンク層から受け取ったDLLPの先頭と末尾にフレーミングシンボルを付加し、パケットをシリアルデータとして転送する機能を有している。 The transaction layer receives a request (read / write request) issued from the CPU or device, converts it to a transaction layer packet (transaction layer packet, hereinafter referred to as TLP) including a header, data, and ECRC, and transfers it to the data link layer To do. The data link layer has a function of maintaining data integrity in order to reliably transmit packets via the PCIe link, and adds a sequence number and LCRC to the TLP received from the transaction layer. A link layer packet (Datalink Layer Packet, hereinafter referred to as DLLP) is created and transferred to the physical layer. The sequence number is used to confirm whether or not all the packets have arrived, and the LCRC confirms whether or not the contents of the packets have changed in the data link layer on the packet receiving side. The physical layer has a function of adding a framing symbol to the beginning and end of the DLLP received from the data link layer and transferring the packet as serial data.
上述のような3層の構造をもったPCIeの従来の動作概念を説明する。図17においては、データ中継装置100では、図中の左側に位置し、上流側の機器と接続されるPCIe回路100aと、図中の右側に位置し下流側の機器に接続されるPCIe回路100bとを有している。PCIe回路100aからTLPを受信し、PCIe回路100bへと中継する場合の説明を以下に行う。
A conventional operation concept of PCIe having the three-layer structure as described above will be described. In FIG. 17, in the
PCIe回路100aの受信ポートRXに送信元の機器からのTLPが到着すると、エラー検出部101aはCRC(Cyclic Redundancy Check)の値を参照して、TLPにエラーが含まれているか否かの判定を行う。TLPのエラーが無いと判定された場合、エラー検出部101aはPCIe回路100aの送信ポートTXへACKパケットを転送する。一方、TLPのエラーがあると判定された場合は、エラー検出部101aはNakパケットをPCIe回路100aの送信ポートTXへ転送するとともに、受信したTLPを破棄する。
When the TLP from the transmission source device arrives at the reception port RX of the
TLPのエラーが検出されなかった場合は、TLPはポートアービトレーション回路103に対するコマンド、データ(メモリライト、リード、データなど)に変換されて受信バッファ102aに記憶される。そして、TLPのコマンド、及びデータのポートアービトレーション回路103への転送が完了すると、受信フロー制御部104aは、受信バッファ102aに空きが生じるので、空きサイズをクレジット情報として持つ、データ制御用(FC)パケットをPICe回路100aの送信ポートTXへと送信する。
When no TLP error is detected, the TLP is converted into a command and data (memory write, read, data, etc.) for the
ポートアービトレーション回路103は、PCIe回路100aから受信したTLPのコマンド、及びデータをPCIe回路100bの送信バッファ105bに記憶させる。送信フロー制御部106bは、下流側の機器の記憶バッファ(図示せず)の容量に空きがあるか否かを判定し、記憶バッファに空きがある場合のみ、PICe回路100bの送信ポートTXより送信バッファ105bに記憶されたTLPを出力させる。下流側の機器の記憶バッファの空き容量は、下流側の機器よりデータフロー制御用(FC)パケットにより、通知されるクレジット情報に基づいて、管理されている。FCパケットは、PICe回路100bの受信ポートRXより受信され、クレジット検出部107bにより抽出されたクレジット情報が、PICe回路100bの送信フロー制御部106bへと通知される。
The
再送バッファ108bは、送信ポートTXより出力されたTLPが欠損などのエラーがあった場合に再送信をするために、出力されたTLPを複製して記憶する。その後、下流側の機器からは正常にTLPを受信したか否かが、ACK(Acknowledge)パケット、又はNak(Negative Acknowledgment)パケットによって通達される。ACK/Nak検出部109bは、通達されたACKパケット、及びNakパケットを確認し、ACKかNakのいずれのパケットを受信したかを再送バッファ制御部110bに通知する。再送バッファ制御部110bは、ACKが通知された場合は、正常にTLPが下流側の機器に届いたので、再送バッファ108bに記憶されていたTLPの複製を破棄するよう指示し、Nakが通知された場合は、再送バッファ108bに保持されたTLPを再度送信するよう指示する。
The
以上のパケット転送をPCIe回路100a、100bの間で双方向、及び同時並行動作することで、データ中継が行われる。パケット転送による高速シリアル方式では、送信用のバッファ、受信用のバッファ、再送用のバッファを持つことで、データ転送と、エラー発生時の再送によるデータ保障、およびフロー制御が行なわれる。
Data relaying is performed by performing the above-described packet transfer bidirectionally and simultaneously in parallel between the
次に、受信バッファ102a、102bの構成と動作について、図18を用いて説明する。受信バッファ102a、102bはP:Posted、NP:Non−Posted、Cpl:Completionの3種類のバッファがそれぞれヘッダ領域とデータ領域に分かれた、合計6つのバッファで構成されている。
Next, the configuration and operation of the
Pは送信先の機器からの応答を期待しないリクエスト(メモリライトなど)が記憶され、NPは送信先の機器からの応答を期待するリクエスト(メモリリードなど)が記憶され、CplはNPリクエストに対する応答パケット(メモリリードリクエストに対して応答されたメモリリードデータなど)が記憶される。 P stores a request (memory write or the like) that does not expect a response from the destination device, NP stores a request (memory read or the like) that expects a response from the destination device, and Cpl responds to the NP request A packet (such as memory read data responded to a memory read request) is stored.
受信バッファ102a、102bは、データリンク層から転送されてくるTLPが入力され、TLPを出力時にポートアービトレーション回路103へのコマンド、およびデータの形式に変換して転送する。受信バッファ102a、102bへと入力されたTLPはヘッダ情報からP、NP、Cplのいずれに該当するかが判別され、対応するバッファ領域へと記憶される。図17では、Pのパケット1、NPのパケット2、Cplのパケット3の順で入力され、それぞれのパケットが対応するバッファに記憶される。対応するバッファに格納されたパケットは、ヘッダ情報がトランザクション層からのコマンドとして、データがトランザクション層からのデータとして、それぞれTLPの種類(P、NP,Cpl)ごとにポートアービトレーション回路103に出力される。
The
また、受信バッファ102a、102bは、ヘッダやデータがバッファに記憶された場合は、消費された容量に応じたクレジット情報を出力し、一方、ポートアービトレーション回路103へヘッダやデータが出力された場合は、空きが生じて増えた容量に応じたクレジット情報を出力する。受信フロー制御部104a、104bは、クレジット情報をFCパケットとして転送する。
The
次に、送信バッファ105a、105bの構成と動作について、図19を用いて説明する。送信バッファ105a、105bも受信バッファ102a、102bと同様、P:Posted、NP:Non−Posted、Cpl:Completionの3種類のバッファがそれぞれヘッダ領域とデータ領域に分かれた、合計6つのバッファで構成されている。
Next, the configuration and operation of the
送信バッファ105a、105bへは、ポートアービトレーション回路103からトランザクション層へと送信されるコマンド、及びデータが入力され、その種類に対応して、P、NP,Cplごとにコマンドはヘッダバッファに、データはデータバッファにそれぞれ記憶される。送信バッファ105a、105bは、送信フロー制御部106a、106bへと出力する。
Commands and data transmitted from the
送信フロー制御部106a、106bは、データリンク層のクレジット検出部107a、107bから送信先の機器の記憶バッファの空き容量を示すクレジット情報が通知され、送信先の機器のバッファに空きがある場合は、対応するヘッダとデータを選択し、TLPを生成しデータリンク層へと転送する。
The transmission
しかしながら、上記に示した中継装置にあっては、PCIe回路はパケットの中継やフロー制御を処理するために、複数のパケットバッファと複雑なフロー制御回路が実装されたトランザクション層が必要となる。このトランザクション層の回路はデータリンク層と比較しても回路規模が非常に大きく、P、NP,Cplのパケットの種類ごとに回路を実装する必要があり、回路チップのコストが高くなってしまう要因にもなっていた。 However, in the relay device described above, the PCIe circuit requires a transaction layer in which a plurality of packet buffers and a complex flow control circuit are mounted in order to process packet relay and flow control. The circuit of the transaction layer is much larger than the data link layer, and it is necessary to mount a circuit for each type of P, NP, and Cpl packets, which increases the cost of the circuit chip. It was also.
また、トランザクション層の動作はデータリンク層とフロー制御の処理に関しては、相互に連動しており、トランザクション層のみを削除して物理層とデータリンクのみのポート構成とした回路を動作させることが不可能だった。さらにトランザクション層もデータリンク層もなくし、物理層のみを実装したデータ中継回路で回路規模を少なくすることは可能だが、その場合は、データリンク層の持つエラー検出やデータの再送の機能まで失われてしまい、長いケーブルを利用した場合など、ACK/Nakの伝達に時間を要する場合にデータ転送効率が低下してしまう問題が発生する。 In addition, the operation of the transaction layer is linked to the data link layer and the flow control processing, and it is not possible to operate a circuit having a port configuration of only the physical layer and the data link by deleting only the transaction layer. It was possible. Furthermore, it is possible to reduce the circuit scale with a data relay circuit with only the physical layer without the transaction layer and data link layer, but in that case, the error detection and data retransmission functions of the data link layer are lost. As a result, there is a problem that the data transfer efficiency decreases when it takes time to transmit ACK / Nak, such as when a long cable is used.
本発明は、上記に鑑みてなされたものであって、エラー検出やデータ再送機能を損なうことなく回路規模を小さくすることができるデータ中継装置を提供することにある。 The present invention has been made in view of the above, and it is an object of the present invention to provide a data relay device capable of reducing the circuit scale without impairing error detection and data retransmission functions.
上述した課題を解決し、目的を達成するために、本発明は、第1の機器に接続される第1のポートと、第2の機器に接続される第2のポートとが接続したデータ中継装置であって、データフロー制御用パケット、及びデータパケットを記憶する記憶部と、前記第1のポート、又は前記第2のポートから受信した前記データフロー制御用パケット、及び前記データパケットの前記記憶部への書き込みを制御する書込み制御部と、前記記憶部へ書き込まれた前記データフロー制御用パケット、及び前記データパケットを前記書き込みのタイミングと非同期に読み出して、前記第1のポート、又は前記第2のポートへ送信する読出し制御部と、送信した前記データパケットが送信先の前記第1の機器、又は前記第2の機器に正常に送信されたか否かを判断し、送信されたと判断された場合は、前記記憶部から送信した前記データパケットを削除するとともに、送信されていないと判断された場合は、前記記憶部から前記データパケットを読み出して再送するよう指示する再送制御部と、を備えることを特徴とする。 To solve the above problems and achieve the object, the present invention includes a first port connected to the first device, and a second port connected to the second device and connection data a relay device, a storage unit that stores data flow control packet, and data packets, the first port or the second port or we received the data flow control packet, and the data packet A write control unit that controls writing to the storage unit, the data flow control packet written to the storage unit , and the data packet are read asynchronously with the write timing, the first port, or a read control unit to be transmitted to the second port, the first device of the data packets transmitted destination, or whether it is successfully transmitted to the second device When it is determined that the data packet has been transmitted, the data packet transmitted from the storage unit is deleted, and when it is determined that the data packet has not been transmitted, the data packet is read from the storage unit and retransmitted. And a retransmission control unit for instructing.
本発明によれば、エラー検出やデータ再送機能を損なうことなく回路規模を小さくすることができるという効果を奏する。 According to the present invention, there is an effect that the circuit scale can be reduced without impairing the error detection or data retransmission function.
以下に添付図面を参照して、データ中継装置の実施の形態を詳細に説明する。 Embodiments of a data relay device will be described below in detail with reference to the accompanying drawings.
図1は、2つのホスト間でPCIeケーブル規格に準拠した情報通信を行う通信システムの概念図である。この図1に示す通信システムは、第1の機器Aと第2の機器Bとを通信可能に接続した通信システムである。第1の機器Aは、制御主体となるCPU1aを備えたホストである。第2の機器Bは、制御主体となるCPU1bを備えたホストである。これら第1の機器Aと第2の機器Bには、それぞれPCIeカードスロットが設けられている。第1の機器Aおよび第2の機器BのPCIeカードスロットには、PCIeケーブルインターフェースボードが装着される。そして、第1の機器AのPCIeケーブルインターフェースボードと、第2の機器BのPCIeケーブルインターフェースボードとが、例えば、複数のケーブルで構成される多レーンケーブルで接続される。
FIG. 1 is a conceptual diagram of a communication system that performs information communication based on the PCIe cable standard between two hosts. The communication system shown in FIG. 1 is a communication system in which a first device A and a second device B are communicably connected. The first device A is a host including a CPU 1a that is a control subject. The second device B is a host including a
図1に戻り、第1の機器Aは、PCIe中継回路10aを備えている。PCIe中継回路10aの上流ポート11aは、ルートコンプレックス2aと接続されている。PCIe中継回路10aの下流ポート11bは、第2の機器Bにおけるエンドポイント2bと接続されている。
Returning to FIG. 1, the first device A includes a
図2は、本実施形態に係る通信システムのケーブルを介したデータ転送に関わる部分であるケーブル接続部の具体的な構成例を示す図である。本実施形態に係る通信システムは、第1の機器Aに装着されたPCIeケーブルインターフェースボード20aと、第2の機器Bに装着されたPCIeケーブルインターフェースボード20bとが、PCIeの8レーンに対応するx8メタルケーブル21により接続された構成である。なお、本実施形態では、本実施形態に係る通信システムはx8構成に限らず、様々なレーン数に対応した構成とすることができる。
FIG. 2 is a diagram illustrating a specific configuration example of a cable connection unit which is a part related to data transfer via a cable of the communication system according to the present embodiment. In the communication system according to the present embodiment, the PCIe
なお、本明細書では、第1の機器Aの構成要素の符号に添え字aを付し、第2の機器Bの構成要素の符号に添え字bを付して、両者を区別している。 In the present specification, the suffix “a” is added to the reference symbol of the component of the first device A, and the suffix “b” is added to the reference symbol of the component of the second device B to distinguish them.
第1の機器Aに装着されるPCIeケーブルインターフェースボード20aには、PCIe中継装置10が実装されている。PCIe中継装置10は、x8上流ポート11aを備える。このx8上流ポート11aは、図示しないx8カードエッジコネクタを介して、ルートコンプレックス2aのx8ポートに接続される。また、PCIe中継装置10は、x8下流ポート11bを備える。このx8ポート11bは、それぞれがPCIeの1レーンに対応する(以下、「x1」と表記する。)8本のメタルケーブル21に接続される。PCIe中継装置10の下流ポート11bの各レーンとメタルケーブル21との間には、それぞれリピータ23aが設けられる。リピータ23aは、電気信号の増幅および整形処理を行う。なお、PCIeの1レーンは受信用、送信用それぞれ2つの信号線による差動信号で情報伝送するため、1レーンあたり4本の信号線が必要であるが、本実施形態では1本のケーブルがこれら4本の信号線を含むものとして説明する。
The
第2の機器Bに装着されるPCIeケーブルインターフェースボード20bは、エンドポイント2bのx8ポートと、8本のメタルケーブル21とに接続される。エンドポイント2bのx8ポートの各レーンとメタルケーブル21との間には、それぞれリピータ23bが設けられる。リピータ23bは、リピータ23aと同様、電気信号の増幅および整形処理を行う。
The PCIe
なお、図2に示す例では第1の機器Aと第2の機器Bとメタルケーブル21により接続しているが、メタルケーブル21に代えて光ケーブルを用いることもできる。メタルケーブル21に代えて光ケーブルを用いた場合、リピータ23a,23bが、光トランシーバに置き換わる。光トランシーバは、電気信号と光信号との変換を行う。
In the example shown in FIG. 2, the first device A and the second device B are connected to the
図3は、図2に示した通信システムのケーブル接続部の構成において、第1の機器Aが第2の機器Bに対してPCIeの5レーン相当の通信帯域が必要なデータ転送を実行した場合のデータフローの一例を示す図である。図3に示す例では、第1の機器Aが5つのDMAC(Direct Memory Access Controller)24を使ってデータ転送を実行している。なお、図3ではケーブル接続部の第1の機器A側のみを図示しており、図中の破線で示す矢印が、第1の機器A内におけるデータフローを示している。 FIG. 3 shows a case where the first device A performs data transfer that requires a communication band corresponding to 5 lanes of PCIe to the second device B in the configuration of the cable connection unit of the communication system shown in FIG. It is a figure which shows an example of this data flow. In the example illustrated in FIG. 3, the first device A executes data transfer using five DMACs (Direct Memory Access Controllers) 24. In FIG. 3, only the first device A side of the cable connection portion is illustrated, and an arrow indicated by a broken line in the drawing indicates a data flow in the first device A.
第1の機器Aには、5つのDMAC24が搭載されている。各DMAC24は、それぞれx1のデータ転送性能を有するものとする。各DMAC24は、第1の機器Aが備えるメモリ25からデータを読み込みながら、読み込んだデータをパケットに分割し、内部バスを経由して、ルートコンプレックス2aのx8ポートにパケットを転送する。ルートコンプレックス2aのx8ポートは、DMAC24から受信したパケットをそれぞれ8bitずつに分割し、8つのレーンすべてに均等に分散して、PCIeケーブルインターフェースボード20aに実装されたPCIe中継装置10のx8上流ポート11aに転送する。PCIe中継装置10は、x8上流ポート11aの各レーンに8bitずつ分割されて送られてくるデータを、再びパケットデータに変換しなおして、x8下流ポート1あbに転送する。x8下流ポート11bは、受信したパケットをそれぞれ再度8bitずつに分割し、8つのレーンすべてに均等に分散して、8本のメタルケーブル21を介して第2の機器B側に転送する。
The first device A is equipped with five DMACs 24. Each DMAC 24 has a data transfer performance of x1. Each DMAC 24 reads data from the
また、図示しない第2の機器B側では、エンドポイント2bのx8ポートにおいて、x8の各レーンに8bitずつ分割されて送られてくるデータを、再びパケットデータに変換しなおして、第2の機器Bが備えるメモリに転送する。
On the second device B side (not shown), the data transmitted after being divided into 8 bits for each x8 lane at the x8 port of the
以上のように、従来の通信システムにおいては、PCIeの5レーン相当の通信帯域が必要なデータ転送を実行する場合でも、x8の構成であれば、8レーンすべてを使ってデータ転送を実行するようにしている。 As described above, in the conventional communication system, even when data transfer that requires a communication band corresponding to 5 lanes of PCIe is executed, if the configuration is x8, data transfer is executed using all 8 lanes. I have to.
続いて、データ中継装置の構成について図4を用いて説明する。図4は、PCIe装置を構成する2つのPCIe中継回路10a、10bの構成の例を示す概念図である。図3に示されるように、PCIe中継回路10a、10bは、物理層30a、30bとデータリンク層40a、40bの2層構造からなる2つの中継回路を備えており、各中継回路10a、10bのデータリンク層40a、40bの間を、データの書き込みと読み出しが非同期に動作するパケット再送バッファ(記憶部)50a、50bが論理的に接続している。
Next, the configuration of the data relay apparatus will be described with reference to FIG. FIG. 4 is a conceptual diagram illustrating an example of the configuration of the two
中継回路10a、10bの物理層30a、30bは、第1の機器A、第2の機器Bからの信号の入力を受け付ける受信ポートRXと、第1の機器A、第2の機器Bへと信号を送信する送信ポートTX、を備えている。また、中継回路10a、10bのデータリンク層40a、40bは、再送バッファ50a、50b(記憶部に相当)と、エラー検出部51a、51bと、FC検出部52a、52bと、ACK/Nak検出部53a、53bと、再送バッファ制御部54a、54bと、をそれぞれ備えている。
The
この中継回路10a、10bでは、データパケットであるトランザクションレイヤパケット(TLP)、エラー制御用のパケットであるDLLP ACK/Nakパケット(以下、「ACK/Nakパケット」)、データフロー制御用パケットであるDLLP FCパケット(以下、「FCパケット」)が送受信される。TLPは、各機器が発行するメモリライトやメモリリード、コンプリーションなどの送信先の機器のアプリケーション層との間でデータ転送を伴うトランザクションを扱うパケットである。
In the
図5は、TLPのデータ構造を示す概念図である。図5(a)に示されるように、TLPは、ヘッダ領域と、データ領域(ペイロード)と、PSN(Packet Sequence Number)と、LCRC(Link Cyclic Redundancy Check)とを含んでいる。PSNは、パケットを識別するための識別番号でありパケットごとに固有の番号が付与されている。PSNは、パケット転送時にエラーが発生した際にどのパケットがエラーになったかを識別するために使用される。LCRCは、エラー検出のために用いられる領域であり、ヘッダ領域とデータ領域とを対象としてCRCの値を計算した結果である。 FIG. 5 is a conceptual diagram showing the data structure of TLP. As shown in FIG. 5A, the TLP includes a header area, a data area (payload), a PSN (Packet Sequence Number), and an LCRC (Link Cyclic Redundancy Check). The PSN is an identification number for identifying a packet, and a unique number is assigned to each packet. The PSN is used to identify which packet has an error when an error occurs during packet transfer. The LCRC is an area used for error detection, and is a result of calculating a CRC value for the header area and the data area.
図5(b)に示されるように、DLLPは、DLLPの種類を示すType領域と、データ領域と、CRCとを含んでいる。Type領域は、DLLPの種類であるACKパケット、Nakパケット、及びFCパケットのいずれであるかを示す。データはDLLPのTypeによって異なり、例えばACK/Nakパケットの場合はPSN、FCパケットの場合はフロー制御に使われるクレジット情報やVC(Virtual Channel)番号が含まれる。CRCは、Type領域とデータ領域に対して計算された値が含まれる。 As shown in FIG. 5B, the DLLP includes a Type area indicating the type of DLLP, a data area, and a CRC. The Type area indicates which of the ACK packet, Nak packet, or FC packet is the type of DLLP. The data differs depending on the type of DLLP. For example, the ACK / Nak packet includes PSN, and the FC packet includes credit information and VC (Virtual Channel) number used for flow control. The CRC includes values calculated for the Type area and the data area.
データリンク層40a、40bは、TLP、又はFCパケットが一方のPCIe中継回路10a、10bに入力された場合は、再送バッファ50a、50bを介して他方のPCIe中継回路10a、10bへとパケットを転送する。また、データリンク層40a、40bは、ACK/NakパケットがPCIe中継回路10a、10bに入力された場合は、エラー制御を行う。
When the TLP or FC packet is input to one of the
エラー検出部51a、51bは、TLP、及びFCパケットを確認して、エラーの有無を判定し、エラーがある場合は、パケットの再送を送信元の機器に対して要求しNakパケットを、エラーがない場合は、パケットを削除してACKパケットをそれぞれ送信元の機器の送信ポートTXへと送信する。
The
次に再送バッファ50a、50bの具体的な構成について図6を用いて説明する。図6は、再送バッファ50a、50bの構成と動作とを概念的に示した概念図である。図6に示されるように、再送バッファ50a、50bにはTLPとDLLPとが混在して記憶されている。再送バッファ50a、50bに転送されてくるDLLPは、エラー検出部51a、51bにおいてエラー制御用のACK/Nakパケットは処理されるため、フロー制御用のFCパケットのみである。再送バッファ50a、50bに記憶されるTLPは、送信元の機器側のPCIe中継回路10a、10bのデータリンク層40a、40bにて付加されたPSNやLCRCの情報が保持された形式で記憶される。DLLPも同様に、送信元の機器側のPCIe中継回路10a、10bのデータリンク層40a、40bが生成した形式で記憶される。
Next, a specific configuration of the
再送バッファ50a、50bは、送信元側のPCIe中継回路10a、10bのエラー検出部51a、51bからパケットの入力を受け付けるとともに、送信先側のPCIe中継回路10a、10bの物理層30a、30bの送信ポートTXへとこの受け付けたパケットを送信する。再送バッファ50a、50bは、各パケットが入力された順にパケットを出力するFIFO(First in First Out)形式である。再送バッファ50a、50bはパケットがDLLPの場合は、出力後バッファ領域からパケットを削除し、バッファ領域を開放する。再送バッファ50a、50bは、パケットがTLPの場合はすぐにバッファ領域を開放せず、後述する再送バッファ制御部54a、54bからのTLP削除指示、及びPSNを受信した後に、指示されたPSNで特定されるTLP以前に入力されたTLPが記憶されているバッファ領域を開放する。
The retransmission buffers 50a and 50b receive packet inputs from the
一方、再送バッファ50a、50bは、再送バッファ制御部54a、54bからTLP再送指示、及びPSNを受信した場合に、指示されたTLP以降に入力されたバッファに記憶されているTLPを再送する。再送バッファ50a、50bは、このようにパケットの送信先のPCIe中継回路10a、10bに設けられた再送バッファ制御部54a、54bから再送制御信号(TLP削除指示、及びTLP再送指示)を受け取る。
On the other hand, when the
また、再送バッファ50a、50bは、送信元のPCIe中継回路10a、10bのデータリンク層40a、40bに設けられたエラー検出部51a、51bに対してバッファフル信号を出力する。バッファフル信号は、再送バッファ50a、50bに空き容量が所定量以下になった場合に出力される。送信元のエラー検出部51a、51bは、バッファフル信号が入力されている間、送信元の機器からTLPを受信するたびに、エラーの有無にかかわらずNakを送信元の機器の送信ポートTXへと出力し、再送バッファ50a、50bの容量がオーバーしないように制御する。
The retransmission buffers 50a and 50b output buffer full signals to the
したがって、再送バッファ50a、50bはパケットのリクエスト種類やヘッダ、データの区別なく単一のバッファに記憶可能であり、また仮想チャネルをどれだけ使用したとしても、再送バッファ50a、50bを実装するだけでよいため、トランザクション層を実装した通常のPCIe回路と比較して非常に小さい回路構成でデータ中継を処理することが可能になる。なお、再送バッファ50a、50bのサイズは、使用するケーブル長に合わせて変更することができ、ケーブル経由で接続される機器からのACK/Nakパケットの応答があるまでに要する時間の間だけ再送バッファの容量がオーバーせず、TLPが記憶可能なサイズを実装すればデータ転送効率の低下も発生せず好適である。
Therefore, the
次にPCIe回路の動作例を、次の図7から図14のデータフロー図を用いて動作ステップごとに詳しく説明する。図中にて付与されている「()」で囲まれた番号は、データの流れ、および処理の順番を示している。 Next, an example of the operation of the PCIe circuit will be described in detail for each operation step using the data flow diagrams of FIGS. The numbers enclosed in “()” given in the figure indicate the flow of data and the order of processing.
図7は、TLPを送信元の機器から受信し、エラーがなかった場合のデータフローを示している。この図ではPCIe中継回路10aと接続された機器Aが送信元、PCIe中継回路10bと接続された機器Bが送信先となっているが、反対の場合も同様のデータフローとなる。まず、(1)TLPがPCIe中継回路10aの受信ポートRXから入力される。(2)エラー検出部51aは、入力されたTLPのLCRCの値を確認し、エラーの有無を判定する。エラーがない場合は、エラー検出部51aは、ACKパケットを送信ポートTXから送信元の機器Aへと送信する。(3)エラー検出部51aは、PCIe中継回路10bの再送バッファ50bへとTLPを転送し再送バッファ50bに記憶させる。(4)再送バッファ50bに記憶されたTLPは読み出されて、送信先側のPCIe中継回路10bの送信ポートTXへと転送される。このとき、TLPは再送バッファ50bからは削除されずに記憶されたままである。
FIG. 7 shows a data flow when a TLP is received from a transmission source device and there is no error. In this figure, the device A connected to the
図8は、TLPを送信元の機器Aから受信し、エラーがあった場合のデータフローを示している。この図ではPCIe中継回路10aと接続された機器Aが送信元、PCIe中継回路10bと接続された機器Bが送信先となっているが、反対の場合も同様のデータフローとなる。(1)まず、TLPがPCIe中継回路10aの受信ポートRXから入力される。(2)エラー検出部51aは、入力されたTLPのLCRCの値を確認し、エラーの有無を判定する。エラーがある場合は、エラー検出部51aは、Nakパケットを送信ポートTXから送信元の機器Aへと送信する。(3)エラー検出部51aは、入力されたTLPを破棄する。
FIG. 8 shows a data flow when a TLP is received from the transmission source device A and there is an error. In this figure, the device A connected to the
図9は、TLPを送信元の機器Aから受信し、再送バッファ50bの容量オーバーがあった場合のデータフローを示している。この図ではPCIe中継回路10aと接続された機器Aが送信元、PCIe中継回路10bと接続された機器Bが送信先となっているが、反対の場合も同様のデータフローとなる。(1)再送バッファ50bに空きが無くなった場合、もしくはまもなく空きがなくなる場合、再送バッファ50bは、エラー検出部51aに対してバッファフル信号を出力する。(2)エラー検出部51aは、送信元の機器Aと接続された受信ポートRXからTLPを受信する。(3)エラー検出部51aは、エラー検出部51aに対してバッファフル信号が出力されている状態においては、TLPのエラーの有無にかかわらず、Nakパケットを送信元の機器Aと接続された送信ポートTXへと出力する。(4)そして、エラー検出部51aは、受信したTLPを破棄する。このように制御が行われることで、PCIe中継回路10a、10bに再送バッファ50a、50bの容量がオーバーすることなくパケット転送が可能となる。
FIG. 9 shows a data flow when the TLP is received from the transmission source device A and the capacity of the
図10は、TLPを送信先の機器Bへと送信した後に、送信先においてエラーがなかった場合のデータフローを示している。この図ではPCIe中継回路10aと接続された機器Aが送信元、PCIe中継回路10bと接続された機器Bが送信先となっているが、反対の場合も同様のデータフローとなる。まず、(1)TLPが正常に送信先の機器Bにて受信された場合、送信先の機器Bに接続されたPCIe中継回路10bの受信ポートRXからACKパケットが入力されエラー検出部51bへと転送される。(2)エラー検出部51bは、ACKパケットのCRCの値を確認してエラーの有無を判定し、エラーがない場合はACK/Nak検出部53bへとACKパケットを転送する。(3)ACK/Nak検出部53bは、ACKパケットのTypeの値を確認して、ACKパケットであるか否かを判定し、ACKパケットであると判定した場合は、データ領域からPSNを取得して、ACKであることを示すACK信号、及びPSNを再送バッファ制御部54bへと送信する。(4)再送バッファ制御部54bは、再送バッファ50bに対して、PSNを指定してTLP削除指示を送信する。(5)再送バッファ50bは、指定されたPSN以前に入力されたTLPが保持されているバッファ領域を開放する。
FIG. 10 shows a data flow when there is no error in the transmission destination after transmitting the TLP to the transmission destination device B. In this figure, the device A connected to the
図11は、TLPを送信先の機器Bへと送信した後に、TLPにエラーが検出された場合のデータフローを示している。この図ではPCIe中継回路10aと接続された機器が送信元、PCIe中継回路10bと接続された機器Bが送信先となっているが、反対の場合も同様のデータフローとなる。まず、(1)TLPが正常に送信先の機器Bにて受信されなかった場合、送信先の機器Bに接続されたPCIe中継回路10bの受信ポートRXからNakパケットが入力されエラー検出部51bへと転送される。(2)エラー検出部51bは、NakパケットのCRCの値を確認してエラーの有無を判定し、エラーがない場合はACK/Nak検出部53bへとNakパケットを転送する。(3)ACK/Nak検出部53bは、NakパケットのTypeの値を確認して、Nakパケットであるか否かを判定し、Nakパケットであると判定した場合は、データ領域からPSNを取得して、Nakパケットであることを示すNak信号、及びPSNを再送バッファ制御部54bへと送信する。(4)再送バッファ制御部54bは、再送バッファ50bに対して、PSNを指定してTLP再送指示を送信する。(5)再送バッファ50bは、指定されたPSN以降に入力され記憶されているTLPをPSNの順番で再送する。TLPの再送は、送信先の機器Bから正常にACKパケットを受信して、再送バッファ50bが開放されるまで繰り返し行われる。この動作によって、エラーの無いデータ通信が相互の機器間で保証されることになる。
FIG. 11 shows a data flow when an error is detected in the TLP after transmitting the TLP to the destination device B. In this figure, the device connected to the
図12は、FCパケットを機器Bからの受信し、エラーがなかった場合のデータフローを示している。この図ではPCIe中継回路10bと接続された機器Bが送信元、PCIe中継回路10aと接続された機器Aが送信先となっているが、反対の場合も同様のデータフローとなる。(1)FCパケットは、送信元の機器Bと接続されたPCIe中継回路10bの受信ポートRXから入力されエラー検出部51bへと転送される。(2)エラー検出部51bは、FCパケットのCRCの値を確認してエラーの有無を判定し、エラーがない場合はFC検出部52bへとFCパケットを転送する。(3)FC検出部52bは、FCパケットのTypeの値を確認してFCパケットであるか否かを判定し、FCパケットである場合は、そのままFCパケットを再送バッファ50aへと転送する。(4)再送バッファ50aは、FCパケットを送信先の機器Aに接続されたPCIe中継回路10aの送信ポートTXへと転送する。(5)再送バッファ50aは、送信ポートTXからの指示を受けてFCパケットを削除する。以上のように、FCパケットは再送バッファ50aを経由して、そのまま送信先の機器Aに接続されたPCIe中継回路10aの送信ポートTXへと転送される。再送バッファ50aはFCパケットに対しては書き込みと読み出しを非同期に行うためのバッファとして機能し、再送制御は行わない。
FIG. 12 shows a data flow when an FC packet is received from the device B and there is no error. In this figure, the device B connected to the
図13は、各種DLLPパケットを送信元の機器Bからの受信し、DLLPパケットにエラーがあった場合のデータフローを示している。この図ではPCIe中継回路10bと接続された機器Bが送信元、PCIe中継回路10aと接続された機器Aが送信先となっているが、反対の場合も同様のデータフローとなる。(1)DLLPは、送信元の機器Bと接続されたPCIe中継回路10bの受信ポートRXから入力されエラー検出部51bへと転送される。このDLLPは、ACKパケット、Nakパケット、及びFCパケットのいずれかである。(2)エラー検出部51bは、FCパケットのCRCの値を確認してエラーの有無を判定し、エラーがある場合はDLLPの種類にかかわらず受信したDLLPを破棄する。DLLPはACKパケット、Nakパケット、及びFCパケットともに、次のTLPに対する応答などで随時内容が更新され続けて受信されており、リクエストやデータの欠落が許されないTLPとは異なり途中のパケットの欠落が許されるためである。
FIG. 13 shows a data flow when various DLLP packets are received from the transmission source device B and there is an error in the DLLP packet. In this figure, the device B connected to the
続いて、PCIe中継回路10a、10bの送信ポートTX側における動作の流れを図14のフロー図を用いて説明する。図14に示されるように、送信ポートTXは、再送バッファ50a、50bから記憶されているパケットの読出しを行う指示を送る(ステップS101)。パケットが読み出されて、このパケットが送信ポートTXへ入力されると、送信ポートTXでは、このパケットがTLPかFCパケットであるか否かの判定が行われる(ステップS102)。パケットがTLPである場合は(ステップS102:TLP)、送信ポートTXは、TLPを送信先の機器A又は機器Bに向けて送信する(ステップS103)。
Next, the operation flow on the transmission port TX side of the
一方、パケットがFCパケットである場合は(ステップS102:DLLP FC)、送信ポートTXは、FCパケットを送信先の機器A又は機器Bに向けて送信する(ステップS104)。そして、送信ポートTXは再送バッファ50a又は50bに対してFCパケットを削除する旨指示を送る(ステップS105)。
On the other hand, when the packet is an FC packet (step S102: DLLP FC), the transmission port TX transmits the FC packet to the device A or device B as the transmission destination (step S104). Then, the transmission port TX sends an instruction to delete the FC packet to the
パケットを送信し終わった後は、送信ポートTXは再送バッファ50a又は50bの読出し位置を次の位置へと変更する指示を出し(ステップS106)、ステップS101からの読み出しの処理を再度行う。
After the transmission of the packet is completed, the transmission port TX issues an instruction to change the reading position of the
続いて、PCIe中継回路10a、10bの受信ポートRX側における動作の流れを図15のフロー図を用いて説明する。図15に示されるように、受信ポートRXでは、まずパケットを受信するところから処理がスタートする(ステップS201)。次いで、受信ポートRXでは、受信されたパケットが、TLPであるか、DLLPであるかが判定される(ステップS202)。パケットがTLPである場合(ステップS202:TLP)、エラー検出部51a、51bは、パケットのエラー有無を判定する(ステップS203)。次いで、エラー検出部51a、51bに対してバッファフル信号が入力されているかが判定される(ステップS204)。
Next, an operation flow on the reception port RX side of the
エラーが検出されず、バッファフル信号が入力されていない場合(ステップS203、ステップS204:No)、エラー検出部51a、51bは、ACKパケットを送信元の機器A、Bに接続された送信ポートTXへと送信し(ステップS205)、次いでTLPを再送バッファ50a、50bに書き込む指示を行う(ステップS206)。一方、エラーが検出されるか、バッファフル信号が入力されている場合(ステップS203、ステップS204のいずれかがYes)、エラー検出部51a、51bは、Nakパケットを送信元の機器A、Bに接続された送信ポートTXへと送信する(ステップS207)。
When no error is detected and no buffer full signal is input (step S203, step S204: No), the
受信したパケットがDLLPである場合(ステップS202:DLLP)、エラー検出部51a、51bは、パケットのエラー有無を判定する(ステップS208)。パケットのエラーがないと判定された場合(ステップS208:No)、ACK/Nak検出部53a、53b、又はFC検出部52a、52bは、パケットがFCパケットであるか、ACKパケットであるか、及びNakパケットであるかを判定する(ステップS209)。
When the received packet is a DLLP (step S202: DLLP), the
パケットがFCパケットであると判定された場合(ステップS209:FCパケット)、エラー検出部51a、51bはFCパケットを再送バッファ50a、50bへと転送し、記録するよう指示を出力する(ステップS210)。パケットがACKパケットであると判定された場合(ステップS209:ACKパケット)、ACK/Nak検出部53a、53bは再送バッファ制御部54a、54bにACK信号を転送し、ACK信号を受信した再送バッファ制御部54a、54bはTLPを再送バッファ50a、50bから削除するよう指示を出力する(ステップS211)。パケットがNakパケットであると判定された場合(ステップS209:Nakパケット)、ACK/Nak検出部53a、53bは再送バッファ制御部54a、54bにNak信号を転送し、Nak信号を受信した再送バッファ制御部54a、54bはTLPを再送バッファ50a、50bから再送するよう指示を出力する(ステップS212)。
When it is determined that the packet is an FC packet (step S209: FC packet), the
パケットのエラーがあると判定された場合(ステップS208:Yes)、エラー検出部51a、51bはパケットを削除する(ステップS213)。
When it is determined that there is a packet error (step S208: Yes), the
続いて、PCIe中継回路10a、10bの再送バッファ50a、50bにおける動作の流れを図16のフロー図を用いて説明する。再送バッファ50a、50bは、まず指示が入力された場合に、その指示がパケットの書き込み指示であったか否かを判定する(ステップS301)。パケットの書き込み指示があった場合(ステップS301:Yes)、再送バッファ50a、50bはパケットをバッファ領域に記憶する(ステップS302)。パケットの書き込み指示を受けてパケットが記憶された後、再送バッファ50a、50bはバッファ領域に空きがあるか否か、具体的にはバッファ領域の空き容量が所定の容量以上あるか否かを判定する(ステップS303)。バッファ領域に十分な空き容量がある場合(ステップS303:Yes)、処理を終了する。一方、バッファ領域に空き容量が所定の容量未満の場合(ステップS303:No)、再送バッファ50a、50bはエラー検出部51a、51bに対してバッファフル信号を出力する(ステップS304)。
Next, the operation flow in the
再送バッファ50a、50bへの書き込み指示がなかった場合(ステップS301:No)、再送バッファ50a、50bは記録されているパケットの読出し指示があったか否かを判定する(ステップS305)。パケットの読出し指示があったと判定された場合(ステップS305:Yes)、再送バッファ50a、50bはその読み出す対象のパケットがTLPかDLLP(FCパケット)であるか否かを判定する(ステップS306)。パケットがTLPであると判定された場合(ステップS306:TLP)、再送バッファ50a、50bはバッファからTLPを送信ポートTXへと転送する(ステップS307)。再送バッファ50a、50bは転送が終わると、バッファの読出し位置を変更する指示を受信し(ステップS308)、受信すると読み出し位置を1パケット分進める(ステップS309)。
When there is no instruction to write to the
一方、受信したパケットがFCパケットであると判定された場合(ステップS306:FCパケット)、再送バッファ50a、50bはFCパケットを送信ポートTXへと転送する(ステップS310)。再送バッファ50a、50bは転送が終わるとDLLPのパケットの削除指令を受信し(ステップS311)、バッファ領域を開放してFCパケットを削除する(ステップS312)。
On the other hand, when it is determined that the received packet is an FC packet (step S306: FC packet), the
再送バッファ50a、50bへの読み出し指示がなかった場合(ステップS305:No)、再送バッファ50a、50bは制御信号の入力があったか否かを判定する(ステップS313)。制御信号の入力があった場合(ステップS313:Yes)、その制御信号がTLP削除指示であるか、TLP再送指示であるか否かを再送バッファ50a、50bは判定する(ステップS314)。TLP削除指示であると判定された場合(ステップS314:TLP削除指示)、再送バッファ50a、50bは、TLP削除指示とともに送られるPSNで特定されるパケット以前に書き込まれたTLPをバッファ領域から削除する(ステップS315)。TLPを削除後、又はステップS312でのDLLPの削除後は、再送バッファ50a、50bはバッファ領域の空き容量が所定の容量以上存在しているかを判定する(ステップS316)。パケットを削除することでバッファ領域の空き容量が確保される結果、バッファ領域の空き容量が所定の容量以上存在していると判定された場合(ステップS316:Yes)、再送バッファ50a、50bはエラー検出部51a、51bに通知中のバッファフル信号の出力を停止する(ステップS317)。一方、バッファ領域の空き容量が所定の容量未満であると判定された場合(ステップS316:No)、バッファフル信号は継続して出力された状態となる。
When there is no read instruction to the
TLP再送指示であると判定された場合(ステップS314:TLP再送指示)、再送バッファ50a、50bはTLP再送指令とともに受信したPSNまでパケットの読み出し位置を戻す(ステップS318)。再送バッファ50a、50bへの制御信号の入力がなかった場合(ステップS313:No)、処理を最初から繰り返す。
When it is determined that the instruction is a TLP retransmission instruction (step S314: TLP retransmission instruction), the
10a PCIe中継回路
10b PCIe中継回路
30a 物理層
40a データリンク層
50a 再送バッファ
50b 再送バッファ
51a エラー検出部
51b エラー検出部
52a FC検出部
52b FC検出部
53a ACK/Nak検出部
53b ACK/Nak検出部
54a 再送バッファ制御部
54b 再送バッファ制御部
10a
Claims (4)
データフロー制御用パケット、及びデータパケットを記憶する記憶部と、
前記第1のポート、又は前記第2のポートから受信した前記データフロー制御用パケット、及び前記データパケットの前記記憶部への書き込みを制御する書込み制御部と、
前記記憶部へ書き込まれた前記データフロー制御用パケット、及び前記データパケットを前記書き込みのタイミングと非同期に読み出して、前記第1のポート、又は前記第2のポートへ送信する読出し制御部と、
送信した前記データパケットが送信先の前記第1の機器、又は前記第2の機器に正常に送信されたか否かを判断し、送信されたと判断された場合は、前記記憶部から送信した前記データパケットを削除するとともに、送信されていないと判断された場合は、前記記憶部から前記データパケットを読み出して再送するよう指示する再送制御部と、
を備えることを特徴とするデータ中継装置。 A data relay device in which a first port connected to a first device and a second port connected to a second device are connected,
A data flow control packet, and a storage unit for storing the data packet;
A write control unit that controls writing of the data flow control packet received from the first port or the second port , and writing of the data packet to the storage unit;
A read control unit that reads the data flow control packet written to the storage unit and the data packet asynchronously with the write timing, and transmits the read data packet to the first port or the second port;
It is determined whether or not the transmitted data packet is normally transmitted to the first device or the second device as a transmission destination, and when it is determined that the data packet is transmitted, the data transmitted from the storage unit When it is determined that the packet is deleted and not transmitted, a retransmission control unit that instructs to read and retransmit the data packet from the storage unit;
A data relay device comprising:
前記記憶部は、空き容量が所定容量より少なくなった場合にその旨を示すバッファフル信号を前記エラー検出部へと送信するとともに、
前記エラー検出部は、前記バッファフル信号が入力されている場合は、入力された前記データパケットを破棄する
ことを特徴とする請求項1に記載のデータ中継装置。 The data flow control packet, and the data packet is input before the data packet is written to the storage unit, further comprising an error detection unit for detecting the presence or absence of the packet,
The storage unit transmits a buffer full signal indicating that when the free capacity is less than a predetermined capacity to the error detection unit,
The data relay device according to claim 1, wherein, when the buffer full signal is input, the error detection unit discards the input data packet.
ことを特徴とする請求項2に記載のデータ中継装置。 The data relay device according to claim 2, wherein the error detection unit discards the data flow control packet when detecting an abnormality of the data flow control packet.
ことを特徴とする請求項2に記載のデータ中継装置。 When the error detection unit detects an abnormality in the data packet, the error detection unit instructs the first device or the second device that is the transmission source of the data packet to retransmit the data packet. The data relay device according to claim 2, wherein:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012065850A JP6003136B2 (en) | 2012-03-22 | 2012-03-22 | Data relay device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012065850A JP6003136B2 (en) | 2012-03-22 | 2012-03-22 | Data relay device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013196615A JP2013196615A (en) | 2013-09-30 |
JP6003136B2 true JP6003136B2 (en) | 2016-10-05 |
Family
ID=49395417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012065850A Expired - Fee Related JP6003136B2 (en) | 2012-03-22 | 2012-03-22 | Data relay device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6003136B2 (en) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2674510B2 (en) * | 1994-05-27 | 1997-11-12 | 日本電気株式会社 | Packet receiver |
JP2003249978A (en) * | 2002-02-22 | 2003-09-05 | Kawasaki Microelectronics Kk | Serial forwarding device |
JP2006293969A (en) * | 2005-03-17 | 2006-10-26 | Fujitsu Ltd | Data transfer device |
KR100974105B1 (en) * | 2005-06-21 | 2010-08-04 | 엔엑스피 비 브이 | Method for parallel data integrity checking of pci express devices |
JP5272704B2 (en) * | 2008-12-17 | 2013-08-28 | 富士ゼロックス株式会社 | Information transmission system, information transmission device, and information reception device |
JP2011081769A (en) * | 2009-09-14 | 2011-04-21 | Ricoh Co Ltd | Apparatus, device and method for transferring data |
-
2012
- 2012-03-22 JP JP2012065850A patent/JP6003136B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2013196615A (en) | 2013-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6418494B1 (en) | Split computer architecture to separate user and processor while retaining original user interface | |
US6088752A (en) | Method and apparatus for exchanging information between buses in a portable computer and docking station through a bridge employing a serial link | |
EP1530850B1 (en) | Store and forward switch device, system and method | |
US6070214A (en) | Serially linked bus bridge for expanding access over a first bus to a second bus | |
US8700866B2 (en) | Data transfer apparatus, data transfer device, and data transfer method in a data transfer device | |
EP2420935A1 (en) | Tlp processing circuit for pci express and relay device equipped with the same | |
US7783820B2 (en) | Packet-switched split computer having disassociated peripheral controller and plural data buses | |
JP2008533572A (en) | Method and apparatus for improving the performance of USB mass storage devices in the presence of long transmission delays | |
WO2001018988A1 (en) | Bridge between parallel buses over a packet-switched network | |
WO1985000486A1 (en) | Data link extension for data communication networks | |
JP5968119B2 (en) | Communication system with cascade connection | |
US6366968B1 (en) | Physical write packets processing when posted write error queue is full, with posted write error queue storing physical write requests when posted write packet fails | |
US7269680B1 (en) | System enabling device communication in an expanded computing device | |
JP6003136B2 (en) | Data relay device | |
JPWO2015059889A1 (en) | Initiator terminal, target terminal, initiator terminal error processing method, target terminal error processing method | |
KR20110134465A (en) | Data transmission system and data read method thereof | |
JP4104939B2 (en) | Multiprocessor system | |
JP2014230072A (en) | Data communication device, data communication apparatus, and data communication method | |
JP2715815B2 (en) | Data writing method | |
CA2347869C (en) | Linked bridge | |
JP3799741B2 (en) | Bus controller | |
EP1133732A1 (en) | Split computer architecture | |
CA2347896C (en) | Docking system and method | |
TWI246651B (en) | An enhanced general input/output architecture and related methods for establishing virtual channels therein | |
EP1653373A2 (en) | Bus bridge |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150218 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160129 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160209 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160331 |
|
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: 20160809 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160822 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6003136 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
LAPS | Cancellation because of no payment of annual fees |