JP3616563B2 - Shared buffer packet switch - Google Patents

Shared buffer packet switch Download PDF

Info

Publication number
JP3616563B2
JP3616563B2 JP2000283567A JP2000283567A JP3616563B2 JP 3616563 B2 JP3616563 B2 JP 3616563B2 JP 2000283567 A JP2000283567 A JP 2000283567A JP 2000283567 A JP2000283567 A JP 2000283567A JP 3616563 B2 JP3616563 B2 JP 3616563B2
Authority
JP
Japan
Prior art keywords
packet
buffer
transmission
address
queue
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
JP2000283567A
Other languages
Japanese (ja)
Other versions
JP2001160827A (en
Inventor
田中  敦
三夫 山本
Original Assignee
日本電気エンジニアリング株式会社
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 日本電気エンジニアリング株式会社 filed Critical 日本電気エンジニアリング株式会社
Priority to JP2000283567A priority Critical patent/JP3616563B2/en
Publication of JP2001160827A publication Critical patent/JP2001160827A/en
Application granted granted Critical
Publication of JP3616563B2 publication Critical patent/JP3616563B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は共有バッファ方式のパケットスイッチ、特にLAN(ローカルエリアネットワーク)等で使用するパケットスイッチ装置やルータ装置のバッファアドレスのキュー管理に関する。
【0002】
【従来の技術】
IEEE802.3に代表されるCSMA/CD(Carrier Sense Multiple Access / Collision Detection)方式であり、一般にイーサネットと称されるLANにおいて、スター型接続形態(トポロジー)を構成するスイッチエレメント、特にパケットスイッチ装置やルータ装置には、パケットデータをバッファリングしてスイッチングを実現する際、バッファのアドレスをキュー管理する技術が使用されている。
【0003】
従来の技術の例として,特開平11−163870号公報の「共有バッファ型ATMスイッチ」や特開平10−32581号公報の「ATMセルスイッチ」に記載されている、共有バッファ方式のATMセルスイッチを実現するための、バッファアドレスのキュー管理の技術がある。
【0004】
上記公報には、ATMセルスイッチにおいて共有バッファ方式を実現するための一般的な技術として,共有バッファの空きアドレスを管理する空きアドレス管理キューと、複数の送信チャンネルに対する送信順序を制御する送信アドレス管理キューの基本的な構成と動作が開示されている。
【0005】
先ず、本発明による理解を容易にするために、従来の共有バッファ方式のスイッチエレメントについて図12および図13を参照して簡単に説明する。
【0006】
図12を参照して、共有バッファ方式のスイッチエレメント全体の構成及び動作を説明する。共有バッファ方式のパケットスイッチは、ポート6051〜6054に接続された送受信制御部6011〜6014、これに送受信データバス6021〜6024を介して接続されたパケットスイッチエレメント6001、これに夫々バス6031および6041を介して接続された共有バッファメモリ6003およびキューメモリ6002を含んでいる。各ポート6051〜6054は、それぞれLAN回線を収容する。各ポート6051〜6054から受信されたパケットデータは、送受信制御部、例えば6011で、パラレル信号に変換され、パラレル信号の送受信データバス6021を介して、パケットスイッチエレメント6001に渡される。パケットスイッチエレメント6001は回線から受信したパケットデータを全て、共有バッファメモリ6003に一旦格納する。送信する場合は、パケットスイッチエレメント6001が自ら記憶してあるメモリの番地を使って、共有バッファメモリ6003から格納してあったパケットデータを読出し、パラレル信号の送受信データバス、例えば6022を介して、送受信制御部6012に送り、対応するポート6052からLAN回線に送信される。
【0007】
次に、図13を参照して、スイッチエレメントの構成及び動作を説明する。このスイッチエレメントは、受信ポート7011〜7014および送信ポート7015〜7018に接続されたスイッチエレメント7001およびキューメモリ7002、共有メモリ7003より構成される。キューメモリ7002は、空きバッファアドレス管理回路部7004および送信バッファ管理回路部7005を含んでいる。先に説明した、送受信制御部(図12の6011〜6014)とのインタフェースであるパラレル信号の送受信データバス7020および7021は、複数の受信ポート7011〜7014単位で、1つの受信データバス7020としてスイッチエレメント7001に入力される。また、複数の送信ポート7015〜7018単位で1つの送信データバス7021として、スイッチエレメント7001から出力される。
【0008】
図13では受信データバス7020および送信データバス7021が、それぞれ各1の場合であるが、複数である場合もある。また、受信データバス7020および送信データバス7021が同一バスであってもよい。共有メモリ7003との接続は、メモリの番地を示すアドレスバス7030とデータバス7031により行われる。
【0009】
スイッチエレメント7001は、共有メモリ7003上の空きバッファの番地を管理している、空きバッファアドレス管理回路部7004と、送信すべきパケットの順序を、送信ポート単位に、共有メモリ7003に格納されているバッファの番地として管理する、送信バッファ管理回路部7005をそれぞれ有している。
【0010】
スイッチエレメント7001は、受信データバス7020からパケットデータを受信した場合、空きバッファアドレス管理回路部7004から、格納できるバッファのアドレスを得て、共有メモリ7003にパケットデータを格納する。これと同時に、そのバッファアドレスの情報を送信バッファ管理回路部7005に送り、送信すべきポートの送信バッファの待ち行列に登録される。また、送信側では、この待ち行列に従い、共有メモリ7003からパケットを読み出し、送信データバス7021に出力する。この時、読出しに使用したパケットのバッファアドレスは、空きバッファアドレス管理回路部7004に返還され、別の受信データを格納する際に再度使用される。
【0011】
以上から、共有メモリ方式の場合は、送信バッファ管理回路部7005において、共有メモリ上の何処に格納されたパケットデータでも読出せる必要がある。これは、空きバッファアドレス管理回路部7004と送信バッファ管理回路部7005が管理できるメモリエリアが、共に同じである必要がある。また、アドレス情報を相互にやり取りする必要がある。
【0012】
また、マルチキャストパケットにおけるバッファ解放処理の従来技術の例として、特開平10−294740号公報に記載されている、共有バッファ方式のATMセルスイッチを実現するための、マルチキャストバッファアドレス管理の技術がある。
【0013】
【発明が解決しようとする課題】
上記従来の技術は,共有バッファの空きアドレス管理キューと、出力制御のアドレス管理キューの基本的な構成について開示している。スイッチエレメントのスイッチ容量を大きくする目的で、パケットスイッチエレメント(図12の6001)を、同一デバイスが複数積み重なったビルディングブロック(積み木)構成にした場合、共有バッファのアドレス制御回路部も、複数存在することになり、アドレス管理キューは分散して実装され、並列処理を行うことになる。これらの実現手段に対しては、共に開示されていないため、従来の技術のままでは、スイッチ容量の拡大ができないという問題がある。
【0014】
また別の実現手段として、同様にスイッチングエレメント部を、同一デバイスが複数積み重なったビルディングブロック構成にし、共有バッファのアドレス制御回路部は、これとは別のデバイス1つで実現しようとする場合、スイッチエレメントを実現するデバイスの種類が増えるという問題がある。
【0015】
これらに加え、従来例のATMスイッチにおいては、セルと呼ばれる固定バイト長データをスイッチする技術であり、イーサネットの可変長パケットをスイッチする技術に関しては特に開示がなく、ATMスイッチで扱うセルと同様に固定バイト長のデータとして扱うとすれば、常にイーサネットの最長バイト長のパケットデータを想定したバッファを準備する必要があり、短いバイト長または最小バイト長のパケットデータのスイッチング動作が頻発する場合は、バッファを効率的に使用できないという問題がある。
【0016】
また、公知例として示したマルチキャストパケットにおけるバッファ解放処理では、ビルディングブロック(積み木)構成によりアドレス管理キューが分散されて実装された場合の実現手段に対しては、記載されていないため、従来の技術のままでは、マルチキャストパケットのスイッチングが出来ない問題がある。
【0017】
【発明の目的】
そこで本発明の目的は、共有バッファのアドレス制御回路部を、同一デバイスが複数積み重ねるビルディングブロック(積み木)構成により実施可能にする共有バッファ方式のパケットスイッチを提供することである。
【0018】
【課題を解決するための手段】
前述の課題を解決するため、本発明による共有バッファ方式のパケットスイッチは、次のような特徴的な構成を採用している。
【0019】
(1)バッファのアドレスをキュー管理する制御回路が複数のデバイスに分散する構成である共有バッファ方式のパケットスイッチにおいて、
共有バッファの空きバッファアドレスを管理する空きアドレス管理キューは、複数のデバイスのそれぞれに存在し、そのうちの特定の1つのみを動作させて、空きバッファのアドレス情報を一元管理する共有バッファ方式のパケットスイッチ。
【0020】
(2)パケットを構成する単位バッファのチェインを管理する使用済みアドレス管理キューは、分散した各デバイス単位に存在させ、各デバイスが一つのパケットで使用した単位バッファの順序情報を同時に同じ情報として冗長的に管理する上記(1)の共有バッファ方式のパケットスイッチ。
【0021】
(3)各送信チャンネル毎のパケット送信順序を管理する送信アドレス管理キューは、分散した各デバイス単位に存在させ、各デバイスが送信するパケットの順序情報を独立して管理する上記(1)又は(2)の共有バッファ方式のパケットスイッチ。
【0022】
(4)任意の送信アドレス管理キュー間で、送信パケットの移動を行う場合、送信アドレス管理キューによりパケットの容量が単位バッファよりも大きく、複数の単位バッファで格納されている場合であっても、一つのパケットを構成する単位バッファの接続情報を管理し、この管理情報は各デバイスで同時に同じ情報をもつため管理情報の移動を行わない上記(2)の共有バッファ方式のパケットスイッチ。
【0023】
(5)空きアドレス管理キューと送信アドレス管理キュー又は使用済みアドレス管理キュー間でアドレスのハンドシェイクを行い、エンキューおよびデキューするアドレス情報のパスを、共有メモリのデータバスを時分割に使用する際のメモリアドレスバスを使用して行う上記(2)又は(3)の共有バッファ方式のパケットスイッチ。
【0024】
(6)マルチキャストパケットを一時的に保持するマルチキャスト管理キューは、各デバイス単位が送信する同報パケットの順序を個別に管理する上記(2)または(3)の共有バッファ方式のパケットスイッチ。
【0025】
(7)マルチキャストパケットのバッファ解放処理において、分散した各デバイス単位に、自デバイスが管理している宛先への送信が全て完了したことを認識する手段は、各デバイス単位に存在させ、各デバイスからの送信完了通知を受けて、全デバイスの送信が全て完了したことを認識する手段は、各デバイスに存在させ、空きアドレス管理キューが動作するのと同じデバイスにおいて同時に動作させ、該バッファの解放処理を行う上記(6)の共有バッファ方式のパケットスイッチ。
【0026】
【発明の実施の形態】
次に,本発明による共有バッファ方式のパケットスイッチの実施形態例について図面を参照して詳細に説明する。
【0027】
図2は、本発明による共有バッファ方式のパケットスイッチによるパケットスイッチ装置2000およびそれに接続される複数のLANセグメント2011〜2014を有するシステム構成図である。このネットワークにつき簡単に説明する。
【0028】
パケットスイッチ装置2000は、複数のLANセグメント2011〜2014を集線接続し、スター型のLANトポロジーを構成する。ここで想定するLANとは、IEEE802.3に代表される、CSMA/CD(Carrier Sense Multiple Access/Collision Detection)方式の、通常イーサネットと称されるLANで、10Mbpsや100Mbpsや1Gbpsの全二重又は半二重の通信速度を持つ。
【0029】
次に、これらLANセグメント2011〜2014について説明する。
【0030】
これらLANセグメント2011〜2014は、伝送路と10Mbpsや100Mbpsや1Gbpsの通信帯域を共有する単位とする。LANセグメント2011、2013および2014は、スイッチング機能を持たない、単純なリピータ機能を有する集線装置(単にリピータ・ハブという)2021、2023および2024で、各端末がやはりスター型に接続された構成である。また、LANセグメント2014で示すように、リピータ・ハブ2021、2023、2024の機能によっては、一部ブランチ型に端末を接続することも可能な場合がある。いずれにせよ、これらリピータ・ハブ2021、2023、2024により構成された1つのセグメント内においては、CSMA/CDの方式に従って、各セグメント2011〜2014内の全端末およびパケットスイッチ装置2000のポートで、伝送路および通信帯域を共有する半二重通信である。
【0031】
他方、LANセグメント2012は、サーバ装置2022への接続によく見られる形態で、リピータ・ハブを用いず、パケットスイッチ装置2000のポートに対し、1対1の接続で、全二重の通信が可能とされている。
【0032】
LAN上で通信されるパケットのフレームフォーマットは、従来構成であり、図10に示す如く、DA(Destination−Address),即ち宛先アドレス情報とSA(Source Address)即ち発信元アドレス情報を含んである。DATAは情報データの部分で可変長である。通常のイーサネットでは、パケット全体で64バイトから1518バイトのフレーム長となっている。
【0033】
パケットスイッチ装置2000は、このフレームフォーマットを持つパケットデータを、1つのLANセグメント、例えば2011から受信し、DA情報に基づき、別のLANセグメント、例えば2012に対して、そのパケットデータを転送する、スイッチング動作を実現する装置である。
【0034】
次に、図3を参照して図2のパケットスイッチ装置2000の構成について詳細に説明する。
【0035】
LANセグメント2011〜2014に接続される部分をポートと呼び、通常は8〜32個程度又は場合によってはそれ以上のポート数を有する。図3のパケットスイッチ装置2000の場合はポート#0〜ポート#fの合計16ポートである。
【0036】
4個のポートの送受信制御部3011〜3014は、1つ又は複数のポート単位に存在し、通常1つのデバイスとネットワークのアドレス情報を格納する制御メモリで構成される。図3の例では、4本のポート単位で、送受信制御回路は存在する。接続されたLANの回線に対し、パケットデータの送受信動作を実現する。主な処理は、シリアルデータで通信されるLAN回線と、パラレル処理する装置内部のデータバスとの間の、データのシリアル/パラレル変換処理と、受信したパケットに含まれる宛先情報を解析し、送信先ポートを決定する処理である。
【0037】
共有メモリ3020は、SRAM(スタティックRAM)又はDRAM(ダイナミックRAM)のメモリデバイスで構成され、パケットデータを一時的に保持する。パケットデータは、予め仕切られたパケットバッファと呼ぶスペースに格納される。パケットバッファの番地(アドレス)はスイッチエレメントが持つキュー方式のバッファ管理回路によって管理される。
【0038】
4個のスイッチングエレメント3001〜3004は、1つのデバイスとバッファ管理を行う制御メモリ(キューメモリ)で構成される。送受信制御部3011〜3014とは、パラレル展開された送受信データバス3051〜3054で接続される。その接続の形態は、送受信データバスのビット幅をtxkビットとし、スイッチングエレメント3001〜3004のデバイスの数を4とした場合、tビット単位でビットスライスされた、tビット幅を持つ送受信データバス3041〜3044が、4個あるスイッチングエレメント3001〜3004に接続される。
【0039】
共有メモリ3020との接続は、スイッチングエレメント3001〜3004が、各々独自に共有メモリ3061〜3064に共有メモリデータバス3031〜3034で行なわれる。つまり、共有メモリデータバス3031〜3034も4等分にビットスライスされている。
【0040】
図4を参照して、本発明による共有バッファ方式のパケットスイッチにおけるキュー管理の実施形態について詳細に説明する。
【0041】
本発明による共有バッファ方式のパケットスイッチは、受信データバスがn本(図3の例では4本)と、送信データバスがn本(図3の例では4本)で、1本の受信データバス又は送信データバスで、m本のLAN回線に接続されたポートを収容し、スイッチングエレメント全体で、mxn本のポート本数を収容する構成である。
【0042】
受信データバスと送信データバスの接続は、1つのデータバス幅をスイッチエレメントの個数分の1にビットスライスして接続する(図3の例)。つまり、同一のスイッチエレメントが複数で、ビルディングブロック(積み木)型の構成をとることで、処理するデータ量をスイッチエレメントの個数倍に増やす構成のパケットスイッチ装置である。
【0043】
1個目のスイッチエレメント4051はデータの送受信部4002とキュー管理制御部4001から構成される。LANのポート側の接続は、n本分の受信データバス4011と、n本分の送信データバス4012で接続されている。共有メモリ4300とはメモリのアドレスバス4330と、データバス4310で接続された構成である。
【0044】
2個目のスイッチエレメント4151からn個目のスイッチエレメント4251も同様の構成をとる。
【0045】
各スイッチエレメント4051(および4151,4251)の受信部4003(および4103,4203)は、各々の受信データバス4011(および4111,4211)から受信パケットを認識すると、同一デバイス内のキュー管理制御部4001(および4101,4201)に対して、受信パケット通知4021(および4121,4221)を行う。各々の受信部4003(および4103,4203)は、mxn本のポートに対する全ての受信パケットに対してその通知を行う。
【0046】
受信パケットは、データバス4013(および4113,4213)を介して共有メモリ4300に転送する。
【0047】
キュー管理制御部4001は、デバイスの位置情報等により、1つめのスイッチエレメント4051に存在するキュー管理制御部であることを認識し、受信パケットを格納するバッファの空きアドレス4032を出力する。他のスイッチエレメントに存在するキュー管理制御部4101および4201は出力しない。
【0048】
送信部4004(および4104,4204)は、キュー管理制御部4001(および4101,4201)から、m本のポートに対する送信キュー情報4022(および4122,4222)の通知を受け、送信ポートを決定する。
【0049】
キュー管理制御部4001(および4101,4201)は、送信部4004(および4104,4204)が決定したポート番号4023(および4123,4223)の通知を受け、送信パケットの読み出しアドレス4032(および4132,4232)を出力する。送信パケットデータ4014(および4114,4214)は、送信部4004(および4104,4204)に転送され、送信データバス4012(および4112,4212)から転送される。
【0050】
次に、図1を参照して、キュー管理制御部4001〜4201の具体例について詳細に説明する。
【0051】
空きアドレス管理キュー1010は1つめのスイッチエレメントであるデバイス0でのみ動作する。他のスイッチエレメントにおいても同一デバイスである以上は空きアドレス管理キュー1110及び1210の回路は存在するが動作しない。
【0052】
使用済みアドレス管理キュー部1020(および1120,1220)は、使用済みアドレス管理キュー0(1021)、使用済みアドレス管理キュー1および使用済みアドレス管理キューk(1022)から成る。1つのパケットを構成する単位バッファのチェインを管理するキューで、存在するパケットの数だけキューは存在する。また、各スイッチエレメントにおいて、使用済みアドレス管理キュー部の内容は同一である。
【0053】
デバイス0のスイッチエレメントの送信アドレス管理キュー部1030は、送信アドレス管理キュー00(1031)、送信アドレス管理キュー01、及び送信アドレス管理キュー0m(1032)から成る。つまり、送信データバス0配下に存在する送信ポート単位に存在し、パケットを格納したバッファの先頭アドレスのみキューイングし、その送信順序を管理する。デバイス1以降の送信アドレス管理キュー部1130および1230も同様に、それぞれ送信データバス1および送信データバスn配下の送信ポートに対応した送信アドレス管理キューを行う。
【0054】
次に,本発明による共有バッファ方式のパケットスイッチの実施形態例の動作について,図面を参照して詳細に説明する。
【0055】
先ず、図3を参照して、本発明による共有バッファ方式のパケットスイッチによるパケットスイッチ装置2000の動作について詳細に説明する。
【0056】
ポートでシリアルデータとして受信したパケットデータは、送受信制御部、例えば3011で、シリアル/パラレル変換処理され、受信データバスに出力される。その際、送受信制御部3011は、受信したパケットに含まれる宛先情報を解析し、送信先のポートを決定する処理を行い、受信データバスに出力するパケットデータに送信先ポート情報を付加する。
【0057】
送信先ポート情報はビットスライスされ、分割されたバス単位に同一の内容が付加される。複数存在するスイッチングエレメント3001〜3004の各々は、その送信先ポート情報を見て、自デバイスで管理すべき送信パケットか否かの判断を行う。また、パケットデータに対しては、受信の場合、自デバイスが接続されたビットスライス位置の受信データバスを介して送られてきたデータを、自デバイスが接続する共有メモリ3020に格納する。
【0058】
送信の際も同様で、自デバイスが接続する共有メモリ3020から読出したデータを、送信データバスの自デバイスが接続されたビットスライス位置の送信データバスに出力する。
【0059】
次に、図1を参照しながら、本発明によるスイッチエレメントのキュー管理の動作について詳細に説明する。先ず、受信側動作について説明する。
【0060】
スイッチエレメント(図4の4051〜4251)は、n本の受信データバス4011〜4211から1つ又は複数のパケットを受信すると、キュー管理制御部4001〜4201に対して、パケット受信の通知4021〜4221として、受信ポートの情報とそのパケットの宛先情報の通知を行う。
【0061】
先ず、空きアドレス管理キュー1010は、このパケット受信の情報からパケットを格納するための空きバッファのアドレスを、受信部(図4の4003、4103および4203)がビットスライスされて転送された受信データを共有メモリに転送するタイミングに同期して、共有メモリへの書込みアドレスとして出力する。同期させるタイミングは、予め定めたタイムスロットにより、双方共にこれを知る。尚、この空きアドレス出力はデバイス0の空きアドレス管理キュー1010のみ行う。
【0062】
同時に、各デバイスの使用済みアドレス管理キュー、例えば1120は、空きアドレス管理キュー1010が出力したアドレスをエンキューパス、例えば1140から受け取り、パケットを構成する単位バッファのチェインを管理する。
【0063】
可変長のパケットデータをパケットメモリに格納する動作について、図5を参照して説明する。パケットメモリは容量bバイトの単位バッファの単位で使用する。パケットは、データ長をPバイトとすると、下式で表されるp個の単位バッファを使用してバッファに格納する。
((p−1)*b) < P ≦ (p*b),(p=1、2、3…)
【0064】
この単位バッファのチェインを管理するのが使用済みアドレス管理キュー5201である。パケットの先頭bバイト5001を格納する単位バッファ5101のアドレスをba01、続くbバイトを格納する単位バッファ5102のアドレスをba02、同様にチェインする単位バッファ5103のアドレスをba03とすれば、使用済みアドレス管理キュー5201が示す先頭のバッファアドレスはba01となり、最後尾を示すアドレスはba0pとなる。
【0065】
受信パケットが転送される形態としては、複数のポートから受信した各々のパケットは、単位バッファの単位でマルチブレクスされて受信データ上を転送される。これに対し使用済みアドレス管理キュー、例えば1020は、同時に転送される受信ポートの情報から、各受信ポート単位に1つのパケットとして組立直すことができる。
【0066】
また、同時に、送信アドレス管理キュー、例えば1130は、受信部が出したパケットの宛先情報の通知と、デバイスの位置情報から、自デバイスが管理すべき送信ポート宛であるかの判断をする。
【0067】
もし、管理対象の送信ポート宛パケットデータであった場合には、エンキューパス、例えば1140から受信パケットの先頭の格納アドレスのみを受取り、該当する送信バッファキューの最後にエンキューする。もし、管理対象の送信ポート宛パケットデータで無かった場合、無視し、エンキュー動作も行わない。
【0068】
次に、送信側の動作を説明する。送信アドレス管理キュー部、例えば1130は、各送信アドレス管理キューに送信すべきパケットのアドレスがキューイングされているか否かの情報(図4の4122)を、スイッチエレメントの送信部(図4の4104)に常に転送する。送信部はこの情報に基づき、送信すべきポートの番号を決定し、その結果を予め決めておいたタイムスロットに従い、送信アドレス管理キュー部1130に送信要求として通知する(図4の4123)。
【0069】
パケットの先頭からの送信の場合、送信アドレス管理キュー部1130は、この通知に従い、該当する送信アドレス管理キュー、例えば1131からパケットの先頭のアドレスを1つ取出し、デキューパス1141を介して共有メモリのアドレスバス1330に、パケットの読出しアドレスとして出力する。
【0070】
パケットデータの読出しと同時に、共有メモリのアドレスバス1330に出力されたバッファのアドレスは、空きアドレス管理キュー1010のエンキューパス1050を介して空きアドレス管理キュー1010にエンキューされ、その単位バッファは解放される。
【0071】
p=2以上のパケットで、先頭の単位バッファ以外の送信の場合は、使用済みアドレス管理キュー部1120が、送信部(図4の4123)の通知に従い、バッファのアドレスを1つ取出し、デキューパス1141を介して共有メモリのアドレスバス1330に、パケットの読出しアドレスとして出力する。パケットデータの読出しと同時に、共有メモリのアドレスバス1330に出力されたバッファのアドレスは、空きアドレス管理キュー1010のエンキューパス1050を介して空きアドレス管理キュー1010にエンキューされ、その単位バッファは解放される。
【0072】
次に、本発明による共有バッファ方式のパケットスイッチの動作を図6〜図8を参照して詳細に説明する。先ず、図6を参照して、受信データバス上で転送されるパケットデータの形式を説明する。横の4本の列8000〜8003は、8ビット単位にビットスライスされた受信データバスで、各々8ビット幅を持つ。縦の行8010、8011、8012、8013・・・は、受信データバス1ワードを表し、上の行8010のワードから順に転送される。
【0073】
行番号8010のワードは、送受信制御回路部により付加された、送信先のポートを示す送信先ポート情報(RH)である。送信先ポート情報(RH)は、ビットスライスされた受信データバス全てに付加することで、全てのスイッチングエレメントが受信できる。送信先ポート情報(RH)には、受信ポートの情報と、送信先ポートの情報と、パケットの先頭からのデータであるかの情報と、パケットの終りを含んだデータであるかの情報等が含まれる。行番号8011以降は、ポートから受信した、D00、D01、D02、D03、D04・・・のバイト順序を持つパケットデータで、バイト単位にビットスライスされ、各スイッチングエレメントに転送される。
【0074】
次に、キュー方式のバッファ管理の動作について、図7および図8を参照して詳細に説明する。図8は共有メモリ上で、パケットデータが格納されるイメージを示す。この例では、8バイト単位にビットスライスされた共有メモリが4つで1ワードを構成し、64バイトを1つのバッファの単位とし、そのバッファの番地は、それぞれ番地a、番地b、番地cのワードアドレスの構成である例である。
【0075】
図7の例は、これらのバッファが夫々番地a、番地b、番地c、・・・番地eの順に、キューに格納されている状態を表す(9003)。スイッチエレメントのデバイス内の空きアドレス管理キュー又はポート単位に存在する送信アドレス管理キュー9001では、キューメモリ9002に存在するバッファキューの先頭のポインタ9011と最後尾のポインタ9012のみ保持する。
【0076】
本発明によるスイッチエレメントでは、このキューのポインタをバッファアドレスに直接対応させる。これにより、キューメモリ9002をアクセスする際のポインタ(キューメモリのアドレス)がバッファアドレスにも対応する。つまり、先頭のポインタ9011は、キューに登録された先頭のバッファアドレス(番地a)で、先頭のポインタ(番地a)が示すキューメモリの番地に、2番目のバッファアドレス(番地b)が格納されている。
【0077】
キューに登録された先頭のバッファアドレス(番地a)を取出すデキュー動作を説明する。先ず、先頭のポインタ9011の内容を直接空きバッファアドレス又は送信バッファアドレスとして使用する。このため高速にバッファアドレスの生成が行える。続いて、共有メモリのアクセスを行っている間に、今使用した先頭のポインタ9011をキューメモリのアドレスとして使用し、次のバッファアドレスを読出し、この値で、先頭のポインタ9011を更新する。
【0078】
キューの最後に、新たにバッファアドレスを登録する、エンキュー動作を説明する。先ず、最後尾のポインタ9012をキューメモリのアドレスとして使用し、登録すべきバッファアドレスをそこに書込む。また、この値で、最後尾ポインタ9012を更新する。
【0079】
次に、共有メモリのアクセスを行う際のタイムスロットに関して、図9を参照して詳細に説明する。この例では、4つの受信データバスに対応した受信パケットデータの格納動作と、4つの送信データバス対応した送信パケットデータの読出し動作の、合計8つの、共有メモリに対するスイッチエレメントのマスタ動作が存在する。よって、3ビットの常時動作(フリーラン)カウンタにより8値を発生し、8つのマスタ動作のタイムスロットに割当てる。図9の例では、カウンタの値=000bの場合、受信データバス#0に対応するの共有メモリへの書込みデータ転送動作で、カウンタの値=100bの場合、送信データバス#0に対応する共有メモリからのリードデータ転送動作となる。
【0080】
次に、本発明による共有バッファ方式のパケットスイッチを使用するパケットスイッチ装置の他の実施形態について、図1を参照して説明する。
【0081】
異なるデバイス間の送信アドレス管理キューで、キューのつなぎ換え動作に関して説明する。送信アドレス管理キュー00(1031)はLAN回線のポート宛のキューではなく、本装置内のCPU宛の送信キューとする。換言すると、通常LAN回線のポートが存在する場所に、CPUの処理ポートが位置する構成である。パケットスイッチ装置(図2の2000)において、受信したパケットの送信先が解決できなかった場合は、一旦CPU宛の送信アドレス管理キュー00(1031)にキューイングし、ソフトウエア処理にて、そのパケットの転送先を決定する動作が発生する。
【0082】
この場合、CPUは送信アドレス管理キュー00(1031)を直接読出し、宛先不明のパケットが格納されているバッファのアドレスを知り、宛先の解決に必要な情報のみ共有バッファ上のパケットから取出す。CPUは宛先を解決すると、受信部(図4の4003)を経由して、パケット受信の通知(図4の4021)のパスを利用して、キューのつなぎ換え要求を通知する。
【0083】
空きアドレス管理キュー1010は、パケット受信の通知(図4の4021)が、キューのつなぎ換え要求であった場合は、通常の空きアドレスのデキュー動作を行わず、メモリへの書込み動作も行わない。その代わり、送信アドレス管理キュー00(1031)は先頭のアドレスをデキューし、デキューパス1041を介して、アドレスバスに出力する。
【0084】
使用済みアドレス管理キュー部、例えば1120は、通常のパケット受信では無いと判断し、このパケット受信の通知(図4の4021)は無視する。他の送信アドレス管理キュー、例えば1130は、このパケット受信の通知(図4の4021)を通常のパケット受信に同様と判断し、該当送信ポートに対応する送信アドレス管理キューにエンキューする。このとき、もし、パケット長がp=2以上で単位バッファのチェイン情報が必要なパケットで、且つ異なるデバイス間の送信アドレス管理キューに移動したとしても、使用済みアドレス管理キューは全デバイスで同じ内容を保持しているため、問題とならず、容易にキューのつなぎ換えが可能となる。
【0085】
次に、本発明のスイッチエレメントを使用するパケットスイッチ装置の第3の実施の形態について、図11を参照して説明する。図11は、マルチキャストパケットのスイッチング処理におけるキュー管理制御部の構成図である。
【0086】
マルチキャストアドレス管理キュー13020〜13220は、各デバイス単位に存在し、マルチキャストパケットの一時的なキュー管理を行う。エンキューパスセレクタ13040〜13240は、送信アドレス管理キュー13030〜13230へのエンキューパス13072〜13272を選択する。ユニキャストパケット受信時は、エンキューパス13070〜13270を選択し、受信の無い空き時間は、エンキューパス13071〜13271を選択する。送信ポートカウンタ13050〜13250は、各デバイス単位に存在し、パケット毎の宛先ポート数の記憶、単位バッファ毎の送信済みポート数の記憶、および宛先ポート数と送信済みポート数の比較を行う。
【0087】
デバイスカウンタ13060は、空きアドレス管理キュー13010が動作するデバイスのみに存在させ、単位バッファ毎の送信済みデバイス数の記憶、およびデバイスの構成情報から得られるデバイス数と送信済みデバイス数の比較を行う。
【0088】
まず、マルチキャストパケットのスイッチング動作に関して説明する。
受信部(図4の4003)から受け取ったパケット受信の通知(図4の4021)がユニキャストパケットであった場合、第1の実施の形態で述べた通り、パケットの宛先情報とデバイスの位置情報から、管理対象のデバイスのみ、送信アドレス管理キュー13030〜13230にエンキューしていた。これは、エンキューパスセレクタ13040〜13240がエンキューパス13070〜13270に選択された場合である。
【0089】
これに対し、パケット受信の通知(図4の4021)がマルチキャストパケットであった場合、全てのデバイスのマルチキャストアドレス管理キュー13020〜13220に一時的にエンキューする。その後、各デバイスは、それぞれ独立して、ユニキャストパケットの受信の有無を監視し、空き時間にエンキューパスセレクタ13040〜13240をデキューパス13071〜13271側に切り替えて、マルチキャストアドレス管理キュー13020〜13220からデキューし、宛先となる複数の送信アドレス管理キュー13030〜13230へエンキューする、キューの積み替えを行う。
【0090】
このとき、もし、パケット長がp=2以上で単位バッファのチェイン情報が必要なパケットであったとしても、使用済みアドレス管理キュー13090〜13290は、全デバイスで同じ内容を保持しているため、問題とならない。また、パケットの実体は、共有メモリ上に1つしか存在せずに、キューエントリのコピーだけを各デバイスで分散処理するため、高速なスイッチング動作が可能となる。
次に、共有バッファの解放動作に関して説明する。
【0091】
マルチキャストパケットは、共有メモリ上に1つしか存在しないため、全宛先への送信が完了してからでないと、そのバッファを解放することができない。
【0092】
まず、マルチキャストアドレス管理キュー13020〜13220からデキューし、送信アドレス管理キュー13030〜13230へエンキューする際、各デバイス単位にエンキューした宛先ポート数を送信ポートカウンタ13050〜13250に記憶する。同時に、送信済みポート数として、初期値の“0”を書き込んでおく。
【0093】
次に、送信の際、送信アドレス管理キュー13030〜13230からデキューされたパケットが、マルチキャストパケットであった場合、送信ポートカウンタ13050〜13250から該パケットに対応する宛先ポート数と、該バッファに対応する送信済みポート数を取り出し、送信済みポート数を+1し、宛先ポート数と不一致ならば、+1した送信済みポート数を送信ポートカウンタ13050〜13250に書き戻し、一致したら、送信完了通知13074〜13274を起動する。デバイスカウンタ13060では、各デバイスからの送信完了通知13500を受けると、該バッファに対応する送信済みデバイス数を取り出し、これに+1し、デバイスの構成情報から得られるデバイス数と不一致ならば、+1した送信済みデバイス数をデバイスカウンタ13060に書き戻し、一致したら、全宛先への送信が完了したと判断し、エンキューパス13080により、該バッファのアドレスを空きアドレス管理キュー13010にエンキューし、該バッファを解放する。
【0094】
また、パケット長がp=2以上で単位バッファのチェイン情報が必要なパケットであった場合、2個目のバッファ以降は、バッファのアドレスを使用済みアドレス管理キュー13090〜13290から取り出し、同様にバッファを解放する。
【0095】
さらに、解放動作においても、使用済みアドレス管理キュー13090〜13290は、全デバイスで同じ内容を保持しているため、問題とならない。
【0096】
以上、本発明による共有バッファ方式のパケットスイッチの好適実施形態例の構成および動作を詳細に説明した。しかし、本発明は斯かる特定実施形態例のみに限定されるべきではなく、本発明の要旨を逸脱することなく種々の変形変更が可能であること、当業者には容易に理解できよう。
【0097】
【発明の効果】
上述の説明から明らかな如く、本発明による共有バッファ方式のパケットスイッチによると、共有バッファ方式の同一のスイッチエレメントを複数個使用して、大規模(大容量)構成のパケットスイッチ装置が容易に実現できるという実用上の顕著な効果を有する。その理由は、共有バッファ方式を実現する、バッファ管理部を、従来中央1箇所に存在するべきところ、スイッチエレメントのデータ処理部分をビットスライス等の技術により、ビルディング構成にする場合にも対応するキューの構造を実現させたからである。
【図面の簡単な説明】
【図1】本発明による共有バッファ方式のパケットスイッチの実施形態例を示す機能構成図である。
【図2】本発明による共有バッファ方式のパケットスイッチを用いるネットワークの構成図である。
【図3】本発明による共有バッファ方式のパケットスイッチにおけるパケットスイッチ装置の構成図である。
【図4】本発明による共有バッファ方式のパケットスイッチにおける複数のスイッチングエレメントの接続を示す構成図である。
【図5】本発明による共有バッファ方式のパケットスイッチにおけるパケットを構成するバッファの形態示す構成図である。
【図6】本発明による共有バッファ方式のパケットスイッチにおけるスイッチングエレメントへの入出力データの構成図である。
【図7】本発明におけるバッファポインタのキュー管理を示す機能構成図である。
【図8】本発明におけるタイムスロットの例を示すタイミングチャートである。
【図9】本発明におけるバッファメモリ上に格納されるデータの構成図である。
【図10】本発明で通信されるパケットデータのフォ−マットである。
【図11】本発明の他の実施形態を示す機能構成図である。
【図12】従来の共有バッファ方式のパケットスイッチ装置の機能構成図である。
【図13】従来の共有バッファ方式のパケットスイッチ装置を構成するスイッチングエレメントの機能構成図である。
【符号の説明】
2000 パケットスイッチ装置
1010、1110、1210、13010 空きアドレス管理キュー
1020〜1022、1120〜1122、1220〜1222、13090、13190、13290 使用済みアドレス管理キュー
1030〜1032、1130〜1132、1230〜1232、13030、13130、13230 送信アドレス管理キュー
1040、1050、13070、13072、13080、13170、13172、13270、13272 エンキューパス
1041、1051、13071、13073、13171、13173、13271、13273、13300、13400 デキューパス
3020、3061〜3064、4300 共有メモリ
13020、13120、13220 マルチキャストアドレス管理キュー
13040、13140、13240 エンキューパスセレクタ
13050、13150、13250 送信ポートカウンタ
13060 デバイスカウンタ
13074、13174、13274、13500 送信完了通知
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a shared buffer type packet switch, and more particularly to queue management of buffer addresses of packet switch devices and router devices used in a LAN (local area network) or the like.
[0002]
[Prior art]
It is a CSMA / CD (Carrier Sense Multiple Access / Collision Detection) system represented by IEEE 802.3. In a LAN generally referred to as Ethernet, a switch element that constitutes a star connection form (topology), particularly a packet switch device or the like The router device uses a technique for queue management of buffer addresses when switching is performed by buffering packet data.
[0003]
As an example of a conventional technique, a shared buffer type ATM cell switch described in “Shared buffer type ATM switch” of Japanese Patent Laid-Open No. 11-163870 and “ATM cell switch” of Japanese Patent Laid-Open No. 10-32581 is used. There is a technique for managing queues of buffer addresses to achieve this.
[0004]
In the above publication, as a general technique for realizing a shared buffer system in an ATM cell switch, an empty address management queue for managing an empty address of a shared buffer, and a transmission address management for controlling a transmission order for a plurality of transmission channels The basic configuration and operation of the queue is disclosed.
[0005]
First, in order to facilitate understanding by the present invention, a conventional shared buffer type switch element will be briefly described with reference to FIGS.
[0006]
With reference to FIG. 12, the configuration and operation of the entire shared buffer type switch element will be described. The shared buffer packet switch includes transmission / reception control units 6011 to 6014 connected to ports 6051 to 6054, a packet switch element 6001 connected thereto via transmission / reception data buses 6021 to 6024, and buses 6031 and 6041, respectively. The shared buffer memory 6003 and the queue memory 6002 are connected to each other. Each port 6051-6054 accommodates a LAN line. Packet data received from each of the ports 6051 to 6054 is converted into a parallel signal by a transmission / reception control unit, for example, 6011, and passed to the packet switch element 6001 via the parallel signal transmission / reception data bus 6021. The packet switch element 6001 temporarily stores all packet data received from the line in the shared buffer memory 6003. In the case of transmission, the packet data stored in the shared buffer memory 6003 is read out using the memory address stored by the packet switch element 6001 itself, and transmitted / received via a parallel signal transmission / reception data bus, for example, 6022. The data is transmitted to the transmission / reception control unit 6012 and transmitted from the corresponding port 6052 to the LAN line.
[0007]
Next, the configuration and operation of the switch element will be described with reference to FIG. This switch element includes a switch element 7001 connected to reception ports 7011 to 7014 and transmission ports 7015 to 7018, a queue memory 7002, and a shared memory 7003. The queue memory 7002 includes an empty buffer address management circuit unit 7004 and a transmission buffer management circuit unit 7005. The parallel signal transmission / reception data buses 7020 and 7021 that are interfaces with the transmission / reception control units (6011 to 6014 in FIG. 12) described above are switched as one reception data bus 7020 in units of a plurality of reception ports 7011 to 7014. Input to element 7001. In addition, a plurality of transmission ports 7015 to 7018 are output from the switch element 7001 as one transmission data bus 7021.
[0008]
In FIG. 13, the reception data bus 7020 and the transmission data bus 7021 are each one, but there may be a plurality. Further, the reception data bus 7020 and the transmission data bus 7021 may be the same bus. Connection to the shared memory 7003 is made by an address bus 7030 and a data bus 7031 indicating memory addresses.
[0009]
The switch element 7001 stores the empty buffer address management circuit unit 7004 that manages the addresses of empty buffers on the shared memory 7003 and the order of packets to be transmitted in the shared memory 7003 for each transmission port. Each has a transmission buffer management circuit unit 7005 that manages the buffer address.
[0010]
When the switch element 7001 receives packet data from the reception data bus 7020, the switch element 7001 obtains an address of a buffer that can be stored from the empty buffer address management circuit unit 7004, and stores the packet data in the shared memory 7003. At the same time, the buffer address information is sent to the transmission buffer management circuit unit 7005 and registered in the transmission buffer queue of the port to be transmitted. On the transmission side, the packet is read from the shared memory 7003 according to this queue and output to the transmission data bus 7021. At this time, the buffer address of the packet used for reading is returned to the empty buffer address management circuit unit 7004 and used again when storing other received data.
[0011]
From the above, in the case of the shared memory system, the transmission buffer management circuit unit 7005 needs to be able to read packet data stored anywhere on the shared memory. This is because the memory areas that can be managed by the empty buffer address management circuit unit 7004 and the transmission buffer management circuit unit 7005 must be the same. It is also necessary to exchange address information with each other.
[0012]
Also, as an example of a conventional technique for buffer release processing in a multicast packet, there is a technique of multicast buffer address management for realizing a shared buffer type ATM cell switch described in Japanese Patent Laid-Open No. 10-294740.
[0013]
[Problems to be solved by the invention]
The above prior art discloses the basic configuration of the shared buffer empty address management queue and the output control address management queue. For the purpose of increasing the switch capacity of the switch element, when the packet switch element (6001 in FIG. 12) has a building block (building block) configuration in which a plurality of the same devices are stacked, a plurality of shared buffer address control circuit units also exist. As a result, the address management queues are distributed and implemented in parallel. Since these implementation means are not disclosed together, there is a problem that the switch capacity cannot be increased with the conventional technology.
[0014]
As another realization means, when the switching element unit is similarly configured as a building block in which a plurality of the same devices are stacked, and the address control circuit unit of the shared buffer is to be realized by a single device different from this, a switch There is a problem that the types of devices that implement elements increase.
[0015]
In addition to these, the conventional ATM switch is a technology for switching fixed byte length data called a cell, and there is no particular disclosure regarding the technology for switching an Ethernet variable length packet, just like a cell handled by an ATM switch. If it is treated as fixed byte length data, it is necessary to always prepare a buffer that assumes the packet data of the longest byte length of Ethernet, and when switching operation of packet data of short byte length or minimum byte length occurs frequently, There is a problem that the buffer cannot be used efficiently.
[0016]
In addition, in the buffer release processing in the multicast packet shown as a publicly known example, since there is no description about the realization means when the address management queue is distributed and implemented by the building block (building block) configuration, As it is, there is a problem that switching of multicast packets cannot be performed.
[0017]
OBJECT OF THE INVENTION
SUMMARY OF THE INVENTION An object of the present invention is to provide a shared buffer type packet switch in which a shared buffer address control circuit unit can be implemented by a building block (block) configuration in which a plurality of identical devices are stacked.
[0018]
[Means for Solving the Problems]
In order to solve the above-described problem, the shared buffer packet switch according to the present invention employs the following characteristic configuration.
[0019]
(1) In a shared buffer type packet switch in which a control circuit for queue management of buffer addresses is distributed to a plurality of devices.
The free address management queue that manages the free buffer addresses of shared buffers is used by multiple devices. Each one exists, only one of them is operated, and the address information of the free buffer is obtained. A packet switch with a shared buffer system that centrally manages.
[0020]
(2) A used address management queue for managing a chain of unit buffers constituting a packet is present in each distributed device unit, The unit buffer sequence information used by each device in one packet is the same information at the same time. The packet switch of the shared buffer system of (1) managed redundantly.
[0021]
(3) A transmission address management queue for managing the packet transmission order for each transmission channel is provided for each distributed device, Send packet order information independently (1) or (2) shared buffer type packet switch to be managed.
[0022]
(4) When moving transmission packets between arbitrary transmission address management queues, Even when the packet capacity is larger than the unit buffer and stored in a plurality of unit buffers by the transmission address management queue, connection information of unit buffers constituting one packet is managed. Management information can be moved because the device has the same information at the same time. The packet switch of the shared buffer method of (2) which is not performed.
[0023]
(5) Address handshake between free address management queue and transmission address management queue or used address management queue Use the memory address bus when the shared memory data bus is used for time-sharing the enqueue and dequeue address information path. (2) or (3) shared buffer type packet switch to be performed.
[0024]
(6) A multicast management queue that temporarily holds multicast packets is The order of broadcast packets sent by each device (2) or (3) shared buffer type packet switch managed individually.
[0025]
(7) In the multicast packet buffer release process, means for recognizing that all transmissions to the destination managed by the own device have been completed for each distributed device are provided for each device. Receiving the notification of transmission completion of Exist on each device, Free address management queue works Simultaneously running on the same device as (6) The shared buffer type packet switch for performing the buffer release processing.
[0026]
DETAILED DESCRIPTION OF THE INVENTION
Next, an embodiment of a shared buffer packet switch according to the present invention will be described in detail with reference to the drawings.
[0027]
FIG. 2 is a system configuration diagram including a packet switch device 2000 using a shared buffer packet switch according to the present invention and a plurality of LAN segments 2011 to 2014 connected thereto. This network will be briefly described.
[0028]
The packet switch device 2000 configures a star-type LAN topology by concentrating and connecting a plurality of LAN segments 2011 to 2014. The LAN assumed here is a LAN generally referred to as Ethernet of CSMA / CD (Carrier Sense Multiple Access / Collision Detection) typified by IEEE 802.3, or full duplex of 10 Mbps, 100 Mbps or 1 Gbps, or Has half-duplex communication speed.
[0029]
Next, these LAN segments 2011 to 2014 will be described.
[0030]
These LAN segments 2011 to 2014 are units that share a transmission path and a communication band of 10 Mbps, 100 Mbps, or 1 Gbps. The LAN segments 2011, 2013, and 2014 are concentrators (simply called repeater hubs) 2021, 2023, and 2024 that do not have a switching function and have a simple repeater function, and each terminal is also connected in a star shape. . Further, as indicated by the LAN segment 2014, depending on the functions of the repeater hubs 2021, 2023, and 2024, it may be possible to connect a terminal in a partial branch type. In any case, in one segment constituted by these repeater hubs 2021, 2023, and 2024, transmission is performed at all terminals in each segment 2011-2014 and the port of the packet switch device 2000 according to the CSMA / CD system. This is half-duplex communication that shares a path and a communication band.
[0031]
On the other hand, the LAN segment 2012 is often seen in connection to the server device 2022, and can perform full-duplex communication with a one-to-one connection to the port of the packet switch device 2000 without using a repeater hub. It is said that.
[0032]
The frame format of a packet communicated on the LAN has a conventional configuration, and includes DA (Destination-Address), that is, destination address information and SA (Source Address), that is, source address information, as shown in FIG. DATA is a variable length in the information data part. In ordinary Ethernet, the entire packet has a frame length of 64 bytes to 1518 bytes.
[0033]
The packet switch apparatus 2000 receives packet data having this frame format from one LAN segment, for example, 2011, and transfers the packet data to another LAN segment, for example, 2012 based on DA information. It is a device that realizes the operation.
[0034]
Next, the configuration of the packet switch device 2000 of FIG. 2 will be described in detail with reference to FIG.
[0035]
A portion connected to the LAN segments 2011 to 2014 is called a port, and usually has about 8 to 32 ports or more than that in some cases. In the case of the packet switch device 2000 of FIG. 3, there are a total of 16 ports of port # 0 to port #f.
[0036]
The four-port transmission / reception control units 3011 to 3014 exist in units of one or a plurality of ports, and are usually configured with a single device and a control memory that stores network address information. In the example of FIG. 3, the transmission / reception control circuit exists in units of four ports. A packet data transmission / reception operation is realized for the connected LAN line. The main processing is data serial / parallel conversion processing between the LAN line communicated with serial data and the data bus inside the device that performs parallel processing, and the destination information included in the received packet is analyzed and transmitted. This is a process for determining the destination port.
[0037]
The shared memory 3020 is configured by an SRAM (static RAM) or DRAM (dynamic RAM) memory device, and temporarily holds packet data. Packet data is stored in a space called a packet buffer partitioned in advance. The address (address) of the packet buffer is managed by a queue type buffer management circuit of the switch element.
[0038]
The four switching elements 3001 to 3004 are composed of one device and a control memory (queue memory) that performs buffer management. The transmission / reception control units 3011 to 3014 are connected by transmission / reception data buses 3051 to 3054 expanded in parallel. The connection form is that when the bit width of the transmission / reception data bus is txk bits and the number of devices of the switching elements 3001 to 3004 is 4, the transmission / reception data bus 3041 having a t-bit width that is bit-sliced in units of t bits. ˜3044 are connected to four switching elements 3001 to 3004.
[0039]
Connection to the shared memory 3020 is performed by the switching elements 3001 to 3004 via the shared memory data buses 3031 to 3034 to the shared memories 3061 to 3064, respectively. That is, the shared memory data buses 3031 to 3034 are also bit-sliced into four equal parts.
[0040]
With reference to FIG. 4, an embodiment of queue management in a shared buffer packet switch according to the present invention will be described in detail.
[0041]
The packet switch of the shared buffer system according to the present invention has n reception data buses (four in the example of FIG. 3) and n transmission data buses (four in the example of FIG. 3). A bus or a transmission data bus accommodates ports connected to m LAN lines, and the entire switching element accommodates mxn ports.
[0042]
The connection between the reception data bus and the transmission data bus is performed by bit-slicing one data bus width to 1 / the number of switch elements (example in FIG. 3). In other words, the packet switch device is configured to increase the amount of data to be processed by a multiple of the number of switch elements by adopting a building block (building block) type configuration with a plurality of the same switch elements.
[0043]
The first switch element 4051 includes a data transmission / reception unit 4002 and a queue management control unit 4001. Connections on the LAN port side are connected by n reception data buses 4011 and n transmission data buses 4012. The shared memory 4300 has a configuration in which a memory address bus 4330 and a data bus 4310 are connected.
[0044]
The second switch element 4151 to the nth switch element 4251 have the same configuration.
[0045]
When the reception unit 4003 (and 4103, 4203) of each switch element 4051 (and 4151, 4251) recognizes the received packet from each reception data bus 4011 (and 4111, 4211), the queue management control unit 4001 in the same device. Received packet notification 4021 (and 4121, 4221) is performed on (and 4101, 4201). Each receiving unit 4003 (and 4103, 4203) notifies all received packets for mxn ports.
[0046]
The received packet is transferred to the shared memory 4300 via the data bus 4013 (and 4113, 4213).
[0047]
The queue management control unit 4001 recognizes that the queue management control unit exists in the first switch element 4051 based on the device position information and the like, and outputs a free address 4032 of the buffer for storing the received packet. The queue management control units 4101 and 4201 existing in other switch elements do not output.
[0048]
The transmission unit 4004 (and 4104, 4204) receives the notification of the transmission queue information 4022 (and 4122, 4222) for the m ports from the queue management control unit 4001 (and 4101, 4201), and determines the transmission port.
[0049]
Upon receiving the notification of the port number 4023 (and 4123, 4223) determined by the transmission unit 4004 (and 4104, 4204), the queue management control unit 4001 (and 4101, 4201) receives the transmission packet read address 4032 (and 4132, 4232). ) Is output. The transmission packet data 4014 (and 4114, 4214) is transferred to the transmission unit 4004 (and 4104, 4204), and transferred from the transmission data bus 4012 (and 4112, 4212).
[0050]
Next, specific examples of the queue management control units 4001 to 4201 will be described in detail with reference to FIG.
[0051]
The free address management queue 1010 operates only on the device 0 which is the first switch element. As long as they are the same device in other switch elements, the circuits of the empty address management queues 1110 and 1210 exist but do not operate.
[0052]
The used address management queue unit 1020 (and 1120, 1220) includes a used address management queue 0 (1021), a used address management queue 1, and a used address management queue k (1022). There are as many queues as there are queues for managing the chain of unit buffers constituting one packet. In each switch element, the contents of the used address management queue unit are the same.
[0053]
The transmission address management queue unit 1030 of the switch element of the device 0 includes a transmission address management queue 00 (1031), a transmission address management queue 01, and a transmission address management queue 0m (1032). In other words, only the head address of the buffer storing the packet exists in the transmission port unit existing under the transmission data bus 0, and the transmission order is managed. Similarly, transmission address management queue units 1130 and 1230 after device 1 also perform transmission address management queues corresponding to transmission ports under transmission data bus 1 and transmission data bus n, respectively.
[0054]
Next, the operation of the embodiment of the shared buffer packet switch according to the present invention will be described in detail with reference to the drawings.
[0055]
First, with reference to FIG. 3, the operation of the packet switch apparatus 2000 using the shared buffer packet switch according to the present invention will be described in detail.
[0056]
The packet data received as serial data at the port is subjected to serial / parallel conversion processing by a transmission / reception control unit, for example, 3011, and is output to the reception data bus. At that time, the transmission / reception control unit 3011 analyzes the destination information included in the received packet, performs a process of determining the destination port, and adds the destination port information to the packet data output to the reception data bus.
[0057]
The destination port information is bit-sliced and the same content is added to each divided bus unit. Each of the plurality of switching elements 3001 to 3004 looks at the transmission destination port information and determines whether or not it is a transmission packet to be managed by its own device. For packet data, in the case of reception, the data sent via the reception data bus at the bit slice position to which the device is connected is stored in the shared memory 3020 to which the device is connected.
[0058]
The same applies to transmission, and the data read from the shared memory 3020 to which the own device is connected is output to the transmission data bus at the bit slice position to which the own device of the transmission data bus is connected.
[0059]
Next, the operation of the queue management of the switch element according to the present invention will be described in detail with reference to FIG. First, the reception side operation will be described.
[0060]
When the switch element (4051 to 4251 in FIG. 4) receives one or a plurality of packets from the n reception data buses 4011 to 4211, it notifies the queue management control units 4001 to 4201 of packet reception 4021 to 4221. As described above, the reception port information and the destination information of the packet are notified.
[0061]
First, the vacant address management queue 1010 obtains the address of the vacant buffer for storing the packet from the packet reception information, and the received data transferred by the receiving unit (4003, 4103 and 4203 in FIG. 4) after being bit-sliced. In synchronization with the transfer timing to the shared memory, it is output as a write address to the shared memory. The timing to synchronize is known to both by a predetermined time slot. This empty address output is performed only for the empty address management queue 1010 of the device 0.
[0062]
At the same time, the used address management queue of each device, for example, 1120 receives the address output from the free address management queue 1010 from the enqueue path, for example, 1140, and manages the chain of unit buffers constituting the packet.
[0063]
The operation of storing variable-length packet data in the packet memory will be described with reference to FIG. The packet memory is used in units of a unit buffer having a capacity of b bytes. The packet is stored in the buffer using p unit buffers expressed by the following equation, where the data length is P bytes.
((P−1) * b) <P ≦ (p * b), (p = 1, 2, 3,...)
[0064]
The used address management queue 5201 manages this unit buffer chain. Assuming that the address of the unit buffer 5101 for storing the first b byte 5001 of the packet is ba01, the address of the unit buffer 5102 for storing the subsequent b bytes is ba02, and the address of the unit buffer 5103 to be similarly chained is ba03, the used address management The head buffer address indicated by the queue 5201 is ba01, and the address indicating the tail is ba0p.
[0065]
As a form in which the received packet is transferred, each packet received from a plurality of ports is multiplexed on the unit buffer and transferred on the received data. On the other hand, the used address management queue, for example, 1020 can be reassembled as one packet for each receiving port from the information of the receiving port transferred at the same time.
[0066]
At the same time, the transmission address management queue, for example 1130, determines whether it is addressed to the transmission port to be managed by the device from the notification of the destination information of the packet issued by the reception unit and the position information of the device.
[0067]
If it is packet data addressed to the transmission port to be managed, only the head storage address of the received packet is received from an enqueue path, for example, 1140, and enqueued at the end of the corresponding transmission buffer queue. If there is no packet data addressed to the transmission port to be managed, it is ignored and the enqueue operation is not performed.
[0068]
Next, the operation on the transmission side will be described. The transmission address management queue unit, for example, 1130 receives information (4122 in FIG. 4) as to whether or not the address of the packet to be transmitted is queued in each transmission address management queue, and sends it to the transmission unit (4104 in FIG. 4). Always forward to). Based on this information, the transmission unit determines the port number to be transmitted, and notifies the transmission address management queue unit 1130 of the result as a transmission request according to a predetermined time slot (4123 in FIG. 4).
[0069]
In the case of transmission from the head of the packet, the transmission address management queue unit 1130 extracts one head address of the packet from the corresponding transmission address management queue, for example, 1131 according to this notification, and the address of the shared memory via the dequeue path 1141 The data is output to the bus 1330 as a packet read address.
[0070]
Simultaneously with the reading of the packet data, the buffer address output to the shared memory address bus 1330 is enqueued to the empty address management queue 1010 via the enqueue path 1050 of the empty address management queue 1010, and the unit buffer is released. .
[0071]
In the case of transmission of p = 2 or more packets other than the first unit buffer, the used address management queue unit 1120 extracts one buffer address according to the notification from the transmission unit (4123 in FIG. 4), and the dequeue path 1141 To the shared memory address bus 1330 as a packet read address. Simultaneously with the reading of the packet data, the buffer address output to the shared memory address bus 1330 is enqueued to the empty address management queue 1010 via the enqueue path 1050 of the empty address management queue 1010, and the unit buffer is released. .
[0072]
Next, the operation of the shared buffer packet switch according to the present invention will be described in detail with reference to FIGS. First, the format of packet data transferred on the reception data bus will be described with reference to FIG. The four horizontal columns 8000 to 8003 are reception data buses that are bit-sliced in units of 8 bits, each having an 8-bit width. Vertical rows 8010, 8011, 8012, 8013... Represent one word of the received data bus, and are transferred in order from the word in the upper row 8010.
[0073]
The word of line number 8010 is transmission destination port information (RH) indicating the transmission destination port added by the transmission / reception control circuit unit. The destination port information (RH) can be received by all the switching elements by being added to all the bit-sliced reception data buses. The destination port information (RH) includes information on the reception port, information on the destination port, information on whether the data is from the beginning of the packet, information on whether the data includes the end of the packet, and the like. included. After the line number 8011, packet data having a byte order of D00, D01, D02, D03, D04... Received from the port is bit-sliced in units of bytes and transferred to each switching element.
[0074]
Next, the queue type buffer management operation will be described in detail with reference to FIGS. FIG. 8 shows an image in which packet data is stored on the shared memory. In this example, four shared memories bit-sliced in units of 8 bytes constitute one word, and 64 bytes are used as one buffer unit. The addresses of the buffers are address a, address b, and address c, respectively. It is an example which is the structure of a word address.
[0075]
The example of FIG. 7 shows a state in which these buffers are stored in the queue in the order of address a, address b, address c,... Address e (9003). In the empty address management queue in the device of the switch element or the transmission address management queue 9001 existing in units of ports, only the first pointer 9011 and the last pointer 9012 of the buffer queue existing in the queue memory 9002 are held.
[0076]
In the switch element according to the present invention, the pointer of this queue directly corresponds to the buffer address. Thus, the pointer (queue memory address) for accessing the queue memory 9002 also corresponds to the buffer address. That is, the first pointer 9011 is the first buffer address (address a) registered in the queue, and the second buffer address (address b) is stored at the queue memory address indicated by the first pointer (address a). ing.
[0077]
A dequeue operation for extracting the first buffer address (address a) registered in the queue will be described. First, the content of the head pointer 9011 is directly used as an empty buffer address or a transmission buffer address. Therefore, the buffer address can be generated at high speed. Subsequently, while the shared memory is being accessed, the head pointer 9011 used now is used as the queue memory address, the next buffer address is read, and the head pointer 9011 is updated with this value.
[0078]
An enqueue operation for registering a new buffer address at the end of the queue will be described. First, the last pointer 9012 is used as the queue memory address, and the buffer address to be registered is written therein. Also, the last pointer 9012 is updated with this value.
[0079]
Next, a time slot for accessing the shared memory will be described in detail with reference to FIG. In this example, there are a total of eight switch element master operations for the shared memory, that is, received packet data storage operation corresponding to four reception data buses and transmission packet data read operation corresponding to four transmission data buses. . Therefore, eight values are generated by a 3-bit always-on (free-run) counter and assigned to eight master operation time slots. In the example of FIG. 9, when the counter value = 000b, the write data transfer operation to the shared memory corresponding to the reception data bus # 0. When the counter value = 100b, the sharing corresponding to the transmission data bus # 0. This is a read data transfer operation from the memory.
[0080]
Next, another embodiment of a packet switch device using a shared buffer packet switch according to the present invention will be described with reference to FIG.
[0081]
A description will be given of the queue switching operation in the transmission address management queue between different devices. The transmission address management queue 00 (1031) is not a queue addressed to a LAN line port, but a transmission queue addressed to a CPU in the apparatus. In other words, the processing port of the CPU is located where the normal LAN line port exists. In the packet switch apparatus (2000 in FIG. 2), when the destination of the received packet cannot be resolved, the packet is temporarily queued in the transmission address management queue 00 (1031) addressed to the CPU, and the packet is processed by software processing. The operation of determining the transfer destination of the file occurs.
[0082]
In this case, the CPU directly reads the transmission address management queue 00 (1031), knows the address of the buffer in which the packet with unknown destination is stored, and takes out only the information necessary for destination resolution from the packet on the shared buffer. When the CPU resolves the destination, it notifies the queue change request via the reception unit (4003 in FIG. 4) using the path of the packet reception notification (4021 in FIG. 4).
[0083]
If the packet reception notification (4021 in FIG. 4) is a queue reconnection request, the free address management queue 1010 does not perform a normal free address dequeue operation and does not perform a write operation to the memory. Instead, the transmission address management queue 00 (1031) dequeues the head address and outputs it to the address bus via the dequeue path 1041.
[0084]
The used address management queue unit, for example, 1120 determines that the packet reception is not normal, and ignores this packet reception notification (4021 in FIG. 4). The other transmission address management queue, for example, 1130 determines that this packet reception notification (4021 in FIG. 4) is similar to the normal packet reception, and enqueues it in the transmission address management queue corresponding to the transmission port. At this time, even if the packet length is longer than p = 2 and the unit buffer chain information is required and the packet is moved to the transmission address management queue between different devices, the used address management queue has the same contents in all devices. Therefore, there is no problem, and it is possible to easily change queues.
[0085]
Next, a third embodiment of the packet switch device using the switch element of the present invention will be described with reference to FIG. FIG. 11 is a configuration diagram of a queue management control unit in multicast packet switching processing.
[0086]
Multicast address management queues 13020 to 13220 exist for each device, and perform temporary queue management of multicast packets. The enqueue path selectors 13040 to 13240 select enqueue paths 13072 to 13272 to the transmission address management queues 13030 to 13230. When a unicast packet is received, the enqueue path 13070 to 13270 is selected, and the empty time when there is no reception is selected to the enqueue path 13071 to 13271. Transmission port counters 13050 to 13250 exist for each device, and store the number of destination ports for each packet, store the number of transmitted ports for each unit buffer, and compare the number of destination ports with the number of transmitted ports.
[0087]
The device counter 13060 exists only in the device in which the free address management queue 13010 operates, stores the number of transmitted devices for each unit buffer, and compares the number of devices obtained from the device configuration information with the number of transmitted devices.
[0088]
First, a multicast packet switching operation will be described.
When the packet reception notification (4021 in FIG. 4) received from the receiving unit (4003 in FIG. 4) is a unicast packet, as described in the first embodiment, the packet destination information and device position information Therefore, only the devices to be managed are enqueued in the transmission address management queues 13030 to 13230. This is a case where the enqueue path selectors 13040 to 13240 are selected as the enqueue paths 13070 to 13270.
[0089]
On the other hand, when the packet reception notification (4021 in FIG. 4) is a multicast packet, it is temporarily enqueued in the multicast address management queues 13020 to 13220 of all devices. Thereafter, each device independently monitors whether or not a unicast packet has been received, switches the enqueue path selectors 13040 to 13240 to the dequeue path 13071 to 13271 in the idle time, and dequeues from the multicast address management queues 13020 to 13220. Then, the queues that are enqueued to the plurality of transmission address management queues 13030 to 13230 that are destinations are transshipped.
[0090]
At this time, even if the packet length is a packet of p = 2 or more and the unit buffer chain information is necessary, the used address management queues 13090 to 13290 hold the same contents in all devices. It doesn't matter. Further, since only one packet entity exists in the shared memory and only a copy of the queue entry is distributed in each device, high-speed switching operation is possible.
Next, the shared buffer release operation will be described.
[0091]
Since there is only one multicast packet on the shared memory, the buffer cannot be released until transmission to all destinations is completed.
[0092]
First, when dequeuing from the multicast address management queues 13020 to 13220 and enqueuing to the transmission address management queues 13030 to 13230, the number of destination ports enqueued for each device is stored in the transmission port counters 13050 to 13250. At the same time, the initial value “0” is written as the number of transmitted ports.
[0093]
Next, when the packet dequeued from the transmission address management queues 13030 to 13230 at the time of transmission is a multicast packet, the number of destination ports corresponding to the packet and the buffer corresponding to the packet are transmitted from the transmission port counters 13050 to 13250. The number of transmitted ports is extracted, the number of transmitted ports is incremented by +1, and if the number does not coincide with the number of destination ports, the number of transmitted ports incremented by +1 is written back to the transmission port counters 13050 to 13250. to start. Upon receiving a transmission completion notification 13500 from each device, the device counter 13060 takes out the number of transmitted devices corresponding to the buffer, adds +1 to this, and if it does not match the number of devices obtained from the device configuration information, adds +1. When the number of transmitted devices is written back to the device counter 13060 and they match, it is determined that transmission to all destinations is completed, and the address of the buffer is enqueued to the free address management queue 13010 by the enqueue path 13080, and the buffer is released. To do.
[0094]
If the packet length is p = 2 or more and the unit buffer chain information is necessary, the second buffer and subsequent buffers are taken out of the used address management queues 13090 to 13290 and similarly buffered. To release.
[0095]
Further, even in the release operation, the used address management queues 13090 to 13290 hold the same contents in all the devices, so there is no problem.
[0096]
The configuration and operation of the preferred embodiment of the shared buffer packet switch according to the present invention have been described above in detail. However, it should be readily understood by those skilled in the art that the present invention should not be limited to only such specific embodiments, and various modifications can be made without departing from the spirit of the present invention.
[0097]
【The invention's effect】
As is apparent from the above description, according to the shared buffer type packet switch according to the present invention, a large-scale (large capacity) packet switch device can be easily realized by using a plurality of the same shared buffer type switch elements. It has a remarkable effect in practical use. The reason is that the buffer management unit that realizes the shared buffer method should exist at one central location in the past, but the queue corresponding to the case where the data processing part of the switch element is made into a building configuration by a technique such as bit slice. This is because the structure of is realized.
[Brief description of the drawings]
FIG. 1 is a functional configuration diagram illustrating an embodiment of a shared buffer packet switch according to the present invention.
FIG. 2 is a configuration diagram of a network using a shared buffer packet switch according to the present invention;
FIG. 3 is a block diagram of a packet switch device in a shared buffer packet switch according to the present invention;
FIG. 4 is a configuration diagram illustrating connection of a plurality of switching elements in a shared buffer packet switch according to the present invention;
FIG. 5 is a block diagram showing a form of a buffer constituting a packet in a shared buffer type packet switch according to the present invention;
FIG. 6 is a configuration diagram of input / output data to a switching element in a shared buffer packet switch according to the present invention.
FIG. 7 is a functional configuration diagram showing queue management of a buffer pointer in the present invention.
FIG. 8 is a timing chart showing an example of a time slot in the present invention.
FIG. 9 is a configuration diagram of data stored on a buffer memory according to the present invention.
FIG. 10 is a format of packet data communicated in the present invention.
FIG. 11 is a functional configuration diagram showing another embodiment of the present invention.
FIG. 12 is a functional configuration diagram of a conventional shared buffer packet switching apparatus.
FIG. 13 is a functional configuration diagram of a switching element constituting a conventional shared buffer type packet switch device;
[Explanation of symbols]
2000 Packet switch device
1010, 1110, 1210, 13010 Free address management queue
1020 to 1022, 1120 to 1122, 1220 to 1222, 13090, 13190, 13290 Used address management queue
1030 to 1032, 1130 to 1132, 1230 to 1232, 13030, 13130, 13230 Transmission address management queue
1040, 1050, 13070, 13072, 13080, 13170, 13172, 13270, 13272 Enqueue path
1041, 1051, 13071, 13073, 13171, 13173, 13271, 13273, 13300, 13400 Dequeue path
3020, 3061-3064, 4300 Shared memory
13020, 13120, 13220 Multicast address management queue
13040, 13140, 13240 Enqueue path selector
13050, 13150, 13250 Transmission port counter
13060 device counter
13074, 13174, 13274, 13500 Transmission completion notification

Claims (7)

バッファのアドレスをキュー管理する制御回路が複数のデバイスに分散する構成である共有バッファ方式のパケットスイッチにおいて、
共有バッファの空きバッファアドレスを管理する空きアドレス管理キューは、複数のデバイスのそれぞれに存在し、そのうちの特定の1つのみを動作させて、空きバッファのアドレス情報を一元管理することを特徴とする共有バッファ方式のパケットスイッチ。
In the packet switch of the shared buffer system, in which the control circuit for queue management of the buffer address is distributed to a plurality of devices,
A free address management queue for managing a free buffer address of a shared buffer exists in each of a plurality of devices, and only a specific one of them is operated to centrally manage address information of a free buffer. Shared buffer packet switch.
パケットを構成する単位バッファのチェインを管理する使用済みアドレス管理キューは、分散した各デバイス単位に存在させ、各デバイスが一つのパケットで使用した単位バッファの順序情報を同時に同じ情報として冗長的に管理することを特徴とする請求項1記載の共有バッファ方式のパケットスイッチ。A used address management queue that manages the chain of unit buffers that make up a packet exists in each distributed device , and the unit buffer sequence information used by each device in one packet is managed redundantly as the same information at the same time. The shared buffer type packet switch according to claim 1. 各送信チャンネル毎のパケット送信順序を管理する送信アドレス管理キューは、分散した各デバイス単位に存在させ、各デバイスが送信するパケットの順序情報を独立して管理することを特徴とする請求項1又は2に記載の共有バッファ方式のパケットスイッチ。The transmission address management queue for managing the packet transmission order for each transmission channel is present in each distributed device unit, and manages the order information of the packets transmitted by each device independently. 3. The shared buffer packet switch according to 2. 任意の送信アドレス管理キュー間で、送信パケットの移動を行う場合、送信アドレス管理キューによりパケットの容量が単位バッファよりも大きく、複数の単位バッファで格納されている場合であっても、一つのパケットを構成する単位バッファの接続情報を管理し、この管理情報は各デバイスで同時に同じ情報をもつため管理情報の移動を行わないことを特徴とする請求項2に記載の共有バッファ方式のパケットスイッチ。When moving a transmission packet between arbitrary transmission address management queues, even if the packet capacity is larger than the unit buffer and stored in multiple unit buffers by the transmission address management queue, one packet 3. The shared buffer type packet switch according to claim 2, wherein connection information of unit buffers constituting the management information is managed, and the management information does not move because the management information has the same information simultaneously in each device . 空きアドレス管理キューと送信アドレス管理キュー又は使用済みアドレス管理キュー間でアドレスのハンドシェイクを行い、エンキューおよびデキューするアドレス情報のパスを、共有メモリのデータバスを時分割に使用する際のメモリアドレスバスを使用して行うことを特徴とする請求項2又は3に記載の共有バッファ方式のパケットスイッチ。 Memory address when using have rows handshake addresses between idle address management queue and transmission address management queue or used address management queue, the path of the enqueue and dequeue address information, the time division data bus shared memory 4. The shared buffer packet switch according to claim 2, wherein the packet switch is performed using a bus . マルチキャストパケットを一時的に保持するマルチキャスト管理キューは、各デバイス単位が送信する同報パケットの順序を個別に管理することを特徴とする請求項2または請求項3記載の共有バッファ方式のパケットスイッチ。4. The shared buffer packet switch according to claim 2, wherein the multicast management queue for temporarily holding the multicast packets individually manages the order of broadcast packets transmitted by each device unit . マルチキャストパケットのバッファ解放処理において、分散した各デバイス単位に、自デバイスが管理している宛先への送信が全て完了したことを認識する手段は、各デバイス単位に存在させ、各デバイスからの送信完了通知を受けて、全デバイスの送信が全て完了したことを認識する手段は、各デバイスに存在させ、空きアドレス管理キューが動作するのと同じデバイスにおいて同時に動作させ、該バッファの解放処理を行うことを特徴とする請求項6記載の共有バッファ方式のパケットスイッチ。In the multicast packet buffer release processing, a means for recognizing that transmission to the destination managed by the device has been completed for each distributed device is present for each device, and transmission from each device is completed Upon receiving the notification, means for recognizing that all the devices have been transmitted is present in each device, and is operated simultaneously on the same device where the free address management queue is operated , and the buffer is released. 7. The shared buffer packet switch according to claim 6.
JP2000283567A 1999-09-21 2000-09-19 Shared buffer packet switch Expired - Fee Related JP3616563B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000283567A JP3616563B2 (en) 1999-09-21 2000-09-19 Shared buffer packet switch

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP26689999 1999-09-21
JP11-266899 1999-09-21
JP2000283567A JP3616563B2 (en) 1999-09-21 2000-09-19 Shared buffer packet switch

Publications (2)

Publication Number Publication Date
JP2001160827A JP2001160827A (en) 2001-06-12
JP3616563B2 true JP3616563B2 (en) 2005-02-02

Family

ID=26547641

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000283567A Expired - Fee Related JP3616563B2 (en) 1999-09-21 2000-09-19 Shared buffer packet switch

Country Status (1)

Country Link
JP (1) JP3616563B2 (en)

Also Published As

Publication number Publication date
JP2001160827A (en) 2001-06-12

Similar Documents

Publication Publication Date Title
US5923654A (en) Network switch that includes a plurality of shared packet buffers
US6128310A (en) Multiport data network switch having a random number generator shared by multiple media access controllers
EP0365864B1 (en) Design of a high speed packet switching node
US6035360A (en) Multi-port SRAM access control using time division multiplexed arbitration
EP1045558B1 (en) Very wide memory TDM switching system
TWI482460B (en) A network processor unit and a method for a network processor unit
US5940597A (en) Method and apparatus for periodically updating entries in a content addressable memory
US6754222B1 (en) Packet switching apparatus and method in data network
US7324537B2 (en) Switching device with asymmetric port speeds
WO2001069849A2 (en) Method and apparatus for shared buffer packet switching
US6292491B1 (en) Distributed FIFO queuing for ATM systems
US7991926B1 (en) Scalable memory architecture for high speed crossbars using variable cell or packet length
US6601116B1 (en) Network switch having descriptor cache and method thereof
US5051985A (en) Contention resolution in a communications ring
US6771654B1 (en) Apparatus and method for sharing memory using a single ring data bus connection configuration
US6904046B2 (en) Self-route multi-memory packet switch adapted to have an expandable number of input/output ports
US6741589B1 (en) Apparatus and method for storing data segments in a multiple network switch system using a memory pool
US6470021B1 (en) Computer network switch with parallel access shared memory architecture
US6819675B2 (en) Self-route multi-memory expandable packet switch with overflow processing means
JP3616563B2 (en) Shared buffer packet switch
US7142515B2 (en) Expandable self-route multi-memory packet switch with a configurable multicast mechanism
US7143185B1 (en) Method and apparatus for accessing external memories
US7130302B2 (en) Self-route expandable multi-memory packet switch
US6891843B1 (en) Apparatus and method for sharing memory using extra data path having multiple rings
JP3455841B2 (en) Switching device

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040709

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040720

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040921

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041105

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20071112

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20081112

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20081112

Year of fee payment: 4

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

Free format text: PAYMENT UNTIL: 20081112

Year of fee payment: 4

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20081112

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20091112

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20091112

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20101112

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20111112

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20111112

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20121112

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20121112

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20131112

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees