JP3631950B2 - 通信装置 - Google Patents
通信装置 Download PDFInfo
- Publication number
- JP3631950B2 JP3631950B2 JP2000257548A JP2000257548A JP3631950B2 JP 3631950 B2 JP3631950 B2 JP 3631950B2 JP 2000257548 A JP2000257548 A JP 2000257548A JP 2000257548 A JP2000257548 A JP 2000257548A JP 3631950 B2 JP3631950 B2 JP 3631950B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- data
- buffer pointer
- unit
- transmitted
- 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)
- Data Exchanges In Wide-Area Networks (AREA)
Description
【発明の属する技術分野】
本発明は、例えばシリアルクロスポイント通信に用いて好適な、通信装置に関する。
【0002】
【従来の技術】
高速かつ大容量のルーティング技術等における信号処理の手法は、一般的に、その主信号自身を装置の内部に取り込むように処理されている。図25は通信システムを概略的に示す構成図であり、この図25に示す通信システム700は、データを送受信するシステムであって、16のデータ送受信装置(#0)700a〜データ送受信装置(#15)700eと、ルーティング装置710とをそなえて構成され、データ送受信装置700a〜700eのそれぞれは、送信すべきデータを送受信するようになっている。
【0003】
図26は通信装置の概略的な構成図である。この図26に示す通信装置500は、送信装置500aと、受信装置500b〜500dとを有する。そして、送信装置500aは、これらの受信装置500b〜500dが送信した主信号を受信した場合、その主信号についてのフォーマット等を変更し、その変更した主信号をそのまま送信する。また、送信装置500aは、主信号を受信した場合、その主信号に対応した読み出し信号を出力するようになっている。これにより、一連の通信が行なわれる。
【0004】
図27は通信装置の送受信シーケンスを示す図であって、この図27に示すシーケンスは、送信装置500aと受信装置500bとの間で送受信されるものである。以下、送信装置500aを送信側と称し、受信装置500bを受信側と称して説明する。ここで、図27に示すA,Bと付したものは、それぞれ、お互いの相手方通信装置を表し以下、相手方と称する。α,βと付したものは、それぞれ、送信すべきデータを表す。なお、送信装置500aと受信装置500c又は500dとの間におけるシーケンスについても、同様である。
【0005】
まず、送信側が相手方Aに対して接続要求を送信し(ステップ▲1▼)、受信側がAと接続できる接続許可を送信してから(ステップ▲2▼)、送信側が本来送信すべきデータαを受信側に対して送信する(ステップ▲3▼)。その後、送信が完了すると、送信側は、相手方Aに対して接続断要求を送信し(ステップ▲4▼)、一連の動作が終了する。また、異なる宛先や同一宛先に再度接続する場合も、同様に、送信側は、相手方Bに対して接続要求を送信し(ステップ▲5▼)、受信側がBと接続できる接続許可を送信してから(ステップ▲6▼)、送信側がデータβを受信側に対して送信し(ステップ▲7▼)、送信完了により送信側は相手方Bに対して接続断要求を送信する(ステップ▲8▼)。
【0006】
ここで、同一の宛先に対して再送する場合には、これらの手順が繰り返されるので、その手間が煩雑となる。さらに、同時に複数の宛先に対して送信要求を送信できるようにはなっていないので、宛先の数に応じた手順が必要となる。
次に、上記通信装置500が送受信するフレームについて説明する。通信装置500は、送信すべきデータを複数のフレームに分割し、そのフレーム単位で送信するようになっている。すなわち、この通信装置500は、フレーム単位でのみ、データを取り扱えるのである。
【0007】
図28はフレーム分割されたデータの送信について説明するための図であり、この図28に示す制御信号は、例えば’H’のときに、送信側はそのフレームの送信を停止するようになっている。
図29は通信装置500をより詳細に示したブロック図である。この図29に示す送信装置500aは、FIFOメモリ501bと、FIFO書き込み部501aと、FIFO読み出し部501cと、一致検出部501dと、送信宛先部(送信宛先)501eと、受信宛先部(受信宛先)501fとをそなえて構成されている。
【0008】
ここで、FIFOメモリ501bは、データを保持しうるものであり、このFIFOメモリ501bを設けることにより、読み出し信号を受信した後で、主信号を送信する前に、FIFO書き込み部501aが別の主信号を受信した場合でも、その受信した別の主信号を保持することができ、また、主信号が保護されるようになっている。
【0009】
FIFO書き込み部501aは、FIFOメモリ501bにデータを書き込むものであり、また、FIFO読み出し部501cは、FIFOメモリ501bからデータを読み出すものである。そして、送信宛先部501eは、送信すべきデータに、宛先を付与して受信装置500bに対して送信するとともに、送信した宛先の送信履歴を保持しうるものであり、受信宛先部501fは、受信装置500bから送信されたデータを受信するものであり、一致検出部501dは、送信宛先部501eに保持された送信宛先と、受信宛先部501fにて受信された宛先とを比較して、一致しているか否かを検出しうるものである。
【0010】
これにより、送信宛先部501eが、FIFO読み出し部501cにより読み出された信号に基づき主信号を送信する。
そして、次々に到来する元の主信号(大本の主信号)に対して、送信装置500aは、読み出しタイミングの時間的なずれを利用して、主信号の破損を防止するが、送信装置500aが、その手法を用いた場合には、返信信号(以下、ACKと称する)に含まれる、宛先に対応した元の主信号を読み出す必要がある。
【0011】
ところで、後続して到来する別の元の主信号は、シリアルに次々とFIFOメモリ501b等の記憶装置に蓄積されていくため、受信データを処理するに際して、その受信データの読み飛ばし等はできない。
図29に示す通信装置500が運用されているときに、送信装置500aは、接続要求(A接続要求)を受信装置500bに対して送信している。ここで、受信側が送信側に対して送信したデータは、伝送路のノイズ等により、ACKデータが変化することがある。そのため、送信側は、接続要求(A接続要求)に含まれる宛先と異なる宛先を含む接続応答(B接続許可)を受信することがある。
【0012】
次に、読み出し信号と主信号の送信とのタイミングを調整するためのバッファリングについて説明する。
図30は受信データの読み出しタイミングを説明するための図である。この図30に示す3段のデータは上から、バッファポインタ,書き込みカウンタ,送信すべきデータである。そして、例えばバッファポインタ値がAのときは、そのAに対応するアドレスに、送信すべきデータが書き込まれ、書き込まれる度に書き込みカウンタがインクリメントされる。
【0013】
また、図30に示すバッファポインタとして、無効なEが入力されると、このFIFOメモリにおける読み出しおよび書き込みの制御について、全てリセットされてしまう。このため、有効なバッファポインタC,Dまでもが、リセットされてしまい、非効率的である。さらに、リセットされないように回路が設計されても、書き込みカウンタが、無効なバッファポインタ分だけ、デクリメントする等の処理が増加するので回路が複雑化する。
【0014】
加えて、書き込み側と読み出し側とが独立してメモリへの読み書きを行なう装置は、一般的にFIFO構成を採用している。
図31はFIFOメモリの書き込みを説明するための図である。受信した元の主信号は、この図31に示すFIFO書き込み部501aによって、FIFOメモリ501bに書き込まれ、所定の読み出しタイミングにより、そのデータが読み出されるようになっている。
【0015】
さらに、図32は異なるクロックを有する回路を説明するための図である。この図32に示すFIFO書き込み部501aには、書き込みクロックWCLKと、ユーザが出力したデータとが入力され、また、FIFO読み出し部501cには、読み出しクロックRCLKが入力され、読み出されたデータが出力されるようになっている。また、書き込みカウンタ510aと、読み出しカウンタ510bとが、別々に設けられ、これらFIFO書き込み部501aとFIFO読み出し部501cとのそれぞれには、FIFO制御部520が接続されている。
【0016】
図33(a),(b)はいずれもカウント動作の概念図である。これらの図33(a),(b)にそれぞれ示すFIFOメモリ501bは、図33の左側が低アドレス値を有し、図33の右側が高アドレス値を有する。そして、書き込みカウンタ510aの値WCNTと読み出しカウンタ501bの値RCNTとは、それぞれ、絶対アドレスを示している。
【0017】
ここで、図33(a)に示すように、WCNTがRCNT以上のときと、図33(b)に示すように、WCNTがRCNTよりも小さいときとにおいて、それぞれ、処理の手法が異なる。
【0018】
【発明が解決しようとする課題】
しかしながら、図28においては、送信側が送信すべきデータを送信している間に、受信側がその送信すべきデータを受信処理できなくなった場合は、送信側は、データの送信ができなくなり、受信側が処理できるようになるまで待機しなければならない。また、通信装置は、フレーム単位による制御のみしか対応していないため送受信効率が非常に悪い。
【0019】
さらに、通信装置は、送信すべきデータの間に接続要求を優先的に割り込ませて送信することができない。加えて、送信すべきデータであるか否かについての判断が、特定の回路モジュールでしか行なわれず、やはり送受信効率が悪い。
また、図29において、特定のデータについてのみ、最優先で送信しなければならないときに、送信すべきデータに、優先度を付して送信することは困難である。
【0020】
そのうえ、送信装置500aは、送信履歴に基づく宛先と、送信された宛先とを比較するだけなので、異なる宛先が送信されると、送信側はその接続応答を受け付けない。加えて、送信側は、送信した宛先と受信した宛先との対応を記録しておらず、また、送信すべきデータが入力されると、送信装置500aがリセットされるようになっており、このため、やはり、効率が悪いという課題がある。
【0021】
また、図31において、FIFOメモリ501bに蓄積されるときに、FIFOメモリ501bは、異なる宛先を有する他のデータの全てと一緒に書き込まれる。このため、先入れ先出しを実現するためには、書き込み側と読み出し側との制御がいずれも非常に複雑となり、さらに、書き込まれているデータ容量の残量を算出するために、複雑な演算回路を設ける必要がある。すなわち、各宛先ごとにデータを管理すると、複雑な回路になるという課題がある。
【0022】
そして、図32において、書き込み側のクロックと読み出し側のクロックとが異なるので、そのクロック変換(クロック乗り換え)するための回路等が必要となり、回路規模が大きくなるという課題がある。
加えて、図33(a),(b)において、所望のフレーム長を有するデータを送受信する場合は、送信する可能性のあるフレーム長のうち最大の長さを有するフレームに対応するメモリやカウンタ等が必要となり、効率的に回路規模を設計できないという課題がある。
【0023】
本発明は、このような課題に鑑み創案されたもので、ルーティング技術において、接続相手の宛先ごとにバッファポインタを振り分けて管理し、また、通信装置の送信部分と方路に接続されたクロスコネクト装置との間にFIFOメモリを設けることにより、有効なバッファポインタの欠落を回避でき、回路構成の効率化が図れかつ最小化でき、また、スムーズな通信が行なえる通信装置を提供することを目的とする。
【0024】
【課題を解決するための手段】
このため、本発明の通信装置は、入力される接続要求に含まれる宛先情報に対応する複数の方路に対して送信すべきデータを保持しうるメモリと、メモリに接続され、送信すべきデータを複数のバイト単位に分割してメモリに書き込むとともに、送信すべきデータを書き込みしたアドレスの先頭部分を示すバッファポインタを接続可能な方路を示す方路情報ごとにメモリに書き込みうるメモリ書き込み制御部と、メモリとメモリ書き込み制御部とにそれぞれ接続され、メモリ書き込み制御部からバッファポインタを入力され、送信すべきデータとメモリ書き込み制御部からのバッファポインタに基づく接続要求とを、複数の方路側に出力するとともに、複数の方路側から出力された返答信号に含まれる方路情報に基づきメモリからバッファポインタを読み出し1対1通信のユニキャストと1対多通信のマルチキャストとを識別し、マルチキャストのバッファポインタが受信されると、マルチキャストのデータを優先して送信するメモリ読み出し制御部とをそなえて構成されたことを特徴としている(請求項1)。
【0025】
また、メモリ書き込み制御部は、同一の方路宛の他のバッファポインタをメモリに書き込むべく、方路情報ごとに複数のメモリ面を割り当てるように構成されてもよく(請求項2)、バッファポインタに有効/無効を示す情報を付すように構成されてもよい(請求項3)。
【0026】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を説明する。
(A)本発明の一実施形態の説明
図1は本発明の一実施形態に係る通信システムの模式図である。この図1に示す通信システム210は、データを送受信するシステムであって、16基のデータ送受信装置(#0)200a〜データ送受信装置(#15)200eと、クロスコネクト部880(以下、VSC880と称することがある)とをそなえて構成されている。これらのデータ送受信装置200a〜200eのそれぞれは、相互に送信すべきデータを送受信するものであり、VSC880は、16の方路(出方路)のそれぞれと接続され、入力される接続要求(CRQ:Connect Request)に含まれる宛先情報(以下、宛先コードと称することがある)に対応する16方路に対して送信すべきデータを出力するとともに、方路情報を出力するものである。これらの宛先コードと方路情報とは、いずれも接続する相手方の方路の値を意味する。また、接続要求とは、データに含まれるコード部分に書き込まれたものを意味する。
【0027】
すなわち、このVSC880は、16ポートのインターフェースを有し、各ポートは、それぞれ、後述するインターフェース部(VSC870、図2等参照)を介して、データ送受信装置200a〜200eのそれぞれと接続され、データが送受信されるようになっている。そして、VSC870からの接続要求に含まれる宛先ポートに対し、方路接続することにより、クロスポイントスイッチが実現されるようになっている。また、VSC880は、VSC870からのACK(返答信号)を受信することにより、VSC870に対するデータ送信を制御するようになっている。
【0028】
これにより、データ送受信装置200a〜200eのそれぞれにて、所定の宛先を付与されたデータが、VSC880を介して、相互に送受信されるようになっている。
図2は本発明の一実施形態に係るデータ送受信装置200aのブロック図であり、この図2に示すデータ送受信装置200aは、通信装置100とインターフェース部870(以下、VSC870と称することがある)とをそなえて構成されており、また、ユーザ端末60と接続されている。
【0029】
ここで、VSC870は、VSC880に接続され、VSC880に対して、宛先コードを含む接続要求とその宛先コードに対応するアドレスに保持されたメモリから送信フォーマットデータを出力するとともに、VSC880が出力した接続可能な宛先コードを付加されたACKを出力しうるものである。すなわち、VSC870は、トランシーバーの役目を担い、一連の通信を行なっている。
【0030】
また、VSC870は、送信フォーマットデータに関し、そのフォーマットチェックをし、VSC880の状態に基づいてアクセス調停を制御している。具体的には、VSC870は、ビットパターンにて表示されている接続要求に含まれる宛先情報とデータとをVSC880に送信する。このとき、VSC880が接続可能ならばデータ送信要求に対応するACKをVSC870に出力する。なお、このACKは、先頭にFトップビットと下位4ビットのバイナリコード(0−15)で示される接続ポート情報を表示したものである。
【0031】
さらに、図2に示す通信装置100は、VSC870に接続され、VSC870に対して送信すべきデータと接続要求とをシリアル通信路を介して送信しうるものである。この通信装置100は、VSC870からのACKを受信することにより、VSC870に対してデータ送受信の制御を行ない、ルータの一部として機能している。
【0032】
そして、ユーザ端末60(以下、単にユーザと称することがある)は、通信装置100に対して、送信すべきデータ等を出力するものである。
これにより、16の方路に対して、データに含まれる接続要求用のコード部分に、接続要求が書き込まれ(設定され)、その書き込まれたコード部分を有するデータが、VSC870に対して送信される。そして、送信フォーマットデータと接続要求とは、それぞれ、通信装置100から、VSC870に対してシリアル通信路にて送信され、さらに、VSC870にて、相手方のアドレスを含む接続要求がVSC880に対して出力され、VSC880にて、その相手方と接続されると、VSC880が出力したACKは、VSC870を介して、通信装置100に入力され、相手方が送信したACKがVSC870に対して出力されるのである。そして、通信が開始され、送信フォーマットデータが、VSC870から、VSC880に対して送信される。
【0033】
なお、図2に示すデータ送受信装置200b,200cと、図1に示すデータ送受信装置200d〜200eは、いずれも、データ送受信装置200aと同一なので、これらについての重複した説明を省略する。
以下、通信装置100について、図3から図24を参照して詳述する。
図3は本発明の一実施形態に係る通信装置100のブロック図である。この図3に示す通信装置100は、外部メモリ(メモリ)50と、外部メモリ書き込み制御部(メモリ書き込み制御部)30と、外部メモリ読み出し制御部(メモリ読み出し制御部)10とをそなえて構成されている。また、この通信装置100は、外部メモリ読み出し制御部10に接続され、送信すべきデータを複数に分割して保持し、先入れ先出し式の外部FIFO部(外部先入れ先出しメモリ)51をさらにそなえている。
【0034】
ここで、外部メモリ50は、入力される接続要求に含まれる宛先情報に対応する16方路に対して送信すべきデータを保持しうるものであり、RAM(Random Access Memory)等によりその機能が発揮される。
また、外部FIFO部51は、送信すべきデータにフレーム情報と接続要求とを付加した送信フォーマットデータを保持する先入れ先出し式のメモリであり、この機能は例えばバッファメモリにより実現される。この外部FIFO部51に書き込まれたデータは、VSC870に出力されるように管理されている。
【0035】
図4(a)は本発明の一実施形態に係る送信フレームデータを説明するための図であり、この図4(a)に示すフレームデータ(フレーム)が、クロック単位で、送信を制御されるようになる。
さらに、外部メモリ書き込み制御部30(図3参照)は、外部メモリ50に接続され、送信すべきデータを外部メモリ50に書き込むとともに、送信すべきデータを書き込みしたアドレスを示すバッファポインタを方路情報ごとに書き込みうるものである。
【0036】
そして、外部メモリ読み出し制御部10は、外部メモリ50と外部メモリ書き込み制御部30とにそれぞれ接続され、送信すべきデータと外部メモリ書き込み制御部30から出力されるバッファポインタに基づく接続要求とを、16の方路側に出力するとともに、16の方路側から出力されたACKに含まれる方路情報に基づき外部メモリ50からバッファポインタを読み出すものである。これら外部メモリ読み出し制御部10および外部メモリ書き込み制御部30とは、それぞれ、例えばIC(Integrated Circuit)により実現されるようになっている。
【0037】
また、本通信装置100(以下、本装置と称することがある)は、VSC870に対して送信すべきデータを出力する一方、外部FIFO部51に書き込みしたデータをnバイト単位(nは2以上の自然数)にブロック分割した絶対アドレスを管理している。
次に、図3に示す信号名について説明する。データ(Data)は送信すべきデータであり、フレーム先頭(SOF:Start Of Frame)はフレームの先頭を表すトリガデータであり、イネーブル(Enable)は送信バッファポインタの動作可能信号を表す。
【0038】
また、外部メモリ書き込み制御部30から外部メモリ読み出し制御部10に対して送信バッファポインタ,イネーブル,エンドパルス(End Pulse),方路情報(CBIT),マルチキャスト(Mult),無効信号(Invalid)のそれぞれが出力される。なお、これらのうち、フレーム先頭,イネーブル,方路情報,マルチキャスト,無効信号の各情報は、フレームデータと称される。
【0039】
この送信バッファポインタは、外部メモリ書き込み制御部30によって、送信すべきデータが書き込まれた外部メモリ50の上位アドレスを表す。また、イネーブルは動作可能を表し、エンドパルスは送信バッファポインタの最後の位置を示す信号である。また、方路情報は送信バッファポインタの出力先の宛先を表す情報であり、無効信号は送信バッファポインタを無効にする信号であり、外部メモリ書き込み制御部30が、バッファポインタに有効/無効を示す情報を付すようになっている。
【0040】
マルチキャストは、送信すべきデータを複数の方路に対して同一データを出力することを表す信号である。ここで、同一データを含むフレームは、マルチキャストフレームと呼ばれる。このマルチキャストとは1対多通信を意味し、1対1通信のユニキャストと識別されるために出力されるようになっている。そして、ユニキャストのデータの場合は、ユーザからの方路情報はある一方路のみを表示し、マルチキャストのデータである場合は、ユーザからの方路情報は16の方路を表示するようになっている。
【0041】
一方、外部メモリ読み出し制御部10から外部メモリ書き込み制御部30に対して、返却バッファポインタ、イネーブル、抑制信号(WST:Wait Status)がそれぞれ出力される。この返却バッファポインタは外部メモリ50からデータを読み出して不要となった送信バッファポインタを表し、イネーブルはその動作可能を表す。また、抑制信号はある方路に所定量を超える送信バッファポインタが蓄積されたときに、バッファポインタ管理メモリ30aに送信し、その方路に対しては送信バッファポインタの出力を停止させる信号である。
【0042】
また、VSC870から外部メモリ読み出し制御部10に対して、ACKとイネーブル信号(RTM:Retransmit Mode)とが出力されるようになっている。これらのACKとイネーブル信号とは、それぞれ、VSC870が外部メモリ読み出し制御部10から出力された接続要求を受信すると、その接続要求に対応する方路が接続可能なときに出力されるものである。
【0043】
なお、外部FIFO部51から外部メモリ読み出し制御部10に対して送信すべきデータの記憶容量が飽和したことを示す飽和信号(FIFO飽和信号,XAF[X Almost Full])を出力するようになっている。
この飽和信号が’H’である場合、有効と判断され、一時的に送信バッファポインタが蓄積される。なお、以下の説明では、特に断らない限り、’H’と’L’との2種類の論理のうち、’H’であるとき(’H’にアサートされたとき)に有効と判断する。
【0044】
図4(b)は本発明の一実施形態に係るバッファポインタを説明するための図である。この図4(b)には、nバイトごとに分割された主信号と、それらnバイトごとに分割された各主信号にそれぞれ割り当てられた外部メモリ50の上位アドレス(A,B,Cと付したもの)および外部メモリ50の下位アドレス(0,1,…,30,31と付されたもの)とが示されている。
【0045】
そして、外部メモリ書き込み制御部30(図3参照)は、主信号をnバイトごとに分割して外部メモリ50に書き込むと同時に、外部メモリ50の上位アドレスをバッファポインタとして、外部メモリ読み出し制御部10に対して送信する。また、外部メモリ読み出し制御部10は、ユーザからのバッファポインタを後述する仮想キュー部11で管理し、外部メモリ50からその分割されて保持された主信号を読み出しする際に、そのバッファポインタに下位アドレスを付与し、絶対アドレスを得る。この絶対アドレスを管理することにより、管理信号の容量を軽減できる。
【0046】
このように、VSC870に対して送信すべきデータは、nバイト単位にブロック分割されて管理され、また、バッファポインタが用いられているので、外部メモリ50を効率よく使用でき、また、本装置が送信すべきデータを受信するためのインターフェース部分の単純化が可能となり、回路構成の効率化が図れかつ最小化できるようになる。
【0047】
これにより、送信すべきデータは、外部メモリ書き込み制御部30に入力され、外部メモリ書き込み制御部30にて、送信すべきデータは、外部メモリ50に書き込まれ、同時に、その送信すべきデータを書き込みしたアドレスを示すバッファポインタが、外部メモリ読み出し制御部10に対して入力される。そして、外部メモリ読み出し制御部10は、接続要求をVSC870に対して送信し、そのACKに含まれる方路情報に基づき外部メモリ50からバッファポインタが読み出され、送信すべきデータが、外部FIFO部51に出力され、送信フォーマット形式にされた状態で保持されるのである。
【0048】
次に、外部メモリ読み出し制御部10の詳細について説明する。図3において、外部メモリ読み出し制御部10は、仮想キュー部11と、データ生成部21と、2面FIFO部(複数面先入れ先出しメモリ部)31とをそなえて構成されている。
仮想キュー部11は、外部メモリ書き込み制御部30から出力されたバッファポインタに含まれる方路情報に基づき面蓄積情報を出力するとともに、ACKに含まれる方路情報に対応するバッファポインタを出力しうるものであり、仮想的に先入れ先出し機能を発揮するようになっている。データ生成部21は、仮想キュー部11に接続され、接続要求がないことを示す無効接続要求と接続要求を示す有効接続要求とを含む送信フォーマット形式のデータを生成するものであり、2面FIFO部31は、仮想キュー部11に接続され、複数のバッファポインタのそれぞれに対応する読み出しアドレスを出力しうるものである。
【0049】
図5は本発明の一実施形態に係る仮想キュー部11のブロック図である。この図5に示す仮想キュー部11は、読み出し側方路情報・イネーブル信号生成部15と、仮想キューメモリ14と、面蓄積情報管理部12と、書き込み側方路情報・イネーブル信号生成部13とをそなえて構成されている。この読み出し側方路情報・イネーブル信号生成部15は、16の方路側に設けられ、ACKに含まれる読み出しアドレスに関する情報を出力しうるものである。
【0050】
また、仮想キューメモリ14は、読み出し側方路情報・イネーブル信号生成部15に接続され、バッファポインタを保持しうるものであり、各方路に応じてそれぞれ4面のメモリ面(メモリ領域)を有し、17方路×4面を用意されている。また、面蓄積情報管理部12は、読み出し側方路情報・イネーブル信号生成部15と仮想キューメモリ14とに接続され、読み出しアドレスに関する情報に対応する読み出し面に関する面蓄積情報を出力しうるものであり、17方路を有する。さらに、書き込み側方路情報・イネーブル信号生成部13は、外部メモリ書き込み制御部30に接続され、外部メモリ書き込み制御部30から出力されたデータを入力され、バッファポインタに関する情報を面蓄積情報管理部12に書き込むものである。
【0051】
図4(c)は本発明の一実施形態に係る仮想キューメモリ14の概念図であるが、この図4(c)に示す仮想キューメモリ14は、4個のFIFOメモリ14aを有し、書き込み側方路情報・イネーブル信号生成部13は、これら4個のFIFOメモリ14aのいずれかに、データを書き込みうるようになっている。
図6は本発明の一実施形態に係る面蓄積情報管理部12のブロック図である。この図6に示す面蓄積情報管理部12は、接続制御部17(Connection mult)と、16方路のそれぞれに対応して設けられた16個の接続制御部16(Connection#0〜Connection#15)とをそなえるとともに、複数のデコーダ(DEC)90a,90bと、2個のセレクタ(SEL)91が設けられている。また、複数のデコーダ90a,90bのうちの2個は、これらの出力が、2個のセレクタ91に入力されるようになっており、それ以外のデコーダ90a,90bは、これらの出力が、接続制御部16,17に入力されるようになっている。
【0052】
ここで、デコーダ90aは、エンドパルス、書き込みアドレスの一部、書き込みイネーブルの3種類の信号を入力され、所定のデコードをして、そのデコードにより、得られた値を上記の接続制御部16又は17に入力するものである。そして、デコーダ90bは、読み出しアドレスの一部と、読み出しイネーブルとをそれぞれ入力されて、所望のアドレスを接続制御部16又は17に出力するものである。
【0053】
また、16個の接続制御部16は、それぞれ、上記16方路のうちの一つに対応し、書き込み側に設けられた複数面のメモリ面を管理するとともに、面蓄積情報を出力しうるものであって、第1接続制御部として機能しており、書き込み側面管理部16aと、読み出し側面管理部16bと、面蓄積情報生成部16cと、使用面数管理部16dとをそなえて構成されている。
【0054】
この書き込み側面管理部16aは、4面分のメモリ面の書き込みを管理し、設定信号(SET)を出力するものであり、読み出し側面管理部16bは、4面分のメモリ面の読み出しを管理し、リセット信号(RESET)を出力するものである。また、面蓄積情報生成部(マルチキャスト面蓄積情報生成部)16cは、これら書き込み側面管理部16aと読み出し側面管理部16bとに接続され、マルチキャストに関する面蓄積情報を生成して出力しうるものである。さらに、使用面数管理部16dは、書き込み側面管理部16aの入力側と読み出し側面管理部16bの入力側とのそれぞれに接続され、4面のメモリ面が使用されている数を保持しうるものである。すなわち、使用面数管理部16dは、デコーダ90a,90bのそれぞれに接続され、これらのものから出力される信号に基づいて、使用されているメモリ面の数を管理するものである。
【0055】
これにより、図5において、面蓄積情報管理部12は、面蓄積情報#0〜#15と、マルチキャスト面蓄積情報と、マルチキャストイネーブルとを出力するのである。次に、図7、図8を用いて、面蓄積情報管理部12の読み出し/書き込みについて説明し、図9〜図11を用いてマルチキャストにおける面蓄積情報管理部12について説明する。
【0056】
図7は本発明の一実施形態に係る面蓄積情報管理部12のタイムチャートであり、この図7に示すタイムチャートは、面蓄積情報管理部12が同一方路(Connection#0)のみに対して書き込み/読み出しを行なっている場合のものである。ここで、図7に示すエンドパルス信号には、▲1▼,▲2▼を付してある。ここで、▲1▼および▲2▼は、書き込みアドレス[10:6]で指定された方路について、書き込みイネーブルとエンドパルスとがいずれも有効である時点を表す。そして、これら▲1▼および▲2▼の各時点にて、書き込みアドレス[5:4]の2ビット値と蓄積面カウンタとがそれぞれインクリメントされる。ここで、蓄積面カウンタが0の場合は面蓄積情報#0が’H’にされる。次に、時点▲2▼にて、蓄積面カウンタが3になると、抑制信号が時点▲3▼に’H’にされる。
【0057】
そして、時点▲3▼は、読み出しアドレス[10:6]で指定された方路に対して、読み出しイネーブルが有効である時点である。そして、これらの時点▲3▼にて、読み出しアドレス[5:4]がインクリメントされ、また、蓄積面カウンタがデクリメントされる。蓄積面カウンタが0になった場合は、面蓄積情報#0が’L’にされる。
【0058】
従って、バッファポインタは、いったん各宛先ごとに振り分けて管理され、本装置がVSC870からACKを受信することにより、ACKに含まれるバッファポインタが読み出され、その後、VSC870に対してデータを送信する。これにより、ユーザが通信装置100に各宛先ごとのバッファポインタを出力し、通信装置100がそのバッファポインタを受信すると、通信装置100は、VSC870に対して有効接続要求を送信し、VSC870がそのACKを通信装置100に送信し、通信装置100がそのACKに含まれる返却バッファポインタを抽出してはじめて、そのバッファポインタが使用される。一方、通信装置100がVSC870に対してバッファポインタを送信しても、VSC870が通信装置100に対してその返却バッファポインタを含むACKを送信しない場合は、通信装置100が送信したバッファポインタは、依然として保持される。
【0059】
このため、ユーザにより入力されたバッファポインタが、本装置にて溢れることが回避され、バッファポインタの欠落を回避でき、かつ、バッファポインタの書き込みと、ACKによる読み出しとの時間ずれにかかわらず、スムーズな通信が可能となる。
また、同一宛先に対するバッファポインタが、連続していても、後にユーザからのバッファポインタの欠落を回避できる。
【0060】
次に、図8を用いて、面蓄積情報管理部12が無効信号を受信した場合の動作について説明する。図8は本発明の一実施形態に係る面蓄積情報管理部12の他のタイムチャートであり、この図8に示す信号名は、図7に示すそれと同一である。また、この図8に▲1▼と付した時点においては、書き込みアドレス[10:6]で指定された方路に対し、書き込みイネーブルとエンドパルスとがいずれも’H’であり、かつ、無効信号が’H’である。そして、これらの時点においては、書き込みアドレス[5:4]の2ビットと蓄積面カウンタとはいずれもインクリメントされない。さらに、抑制信号は’L’のままである。
【0061】
なお、実用的には、同一方路のみならず、それ以外の方路に対して順番もランダムに受信し、制御が各方路に対して行なわれるようになっている。
このように、ユーザからのバッファポインタが、2ビットを用いて、各方路ごとにそれぞれ4面に振り分けて保持されることにより面管理されているので、ユーザからのバッファポインタの途中からバッファポインタ無効信号が受信されたときにも、その面に書き込みしている最中のバッファポインタが全て無効であることが容易に認識できる。従って、有効なバッファポインタを破損させることなく、シンプルな回路構成になりかつスムーズな通信が可能となる。
【0062】
また、図6に示す接続制御部17は、上記16方路のそれぞれに対応し、書き込み側に設けられた複数面のメモリ面を管理するとともに、面蓄積情報を出力しうるものであって、第2接続制御部として機能している。さらに、接続制御部17は、マルチキャスト用の制御回路としても機能している。
図9は本発明の一実施形態に係る接続制御部17のブロック図である。この図9に示す接続制御部17は、書き込み側面管理部16aと、読み出し側面管理部16bと、面蓄積情報生成部16cと、使用面数管理部16dとをそなえるほか、接続制御部17の入力側にはEXORゲート16eが設けられ、このEXORゲート16eに接続されたマルチキャスト用方路情報面管理書き込みカウンタ16f(以下、書き込みカウンタ16fと称することがある)と、マルチキャスト用方路情報FIFOメモリ(方路情報先入れ先出しメモリ)16gと、マルチキャスト用方路情報面管理読み出しカウンタ16h(以下、読み出しカウンタ16hと称することがある)とをそなえ、さらに、この読み出しカウンタ16hには、EXORゲート16iが接続されている。加えて、この接続制御部17の入力側には、デコーダ90aおよび90bが、それぞれ、接続されている。なお、これらのうち、上述したものと同一の符号を有するものは同一のもの又は同様の機能を有するものなので、重複した説明を省略する。
【0063】
ここで、EXORゲート16eは、マルチキャスト信号とデコーダ90aの出力とをEXOR演算してその結果を出力するものであり、この機能は、例えばゲート回路によって実現される。そして、マルチキャスト用方路情報FIFOメモリ16gは、16の方路情報を保持しうるものであり、方路情報を入力され、4面分の方路情報を保持しうるものであり、例えばRAM等を用いてこの機能が発揮される。書き込みカウンタ16fは、マルチキャスト用方路情報FIFOメモリ16gに接続され、書き込みしたアドレスをカウントするものであり、また、EXORゲート16eから出力された信号をカウントするようにもなっている。
【0064】
また、EXORゲート16iは、デコーダ90bの出力と、面蓄積情報生成部16cの出力とにそれぞれ接続され、これらの出力についてEXOR演算をしてその結果を読み出しカウンタ16hに出力するものである。読み出しカウンタ16hは、EXORゲート16iと、マルチキャスト用方路情報FIFOメモリ16gとに接続され、読み出したアドレスをカウントするものであり、EXORゲート16iから出力された信号をカウントする。
【0065】
さらに、面蓄積情報生成部16cは、マルチキャストを受信したときは、優先的にそれらの処理をする。次に、図10を用いて、書き込みカウンタ16f,読み出しカウンタ16h,マルチキャスト用方路情報FIFOメモリ16gについて説明する。ここで、図9に示す▲1▼,▲2▼,▲3▼の各番号は、それぞれ、図10に示すものと対応している。
【0066】
図10は本発明の一実施形態に係るマルチキャストの優先処理を説明するためのタイムチャートである。なお、このタイムチャートの信号名で、上述したものと同一の符号を有するものは同一のものを表す。この図10において、入力される方路情報は、C1,C2,C3,C4であって、この順番に、入力されている。この図10に示す▲1▼と付したマルチキャスト用方路情報面管理書き込みカウンタは、エンドパルスが’H’にされたときに、インクリメントされる。そして、上記のC1〜C4のデータは、出力データとして、接続要求に、挿入されている。
【0067】
また、▲2▼と付したマルチキャスト用方路情報面管理読み出しカウンタは、VSC870から出力されたACKを本装置が受信したときに、インクリメントされる。そして、このときに読み出されるデータは、▲3▼と付したマルチキャスト方路情報である。また、その下側には、出力データ(送信フォーマット)が示されており、この出力データには、C1〜C4がそれぞれ挿入されている。
【0068】
このように、マルチキャストのときは、方路情報が入力された順番に、C1〜C4がそれぞれ出力されるので、先入れ先出し機能が実現されるのである。
図11は本発明の一実施形態に係る面蓄積情報管理部12のタイムチャートであり、面蓄積情報管理部12がマルチキャストを受信したときの処理を示している。なお、このタイムチャートの信号名で、上述したものと同一の符号を有するものは同一のものを表す。
【0069】
図10と同様に、図11に示すエンドパルスが、データ取り込み完了のタイミングを表し、このエンドパルスが’H’になっているところにてトリガがかけられている。そして、面蓄積情報管理部12は、方路情報[15:0]を監視して、#0〜#15までのいずれかを宛先とする送信バッファポインタが出力されたか否かを知るのである。また、この図11には、付した数字は時点を表し、接続制御部16のうち#0を単に#0と略記して説明する。
【0070】
まず、方路情報[15:0]の値1(#0を表す)の出力により、1と付した時点(以下、時点1のように表現する)にて、#0宛の面蓄積情報が出力され、時点2にて、面蓄積情報管理部12は、接続要求[15:0]に1を出力し、時点3にて、#0の読み出し要求(ACK)が受信される。ここで、マルチキャストの面蓄積情報を見ると、時点4では、’L’であって未だマルチキャストが受信されていない。このため、面蓄積情報管理部12は、時点5の読み出しイネーブルにより、時点6にて#0を読み出す。
【0071】
続いて、時点7にて、方路情報[15:0]の値2(#1を表す)の出力により、時点8にて、#1宛の面蓄積情報が出力され、時点9にて、#1の読み出し要求(ACK)が受信される。
次に、時点10においては、マルチキャストが’H’になっているので、時点11にて、マルチキャストの面蓄積情報が出力され、また、この時点10においては、#0,#1への読み出し要求(ACK=0,1)が受信されている。このため、時点12において、マルチキャストが優先的に読み出される。
【0072】
また、時点13,14,15は、マルチキャストが受信されていないので、#0および#1への読み出し要求が出力され、各方路が読み出される。
続いて、時点16においては、書き込みイネーブルとエンドパルスとがいずれも有効であり、かつ、マルチキャストが有効なので、書き込みアドレス[10:6]により指定された方路に対し、時点17にて、マルチキャスト面蓄積情報が出力される。そして、時点18にてそのときの方路情報がマルチキャスト接続要求として出力され、時点19にて、マルチキャストが読み出される。
【0073】
このように、マルチキャストのデータである場合は、同一データが複数の方路に送信されるため、通信可能な情報量を考慮すると、ユニキャストのデータが本装置に残っている場合でも、マルチキャストのデータを優先的に送信することにより通信効率が向上する。
次に、図5に示す書き込み側方路情報・イネーブル生成部13について、図12を用いて説明する。
【0074】
図12は本発明の一実施形態に係る書き込み側方路情報・イネーブル生成部13のブロック図である。この図12に示す書き込み側方路情報・イネーブル生成部13は、上位書き込みアドレス生成部13aと、下位書き込みアドレス生成カウンタ13bと、書き込みイネーブル生成部13cと、5個のタイミング調整部13dとをそなえて構成されている。
【0075】
ここで、上位書き込みアドレス生成部13aは、書き込みアドレス[10:6]を生成し出力するものであり、下位書き込みアドレス生成カウンタ13bは、書き込みアドレス[3:0]を生成して出力するものであり、また、書き込みイネーブル生成部13cは、書き込みイネーブルを生成して出力するものである。さらに、5個のタイミング調整部13dは、いずれも、入力データのタイミングを調整して出力するものである。
【0076】
これにより、入力データである無効信号,マルチキャスト,エンドパルスおよび送信バッファポインタのそれぞれについては、タイミング調整部13dにて、タイミングを調整され、無効信号,マルチキャスト,エンドパルスおよび書き込みデータとして出力される。また、方路情報は、タイミング調整部13dにてタイミングを調整されて出力されるとともに、上位書き込みアドレス生成部13aにて書き込みアドレス[10:6]が生成され出力される。さらに、イネーブルは、下位書き込みアドレス生成カウンタ13bに入力され、このイネーブルに基づいて書き込みアドレス[3:0]が生成され、書き込みイネーブル生成部13cにて、書き込みイネーブルが生成されて出力される。
【0077】
次に、図5の読み出し側方路情報・イネーブル信号生成部15について、図13を用いて説明する。図13は本発明の一実施形態に係る読み出し側方路情報・イネーブル信号生成部15のブロック図であり、この図13に示す読み出し側方路情報・イネーブル信号生成部15は、ACKデコード処理部15aと、送信接続要求履歴情報生成部15bと、マルチキャスト優先処理・一致比較処理部15cと、一致接続先読み出しアドレス送出部15dと、受信ACKエラー検出部15eとをそなえて構成されている。
【0078】
ここで、ACKデコード処理部15aは、VSC870から送信されるイネーブルが有効なときに、ACKをデコードしてマルチキャスト優先処理・一致比較処理部15cに対して出力するものである。
そして、送信接続要求履歴情報生成部15bは、有効接続要求の送信履歴を保持し方路情報の値やその最小値等の履歴情報を生成して出力するものである。また、未接続の方路を設定した有効接続要求が、VSC870に対して送信されると、VSC870は接続要求コード15を示して送信するようになっている。
【0079】
従って、VSC870が通信装置100に対して、未接続の相手先であるにもかかわらず、ACKを送信し、通信装置100がそのままACKの示す方路のバッファポインタを読み出した場合でも、バッファポインタの管理情報が不一致となることが防止される。
また、マルチキャスト優先処理・一致比較処理部15cは、ACKデコード処理部15aと、送信接続要求履歴情報生成部15bとのそれぞれに接続され、保持された特定値とACKに含まれる方路情報が示す特定値とに基づいて、送信接続要求履歴情報生成部15bに保持された最小値に対応する方路に対応したバッファポインタを読み出すものである。
【0080】
さらに、このマルチキャスト優先処理・一致比較処理部15cは、1対1通信のユニキャストと1対多通信のマルチキャストとを識別し、マルチキャストのバッファポインタが受信されると、マルチキャストのデータを優先して送信するようになっている。
このユニキャストと、マルチキャストとの切り替えは、本装置が、VSC870に対して出力するデータに、いずれかを選択して設定することによって、行なわれる。ここで、ユニキャストの場合は、その接続宛先は、ある一方路を示し、マルチキャストの場合は、その接続宛先が複数方路を示している。このため、マルチキャストの場合は、同一データを複数の方路に送信しなければならず、通信可能な情報量を考慮すると、ユニキャストのデータが本装置に残っている場合においても、優先的にマルチキャストのデータを送信することにより通信効率が向上する。
【0081】
図14は本発明の一実施形態に係るマルチキャスト優先処理・一致比較処理部15cを説明するためのフローチャートである。
まず、ACKがデコードされ(ステップS1)、ステップS2において、マルチキャストの面蓄積情報が有効の場合は有効と付されたルートを通り、ステップS4において、デコードされたACKにかかわらず、その方路の読み出し要求が出力され、ステップS4zにおいて、マルチキャストのバッファポインタが読み出される。
【0082】
また、ステップS2において、マルチキャストに対する面蓄積情報が無効の場合、無効と付したルートを通り、ステップS3において、接続要求履歴情報(#0−#15)と、デコードされたACK(#0−#15)とが比較される。これらが一致すれば、一致と付されたルートを通り、ステップS4、ステップS4zの処理が行なわれ、ステップS3において、比較結果が一致しなければ、不一致と付されたルートを通る。従って、マルチキャストの場合は、優先的に処理される。
【0083】
さらに、ステップS5において、デコードされたACKが未接続コードを示す15と一致するか否かが比較され、ここで、一致すれば、ステップS5の一致と付されたルートを通り、ステップS6において、最小値の方路の読み出し要求が出力され、送信接続要求履歴情報(#0−#14)のうち、最小値が割り当てられた方路に対してバッファポインタが読み出される。
【0084】
ステップS5において、一致するコードがない場合は、未接続コード15のACKと判断され、不一致ルートを通り、ステップS7において、デコードされたACKと、送信接続要求履歴情報(#0−#15)とが不一致であり、ACKエラーと検出されて、アラームが出力される。
さらに、一致接続先読み出しアドレス送出部15d(図13参照)は、読み出しアドレス[10:6]と読み出しアドレス[3:0]とデータラッチパルスとを出力するものであり、受信ACKエラー検出部15eは、ACKエラーを検出してACKエラーを出力するものである。そして、このACKエラーは、エラー通知部(図示省略)により検出されて、エラー処理が行なわれる。
【0085】
このように、自動的に未接続であった接続要求の履歴に保持された最小値の相手方に対応したバッファポインタが読み出され、VSC870からの異常ACKを受信したときにも本装置が異常動作を起こさずに、正常なバッファポインタを欠落させることなく、スムーズな通信が可能となる。
また、このように、マルチキャストのバッファポインタを入力されると、本装置に、未だ、ユニキャストのデータが残っていても、マルチキャストのデータを優先的に送信するので、マルチキャストの有効接続要求が、強制的に送信される。
【0086】
これにより、図5において書き込み手順は、まず、書き込み側方路情報・イネーブル信号生成部13が、送信バッファポインタを受信すると、同時に受信した方路情報に基づいて書き込みアドレスの上位(書き込みアドレス[10:6])と、書き込みアドレスの下位(書き込みアドレス[3:0])と、書き込みイネーブルとをそれぞれ仮想キューメモリ14に対して出力する。
【0087】
そして、面蓄積情報管理部12において、書き込みアドレス[10:6]と書き込みイネーブルとに基づいて、その方路に対する書き込み使用面情報(書き込みアドレス[5:4])と、16方路のそれぞれに対応した面蓄積情報#0〜#15と、マルチキャスト面蓄積情報とが出力される。
また、3面以上のメモリにデータが書き込まれている場合は、その方路に対して抑制信号が接続先の通信装置に出力される。これにより、その相手方通信装置が、その方路に対する送信バッファポインタの送信を停止させる。
【0088】
このように、送信バッファポインタが、仮想キューメモリ14に方路ごとに4面管理されて書き込まれる。
一方、図5において読み出し手順は、まず、VSC870から出力されたACKが、イネーブルが有効時に受信したとき、読み出し側方路情報・イネーブル生成部15は受信したACKをデコードし、読み出し上位アドレス(以下、読み出しアドレス[10:6]と称することがある)、読み出し下位アドレス(以下、読み出しアドレス[3:0]と称することがある)、イネーブル(以下、読み出しイネーブルと称することがある)をそれぞれ出力する。
【0089】
そして、読み出しアドレス[10:6]と読み出しイネーブルとに基づいて面蓄積情報管理部12にて、その方路について読み出すメモリ面蓄積情報(以下、読み出しアドレス[5:4]と称することがる)を仮想キューメモリ14に対して出力する。
このように、仮想キューメモリ14からバッファポインタが方路ごとに読み出される。
【0090】
図15は本発明の一実施形態に係るデータ生成部21のブロック図である。この図15に示すデータ生成部21は、パリティチェック部21aと、フレーム挿入部(MUX)21bと、セレクタ(SEL)21cと、固定値出力部(固定値)21dとをそなえて構成されている。ここで、パリティチェック部21aはデータ(主信号)を入力され、パリティチェックし、その結果をSTとしてフレーム挿入部21bに出力するものである。また、セレクタ21cは仮想キュー部11から入力されたデータ送受信装置(図1参照)を識別する信号として、面蓄積情報#0〜#15の各信号と、マルチキャスト接続要求とのいずれかを選択し接続要求としてフレーム挿入部21bに出力するものである。さらに、固定値出力部21dは、フレームの切れ目を表す固定値ヘッダをフレーム挿入部21bに入力するものである。
【0091】
また、フレーム挿入部21bは、状態信号(ST:Status),固定値ヘッダ,接続要求のそれぞれを入力され、これらをフレームに挿入し、さらに、ビットが全て’0’である無効な接続要求(以下、無効接続要求と称することがある)を出力した後に有効な接続要求(以下、有効接続要求と称することがある)を受信したときは、直ちにその有効接続要求を自ら送信する機能をも有する。
【0092】
その無効接続要求を送信する2種類のタイミングについて、図16に示すタイムチャートを参照して説明する。図16および図17はそれぞれ本発明の一実施形態に係る無効接続要求の送信時のタイムチャートである。ここで、図16に示すものは、ユーザ側から送信されたデータフレームを受信中に、有効接続要求を送信する場合のものであり、図17に示すものは、データフレームを相手方に送信後に、有効接続要求を送信する場合のものである。なお、これらの図16,図17のそれぞれに示すP0〜P3と付したものは、4ビットデータを表し、これら4ビットにより、方路情報#0〜#15までの16宛先が決定されるのである。さらに、図17に示す#k−1(kは1以上16以下の自然数)は、#0以外の残りの通信装置100を意味する。
【0093】
この図16に示す方路0(#0)宛先の送信フォーマット形式は、所定の方路に対するデータに挿入する接続要求に設定すべき方路情報がなく、無効接続要求を送信した直後のとき、あるいは、データの送信が完了していないときのものである。そして、データ(Data)のほか、全てが0の無効接続要求と方路1(#1)宛先の有効接続要求とを有する。また、方路1(#1)宛先のフレームは、全てが0の無効接続要求を有する。
【0094】
そして、相手方において、その受信部(図示省略)が、この送信されたフレームを受信すると、このデータに含まれる、無効接続要求と有効接続要求との2領域を論理和するようになっている。これにより、送信側は、無効接続要求が送信された場合において、有効接続要求を重畳して送信できるようになる。
図17に示す送信フォーマット形式は、ユーザから、本装置が新たにバッファポインタを入力されたとき、無効接続要求を送信した直後のものであって、データを全て送出し切っていない場合のものである。
【0095】
従って、データ生成部21が、16方路に対して送信すべきデータを送信できるように構成され、送信すべきデータを出力しているときに受信した他のバッファポインタが含む方路に対して接続要求を出力するように構成されたことになる。
これにより、接続要求に示されている接続方路の接続状況を確認して、本装置は、VSC870に対してACKを送信できる。また、このようなシーケンスにより、本装置にバッファポインタが全くない状態において、本装置がユーザからの所定宛先のバッファポインタを入力されると、本装置は自らバッファポインタの蓄積状態を検出し、その接続要求先を設定した有効接続要求を自己発生によりVSC870に対して送信する。
【0096】
そして、このように、再度方路を設定した有効接続要求をデータ中に挿入し、VSC870に対して送信することにより、接続が一度遮断されることなくスムーズかつ効率のよい通信が行なえる。また、このように、早期に接続要求し、ACKを受信することでスムーズな通信が可能となる。
次に、図3に示す2面FIFO部31を、図18により説明する。
【0097】
図18は本発明の一実施形態に係る2面FIFO部31のブロック図である。この図18に示す2面FIFO部31は、仮想キュー部11に接続され、2種類のバッファポインタのそれぞれに対応する読み出しアドレスを出力しうるものであって、第1面メモリ31a,第2面メモリ31b,書き込み側面切り替え部31c,読み出し側面切り替え部31d,2面FIFO書き込みアドレスカウンタ31e,デコーダ31f,31h,2面FIFO読み出しアドレスカウンタ31g,セレクタ(SEL)31i,EXORゲート31jをそなえて構成されている。なお、2面FIFO部31の機能もメモリ等により実現される。
【0098】
ここで、第1面メモリ31aと第2面メモリ31bとは、それぞれ、バッファポインタを保持しうるものであり、例えばRAMを用いて複数の面メモリとしてその機能が実現される。そして、デコーダ31f,31hは、それぞれ、カウンタ値をデコードして所望の値を出力するものであり、セレクタ31iは,第1面メモリ31aおよび第2面メモリ31bのうちの一方からデータを選択して出力するものであり、また、EXORゲート31jは、セレクタ31iとデコード31hとに接続され、これらの出力をEXORして出力するものである。
【0099】
そして、書き込み側面切り替え部31cは、これら第1面メモリ31a,第2面メモリ31bにそれぞれ接続され、データを書き込むべく、これらの面メモリを切り替えうるものである。具体的には、書き込み側面切り替え部31cは、第1面メモリ31aに第1面書き込み側面切り替え信号を入力し、また、第2面メモリ31bに第2面書き込み側面切り替え信号を入力するものである。これにより、書き込み側面切り替え部31cは、バッファポインタを書き込むメモリ面を切り替え制御するのである。
【0100】
具体的には、書き込み側面切り替え部31cは、ACKを受信すると、第1面書き込み側面切り替え信号,第2面書き込み側面切り替え信号を交互に有効にし、いずれかのメモリ面を有効にし、その有効にしたメモリ面にバッファポインタを書き込むのである。また、書き込み側面切り替え部31cは、ヘッダを送信した場合、’H’になっているメモリ面についてのイネーブルを’L’にする。
【0101】
さらに、読み出し側面切り替え部31dは、第1面メモリ31a,第2面メモリ31bのそれぞれに接続され、データを読み出すべく、これらの面メモリを切り替えうるものであり、具体的には、第1面メモリ31aに第1面読み出し側面切り替え信号を入力し、また、第2面メモリ31bに第2面読み出し側面切り替え信号を入力するようになっている。これにより、読み出し側面切り替え部31dは、バッファポインタから読み出すメモリ面を切り替え制御するのである。
【0102】
そして、2面FIFO書き込みアドレスカウンタ31eは、書き込み側面切り替え部31cに接続され、書き込みしたアドレスをカウントするものである。また、2面FIFO読み出しアドレスカウンタ31gは、読み出し側面切り替え部31dに接続され、読み出したアドレスをカウントし、外部メモリ読み出し制御部10に対して送信すべきデータの記憶容量が飽和したことを示す飽和信号に基づきこれらの面メモリのうちのいずれか一つの読み出しを停止しうるものであり、外部FIFO部51から飽和信号を入力されるようになっている。
【0103】
図19は2面FIFO部31の動作を説明するためのタイムチャートである。この図19の最上段には、VSC870に対して出力されたフレームの内容が示されている。
そして、2面FIFO書き込みアドレスカウンタ31eは、この飽和信号が’L’(FIFOが飽和状態)になった場合、第1面メモリ31aと第2面メモリ31bとのうちのバッファポインタが残っている方のメモリ動作を停止させる。また、このフレームの最後尾にあるヘッダが送信し終わると、図19に▲1▼と付された時点において、’H’になっている第2メモリについての2面イネーブルが、’L’にされる。これにより、外部メモリ50に保持されたデータの読み出しが停止する。
【0104】
また、読み出しを停止させた状態において、接続要求の送信後に停止した場合は、VSC870からACKが送信され、仮想キュー部11からバッファポインタが読み出される。従って、現在使用しているメモリ面とは異なるメモリ面のイネーブルを有効にすることによりデータの欠落を回避している。
さらに、時点▲2▼において、飽和信号が、’L’になり、外部FIFO部51から出力される飽和信号に、バッファポインタが残っている側のFIFOメモリが全て停止し、図3に示す外部メモリ50からの読み出しが停止される。この状態にて、接続要求が送信された後に、停止した場合は、VSC870から本装置に対してACKが送信され、仮想キュー部11からバッファポインタが読み出される。ここで、現在使用されている面とは異なる面のイネーブルが有効になるようにされている。
【0105】
VSC870にデータが出力されてデータFIFO部30b(図8参照)に空き容量が生じれば、飽和信号が有効となり、通常動作に戻る。
図20は2面FIFO部31の動作を説明するための他のタイムチャートである。この図20に示すバッファポインタは、A,B,C,D,Eの5種類であって、2面FIFO部31に入力されたときの信号が表示されている。ここで、A,B,Cの3種類は、1面に書き込まれており、A,B,Cのエンドパルスが入力されると、書き込み切り替え信号が2面に切り替わり(▲1▼,▲2▼と付したところ参照)、D,Eは、2面に書き込まれる(▲3▼,▲4▼と付したところ参照)。なお、読み出し面切り替え信号は、1面が’H’で2面は’L’となっており、返却バッファポインタのB,Cが受信されたときも同様である。
【0106】
そして、この図20の下部に示す返却バッファポインタのAが受信されると、Aが書き込まれている1面のデータが読み出される。また、Pと付したところにおいては、出力データの接続要求には、A,B,Cが挿入されている。なお、CRQが挿入されるときに、下位アドレスのカウンタが1ビットだけ停止される。さらに、返却バッファポインタのDが受信されると、読み出し面は、2面に切り替わる。そして、Qと付したところにおいては、出力データの接続要求には、D,Eが挿入される。なお、飽和信号が’H’にされている間は、下位アドレスのカウンタが停止される。
【0107】
また、バッファポインタが示すデータが、送信フォーマットのフレームに変換されるのが終了すると、そのバッファポインタは返却バッファポインタとして、外部メモリ書き込み制御部30に対して送信される。
このように、本装置は、ACKに含まれる、読み出されたバッファポインタが、さらに、2面FIFO部31内のメモリが2面設けられて管理され、読み出しに使用されていないバッファポインタが残っている面以外のメモリ面に対しては、ACKに含まれる読み出されたバッファポインタが書き込まれる。
【0108】
そして、このように、バッファポインタの欠落が回避され、スムーズな通信が行なえるようになる。
さらに、図3に示す外部メモリ書き込み制御部30を図21により説明する。図21は本発明の一実施形態に係る外部メモリ書き込み制御部30のブロック図である。この図21に示す外部メモリ書き込み制御部30は、同一の方路宛の他のバッファポインタを外部メモリ50に書き込むべく、方路情報ごとに4面のメモリ面を割り当てるようになっている。
【0109】
そして、外部メモリ書き込み制御部30は、16の方路の側から出力されたACKに含まれるバッファポインタに関する情報を保持するバッファポインタ管理メモリ30aを設け、このバッファポインタ管理メモリ30aに基づき読み出されていないバッファポインタに関する情報を保持する先入れ先出し方式に用いたメモリ面に、ACKに含まれるバッファポインタを書き込むようになっている。
【0110】
この外部メモリ書き込み制御部30は、バッファポインタ管理メモリ30aと、データFIFO部30bと、分割読み出しカウンタ30cと、デコーダ30d,30eと、分割書き込みカウンタ30fと、制御信号生成部30gとをそなえて構成されている。なお、図3にはバッファポインタ管理メモリ30aのみが表示されている。
【0111】
ここで、バッファポインタ管理メモリ30aは、使用されたポインタと未使用のポインタとを管理するものであり、具体的には外部メモリ読み出し制御部10の仮想キュー部11から入力される返却バッファポインタを保持するとともに、仮想キュー部11に対して送信バッファポインタを入力するものである。
また、データFIFO部30bは、送信すべきデータを一時的に保持し、所定のタイミングにて外部メモリ50に書き込みデータを出力するものであり、分割読み出しカウンタ30cは、外部メモリ50に対して書き込みアドレス(下位)を出力する32進カウンタである。
【0112】
デコーダ30d,30eは、それぞれ、値を変換して出力するものである。分割書き込みカウンタ30fは、フレーム先頭信号(SOF)を入力され、書き込みした値をカウントする32進カウンタである。そして、このフレーム先頭信号の受信により、分割書き込みカウンタ30fがカウントを開始し、イネーブルが有効になっている期間、カウントがインクリメントされるようになっている。また、分割書き込みカウンタ30fは、デコーダ30dにてデコードされ、そのデコード値に基づいて、上記フレームデータの中から、方路情報,マルチキャストが選択されて、本装置に対して出力されるのである。
【0113】
具体的には、分割値(例えば32ビットごと)になると、イネーブルとバッファポインタとが出力されるようになっている。
従って、外部メモリ書き込み制御部30が、バッファポインタとして、送信すべきデータをnバイト単位に分割して書き込みしたアドレスの先頭部分を割り当てるように構成されたことになる。
【0114】
換言すれば、本装置においては、送信すべきデータは、内部に取り込まれて管理されておらず、外部に設けられたメモリに書き込まれ、そして、本装置はその外部のメモリをnバイト単位にブロック分割したときのメモリ絶対アドレスの先頭のみ(バッファポインタ)を受信し、そのバッファポインタを接続方路情報ごとに保持している。
【0115】
加えて、書き込み制御信号生成部30gは、データFIFO部30bに接続され、方路情報とマルチキャストと無効信号とをそれぞれ生成して出力するものである。
また、この図21には、▲1▼〜▲4▼と付されたものが、表示されており、これらについて、マルチキャストフレームを検出したときの動作例を、図22に示すタイムチャートを用いて説明する。
【0116】
図22は本発明の一実施形態に係るマルチキャストフレーム検出時のタイムチャートである。この図22に示す信号名のうち、バッファポインタ管理書き込みカウンタ▲1▼は、バッファポインタ管理メモリ30aにバッファポインタが書き込まれるごとに、カウントされる。また、分割書き込みカウンタ▲2▼は、書き込みするごとにカウントし続ける。さらに、バッファポインタ管理読み出しカウンタ▲3▼は、読み出しするごとにカウントされる。また、分割読み出しカウンタ値が31になったところで、イネーブルが有効にされ、このときのバッファポインタ管理読み出しカウンタの値が、バッファポインタとして出力される。ここで、同時に、方路情報と、マルチキャストとが出力される。なお、抑制信号が有効にされると(Rと付したところ)、その期間は、読み出し動作が一時的に停止される。そして、このバッファポインタは、送信された後は、返却バッファポインタとして返却される。
【0117】
このように、VSC870を介してデータを送信するときの制御用の情報が、最小かつ単純でシンプルになる。従って、回路構成の効率化が実現され、また、スムーズな通信ができるようになる。
さらに、VSC870に対する送信データが、nバイト単位にブロック分割されて管理されるので、送信データを本装置にて受信するためのインターフェースの単純化ができ、やはり回路の最小化が行なえる。
【0118】
このように、本装置が、バッファポインタを送信すると、そのバッファポインタと同一値を有する返却バッファポインタが受信されるまで、その送信したバッファポインタは使用されない。
上述の構成により、本発明の通信装置100の動作を、図23,図24を参照して詳述する。図23は本発明の一実施形態に係る通信装置100の動作を説明するための図である。まず、図23に示す外部メモリ書き込み制御部30のバッファポインタ管理メモリ30aがフレームデータを入力されると、外部メモリ50にそのフレームデータを書き込むための書き込みアドレスを生成し、外部メモリ50にフレームデータを書き込む。
【0119】
そして、外部メモリ読み出し制御部10に対してフレームデータを書き込んだ上位アドレスを示す送信バッファポインタと、送信バッファポインタのイネーブルと、エンドパルスと、送信バッファポインタの方路情報と、マルチキャストと、無効信号とがそれぞれ出力される。
一方、外部メモリ読み出し制御部10の仮想キュー部11が,これらの送信バッファポインタ/イネーブル/エンドパルス/方路情報/マルチキャストを受信すると、その方路情報に示された方路に対する面蓄積情報が直ちに送信され、データ生成部21から外部FIFO部51を介してVSC870に対して、接続要求が送信される。
【0120】
ここで、外部メモリ読み出し制御部10が受信した送信バッファポインタは方路ごとに面管理されて仮想キュー部11の内部メモリに蓄積される。また、ある方路に一定以上の数の送信バッファポインタが蓄積されると、抑制信号がバッファポインタ管理メモリ30aに送信され、これにより、バッファポインタ管理メモリ30aに対して、その方路への送信バッファポインタを出力しないように通知する。
【0121】
さらに、VSC870が外部メモリ読み出し制御部10から出力された接続要求を受信すると、その接続要求に対応する方路が接続可能なときは、その方路に対するACKと有効なイネーブルとを本装置に送信する。
外部メモリ読み出し制御部10の仮想キュー部11がACKを受信すると、その方路に対する送信バッファポインタが内部メモリより読み出され、その送信バッファポインタが2面FIFO部31に対して出力される。また、外部メモリ50から読み出されて読み出しアドレスとして使用した送信バッファポインタは、返却バッファポインタとして、仮想キュー部11からバッファポインタ管理メモリ30aに対して送信される。
【0122】
また、2面FIFO部31は、仮想キュー部11から出力された送信バッファポインタを受信すると、外部メモリ50に対して読み出しアドレスを出力する。また、FIFO飽和信号が有効である場合、2面FIFO部31は、一時的に送信バッファポインタを蓄積する。
そして、外部メモリ50にて読み出されたデータは、外部メモリ読み出し制御部10のデータ生成部21にて、フレーム情報と接続要求とが付加されて、外部FIFO部51に対して送信される。
【0123】
図24は本発明の一実施形態に係る通信装置100とVSC870との間の送受信シーケンスを示す図であり、この図24に示す▲1▼〜▲3▼は、図23に示す▲1▼〜▲3▼に対応している。このシーケンスは、送信側の外部メモリ書き込み制御部30と、受信側の外部FIFO部51との間におけるものである。また、この図24に示すA,Bと付したものは、それぞれ、相手方通信装置を表し、α,βと付したものは、それぞれ、送信すべきデータを表す。
【0124】
まず、送信側の外部メモリ書き込み制御部30が受信側の外部FIFO部51に対して接続要求を送信し(ステップ▲1▼)、外部FIFO部51がAと接続できる接続許可を送信してから(ステップ▲2▼)、外部メモリ書き込み制御部30が本来送信すべきデータαを外部FIFO部51に対して送信する(ステップ▲3▼)。その後、送信が完了すると、外部メモリ書き込み制御部30は、接続相手方Aに対して接続断要求を送信し(ステップ▲4▼)、一連の動作が終了する。また、異なる宛先や同一宛先に再度接続する場合も、同様に、外部メモリ書き込み制御部30は、接続相手方Bに対して接続要求を送信し(ステップ▲5▼)、外部FIFO部51が接続相手方Bと接続できるACK(B接続許可)を送信してから(ステップ▲6▼)、外部メモリ書き込み制御部30がデータβを外部FIFO部51に対して送信し(ステップ▲7▼)、送信完了により外部メモリ書き込み制御部30は接続相手方Bに対して接続断要求を送信する(ステップ▲8▼)。
【0125】
このように、再度、異なる宛先や同一宛先に接続要求するときにも、同一手順を省くことができ、大幅に煩雑さが解消される。
また、本装置は、接続要求を送信する場合にも、送信データの間に優先させて出力することができる。
このように、バッファポインタがいったん、各宛先ごとに振り分けて管理され、ACKに含まれるバッファポインタを読み出して、VSC870に対して有効接続要求を送信し、その後、VSC870から送信されたその接続要求に対するACKを受信したときにはじめて、送信フォーマットのデータが本装置からVSC870に対して送信される。また、本装置が、VSC870に対して有効接続要求を送信し、そのACKが送信されない場合には、そのバッファポインタは使用されないので、バッファポインタが溢れることなく処理できる。
【0126】
このため、ユーザからのバッファポインタの欠落を回避でき、かつ、バッファポインタの書き込みと、ACKによる読み出しとの時間ずれにかかわらず、スムーズな通信が可能となる。また、同一宛先に対するバッファポインタが、連続していても、後にユーザからのバッファポインタの欠落を回避できる。
また、このように、同一の方路宛のバッファポインタを保持するメモリが、さらに、方路情報ごとに複数のメモリ面が割り当てられるので、やはり、ユーザからのバッファポインタの欠落を回避でき、バッファポインタの書き込みと、ACKによる読み出し時間とのずれにかかわらず、スムーズに通信できるようになる。
【0127】
そして、このようにして、本装置は、VSC870,VSC880を用いたシリアルクロスポイント通信をし、また、VSC880はクロスポイント通信を行ない、VSC870がデータの送受信により、シリアルクロスポイント通信が可能となる。
(B)その他
本発明は上述した実施態様に限定されるものではなく、本発明の趣旨を逸脱しない範囲で、種々変形して実施することができる。
【0128】
上述の論理は正論理として説明したが、この論理は負論理としたり、あるいは、単に、論理を変更しただけのものに対して本発明の優位性は損なわれない。
また、方路数は16であったが、これは例示であって、その数は変更されうる。
EXORは排他的論理和を意味する。図13にてkはビット数を表し、1以上16以下の自然数である。図16にて、allはすべてであることを意味する。
【0129】
(C)付記
(付記1) 入力される接続要求に含まれる宛先情報に対応する複数の方路に対して送信すべきデータを保持しうるメモリと、
該メモリに接続され、該送信すべきデータを該メモリに書き込むとともに、該送信すべきデータを書き込みしたアドレスを示すバッファポインタを接続可能な方路を示す方路情報ごとに書き込みうるメモリ書き込み制御部と、
該メモリと該メモリ書き込み制御部とにそれぞれ接続され、該送信すべきデータと該メモリ書き込み制御部から出力される該バッファポインタに基づく該接続要求とを、該複数の方路側に出力するとともに、該複数の方路側から出力された返答信号に含まれる該方路情報に基づき該メモリから該バッファポインタを読み出すメモリ読み出し制御部とをそなえて構成されたことを特徴とする、通信装置。
【0130】
(付記2) 該メモリ書き込み制御部が、
同一の方路宛の他のバッファポインタを該メモリに書き込むべく、該方路情報ごとに複数のメモリ面を割り当てるように構成されたことを特徴とする、付記1記載の通信装置。
(付記3) 該メモリ書き込み制御部が、
該バッファポインタに有効/無効を示す情報を付すように構成されたことを特徴とする、付記1記載の通信装置。
【0131】
(付記4) 該メモリ読み出し制御部に接続され、該送信すべきデータを複数に分割して保持し、先入れ先出し式の外部先入れ先出しメモリをさらにそなえて構成されたことを特徴とする、付記1記載の通信装置。
(付記5) 該メモリ書き込み制御部が、
該複数の方路側から出力された該返答信号に含まれる該バッファポインタに関する情報を保持する先入れ先出し方式を用いたメモリを複数設け、
読み出されていないバッファポインタに関する情報が格納されたメモリ面以外のメモリ面に、該返答信号に含まれる該バッファポインタを書き込むように構成されたことを特徴とする、付記2記載の通信装置。
【0132】
(付記6) 該外部先入れ先出しメモリが、
外部メモリ読み出し制御部に対して該送信すべきデータの記憶容量が飽和したことを示す飽和信号を出力するように構成されたことを特徴とする、付記4記載の通信装置。
(付記7) 該外部メモリ読み出し制御部が、
該メモリ書き込み制御部から出力された該バッファポインタに含まれる該方路情報に基づき面蓄積情報を出力するとともに、該返答信号に含まれる該方路情報に対応する該バッファポインタを出力しうる仮想キュー部と、
該仮想キュー部に接続され、該接続要求がないことを示す無効接続要求と接続要求を示す有効接続要求とを含むデータを生成するデータ生成部と、
該仮想キュー部に接続され、複数のバッファポインタのそれぞれに対応する読み出しアドレスを出力しうる複数面先入れ先出しメモリ部とをそなえて構成されたことを特徴とする、付記1記載の通信装置。
【0133】
(付記8) 該データ生成部が、該複数の方路に対して該送信すべきデータを送信できるように構成され、
該送信すべきデータを出力しているときに受信した他のバッファポインタが含む方路に対して該接続要求を出力するように構成されたことを特徴とする、付記7記載の通信装置。
【0134】
(付記9) 該仮想キュー部が、
該複数の方路側に設けられ、該返答信号に含まれる読み出しアドレスに関する情報を出力しうる読み出し側方路情報・イネーブル信号生成部と、
該読み出し側方路情報・イネーブル信号生成部に接続され、該バッファポインタを保持しうる仮想キューメモリと、
該読み出し側方路情報・イネーブル信号生成部と該仮想キューメモリとに接続され、該読み出しアドレスに関する情報に対応する読み出し面に関する面蓄積情報を出力しうる面蓄積情報管理部と、
該メモリ書き込み制御部に接続され、該メモリ書き込み制御部から出力されたデータを入力され、該バッファポインタに関する情報を該面蓄積情報管理部に書き込む書き込み側方路情報・イネーブル信号生成部とをそなえて構成されたことを特徴とする、付記7記載の通信装置。
【0135】
(付記10) 該読み出し側方路情報・イネーブル信号生成部が、
該有効接続要求の送信履歴を保持し所望の履歴情報を生成して出力する送信接続要求履歴情報生成部と、
該送信接続要求履歴情報生成部に接続され、保持された特定値と該返答信号に含まれる該方路情報が示す特定値とに基づいて、該送信接続要求履歴情報生成部に保持された最小値に対応する方路に対応したバッファポインタを読み出すマルチキャスト優先処理・一致比較処理部とをそなえて構成されたことを特徴とする、付記9記載の通信装置。
【0136】
(付記11) 該マルチキャスト優先処理・一致比較処理部が、
1対1通信のユニキャストと1対多通信のマルチキャストとを識別し、該マルチキャストの該バッファポインタが受信されると、該マルチキャストのデータを優先して送信すように構成されたことを特徴とする、付記10記載の通信装置。
(付記12) 該メモリ書き込み制御部が、
該バッファポインタとして、該送信すべきデータを複数のバイト単位に分割して書き込みした該アドレスの先頭部分を割り当てるように構成されたことを特徴とする、付記2記載の通信装置。
【0137】
(付記13) 該面蓄積情報管理部が、
上記複数の方路のうちの一つに対応し、書き込み側に設けられた複数面のメモリ面を管理するとともに、該面蓄積情報を出力しうる第1接続制御部と、
上記複数の方路のそれぞれに対応し、書き込み側に設けられた複数面のメモリ面を管理するとともに、該面蓄積情報を出力しうる第2接続制御部とをそなえて構成されたことを特徴とする、付記9記載の通信装置。
【0138】
(付記14) 該第1接続制御部と該第2接続制御部とが、それぞれ、
複数のメモリ面の書き込みを管理する書き込み管理部と、
該複数のメモリ面の読み出しを管理する読み出し管理部と、
該書き込み管理部と該読み出し管理部とに接続され、マルチキャストに関する面蓄積情報を生成して出力しうるマルチキャスト面蓄積情報生成部と、
該書き込み管理部の入力側と該読み出し管理部の入力側とのそれぞれに接続され、該複数のメモリ面が使用されている数を保持しうる使用面数管理部とをそなえて構成されたことを特徴とする、付記13記載の通信装置。
【0139】
(付記15) 該第2接続制御部が、さらに、
複数の方路情報を保持しうる方路情報先入れ先出しメモリと、
該方路情報先入れ先出しメモリに接続され、書き込みしたアドレスをカウントする書き込みカウンタと、
該方路情報先入れ先出しメモリに接続され、読み出したアドレスをカウントする読み出しカウンタとをそなえて構成されたことを特徴とする、付記14記載の通信装置。
【0140】
(付記16) 該複数面先入れ先出しメモリ部が、
該バッファポインタを保持しうる複数の面メモリと、
該複数の面メモリに接続され、該データを書き込むべく、該複数の面メモリを切り替えうる書き込み側面切り替え部と、
該複数の面メモリに接続され、該データを読み出すべく、該複数の面メモリを切り替えうる読み出し側面切り替え部と、
該書き込み側面切り替え部に接続され、書き込みしたアドレスをカウントする書き込みカウンタと、
該読み出し側面切り替え部に接続され、該読み出したアドレスをカウントし、外部メモリ読み出し制御部に対して該送信すべきデータの記憶容量が飽和したことを示す飽和信号に基づき該複数の面メモリのうちのいずれか一つの読み出しを停止しうる読み出しカウンタとをそなえて構成されたことを特徴とする、付記7記載の通信装置。
【0141】
【発明の効果】
以上詳述したように、本発明の通信装置によれば、入力される接続要求に含まれる宛先情報に対応する複数の方路に対して送信すべきデータを保持しうるメモリと、メモリに接続され、送信すべきデータを複数のバイト単位に分割してメモリに書き込むとともに、送信すべきデータを書き込みしたアドレスの先頭部分を示すバッファポインタを接続可能な方路を示す方路情報ごとにメモリに書き込みうるメモリ書き込み制御部と、メモリとメモリ書き込み制御部とにそれぞれ接続され、メモリ書き込み制御部からバッファポインタを入力され、送信すべきデータとメモリ書き込み制御部からのバッファポインタに基づく接続要求とを、複数の方路側に出力するとともに、複数の方路側から出力された返答信号に含まれる方路情報に基づきメモリからバッファポインタを読み出し1対1通信のユニキャストと1対多通信のマルチキャストとを識別し、マルチキャストのバッファポインタが受信されると、マルチキャストのデータを優先して送信するメモリ読み出し制御部とをそなえて構成されているので、同一の宛先に対するバッファポインタが連続するような場合に対しても、後にユーザからのバッファポインタの欠落をなくし、スムーズかつ効率のよい通信が可能となり、また、管理信号の容量を軽減できる利点がある(請求項1)。
【0142】
また、メモリ書き込み制御部は、同一の方路宛の他のバッファポインタをメモリに書き込むべく、方路情報ごとに複数のメモリ面を割り当てるように構成されてもよく、バッファポインタに有効/無効を示す情報を付すように構成されてもよく、このようにすれば、確実にバッファポインタに応じたデータを送信できるため、バッファポインタの飽和を回避できる利点があり、また、ユーザからのバッファポインタの欠落をなくし、バッファポインタの書き込みとACKによる読み出しの時間のずれを吸収し、スムーズな通信が可能となる利点がある(請求項2、請求項3)。
【図面の簡単な説明】
【図1】本発明の一実施形態に係る通信システムの模式図である。
【図2】本発明の一実施形態に係るデータ送受信装置のブロック図である。
【図3】本発明の一実施形態に係る通信装置のブロック図である。
【図4】(a)は本発明の本発明の一実施形態に係る送信フレームデータを説明するための図であり、(b)は本発明の一実施形態に係るバッファポインタを説明するための図であり、(c)は本発明の一実施形態に係る仮想キューメモリの概念図である。
【図5】本発明の一実施形態に係る仮想キュー部のブロック図である。
【図6】本発明の一実施形態に係る面蓄積情報管理部のブロック図である。
【図7】本発明の一実施形態に係る面蓄積情報管理部のタイムチャートである。
【図8】本発明の一実施形態に係る面蓄積情報管理部の他のタイムチャートである。
【図9】本発明の一実施形態に係る接続制御部のブロック図である。
【図10】本発明の一実施形態に係るマルチキャストの優先処理を説明するためのタイムチャートである。
【図11】本発明の一実施形態に係る面蓄積情報管理部のタイムチャートである。
【図12】本発明の一実施形態に係る書き込み側方路情報・イネーブル生成部のブロック図である。
【図13】本発明の一実施形態に係る読み出し側方路情報・イネーブル信号生成部のブロック図である。
【図14】本発明の一実施形態に係るマルチキャスト優先処理・一致比較処理部を説明するためのフローチャートである。
【図15】本発明の一実施形態に係るデータ生成部のブロック図である。
【図16】本発明の一実施形態に係る無効接続要求の送信時のタイムチャートである。
【図17】本発明の一実施形態に係る無効接続要求の送信時のタイムチャートである。
【図18】本発明の一実施形態に係る2面FIFO部のブロック図である。
【図19】2面FIFO部の動作を説明するためのタイムチャートである。
【図20】2面FIFO部の動作を説明するための他のタイムチャートである。
【図21】本発明の一実施形態に係る外部メモリ書き込み制御部のブロック図である。
【図22】本発明の一実施形態に係るマルチキャストフレーム検出時のタイムチャートである。
【図23】本発明の一実施形態に係る通信装置の動作を説明するための図である。
【図24】本発明の一実施形態に係る通信装置とVSCとの間の送受信シーケンスを示す図である。
【図25】通信システムを概略的に示す構成図である。
【図26】通信装置の概略的な構成図である。
【図27】通信装置の送受信シーケンスを示す図である。
【図28】フレーム分割されたデータの送信について説明するための図である。
【図29】通信装置をより詳細に示したブロック図である。
【図30】受信データの読み出しタイミングを説明するための図である。
【図31】FIFOメモリの書き込みを説明するための図である。
【図32】異なるクロックを有する回路を説明するための図である。
【図33】(a),(b)はいずれもカウント動作の概念図である。
【符号の説明】
10 外部メモリ読み出し制御部
11 仮想キュー部
12 面蓄積情報管理部
13 書き込み側方路情報・イネーブル信号生成部
13a 上位書き込みアドレス生成部
13b 下位書き込みアドレス生成カウンタ
13c 書き込みイネーブル生成部
13d タイミング調整部
14 仮想キューメモリ
14a FIFOメモリ
15 読み出し側方路情報・イネーブル信号生成部
15a ACKデコード処理部
15b 送信接続要求履歴情報生成部
15c マルチフレーム用優先処理・一致比較処理部
15d 一致接続先読み出しアドレス送出部
15e 受信ACKエラー検出部
16,17 接続制御部
16a 書き込み側面管理部
16b 読み出し側面管理部
16c 面蓄積情報生成部
16d 使用画数管理部
16e,16i,31j EXORゲート
16f マルチフレーム用方路情報面管理書き込みカウンタ
16g マルチフレーム用方路情報FIFOメモリ
16h マルチフレーム用方路情報面管理読み出しカウンタ
21 データ生成部
21a パリティチェック部
21b フレーム挿入部
21d 固定値出力部
30 外部メモリ書き込み制御部
30a バッファポインタ管理メモリ
30b データFIFO部
30c 分割読み出しカウンタ
30d,30e デコーダ
30f 分割書き込みカウンタ
30g 制御信号生成部
31 2面FIFO部
31a 第1面メモリ
31b 第2面メモリ
31c 書き込み側面切り替え部31c
31d 読み出し側面切り替え部31d
31e 2面FIFO部書き込みアドレスカウンタ
31f,31h,90a,90b デコーダ
21c,31i,91 セレクタ
51 外部FIFO部
60 ユーザ端末
100 通信装置
210 通信システム
200a〜200e データ送受信装置
870,880 VSC
Claims (3)
- 入力される接続要求に含まれる宛先情報に対応する複数の方路に対して送信すべきデータを保持しうるメモリと、
該メモリに接続され、該送信すべきデータを複数のバイト単位に分割して該メモリに書き込むとともに、該送信すべきデータを書き込みしたアドレスの先頭部分を示すバッファポインタを接続可能な方路を示す方路情報ごとに該メモリに書き込みうるメモリ書き込み制御部と、
該メモリと該メモリ書き込み制御部とにそれぞれ接続され、該メモリ書き込み制御部から該バッファポインタを入力され、該送信すべきデータと該メモリ書き込み制御部からの該バッファポインタに基づく該接続要求とを、該複数の方路側に出力するとともに、該複数の方路側から出力された返答信号に含まれる該方路情報に基づき該メモリから該バッファポインタを読み出し1対1通信のユニキャストと1対多通信のマルチキャストとを識別し、該マルチキャストの該バッファポインタが受信されると、該マルチキャストのデータを優先して送信するメモリ読み出し制御部とをそなえて構成されたことを特徴とする、通信装置。 - 該メモリ書き込み制御部が、
同一の方路宛の他のバッファポインタを該メモリに書き込むべく、該方路情報ごとに複数のメモリ面を割り当てるように構成されたことを特徴とする、請求項1記載の通信装置。 - 該メモリ書き込み制御部が、
該バッファポインタに有効/無効を示す情報を付すように構成されたことを特徴とする、請求項1記載の通信装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000257548A JP3631950B2 (ja) | 2000-08-28 | 2000-08-28 | 通信装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000257548A JP3631950B2 (ja) | 2000-08-28 | 2000-08-28 | 通信装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002077248A JP2002077248A (ja) | 2002-03-15 |
JP3631950B2 true JP3631950B2 (ja) | 2005-03-23 |
Family
ID=18745990
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000257548A Expired - Fee Related JP3631950B2 (ja) | 2000-08-28 | 2000-08-28 | 通信装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3631950B2 (ja) |
-
2000
- 2000-08-28 JP JP2000257548A patent/JP3631950B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002077248A (ja) | 2002-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
USRE44151E1 (en) | Switching ethernet controller | |
JP2788577B2 (ja) | フレーム変換方法及び装置 | |
EP0797335B1 (en) | Network adapter | |
US7085847B2 (en) | Method and system for scheduling network communication | |
US7352763B2 (en) | Device to receive, buffer, and transmit packets of data in a packet switching network | |
US7315550B2 (en) | Method and apparatus for shared buffer packet switching | |
US6967951B2 (en) | System for reordering sequenced based packets in a switching network | |
US6226338B1 (en) | Multiple channel data communication buffer with single transmit and receive memories | |
US6618390B1 (en) | Method and apparatus for maintaining randomly accessible free buffer information for a network switch | |
US6317415B1 (en) | Method and system for communicating information in a network | |
WO2000019650A1 (en) | Method and system for communication with a network | |
JPH118636A (ja) | ファイバチャネルスイッチングシステム及びその方法 | |
JP2001511978A (ja) | ネットワークスイッチ内のブロックされた出力キューに関するパケットを選択的に廃棄するための方法および装置 | |
US20070110052A1 (en) | System and method for the static routing of data packet streams in an interconnect network | |
AU2003234641B2 (en) | Inter-chip processor control plane | |
US6728256B1 (en) | Shared buffer control device | |
JP2003500927A (ja) | プログラム可能メモリアクセススロット割当のための装置および方法 | |
WO1998038760A2 (en) | Data communication system utilizing a scalable, non-blocking, high bandwidth central memory controller and method | |
US6374314B1 (en) | Method for managing storage of data by storing buffer pointers of data comprising a sequence of frames in a memory location different from a memory location for pointers of data not comprising a sequence of frames | |
US6678277B1 (en) | Efficient means to provide back pressure without head of line blocking in a virtual output queued forwarding system | |
US6912566B1 (en) | Memory device and method for operating the memory device | |
JP3631950B2 (ja) | 通信装置 | |
US7161950B2 (en) | Systematic memory location selection in Ethernet switches | |
JPS63262941A (ja) | データリンク制御器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040909 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040914 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041115 |
|
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: 20041214 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041220 |
|
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: 20071224 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081224 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091224 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091224 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101224 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111224 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111224 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121224 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121224 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131224 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |