JP4480845B2 - TDM switch system with very wide memory width - Google Patents

TDM switch system with very wide memory width Download PDF

Info

Publication number
JP4480845B2
JP4480845B2 JP2000113100A JP2000113100A JP4480845B2 JP 4480845 B2 JP4480845 B2 JP 4480845B2 JP 2000113100 A JP2000113100 A JP 2000113100A JP 2000113100 A JP2000113100 A JP 2000113100A JP 4480845 B2 JP4480845 B2 JP 4480845B2
Authority
JP
Japan
Prior art keywords
width
packets
packet
data
unit
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
JP2000113100A
Other languages
Japanese (ja)
Other versions
JP2000349789A (en
Inventor
ピー.ビアンキーニ,ジュニア ロナルド
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ericsson AB
Original Assignee
Ericsson AB
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 Ericsson AB filed Critical Ericsson AB
Publication of JP2000349789A publication Critical patent/JP2000349789A/en
Application granted granted Critical
Publication of JP4480845B2 publication Critical patent/JP4480845B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13103Memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13292Time division multiplexing, TDM
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13299Bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Use Of Switch Circuits For Exchanges And Methods Of Control Of Multiplex Exchanges (AREA)

Abstract

A switching system. The system includes I input port mechanisms which receive packets from a communication line and have a width, where I is greater than or equal to 1 and is an integer. The system includes O output port mechanisms which send packets to a communication line and have a width, where O is greater than or equal to 1 and is an integer. The system includes a carrier mechanism along which packets travel. The carrier mechanism has a width wider than the width of the input and output port mechanisms. The carrier mechanism is connected to each input port mechanism and each output port mechanism. The system includes a memory mechanism in which packets are stored. The memory mechanism is connected to the carrier mechanism. The system includes a mechanism for providing packets to the memory mechanism though the carrier mechanism from the input port mechanisms. The providing mechanism is able to transfer packets or portions of packets whose total width equals the width of the carrier mechanism in each transfer cycle to the memory mechanism. A switching system for packets. A method for switching packets. The method includes the steps of receiving a first packet and at least a second packet at a switch mechanism. The method includes the steps of transferring data of the first packet and the second packet to a memory mechanism via time division multiplexing of a bus having a width so data from the packets fills a predetermined portion of the width of the bus. The bus width is not necessarily equal to the packet size. <IMAGE>

Description

【0001】
【発明の属する技術分野】
本発明は時分割多重スイッチ(TDM)に関するものである。さらに詳しくいうと、本発明はメモリーのバス幅が、どんなパケットの幅からも独立している、スイッチの時分割多重に関するものである。
【0002】
【発明の背景】
時分割多重方式はスイッチシステムを実行するために使われる1つの技術である。図1に示されているように、それぞれがRの割合でパケットを受け取るN個の入力ポートと、それぞれがRの割合でパケットを送り出すN個の出力ポートを持ったスイッチ構造を考えてみよう。1つの共有されているTDMスイッチシステムのためには、2×N×Rの総バンド幅を持つ1つのメモリーバスが必要とされている。到着するパケットは集められメモリーに書き込まれる。一旦メモリーに書き込まれた後、そのパケットはメモリーから読み出され、出力ポート上で送られる。
【0003】
このシステムは、共有されているメモリーが入力ポートと出力ポートすべてにサービスするのに十分なバンド幅を持っておれば、正しく障害なく作動する。メモリーのバンド幅は、メモリーバスのスピードと、メモリーバスの幅を増大させると、増すことができる。現在のメモリーバスのスピードは、マイクロプロセッサー同期キャッシュメモリーを使って、技術的にだいたい300MHzに制限されている。さらにメモリーのバンド幅を増すためには、メモリーバスがもっと拡げられなければならない。
【0004】
図2に示されているように、4つの入力ポートと4つの出力ポートを持つTDMスイッチシステムの例を考えてみよう。入力ポートと出力ポートは、1ビット幅のデータ経路で構成され、単一の固定されたクロックの速度で作動する。これはすべてのポートとメモリーバスについて同じである。すべてのパケットが8ビットの長さであると仮定しよう。その構造物は8ビット幅のTDMメモリーバスを使って実行されることができる。8クロック周期以上の期間に、各入力ポートは1クロック周期が割り与えられ、1つのパケット(8ビット)をメモリーに書き込み、各出力ポートは1クロック周期が割り与えられ、メモリーから1つのパケットを読み込む。
【0005】
TDMスイッチシステムを実用化するには、設計を複雑にするいくつかの課題がある。スイッチシステムのアプリケーションに応じて、パケットは通常はサイズが変えられる。パケットのサイズを変えることは、メモリーバス上でのパケットの断片(fragmentation)のためTDMシステムの性能を下げる。もし1つのパケットがメモリー周期の整数倍を使用しないならば、メモリーバンド幅は、メモリー幅より小さなデータを読み込み、または書き込むメモリー周期で無駄になる。典型的には、TDMシステムは断片に伴う非効率性を補うために2×N×Rより大きいメモリーバンド幅で実行されている。
【0006】
断片の課題は、メモリー幅が最小サイズのデータパケットに近づき、あるいは超えるにしたがって重大となる。メモリーバスの幅がパケットの最小長さの2倍に等しいシステムを考えてみよう。受け取ったパケットの長さがすべてパケットの最小長さと等しい間は、メモリーに書き込まれたすべてのパケットがメモリーバスのデータビットを半分しか使っていないので、メモリーシステムのバンド幅は50%に減らされる(または50%の効率になる)。
【0007】
メモリーバス上のパケットの断片のために、典型的なTDMスイッチシステムは、最小長さのパケットとせいぜい同じ幅のバス幅を使っている。
TDMスイッチシステムの共有メモリーの全バンド幅は、メモリーバスのバンド幅によって制約されている。メモリーバスのバンド幅は、それの速さ(クロック率)とそれの幅(ビット数)によって決まる。記憶速度が、使用可能な記憶要素の技術によって固定されているとするならば、TDMスイッチの全バンド幅は最小パケットサイズによって制約されていることになる。
【0008】
【発明の要旨】
本発明は、スイッチシステムに関するものである。システムには、ある幅を持つ通信ラインからパケットを受け取るI個の入力ポート部がある(Iは1以上の整数である)。システムには、ある幅を持つ通信ラインへパケットを送るO個の出力ポート部がある(Oは1以上の整数である)。システムにはキャリア部があり、その上をパケットが移動する。キャリア部は入力、出力通信ラインの幅よりも広い幅を持つ。キャリア部は各入力ポート部と各出力ポート部に接続されている。システムには、パケットが貯蔵されるメモリー部がある。システムには、入力ポート部からキャリア部を経由してパケットをメモリー部に供給するメカニズムがある。該供給部は、各送信サイクル中にて、それらの全体幅がキャリア部の幅に等しいパケットまたはパケットの部分をメモリー部に送ることができる。
【0009】
本発明はパケットのスイッチシステムに関するものである。システムには、ある幅と全バンド幅を持ち、それぞれのパケットの送受信をするための入力ポート部と、出力ポート部を持った中央資源がある。中央資源は入力、出力ポート部に割り当てられるタイムスロットによって分割される。中央資源の幅の大きさは、どんなパケットの幅の大きさからも独立であり、全バンド幅は際限なく大きくなりうる。システムにはパケットを貯蔵するメモリー部があり、メモリー部は中央資源に接続されている。
【0010】
本発明はスイッチシステムに関するものである。システムには時分割多重バスがある。システムには、バスの時分割多重によってアクセスされたバスに接続されたメモリー部がある。システムにはデータのパケットの境界を知ることなく、パケットのデータをバスを通じてメモリー部に読み込み、書き込むためのメカニズムがある。
【0011】
本発明はスイッチシステムに関するものである。システムにはある幅を持つ時分割多重キャリア部がある。システムにはそのキャリア部に接続されたメモリー部がある。システムにはパケットのデータが、時分割多重によって、パケットのデータがバスの幅を満たすようパケットのデータをメモリー部に供給するための、ある幅を持つ入力部がある。バス幅はパケットの幅の非整数倍である。システムにはパケットのデータをメモリー部から供給するための、ある幅を持つ出力部がある。
【0012】
本発明は、各々がある幅を持っている入力部から出力部へとパケットを切り換えるための方法に関するものである。その方法は、第1のパケットと少なくとも第2のパケットをスイッチ部で受け取る工程を含んでいる。その方法は、ある幅を持つバスの分割多重を経て、第1のパケットと第2のパケットのデータをメモリー部へ送り、それによってパケットからのデータは、バスの幅の所定箇所を満たす工程を含んでいる。バスの幅は入力、出力部の幅と同じでない。
【0013】
【発明の実施の形態】
図面に於いて、いくつかの図、より詳しく言うと、図3、4を通じ、そこでは同じ参照番号は、同種のまたは同じ部分を示している。スイッチシステム(10)が示されている。システム(10)には通信ライン(16)からパケットを受け取るI個のある幅を持つ入力ポート部(12)がある(Iは1以上の整数である)。1つの入力ポート部(12)は1つの入力ポートを含んでいるのが望ましい。システムには通信ライン(16)へパケットを送るO個のある幅を持つ出力ポート部(14)がある。1つの出力ポート部(14)は1つの出力ポートを含んでいるのが望ましい(Oは1以上の整数である)。システムにはキャリア部(20)があり、その上をパケットが移動する。キャリア部(20)は入力、出力部の幅より広い幅を持つ。キャリア部(20)は各入力ポート部と各出力ポート部に接続されている。システム(10)にはパケットが貯蔵されるメモリー部(22)がある。システムには入力ポート部(12)からキャリア部(20)を経由してパケットをメモリー部(22)に供給するメカニズムがある。該供給部(20)は各送信サイクルの間に、それらの全体幅がキャリア部(20)の幅に等しいパケット又はパケットの部分をメモリー部(22)に送ることができる。
【0014】
キャリア部(20)の幅の大きさはどの入力、出力部の幅からも独立であることが望ましい。入力ポート機構は、さまざまなサイズのパケットを受け取るのが望ましい。出力ポート部は、さまざまサイズのパケットを通信ライン(16)へと送り出すのが望ましい。通信ライン(16)はATMネットワークでもよい。
【0015】
供給部(20)もまた、メモリー部(22)からキャリア部(20)を経由して出力ポート部(14)へと、パケットを供給するのが望ましい。供給部(20)は各送信サイクルの間に、それらの全体幅がキャリア部(20)の幅に等しいパケット又はパケットの部分をメモリー部(22)から送ることができる。
【0016】
供給部(20)には、待ち行列群(24)(queue group)の入力段があり、これはキャリア部(20)と入力ポート部(12)に接続されていて、入力ポート部によって受け取られたパケットを貯蔵する。また、待ち行列群(26)の出力段があり、これは供給部(20)と、出力ポート部(14)に接続されていて、出力ポート部から送り出すべきパケットを貯蔵する。そして各待ち行列群は1つのパケットに対応している。
供給部(20)は入力ポート部によって受け取られたパケットを、対応する待ち行列群の入力段に配置する仕分け部(28)を含んでいて、この仕分け部(28)は入力ポート部(12)と待ち行列群(24)の入力段に接続されているのが望ましい。供給部(20)は待ち行列群の出力段にあるパケットを、対応する出力ポート部(14)へと配置する処理部(30)を含んでいて、この処理部(30)は出力ポート部(14)と待ち行列群(26)の出力段に接続されているのが望ましい。
【0017】
仕分け部(28)は、パケットを対応する入力待ち行列に書き込むための、書き込み用第1有限状態機(32)(write finite state machine)を含み、供給部(20)は、パケットを待ち行列群の入力段からメモリー部(22)へと書き込むための書き込み用第2有限状態機(34)とパケットをメモリー部(22)から待ち行列群の出力段へと読み込むための読み込み用第1有限状態機(36)を含み、処理部(30)は、待ち行列群の出力段からネットワークへと読み込むための読み込み用第2有限状態機(38)を含んでいるのが望ましい。
【0018】
メモリー部(22)は共有されたメモリー(40)を含んでいるのが望ましい。パケットまたはパケットの一部が、時分割多重に基づいてキャリア部(20)を動くのが望ましい。キャリア部(20)はバス(42)を含むのが望ましい。待ち行列群の入力段がデータの少なくとも1つのキャッシュラインを含むときには、読み込み用第1有限状態機(36)は待ち行列群の入力段のパケットのデータをバス(42)へと移送するだけなのが望ましい。
【0019】
本発明はパケットのスイッチシステム(10)に関するものである。システムには、ある幅と、ある全バンド幅を持ち、パケットを受け取るための入力ポート部(12)と、パケットを送り出すための出力ポート部(14)を持った、中央資源(44)がある。中央資源(44)は入力、出力ポート部(14)に割り当てられるタイムスロットによって分割される。中央資源(44)の幅の大きさはどんなパケットの幅の大きさからも独立であり、全バンド幅は際限なく大きくなりうる。システム(10)にはパケットを貯蔵するメモリー部(22)があり、メモリー部(22)は中央資源(44)に接続されている。
【0020】
中央資源(44)はメモリーバス(42)を含むのが望ましい。中央資源(44)はパケットが分類される先の待ち行列の一群を含み、パケットは待ち行列の一群から読み出されメモリー部(22)へと書き込まれるのが望ましい。
本発明はスイッチシステム(10)に関するものである。システム(10)には時分割多重バス(42)がある。システム(10)にはバス(42)の時分割多重によってアクセスされたバス(42)に接続されたメモリー部(22)がある。システムにはデータのパケットの境界を知らなくして、パケットのデータをバス(42)を通じてメモリー部(22)に読み込み、書き込むためのメカニズムがある。
【0021】
本発明はスイッチシステム(10)に関するものである。システムにはある幅を持つ時分割多重キャリア部(20)がある。システムにはそのキャリア部(20)に接続されたメモリー部(22)がある。システムにはパケットのデータが時分割多重によってバス(42)の幅を満たすよう、パケットのデータを入力ポート部からメモリー部(22)に供給するためのメカニズムがある。バス(42)幅は入力、出力ポート部の幅の非整数倍である。
【0022】
本発明は入力部から出力部へとパケットを切り換えるための方法に関するものである。その方法は第1のパケットと少なくとも第2のパケットをある幅を持つスイッチ部で受け取る工程を含んでいる。その方法は、第1パケットと第2パケットのデータを、ある幅を持つバス(42)の時分割多重によって、メモリー部(22)へ送り、パケットからのデータは、バス(42)の幅の所定部分を満たす工程を含んでいる。バス(42)幅は入力、出力ポート部の幅と同じではない。
【0023】
バス(42)幅は入力ポート部の幅の正の数の倍が望ましく、非整数倍でもよい。送信の工程は、最初のパケットと少なくとも2番目のパケットを待ち行列群の入力段に配置する工程と、待ち行列群の入力段にあるデータを、バス(42)で割り当てられたタイムスロットの間に、データがバス幅(42)の所定の割合を満たすように、メモリー部(22)に送る工程を含むのが望ましい。
【0024】
データ送信工程の前に、入力待ち行列の一群が少なくともバス幅(42)の所定の割合を満たすに十分なデータを持っているかどうかを、データがバス(42)に送られる前に判定する工程があるのが望ましい。データ送り工程の前に、待ち行列群の入力段が少なくとも1つのキャッシュラインを持っているかどうかを判定する工程があるのが望ましい。
【0025】
この発明のオペレーション、つまりシステム(10)では、典型的なTDMスイッチシステムのメモリー幅制限は、パケットを待ち行列群(24)の入力段に仕分けして、それから待ち行列群(24)の入力段からデータを読み込みメモリーへ書き込むことにより取り除かれている。メモリー幅は最小限のパケットの大きさから独立であり、TDMスイッチシステムの全バンド幅は際限なく大きくすることが出来る。
【0026】
スイッチシステム(10)の入力ポートに到着したパケットは待ち行列の一群(24)のある決まった番号に分類される。1つの待ち行列は3段階で各群に実装される。
1.入力段階: 待ち行列の後尾は書き込み用第1有限状態機(W-FSM)によりスイッチ構造に実装される。
2.メモリー段階: 待ち行列の中央は共有されたメモリーで実装される。
3.出力段階: 待ち行列の先頭は読み込み用第1有限状態機(W-FSM)によりスイッチ構造に実装される。
【0027】
共有されたメモリーへの読み込み・書き込みは待ち行列群の中のデータ上で実行され、待ち行列でのパケットの境界が意識されることはない。共有されたメモリーへのアクセスは、共有されたメモリーバスの時分割多重によって読み込み用・書き込み用FSMに割り当てられる。
【0028】
W-FSMは以下のように実装される:
W-FSMが待ち行列に格納する過程:
パケットは入力ポートから到着した後、分類されW-FSM上の待ち行列 群の後尾に追加される。
W-FSMが待ち行列に排出する過程:
(TDMバスにタイムスロットが割り当てられたとき)
(W-FSMが少なくとも1つのデータキャッシュラインを含むのであれば)
キャッシュラインをW-FSMの先頭で、共有されたメモリ待ち行列の後尾に書き込む。
R-FSMは以下のように実装される:
R-FSMが待ち行列にデータを格納する過程
(TDMバスに割り当てられたタイムスロットにおいて)
もし(R-FSMがデータを含まない場合)
もし(共有されたメモリーがこの待ち行列群のためのデータを含んでいる場合)
共有されたメモリー待ち行列の先頭において、キャッシュラインを読込、R-FSM待ち行列の後尾にキューする。
そうでないならば(共有されたメモリーが、この待ち行列群のためのデータを含んでいないなら、)
W-FSM待ち行列の先頭から(キャッシュラインまでの)R-FSM 待ち行列の後尾までの任意のデータを読み込む。
R-FSMが待ち行列にデータを排出する過程
パケットはR-FSM待ち行列の出力段の先頭から取り出されて、処理さ れ、出力ポートへと転送される。
【0029】
更に特定すると、1つのセルまたは1つのパケットは、スイッチ(45)の1つの入力ポートに到着する。W-FSM(32)は待ち行列群(24)へとパケットを分類する。他のパケットがスイッチ(45)の入力ポートに到着すると、それらもまたW-FSM(32)によりそれらの対応する待ち行列群(24)へと分類される。待ち行列群に一旦分類されると、それら(パケット)は対応する入力段の待ち行列群の後尾に付け加えられる。スイッチ(45)の入力ポートに到着したセルの分類と格納はその後も続いていくが、ある決まった入力段の待ち行列群(24)については、1つのパケットが分類されると、そのパケットが対応する入力段の待ち行列群の後尾に付け加えられる。
【0030】
入力段の待ち行列群(24)に対応する書き込み用第2有限状態機(34)は、入力段の待ち行列群(24)内のパケットの個数を記録している。入力段の待ち行列群(24)上のデータに十分なパケットが入力段の待ち行列群(24)にあるときは、書き込み用第2有限状態機(34)は、入力段の待ち行列群(24)にバス上で割り与えられたタイムスロットの到着を待っている。割り当てられたタイムスロットが到着しても、キャッシュラインを満たすのに十分なデータが入力段の待ち行列群(24)にないために、以前は入力段の待ち行列群(24)からデータを解放しなかったものの、いまやキャッシュラインを満たすのに十分なデータがあるので、書き込み用第2有限状態機(34)は、入力段の待ち行列群(24)から、入力段の待ち行列群(24)に割り当てられたタイムスロットの間にキャッシュラインを満たすのに十分なデータを送る。割り当てられたタイムスロットとは、入力段の待ち行列群(24)からバスへとデータキャッシュラインが送られるのを許容するに十分な期間である。入力段の待ち行列群(24)からのデータキャッシュラインがバス上で送られると、入力段の待ち行列群(24)に残るデータは入力段の待ち行列群(24)の先頭まで移動される。更に入力段の待ち行列群(24)の先頭に移動されたデータは次のパケットや入力段の待ち行列群(24)に入ろうとするデータのための余地をうみだす。データが入力段の待ち行列群(24)からバスに送られているまさにその時、セルが入力段の待ち行列群(24)の後尾に配置されることもありうる。
【0031】
キャッシュラインのサイズによっては、バスに送られたデータは、入力段の待ち行列群(24)内のパケットが持つデータの整数倍以外の場合がある。例えばキャッシュラインは、キャッシュラインのデータがメモリー(40)へとバス上で送られた後に、入力段の待ち行列群(24)にパケットの一部が残るような幅となる場合である。書き込み用第2有限状態機(34)は、セルやパケットの境界を意識することなく、セルやパケットの一体性に対する結果が何であれ、データでキャッシュラインを満たすことのみが問題となる。よって、セルやパケットは割り与えられたタイムスロット内でデータがキャッシュラインを満たすという制約条件に適応すべく分割される。
【0032】
バスから共有されたメモリー(40)にデータキャッシュラインが到着した時、コントローラ(47)はデータキャッシュラインを共有されたメモリー(40)に貯蔵し、入力段の待ち行列群(24)からのキャッシュラインおよびキャッシュラインの接続元である入力段の待ち行列群(24)の順番にならって、共有されたメモリー(40)での番地を記録する。その後、異なる入力段の待ち行列群(24)から送られるデータキャッシュラインが、コントローラ(47)により、共有されたメモリー(40)に貯蔵される。そして入力段の待ち行列群(24)から送られた次のキャッシュラインも同様に共有されたメモリー(40)に貯蔵される。コントローラ(47)は、待ち行列群(24)入力段からのキャッシュラインが格納される番地のトラックを保持しておく。仮に入力段待ち行列群(24)からの最初のキャッシュラインがセルの最初の部分を有し、入力段待ち行列群(24)からの2番目のキャッシュラインがセルの2番目の部分を持っていたとしても、入力段待ち行列群(24)からの次のキャッシュラインは必ずしも同一番地に格納されたり、又は互いに隣り合った2つの番地に格納されることは必要でない。
【0033】
パケットが出力ポートから送り出される時は、ある出力段の待ち行列群(26)に対応する読み込み用第1有限状態機(36)は、その出力段の待ち行列群(26)にバス上で割り当てられたタイムスロットを待っている。読み込み用第1有限状態機(36)は出力段の待ち行列群(26)に読み込まれる共有されたメモリー(40)内のデータをとどめる。読み込み用第1有限状態機(36)はコントローラ(47)と書き込み用第1有限状態機(32)に接続されているため、どのデータが対応する出力段の待ち行列群(26)に送られるかが分かる。出力段の待ち行列群(26)に次の割り当てられたタイムスロットが到着すると、出力段の待ち行列群(26)のための共有されたメモリー(40)にあるキャッシュラインは読み込み用第1有限状態機(36)によって出力段の待ち行列群(26)に読み込まれる。読み込み用第1有限状態機(36)はコントローラ(47)と接続されることによって、どの場所からキャッシュラインを読み込むべきかが分かる。キャッシュラインは順番に読み込まれ出力段の待ち行列群(26)に配置されるので、共有されたメモリー(40)への書き込み段階で出力段の待ち行列群(26)が再結合されると、分割された全てのセルもまた再結合される。出力段の待ち行列群(26)のために割り与えられたタイムスロットが到着した時に、何のデータもない時は読み込み用第1有限状態機は入力段の待ち行列群(24)から直接キャッシュラインへとデータを読み込み、そのデータは最終的に出力段の待ち行列群(26)へと伝達されることとなる。
【0034】
読み込み用第2有限状態機(38)は出力段の待ち行列群のパケットの情報をとどめている。パケットの中で所定量が出力段の待ち行列群(26)で形成された時のみ読み込み用第2有限状態機(38)は出力段の待ち行列群(26)から所定量までパケットを読み込み、ネットワークにパケットを送り出す。
【0035】
メモリーへの読み込み・書き込みは全てデータの全てのキャッシュラインを含むため、メモリーバス(42)の効率は100%である。小さなパケットはメモリーバス(42)上でデータの断片化を起こさない。さらにメモリーバスの幅は際限なく増大することができ、パケットの大きさに制限されない。
【0036】
待ち行列群のモデルは、任意の待ち行列構造を実装するために用いることができる。出力待ち行列を実装するには、1個の待ち行列群が各出力ポートに割り与えられる。待ち行列群は入力段の待ち行列群、共有されたメモリーに蓄えられたあるキャッシュライン、出力段の待ち行列群で構成される。パケットの仕分け部は入力の際にパケットをそれぞれ検査し、パケットを適切な出力段の待ち行列に分類する。パケットは、その出力段の待ち行列群に対応する入力段の待ち行列群に関連付けられる。出力段の待ち行列群(28)は、W-FSM、R-FSMを用いてメモリーから、またメモリーへとキューされる。R-FSMの後、パケットは直ちに出力ポートへキューされる。
【0037】
1つの待ち行列群(24)を入力ポート毎に関連づけることにより、簡単なパケット仕分け部を使って入力待ち行列が実装される。優先順位に基づいた仕組みは以下のように実装される。1つの待ち行列群が、いくつかの優先順位レベルの夫々に対して定義される。入力の際、1つのパケットは、優先した待ち行列群の1つへ仕分けられる。待ち行列群はW-FSMやR-FSMを用いてメモリーにキューされる。R-FSMの後、パケットはそれぞれの出力ポートを決定するために処理され、システムから送り出される。
【0038】
【例】
4つの入力ポート、4つの出力ポートのパケットスイッチがシステム(10)を使って実装される。システムは全体的に同期していて20MHzクロック周期で動作する。4つの入力は8ビット幅で動作し、4つの160Mbpsインターフェースを実装する。パケットは図5に示されているようにパケット始端(SOP)とパケット終端(EOP)をあらわす符号語によって区切られている。
【0039】
この例は出力待ち行列スイッチを仮定している。スイッチシステム(10)の入力ポートに到着したパケットは、各出力ポートに対して1つが対応し、4つの待ち行列群に分類される。図4を参照すると、出力待ち行列は各群3つのサブシステムに実装される:
1.後尾はスイッチ構造内で書き込み用第1有限状態機(W-FSM)により実装される。
2.中間は共有されたメモリーに実装される。
3.先頭は読み込み用第1有限状態機(R-FSM)によりスイッチ構造中へ実装される。
【0040】
共有されたメモリーへの読み込み・書き込みは待ち行列群のデータ上で実装され、待ち行列内のデータのパケット境界を意識することなく実行される。共有されたメモリーへのアクセスは共有されたメモリーバスの時分割多重によって、読み込み用・書き込み用第1有限状態機に割り当てられる。共有されたメモリーバス幅はキャッシュラインと呼ばれている。
【0041】
本発明の入力段・出力段にある待ち行列群の先頭と後尾はシフトレジスタ(51)の中で直接実装される。シフトレジスタ(51)はやってくるデータのインターフェースと同じ幅でメモリーキャッシュラインと同じ長さである。4つのポートのスイッチのためのデータパスは図6に示されている。
【0042】
キャッシュラインは64ビット長で、8バイトそのものである。各ポートからのデータは8ビット幅キャッシュラインのシフトレジスタへと8レジスタの深さでシフトされる。示されていないのは、同じく8レジスターの深さで8ビットのシフトレジスターの前の、同期シフトレジスターである。メモリーバスは図7に示されているようにTDM(時分割多重)方式で、それぞれが各入力・出力ポート用に8つのタイムスロットに分割される。一例としてのスイッチが出力待ち行列を実装しているため、出力待ち行列は常に同じ割合で排出され、従って常にバス上の同じタイムスロットを使うこととなる。到着するパケットはどの出力ポートにも向けられるため、入力段の待ち行列はいかなる割合でも満たすことができる。入力段の待ち行列は必要なだけ入力バスのタイムスロットを割り当てられる。総入力率は4つのタイムスロットを超えないので、入力段が4つの入力段タイムスロットを任意に調節させるのに十分である。
【0043】
同期レジスタはどのデータも失われないことを補償するために使用される。典型的にはデータは同期レジスタには貯蔵されない。到着する全てのパケットはキャッシュレジスタに直接書き込まれる。もしキャッシュレジスタがTDMバス上のそのタイムスロットの前に満たされた場合、同期レジスタはデータを貯蔵し始め、一旦キャッシュラインレジスタが空になると同期レジスタからのデータはキャッシュラインレジスタに押し込まれる。もしキャッシュラインレジスタがまだ一杯なら、すぐに次の入力バスサイクルを調節する。満たされたキャッシュラインレジスタのみがバスサイクルを調節する。
【0044】
図8に示されているように、(この発明の入力、出力段)の先頭と後尾は、ハードウェアのFIFO待ち行列に直接実装される。待ち行列群の中間部分はメモリーに実装され、キャッシュラインに貯蔵されている。この例では1クロック周期のみでキャッシュライン全体を読み込み、書き込める256層メモリーが使われている。Zero turn around memories (ZBT)が仮定され、書き込みが直接読み込みに続くようになっている。
【0045】
図9に示されているように5つのFIFO待ち行列(57)がメモリーの待ち行列群の中間部分を実装するのに必要とされる。待ち行列の4つはメモリーに含まれるキャッシュラインの番地を含み、5つ目の待ち行列はフリーリストと呼ばれ、空のキャッシュラインの番地を含んでいる。フリーリストのリセット操作により、FIFOは初期化されメモリーに含まれるキャッシュラインの全ての番地を含むようになり、チャンネル番地FIFOは空になる。
データパスは8つの状態のうち1つで動作する:
Ain, Bin, Cin, Din, Aout, Bout, Cout, Dout
【0046】
この状態は上記メモリーの枠組みにより示されるタイムスロットにより決定される。この例では4つの出力待ち行列群は個々の特定した状態を使っている。入力段は入力状態のうちどれでも使うことを要求する。調整機構はどの入力段が適切な入力タイムスロットを使うのかを明らかにする。全ての入力(出力)状態は同様に動作する。入力段Aがうまく入力状態を調整している入力状態Ainを考えてみる。TDMの枠組みの最初のクロック周期ではAinは以下のように動作する:
(TDMバスに割り当てられたタイムスロットで)
もし(キャッシュラインレジスタが一杯ならば)
― メモリーバスを駆動するためにフリーリストの先 頭で番地を使う。
― チャンネルAキャッシュラインのレジスタに含 まれているデータをメモリーに書き込む。
― フリーリストのメモリー番地を押し出す。
― フリーリストのメモリー番地をチャンネルA番 地FIFOの後尾に押し込む。
【0047】
もしフリーリストのメモリー番地でFIFOが空ならチャンネルAキャッシュラインレジスタに位置するデータは落とされる。チャンネルAで落とされたパケットを特定するためには注意が必要である。他の入力チャンネルはそれら自身の特定されたメモリータイムスロットで同様に動作する。TDMの枠組みでの出力状態Aoutを考えてみる。5つ目のクロック周期ではAoutは次のように動作する:
(TDMバスに割り当てられたタイムスロットで)
もし(R-FSMがデータを何も持っていない場合)
もし(共有されたメモリーがこの待ち行列群のためのデータを含んでいるなら)
キャッシュラインを共有されたメモリーの待ち行列の先 頭でR-FSM待ち行列の後尾に読み込む。
そうでないならば(共有されたメモリーがこの待ち行列群のためのデータを含んでいない場合)
W-FSM待ち行列の先頭から(キャッシュラインに至るまで の)全てのデータをR-FSMの後尾に読み込む。
【0048】
R-FSM待ち行列の排出過程については、パケットはR-FSM待ち行列の先頭から押し出されて伝達され、出力ポートに送られる。メモリーへの読み込み・書き込みは全てデータの全てのキャッシュラインを含むため、メモリーバス(42)の効率は100%である。小さなパケットはメモリーバス(42)上でデータの断片化を起こさない。さらにメモリーバスの幅は際限なく増大することができ、パケットの大きさに制限されない。
【0049】
この発明は図示のために前述の具体化方法において詳述されてきたものだが、この詳しい部分は、この目的(図示)のためだけのものであり、技術分野の者なら以下の特許請求の範囲で述べられるものは別にして、この発明の真意と範囲から逸脱することなく、変更を加え得ると理解されるべきである。
【図面の簡単な説明】
添付の図では、この発明の望ましい具体例と、この発明を実行する望ましい方法が示されている。
【図1】従来技術の時分割多重スイッチの概略図である。
【図2】4つの入力、4つの出力を持った従来技術の時分割多重スイッチの概略図である。
【図3】本発明のスイッチシステムの概略図である。
【図4】本発明のスイッチシステムの概略図である。
【図5】記号語の概略図である。
【図6】 4つのポートパスのデータ経路の概略図である。
【図7】 TDM方式で分割されたメモリーバスの概略図である。
【図8】メモリーの概略図である。
【図9】5つのFIFO待ち行列の概略図である。
【符号の説明】
(10) スイッチシステム
(12) 入力ポート部
(16) 通信ライン
(20) キャリア部
(22) メモリー部
(24) 入力段待ち行列群
(26) 出力段待ち行列群
(28) 仕分け部
(30) 処理部
(32) 書込み用第1有限状態機
(34) 書込み用第2有限状態機
(36) 読込み用第1有限状態機
(38) 読込み用第2有限状態機
(40) メモリー
(42) バス
(44) 中央資源
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a time division multiplexing switch (TDM). More particularly, the present invention relates to time division multiplexing of switches, where the memory bus width is independent of any packet width.
[0002]
BACKGROUND OF THE INVENTION
Time division multiplexing is one technique used to implement a switch system. Consider a switch structure with N input ports each receiving packets at a rate of R and N output ports each sending packets at a rate of R, as shown in Figure 1. For one shared TDM switch system, one memory bus with a total bandwidth of 2 × N × R is required. Arriving packets are collected and written to memory. Once written to memory, the packet is read from memory and sent on the output port.
[0003]
The system will work correctly and without failure if the shared memory has enough bandwidth to service all the input and output ports. Memory bandwidth can be increased by increasing memory bus speed and memory bus width. Current memory bus speeds are technically limited to approximately 300 MHz using microprocessor synchronous cache memory. To further increase the memory bandwidth, the memory bus must be expanded further.
[0004]
Consider the example of a TDM switch system with four input ports and four output ports as shown in FIG. The input and output ports consist of a 1-bit wide data path and operate at a single fixed clock rate. This is the same for all ports and memory buses. Let's assume that all packets are 8 bits long. The structure can be implemented using an 8-bit wide TDM memory bus. Each input port is assigned one clock period and a packet (8 bits) is written to the memory during each period of 8 clock cycles or more, and each output port is assigned one clock period to send one packet from the memory. Read.
[0005]
There are a number of issues that complicate the design of a TDM switch system. Depending on the application of the switch system, the packets are usually resized. Changing the size of the packet reduces the performance of the TDM system due to fragmentation of the packet on the memory bus. If one packet does not use an integer multiple of the memory period, the memory bandwidth is wasted on the memory period when reading or writing data smaller than the memory width. Typically, TDM systems are run with a memory bandwidth greater than 2 × N × R to compensate for the inefficiencies associated with fragments.
[0006]
Fragment issues become critical as the memory width approaches or exceeds the minimum size data packet. Consider a system where the width of the memory bus is equal to twice the minimum packet length. While the length of all received packets is equal to the minimum packet length, the memory system bandwidth is reduced to 50% because all packets written to memory use only half the data bits of the memory bus. (Or 50% efficiency).
[0007]
Because of packet fragments on the memory bus, a typical TDM switch system uses a bus width that is at most as wide as the minimum length packet.
The total bandwidth of the TDM switch system shared memory is limited by the bandwidth of the memory bus. The bandwidth of a memory bus is determined by its speed (clock rate) and its width (number of bits). If the storage speed is fixed by available storage element technology, the total bandwidth of the TDM switch is constrained by the minimum packet size.
[0008]
SUMMARY OF THE INVENTION
The present invention relates to a switch system. The system has I input port units that receive packets from a communication line having a certain width (I is an integer of 1 or more). The system has O output port sections that send packets to a communication line having a certain width (O is an integer of 1 or more). The system has a carrier part on which packets move. The carrier part has a width wider than that of the input and output communication lines. The carrier part is connected to each input port part and each output port part. The system has a memory part in which packets are stored. In the system, there is a mechanism for supplying a packet from an input port unit to a memory unit via a carrier unit. The supply unit is in each transmission cycle: Them A packet or a portion of the packet whose total width is equal to the width of the carrier part can be sent to the memory part.
[0009]
The present invention relates to a packet switching system. The system has a central resource with a certain width and full bandwidth, an input port section for sending and receiving each packet, and an output port section. Central resources are divided by time slots assigned to input and output port sections. The width of the central resource is independent of any packet width, and the total bandwidth can grow without bound. The system has a memory part for storing packets, and the memory part is connected to a central resource.
[0010]
The present invention relates to a switch system. There is a time division multiplex bus in the system. The system has a memory portion connected to a bus accessed by time division multiplexing of the bus. The system has a mechanism for reading and writing packet data to the memory section through the bus without knowing the boundary of the data packet.
[0011]
The present invention relates to a switch system. The system has a time division multiple carrier part with a certain width. The system has a memory part connected to its carrier part. The system has an input unit having a certain width for supplying packet data to the memory unit so that the packet data satisfies the bus width by time division multiplexing. The bus width is a non-integer multiple of the packet width. The system has an output section with a certain width to supply packet data from the memory section.
[0012]
The present invention relates to a method for switching packets from an input section to an output section each having a certain width. The method is First At least with packets Second The packet is received by the switch unit. The method goes through the division multiplexing of a bus with a certain width, First Packets of Second The packet data is sent to the memory unit, whereby the data from the packet includes a step of filling a predetermined portion of the bus width. The bus width is not the same as the input and output widths.
[0013]
DETAILED DESCRIPTION OF THE INVENTION
In the drawings, like reference numerals refer to like or like parts throughout the several views, more specifically, FIGS. A switch system (10) is shown. The system (10) has I input port sections (12) having a certain width for receiving packets from the communication line (16) (I is an integer of 1 or more). One input port section (12) preferably includes one input port. The system has O output ports (14) with a width of O that send packets to the communication line (16). One output port section (14) preferably includes one output port (O is an integer of 1 or more). The system has a carrier part (20) on which packets move. The carrier part (20) has a width wider than that of the input and output parts. The carrier section (20) is connected to each input port section and each output port section. The system (10) has a memory unit (22) in which packets are stored. The system has a mechanism for supplying packets from the input port unit (12) to the memory unit (22) via the carrier unit (20). The supply unit (20) is Them A packet or a part of the packet whose total width is equal to the width of the carrier part 20 can be sent to the memory part 22.
[0014]
The width of the carrier part (20) is preferably independent of the width of any input or output part. The input port mechanism preferably receives packets of various sizes. The output port section preferably sends out packets of various sizes to the communication line (16). The communication line 16 may be an ATM network.
[0015]
The supply unit (20) also preferably supplies a packet from the memory unit (22) to the output port unit (14) via the carrier unit (20). During the transmission cycle, the supply unit (20) Them Can be sent from the memory section (22).
[0016]
The supply unit (20) has an input stage of a queue group (24), which is connected to the carrier unit (20) and the input port unit (12) and is received by the input port unit. Stored packets. There is also an output stage of the queue group (26), which is connected to the supply unit (20) and the output port unit (14), and stores packets to be sent out from the output port unit. Each queue group corresponds to one packet.
The supply unit (20) includes a sorting unit (28) that arranges packets received by the input port unit at the input stage of the corresponding queue group, and the sorting unit (28) includes the input port unit (12). And connected to the input stage of the queue group (24). The supply unit (20) includes a processing unit (30) that arranges a packet in the output stage of the queue group to a corresponding output port unit (14), and this processing unit (30) includes an output port unit ( It is desirable to be connected to the output stage of 14) and the queue group (26).
[0017]
The sorting unit (28) includes a first write finite state machine (32) for writing a packet to a corresponding input queue, and the supplying unit (20) is a group of queues. A second finite state machine for writing (34) for writing from the input stage to the memory section (22) and a first finite state for reading to read packets from the memory section (22) to the output stage of the queue group Preferably, the processing unit 30 includes a second finite state machine 38 for reading from the output stage of the queue group to the network.
[0018]
The memory section (22) preferably includes a shared memory (40). It is desirable that the packet or a part of the packet moves the carrier part (20) based on time division multiplexing. The carrier part (20) preferably includes a bus (42). When the input stage of the queue group contains at least one cache line of data, the first finite state machine for reading (36) only transfers the packet data of the input stage of the queue group to the bus (42). Is desirable.
[0019]
The present invention relates to a packet switching system (10). The system has a central resource (44) with a certain width and a certain total bandwidth, with an input port section (12) for receiving packets and an output port section (14) for sending packets. . The central resource (44) is divided by time slots assigned to the input and output port sections (14). The width size of the central resource (44) is independent of any packet width size, and the total bandwidth can grow without bound. The system (10) has a memory unit (22) for storing packets, and the memory unit (22) is connected to a central resource (44).
[0020]
The central resource (44) preferably includes a memory bus (42). The central resource (44) preferably includes a group of queues to which packets are classified, and the packets are preferably read from the group of queues and written to the memory unit (22).
The present invention relates to a switch system (10). The system (10) has a time division multiplex bus (42). The system (10) has a memory unit (22) connected to the bus (42) accessed by time division multiplexing of the bus (42). The system has a mechanism for reading and writing the packet data to the memory unit (22) through the bus (42) without knowing the boundary of the data packet.
[0021]
The present invention relates to a switch system (10). The system has a time division multiple carrier section (20) having a certain width. The system has a memory part (22) connected to its carrier part (20). The system has a mechanism for supplying packet data from the input port unit to the memory unit (22) so that the packet data satisfies the width of the bus (42) by time division multiplexing. The width of the bus (42) is a non-integer multiple of the width of the input / output port section.
[0022]
The present invention relates to a method for switching packets from an input unit to an output unit. That way First At least with packets Second The step of receiving a packet of a packet by a switch unit having a certain width is included. In this method, the data of the first packet and the second packet are sent to the memory unit (22) by time division multiplexing of the bus (42) having a certain width, and the data from the packet is sent to the width of the bus (42). Including a step of filling a predetermined portion. The width of the bus (42) is not the same as the width of the input / output port section.
[0023]
The width of the bus (42) is preferably a positive multiple of the width of the input port section, and may be a non-integer multiple. The transmission process consists of placing the first packet and at least the second packet at the input stage of the queue group, and transferring the data at the input stage of the queue group between the time slots allocated on the bus (42). In addition, it is desirable to include a step of sending data to the memory unit (22) so that the data satisfies a predetermined ratio of the bus width (42).
[0024]
Before the data transmission process, determining whether a group of input queues has enough data to satisfy at least a predetermined percentage of the bus width (42) before the data is sent to the bus (42). It is desirable that there is. Preferably, prior to the data sending step, there is a step of determining whether the input stage of the queue group has at least one cache line.
[0025]
In the operation of the present invention, system (10), the memory width limitation of a typical TDM switch system is to sort the packets into the input stage of the queue group (24) and then to the input stage of the queue group (24). Is removed by reading data from and writing to memory. The memory width is independent of the minimum packet size, and the total bandwidth of the TDM switch system can be increased without limit.
[0026]
Packets arriving at the input port of the switch system (10) are classified into a certain number in the queue group (24). One queue is implemented in each group in three stages.
1. Input stage: The tail of the queue is implemented in the switch structure by a first finite state machine for writing (W-FSM).
2. Memory phase: The middle of the queue is implemented with shared memory.
3. Output stage: The head of the queue is implemented in the switch structure by a first finite state machine (W-FSM) for reading.
[0027]
Reading and writing to the shared memory is performed on the data in the queue group, and packet boundaries in the queue are not conscious. Access to the shared memory is assigned to the read / write FSM by time division multiplexing of the shared memory bus.
[0028]
W-FSM is implemented as follows:
The process that W-FSM stores in the queue:
After the packet arrives from the input port, it is classified and added to the tail of the queue group on the W-FSM.
The process by which W-FSM drains into the queue:
(When a time slot is assigned to the TDM bus)
(If W-FSM contains at least one data cache line)
Write the cache line at the beginning of the W-FSM to the end of the shared memory queue.
R-FSM is implemented as follows:
The process of R-FSM storing data in the queue
(In the time slot assigned to the TDM bus)
If (when R-FSM does not contain data)
If (if shared memory contains data for this queue group)
Read the cache line at the head of the shared memory queue and queue it at the end of the R-FSM queue.
If not (if shared memory does not contain data for this queue group)
Read any data from the top of the W-FSM queue to the end of the R-FSM queue (up to the cache line).
The process by which R-FSM drains data to the queue
Packets are taken from the top of the output stage of the R-FSM queue, processed, and forwarded to the output port.
[0029]
More specifically, one cell or one packet arrives at one input port of the switch (45). W-FSM (32) classifies packets into queue group (24). When other packets arrive at the input port of the switch (45), they are also classified by the W-FSM (32) into their corresponding queue group (24). Once classified into a queue group, they (packets) are added to the tail of the corresponding input stage queue group. Classification and storage of cells arriving at the input port of the switch (45) will continue, but for a certain input stage queue group (24), when one packet is classified, Added to the tail of the corresponding input stage queue group.
[0030]
The second finite state machine (34) for writing corresponding to the queue group (24) at the input stage records the number of packets in the queue group (24) at the input stage. When there are enough packets in the input stage queue group (24) for the data on the input stage queue group (24), the second finite state machine for writing (34) 24) Waiting for the arrival of the time slot assigned on the bus. When the assigned time slot arrives, there is not enough data in the input stage queue group (24) to fill the cache line, so data was previously released from the input stage queue group (24). Although there was not enough data to fill the cache line, the second finite state machine for writing (34) has now changed from the queue group (24) of the input stage to the queue group (24 Send enough data to fill the cache line during the time slot assigned to. The allocated time slot is a period sufficient to allow the data cache line to be sent from the input stage queue group (24) to the bus. When the data cache line from the input stage queue group (24) is sent on the bus, the data remaining in the input stage queue group (24) is moved to the head of the input stage queue group (24). . Further, the data moved to the head of the queue group (24) at the input stage creates room for the next packet or data to enter the queue group (24) at the input stage. It is possible that cells are placed at the tail of the input stage queue group (24) just as data is being sent to the bus from the input stage queue group (24).
[0031]
Depending on the size of the cache line, the data sent to the bus may be other than an integral multiple of the data held in the packet in the queue group (24) at the input stage. For example, the cache line has such a width that a part of the packet remains in the queue group (24) of the input stage after the data of the cache line is sent to the memory (40) on the bus. The second finite state machine for writing (34) is unaware of cell / packet boundaries, and only has to fill the cache line with data, regardless of the result of the integrity of the cell / packet. Therefore, the cells and packets are divided to adapt to the constraint that the data fills the cache line within the assigned time slot.
[0032]
When the data cache line arrives at the shared memory (40) from the bus, the controller (47) stores the data cache line in the shared memory (40) and caches it from the queue group (24) at the input stage. The address in the shared memory (40) is recorded in the order of the queue group (24) of the input stage that is the connection source of the line and the cache line. Thereafter, the data cache line sent from the queue group (24) of different input stages is stored in the shared memory (40) by the controller (47). The next cache line sent from the queue group (24) at the input stage is also stored in the shared memory (40). The controller (47) keeps track of the address where the cache line from the input stage of the queue group (24) is stored. Suppose the first cache line from the input stage queue group (24) has the first part of the cell, and the second cache line from the input stage queue group (24) has the second part of the cell. Even so, the next cache line from the input stage queue group (24) is not necessarily stored in the same address or stored in two addresses adjacent to each other.
[0033]
When a packet is sent out from an output port, the first finite state machine (36) for reading corresponding to the queue group (26) of a certain output stage is allocated on the bus to the queue group (26) of that output stage. Waiting for a given time slot. The first finite state machine for reading (36) keeps the data in the shared memory (40) read into the queue group (26) of the output stage. Since the first finite state machine for reading (36) is connected to the controller (47) and the first finite state machine for writing (32), which data is sent to the queue group (26) of the corresponding output stage. I understand. When the next assigned time slot arrives at the output stage queue group (26), the cache line in the shared memory (40) for the output stage queue group (26) is read first finite. It is read into the queue group (26) of the output stage by the state machine (36). The first finite state machine for reading (36) is connected to the controller (47), thereby knowing from which location the cache line should be read. The cache lines are read sequentially and placed in the output stage queue group (26), so when the output stage queue group (26) is recombined in the write stage to the shared memory (40), All split cells are also recombined. When the time slot allocated for the output stage queue group (26) arrives and there is no data, the first finite state machine for reading is directly cached from the input stage queue group (24). Data is read into the line, and the data is finally transmitted to the queue group (26) of the output stage.
[0034]
The second finite state machine for reading (38) keeps the information of the queues in the output stage queue group. The second finite state machine (38) for reading only reads a packet from the queue group (26) of the output stage to a predetermined quantity only when a predetermined amount is formed in the queue group (26) of the output stage in the packet, Send the packet out to the network.
[0035]
Since all reads and writes to the memory include all cache lines of data, the efficiency of the memory bus 42 is 100%. Small packets do not cause data fragmentation on the memory bus (42). Furthermore, the width of the memory bus can be increased without limit and is not limited by the size of the packet.
[0036]
The queue group model can be used to implement any queue structure. To implement an output queue, one queue group is assigned to each output port. The queue group includes an input stage queue group, a cache line stored in a shared memory, and an output stage queue group. The packet sorting unit inspects each packet at the time of input, and classifies the packet into an appropriate output queue. The packet is associated with an input stage queue group corresponding to the output stage queue group. The queue group (28) in the output stage is queued from memory to memory using W-FSM and R-FSM. After R-FSM, the packet is immediately queued to the output port.
[0037]
By associating one queue group (24) for each input port, an input queue is implemented using a simple packet sorting unit. The mechanism based on priority is implemented as follows. One queue group is defined for each of several priority levels. On input, one packet is sorted into one of the priority queue groups. Queues are queued in memory using W-FSM or R-FSM. After R-FSM, the packet is processed to determine the respective output port and sent out of the system.
[0038]
[Example]
A packet switch with four input ports and four output ports is implemented using the system (10). The system is totally synchronized and operates with a 20MHz clock period. The four inputs operate 8 bits wide and implement four 160Mbps interfaces. As shown in FIG. 5, the packet is delimited by a code word representing a packet start end (SOP) and a packet end end (EOP).
[0039]
This example assumes an output queue switch. Packets that arrive at the input port of the switch system (10) correspond to each output port, and are classified into four queue groups. Referring to FIG. 4, the output queue is implemented in each group of three subsystems:
1. The tail is implemented by a first finite state machine (W-FSM) for writing in the switch structure.
2. The middle is implemented in shared memory.
3. The top is mounted in the switch structure by the first finite state machine for reading (R-FSM).
[0040]
Reading and writing to the shared memory is implemented on the queue group data and is executed without being aware of the packet boundaries of the data in the queue. Access to the shared memory is assigned to the first finite state machine for reading and writing by time division multiplexing of the shared memory bus. The shared memory bus width is called a cache line.
[0041]
The head and tail of the queue group in the input stage / output stage of the present invention are directly implemented in the shift register (51). The shift register 51 has the same width as the incoming data interface and the same length as the memory cache line. The data path for a four port switch is shown in FIG.
[0042]
The cache line is 64 bits long and is 8 bytes itself. Data from each port is shifted 8 registers deep into a shift register with an 8-bit wide cache line. Not shown is a synchronous shift register before an 8-bit shift register, also 8 registers deep. As shown in FIG. 7, the memory bus is divided into eight time slots for each input / output port in a TDM (time division multiplexing) system. Because the example switch implements an output queue, the output queue is always drained at the same rate, and therefore always uses the same time slot on the bus. Since incoming packets are directed to any output port, the input stage queue can fill at any rate. Input stage queues are allocated as many input bus time slots as necessary. Since the total input rate does not exceed four time slots, it is sufficient for the input stage to arbitrarily adjust the four input stage time slots.
[0043]
The synchronization register is used to compensate that no data is lost. Typically, data is not stored in the synchronization register. All incoming packets are written directly to the cash register. If the cache register is filled before that time slot on the TDM bus, the sync register begins to store data, and once the cache line register is empty, the data from the sync register is pushed into the cache line register. If the cache line register is still full, adjust the next input bus cycle immediately. Only filled cache line registers regulate bus cycles.
[0044]
As shown in FIG. 8, the head and tail of the present invention (input and output stages) are implemented directly in the hardware FIFO queue. The middle part of the queue group is implemented in memory and stored in a cache line. In this example, a 256-layer memory that can read and write the entire cache line in only one clock cycle is used. Zero turn around memories (ZBT) is assumed, and writing follows direct reading.
[0045]
As shown in FIG. 9, five FIFO queues (57) are required to implement the middle part of the memory queue group. Four of the queues contain the addresses of cache lines contained in the memory, and the fifth queue is called a free list and contains the addresses of empty cache lines. By resetting the free list, the FIFO is initialized to include all the addresses of the cache lines included in the memory, and the channel address FIFO becomes empty.
The data path operates in one of eight states:
Ain, Bin, Cin, Din, Aout, Bout, Cout, Dout
[0046]
This state is determined by the time slot indicated by the memory framework. In this example, the four output queue groups use individual specified states. The input stage requires that any of the input states be used. The adjustment mechanism reveals which input stage uses the appropriate input time slot. All input (output) states operate in the same way. Consider an input state Ain where the input stage A is adjusting the input state well. In the first clock period of the TDM framework, Ain works as follows:
(In the time slot assigned to the TDM bus)
If the cache line register is full
-Use the address at the beginning of the free list to drive the memory bus.
-Write the data contained in the channel A cache line register to memory.
― Push the memory address of the free list.
― Push the memory address of the free list into the tail of channel A address FIFO.
[0047]
If the FIFO is empty at the memory address of the free list, the data located in the channel A cache line register is dropped. Care must be taken to identify dropped packets on channel A. Other input channels operate similarly in their own specified memory time slots. Consider the output state Aout in the TDM framework. In the fifth clock period, Aout operates as follows:
(In the time slot assigned to the TDM bus)
If (when R-FSM has no data)
If the shared memory contains data for this queue group
Read the cache line at the head of the shared memory queue to the tail of the R-FSM queue.
If not (if shared memory does not contain data for this queue group)
Read all data from the top of the W-FSM queue (up to the cache line) to the end of the R-FSM.
[0048]
For the draining process of the R-FSM queue, the packet is pushed out from the head of the R-FSM queue, transmitted, and sent to the output port. Since all reads and writes to the memory include all cache lines of data, the efficiency of the memory bus 42 is 100%. Small packets do not cause data fragmentation on the memory bus (42). Furthermore, the width of the memory bus can be increased without limit and is not limited by the size of the packet.
[0049]
Although the invention has been described in detail in the foregoing embodiments for purposes of illustration, this detailed portion is solely for this purpose (illustrated) and those skilled in the art will be able to claim the following claims. It should be understood that changes may be made without departing from the spirit and scope of the present invention, apart from those described in.
[Brief description of the drawings]
The accompanying drawings illustrate preferred embodiments of the invention and preferred methods of practicing the invention.
FIG. 1 is a schematic diagram of a time division multiplexing switch of the prior art.
FIG. 2 is a schematic diagram of a prior art time division multiplex switch with four inputs and four outputs.
FIG. 3 is a schematic diagram of the switch system of the present invention.
FIG. 4 is a schematic view of the switch system of the present invention.
FIG. 5 is a schematic diagram of symbolic words.
FIG. 6 is a schematic diagram of data paths of four port paths.
FIG. 7 is a schematic diagram of a memory bus divided by a TDM method.
FIG. 8 is a schematic view of a memory.
FIG. 9 is a schematic diagram of five FIFO queues.
[Explanation of symbols]
(10) Switch system
(12) Input port section
(16) Communication line
(20) Career Department
(22) Memory section
(24) Input stage queue group
(26) Output stage queue group
(28) Sorting department
(30) Processing section
(32) First finite state machine for writing
(34) Second finite state machine for writing
(36) First finite state machine for reading
(38) Second finite state machine for reading
(40) Memory
(42) Bus
(44) Central resources

Claims (21)

通信ラインから各々がパケットを受け取る、ある幅を持ったI個の入力ポート部(Iは1以上の整数)と
通信ラインへと各々がパケットを送り出す、ある幅を持ったO個の出力ポート部(Oは1以上の整数)と
各入力ポート部及び各出力ポート部に接続されており、出入力ポート部の幅よりも大きな幅を持ち、複数のパケットを運ぶキャリア部であって、複数のパケットのデータは、割り当てられたタイムスロットにて送られるキャリア部と、
複数のパケットが貯蔵されるメモリー部であってキャリア部に接続されているメモリー部と、
I個の入力ポート部からキャリア部を経由してメモリー部へとパケットのデータを供給する供給部であって、キャリア部とI個の入力ポート部に接続されて、I個の入力ポート部で受け取ったパケットを貯蔵する入力段の複数の待ち行列群と、キャリア部とO個の出力ポート部に接続されて、O個の出力ポート部から送り出すパケットを貯蔵する出力段の複数の待ち行列群とを含んでいる供給部と、
を有しており、
供給部は、入力段の待ち行列群の複数のパケットのデータが、キャリア部の幅を満たすのに十分な場合にのみ、割り当てられたタイムスロットにて、複数のパケットのデータをメモリー部に送り、キャリア部の幅を満たすのに十分なデータがない場合には、待ち行列群のデータを割り当てられたタイムスロットにてメモリー部に送らない、
スイッチシステム。
I input port sections (I is an integer of 1 or more ) having a certain width, each receiving a packet from the communication line ;
O output port sections (O is an integer of 1 or more ) having a certain width, each sending a packet to the communication line ;
A carrier unit that is connected to each input port unit and each output port unit and has a width larger than the width of the input / output port unit and carries a plurality of packets. A carrier part sent in a slot ;
A memory unit for storing a plurality of packets, and a memory unit connected to the carrier unit ;
A supply unit for supplying packet data from the I input port units to the memory unit via the carrier unit, and connected to the carrier unit and the I input port units. A plurality of queue groups in the input stage for storing received packets, and a plurality of queue groups in the output stage connected to the carrier section and the O output port sections for storing packets sent from the O output port sections. And a supply unit containing
Have
The supply unit sends the data of the plurality of packets to the memory unit in the allocated time slot only when the data of the plurality of packets in the queue group at the input stage is sufficient to satisfy the width of the carrier unit. If there is not enough data to fill the width of the carrier part, the queue group data is not sent to the memory part in the assigned time slot.
Switch system.
キャリア部の幅の大きさは、どのパケットの幅からも独立である、請求項1に規定されたスイッチシステム。  The switching system as defined in claim 1, wherein the width of the carrier portion is independent of the width of any packet. 入力ポート部は、さまざまな大きさのパケットを受け取る、請求項2に規定されたシステム。  The system as defined in claim 2, wherein the input port portion receives packets of various sizes. 出力ポート部は、通信ラインへさまざまな大きさのパケットを送り出す、請求項3に規定されたシステム。  4. The system as defined in claim 3, wherein the output port section sends packets of various sizes to the communication line. 供給部もまた、メモリー部からキャリア部を経由してO個の出力ポート部へと、パケットを供給し、各送信サイクルの間に、それらの全体幅がキャリア部の幅に等しい複数のパケットか複数のパケットの部分をメモリー部に送ることができる、請求項4に規定されたシステム。The supply unit also supplies packets from the memory unit to the O output port units via the carrier unit, and during each transmission cycle, a plurality of packets whose total width is equal to the width of the carrier unit. 5. A system as defined in claim 4, wherein portions of the plurality of packets can be sent to the memory portion. 供給部は入力ポート部によって受け取られたパケットを、対応する入力段の待ち行列群配置する仕分け部を含んでおり、この仕分け部がI個の入力ポート部と複数の入力段の待ち行列群に接続されている、請求項に規定されたシステム。Supply unit, the packets received by the input port unit includes a sorting unit to place the queue group corresponding input stage, the sorting unit queue of the I input ports unit and a plurality of input stage 6. A system as defined in claim 5 connected to a group . 供給部は、出力段の待ち行列群にあるパケットを、対応する出力ポート部へと配置する処理部を含んでいて、この処理部がO個の出力ポート部と複数の出力段の待ち行列群に接続されている、請求項に規定されたシステム。The supply unit includes a processing unit that arranges the packets in the queue group of the output stage to the corresponding output port unit, and the processing unit includes O output port units and a plurality of output stage queue groups. The system as defined in claim 6 , wherein the system is connected to 仕分け部は、パケットを対応する入力段の待ち行列に書き込むための、書き込み用第1有限状態機を含み、供給部はパケットを入力段の待ち行列群からメモリー部へと書き込むための書き込み用第2有限状態機と、パケットをメモリー部から出力段の待ち行列群へと読み込むための読み込み用第1有限状態機を含み、処理部は、パケットを出力段の待ち行列群からネットワークへと読み込むための読み込み用第2有限状態機を含んでいる、請求項に規定されたシステム。The sorting unit includes a first finite state machine for writing to write the packet to the corresponding queue group of the input stage , and the supplying unit for writing to write the packet from the queue group of the input stage to the memory unit A second finite state machine and a first finite state machine for reading the packet from the memory unit to the output stage queue group , and the processing unit reads the packet from the output stage queue group to the network. 8. A system as defined in claim 7 including a second finite state machine for reading. メモリー部は、共有されたメモリーを含んでいる、請求項に規定されたシステム。9. A system as defined in claim 8 , wherein the memory portion includes a shared memory. パケットまたはパケットの部分が、時分割多重に基づいたキャリア部上を移動する、請求項に規定されたシステム。The system as defined in claim 9 , wherein the packet or portion of the packet travels on a carrier part based on time division multiplexing. キャリア部は、バスを含んでいる、請求項10に規定されたシステム。11. A system as defined in claim 10 , wherein the carrier portion includes a bus. 入力段の待ち行列群が、データの少なくとも1つキャッシュラインを含む場合、読み込み用第1有限状態機は、入力段の待ち行列群のパケットのデータをバスへ送る、請求項11に規定されたシステム。 Queue group in the input stage, if it contains at least one cache line of data, the first finite state machine for reading sends the data of the queue group the input stage packet to the bus, as defined in claim 11 System. 通信ラインは、ATMネットワークである、請求項12に規定されたシステム。The system as defined in claim 12 , wherein the communication line is an ATM network. メモリー部は、パケットの境界を知ることなく蓄積されたパケットを有する、請求項13に規定されたシステム。14. A system as defined in claim 13, wherein the memory portion comprises packets stored without knowing packet boundaries. ある幅を有する時分割多重バスと、
時分割多重バスに接続されており、時分割多重バスの時分割多重によってアクセスされるメモリー部と、
複数のパケットのデータを、該データのパケットの境界を知ることなく、時分割多重バスを通じてメモリー部に読み込み、書き込むための読み書きメカニズムを具えており、
読み書きメカニズムは、複数のパケットのデータが、時分割多重バスの幅を満たすのに十分な場合にのみ、割り当てられたタイムスロットにて、複数のパケットのデータをメモリー部に送り、時分割多重バスの幅を満たすのに十分なデータがない場合には、複数のパケットのデータを、割り当てられたタイムスロットにて送らないスイッチングシステム
A time division multiplex bus having a width ;
A memory unit that is accessed by time division is connected to the multiplex bus, when time-division multiplexing division multiplexed bus,
The data of a plurality of packets, without knowing the boundaries of the packets of the data, reading the memory unit through division multiplex bus time, which comprises a reading and writing mechanism for writing,
The read / write mechanism sends the data of multiple packets to the memory unit in the allocated time slot only when the data of multiple packets is sufficient to fill the width of the time division multiplex bus. A switching system that does not send data of multiple packets in an assigned time slot when there is not enough data to satisfy the width of
ある幅を持つ時分割多重キャリア部と、
時分割多重キャリア部に接続されており、時分割多重キャリア部の時分割多重によってアクセスされるメモリー部と、
複数のパケットのデータが時分割多重によって時分割多重キャリア部の幅を満たすよう、パケットのデータをメモリー部に供給するための、ある幅を持った入力段部であって、時分割多重キャリア部の幅は入力段部の幅の非整数倍である入力段部と、
複数のパケットのデータを、そのデータが時分割多重キャリア部の幅を満たすように、時分割多重によってメモリー部に供給する供給部と、
を具えており、
入力段部は、複数のパケットのデータが、時分割キャリア部の幅を満たすのに十分な場合にのみ、割り当てられたタイムスロットにて、複数のパケットのデータをメモリー部に送り、時分割キャリア部の幅を満たすのに十分でない場合には、それらバケットのデータを、割り当てられたタイムスロットにて送らないスイッチシステム。
A time division multiple carrier part having a certain width ;
A memory unit that is accessed by time division is connected to the multi-carrier unit, when time division multiplexing of division multiplex carrier unit,
To meet the width of division multiplex carrier unit time by time-division multiplexing data of a plurality of packets, for supplying data packet in memory section, an input stage unit having a certain width, time division multiple carrier portion The width of the input stage is a non-integer multiple of the width of the input stage,
A supply unit that supplies data of a plurality of packets to the memory unit by time division multiplexing so that the data satisfies a width of the time division multiplexing carrier unit;
With
The input stage unit sends the data of the plurality of packets to the memory unit in the allocated time slot only when the data of the plurality of packets is sufficient to satisfy the width of the time division carrier unit, and the time division carrier A switch system that does not send the data in these buckets in the assigned time slot if it is not sufficient to fill the width of the part.
パケットを切り換えるための方法であって、
第1のパケットと、少なくとも第2のパケットとをスイッチ部で受け取る工程と、
第1のパケットと第2のパケットのデータが、バスの幅を満たすのに十分な場合にのみ、第1のパケットと第2のパケットを、バスの時分割多重によって、割り当てられたタイムスロットにてメモリー部に送り、バスの幅を満たすのに十分なデータがない場合には、第1のパケットと第2のパケットのデータを、割り当てられたタイムスロットにて送らない工程と、
を具えており、
バスの幅はどのパケット含まれているデータの関数にもなっていない方法
A method for switching packets ,
A first packet, the steps that receive at least a second packet switching unit,
Only when the data of the first packet and the second packet is sufficient to fill the width of the bus, the first packet and the second packet are assigned to the assigned time slot by time division multiplexing of the bus. If there is not enough data to fill the bus width and fill the bus width, the first packet and second packet data are not sent in the assigned time slot;
With
Way not the width of the bus is also the function of the data contained in which packets.
バスの幅は、パケットのの非整数倍である、請求項17に規定された方法。The width of the bus is a non-integer multiple of the width of the packet, as defined in claim 17 method. 第1のパケットと少なくとも第2のパケットを入力段の待ち行列群に配置する工程と、入力段の待ち行列群にあるデータを、バスで割り当てられたタイムスロットの間に、データがバス幅満たすように、メモリー部に送る工程を含む、請求項18規定された方法。Placing the first packet and at least the second packet in the queue of the input stage, and the data in the queue group of the input stage between the time slots assigned by the bus , as satisfied, and a step of sending to the memory unit, as defined in claim 18 method. データを送る工程の前に、入力段の待ち行列群が少なくともバス幅満たすに十分なデータを持っているかどうかを、データがバスに送られる前に決定する工程を含む、請求項19に規定された方法。Before the step of sending the data, whether the queue group the input stage has enough data to fill at least a bus width, the data includes the step of determining before being sent to the bus, to claim 19 Prescribed method. データを送る工程の前に、入力段の待ち行列群データの少なくとも1つのキャッシュラインを持っているかどうかを決定する工程を含む、請求項20に規定された方法。 21. A method as defined in claim 20 , comprising prior to sending data, determining whether the queue of input stages has at least one cache line of data .
JP2000113100A 1999-04-15 2000-04-14 TDM switch system with very wide memory width Expired - Fee Related JP4480845B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/293563 1999-04-15
US09/293,563 US7031330B1 (en) 1999-04-15 1999-04-15 Very wide memory TDM switching system

Publications (2)

Publication Number Publication Date
JP2000349789A JP2000349789A (en) 2000-12-15
JP4480845B2 true JP4480845B2 (en) 2010-06-16

Family

ID=23129591

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000113100A Expired - Fee Related JP4480845B2 (en) 1999-04-15 2000-04-14 TDM switch system with very wide memory width

Country Status (5)

Country Link
US (1) US7031330B1 (en)
EP (1) EP1045558B1 (en)
JP (1) JP4480845B2 (en)
AT (1) ATE344560T1 (en)
DE (1) DE60031596T2 (en)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2381407B (en) * 2001-10-24 2004-06-30 Zarlink Semiconductor Ltd Dynamic buffering in packet systems
US7408957B2 (en) * 2002-06-13 2008-08-05 International Business Machines Corporation Selective header field dispatch in a network processing system
GB2396447A (en) * 2002-12-21 2004-06-23 Robert Clive Roust Data flow processing technique
US7492760B1 (en) * 2003-03-31 2009-02-17 Pmc-Sierra, Inc. Memory egress self selection architecture
US8427490B1 (en) 2004-05-14 2013-04-23 Nvidia Corporation Validating a graphics pipeline using pre-determined schedules
US8624906B2 (en) * 2004-09-29 2014-01-07 Nvidia Corporation Method and system for non stalling pipeline instruction fetching from memory
US8736623B1 (en) 2004-11-15 2014-05-27 Nvidia Corporation Programmable DMA engine for implementing memory transfers and video processing for a video processor
US8072887B1 (en) * 2005-02-07 2011-12-06 Extreme Networks, Inc. Methods, systems, and computer program products for controlling enqueuing of packets in an aggregated queue including a plurality of virtual queues using backpressure messages from downstream queues
US9092170B1 (en) 2005-10-18 2015-07-28 Nvidia Corporation Method and system for implementing fragment operation processing across a graphics bus interconnect
US7852866B2 (en) * 2006-12-29 2010-12-14 Polytechnic Institute of New York Universiity Low complexity scheduling algorithm for a buffered crossbar switch with 100% throughput
US7978690B2 (en) * 2007-03-31 2011-07-12 International Business Machines Corporation Method to operate a crossbar switch
US8683126B2 (en) 2007-07-30 2014-03-25 Nvidia Corporation Optimal use of buffer space by a storage controller which writes retrieved data directly to a memory
US8698819B1 (en) 2007-08-15 2014-04-15 Nvidia Corporation Software assisted shader merging
US8411096B1 (en) 2007-08-15 2013-04-02 Nvidia Corporation Shader program instruction fetch
US8659601B1 (en) 2007-08-15 2014-02-25 Nvidia Corporation Program sequencer for generating indeterminant length shader programs for a graphics processor
US9024957B1 (en) 2007-08-15 2015-05-05 Nvidia Corporation Address independent shader program loading
US9064333B2 (en) 2007-12-17 2015-06-23 Nvidia Corporation Interrupt handling techniques in the rasterizer of a GPU
US8780123B2 (en) 2007-12-17 2014-07-15 Nvidia Corporation Interrupt handling techniques in the rasterizer of a GPU
US8681861B2 (en) 2008-05-01 2014-03-25 Nvidia Corporation Multistandard hardware video encoder
US8923385B2 (en) 2008-05-01 2014-12-30 Nvidia Corporation Rewind-enabled hardware encoder
US8489851B2 (en) 2008-12-11 2013-07-16 Nvidia Corporation Processing of read requests in a memory controller using pre-fetch mechanism
US8452908B2 (en) * 2009-12-29 2013-05-28 Juniper Networks, Inc. Low latency serial memory interface
EP2552123B1 (en) * 2010-03-24 2019-12-18 Nec Corporation Transmission device and transmission method
US8824491B2 (en) * 2010-10-25 2014-09-02 Polytechnic Institute Of New York University Distributed scheduling for variable-size packet switching system
US9039432B2 (en) 2011-07-08 2015-05-26 Cisco Technology, Inc. System and method for high connectivity platform
US8545246B2 (en) 2011-07-25 2013-10-01 Cisco Technology, Inc. High connectivity platform
CN111724804A (en) * 2020-06-29 2020-09-29 北京百度网讯科技有限公司 Method and apparatus for processing information

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5233603A (en) * 1988-04-21 1993-08-03 Nec Corporation Packet switch suitable for integrated circuit implementation
US5475680A (en) * 1989-09-15 1995-12-12 Gpt Limited Asynchronous time division multiplex switching system
FR2666472B1 (en) * 1990-08-31 1992-10-16 Alcatel Nv TEMPORARY INFORMATION STORAGE SYSTEM INCLUDING A BUFFER MEMORY RECORDING DATA IN FIXED OR VARIABLE LENGTH DATA BLOCKS.
US5535197A (en) * 1991-09-26 1996-07-09 Ipc Information Systems, Inc. Shared buffer switching module
US5309432A (en) * 1992-05-06 1994-05-03 At&T Bell Laboratories High-speed packet switch
US5732041A (en) * 1993-08-19 1998-03-24 Mmc Networks, Inc. Memory interface unit, shared memory switch system and associated method
JPH08288965A (en) * 1995-04-18 1996-11-01 Hitachi Ltd Switching system
JP2856104B2 (en) * 1995-04-18 1999-02-10 日本電気株式会社 ATM switch
US5574505A (en) * 1995-05-16 1996-11-12 Thomson Multimedia S.A. Method and apparatus for operating a transport stream encoder to produce a stream of packets carrying data representing a plurality of component signals
US5991295A (en) * 1995-10-10 1999-11-23 Madge Networks Limited Digital switch
JP2827998B2 (en) * 1995-12-13 1998-11-25 日本電気株式会社 ATM exchange method
US5802052A (en) * 1996-06-26 1998-09-01 Level One Communication, Inc. Scalable high performance switch element for a shared memory packet or ATM cell switch fabric
JPH10126419A (en) * 1996-10-23 1998-05-15 Nec Corp Atm exchange system
US6061358A (en) * 1997-02-13 2000-05-09 Mcdata Corporation Data communication system utilizing a scalable, non-blocking, high bandwidth central memory controller and method
US6034957A (en) * 1997-08-29 2000-03-07 Extreme Networks, Inc. Sliced comparison engine architecture and method for a LAN switch
JP3566047B2 (en) * 1997-10-17 2004-09-15 富士通株式会社 Network system and communication device
US6137807A (en) * 1997-12-05 2000-10-24 Whittaker Corporation Dual bank queue memory and queue control system
US6470021B1 (en) * 1998-01-27 2002-10-22 Alcatel Internetworking (Pe), Inc. Computer network switch with parallel access shared memory architecture

Also Published As

Publication number Publication date
ATE344560T1 (en) 2006-11-15
DE60031596T2 (en) 2007-09-06
US7031330B1 (en) 2006-04-18
EP1045558A2 (en) 2000-10-18
DE60031596D1 (en) 2006-12-14
EP1045558A3 (en) 2004-11-17
EP1045558B1 (en) 2006-11-02
JP2000349789A (en) 2000-12-15

Similar Documents

Publication Publication Date Title
JP4480845B2 (en) TDM switch system with very wide memory width
US4926416A (en) Method and facilities for hybrid packet switching
EP0471344A1 (en) Traffic shaping method and circuit
JP2788577B2 (en) Frame conversion method and apparatus
US6226338B1 (en) Multiple channel data communication buffer with single transmit and receive memories
JP2922119B2 (en) Bandwidth regulation device and packet communication device
US5691984A (en) Compact, adaptable brouting switch
US6611527B1 (en) Packet switching apparatus with a common buffer
JP2907886B2 (en) Switching system
US9602436B2 (en) Switching device
US20080080548A1 (en) Method and System for Managing Time Division Multiplexing (TDM) Timeslots in a Network Switch
US6594714B1 (en) Reconfigurable FIFO interface to support multiple channels in bundled agent configurations
US7352766B2 (en) High-speed memory having a modular structure
US5321691A (en) Asynchronous transfer mode (ATM) switch fabric
US7126959B2 (en) High-speed packet memory
US6167041A (en) Switch with flexible link list manager for handling ATM and STM traffic
JPH07321824A (en) Chip for cell switch fabric
US8706896B2 (en) Guaranteed bandwidth memory apparatus and method
US7362751B2 (en) Variable length switch fabric
JP2628701B2 (en) Switch for prioritized information packets
US7492825B2 (en) Methods and apparatuses for processing data channels
EP1091289B1 (en) Device for processing sonet or SDH frames-DS0 to channel mapping
US20020066000A1 (en) Transporting data transmission units of different sizes using segments of fixed sizes
US7143185B1 (en) Method and apparatus for accessing external memories
EP1091302B1 (en) Device for processing SONET or SDH frames on a PCI bus

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20040901

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20040906

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20040906

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070112

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20080514

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090812

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090901

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091130

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100317

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

Free format text: PAYMENT UNTIL: 20130326

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4480845

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130326

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140326

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees