JP3903699B2 - Pciバスによるデータ交換方法及び装置 - Google Patents

Pciバスによるデータ交換方法及び装置 Download PDF

Info

Publication number
JP3903699B2
JP3903699B2 JP2000243138A JP2000243138A JP3903699B2 JP 3903699 B2 JP3903699 B2 JP 3903699B2 JP 2000243138 A JP2000243138 A JP 2000243138A JP 2000243138 A JP2000243138 A JP 2000243138A JP 3903699 B2 JP3903699 B2 JP 3903699B2
Authority
JP
Japan
Prior art keywords
data
pci bus
control unit
communication control
data exchange
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
Application number
JP2000243138A
Other languages
English (en)
Other versions
JP2002055939A (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 JP2000243138A priority Critical patent/JP3903699B2/ja
Publication of JP2002055939A publication Critical patent/JP2002055939A/ja
Application granted granted Critical
Publication of JP3903699B2 publication Critical patent/JP3903699B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)
  • Information Transfer Systems (AREA)
  • Communication Control (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、ペリフェラル・コンポーネント・インターコネクト・バス(PCIバス:Peripheral Component Interconnect Bus )を有するデータ交換方法及び装置に係り、特に、外部回線と実際に通信を実施する通信制御部のデータ転送を書込みコマンドで全てを表すことにより,PCIバスのオーバヘッドを最小にするデータ交換方法及び装置に関する。
【0002】
【従来の技術】
近年、データ交換装置に使用されるシステムバスとして、PCIバスが採用され始めている。PCIバスはクロック同期型の入出力バスであり、アドレス/データバス(ADバス)を有している。データ転送はブロック転送を基本としており、各ブロック転送はバースト転送を基本としている。このPCIバスを使用するとデバイス間のデータ転送などを高速に行うことができる。
【0003】
図14は、PCIバスを使用した従来技術によるデータ交換装置の構成図である。同図において、1は通信の設定・管理を行う中央処理装置(CPU)、2はCPU1のプログラム・データを蓄えるメモリ、3はマンマシンインタフェースである入出力装置(I/O)、41 〜44 は外部回線と実際に通信を行う通信制御部、9は交換するデータを交換のために蓄えるバッファメモリを示している。
【0004】
図15は、従来技術によるデータ交換装置の通信制御部の構成図である。同図において、11は実際の外部と接続する物理インタフェース制御部、12は速度吸収を行うバッファメモリ、13はPCIバスのプロトコルを理解するバス制御部、15はデータ転送を実行するための元となるディスクリプタを解析し実動作を行う転送制御部である。
【0005】
以上の構成からなるデータ交換機において、実データが通信制御部41 〜44 の何れかに入力された場合(受信時)には、受信データが一旦通信制御部41 〜44 内のバッファメモリ12に蓄えられる。その後、通信制御部41 〜44 よりデータ交換装置のバッファメモリ9へのDirect Memory Access(DMA)による書込みアクセスが発生する。この書込みする位置はディスクリプタと呼ばれる情報(予め作成されてバッファメモリ9に格納された送受信の情報)でCPU1により管理される。
【0006】
また、実データを通信制御部41 〜44 より出力する場合(送信時)には、通信制御装置41 〜44 からの起動によって交換装置のバッファメモリ9からDMAによる読出しアクセスを発生させ、そのデータを通信制御部41 〜44 の内部バッファメモリ12にデータを蓄えてから送出する。この時も、どのようなデータを送出するかはディスクリプタによって管理される。
【0007】
図16は、従来技術によるディスクリプタの構成図である。同図に示すように、本ディスクリプタにあっては、管理バッファのアドレスの先頭に転送元アドレス51が、更に、転送先アドレス52、転送バイト数53、次ディスクリプタアドレス54、転送元識別子55、チェイン情報/ディスクリプタ識別子/エラー情報56、エラーアドレス57、及びエラーデータ58などで構成される。
【0008】
特に、チェイン情報/ディスクリプタ識別子/エラー情報56について、具体的な数値例で表すと、以下のとおりとなる。
【0009】
チェイン情報の例では、00(先頭)、01(中間)、10(最終)となる。
【0010】
ディスクリプタ識別子の例では、00(CPU1が作業中)、01(通信制御部41 〜44 が使用中)、10(CPU1が通信制御部41 〜44 に依頼)、11(通信制御部41 〜44 がCPU1に依頼)となる。
【0011】
エラー情報の例では、00(エラー無し)、01(パリティエラー)、10(オーバーラン)、11(アンダーラン)となる。
【0012】
図17は、従来技術のディスクリプタによるデータ転送の説明図である。同図において、受信データの転送元は、通信制御部41 〜44 のアドレスであり、2つの受信ディスクプタを使用してバッファメモリ9に先頭データ及び最終データとして格納する例を示す。一方、送信データの送信先は通信制御部41 〜44 のアドレスであり、3つの送信ディスクリプタを使用してバッファメモリ9に格納される先頭データ、中間データ及び最終データを送信データとして通信制御部41 〜44 へ送信する例を示す。
【0013】
通常、先頭のディスクリプタは、ディスクリプタを使用するデバイスにレジスタなどで通知される。1つのディスクリプタで管理しているより大きいデータを送受信したい場合には、複数のディスクリプタを使用することにより実現する。
【0014】
このように、複数のディスクリプタを使用する方法をディスクリプタチェインと呼んでいる。ディスクリプタチェインはチェインビットおよびディスクリプタ識別子によって制御される。つまり、データ交換装置から外部回線方向へのデータ送信時には、CPU1がディスクリプタのチェイン情報、転送バイト数を書き込むが、外部回線からデータ交換装置方向への受信時には、通信制御部41 〜44 がディスクリプタのチェイン情報、転送バイト数を書き込む。
【0015】
このディスクリプタの管理(空き管理、再接続およびメモリ配置など)は、CPU1で実施するのが一般的である。また、ディスクリプタの制御のための帯域を確保する必要が有り、送信データの有無を通信制御部41 〜44 からの一定間隔のディスクリプタのルックイン(データが有るか否かを確認する)か、1データ転送ごとのCPU1での起動により行う。
【0016】
なお、ディスクリプタを1度に複数個制御できる高機能な通信制御部41 〜44 の場合には、ディスクリプタ内に通信の優先順位など情報を付加し、この優先順位、レートを見て外部回線に出力することにより、通信の優先制御(レート制御)が成されるが、低機能な通信制御部41 〜44 の場合には、CPU1によるバッファの付け替え時に、ある一定周期で送信依頼をしたり、後から到着したものを優先的に出力するためにディスクリプタのチェイン順を変更したり等の制御が必要となる。
【0017】
図18は,PCIバスのメモリ読出し及び書込みアクセスのタイムチャートである。同図において、(a)読出しコマンド、と(b)書込みコマンド、のアクセスのタイムチャートを対比して示す。
【0018】
縦列の各信号は、CLK(クロック信号)、FRAME(フレーム信号)、AD(アドレス/データ)、C/BE(コマンド/バイトイネーブル信号)、IRDY(レディ信号)、TRDY(ターゲットレディ信号)、DEVSEL(デバイスセレクト信号)、PAR(パリティ信号)を示す。
【0019】
PCIバス上の全てのサイクルはPCIバスクロックに同期して行れる。AD(アドレス/データ)は、32ビット幅であり、アドレスフェーズとそれに後続する1以上のデータフェーズとから構成される。
【0020】
PCIバスのメモリ書込み動作は、(b)書込みコマンド、に示すように、PCIバス上のトラフィックとして最低2サイクルで終了する。これは、全てのデバイスがコマンドの対象が自分あるかどうかに関わらず、コマンドをとりあえず取り込み、その後に解析を実施することが可能となるため、バスの占有率は2バスサイクルで良い。つまり突き放し制御が可能であるからである。
【0021】
これに対して、PCIバスのメモリ読出し動作は、読出しの起動アドレスが自分宛かどうかを判断した後、該当空間への読出しを実行し、そのデータをバスに出力する必要があるため、1アドレス読出しでも4バスサイクル以上かかる。
【0022】
なお、図18は、データ転送のデータブロックがシングルの場合を示すが、データブロックがバーストの場合は、アドレスフェーズに続くデータフェーズが複数ブロック連続する。
【0023】
【発明が解決しようとする課題】
以上の従来技術によれば、CPU1がディスクリプタの制御を実行するための部分が実際のデータ転送に対してオーバヘッドとなる。また、PCIバスの読出しアクセスでは多量なバス占有時間を必要とするために、ディスクリプタ制御のみで正確な優先制御(レート制御)を実施するのは不可能である。またバス帯域を確保するためにバースト転送が必須となるため、通信制御部41 〜44 で大量のバッファメモリとバッファリング後の送出タイマーを必要となる。更に、CPU1が管理しているディスクリプタによってDMA(Direct Memory Access)を実行しており、その空き管理が行えるのはCPU1のみであるため、高性能なCPU1を必要とするとともに、管理のためのバス帯域使用により構成できる回線容量が低くなる。
【0024】
この発明は、ディスクリプタ制御でない転送方式を実現することによって、交換容量当たりの単価を小さくするとともに、交換容量の拡張と交換装置全体の二重化が容易に実現できるPCIバスによるデータ交換方法及び装置を提供することを課題とする。
【0025】
【課題を解決するための手段】
上記課題を解決させるための第1の発明は、中央処理装置、記憶装置及び入出力装置が接続しているペリフェラル・コンポーネント・インターコネクト・バス(Peripheral Component Interconnect Bus ;PCIバス)に対して、データの送受信を行う通信制御部及びデータの交換を行うデータ交換部が付随するデータ交換装置において、装置の初期設定として、コネクション設置/レート設定を元に前記中央処理装置は、前記データ交換部および前記各通信制御部に対し、前記PCIバス上の各デバイスのアドレッシングを決定するコンフィグレーション空間アドレス設定を行い、或る前記通信制御部が、外線から他の前記通信制御部とのコネクションのデータを受信すると、該データを前記PCIバスのメモリ・アクセス・コマンドを用いて前記データ交換部へ転送し、前記データ交換部は或る前記通信制御部からのデータをコネクション先の前記通信制御部(1又は複数台)へメモリ・アクセス・コマンドを用いて転送し、コネクション先の前記通信制御部は転送されたデータを速度変換し、外部回線に出力を行う。
【0026】
この第1の発明によれば、PCIバスコマンドを1回のアクセスで複数の相手にコマンドを発行することができ、コネクションの種類(1対1、1対n)を意識せずに管理できるPCIバスによるデータ交換方法を提供できる。
【0027】
第2の発明は、上記第1の発明において、前記通信制御部のデータ転送は書込みコマンドで実行される。
【0028】
この第2の発明によれば、PCIバスのオーバヘッド(無駄時間)を最小化できることにより交換容量あたりの単価を低減するPCIバスによるデータ交換方法を提供できる。
【0029】
第3の発明は、上記第1の発明において、前記コンフィグレーション空間アドレス設定は、データバッファのアドレッシングを論理アドレスと物理アドレスに分離する。
【0030】
この第3の発明によれば、アドレス分離によりメモリ量を低減化できることにより交換容量あたりの単価を低減でき、且つ制御が簡単になるため拡張が容易なPCIバスによるデータ交換方法を提供できる。
【0031】
第4の発明は、上記第3の発明において、前記アドレッシングにより受信データの優先/非優先制御を行う。
【0032】
この第4の発明によれば、優先制御回路が簡単になるとともに交換容量当たりの単価を低減でき、且つ制御が簡単になるため拡張が容易なPCIバスによるデータ交換方法を提供できる。
【0033】
第5の発明は、更に、前記PCIバス経由で拡張される前記通信制御部及び前記データ交換部を設け、拡張された前記通信制御部及び前記データ交換部との情報転送の橋渡しを行うブリッジを設けるとともに、前記通信制御部から一旦前記ブリッジへデータ転送し、更に前記ブリッジを通して他のPCIバスのデータ交換部にデータ転送するデータ転送領域を設けている。
【0034】
この第5の発明によれば、交換容量の拡張が容易に実現できるPCIバスによるデータ交換装置を提供できる。
第6の発明は、上記第5の発明において、前記ブリッジは、前記通信制御部及び前記データ交換部のバッファメモリ、バス制御部及び制御用メモリとが同一アーキテクチャーで構成される。
この第6の発明によれば、同一アークテクチャーで交換容量の拡張が容易に実現できるPCIバスによるデータ交換装置を提供できる。
【0035】
【発明の実施の形態】
以下、本発明の実施の形態について、図を参照しながら説明する。
【0036】
なお、全図を通じて理解を容易とするために同様箇所には、同一符号を付して示すものとする。
【0037】
図1は、本発明の一実施形態におけるPCIバスを使用したデータ交換装置の構成図である。同図において、1は通信の設定・管理を行う中央処理装置(CPU)、2はCPU1のプログラム・データを蓄えるメモリ、3はマンマシンインタフェースである入出力装置(I/O)、41 〜44 は外部回線と実際に通信を行う通信制御部、5はデータ交換を行うデータ交換部、を示している。その構成は中央処理装置(CPU)1、メモリ2および入出力装置(I/O)3が接続しているPCIバスに対して、データの送受信を行う通信制御部41 〜44 およびデータ交換を行うデータ交換部5が付随している。
【0038】
PCIバスはアドレス/データの多重バスであり、その読出し及び書込みは図18で前述したようなコマンドの形態をとる。データの転送に関してはシングルアクセスとバーストアクセスを許容しているが、図18ではシングルアクセスの場合を示している。
【0039】
また、PCIバス上の各デバイスのアクセスするための物理アドレスのアドレッシングは、自由に変更できるようになっている。これは各デバイスのアドレッシングなどを決定するコンフィグレーション空間というものが存在しており、その空間の中に動作参照アドレッシング情報が存在しているからである。
【0040】
更に、各デバイスのコンフィグレーション空間に対してアクセスするためにはアクセスされる対象デバイスを一意に決定するための信号であるIDSEL(Initialization Device Select)信号によって、対象デバイスを特定し、アクセスを実行する。この特殊アクセスサイクルをPCIコンフィグレーションサイクルと呼ぶ。PCIバスに接続される各周辺デバイスにはそのデバイスの特性種類、動作などを設定するためのコンフィグレーションレジスタが用意されており、コンフィグレーションサイクルは、このコンフィグレーションレジスタをアクセスするために使用され、PCIバスに接続される各周辺デバイスの動作環境を設定するために使用される。
【0041】
また、上記コンフィグレーション空間は、PCIバス上に接続されたバスのスレーブ(アクセスされる側)ごとに独立して存在しており、一つのスレーブデバイスに対して複数のアドレスに応答するようにしたり、同一のアドレスを複数のスレーブデバイスに割り当てることも可能である。この同一アドレスを複数のスレーブアドレスに割り当てると、PCIバスコマンドを1回のアクセスで複数の相手にコマンドを発行することができる。この機能を利用することにより、本発明では装置のバッファメモリからマルチキャストデータを転送することができる。つまり、複数の通信制御部のPCIバス制御部に同一のアドレスで動作するようにアドレス登録を行い、該当のデバイス群へのマルチキャストの場合にはそのアドレスへの書込みコマンドを実行すれば良い。これは1つのPCIのアドレスが1コネクションという形で管理できるため、コネクションの種類(1対1、1対n)を意識せずに管理できるというメリットがある。
【0042】
図2は、本発明の一実施形態であるデータ交換の方法を説明するタイムチャートである。同図では通信制御部が複数存在するイメージとしているが、説明を簡単にするために特定の2つの通信制御部Aと通信制御部Bの通信をメインに説明する。
(動作1)
先ず装置の初期設定として、コネクション設定/レート設定を元にCPUより交換部、通信制御部A,B,その他に対してPCIコンフィグレーションにより初期設定を実行する。この初期設定が終わった後、通信が可能となる。
【0043】
この初期設定においては、全て書込みコマンドのみにより実行する。
(動作2)
次に外線からの受信により、通信制御部Aへの通信制御部Bとのコネクションのデータが到着すると、通信制御部Aは交換部へそのデータをPCIバスの書込みアクセスを用いて転送する。図2ではそのデータが2アクセス分到着したことを意味する。
(動作3)
次に交換部は、通信制御部Aから書込みされたデータをレートコントロール用の転送タイマーに従って、一定間隔で通信制御部Bへ書込みアクセスを行う。通信制御部Bは書込みされたデータを速度変換し、外部回線に出力を行う。
【0044】
ここで重要なことは、転送データは交換部、通信制御部A,Bにおいて全て書込みコマンドにて実施し、読取りコマンドは全く使用しないことにある。これにより、本発明による1対1接続コネクションの動作が完了する。その結果、全てのデバイスがコマンドの対象が自分であるかどうかに関わらず、コマンドをとりあえず取り込み、その後に解析を実施することが可能となるため、バスの占有率は2バスサイクルで良くなり、バスのオーバヘッドが最小となる。
【0045】
図3は、本発明の一実施形態である通信制御部の構成図である。同図において、11は実際の外部と接続する物理インタフェース制御部、12は速度吸収を行うバッファメモリ、13はPCIバスのプロトコルを理解するバス制御部、14はバス制御部13の制御内容を格納する制御用メモリである。
【0046】
外部からデータが入力された時(受信時)は、入力データは物理インタフェース制御部11からバッファメモリ12に一旦データを蓄積する。このときデータのヘッダ部に記されている宛先よりコネクションを判別することができるため、バス制御部13は、この情報を元に制御用メモリ14内の情報と照らし合わせて、データ交換部のバッファメモリ23のどの部分に書込みアクセスを実行するかを決定する。バス制御部13は交換部へPCIバス使用許可を得るためにバス要求を行い、許可されると書込みアクセスを実行する。逆に送信時には、交換部からバッファメモリ12に送信データが書込まれ、物理インタフェース制御部11で速度変換され外部回線に出力される。
【0047】
図4は、本発明の一実施形態であるデータ交換部の構成図である。同図において、21はデータ交換部からの書込みアクセスの間隔を制御し、レート制御を行うデータ転送スケジューラー部、22はバッファメモリ23を制御するメモリ制御部、23はデータを蓄積するバッファメモリ、24はPCIバスのプロトコルを理解するバス制御部、25はバス制御部の制御内容を格納する制御用メモリ、26はPCIバスの使用許可を制御するバスアービトレーション部である。
【0048】
次にPCIバス上の動作および交換部のバッファメモリ23とメモリ制御部22の動作を説明する。例として、図1の構成で、通信制御部Aから通信制御部B方向へのコネクション(コネクション1)、通信制御部Bから通信制御部A方向へのコネクション(コネクション2)、通信制御部Cから通信制御部D方向へのコネクション(コネクション3)、通信制御部Dから通信制御部C方向へのコネクション(コネクション4)、通信制御部Cから通信制御部A方向へのコネクション(コネクション5)、通信制御部Dから通信制御部A方向へのコネクション(コネクション6)及び通信制御部Aから通信制御部B,C,D3つへのマルチキャストのコネクション(コネクション7)があるとする。
【0049】
上記前提でのデータ交換部のメモリ管理イメージが図5である。
【0050】
図5は、本発明の一実施形態である交換部のバッファメモリ管理の説明図である。同図に示すとおり、コネクション1は論理アドレスとして0x00000000番地が割り当てられている。これは通信制御部Aが外部回線よりデータを受信した時に、そのデータのコネクションが通信制御部Bであった時には0x00000000番地に書込み動作を行うことを意味している。同様に、コネクション2は0x00001000番地に、コネクション3は0x00002000番地に書込み動作を行うことになる。またバッファメモリの物理アドレスは図5の左側の値であり、コネクション1には、0x00000000〜0x01ffffffまでの32Mbyteが割当てられている。
【0051】
図6は、本発明の一実施形態であるPCIバス上のメモリマップである。同図に示すとおり、コネクション1〜コネクション7はPCIバス上の論理アドレス0x00000000〜0x00006000の番地に書込みアクセスを実行することにより、対象の通信制御部からデータ交換部へ一旦データ転送され、更にPCIバスの論理アドレス0x09000000〜0x09004000の番地に書込みアクセスを実行することにより、データ交換部から送信先の通信制御部へデータ転送される。
【0052】
データ交換部および通信制御部のバッファメモリは、FIFO(First In First Out)であり、書込みコマンドが自分に該当するアドレスであれば、メモリに書込みアドレスを自分でインクリメントし、リングバッファイメージで制御される。
【0053】
なお、論理アドレス0x01000000はCPU用メモリとして使用されるメモリ領域であり、論理アドレス0x08000000はCPU用I/Oとして使用されるメモリ領域である。
【0054】
図7は、本発明の一実施形態における流入規制の説明図である。同図において、バッファメモリ23、12のバッファ容量に2段階の閾値を設け、1次規制の閾値までは全てのデータを受け入れる。また一次規制の閾値を越えると入ってくるデータの優先度によって、優先のもののみ残していく。また2次規制の閾値を越えた場合には全て捨てるという方法である。
【0055】
この構成であればコネクション単位にバッファが分かれているため、コネクション単位に閾値を設定することによって、他のコネクションに影響を与えず流入規制を容易に行うことができる。
【0056】
図8は、本発明の一実施形態における出力規制の説明図である。同図において、(a)は出力規制を行うデータ交換部のブロック図、(b)は出力規制に伴う出力起動の例を示す。
【0057】
データ転送スケジューラ部21はコネクション毎の出力レートに合わせて出力タイミングを与えるものである。つまり、本発明の一実施形態ではPCIバスの1アクセスの単位が2バスサイクルでPCI基準クロックが66MHz,バス幅が64bitとすると、最大転送能力は66÷2×64=2112Mbpsの転送能力が有る。そのうち155Mbpsの転送を行おうとすると、約13.6回に1回転送すれば良いことになる。このようなスケジューラーを構成する場合にはカウンタ及びそのカウンタ値を元に蓄積情報を読出し、その蓄積情報より出力コネクションを選び出し、出力機会を与える。そのカウンタの1周する値によってレートの分解能が決定される。
【0058】
またこのスケジューラーの情報と合わせてアービターの優先順位を変更することにより、スムーズな出力規制が行われる。つまり、流入/流出規制によってメモリリソースの使用効率が向上し、余分なバッファを持つ必要が無くなる。また、物理回線速度およびコネクション数は有限である為、回線容量が決まっていれば、必要とするメモリ容量は変更されない。
【0059】
更に、流入規制が必要でなければ、データ交換部5を経由せずに通信制御部41 〜44 間のコネクションを確立したり、CPU1からの制御データ通信が通信制御部41 〜44 間への書込みアクセスで実行できるメリットがある。また、CPU1向けのデータ(例えば、シグナリング関係の信号)についても通信制御部41 〜44 で受信した後、CPU1のメモリアドレスがダイレクトマッピングされているため、他のデータ受信と同じように該当アドレスを指定して書込みアクセスするように設定しておけば、探索する必要がなく制御を行うことができる。
【0060】
図9は、本発明の一実施形態における拡張されたデータ交換装置の構成図である。同図において、ブリッジ6は、PCIバス経由で拡張されたデータ交換部5’および通信制御部41 ’〜48 ’との情報転送の橋渡しをするものである。
【0061】
図10は、図9で示されるブリッジ6の構成図である。同図に示すように、ブリッジ6はメモリ制御部41A,41Bとバッファメモリ42A,42Bとバス制御部43A,43B及び制御用メモリ44A,44Bの4ブロックを二組持った形で構成される。
【0062】
図11は、図9で示されるブリッジ6により拡張されたPCIバス上のメモリマップである。ブリッジ6を使用した場合には、同図に示されるように、PCIバスの論理アドレス0x10000000にて通信制御部41 〜48 又は41 ’〜48 ’から一旦ブリッジ6へデータ転送され、更にPCIバスの論理アドレス0x20000000にてブリッジ6を通して他のPCIバスのデータ交換部5’又は5へデータ転送し、そのデータ交換部5’又は5より該当の通信制御部41 ’〜48 ’又は41 〜48 にデータ転送される。
【0063】
よって、ブリッジ6を使用して拡張を行った場合でも、図11に示されるように、通信制御部からブリッジへのコネクションイメージのアドレス空間とブリッジからデータ交換部へのコネクションイメージのアドレス空間が追加された形にしか見えていない。つまりブリッジで拡張されていることを意識する必要がなく拡張を行うことができる。またブリッジで拡張を行う場合には、ブリッジを通過するデータ容量に合わせてブリッジに必要なバッファメモリの容量が決定される。それは通信制御部の構成およびネットワーク設計により決定される。
【0064】
図12は、本発明の一実施形態における更に拡張されたデータ交換装置の構成図である。同図に示されるように、(CPU・メモリ・I/O)7−1〜7−4、通信制御部群4−1〜4−4及びデータ交換部5−1〜5−4から成る4組のデータ交換装置は、そのPCIバス上に設けられたブリッジ6−1〜6−3を介して更に拡張することができる。このように、データ交換機の複数の組を縦列方向にブリッジを介して接続して行けば、同一アーキテクチャーで交換容量の拡張が容易に実現できる。
【0065】
図13は、本発明の一実施形態における二重化されたデータ交換装置の構成図である。同図に示すように、CPU1,1’、メモリ2,2’、I/O3,3’、通信制御部4,4’、データ交換部5,5’及びPCIバスからなるデータ交換装置全体は二重化されており、ブリッジ6はこの二重化されたPCIバスと接続される。更に、通信制御部A〜Hと通信制御部A’〜H’は切り替え装置8を通してそれぞれ同一の回線に接続されている。
【0066】
以上の構成において、全ての二重化装置の設定を同じにすれば、内部で二つが同時に同期して動作する為、外部インタフェースからの有効なデータ入出力が発生していない場合には瞬時切り替え可能な二重化システムになる。
(付記1) 中央処理装置、記憶装置及び入出力装置が接続しているペリフェラル・コンポーネント・インターコネクト・バス(Peripheral Component Interconnect Bus ;PCIバス)に対して、データの送受信を行う通信制御部及びデータの交換を行うデータ交換部が付随するデータ交換装置において、
装置の初期設定として、コネクション設置/レート設定を元に前記中央処理装置は、前記データ交換部および前記各通信制御部に対し、前記PCIバス上の各デバイスのアドレッシングを決定するコンフィグレーション空間アドレス設定を行い、
或る前記通信制御部が、外線から他の前記通信制御部とのコネクションのデータを受信すると、該データを前記PCIバスのメモリ・アクセス・コマンドを用いて前記データ交換部へ転送し、
前記データ交換部は或る前記通信制御部からのデータをコネクション先の前記通信制御部(1又は複数台)へメモリ・アクセス・コマンドを用いて転送する。コネクション先の前記通信制御部は転送されたデータを速度変換し、外部回線に出力を行うことを特徴とするPCIバスによるデータ交換方法。
(付記2) 付記1に記載のPCIバスを使用したデータ交換方法において、前記通信制御部のデータ転送は書込みコマンドで実行されることを特徴とするPCIバスによるデータ交換方法。
(付記3) 付記1に記載のPCIバスを使用したデータ交換方法において、前記データ交換部は或る前記通信制御部からのデータをコネクション先の前記通信制御部へメモリ・アクセス・コマンドを用いて転送するに先立ち、該データをレート制御用の転送タイマーにより一定間隔で出力することを特徴とするPCIバスによるデータ交換方法。
(付記4) 付記1に記載のPCIバスを使用したデータ交換方法において、前記コンフィグレーション空間アドレス設定は、データバッファのアドレッシングを論理アドレスと物理アドレスに分離することを特徴とするPCIバスによるデータ交換方法。
(付記5) 付記4に記載のPCIバスを使用したデータ交換方法において、前記アドレッシングにより受信データの優先/非優先制御を行うことを特徴とするPCIバスによるデータ交換方法。
(付記6) 付記4に記載のPCIバスを使用したデータ交換方法において、前記アドレッシングによりコネクション毎のバッファメモリ管理を行うことを特徴とするPCIバスによるデータ交換方法。
(付記7) 付記4に記載のPCIバスを使用したデータ交換方法において、前記アドレッシングにより中央処理装置向けのデータを固定アドレスに割り当て、CPU向けデータを他のデータと分離して管理することを特徴とするPCIバスによるデータ交換方法。
(付記8) 中央処理装置、記憶装置及び入出力装置が接続しているペリフェラル・コンポーネント・インターコネクト・バス(Peripheral Component Interconnect Bus ;PCIバス)に対して、データの送受信を行う通信制御部及びデータの交換を行うデータ交換部が付随するデータ交換装置において、
同一アーキテクチャーで構成される前記通信制御部及びデータ交換部の拡張を行う前記PCIバスのブリッジ機能を有するブリッジを設けたことを特徴とするPCIバスによるデータ交換装置。
(付記9) 付記8に記載のPCIバスによるデータ交換装置において、装置全体を同一アーキテクチャによる二重化構成とし、二重化された前記通信制御部は切り替え装置を経由して同一の外部回線に接続し、且つPCIバスのブリッジ機能を有するブリッジを設けたことを特徴とするPCIバスによるデータ交換装置。
【0067】
【発明の効果】
以上、詳細に説明した如く本発明のPCIバスによるデータ交換方法及びその装置は、ディスクリプタ制御でない転送制御を実現することによって、PCIバスコマンドを1回のアクセスで複数の相手にコマンドを発行することができ、コネクションの種類(一対1、1対n)を意識せずに管理できる効果がある。
【0068】
また、PCIバスのオーバヘッド(無駄時間)を最小化できるとともに、アドレス分離によりメモリ量を低減化できることにより交換容量あたりの単価を小さくできる。
【0069】
更に、コンフィグレーション(アドレス空間の設定)によるデータバッファのアドレッシングにより優先制御、交換容量の拡張および交換装置全体の二重化を容易に構成できる。
【図面の簡単な説明】
【図1】本発明の一実施形態におけるPCIバスを使用したデータ交換装置の構成図である。
【図2】本発明の一実施形態におけるデータ交換方法を説明するタイムチャートである。
【図3】本発明の一実施形態における通信制御部の構成図である。
【図4】本発明の一実施形態におけるデータ交換部の構成図である。
【図5】本発明の一実施形態におけるデータ交換部のバッファメモリ管理の説明図である。
【図6】本発明の一実施形態におけるPCIバス上のメモリマップである。
【図7】本発明の一実施形態における流入規制の説明図である。
【図8】本発明の一実施形態における出力規制の説明図である。
【図9】本発明の一実施形態における拡張されたデータ交換装置の構成図である。
【図10】図9で示されるブリッジの構成図である。
【図11】本発明の一実施形態におけるブリッジで拡張されたPCIバス上のメモリマップである。
【図12】本発明の一実施形態における更に拡張されたデータ交換装置の構成図である。
【図13】本発明の一実施形態における二重化されたデータ交換装置の構成図である。
【図14】PCIバスを使用した従来技術によるデータ交換装置の構成図である。
【図15】従来の技術による通信制御部の構成図である。
【図16】従来技術によるディスクリプタの構成図である。
【図17】従来技術のディスクリプタによるデータ転送の説明図である。
【図18】PCIバスのメモリ読出し及び書込みアクセスのタイムチャートである。
【符号の説明】
1 中央処理装置(CPU)
2 メモリ
3 入出力装置(I/O)
1 〜48 ,41 ’〜48 ’,4−1〜4ー4 通信制御部
5,5’、5−1〜5−4 データ交換部
6,6−1〜6ー3 ブリッジ
7−1〜7ー4 CPU・メモリ・I/O
8 切り替え装置
9 バッファメモリ
11 物理インタフェース制御部
12 バッファメモリ
13 バス制御部
14 制御用メモリ
15 転送制御部
21 データ転送スケジューラー部
22 メモリ制御部
23 バッファメモリ
24 バス制御部
25 制御用メモリ
26 バスアービトレーション部
31 メインカウンタ
32 規制情報制御部
41A,41B メモリ制御部
42A,42B バッファメモリ
43A,43B バス制御部
44A,44B 制御用メモリ
51 転送元アドレス
52 転送先アドレス
53 転送バイト数
54 次ディスクリプタアドレス
55 転送元識別子
56 チェイン情報・ディスクリプタ・エラー情報
57 エラーアドレス
58 エラーデータ

Claims (6)

  1. 中央処理装置、記憶装置及び入出力装置が接続しているペリフェラル・コンポーネント・インターコネクト・バス(Peripheral Component Interconnect Bus ;PCIバス)に対して、データの送受信を行う通信制御部及びデータの交換を行うデータ交換部が付随するデータ交換装置において、
    装置の初期設定として、コネクション設置/レート設定を元に前記中央処理装置は、前記データ交換部および前記各通信制御部に対し、前記PCIバス上の各デバイスのアドレッシングを決定するコンフィグレーション空間アドレス設定を行い、
    或る前記通信制御部が、外線から他の前記通信制御部とのコネクションのデータを受信すると、該データを前記PCIバスのメモリ・アクセス・コマンドを用いて前記データ交換部へ転送し、
    前記データ交換部は或る前記通信制御部からのデータをコネクション先の前記通信制御部(1又は複数台)へメモリ・アクセス・コマンドを用いて転送し、
    コネクション先の前記通信制御部は転送されたデータを速度変換し、外部回線に出力を行うことを特徴とするPCIバスによるデータ交換方法。
  2. 請求項1に記載のPCIバスを使用したデータ交換方法において、 前記通信制御部のデータ転送は書込みコマンドで実行されることを特徴とするPCIバスによるデータ交換方法。
  3. 請求項1に記載のPCIバスを使用したデータ交換方法において、
    前記コンフィグレーション空間アドレス設定は、データバッファのアドレッシングを論理アドレスと物理アドレスに分離することを特徴とするPCIバスによるデータ交換方法。
  4. 請求項3に記載のPCIバスを使用したデータ交換方法において、
    前記アドレッシングにより受信データの優先/非優先制御を行うことを特徴とするPCIバスによるデータ交換方法。
  5. 中央処理装置、記憶装置及び入出力装置が接続しているペリフェラル・コンポーネント・インターコネクト・バス(Peripheral Component Interconnect Bus ;PCIバス)に対して、データの送受信を行う通信制御部及びデータの交換を行うデータ交換部が付随するデータ交換装置において、
    更に、前記PCIバス経由で拡張される前記通信制御部及び前記データ交換部を設け、拡張された前記通信制御部及び前記データ交換部との情報転送の橋渡しを行うブリッジを設けるとともに、前記通信制御部から一旦前記ブリッジへデータ転送し、更に前記ブリッジを通して他のPCIバスのデータ交換部にデータ転送するデータ転送領域を設けることを特徴とするPCIバスによるデータ交換装置。
  6. 請求項5に記載のPCIバスによるデータ交換装置において、
    前記ブリッジは、前記通信制御部及び前記データ交換部のバッファメモリ、バス制御部及び制御用メモリとが同一アーキテクチャーで構成されることを特徴とするPCIバスによるデータ交換装置。
JP2000243138A 2000-08-10 2000-08-10 Pciバスによるデータ交換方法及び装置 Expired - Fee Related JP3903699B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000243138A JP3903699B2 (ja) 2000-08-10 2000-08-10 Pciバスによるデータ交換方法及び装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000243138A JP3903699B2 (ja) 2000-08-10 2000-08-10 Pciバスによるデータ交換方法及び装置

Publications (2)

Publication Number Publication Date
JP2002055939A JP2002055939A (ja) 2002-02-20
JP3903699B2 true JP3903699B2 (ja) 2007-04-11

Family

ID=18734047

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000243138A Expired - Fee Related JP3903699B2 (ja) 2000-08-10 2000-08-10 Pciバスによるデータ交換方法及び装置

Country Status (1)

Country Link
JP (1) JP3903699B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5196560B2 (ja) * 2008-10-30 2013-05-15 岩崎通信機株式会社 パケット中継装置及びパケット中継制御方法
FR2953308B1 (fr) * 2009-12-01 2011-12-09 Bull Sas Systeme autorisant des transferts directs de donnees entre des memoires de plusieurs elements de ce systeme

Also Published As

Publication number Publication date
JP2002055939A (ja) 2002-02-20

Similar Documents

Publication Publication Date Title
US6581130B1 (en) Dynamic remapping of address registers for address translation between multiple busses
KR101077900B1 (ko) 네트워크 효율성을 고려한 SoC 기반 시스템 네트워크에서의 인터페이스 장치의 통신방법 및 그에 의해 통신하는 인터페이스 장치
RU2157000C2 (ru) Архитектура процессора ввода-вывода, который объединяет мост межсоединения первичных компонент
US7401126B2 (en) Transaction switch and network interface adapter incorporating same
US6119196A (en) System having multiple arbitrating levels for arbitrating access to a shared memory by network ports operating at different data rates
EP1047994B1 (en) Intelligent data bus interface using multi-port memory
US6035360A (en) Multi-port SRAM access control using time division multiplexed arbitration
CN105260331B (zh) 一种双总线内存控制器
US5515523A (en) Method and apparatus for arbitrating conflicts by monitoring number of access requests per unit of time in multiport memory systems
US6487628B1 (en) Peripheral component interface with multiple data channels and reduced latency over a system area network
KR100814904B1 (ko) 칩 내부 회로 간의 데이터 전송을 위한 통신 시스템
US9471521B2 (en) Communication system for interfacing a plurality of transmission circuits with an interconnection network, and corresponding integrated circuit
US8612713B2 (en) Memory switching control apparatus using open serial interface, operating method thereof, and data storage device therefor
JP6899852B2 (ja) ストレージ装置
JPH0426740B2 (ja)
JPH10507023A (ja) 共用メモリシステム
US20020174165A1 (en) Cluster system, computer and program
KR20120040535A (ko) 버스 시스템 및 그것의 동작 방법
JP2003084919A (ja) ディスクアレイ装置の制御方法およびディスクアレイ装置
JP3125739B2 (ja) バススイッチ
JP3903699B2 (ja) Pciバスによるデータ交換方法及び装置
KR101197294B1 (ko) QoS 및 전송 효율 개선을 위한 SoC 기반 시스템 네트워크에서의 인터페이스 장치의 통신방법
US7313146B2 (en) Transparent data format within host device supporting differing transaction types
CN111045974A (zh) 一种基于交换结构的多处理器数据交互方法
KR100581196B1 (ko) 다중 채널을 제공하는 에스오씨 버스 구조

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20010110

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040324

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060907

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060926

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061121

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070101

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110119

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110119

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120119

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130119

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130119

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140119

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees