JP5230667B2 - データ転送装置 - Google Patents
データ転送装置 Download PDFInfo
- Publication number
- JP5230667B2 JP5230667B2 JP2010016590A JP2010016590A JP5230667B2 JP 5230667 B2 JP5230667 B2 JP 5230667B2 JP 2010016590 A JP2010016590 A JP 2010016590A JP 2010016590 A JP2010016590 A JP 2010016590A JP 5230667 B2 JP5230667 B2 JP 5230667B2
- Authority
- JP
- Japan
- Prior art keywords
- root complex
- port
- data
- switch
- lanes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Description
PCI Expressの構成要素としては、ルートコンプレックス、エンドポイント、スイッチがあり、これらがツリー型の接続形態をとる。ルートコンプレックスは、ツリーの最上位に位置し、上位システムとのI/Oを行う。ルートコンプレックスは、複数のポートを持ち、それぞれのポートが他のPCI Expressデバイスと接続される。
エンドポイントは、ツリーの末端に位置し、ルートコンプレックスや他のエンドポイントとの通信を行う。スイッチは、複数のエンドポイントを接続するためにポートを拡張する役割を持つ。ポート同士は、送信と受信の2ペアの差動信号の組み合わせを1レーンとし、これを複数束ねたリンクにより接続される。PCI Express gen1規格の場合、1レーンは2Gbpsの伝送帯域を有し、リンクの伝送帯域はレーン数×2Gbpsとなる。
次に、1レーンのポートを2つ持つルートコンプレックスに対し、2レーンのポートを持つエンドポイントを接続する場合を考える。この場合は、ルートコンプレックスの1レーンのポートに直接エンドポイントの2レーンのポートを接続する。エンドポイントのポートは2レーンあるが、ルートコンプレックス側のポートが1レーンであるため、1レーンのみを接続することとなる。この場合、リンクの伝送帯域は、エンドポイントが持つ本来の伝送帯域の半分の性能となり、ルートコンプレックスとエンドポイント間の通信において、PCI Expressの伝送路がボトルネックとなる。
この問題に対し、特許文献1では、ルートコンプレックスからエンドポイントに至るリンクのレーン数を、エンドポイントの必要とする最大伝送帯域を満たすレーン数とすることでボトルネックを解消している。
この構成では、エンドポイントとルートコンプレックス間のPCI Expressの伝送速度は、リンクが1レーンであることから最大2Gbpsにとどまる。エンドポイントが光ケーブルから伝送データを受け続けた場合、いずれはエンドポイント上の受信データ格納バッファがあふれるため、通信停止やデータ再送等の処理が必要となる。レーダー信号処理などのリアルタイムシステムでは、このようなデータ転送遅延は許容されない。
このためには、ルートコンプレックス側に2レーンに対応したポートの実装が要求される。PCI Expressインタフェースを持つデバイスは、複数のポートとレーンを有しているものがあり、各ポートのレーン数はいくつかのパターンの中から選択可能となっているものが多い。例えば、3ポート、8レーンのPCI Expressインタフェースを持つデバイスの場合、8レーンを1ポートに割り当てることや、4レーンを1ポートに割り当て、残り2レーンを2ポートに割り当てるなど、構成を選択できるようになっている。
しかし、デバイスによっては、このような割り当てに対応しないために、物理的に2レーン分のインタフェースを持つにもかかわらず、1レーンでの接続のみしか行えない場合もある。使用するデバイスが後者の仕様だった場合、特許文献1に示される解決方法を採ることができない。
本発明の実施の形態について、図を用いて説明する。
図1は、この発明の実施の形態1によるデータ転送装置を示すシステム構成図であり、図1(a)は従来のPCI Expressを用いたデータ転送装置の構成を示す図、図1(b)は本発明によるPCI Expressを用いたデータ転送装置の構成を示す図である。
図1(a)において、CPU100は、ルートコンプレックス200に接続され、ルートコンプレックス200は、1レーンのポートを2つ有し、ポート1を介して、2レーンのポートを1つ有するエンドポイント201と、リンク210により接続される。リンク210は、1レーンでの接続である。
図1(b)において、CPU100は、ルートコンプレックス200に接続されるとともに、バスによりDMAコントローラ(direct memory access controller)301と主記憶302に接続されている。ルートコンプレックス200は、1レーンのポートを2つ有する。エンドポイント201は、2レーンのポートを1つ有する。スイッチ300は、非透過ポート310をもち、ルートコンプレックス200とエンドポイント201の間に配置され、ルートコンプレックス200の各ポートと接続される。このとき、ルートコンプレックス200のポート2は、スイッチ300の非透過ポート310に接続される。この場合に形成されるリンク311とリンク312は、ルートコンプレックス200のレーン数が1であるため、1レーンでの接続である。
スイッチ300とエンドポイント201間は、エンドポイント201が持つレーンを全て接続する。すなわち、リンク313は2レーンでの接続である。
DMAコントローラ301は、主記憶302とエンドポイント201間で、CPU100を介さずにデータ転送を行うために使用される。
図3において、タイミングチャートは横軸に転送時間、縦軸にデータの転送過程を示しており、転送データを四角で示している。転送データを示す四角の横方向の長さはそのデータを転送するのに要する時間を意味する。
図3(a)で、エンドポイント201が持つ転送データ500は、リンク210を経由してエンドポイント201からルートコンプレックス200に転送するデータ600として、転送される。
図3(b)で、エンドポイント201が持つ転送データ500は、2等分されたエンドポイント201が持つ転送データ501となり、リンク313を経由してエンドポイント201からスイッチ300に転送するデータ502となり、これが、リンク311を経由してスイッチ300からルートコンプレックス200のポート1に転送するデータ503と、リンク312を経由してスイッチ300からルートコンプレックス200のポート2に転送するデータ504とに分けられる。
本発明の実施の形態1におけるPCI Expressの構成は、図1(b)に示すとおりである。従来の図1(a)の構成に対し、ルートコンプレックス200とエンドポイント201の間に非透過ポート310を持つスイッチ300を追加し、ルートコンプレックス200のポート1とポート2をそれぞれスイッチ300の各ポートに接続する。リンク311と312はルートコンプレックス200のレーン数が1であるため、1レーンでの接続である。
スイッチ300とエンドポイント201間は、エンドポイント201が持つレーンを全て接続する。エンドポイント201は、2レーンのポートを持ち、2レーン分の伝送帯域、すなわち2×2=4Gbpsのデータ転送速度を要求しているものとする。
図1(b)の構成をとった場合、ルートコンプレックス200がポート1とポート2の2箇所で接続されることから、発明が解決しようとする課題で述べたような、物理的に2レーン分のインタフェースを持つにもかかわらず、1レーンでの接続のみしか行えないデバイスの場合であれば、問題が生じるため、その解決手段としてポート2は、スイッチ300の非透過ポート310に接続する。
この非透過ポート310を用いることにより、ルートコンプレックス200が、例え、発明が解決しようとする課題で述べたような、物理的に2レーン分のインタフェースを持つにもかかわらず、1レーンでの接続のみしか行えないデバイスの場合であっても、スイッチ300にルートコンプレックス200の2つのポートを接続し、並列に転送することができる。
なお、ルートコンプレックスが、3つ以上の複数のポートをもつ場合には、3つ以上の複数のポートのうちの1つを除いた残りのポートが、全てスイッチの非透過ポートに接続される。
まず、エンドポイント201の持つ転送データをn等分する(ステップS1)。ここで、nはルートコンプレックス200とスイッチ300間のリンクの数を示す。データの等分は、概念的なものであり、データの分割箇所を決定するだけで、具体的なデータの加工や転送を伴うものではない。図1(b)では、ルートコンプレックス200とスイッチ300間は、リンク311とリンク312の2つで接続されていることから、n=2となるため、データを2等分する。
具体的なDMA転送の実施方法としては、2等分したデータをデータ1、データ2としたとき、DMAコントローラ301のチャンネル1にデータ1の転送を設定し、チャンネル2にデータ2の転送を設定する。チャンネル1とチャンネル2のDMA転送を同時に開始することで、前述の転送が行われる。
これらは、ステップS3〜S5に示すとおり、DMAコントローラ301のチャンネルにより並列に転送される。因みに、ステップS3は、ルートコンプレックス200のポート1を経由する転送であり、ステップS4は、ルートコンプレックス200のポート2を経由する転送であり、ステップS5は、さらにルートコンプレックスがポートを有する場合のポートnを経由する転送である。
図3(b)では、データAとデータBの2種類のデータを続けて転送する場合を示している。エンドポイント201がもつデータAは、データA−1、データA−2の2つに分割され、DMAコントローラ301によって、まずはエンドポイント201からスイッチ300へと転送される。スイッチ300へ転送されたデータは、続いてルートコンプレックス200へ転送されるが、このとき、データA−1は、リンク311を、データA−2は、リンク312をそれぞれ経由して転送される。
データBも同様に転送されるが、リンク312を使用してデータA−2の転送を行っている間に、データA−1の転送が完了したリンク311を使用してデータB−1の転送を開始できるため、データ転送サイズが大きくなるほど、トータルのデータ転送時間は、1リンクを2レーンとした場合の時間、つまりエンドポイントが要求するデータ転送性能に近づく。
このように、本発明の適用により、ルートコンプレックス200の構成を変更することなく、PCI Expressのボトルネックを解消することが可能となる。
また、ルートコンプレックスとスイッチを接続する複数のリンクのレーン数の合計と、エンドポイントとスイッチ間を接続するリンクのレーン数とが等しくすることにより、エンドポイントが必要とするデータ転送性能を確保し、ルートコンプレックス側のポートあたりのレーン数がエンドポイント側のポートのレーン数より少ないことを原因とするデータ転送のボトルネックを解消することができる。
200 ルートコンプレックス
201 エンドポイント
210 リンク
300 スイッチ
301 DMAコントローラ
302 主記憶
310 非透過ポート
311 リンク
312 リンク
313 リンク
500 エンドポイント201が持つ転送データ
501 2等分されたエンドポイント201が持つ転送データ
502 リンク313を経由してエンドポイント201からスイッチ300に転送するデータ
503 リンク311を経由してスイッチ300からルートコンプレックス200のポート1に転送するデータ
504 リンク312を経由してスイッチ300からルートコンプレックス200のポート2に転送するデータ
600 リンク210を経由してエンドポイント201からルートコンプレックス200に転送するデータ
Claims (3)
- PCI Expressインタフェースを用いたデータ転送装置であって、
所定のレーン数に対応したポートを複数有するルートコンプレックス、
このルートコンプレックスとデータ転送を行うためのポートとして、上記ルートコンプレックスのポートの所定のレーン数より大きいレーン数に対応したポートを有するエンドポイント、
及び2つの独立したアドレス空間をブリッジする機能を有する非透過ポートを持ち、上記ルートコンプレックス及び上記エンドポイントに、上記ルートコンプレックス及び上記エンドポイントの各ポートのレーン数に対応したポートによって接続されたスイッチを備え、
上記ルートコンプレックスと上記スイッチの間では、上記ルートコンプレックスの複数のポートをそれぞれ上記スイッチのポートに接続することによって複数のリンクが形成されるとともに、上記ルートコンプレックスの各ポートに接続された上記スイッチのポートは、1つを除いて非透過ポートであり、
上記ルートコンプレックスと上記エンドポイントの間でデータ転送をする際には、上記ルートコンプレックスと上記スイッチの間の上記複数のリンクを使用して並列に転送を行うことを特徴とするデータ転送装置。 - 上記ルートコンプレックスと上記スイッチの間を接続する上記複数のリンクのレーン数の合計と、上記エンドポイントと上記スイッチの間を接続するリンクのレーン数とが等しいことを特徴とする請求項1記載の転送装置。
- 上記ルートコンプレックスと上記エンドポイントの間の転送データを、上記ルートコンプレックスと上記スイッチの間のリンクの数で分割し、上記ルートコンプレックスと上記スイッチの間の全てのリンクを使用して、上記分割された転送データを並列に転送することを特徴とする請求項1または請求項2記載のデータ転送装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010016590A JP5230667B2 (ja) | 2010-01-28 | 2010-01-28 | データ転送装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010016590A JP5230667B2 (ja) | 2010-01-28 | 2010-01-28 | データ転送装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011154609A JP2011154609A (ja) | 2011-08-11 |
JP5230667B2 true JP5230667B2 (ja) | 2013-07-10 |
Family
ID=44540506
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010016590A Active JP5230667B2 (ja) | 2010-01-28 | 2010-01-28 | データ転送装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5230667B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101934519B1 (ko) | 2012-11-26 | 2019-01-02 | 삼성전자주식회사 | 저장 장치 및 그것의 데이터 전송 방법 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7337232B2 (en) * | 2002-03-28 | 2008-02-26 | Sony Corporation | Method and system for providing and controlling sub-burst data transfers |
WO2005015864A1 (en) * | 2003-08-11 | 2005-02-17 | Koninklijke Philips Electronics, N.V. | Auto realignment of multiple serial byte-lanes |
JP2007226494A (ja) * | 2006-02-23 | 2007-09-06 | Ricoh Co Ltd | データ転送システム |
JP2008067242A (ja) * | 2006-09-11 | 2008-03-21 | Ricoh Co Ltd | 画像処理装置 |
-
2010
- 2010-01-28 JP JP2010016590A patent/JP5230667B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2011154609A (ja) | 2011-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8718065B2 (en) | Transmission using multiple physical interface | |
US9292460B2 (en) | Versatile lane configuration using a PCIe PIE-8 interface | |
KR100812225B1 (ko) | 멀티프로세서 SoC 플랫폼에 적합한 크로스바 스위치구조 | |
CN117235000A (zh) | 用于高带宽存储器的可缩放芯片上网络 | |
KR102007368B1 (ko) | Pci 익스프레스 스위치 및 이를 이용한 컴퓨터 시스템 | |
KR20210033996A (ko) | 전용 저 레이턴시 링크를 사용한 다수의 하드웨어 가속기에 대한 통합된 어드레스 공간 | |
EP0204827A1 (en) | Communication controller using multiported random access memory | |
JP2012501012A (ja) | 統合マルチ転送媒体コネクタ・アーキテクチャ | |
JP2011028650A (ja) | 情報処理装置 | |
JP2005182818A (ja) | オンチップバス | |
US20050174877A1 (en) | Bus arrangement and method thereof | |
KR100951856B1 (ko) | 멀티미디어 시스템용 SoC 시스템 | |
US5802333A (en) | Network inter-product stacking mechanism in which stacked products appear to the network as a single device | |
EP3575972B1 (en) | Inter-processor communication method for access latency between system-in-package (sip) dies | |
WO2013103510A1 (en) | Ring topology for compute devices | |
WO2022121783A1 (zh) | Axi总线结构及芯片系统 | |
US10049076B2 (en) | Methods and systems for implementing high speed serial interface bus having inhomogeneous lane bundles and encodings | |
US20080052431A1 (en) | Method and Apparatus for Enabling Virtual Channels Within A Peripheral Component Interconnect (PCI) Express Bus | |
JP5230667B2 (ja) | データ転送装置 | |
CN214151689U (zh) | Axi总线结构及芯片系统 | |
US20140032802A1 (en) | Data routing system supporting dual master apparatuses | |
US20130227190A1 (en) | High Data-Rate Processing System | |
KR100617386B1 (ko) | 네트웍 온 칩 어플리케이션을 위한 버터플라이 팻-트리를사용한 비동기 스위치 회로 | |
RU2638781C2 (ru) | Способ организации прямого доступа в память при передаче информации между физическими объектами | |
KR101808776B1 (ko) | 칩 간 통신중개장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20111222 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121109 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121204 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130124 |
|
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: 20130226 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130319 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160329 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |