JPH0653996A - パケットスイッチ - Google Patents

パケットスイッチ

Info

Publication number
JPH0653996A
JPH0653996A JP12776793A JP12776793A JPH0653996A JP H0653996 A JPH0653996 A JP H0653996A JP 12776793 A JP12776793 A JP 12776793A JP 12776793 A JP12776793 A JP 12776793A JP H0653996 A JPH0653996 A JP H0653996A
Authority
JP
Japan
Prior art keywords
packet
switch
memory
output
shift register
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.)
Pending
Application number
JP12776793A
Other languages
English (en)
Inventor
Hemant R Kanakia
アール.カナキア ヒマント
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.)
AT&T Corp
Original Assignee
American Telephone and Telegraph Co Inc
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 American Telephone and Telegraph Co Inc filed Critical American Telephone and Telegraph Co Inc
Publication of JPH0653996A publication Critical patent/JPH0653996A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/103Packet switching elements characterised by the switching fabric construction using a shared central buffer; using a shared memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/102Packet switching elements characterised by the switching fabric construction using shared medium, e.g. bus or ring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3027Output queuing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/356Switches specially adapted for specific applications for storage area networks
    • H04L49/357Fibre channel switches

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

(57)【要約】 【目的】 受信されたパケットが出力されるまでの間メ
モリにストアされるタイプの高速なパケットスイッチを
実現する。 【構成】 パケットスイッチにおいて、パケットはパケ
ット全体をストアするのに充分な幅を有する入力シフト
レジスタによってシリアルに受信され、入力シフトレジ
スタと同じ幅を有するメモリにパラレルに出力され、メ
モリ内でパラレルに移動させられ、出力シフトレジスタ
にパラレルに出力される。入力シフトレジスタ、出力シ
フトレジスタ、及びメモリを接続しているバスは入力シ
フトレジスタと同じ幅を有するが、当該パケットスイッ
チを構成している半導体チップの境界を横断していない
ため、非常に幅の広いバスに関する電気的問題を回避す
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はパケットスイッチングに
関し、特に超高速ネットワークにおけるパケットスイッ
チングに関する。
【0002】
【従来の技術】近年、ディジタルデータよりなるパケッ
トを送出することによって互いに通信するデバイスが増
大しつつある。図1に示されているように、パケット
(P113)は、あるデバイスが他のデバイスに対して
送出するビットシーケンスである。パケットは、一般的
には、2つの部分よりなる:送出されつつある実際のメ
ッセージを構成しているビットシーケンスであるところ
のメッセージ(MSG115)、およびパケットがそれ
を介して送出されている通信システムがパケットを伝達
する際に用いる制御情報を含むヘッダ(HDR117)
である。ヘッダ117は、メッセージが伝達されるデス
ティネーションを表す値であるところのデスティネーシ
ョン(D119)を最低限有している。ヘッダ117
は、メッセージ115の長さ、メッセージ115の型、
あるいはメッセージ115のソース(出所)などの情報
も有している。デスティネーション119がデスティネ
ーションを表す方式は、メッセージが送出されている通
信ネットワークの種類に依存している。例えば、デステ
ィネーション119は、ネットワークの中で当該パケッ
トを受信することになっているデバイスのアドレスを規
定している場合もあり、あるいは当該パケットのソース
とそのデスティネーションとを現時点で接続している仮
想回線を規定している場合もある。
【0003】デバイス間でパケットを送出する一つの方
法は、スイッチングネットワークによるものである。ス
イッチングネットワークは、入力および出力リンクによ
って接続されたノードより構成されている。ネットワー
クのそれぞれのノードにおけるパケットスイッチ(パケ
ット交換機)は、入力回線からパケットを受信し、それ
ぞれのパケットがいずれのデスティネーション宛のもの
であるかをデスティネーション119によって決定し、
パケットをそのデスティネーションへと導く出力リンク
へスイッチングする。
【0004】図1は、従来技術に係るパケットスイッチ
101を示している。パケットスイッチ101は、複数
個の入力ポート(IP)107(0...n)において
複数個の入力リンクからのパケットを受信し、スイッチ
ファブリック(SF)103においてパケットをスイッ
チングし、それらを出力ポート(OP)109
(0...n)において出力リンクへと出力する。従来
技術に係る最も一般的なパケットスイッチにおいては、
スイッチファブリック103はメモリ105を有してい
る。メモリ105は、それぞれの出力ポート109に対
する出力キュー(OQ)111を有している。スイッチ
ファブリック103は、入力ポート107で受信したそ
れぞれのパケットを、そのパケットをそのデスティネー
ションへと導く出力リンクに対する出力ポート109の
出力キュー111の最後尾へ配置することによってスイ
ッチングを実行する。スイッチファブリック103は、
入力パケット113を出力キューの最後尾に配置する
と、出力パケット113を出力キュー111の先頭から
取り出してそれらをキュー111に対応する出力ポート
109へと供給する。
【0005】
【発明が解決しようとする課題】現在のネットワークに
おけるパケットスイッチに関する問題は、スイッチがし
ばしばリンクが動作しうるスピードに対して追い付けな
いということである。例えば、ガラスファイバリンク
は、毎秒1ギガバイトのスピードで動作しうる。スイッ
チがそのスピードに追い付けない場合には、すなわち、
スイッチがそのスピードで動作している複数個のリンク
からの同時入力を取り扱えない場合には、ネットワーク
はリンクによって提供された容量全てを用いることは不
可能であり、その代わりに、スイッチがパケットを一つ
のリンクから他のリンクへ伝達しうるレートによって限
定されることになる。高速パケットスイッチのアーキテ
クチャに関する調査研究は、ファウアド・エイ・トバギ
(Fouad A.Tobagi)による「広帯域サー
ビス総合ディジタル網に関する高速パケットスイッチア
ーキテクチャ」という表題のプロシーディングス・オブ
・ジ・アイトリプルイー(Proceedings o
f the IEEE)第78巻第1号(1990年1
月)の記事に記載されている。
【0006】パケットスイッチ101のタイプのパケッ
トスイッチを設計する場合に特に問題となる領域は、動
作スピードに関してメモリ105が与える制限である。
現在のパケットスイッチはもちろん集積回路から構成さ
れている:特に、メモリ105は複数個の既製のダイナ
ミックRAM集積回路よりなる。メモリ105は大容量
かつ高速でなければならない;しかしながら、既製のダ
イナミックRAM集積回路は、大容量かつ低速あるいは
小容量かつ高速のいずれかである。例えば、現在の25
6KビットCMOSメモリは35nsのサイクルタイム
を有しているが、4Mビットのものは200nsのサイ
クルタイムである。さらに悪いことには、メモリサイズ
とサイクルタイムの積が、メモリテクノロジーのいくつ
もの世代にわたって驚くほど一定になっている。
【0007】スイッチ101が必要とされるスピードで
動作するためには、メモリ105が一つのパケット全体
をメモリの単一の列にストアしうるほどビット幅が広
く、かつパケット全体がメモリ105から単一の動作で
読み出されかつ書き込まれるほど充分に高速なメモリ集
積回路が供給されなければならない。さらに、パケット
はメモリと同一のビット幅を有するバスによってメモリ
との間のやり取りがなされなければならない。しかしな
がら、バス幅が広くなるにつれて伝送速度は遅くなる。
数多くの並列リンクはデータ信号における歪みおよびス
キューを増大させ、これらの効果を打ち消すためにバス
サイクルが延ばされなければならなくなる。さらに、多
くのデータリンク間のクロストークによってノイズレベ
ルが上昇し、より電流容量の大きいバスドライバおよび
より高感度なレシーバが必要となる。これらのファクタ
全ての結果として、ビット幅の大きなメモリ105を用
いることによって得られたスピードの利点がメモリ10
5を構成しているメモリ集積回路をスイッチファブリッ
ク103を構成している他の集積回路へ接続しているバ
スの低速性によって制限されてしまい、スイッチ101
は必要とされている毎秒ギガバイトの伝送レートを実現
できないことになる。
【0008】このような従来技術に係るパケットスイッ
チに関する前述された問題点および制限を克服すること
が本明細書に記載された高速パケットスイッチの目的で
ある。
【0009】
【課題を解決するための手段】本発明は、パケットをス
イッチングするスイッチファブリックに関するものであ
る。本発明に係るスイッチファブリックは、入力ポート
からパケットをシリアルに受信するための、複数個の入
力ポートに対して接続されたパケット受信手段と、パケ
ットを出力ポートに対してシリアルに出力するための、
複数個の出力ポートに対して接続されたパケット出力手
段と、パケットをストアするメモリ手段と、前記パケッ
ト受信手段、前記パケット出力手段、および前記メモリ
手段の間でパケットをパラレルに伝送する伝送手段とを
有しており、当該スイッチファブリックは一つあるいは
複数個の集積回路から構成されていて前記伝送手段が集
積回路のバウンダリ内に存在している。
【0010】本発明は、前記スイッチファブリック以外
にも、以下のものに関している:前記スイッチファブリ
ックを用いるパケットスイッチ;前記スイッチファブリ
ック一部を実現するVLSI集積回路;複数個のパケッ
ト受信手段が存在し、当該パケット受信手段のそれぞれ
が、他のパケット受信手段とは独立したレートでパケッ
トを受信し、複数個のパケット出力手段が存在し、当該
パケット出力手段のそれぞれが、他のパケット出力手段
とは独立したレートでパケットを出力するスイッチファ
ブリック;パケット受信手段、パケット出力手段、およ
びパケットメモリ手段の間でパケットをパラレルに移動
するパケット伝送手段、およびパケットメモリ手段内の
ロケーション間でパケットをパラレルに移動するパケッ
ト移動手段が存在するスイッチファブリック。
【0011】
【実施例】本明細書においては、シリアルおよびパラレ
ルという術語は以下のように用いられる:パケットの一
部分からなる組は、当該組に属する当該一部分が当該パ
ケット中において出現するのと同一の順序で連続して処
理される場合に「シリアル」に処理される;一部分から
なる組は、当該組に属する当該一部分の全てが同時に処
理される場合に「パラレル」に処理される。
【0012】図2は、本発明の原理に従って実現された
高速パケットスイッチ201の概略を示した図である。
高速パケットスイッチ201は、14個のシリアル入力
リンク(IL)203(0..13)から同時にパケッ
トを受信し、それらを同時に14個のシリアル出力リン
ク(OL)221(0..13)へ供給する。パケット
は、入力リンク203および出力リンク221中を、図
中においてリンク上の「1」で示されているように、単
一ビットのシリアルシーケンスとして伝達される。パケ
ットが同時に処理されるため、それぞれの入力リンク2
03(i)に対応するパケットスイッチ201の入力部
分(IP)202(i)およびそれぞれの出力リンク2
21(i)に対応する出力部分(OP)210(i)が
存在することになる。入力部分202は、ブロードキャ
ストバス207によって出力部分210に対して接続さ
れている;ブロードキャストバス207は入力部分20
3のそれぞれによって受信されたパケットを出力部分2
10の全てに対して伝達する;以下により詳細に説明さ
れるように、出力リンク221(j)に対応する出力部
分210(j)は出力リンク221(j)を介してデス
ティネーションに到達するパケットのみを受け付ける。
この、ブロードキャストバス207と出力部分210と
の相互作用により、スイッチ201がパケットのデステ
ィネーション109によって要求されるようにパケット
を交換することが可能になる。既に述べたことより明ら
かなように、スイッチ201は14個以上あるいはそれ
以下の数の入力および出力リンクに関して実現されうる
ものであり、出力リンクより少ない数の入力リンクが存
在する場合もある。
【0013】それぞれの入力部分202およびそれぞれ
の出力部分210は本質的に同一であるため、図2に関
する以下の議論においては単一の入力部分202(h)
および単一の出力部分210(i)のみを取り扱うこと
にする。入力部分202(h)内のレシーバ205
(h)は光ファイバリンクからパケットをシリアルに受
信し、受信したそれぞれのパケットを、ルータ208
(h)およびブロードキャストバス207に対して接続
されている32ビットバス206(h)上の32ビット
ワードのシリアルシーケンスとして出力する。レシーバ
205(h)は2つの標準的なデバイスよりなる:AT
&T製ODL200は電気的信号と光学的信号との間の
変換を行ない、アドバンスト・マイクロ・デバイセズ
(AMD)製TAXIレシーバチップ(パーツ番号AM
7969)は単一ビットシリアル入力ストリームを32
ビットワードよりなるシリアルストリームに変換する。
ルータ208(h)は、ヘッダ117およびパケットエ
ンドをウォッチする。ルータ208(h)は、ヘッダ1
17を見い出すと、ヘッダ117からデスティネーショ
ン119をコピーし、デスティネーション119とデス
ティネーションを出力リンクに対して関連付けているル
ータ208(h)内のテーブルとから当該パケットに対
して適切な出力リンクを決定する。その後、パケットエ
ンドを見い出すと、ルータ208(h)は当該パケット
の最後尾に出力リンク識別子(OLS)223を付加す
る。ルーティング機能は、ジェイ・ディ・ベルトゼカス
(J.D.Bertsekas)およびアール・ギャラ
ーガー(R.Gallagher)による「ディジタル
ネットワーク」(プレンティス・ホール(Prenti
ce Hall)社、1987年)という表題の書物に
詳細に記載されている。
【0014】本発明の望ましい実施例においては、出力
リンク識別子223は32ビットワード2つよりなる。
それぞれの32ビットワードのビット28−31が出力
リンクを規定している。3つの可能性が存在する: ・単一の出力リンク221(j)への出力:最初の32
ビットワードのビット28−31が16進法で表わされ
た8という値を有している;2番目の32ビットワード
のビット28−31が16進法で表わされた「j」とい
う数(すなわち、0と13の間の数)を有している。 ・全ての出力リンク221(0..13)への出力:双
方のワードのビット28−31が16進法で表わされた
0という値を有している。 ・出力リンク221のうちのあるものよりなるグループ
への出力:最初のワードのビット28(16進で8とい
う値の場合、このビットが1という値を有する)が値0
を有している;最初のワードのビット29−31および
2番目のワードのビット28−31が出力リンクグルー
プを規定する7ビットグループコードを表わしている。 パケットを含む32ビットワードのシーケンスがブロー
ドキャストバス207へ出力されると、それらはスイッ
チメモリ211のそれぞれに受信されてストアされる。
同時に、スイッチ201の他の入力部分202のそれぞ
れがパケットを受信しかつ32ビットワードをブロード
キャストバス207へ出力しており、それぞれのスイッ
チメモリ211はそれが入力部分202から受信した3
2ビットワードをストアしている。
【0015】あるパケットに対する出力リンク識別子2
23がスイッチメモリ211に到達すると、それぞれの
スイッチメモリ221(i)は出力リンク識別子223
から当該パケットが出力リンク221(i)へ出力さる
べきものであるか否かを決定する。出力さるべきもので
はない場合には、スイッチメモリ211(i)はストア
されたそのパケットを放棄する;出力さるべきものであ
る場合には、スイッチメモリ211(i)はストアされ
たパケットを(出力リンク識別子を切り離して)出力キ
ュー213(i)(出力リンク221(i)を介してパ
ケットからなる単一あるいは複数個の出力キューを有す
るメモリ)へ伝達する。
【0016】スイッチメモリ211(i)は、出力キュ
ー213(i)内のキューに対してプログラムされた順
序でサービスを行なう。現時点でサービスされているキ
ューの先頭に位置するパケットは、バス215(i)上
の32ビットワードからなるシーケンスとして出力され
る。チョッパ217(i)はヘッダ117を読み取って
当該パケットの長さを決定し、当該パケットがバス21
5(i)上で送信される際にパケットのバイト数をカウ
ントする。最終バイトが送出されると、チョッパ217
(i)はパケットの終了をスイッチメモリ211(i)
およびトランスミッタ219(i)へ通知する。トラン
スミッタ219(i)がバス215(i)上で32ビッ
トワードを受信すると、トランスミッタ219(i)は
当該ワード中のビットをシーケンシャルに出力リンク2
21(i)へ送信する。トランスミッタ219(i)
は、チョッパ217(i)からの信号に応答して送信を
中止する。スイッチメモリ211(i)は同一の信号に
応答して送信さるべき次のパケットの最初の32ビット
をバス215(i)上へ出力する。
【0017】スイッチメモリ211(i)の詳細:図3 図3は、本発明の望ましい実施例における単一のスイッ
チメモリ211(i)の詳細なブロック図である。スイ
ッチメモリ211(i)は、12の個別の集積回路を有
している:8個のスイッチメモリVLSI(SWMV)
303(0..7)、スイッチメモリCPU IC30
7、ブートROM IC309、スタティックRAM
IC311、および通信IC313である。IC30
7、309、311、および313は8個のスイッチメ
モリVLSIに対してCPUバス305によって接続さ
れている。CPU IC307は、インテグレーテッド
・デバイス・テクノロジ(Integrated De
vice Technology)社製のMIPS R
3000ベースのマイクロプロセッサ(パーツ番号ID
T3052)である。
【0018】以下により詳細に説明されるように、SW
MCPU307は、スイッチメモリ211(i)の動作
を、8個のスイッチメモリVLSI中のパラメータをセ
ットしかつ出力キュー213(i)内のキュー中のパケ
ットを移動させることにより、制御する。さらに、SW
MCPU307は、出力キュー213(i)内にストア
されたパケットの種々の部分を読み書きすることが可能
である。ブートROM309は、スイッチメモリ211
(i)を動作開始可能な状態にするためにSWMCPU
307によって実行される命令コードを有している;ス
タティックRAM311は、CPU307がスイッチメ
モリ211(i)を制御するために用いるプログラムお
よびデータを有している。CPU307は、SRAM3
11とスイッチメモリVLSI303(0..7)との
間でデータを転送することができる。通信リンク312
は、RS232リンク315によるCPU307との通
信を可能にする。RS232リンク315を用いて、デ
ータはCPU307と外界との間で転送され、それによ
ってSRAM311、スイッチメモリVLSI303
(0..7)、および外界との間でのデータ転送が実現
される。
【0019】スイッチメモリVLSI303(0..
7)は、スイッチメモリ211の一部分を実現している
(スライスインプリメンテーション)。スイッチメモリ
211は、これらスイッチメモリ211の一部分を実現
している、パラレルに動作させられた同一の集積回路の
組よりなる。それぞれの集積回路は、それぞれの構成要
素に対する入力の一部分を処理する。スイッチメモリV
LSI303(0..7)の場合には、その実現はニブ
ルスライスインプリメンテーションである:すなわち、
それぞれのVLSI303(j)は、ブロードキャスト
バス207から受信された32ビット入力およびバス2
15(i)への32ビット出力のうちの4ビット(1ニ
ブル)を処理する。スイッチメモリVLSI303
(j)は、ブロードキャストバス207を介して、14
個の入力部分202(0..13)のそれぞれから4ビ
ットを受信する。図3に示されているように、スイッチ
メモリVLSI(0)は、入力部分202(0)から2
02(13)からビット0..3を受信し、スイッチメ
モリVLSI(1)は、これらの入力部分からビット
4..7を受信し、同様にスイッチメモリVLSI
(7)は、これらの入力部分からビット28..31を
受信する。よって、8個のスイッチメモリVLSI30
3(0..7)は、全体として、入力部分202
(0..13)によってバス206(0..13)上に
出力されたそれぞれの32ビットワードを受信すること
になる。同様に、それぞれのスイッチメモリVLSI3
03(j)は、バス215(i)上に4ビットを出力す
る。スイッチメモリVLSI303(0)はバス215
(i)のビット0..3に出力し、スイッチメモリVL
SI303(1)はビット4..7に出力し、同様にス
イッチメモリVLSI303(7)はビット28..3
1に出力する。
【0020】それぞれのスイッチメモリVLSI303
(j)は、キューの組(SWMVQ)301(j)をも
有している。それぞれのキュー301(0..7)は全
体として出力キュー213(i)を構成している。それ
ぞれのキュー301(j)は、出力キュー213(i)
内のキューにストアされたそれぞれの32ビットワード
の4ビットスライスを有している。すなわち、キュー3
01(0)はそれぞれのワードのビット0..3を有し
ており、キュー301(1)はビット4..7を有す
る、等である。もちろん、パケットは、複数個の32ビ
ットワードより構成されている;結果として、出力キュ
ー213内のパケット113(k)に関しては、パケッ
ト113(k)内のそれぞれのワードのビット0..3
はキュー301(0)内にストアされており、それぞれ
のワードのビット4..7はキュー301(1)にスト
アされている、等である。
【0021】スイッチメモリVLSI303(k)内の
主たるデータ経路(パス) 図4は、単一のスイッチメモリVLSI303(k)内
の主たるデータパスを模式的に示した図である。データ
パスは、14個の入力シフトレジスタ(ISR)401
と、キュー301(k)を構成しているニブルメモリ4
07および2つの出力シフトレジスタ(OSR)405
との間を接続している。本発明のより望ましい実施例に
おいては、入力シフトレジスタおよび出力シフトレジス
タのそれぞれは512ビット幅を有しており、ニブルメ
モリ407も同様で、512個の512ビットワードを
記憶できるように構成されている。ニブルメモリ40
7、入力シフトレジスタ401、および出力シフトレジ
スタ405は、やはり512ビットの幅を有するニブル
バス403によって接続されている。ニブルバス403
は完全にVLSI303(k)内に含まれているために
非常に短く、個別の集積回路を接続する非常に幅の広い
バスに関連する電気的な問題は存在しない。
【0022】既に説明されているように、それぞれの入
力部分202はパケット113を入力リンク203から
のビットシーケンスとして受信し、当該パケットに含ま
れる32ビットワードのシーケンスをブロードキャスト
バス207へ出力する。さらに、それぞれのVLSI3
03(k)は、入力部分202(0..13)によって
出力されたワードシーケンスのそれぞれの32ビットワ
ードに由来する4ビットスライスm..nのシーケンス
を受信する。スライスシーケンスは、それぞれ入力部分
202のそれぞれに対応する14個の入力シフトレジス
タ(ISR)401(0..13)によって受信され
る。それぞれの入力シフトレジスタは、パケットを構成
している全ての32ビットワードからなるスライスをス
トアするのに充分な長さを有している。すなわち、本発
明のより望ましい実施例におけるパケットスイッチは、
最大128個の32ビットワードよりなる長さのパケッ
ト113まで取り扱うことが可能である。さらに、入力
シフトレジスタ401はダブルバッファタイプであるた
め、直前に受信したパケットをニブルバス403へ出力
するために待機しながら対応する入力部分からの新たな
パケットのニブルの受信を開始することが可能である。
同様に、VLSI303(k)は、バス215(i)へ
出力されるそれぞれのパケットのそれぞれの32ビット
ワードの4ビットスライスm..nを供給する。これら
のスライスは、出力シフトレジスタ405(0..1)
のうちの一方から出力され、他方は誤動作の際のスペア
として保持される。
【0023】ニブルバス403およびニブルメモリ40
7の双方が512ビットであるため、シフトレジスタ4
01内のスライスの全てがニブルメモリ407の列に単
一の操作により書き込まれる。同様に、スイッチメモリ
211(i)に関連する出力リンク215(i)がパケ
ットを出力する準備を完了すると、当該パケットに対す
るニブルスライスを含むニブルメモリ407の列がその
時点で機能している出力シフトレジスタ405に対して
パラレルに読み出され、当該出力シフトレジスタ405
はバス215(i)のビットm..nに対して前記スラ
イスをニブル毎に供給する。加えて、CPUバス305
のビットm..nはニブルメモリ407に受信される。
この配置により、CPU307が、スイッチメモリ21
1(i)にストアされたパケット113のワードを読み
書きすることが可能になる。
【0024】以下、入力シフトレジスタ401および出
力シフトレジスタ405が詳細に説明される。入力シフ
トレジスタ401(k)は、それぞれ、3つの制御信号
によって制御される: ・ICLK409(k)は、シフトレジスタ401
(k)へのニブルの入力のタイミングを規定する、入力
シフトレジスタ401(k)に対応する入力部分202
(k)からのクロック信号である。 ・IPKT411(k)は、シフトレジスタ401
(k)がニブルを受信しつつあるパケットの末端部をル
ータ207(k)が検出したことを示するーた207
(k)からの信号である。 ・IREQ413(k)は、シフトレジスタ401
(k)内のニブルがニブルバス403へ出力されるとこ
ろであることを示す信号である。この信号が生成される
様式は以下により詳細に記述される。 入力シフトレジスタ401(k)は、IPKT411
(k)がパケットの末端部に達したことを示し、IRE
Q413(k)がスイッチメモリVLSI303(k)
を含むスイッチメモリ211(i)に対応する出力リン
ク221が当該パケットを受信する状態にあることを示
した場合に、その内容をニブルバス403に出力する。
【0025】IREQ413(k)は、スイッチメモリ
VLSI303(7)によって以下に示されるように生
成される:図3より明らかなように、スイッチメモリV
LSI(7)はブロードキャストバス207からそれぞ
れのワード入力のビット28..31を受信する。それ
ぞれのパケットの末端部には、2ワードの出力リンク識
別子223が付加されている;既に記述されているよう
に、出力識別子223中では、それぞれのワードのビッ
ト28..31が組み合わせられて、単一のあるいは複
数個の出力リンクからなる組を規定している。より望ま
しい実施例においては、入力シフトレジスタ401
(k)に受信されたIPKT411(k)はブロードキ
ャストバス207(k)上で送出されつつあるパケット
の末端部を通知し、ブロードキャストバス207(k)
上の次の2ワードが出力リンク識別子であることを知ら
せる。その結果、スイッチメモリVLSI303(7)
はIPKT信号411(k)に応答してブロードキャス
トバス207(k)上で受信された当該2ワードのビッ
ト28..31を調べる。これらのビットが、スイッチ
メモリVLSI(7)が属しているスイッチメモリ21
1(i)がパケットを受信するべきであることを示して
いる場合には、スイッチメモリ211(i)内のVLS
I303(7)はそれ自体および他のVLSI303の
全てに対するIREQ413(0..13)を生成す
る。IPKT信号411(k)を受信した全ての入力シ
フトレジスタ(k)は、IREQ413に応答してその
内容をニブルバス403へ出力する。
【0026】各出力シフトレジスタ405(l)は、4
つの信号入力によって制御される: ・OCLK415(l)は、出力シフトレジスタ405
(l)が属するスイッチメモリ211(i)からワード
を受信しているトランスミッタ219(i)から受信さ
れるタイミング信号である;この信号は、出力シフトレ
ジスタ405がニブルを出力するレートを制御する。 ・OPKT417(l)は、パケット全体がスイッチメ
モリ211(i)によって出力されたことを示す、チョ
ッパ217(i)から受信されるパケット末端信号であ
る。 ・RDY419(l)は、出力シフトレジスタ405
(l)がデータを供給する準備が整ったことを示す、ト
ランスミッタ219(i)に対して与えられるレディ信
号である。 ・OREQ421(l)は、出力シフトレジスタ415
(l)に対して与えられる、当該出力シフトレジスタが
現時点でニブルバス403上にあるデータをロードすべ
きであることを示す信号である。 前掲の制御信号に関するリストから明らかなように、出
力シフトレジスタ405(l)は、OPKT417
(l)を受信するまで、ニブルのシリアルシーケンスを
出力する;この時点で、RDY419(l)によって、
もはやニブルを送信する準備ができていないことが示さ
れる;シフトレジスタ405(l)がOREQ421
(l)を受信すると、シフトレジスタ405(l)から
次に出力されることになる、ニブルメモリ407内の5
12ビットワードがニブルバス403上に存在し、シフ
トレジスタ405(l)は当該ワードをニブルバス40
3からロードすることによって応答する。当該ワードが
ロードされると、シフトレジスタ405(l)はRDY
419(l)をセットし、出力クロック415(l)に
応答してニブルの送信を開始する準備が整ったことを知
らせる。
【0027】それぞれの入力シフトレジスタ401が個
別のICLK信号409を受信しかつそれぞれの出力シ
フトレジスタ405が個別のOCLK信号415を受信
することに係る特に重要な利点は、入力部分202がニ
ブルメモリ407と、あるいは互いに、同期している必
要がないこと、および同様に、トランスミッタ219が
ニブルメモリ407と、あるいは他のトランスミッタ2
19と、同期している必要がないことである。実際、そ
れぞれの入力部分202およびそれぞれの出力部分21
9が相異なったレートで動作することも可能である。
【0028】スイッチメモリVLSI303(k)の詳
細 図5は、本発明のより望ましい実施例におけるスイッチ
メモリVLSI303(k)の詳細を示した図である。
本発明のより望ましい実施例においては、ニブルメモリ
407は、4つの128×512ビットプレーン407
(0..3)として実現されている。与えられたニブル
の第一のビットはビットプレーン407(0)内のある
位置にストアされ、第二、第三、第四の各ビットはビッ
トプレーン407(1..3)内の対応する位置にスト
アされる。ニブルメモリ407は高速コピーラッチ53
5とデータのやり取りを行なう。この高速コピーラッチ
535は、4つの128x1ビットプレーンよりなる。
高速コピーラッチ535は、ニブルメモリ407のひと
つの512ビットワードの読みだしおよびそのようなワ
ードの書き込みを単一のリードサイクルおよびそれに引
き続く単一のライトサイクルの間に行なうことを可能に
している。
【0029】図5には、単一の入力シフトレジスタ40
1、すなわちISR401(0)、および単一の出力シ
フトレジスタ405、すなわちOSR405(1)のみ
が示されている。入力シフトレジスタ401および出力
シフトレジスタ405は、それぞれ、4つの128×1
ビットプレーンとして実現されており、与えられたニブ
ルの各ビットは4つのビットプレーン内の対応する位置
に位置するシフトレジスタ内にストアされる。入力シフ
トレジスタ401の場合は、それぞれのビットプレーン
は、入力シフトレジスタにニブルを供給するブロードキ
ャストバス207の4つのリンクのうちのひとつに接続
されており、出力シフトレジスタ405の場合には、そ
れぞれのビットプレーンはニブルをトランスミッタ21
9(i)に供給するバス215の4つのリンクのうちの
ひとつに接続されている。さらに、ニブルバス403
は、シフトレジスタの4つのビットプレーンと高速コピ
ーラッチ535の4つのプレーンとの間に接続されてい
る。
【0030】図5には、さらに、スイッチメモリVLS
I303(k)のCPUインターフェース501が示さ
れている。CPUインターフェース501は、CPUバ
ス305を介してSWM CPU307が読み書き出来
るレジスタの組である。CPU307によってこれらの
レジスタに書き込まれた値は、スイッチメモリVLSI
303(k)が属するスイッチメモリ211(i)の動
作を制御する。スイッチメモリ211(i)内のスイッ
チメモリVLSI(0..7)の全てにおけるレジスタ
の組は、スイッチメモリ211(j)全体に対するレジ
スタの単一の組を形成している。個々のスイッチメモリ
VLSI(0..7)は、それぞれのレジスタ内に1ニ
ブルを有している。
【0031】参照番号505から517を有する第一の
レジスタ群は、以下の機能を有している: ・SR EN505は、出力シフトレジスタ405
(0)および405(1)のうちのいずれが出力可能に
なるかを規定する。 ・OFFSET507は2つの値を有している:その最
初のものは、入力シフトレジスタ401内の、受信され
つつあるパケットの第一のニブルが配置されるべき点を
示している;第二のものは、出力シフトレジスタ405
内の、あるパケットのニブルの出力が開始されるべき点
を示している。 ・STATUS509は、スイッチメモリ211(j)
のステータスを示すビットの組である。 ・INT ENAB511は、スイッチメモリVLSI
303が、スイッチメモリCPU307が応答すること
になる割り込みを生成することを可能にする。 ・PORT513は、スイッチメモリ211(j)が属
している出力リンク221の数を規定する16進数を構
成する4ビットを有している。 ・GP515は、スイッチメモリ211(j)が属して
いる出力リンク群を示すグループコードを構成する8ビ
ットを有している。パケットを受容するべきか否かを決
定する際には、スイッチメモリ211(j)はGP51
5の内容をパケットのグループコードと比較し、グルー
プレジスタ内のすべてのビットがグループコード内の対
応するビットと一致した場合にパケットを受容する。 ・FIFO517は、出力キュー213(i)が、スイ
ッチメモリCPU307がスイッチメモリ303(i)
の動作に関与していない場合のように単一のキューとし
て構成されているか、あるいはCPU307が16のキ
ューを管理する場合のように16のキューとして構成さ
れているかを示している。
【0032】前記レジスタのうち、PORT513、G
P515、およびOFFSET507について更に説明
を加える。既に指摘されているように、本発明に係るよ
り望ましい実施例においては、スイッチメモリ211
(i)内のVLSI303(7)のみが出力リンク識別
子223の関連するビットを受信する。VLし303
(7)は、出力リンク識別子223とPORT513お
よびGROUP515内の値との比較によりスイッチメ
モリ211(i)が当該パケットを保持するべきである
ということが示された場合に他のVLSI303(i)
に対するIREQ413(k)を生成する。この比較
は、アドレスコンパレータ533によってなされる。ア
ドレスコンパレータ533は、ブロードキャストバス2
07(28..31)に接続されている。アドレスコン
パレータ533は全てのVLSI303(i)に含まれ
ているが、VLSI303(7)の比較のみがIREQ
413(k)を生成する。より望ましい実施例において
は、コントロールレジスタ503内のビット(図示せ
ず)が、VLSI303(0..7)のうちのいずれが
IREQ413(k)を生成するべきであるかを示すよ
うにセットされる。
【0033】OFFSET507により、スイッチメモ
リCPU307がパケットの前に「スペースを予約して
おく」ことが許可される。パケットのニブルが入力レジ
スタ401によって受信されると、それらは入力シフト
レジスタ401内のOFFSET507内の値によって
規定された位置から配置される。その後、OFFSET
507内の最初の値によって示された位置より前の入力
シフトレジスタ内の「空の」部分を含む入力シフトレジ
スタ401のすべての内容は、既に記述されたようにニ
ブルメモリ407へ移動される。その後、スイッチメモ
リCPU307は、空の部分に情報を書き込むことが可
能となる。さらに、OFFSET内の第二の値をセット
することにより、スイッチメモリCPU307はパケッ
トの内容および「空の」部分のうちのどの程度がトラン
スミッタ219に対して送信されるべきであるかを決定
することが可能になる。OFFSET507内の値をセ
ットすることにより、スイッチメモリCPU307は、
パケットへの新たなヘッダの付加、不必要なヘッダの削
除、あるいはパケットがパケットスイッチ内にある間に
のみ必要とされる情報をパケットに追加する等の操作を
実行することが可能である。
【0034】OFFSET507の利用は、本発明に係
るパケットスイッチに関する重要な原理を明示してい
る:パケットの属するニブル、すなわちパケット自体
は、シフトレジスタとニブルメモリ407との間である
いはニブルメモリ407内で、常にその全体が移動され
る。本発明の原理を明示する本発明に係るパケットスイ
ッチのもうひとつの特徴は、もちろん高速コピーラッチ
535である。
【0035】CPUインターフェース501内の他のレ
ジスタは、アドレスアレイ(ADDRA)519に属し
ている。ADDRA519は、スイッチメモリ211
(i)内の出力キュー213(i)が構成されている1
6個のキューに関するアドレス情報を有している。アド
レスアレイ519は、スイッチメモリ211(i)の構
成と共に詳細に議論される。
【0036】さらに議論されるべきであるのは、メモリ
アービタ/コントローラ531である。これは2つの機
能を有している:ニブルメモリ407内のキューの管
理、およびニブルメモリ407へのアクセスの調停であ
る。前者に関しては、前記キューに関連して議論され
る。図4より明らかなように、データは、ニブルメモリ
407と17個のソースおよびデスティネーションのう
ちのあらゆるものとの間で流れる:すなわち、14個の
入力シフトレジスタおよび2個の出力シフトレジスタに
関してはニブルバス403を介して、およびスイッチメ
モリCPU307との間はCPUばす305を介してで
ある。メモリアービタ/コントローラ531は、これら
のソースおよびデスティネーションを以下のように調停
する:ニブルバス403に接続されたソースおよびデス
ティネーションに関しては、アクティブ状態にある出力
シフトレジスタ405が最高のプライオリティを有して
おり、その次に14個の入力シフトレジスタ401が位
置する。複数個の入力シフトレジスタ401が競合した
場合には、それらの入力レジスタ401に対しては円卓
方式で順次アクセスが許可される。CPUバス305を
介してCPU307によってなされるメモリアクセスに
は、最も低いプライオリティが与えられている。
【0037】図6は、出力キュー213(i)の構成の
詳細を示した図である。出力キュー213(i)に関し
ては、FIFOレジスタ517をセットすることによっ
て決定される2つのモードが存在する。モード617
は、FIFOレジスタ517が、出力キュー213
(i)が単一のキューとして構成されていることを示し
ている場合の構成を示している。この場合には、出力キ
ュー213(i)は、単一の環状出力キュー(SOQ)
618として機能する。出力リンク221(i)に対し
て割り当てられた特定の入力部分202に対応する入力
シフトレジスタ401の組から受信されたあらゆるパケ
ットは、書き込みポインタ619によって示された単一
の出力キュー618の最後尾に配置される;同時に、ア
クティブ状態にある出力シフトレジスタ405(i)
が、読み出しポインタ621によって示された単一出力
キュー618の先頭からパケットを読み出す。書き込み
および読み出しガ発生するとポインタ619および62
1はメモリアービタ/コントローラ531内のハードウ
エアによって自動的に更新される。このモードでは、ス
イッチメモリVLSI303はスイッチCPU307無
しに動作しうる。
【0038】モード601は、出力キュー213(i)
よって16個の環状キューおよび待機領域を構成してい
るニブルメモリ407をCPU307が如何に構成しう
るかを示している。キューは以下のようになっている:
すなわち、14個の入力シフトレジスタ401のそれぞ
れに対する入力シフトレジスタキュー(ISRQ)60
3および2つの出力シフトレジスタ405のそれぞれに
対する出力レジスタキュー(OSRQ)615である。
スイッチメモリCPU307は、入力シフトレジスタキ
ューのうちのあるものから出力シフトレジスタキューの
うちのあるものへパケットを転送するために待機領域
(WA)613を用いる。パケットが待機領域内にある
間に、スイッチメモリCPU307は、パケットのヘッ
ダあるいはメッセージもしくはパケットと共にストアさ
れた「空の領域」の内容を読み出したり修正したりす
る。
【0039】スイッチメモリCPU307は、アドレス
アレイ519を用いて、総数16個の入力シフトレジス
タキュー603および出力シフトレジスタキュー615
の位置およびサイズを規定する。これら16個のキュー
のそれぞれに対して、アドレスアレイエントリ521が
存在する;それぞれのエントリ521は4つのフィール
ドを有している。これらのフィールドのうちの二つは、
ニブルメモリ407のキュー領域の境界を規定してい
る: ・ベースフィールド(B)525は、キューに対するベ
ースポインタ605を含んでいる。このベースポインタ
は、ニブルメモリ407内のキュー領域の開始位置を示
している。 ・リミットフィールド(L)は、キューに対するリミッ
トポインタ611を含んでいる。リミットポインタは、
ニブルメモリ407内のキュー領域の終わりの位置を示
している。 これらのフィールドはスイッチメモリCPU307によ
ってセットされる。残りの2つのフィールドは、キュー
の現時点での先頭および最後尾を規定している。 ・リードフィールド(R)527は、リードポインタ6
09を含んでおり、現時点で当該キューの先頭に位置す
るパケットのアドレスを示している。 ・ライトフィールド(W)529は、ライトポインタ6
07を含んでおり、次にパケットがキューに書き込まれ
得る位置のアドレスを示している。 リードおよびライトフィールドは、メモリアービタ/コ
ントローラ531によって、パケットがキューから読み
出される時点およびキューに書き込まれる時点で自動的
に更新される。
【0040】非FIFOモードにおけるニブルメモリ4
07の動作は次のようになされる:入力部分202に対
する入力シフトレジスタ401がパケット全体を含んで
いる場合は、スイッチメモリVLSI303のそれぞれ
の前記入力部分に対する入力シフトレジスタ401はコ
ントローラ531に対してニブルメモリ407への書き
込みを希望していることを知らせる;このことに応答し
て、コントローラ531は、調停論理回路が入力シフト
レジスタ401に対してニブルバス403へのアクセス
を許可するまで待機し、当該入力シフトレジスタに対応
する入力シフトレジスタキュー603内のライトポイン
タ607によって示された位置にパケットを書き込む。
【0041】スイッチメモリCPU307は、(リード
ポインタ609によって示された)入力シフトレジスタ
キュー603の先頭から待機領域613内の位置にパケ
ットを移動する;その後、スイッチメモリCPU307
はパケットを待機領域613内の位置からアクティブ状
態にある出力シフトレジスタ405に対する出力シフト
レジスタキュー615の最後尾に移動する;これらの移
動は、高速コピーラッチ535を利用してなされる。ア
クティブ状態にある出力シフトレジスタ405が現時点
で有しているパケットのバス215への出力を終了する
と、当該出力シフトレジスタ405はコントローラ53
1に対して次のパケットに対する準備が整ったことを通
知し、コントローラ531は当該出力シフトレジスタ4
05に対する出力シフトレジスタキュー615の先頭に
配置されることになるパケットをニブルバス403上に
配置する。その後、このパケットは出力シフトレジスタ
405にロードされる。
【0042】非FIFOモード601の利点は、パケッ
トがそれぞれ相異なったプライオリティを有するような
パケットネットワークを実現するために用いられうると
いうことである。例えば、パケットが仮想回路内を移動
することがあり、TV送信機およびTV受像器などのリ
アルタイムデバイスに接続された仮想回路は、2つのコ
ンピュータシステム内での電子メール交換プログラムな
どの非リアルタイムデバイスに接続された仮想回路より
も高いプライオリティを有している。このようなシステ
ムは、スイッチメモリプロセッサCPU307を待機領
域613内の高プライオリティキューおよび低プライオ
リティキューを設定するために用いることによって非F
IFOモードにおいて実現されうる。これらのキューは
CPU307によって完全に管理される。その後、CP
U307は、入力シフトレジスタキュー603からパケ
ットを移動し、そのプライオリティを決定するためにパ
ケットのヘッダを調べ、決定されたプライオリティに基
づいてパケットを高プライオリティキューあるいは低プ
ライオリティキューのいずれかに配置する。CPU30
7は、その後、待機領域613内の高プライオリティキ
ューからいくつかのパケットを、低プライオリティキュ
ー内のパケットを移動する前に、出力シフトレジスタキ
ュー615の最後尾へ移動する。このことによって、高
プライオリティパケットに対して出力リンク221への
アクセスを低プライオリティパケットに対するよりもよ
り頻繁に実現する。
【0043】スイッチメモリVLSI303(j)のレ
イアウト:図7は、本発明のより望ましい実施例におけ
るスイッチメモリVLSI303(j)のレイアウトを
示した図である。スイッチメモリVLSI303(j)
は、175ピンのPGAパッケージ701を有するよう
に実現されている。本発明のより望ましい実施例におい
ては、スイッチメモリVLSI303(j)は、0.5
μm2層メタルCMOSプロセスを用いて実現される。
チップ上にはおよそ130万個のデバイスが集積されて
おり、それらのうちの大部分はニブルメモリ407およ
び16個のシフトレジスタ401および405を実現す
るために用いられている。スタティックRAMセルアレ
イとして実現されるニブルメモリ407は、図7の中央
に位置している;その上部および左側には、ニブルメモ
リ407のセルをアドレスするカラムデコーダ705お
よびロウデコーダ703が位置している。カラムデコー
ダ705の上部には、2つの出力シフトレジスタ405
が位置している;ニブルメモリ407の下部には、ニブ
ルバス403および14この入力シフトレジスタ401
が位置している;パケットセレクタ707はいずれの入
力シフトレジスタ401がその内容をニブルメモリ40
7へ出力するかを決定し、メモリアービタ/コントロー
ラ531は既に議論されたメモリ調停および制御機能を
実行する。
【0044】パッケージの175ピンのうちの144本
がこのデバイスのために用いられる;これらの中で、2
6本は電源ピンおよび接地ピンであり、56ピンが入力
シフトレジスタ401へのデータ入力、および14ピン
が入力シフトレジスタに対するICLK、IPKT、お
よびIREQ制御入力である。さらに、出力シフトレジ
スタ405からのデータ出力用に8ピン、およびOCL
K、OPDT、RDY、およびOREQに対してそれぞ
れ2ピンずつが用いられる。スイッチメモリCPU30
7とスイッチメモリVLSI303(j)との間のイン
ターフェースは39ピンを有している;4本がデータの
入出力用であり、21本が出力キュー213のアドレス
用であり、残りが以下の信号に用いられる: ・SYSCLK:スイッチメモリ211に対するシステ
ムクロック; ・RESET:スイッチメモリVLSI303(j)を
リセット; ・CS:スイッチメモリVLSI303(j)を選択; ・RD:ニブルメモリ407に対する読み出しあるいは
書き込み動作を規定; ・IACK:読み出し動作においてCPU307によっ
てデータが受信されたことを規定; ・BURST:バースト書き込み/読み出し動作を規
定; ・OE:アクティブ状態にある出力シフトレジスタから
の出力をイネーブル; ・DTACK:CPU307からデータが受信されたこ
とを示す; ・INT:CPU307への割り込み。 上記信号セットから明らかなように、スイッチメモリC
PU307は、出力キュー213内にストアされたパケ
ットの個別のニブルを読み書きできる。
【0045】以上の説明から、本発明に係るパケットス
イッチが、標準的なメモリVLSIに係るスピードの問
題およびチップ境界を横断する非常に広い幅を有するバ
スに係る電気的な問題を回避するかが当業者には明らか
である。本発明に係るパケットスイッチにはスイッチメ
モリVLSI用いられている。それぞれのスイッチメモ
リVLSIは、パケットのワード全てからの1ニブルを
パラレルにストアするのに充分な幅を有するメモリ、メ
モリと同じ幅を有し、メモリとメモリ内にストアされる
ニブルがシリアルに伝送されるシフトレジスタとを接続
するデータパスとを有している。メモリが非常に広い幅
を有していてデータパスがチップ境界を横断していない
ため、従来技術に係るスピードおよび電気的問題が回避
され、非常に広いメモリ帯域が実現される。その結果、
本発明に係るパケットスイッチは従来技術に係るメモリ
付きパケットスイッチよりも高いレートで動作しうる。
【0046】当業者には明らかなように、本明細書に記
載されたパケットスイッチの原理を用いた数多くの実施
例が考えられる。本明細書に示された本発明のより望ま
しい実施例は、可変長パケットを扱うスイッチングシス
テムを志向しているものである;しかしながら、本発明
の原理は、53バイトのATMパケットを用いるシステ
ムのような固定長パケットを扱うシステムにおいても等
しく有効である。
【0047】その他、多くの実施例が可能である。例え
ば、スイッチメモリは入力リンクを増加させるように構
成することも可能であり、相異なったサイズを有するワ
ードを受信するように構成することも可能であり、イン
ターリーブメモリと同様に構成することも可能である。
さらに、個別のスイッチメモリVLSIが前記より望ま
しい実施例において用いられているものよりもより大き
いあるいはより小さいニブルスライスを送受信するよう
にも構成されうる。また、集積回路のフィーチャーサイ
ズが縮小するにつれて、スイッチメモリVLSI内のデ
ータパスおよびメモリがより広い幅を有するようにな
り、さらに他のデバイスがスイッチメモリVLSIに組
み込まれるようにもなる。加えて、前記本発明のより望
ましい実施例はCMOSテクノロジーを用いて実現され
たが、本発明はCMOSテクノロジーに依存しない。最
後に、他の実施例は、パケットスイッチにおいて用いら
るキュー技法によって要求されるように、スイッチメモ
リ内のメモリの相異なった構成を用いうる。このような
構成は、前記より望ましい実施例におけるFIFOモー
ドの場合のように予め規定されたものであるか、あるい
はプロセッサによって規定されるものである。
【0048】以上の説明は、本発明の一実施例に関する
もので,この技術分野の当業者であれば、本発明の種々
の変形例が考え得るが、それらはいずれも本発明の技術
的範囲に包含される。
【0049】
【発明の効果】以上述べたごとく、本発明によれば、従
来技術に係る問題点を克服した高速パケットスイッチが
提供される。
【図面の簡単な説明】
【図1】メモリを用いた従来技術に係るパケットスイッ
チのブロック図である。
【図2】本発明の原理に従って構成されたパケットスイ
ッチのブロック図である。
【図3】図2のパケットスイッチのスイッチメモリコン
ポーネントのブロック図である。
【図4】スイッチメモリVLSI303のデータパスの
ブロック図である。
【図5】スイッチメモリVLSI303の機能コンポー
ネントのブロック図である。
【図6】スイッチメモリVLSI303のニブルメモリ
407の分割を示す図である。
【図7】VLSI中のスイッチメモリVLSI303の
主たるコンポーネントの配置を示す図である。
【符号の説明】
101 パケットスイッチ 103 スイッチファブリック 105 メモリ 107 入力ポート 109 出力ポート 111 出力キュー 113 パケット 115 メッセージ 117 ヘッダ 119 デスティネーション 201 パケットスイッチ 202 入力部分 203 入力リンク 205 レシーバ 206 32ビットバス 207 ブロードキャストバス 208 ルータ 210 出力部分 211 スイッチメモリ 213 出力キュー 215 32ビットバス 217 チョッパ 219 トランスミッタ 221 出力リンク 223 出力リンク識別子 301 スイッチメモリVLSIキュー 303 スイッチメモリVLSI 305 CPUバス 307 スイッチメモリCPU 309 ブートROM 311 SRAM 312 通信リンク 315 RS232リンク 401 入力シフトレジスタ 403 ニブルバス 405 出力シフトレジスタ 407 ニブルメモリ 409 ICLK 411 IPKT 413 IREQ 415 OCLK 417 OPKT 419 RDY 421 OREQ 501 CPUインターフェース 503 コントロールレジスタ 505 SREN 507 OFFSET 509 STATUS 511 INTENAB 513 PORT 515 GP 517 FIFO 519 アドレスアレイ 521 アドレスアレイエントリ 523 リミットフィールド 525 ベースフィールド 527 リードフィールド 529 ライトフィールド 531 メモリアービタ/コントローラ 533 アドレスコンパレータ 535 高速コピーラッチ 601 非FIFOモード 603 入力シフトレジスタキュー 605 ベースポインタ 607 ライトポインタ 609 リードポインタ 611 リミットポインタ 613 待機領域 615 出力シフトレジスタ 617 FIFOモード 619 ライトポインタ 621 リードポインタ 701 PGAパッケージ 703 ロウデコーダ 705 カラムデコーダ 707 パケットセレクタ

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 複数個の入力ポートに接続され、その入
    力ポートからパケットをシリアルに受信するパケット受
    信手段(401(0,0..15,13))と、 複数個の出力ポートに接続され、その出力ポートからパ
    ケットをシリアルに出力するパケット出力手段(405
    (0,0..13,1))と、 パケットを格納するパケットメモリ手段(407
    (0..13))と、 パケット受信手段、パケット出力手段、およびパケット
    メモリ手段の間でパケットをパラレルに転送するパケッ
    ト転送手段(403)とを有し、 パケット転送手段が集積回路の境界内に留まるように構
    成された1つあるいは複数個の集積回路によって構成さ
    れていることを特徴とするパケットスイッチ。
  2. 【請求項2】 前記パケットスイッチが、それぞれ少な
    くともひとつの出力ポートおよび複数個の入力ポートに
    接続された複数個のスイッチメモリ(211)に内部分
    割され、 各スイッチメモリが、 そのスイッチメモリが接続されている入力ポートからパ
    ケットを受信する複数個のスイッチメモリパケット受信
    手段(401(i,0..13))と、 そのスイッチメモリが接続されている出力ポートからパ
    ケットを出力するスイッチメモリパケット出力手段(4
    01(i,0..11))と、 スイッチメモリパケット受信手段に接続され、そのスイ
    ッチメモリパケット受信手段で受信されたパケットのう
    ち、そのスイッチメモリが接続されている出力ポートに
    出力されるべきパケットのみを受容するスイッチメモリ
    パケット受容手段(533)と、 受容されたパケットを格納するスイッチメモリパケット
    メモリ手段(407(i))と、 スイッチメモリパケット受信手段、スイッチメモリパケ
    ットメモリ手段、およびスイッチメモリパケット出力手
    段の間で受容されたパケットをパラレルに転送するスイ
    ッチメモリパケット転送手段(403)とを有し、 前記複数個のスイッチメモリ内において、 複数個の前記スイッチメモリパケット受信手段が前記パ
    ケット受信手段を構成し、 前記スイッチメモリパケット出力手段が前記パケット出
    力手段を構成し、 前記スイッチメモリパケットメモリ手段が前記パケット
    メモリ手段を構成し、 前記スイッチメモリパケット転送手段が前記パケット転
    送手段を構成することを特徴とする請求項1のパケット
    スイッチ。
  3. 【請求項3】 パケットが前記スイッチメモリによって
    ワードシーケンスとして受信され、 各スイッチメモリが、それぞれ前記ワードのスライスを
    処理する複数個のスイッチメモリ集積回路(303)を
    有し、 各スイッチメモリ集積回路が、 そのスイッチメモリが接続されている複数個の入力ポー
    トから前記ワードスライスをシリアルに受信する複数個
    の入力シフトレジスタ手段(401(0..13))
    と、 そのスイッチメモリが接続されている出力ポートから受
    容されたパケットのワードシーケンスのスライスをシリ
    アルに出力する出力シフトレジスタ手段(405)と、 入力シフトレジスタ手段に接続され、受容されたパケッ
    トの受信されたスライスのみを受容するスライス受容手
    段(533)と、 受容されたパケットのスライスを格納するスライスメモ
    リ手段(407)と、 入力シフトレジスタ手段、出力シフトレジスタ手段、お
    よびスライスメモリ手段の間で受容されたパケットのス
    ライスをパラレルに転送するスライス転送手段(40
    3)とを有し、前記複数個のスイッチメモリ集積回路内
    において、 前記入力シフトレジスタ手段が前記スイッチメモリパケ
    ット受信手段を構成し、 前記出力シフトレジスタ手段が前記スイッチメモリパケ
    ット出力手段を構成し、 前記スライス受容手段が前記パケット受容手段を構成
    し、 前記スライスメモリ手段が前記スイッチメモリパケット
    メモリ手段を構成し、 前記スライス転送手段が前記スイッチメモリ転送手段を
    構成することを特徴とする請求項2のパケットスイッ
    チ。
  4. 【請求項4】 前記パケット受信手段のうちのそれぞれ
    のものがパケットを受信するレートが、他のパケット受
    信手段がパケットを受信するレートに対して独立である
    ことを特徴とする請求項1のパケットスイッチ。
  5. 【請求項5】 前記パケット出力手段のうちのそれぞれ
    のものがパケットを出力するレートが、他のパケット出
    力手段がパケットを出力するレートに対して独立である
    ことを特徴とする請求項1のパケットスイッチ。
  6. 【請求項6】 前記パケットスイッチがさらに、パケッ
    トのデスティネーションによって要求される出力ポート
    に対して出力されるべき受信されたパケットを受容する
    パケット受容手段(533)を有することを特徴とする
    請求項1のパケットスイッチ。
  7. 【請求項7】 前記パケットスイッチがさらに、前記パ
    ケットメモリ手段に格納されたパケットを前記パケット
    メモリ手段内のロケーション間でパラレルに移動する手
    段(403)を有することを特徴とする請求項1のパケ
    ットスイッチ。
  8. 【請求項8】 前記パケットスイッチが、前記パケット
    メモリ手段が単一のキューであるような第一のモードで
    動作することを特徴とする請求項1のパケットスイッ
    チ。
  9. 【請求項9】 前記パケットスイッチが、前記パケット
    メモリ手段が複数個のキューを含むような第二のモード
    で動作することを特徴とする請求項8のパケットスイッ
    チ。
  10. 【請求項10】 前記パケットスイッチがさらに、前記
    パケット受信手段内におけるパケットの格納のされかた
    または前記パケット出力手段におけるパケットの格納の
    されかたを修正する手段を有することを特徴とする請求
    項1のパケットスイッチ。
JP12776793A 1992-05-06 1993-05-06 パケットスイッチ Pending JPH0653996A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/877,041 US5309432A (en) 1992-05-06 1992-05-06 High-speed packet switch
US877041 1992-05-06

Publications (1)

Publication Number Publication Date
JPH0653996A true JPH0653996A (ja) 1994-02-25

Family

ID=25369125

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12776793A Pending JPH0653996A (ja) 1992-05-06 1993-05-06 パケットスイッチ

Country Status (5)

Country Link
US (1) US5309432A (ja)
EP (1) EP0569173A3 (ja)
JP (1) JPH0653996A (ja)
CA (1) CA2093848A1 (ja)
SG (1) SG43688A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004503137A (ja) * 2000-06-30 2004-01-29 マルコーニ コミュニケーションズ,インコーポレイテッド パケットをメモリに移送する方法及び装置
JP2022518631A (ja) * 2019-04-30 2022-03-15 ミツビシ・エレクトリック・アールアンドディー・センター・ヨーロッパ・ビーヴィ パケット交換ネットワークにおいて通信エンティティのコンピューター手段によって実施される方法、並びにそのコンピュータープログラム及びコンピューター可読非一時的記録媒体、並びにパケット交換ネットワークの通信エンティティ

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL106746A (en) * 1993-08-19 1997-02-18 News Datacom Ltd CATV systems
US5600820A (en) * 1993-12-01 1997-02-04 Bell Communications Research, Inc. Method for partitioning memory in a high speed network based on the type of service
US5724347A (en) * 1994-06-10 1998-03-03 Harris Corporation Integrated network switch having universal shelf architecture with flexible shelf mapping
EP0692893B1 (de) * 1994-07-12 2000-03-01 Ascom AG Vorrichtung zur Vermittlung in digitalen Datennetzen für asynchronen Transfermodus
US5541918A (en) 1995-01-31 1996-07-30 Fore Systems, Inc. Method and apparatus for manipulating an ATM cell
KR100330175B1 (ko) * 1995-01-31 2002-10-04 마르코니 코뮤니케이션즈 인코포레이티드 에이티엠셀을조작하는방법및장치
US5548588A (en) * 1995-01-31 1996-08-20 Fore Systems, Inc. Method and apparatus for switching, multicasting multiplexing and demultiplexing an ATM cell
US5825774A (en) * 1995-07-12 1998-10-20 3Com Corporation Packet characterization using code vectors
US5651002A (en) * 1995-07-12 1997-07-22 3Com Corporation Internetworking device with enhanced packet header translation and memory
US5796944A (en) * 1995-07-12 1998-08-18 3Com Corporation Apparatus and method for processing data frames in an internetworking device
US5748633A (en) * 1995-07-12 1998-05-05 3Com Corporation Method and apparatus for the concurrent reception and transmission of packets in a communications internetworking device
US5812775A (en) * 1995-07-12 1998-09-22 3Com Corporation Method and apparatus for internetworking buffer management
US6445708B1 (en) * 1995-10-03 2002-09-03 Ahead Communications Systems, Inc. ATM switch with VC priority buffers
US5943319A (en) * 1996-04-04 1999-08-24 Lucent Technologies Inc. Packet format interface for telecommunication instruments
US5926464A (en) * 1996-04-04 1999-07-20 Lucent Technologies Inc. Customer telecommunication interface device with built-in network features
US5835580A (en) * 1996-04-04 1998-11-10 At&T Corp Method and apparatus for automated provisioning and billing of communication services
US6005863A (en) * 1996-05-16 1999-12-21 Advanced Communication Devices Cororation Frame switch with serial data processing
US5687173A (en) * 1996-07-10 1997-11-11 Cascade Communications Corp. Addressable high speed counter array
US5894481A (en) * 1996-09-11 1999-04-13 Mcdata Corporation Fiber channel switch employing distributed queuing
US6031843A (en) * 1996-11-21 2000-02-29 Alcatel Data Networks Inc. Digital communications switching fabric
US6230245B1 (en) 1997-02-11 2001-05-08 Micron Technology, Inc. Method and apparatus for generating a variable sequence of memory device command signals
US6175894B1 (en) 1997-03-05 2001-01-16 Micron Technology, Inc. Memory device command buffer apparatus and method and memory devices and computer systems using same
JP3196107B2 (ja) * 1997-03-27 2001-08-06 日本電気エンジニアリング株式会社 データ交換システム
US5996043A (en) * 1997-06-13 1999-11-30 Micron Technology, Inc. Two step memory device command buffer apparatus and method and memory devices and computer systems using same
US6484244B1 (en) 1997-06-17 2002-11-19 Micron Technology, Inc. Method and system for storing and processing multiple memory commands
US5918074A (en) * 1997-07-25 1999-06-29 Neonet Llc System architecture for and method of dual path data processing and management of packets and/or cells and the like
KR100261732B1 (ko) * 1997-12-31 2000-07-15 강병호 Atm 교환기의 링크 블록 제어장치 및 그 방법
JP3277874B2 (ja) * 1998-01-29 2002-04-22 日本電気株式会社 Ieee1394ブリッジ
GB9809203D0 (en) * 1998-04-29 1998-07-01 Sgs Thomson Microelectronics Packet distribution in a microcomputer
US6178488B1 (en) 1998-08-27 2001-01-23 Micron Technology, Inc. Method and apparatus for processing pipelined memory commands
US7031330B1 (en) * 1999-04-15 2006-04-18 Marconi Intellectual Property (Ringfence), Inc. Very wide memory TDM switching system
US6721313B1 (en) 2000-08-01 2004-04-13 International Business Machines Corporation Switch fabric architecture using integrated serdes transceivers
US7035267B1 (en) 2000-08-11 2006-04-25 Marconi Intellectual Property (Ringfence), Inc. Transferring and queueing length and data as one stream
US6856628B1 (en) * 2000-10-26 2005-02-15 Motorola, Inc. Method and apparatus for tunneling packets in a packet data system
JP3690316B2 (ja) * 2001-08-10 2005-08-31 ソニー株式会社 データ伝送システム及びヘッダ情報付加装置とデータフォーマット変換装置並びにデータ伝送方法
US7542464B2 (en) * 2003-05-14 2009-06-02 Fraser Alexander G Switching network
US7778168B1 (en) * 2004-08-02 2010-08-17 Lsi Corporation Queuing system with mechanism to limit blocking of high-priority packets
US20070011687A1 (en) * 2005-07-08 2007-01-11 Microsoft Corporation Inter-process message passing
US10635610B1 (en) * 2019-03-14 2020-04-28 Toshiba Memory Corporation System and method for serial interface memory using switched architecture

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0267045A (ja) * 1988-08-31 1990-03-07 Nec Corp パケットスイッチ方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2635243B1 (fr) * 1988-08-05 1994-01-14 Lmt Radio Professionnelle Commutateur de paquets pour un transfert de donnees en mode asynchrone dans un reseau de transmission numerique
US5187780A (en) * 1989-04-07 1993-02-16 Digital Equipment Corporation Dual-path computer interconnect system with zone manager for packet memory
US5210744A (en) * 1989-06-28 1993-05-11 Mitsubishi Denki Kabushiki Kaisha Cell exchange apparatus
JPH0799831B2 (ja) * 1990-10-08 1995-10-25 株式会社東芝 Atm通信システム用単位セルスイッチ

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0267045A (ja) * 1988-08-31 1990-03-07 Nec Corp パケットスイッチ方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004503137A (ja) * 2000-06-30 2004-01-29 マルコーニ コミュニケーションズ,インコーポレイテッド パケットをメモリに移送する方法及び装置
JP2022518631A (ja) * 2019-04-30 2022-03-15 ミツビシ・エレクトリック・アールアンドディー・センター・ヨーロッパ・ビーヴィ パケット交換ネットワークにおいて通信エンティティのコンピューター手段によって実施される方法、並びにそのコンピュータープログラム及びコンピューター可読非一時的記録媒体、並びにパケット交換ネットワークの通信エンティティ

Also Published As

Publication number Publication date
SG43688A1 (en) 1997-11-14
EP0569173A3 (en) 1997-12-03
US5309432A (en) 1994-05-03
CA2093848A1 (en) 1993-11-07
EP0569173A2 (en) 1993-11-10

Similar Documents

Publication Publication Date Title
JPH0653996A (ja) パケットスイッチ
EP0245996B1 (en) Method of and switch for switching information
US7023841B2 (en) Three-stage switch fabric with buffered crossbar devices
US6947433B2 (en) System and method for implementing source based and egress based virtual networks in an interconnection network
US7161906B2 (en) Three-stage switch fabric with input device features
US7471691B2 (en) Fibre channel arbitrated loop bufferless switch circuitry to increase bandwidth without significant increase in cost
TWI390913B (zh) 使用一緩衝交叉式交換系統用於在資料模組之間傳輸資料的裝置、方法、以及機器可讀儲存媒體
EP1729468B1 (en) Hyper-ring on chip (HyRoC) architecture
US8644327B2 (en) Switching arrangement and method with separated output buffers
US20020051427A1 (en) Switched interconnection network with increased bandwidth and port count
US20030107996A1 (en) Fibre channel arbitrated loop bufferless switch circuitry to increase bandwidth without significant increase in cost
JPH01123548A (ja) 通信交換装置
JPH0828742B2 (ja) パケット順次分配機能を持つ自己ル−ティングパケット交換ネットワ−ク
JP3322195B2 (ja) Lanスイッチ
JPH0638607B2 (ja) パケット・スイッチド・マルチポ−ト・メモリn×mスイッチ・ノ−ド及び処理方法
US6697362B1 (en) Distributed switch memory architecture
US7130301B2 (en) Self-route expandable multi-memory packet switch with distributed scheduling means
US6819675B2 (en) Self-route multi-memory expandable packet switch with overflow processing means
JP2644023B2 (ja) コミュニケイションスイッチング素子
EP0404339B1 (en) Routing apparatus and method for high-speed mesh connected local area network
US7142515B2 (en) Expandable self-route multi-memory packet switch with a configurable multicast mechanism
US7130302B2 (en) Self-route expandable multi-memory packet switch
WO1996005558A1 (en) A network switch
JP2004023572A (ja) セルスイッチ及びセル交換方法
WO2000042745A1 (en) Switching arrangement