JP4435974B2 - Lan交換用データ・パス・アーキテクチャ - Google Patents
Lan交換用データ・パス・アーキテクチャ Download PDFInfo
- Publication number
- JP4435974B2 JP4435974B2 JP2000508180A JP2000508180A JP4435974B2 JP 4435974 B2 JP4435974 B2 JP 4435974B2 JP 2000508180 A JP2000508180 A JP 2000508180A JP 2000508180 A JP2000508180 A JP 2000508180A JP 4435974 B2 JP4435974 B2 JP 4435974B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- subpath
- packet
- bit wide
- interface
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 239000000872 buffer Substances 0.000 claims description 49
- 238000012546 transfer Methods 0.000 claims description 17
- 238000000034 method Methods 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 2
- 230000003139 buffering effect Effects 0.000 claims 1
- 230000005540 biological transmission Effects 0.000 description 14
- 238000004891 communication Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 101100172132 Mus musculus Eif3a gene Proteins 0.000 description 6
- 238000001514 detection method Methods 0.000 description 6
- 238000001914 filtration Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000007619 statistical method Methods 0.000 description 3
- 239000000835 fiber Substances 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2416—Real-time traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/6215—Individual queue per QOS, rate or priority
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/627—Queue scheduling characterised by scheduling criteria for service slots or service orders policing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/351—Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3018—Input queuing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/351—Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
- H04L49/352—Gigabit ethernet switching [GBPS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/354—Switches specially adapted for specific applications for supporting virtual local area networks [VLAN]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
- Communication Control (AREA)
Description
(発明の分野)
本発明はローカル・エリア・ネットワーク(LAN)の分野に関連する。特に、本発明はギガビット・イーサネットLANなどの高速LANで動作するLAN交換によってデータ・パケットをフィルタして送るのに利用されるスケーラブル・データ・パス・アーキテクチャおよびデータ比較エンジンに関する。
【0002】
(関連技術の説明)
最初の、すなわち第1世代のLAN交換は、イーサネット(1秒間に1000万ビット(10Mb/s)で動作する)などのワークグループやネットワークが成長するにつれて発生した従来のLANに関連した混雑の問題を解決した。本明細書中で用いるイーサネットLANあるいは単にイーサネットという用語は、多様なメディア・タイプ上で通常は10Mb/sの信号レートで動作し、イーサネット・フォーマットまたは米国電気電子技術者協会(IEEE)基準802.3フォーマットされたデータ・パケットを送信する、キャリア検出、衝突検出(CSMA/CD)基準での多重アクセスに付随するLANに適用するものとする。新たなユーザーを付加することおよび、イーサネットLANよりも広い帯域幅(すなわち、ネットワークに適用される意味でのデータデータ送出能力)を要求する新たなアプリケーションの配備は、合理的に行うことができた。その結果、主としてネットワークの混雑によりパフォーマンスは遅くなった。最初のイーサネット交換は、ワークグループを、個別の衝突ドメインを有し、非常に高速でのワークグループ間におけるトラフィック、すなわちデータ・パケットを切り替える異なったLANに分割することにより、混雑を削減した。
【0003】
第1世代のイーサネット交換の配備並びにクライアント・サーバ・コンピューティング・モデルの成長は、主たるネットワークのパフォーマンスのボトルネックを、端末から、例えば高性能サーバに接続されたイーサネット交換ポートに移動した。第2世代のイーサネット交換は、一般的にバックボーンと呼ばれる比較的高速な通信媒体に接続されたポートを付加した。イーサネット交換上でポートを、ファイバ分散データ・インターフェイス(FDDI)、非同期転送モード(ATM)またはファスト・イーサネットなどの高速技術に従って動作するバックボーンに接続することは、ボトルネックを開いて、イーサネット交換に接続された多数のクライアントからのトラフィックを、サーバーまたはバックボーンへの接続点で効率的に切り替えられることを可能にした。本明細書中で用いるファスト・イーサネットLANまたは単にファスト・イーサネットという用語は、多様なメディア・タイプ上で通常は100Mb/sの信号レートで動作し、イーサネット・フォーマットまたは米国電気電子技術者協会(IEEE)基準802.3フォーマットされたデータ・パケットを送信する、キャリア検出、衝突検出(CSMA/CD)基準での多重アクセスに付随するLANに適用するものとする。
【0004】
最近まで、クライアント・サーバ・ネットワーク・モデルにおけるネットワーク・トラフィックのパターンは、概して予測可能であった。クライアントがローカル・サーバにアクセスするときに殆どのトラフィックがローカルLANに留まった。しばしば、例えば、電子メールなどのトラフィックのほんの僅かな部分は、一般に共有された通信媒体に接続されたワークグループ外に出ることがあった。今日では、イントラネット、インターネットおよびワールド・ワイド・ウェブ(WWW)での通信は、トラフィック・パターンを大幅に変えた。従来のクライアント・サーバ・ネットワークにおけるトラフィック・パターンとは対照的に、今やデータはどこにでも存在しどこへでも任意にアクセスできる。更に、例えば、デスクトップ端末でのビデオおよびマルチメディアを提供することができるより強力なアプリケーションやコンピュータは、より速いネットワーク速度やより広い帯域幅に対する必要性を加速している。
【0005】
ギガビット・イーサネットなどの非常に高速度の技術に関連づけられた信号レートおよび、イントラネットまたはインターネット通信に依拠する更に強力なアプリケーションおよびコンピュータの同化は、次世代のLAN交換の必要性を加速した。本明細書中で用いるギガビット・イーサネットLAN、または単にギガビット・イーサネットという用語は、多様なメディア・タイプ上で通常は1000Mb/sの信号レートで動作し、イーサネット・フォーマットまたは米国電気電子技術者協会(IEEE)基準802.3フォーマットされたデータ・パケットを送信する、キャリア検出、衝突検出(CSMA/CD)基準での多重アクセスに付随するLANに適用するものとする。
【0006】
必要とされるのは、今日の混雑問題を解決し、遅延センシティブで実時間のデータを扱い、ネットワークの規模を数千のユーザーを支援するほどに拡大し、ネットワークを介したトラフィックの異なった速度を統合することができる、高度にスケーラブルなLAN交換である。第3世代のLAN交換は、発展的マイグレーションを、10Mb/sのCSMA/CD(イーサネット)から100Mb/sのCSMA/CD(ファスト・イーサネット)、1000Mb/sのCSMA/CD(ギガビット・イーサネット)のバックボーンへと拡張する。かかるネットワークのスケーラビリティはLANの設計およびマイグレーションに重要であり、デスクトップのパフォーマンスを維持しながら、伝送用の高速リンクとサーバー接続を提供することにより、ネットワークの最適化を可能にする。
【0007】
このように、第3世代のLAN交換は、その交換内に十分な帯域幅を用意して、ネットワークの混雑の原因となるあらゆる可能性を除去できるべきである。交換は、何れかのポートのスループットを何ら妨げることなく、複数の高速および低速のポートを同時に切り換えることができるべきである。更に、交換は常に完全な帯域幅利用性を保証するべきである。交換の容量、特に交換のバックプレーン容量は、ネットワークのロードが全てのポートに、例えば全二重ギガビット帯域幅を支援するように要求する場合に、データ・パケットが欠落したり失われることがないように、その全てのポートの合計よりも大きくなるべきである。更に、交換はデータ・パケットを、それが添付される通信媒体のデータ送信速度程度には少なくとも速く、データ・パケットをブリッジング(メディア・アクセス制御(MAC)層で)することまたはルーティング(ネットワーク層で)することができるべきである。
【0008】
多様な第3世代LAN交換アーキテクチャには、LAN交換の実装においてキーのいくつかの相違がある。例えば、いわゆるギガビット・イーサネット交換は、多数のファスト・イーサネット・ポート、例えば6個のファスト・イーサネット・ポートを単に利用してもよいし、単一のギガビット・イーサネット・ポートを含んでもよい。かかる交換は、1秒間に1〜2ギガビットの範囲のどこかにある内部帯域幅能力を与えることが必要なだけであり、これは、交換のアーキテクチャに関係なく、ほぼ何れかのLAN交換の能力内にあるが、上記で言及した所望のスケーラビリティまたは保証された帯域幅利用性を与えることはない。
【0009】
必要なのは、64個のファスト・イーサネット・ポートまたは8個のギガビット・イーサネット・ポートあるいはそれらの組み合わせなどの、複数のファスト・イーサネット・ポートおよび/または多数のギガビット・イーサネット・ポートを容易に支援する交換アーキテクチャである。中央共有メモリベース・アーキテクチャ、クロスバー交換ベースのアーキテクチャまたはバスベースのアーキテクチャなどの従来のLAN交換アーキテクチャは、概して1秒間に2ギガビット(Gb/s)の最大内部帯域幅能力を有している。2Gb/sの帯域幅は限界値であるように思われ、それを超えるとかかる従来の交換アーキテクチャを拡大することは概して実現可能ではない。従って、LAN交換が例えば8個のギガビット・イーサネット・ポートを有しているとすると、これらの従来のアーキテクチャは、ネットワーク混雑の原因となるあらゆる可能性を排除するために交換内で十分な帯域幅を提供することや、何れのポートのスループットも何ら妨げることなく複数の高速ポートおよび低速ポートを切り換えることや、常に完全な帯域幅の利用性を提供することが概して可能である。
【0010】
例えば、いくつかの従来技術のバスベースの交換は、よく知られた周辺要素相互接続(PCI)ローカルバス規格に従ったバックプレーン・バスを利用してきた。PCIバスは実装に応じて、1クロック・サイクル当たり32または64ビットの何れかでデータを交換することができる。従って、33MHzの速度で動作すると、32ビットの幅のPCIバスは概して1Gb/sの帯域幅を達成することができ、64ビットの幅のPCIバスは概して2GB/sの帯域幅を達成できる。PCIバスのクロック速度を66MHzに拡大して4GB/sのビット・レートを達成することは可能であるが、PCIバスが動作する最大レートであると概して考えられている。従って、PCIバスベースのアーキテクチャで達成したよりも大きい交換用の内部帯域幅を与えるために、異なったアーキテクチャが必要である。
【0011】
中央共有メモリ・アーキテクチャはそれ自体を、バスベースのアーキテクチャよりも大きい内部帯域幅に適合させ、ポート間でバッファを割り当てるという意味で更に大きい柔軟性と、メモリ・リソースの割り当てに関する合理的な制御を提供する。しかし、従来の中央共有メモリ・アーキテクチャに基づいたこの交換の実装は、非常に多くのGb/sを支援する交換の必要性を満たすように拡大された場合には、それを中止するに十分なほど高価である。
【0012】
遥かに大きい内部帯域幅を達成する一つの方法は、メモリへアクセスするデータ・バスが、例えば256ビット、512ビットあるいは更に高い程度の非常に広いバス幅に拡大できるように、中央共有メモリを拡大することが要求される。ポートと中央共有メモリとの間でデータを転送するためにかかる広いデータ・バスを用意するデータ・パス回路は、ピン・カウントのために単一の集積回路(IC)上に実装することは困難であり高価である。例えば、単一のIC上で複数のポートおよび512ビットの幅のデータ・パスを支援するデータ・パス回路を実装することは、そのIC上で1000ピンを超えるピン・カウントを生じさせる。それぞれがより少ないピンを有する複数のICチップは、現在のIC製造技術であれば大きなピン・カウントを有するモノリシックICチップよりも製造に大幅に費用がかからない。ここで必要なのは、それ自体を多数のICチップ上での実装に適合する中央共有メモリ・アーキテクチャベースのLAN用のスケーラブル・データ・パス・アーキテクチャである。
【0013】
(発明の簡単な概要)
中央共有メモリ・アーキテクチャベースのLAN交換用のデータ・パス・アーキテクチャを開示する。本発明によって実施される交換は、ネットワーク混雑の原因となるあらゆる可能性を排除するために、交換内に十分な帯域幅を与えることができる。更に、この交換は、何れのポートのスループットをも妨げずに、複数の高速ポートおよび低速ポートを同時に切り換えることができる。また更に、この交換は常に完全な帯域幅利用性を与える。交換の容量、特に交換のバックプレーン帯域幅容量は、ネットワーク・ロードが全てのポートに1秒当たり全二重ギガビットの帯域幅を支援することを要求する場合に、データ・パケットが欠落したり失われたりしないように、その全てのポートの帯域幅容量の合計よりも大きい。この交換はワイヤ速度で、すなわち少なくともそれが添付されている通信媒体のデータ送信速度程度に速く、データ・パケットをブリッジして送る。
【0014】
本発明の実施形態によるデータ・パス・アーキテクチャを利用するLAN交換は、非常にスケーラブルである。更に、データ・パス回路は、単一のICチップではなく多数のICチップ上での実装にそれ自体を適合させ、それによってかかる回路の費用を大幅に削減する。本発明の実施形態によれば、データ・パス・アーキテクチャは、同様のあるいはより少ない数のICチップ上で製造されることがある多数のデータ・パス・コントローラに細分化される。
【0015】
LAN交換内の各媒体アクセス・コントローラまたはポートは、全二重データ・パスまたはチャンネルによってデータ・パス・アーキテクチャに接続されている。各データ・パス・コントローラは、それぞれがデータ・パス・コントローラを各全二重データ・パスのスライスに接続する多数のサブパスからなり、従って、各データ・パス・コントローラは、各媒体アクセス・コントローラから受信したデータ・パケットのスライスを、個別のサブパスを介して中央共有メモリに転送する責任を負う。同様に、各データ・パス・コントローラは、中央共有メモリから受信したデータ・パケットのスライスを、個別のサブパスを介して各媒体アクセス・コントローラに転送する。更に、パケットの送出及びフィルタ・コントローラは、スライスされたデータ・パス・アーキテクチャをてこにしてファスト・パケットの識別、フィルタおよび交換を行うスライスされた比較エンジンを利用する。
【0016】
本発明は実施形態によって説明され、以下の図面における限定によってではない。同様の符号は類似の要素を示す。
【0017】
(発明の詳細な説明)
本発明は、ギガビット・イーサネットLANなどの高速LANにおいて動作するLAN交換により送られているデータ・パケット用の、スケーラブルにスライスされたデータ・パス・アーキテクチャおよびスライスされたデータ比較エンジンに関する。以下の説明においては、本発明を完全に理解して戴くために、多数の特定的な詳細を記載した。しかし、当業者には、本発明がこれらの特定的な詳細なくして実施できることが明らかになるであろう。他の例においては、よく知られたアーキテクチャ、回路および技術は、本発明を不必要に曖昧にするのを避けるために示していない。
【0018】
LAN交換アーキテクチャの概要
図1を参照すると、本発明が実施されているLANパケット交換器100のブロック図が示されている。LANパケット交換器、すなわち単純な交換は、多数の高速ポート、すなわち媒体アクセス・コントローラ(MAC)、110a〜110nを支持する中央共有メモリベースのアーキテクチャを実装する。一実施形態においては、MACはそれぞれ、IEEE規格ドラフト802.3z/D3.1に従って、1秒当たり1,000,000,000ビット、すなわち1秒当たり1ギガビット(Gb/s)の半二重データ転送レートで動作するが、これはよく知られた802.3プロトコルおよびMAC仕様を、本明細書中ではギガビット・イーサネットと呼ばれるベースバンド通信媒体上で1000Mb/sの動作速度まで拡張する。もう1つの実施形態においては、MACはそれぞれIEEE規格802.3uに従って、1秒当たり100,000,000ビット(100Mb/s)のデータ転送レートで動作するが、これはよく知られた802.3プロトコルおよびMAC仕様を、本明細書中ではファスト・イーサネットと呼ばれるベースバンド通信媒体上で100Mb/sの動作速度まで拡張する。MACは、よく知られたファイバ分散データ・インターフェイス(FDDI)または非同期転送モード(ATM)通信プロトコルなどの、他の通信プロトコルに従って動作してもよいことが理解される。
【0019】
図1に示した交換100はMAC110a〜110nを支援するように構成されており、ここでnは、交換の内部帯域幅容量に対するMACのそれぞれの動作速度および帯域幅の要件に概して左右される。特に、交換は一実施形態において16Gb/sの内部帯域幅を支持し、もう1つの実施形態においては32Gb/sの内部帯域幅に拡大可能であるが、後者はそれぞれ2Gb/sの帯域幅にある8個の全二重ギガビット・チャンネルを支持するのに十分すぎるほどである。従って各チャンネルは1つの全二重ギガビット・イーサネットMACを支持することが可能であり、ここで受信データ・パス、例えば111aは1Gb/sのレートでギガビット・イーサネットMACからデータを受信し、送信データ・パス、例えば111bは1Gb/sのレートでギガビット・イーサネットMACにデータを送信する。各チャンネルは交互に、8個のファスト・イーサネットMAC、8個のFDDIポート、6個のOC−3 ATMポートまたは1つのOC−12ATMポートを支持することができる。理論上、各チャンネルは10個のファスト・イーサネット(FE)MACを支持できるが、実際の問題としては、時間が逼迫するために本発明の実施形態においては8個のFE MACのみが利用されている。パスは更に多数のサブパスにスライスされ、そこでデータは、パケット・キュー・マネージャ(PQM)160から受信したコマンドに従って、図面においてはパケット・メモリ130として参照されている中央共有メモリにパス・コントローラ120によって送られる。理解されるように、本発明の実施形態は、パスを1、2、4、8または16個のサブパスにスライスして、パケット・メモリ130への2から32Gb/sの内部帯域幅並びに、2Gb/sのデータ転送速度で動作する1から16個の全二重パスを備えた交換構成を作り出す。
【0020】
更に詳細には下記で説明しているように、送出データベース140はパケットまたはフローの識別、送出とフィルタに関連したテーブルを含み、パス・コントローラ120によって転送されたパケットから入手したアドレスおよび他のよく知られたフィールドをテーブルに記憶する。パケット送出コントローラ150は、送出データベース140内にテーブルを維持し、多数のサブパス・コントローラのそれぞれに従いまたそれらに関連づけられてスライスされた比較エンジンを利用して、どのパケットまたはフローを識別し、フィルタし、または送るかを判断する。
【0021】
スライスされたデータ・パス・アーキテクチャを利用した交換アーキテクチャ
図2Aを参照すると、本発明に従ってLAN交換によって利用されたデータ・パス・アーキテクチャの実施形態のブロック図が示されている。図示された実施形態においては、mビット幅の受信データ・パス(「パス」)111a〜114aが、MAC110a〜110nをパス・コントローラ120に連結している。ここでmは16ビットに等しい。一実施形態においては、パスは66.7MHzで動作し、従って、受信方向では1Gb/sよりも若干多い。パス・コントローラ120は多数のサブパス・コントローラ、この場合には、4個のサブパス・コントローラにスライスされる。同様に、パス111a〜114aは、等しい数のnビット幅の受信データ・サブパス(「サブパス」)にスライスされ、ここでnは4に等しく、サブパス・コントローラの数のn倍がmに等しい。
【0022】
特定のパスに属する各サブパスは、異なったサブパス・コントローラに送られる。従って、例えば16ビットの受信データ・パス111aは、それぞれ個別のサブパス・コントローラ120a、120b、120cおよび120nに接続された4ビットのサブパス111a1、111a2、111a3および111anにスライスされる。同じ方法で、16ビットの受信データ・パス112aは、サブパス・コントローラ120a〜120nに接続された4ビットのサブパス112a1〜112anにスライスされる。従って、サブパス・コントローラ120a〜120nはそれぞれ、MAC110a、110b、110cおよび110nのそれぞれからデータ・パケットの個別のスライスを受信する。
【0023】
サブパス・コントローラ120a〜120nはそれぞれ、個々のxビット幅の受信データ・バス121a〜121n、集合的にはデータ・バス121を介して、パケット・メモリ130に連結されている。本発明の一実施形態においては、サブパス・コントローラをパケット・メモリ130に接続するデータ・バス121の幅は、MACをパス・コントローラ120に連結する受信および送信データ・パスの幅の合計の2倍である。従って、図2Aに示した4個のサブパス(4個のスライス)の実施形態においては、データ・バス121は256ビットであり、一方、図2Cを参照すると、8個のサブパス(8個のスライス)の実施形態におけるデータ・バス121は512ビット幅である。16個のサブパスの構成においては、1024ビット幅のデータ・バスがサブパス・コントローラをパケット・メモリ130に接続するものと理解される。
【0024】
サブパス・コントローラはそれぞれ、各サブパスに連結されていてそこからデータを受信する個別の受信バッファを含む。受信データ方向(MACからパケット・メモリへの)においては、各サブパス・コントローラは、データのそのビットのデータをパケット・メモリ130に転送できるようになるまで、その関連付けられた受信データ・サブパスからの受信バッファに少なくともxビットのデータを集積する。ここで、xはnの倍数、すなわち、受信データ・サブパスにおけるビット数の倍数である。本明細書中に開示した実施形態においては、x=64ビットである。例えば、サブパス・コントローラ120aは、サブパス111a1、112a1、113a1および114a1上で、MAC110a、110b、110cおよび110nからデータ・パケットのスライスをそれぞれ受信する受信バッファ210a、210b、210cおよび210dに分割されたバッファ210を含む。同様に、サブパス・コントローラ120bは、サブパス111a2、112a2、113a2および114a2を介して、受信バッファ220aから220d内にMAC110a、110b、110cおよび110nからのデータ・パケットのスライスを受信する。
【0025】
受信バッファはシリアル・パラレル・ビット・ストリーム・コンバータとして動作し、xビットのデータを並行にパケット・メモリにバーストする。xビットは、対応するサブパスに接続されたMACから受信したデータ・パケットのnビットのスライスを含む。各サブパスからのデータ・ストリームは、パケット・キュー・マネージャ(PQM)160の制御の下でメモリに書き込まれる。PQM160はメモリ・アドレス場所を生成し、そこでMACから受信したデータのスライスはパケット・メモリ130、特にメモリ・バンク130a、130b、130cおよび130nに記憶される。個々のサブパス・コントローラ120a、120b、120cおよび120nのセレクタ215、225、235および245は、同じパスのサブパスに対応する受信バッファを同時に選択し、そこに保持されたデータのスライスをデータ・バス121上でパケット・メモリ130に送る。
【0026】
例えば、PQM160はアドレス・バス255上でオフセット・メモリ・アドレスをアサートして、xビットのデータ・パケットを記憶する場所を各メモリ・バンク130a〜130n内に示す。PQM160は制御ライン252上の信号もアサートして、セレクタ215、225、235および245に、各パスのサブパスに対応する受信バッファ、例えば、サブパス111a1、111a2、111a3および111anに対応する受信バッファ210a、220a、230aおよび240aに保持されたxビットのビット・ストリームを同時に送らせる。サブパス111a1、111a2、111a3および111a4はMAC110aからのパス111aを含む。ビット・ストリームはデータ・バス121上で集合的かつ同時に送られ、そこで各ビット・ストリームは隣接していないメモリ場所に記憶される。PQMは次に、もう1つのパスに関連づけられたもう1つのサブパスのセットを選択して、それからもう1つのMAC、例えばMAC110bからのデータ・パケットのスライスを得て、それに続いてMAC110cおよび110nからのスライスを選択して書き込む。
【0027】
図2Bを参照すると、mビット幅の送信データ・パス(「パス」)111b〜114bは、パス・コントローラ120をMAC110a〜110nに連結するが、ここでmは16ビットに等しい。図2Aを参照して上記で説明した受信データ・パスの場合と同様に、送信データ・パスは66.7MHzで動作し、従って、全二重パス毎に、合計2Gb/sの全二重データ送信レートに対して、送信方向に1Gb/sよりも若干多くを送る。送信データ方向において、交換は、受信データ方向に関して上記で説明したものと同様ではあるが反対の方法で動作する。サブパス・コントローラはそれぞれ、データ・バス121上でパケット・メモリ130からxビット(例えば、64ビット)のバーストを読み取る。そこで各バーストはデータ・パケットの複数のスライスを表す。サブパス・コントローラは、特定のMACに対応するサブパス上でデータを送信する。メモリ読み取りが遂行されるメモリ場所のメモリ・アドレスは、サブパス・コントローラおよびパス(図示せず)からの状態および制御信号に呼応して、PQM160によって生成されてアドレス・バス260に送られる。
【0028】
データ・パス・コントローラ120の代替的実施形態を、図2Cを参照してここで説明する。図は受信データ・パスのみを示しており、回路およびデータ・パスは図示されていないが図2Bに類似している。すなわち、送信方向については、これらはこの実施形態にも存在する。この実施形態はデータ・パス・コントローラ120を多数のサブパス・コントローラ120a〜120n、この場合には8個のサブコントローラにスライスする。それぞれmビット幅(m=16)であるデータ・パスは同様に等しい数のnビット幅の受信サブパスにスライスされるが、ここでnは2に等しくサブパス・コントローラの数のn倍はmに等しい。特定のパスに対応するサブパスは、各サブパス・コントローラが個別のサブパスを介して各MACに接続されており、それからデータのスライスを受信する。例えば、サブパス・コントローラ120aはサブパス111a1を介してMAC110からデータのスライスを受信し、サブパス112a1を介してMAC110bからデータのスライスを受信し、サブパス113a1を介してMAC110cからデータのスライスを受信するなどである。従って、図2Aに図示した「4個のスライス」の実施形態、すなわち4個のサブパス・コントローラの実施形態は、それぞれ異なったMACからの4個の4ビット幅のサブパスを同じサブパス・コントローラに送るのに対して、図2Cに示した8個のスライスの実施形態は、それぞれ異なったMACからの8個の2ビット幅のサブパスを同じサブパス・コントローラに送る。
【0029】
2ビットのデータのスライスは各サブパス上で受信されて、そのサブパスと関連付けられた受信バッファに記憶される。受信バッファは、PQM160によって制御された適当な時間にパケット・メモリ130に送信されるように、ビット・スライスをxビット幅の並行ビット・ストリームに変換する。PQM160はセレクタ216から222を制御して、各サブパス・コントローラからの同じデータ・パケットのスライスを同時にゲートする。従って、例えばセレクタは各サブパス・コントローラの第1のサブパスからスライスを選択して送り、次に第2のサブパスからなどである。スライスは、メモリへのデータ転送を設定するに当たって、PQM160によってアドレス・バス255によって識別されてそれに向けられるメモリ・アドレスのパケット・メモリ130内の個別の場所に記憶される。
【0030】
図2Dは、データ・パス・コントローラが2個のサブパス・コントローラにスライスされる、データ・パス・コントローラの実施形態を示している。受信データ・パスと対応するサブパス・コントローラ・アーキテクチャを示している。図2Bに示したものと類似する送信データ・パスおよびサブパス・コントローラは図示してない。この実施形態は、4個および8個のスライスの実装を参照して上記で説明したのと同じステップに従って動作する。従って、2個のスライスの実施形態の説明は読み手に任せる。
【0031】
本明細書中で説明している実施形態のそれぞれにおいては、サブパス・コントローラの何れも全データ・パケットを受信または送信せず、メモリもパケット・メモリ内の隣接した場所に全データ・パケットを記憶しないことを注記する。しかし、対応する受信および送信データ・サブパスおよび対称転送操作が、上記のようにデータのスライスをメモリに受信するかデータのスライスをメモリから送信するのに利用されている限り、データ・パケットはあらゆる考え得る方法でスライスして転送できることが理解される。従って、本発明によれば、データ・パケットのスライスは個別のサブパスに関連付けられた個別のバッファに記憶されて、次にタイムスライスされた方法で個別のメモリ領域に転送される。データ・パス・コントローラおよびパケット・キュー・マネージャは、特定のMACから受信した同じデータ・パケットのスライスが確実に同時にメモリに書き込まれるようにする。
【0032】
一般的に、データ・パス・コントローラ・アーキテクチャの異なった実施形態は、データ・パケットを等しく効率的に処理する。しかし、以下で説明するように、短いパケット、例えば、短い長さのパケット、すなわち65バイト長の最小パケットまたは、例えばデータ・パケットのスライスを同時にデータ・パス・コントローラを介してメモリに転送した後にパケット・メモリに転送されるように残っている残りの長さのパケットは、4対8スライスの実施形態によって更に効率的に処理される。
【0033】
520ビットからなる65バイトのパケットが、各MACをデータ・パス・コントローラに接続する受信データまたは送信データ・パスなどの16ビット・バス上で転送されるには32.5クロック・サイクルかかる。しかし、本発明の4個のスライスの実施形態を利用すると、LAN交換はデータ・バス121上で2クロック・サイクルでパケット・メモリから520ビットのうち512ビットを読み出したり、そこに書き込むことができ、第3のクロック・サイクルで残りの8ビットが転送されるように残す。同様に、8個のスライスの実施形態は、単一のクロック・サイクルでデータ・パケットの512ビットを転送することができ、やはり、それに続くクロック・サイクルで転送するように残りの8ビットが残る。残余の8ビットを転送する工程を、本発明の4個および8個のスライスの実施形態の両方において、サブパス・コントローラの更に詳細な説明を参照してここで説明する。
【0034】
図4は、上記で参照し図2Cに示した8個のスライスの実施形態による、サブパス・コントローラにおける2個の受信データ・サブパス、111a1および112a1を示している。各サブパスは、サブパスからなる各単一ビット・ラインに個別のバッファを有する。例えば、8個のスライスの実施形態においては、各受信または送信データ・パスは2ビット幅であり、従って、2個のバッファが設けられている。図4はMAC110aで受信されるデータ・パケットの2ビットのスライスを集合的に受信するように、MAC110aに接続された受信データ・サブパス111a1の2個の単一ビット・ライン402および404を示している。同様に、ビット・ライン406および408は、MAC110bから受信したデータ・パケットの2ビットのスライスを集合的に受信する。図示したように、各単一ビット・ライン、例えばビット・ライン402に接続されたシリアル・パラレル・コンバータ、例えばコンバータ410aは、直列的にビットを受信して、32ビットを並列に先入れ先出し(FIFO)バッファ、例えばバッファ422にバーストする。この実施形態においては、各FIFOバッファは32ビット幅で4ビットの奥行きである。しかし、他の幅および/または奥行きのFIFOも利用できるものと理解される。
【0035】
説明の目的で、ビット・ライン402がビット位置0をサブパス111a1から受信し、ビット・ライン404がビット位置1をサブパス111a1から受信すると仮定する(しかし、本発明から逸脱せずに、2ビットのサブパスは何れかの2ビット位置を含むことができると理解される)。従って、FIFO422はMAC110aから受信したデータ・パケットのビット0、32、64および96などを受信し、FIFO424は同じデータ・パケットのビット1、33、65および97などを受信する。この方法を続けると、サブパス111a2の第1のビット・ラインに連結されたFIFO(図示せず)はビット2、34、66および98などを受信し、サブパス111a2の第2のビット・ラインに連結されたFIFOはビット3、35、67および99などを受信する。
【0036】
所与のサブパスに対してFIFOのそれぞれに保持されたビットは、xビット幅のビット・ストリームを形成するようにインターリーブされ、このビット・ストリームは次にデータ・バス121の個々のxビット幅の部分、例えばデータ・バス121a上でパケット・メモリへの転送のために選択される。例えば、FIFO422および424におけるセルdの内容はそれぞれ、32ビット幅のライン432および434で転送されて、64ビット幅のライン438上でインターリーブされる。MAC110aまたは110bから受信したどのデータ・パケットがPQM160の制御の下でパケット・メモリ130に書き込まれているかによって、サブパス111a1またはサブパス112a1を選択するために階層的な2段階の選択回路が利用される。選択の第1段階においては、セレクタ445はサブパス111a1またはサブパス112a1の何れかを選択する。8個のスライスの実施形態においては、セレクタ445と同様に配置された3個の他のセレクタが、サブパス・コントローラ120aを介して送られた残りの3対のサブパスから選択する。セレクタ445のセレクタは次に第2段階のセレクタ215に送信されて、そこでセレクタ215は第1段階で選択された4個のサブパスの1つを選択する。第2段階で選択されたサブパスからのデータ・パケットのスライスは、同じパスに関連するが他の7個のサブパス・コントローラを介して送られた他のサブパスからの、同じデータ・パケットの他のスライスと共に転送される。このようにして、データ・パケットはMACで受信され、独立のコントローラを介して分割されて送られて、同時にパケット・メモリ130の個別のメモリ場所にゲートされる。
【0037】
8個のスライスの実施形態においては、残余バイトはサブパスについて2ビットずつ、8個のサブパス・コントローラの4個に渡って分散される。従ってPQM160が図4に示した階層的選択回路を介してこれらのサブパスの内容をゲートする場合に、バス121上を転送された512ビットのうち504ビットが無駄になる。図3に示した4個のスライスの実施形態は、シリアル・パラレル・コンバータの32ビットの並行出力を16ビットのFIFOに分割することにより、更に効率的にこの状況を扱っている。
【0038】
4個のスライスの実施形態においては、例えば、サブパス111a1は4ビット幅のサブパスを含む。サブパスの各ビット・ラインは、サブパス・コントローラ120aにおいてシリアル・パラレル・コンバータ210a1〜210a4の個別の1つに接続されている。翻って、シリアル・パラレル・コンバータのそれぞれは、32ビットのパラレルバスを介して4ビット×32ビットのFIFO320〜335の個別の1つに連結されている。しかし、FIFOはそれぞれ2個の16ビットのFIFOに分割される。例えば、FIFO320はFIFO320d1と320d2に分割される。4個の32ビットのFIFOをインターリーブするのではなく、根本的に4個のみの16ビットのFIFOがインターリーブされるように、サブパスにおける各FIFOの個々の半分のみがインターリーブされる。従って、4個のスライスの実施形態においては、残余バイトはサブパスについて4ビットずつ、4個のサブパス・コントローラの2個に渡って分散される。PQM160が、階層的選択回路を介してこれらのサブパスの内容をパケット・メモリにゲートする場合には、FIFO構造および上記のインターリーブのため、248ビットが無駄になるだけである。
【0039】
スライスされた比較エンジン
上記で説明した本発明によるスライスされたデータ・パス・コントローラ・アーキテクチャを実装するLAN交換は、データ・パス・アーキテクチャをてこにして、データ・パケット識別、フィルタ、送出並びに、サービス・パラメータの品質、特にサービス・パラメータのポリシー・ベースの品質によるデータ・パケットを個別のキューにキューイングすることや、データ・パケットに関連した統計分析またはネットワーク管理機能を遂行することなどの他の動作を効率的に速やかに遂行する。本発明のデータ・パス・アーキテクチャおよびスライスされた比較エンジン・アーキテクチャを実施するLAN交換アーキテクチャは、パケットフィルタ、送出およびネットワーク層のルーティングの多数のレベルを支持し、ネットワーク管理、統計分析および高品質のサービス・アプリケーションを更に支持する。この機能性は、データリンク、ネットワーク、輸送または他のプロトコル層に記憶された情報の以下のよく知られたフィールドに適当に基づくが、それらに限定されるものではない。
MAC受信宛先アドレス
MACソース・アドレス
MAC受信宛先アドレスおよびバーチャルLAN(VLAN)
MACソース・アドレスおよびVLAN
IP受信宛先アドレス
IP受信宛先アドレス、IPソース・アドレスおよびVLAN
TCPフロー(IPソース・アドレス、TCPソース・ポート、IP受信宛先アドレス、TCP受信宛先ポート)
IP受信宛先およびIPソース・アドレス
【0040】
図1、2C、4および5を参照すると、上記のように、各データ・パス・コントローラは各クロック・サイクルでデータ・パケットのスライスをパケット・メモリ130に転送する。データ・パケットのスライスがデータ・パス・コントローラを通過すると、パケット送出コントローラ150はコマンド・バス555を介してデータ・パス・コントローラに命令を送り、あるフィールドまたはフィールドのグループをサーチする。(この実施形態は主として、送出コントローラの制御の下で、またその利益のために、比較エンジンの動作を主として考えているが、当業者は、高品質のサービス・キューイング、ネットワーク管理、統計分析などの他の動作の制御に関連した他のコントローラを、本明細書中に記載した比較エンジンを利用できると理解することに注意して戴きたい。)しかし、データ・パス・コントローラは本発明のデータ・パス・アーキテクチャに従って多数のサブパス・コントローラにスライスされるので、パケット送出コントローラはデータ・サブパス・コントローラに、データ・パケットの1つ以上のフィールドの特定のスライスをサーチするように命じる。代替的に、サブパス・コントローラは、サーチするフィールドを示すパケット送出コントローラからコマンドを受け取り、データ・パス・アーキテクチャにおける他のサブパス・コントローラに対する所与のサブパス・コントローラの位置、データ・パケットにおけるよく知られたフィールドのビット位置あるいは、サブパス・コントローラが処理に責任を負う特定のフィールドのスライスに関する他の情報などの、それらが気付いている情報に基づいてサーチするフィールドの特定のスライスを識別する。
【0041】
図4を参照して、データ・パス・コントローラが多数のサブパス・コントローラにスライスされる程度に応じて、各サブパス・コントローラは多数のサブパスを含むことを想起して戴きたい。例えば、図4に示した8個のスライスの実施形態においては、各サブパス・コントローラは、それぞれ個別のMACに接続された個別のデータ・パスから派生した8個のサブパスを実装する。翻って、サブパスのそれぞれは、各MACに接続されたデータ・パスの幅およびサブパス・コントローラの数に応じて、多数の単一のビット送信ラインに分割される。データ・パス幅が16ビットである8個のスライス編成においては、図4に示したように各サブパスは2個の単一ビット送信ラインを有している。データビットは単一のビット送信ライン上で直列に受信されて、上記のように4×32ビットのパラレルFIFOにおいてバッファされる。
【0042】
本発明の比較エンジンによれば、各サブパス・コントローラにおける各4×32ビットFIFOは、セレクタの1つに接続されていて、FIFOにおける4個の32ビットバッファの1つを選択する。例えば、図5に示した本発明によるデータ・パス・アーキテクチャの8個のスライスの実施形態においては、FIFO422および424は、サブパス210aにおける対応する2個の単一ビット送信ライン412および414にそれぞれ連結されている。セレクタ502および504は、それぞれFIFO422および424に連結されており、FIFOにおけるバッファを入力として受信する。バッファはそれぞれデータ・パケットの32個の隣接しない1ビットのスライスを含む。セレクタはFIFOにおける各入力に対応する4個の入力部をそれぞれ有しており、セレクタは、パケット送出コントローラによって与えられる制御信号に従って、セレクタがスライスを比較エンジン・ロジックに転送するときに、FIFOのどこにスライスが位置するかに拘わらず、関連付けられたFIFOからデータの特定のスライスを検索することができる。図5に示した実施形態は、データ・パス・アーキテクチャに利用されているFIFOから直接にデータ・パケットのスライスを入手するが、当業者には、パケット識別およびフィルタの目的でデータ・パケットのスライスを受信するためにFIFOバッファの複写セットが提供されてもよく、妥協点はメモリ利用対データ・パス・コントローラのスループットであることが理解される。
【0043】
データ・パケットのスライスは次にセレクタによってバッファに送られる。例えば、セレクタ502は、FIFO422における入力a、b、cまたはdの1つから入手したスライスをバッファ508に送る。セレクタ516は次に、よく知られたフィールドに関連したスライスの部分を選択する。一実施形態においては、セレクタ516は、フィルタなどが支持されている各フィールドに関する入力部を有する。従って、セレクタ516は、例えばMAC受信宛先アドレスなどに関連したバッファ508におけるスライスの部分を受信するために入力部を有し、例えばIP受信宛先アドレスまたはTCPフローなどに関連するバッファ508におけるスライスの部分を受信するためにもう1つの入力部を有する。パケット送出コントローラ150は、制御信号をセレクタ516に発して、どのフィールドが選択されたかを示す。図5に示し上記で説明したセレクタ502、バッファ508およびセレクタ516の組み合わせは、各サブパスの各FIFOについても繰り返す。実際に、図示したように、FIFO424は、セレクタ504を介してバッファ510にデータ・パケットのスライスを送信するためにも連結されており、ここで1つ以上のフィールドに関連したスライスの部分が選択されてセレクタ518に送られる。
【0044】
セレクタ520は、セレクタ516によってFIFO422からあるいはセレクタ518によってFIFO424から出力されたフィールドに関連するスライス(「フィールド・スライス」)の部分を選択する。フィールド・スライスはハッシュ・キーとして使用され、522でハッシング機能によって操作されて、フィールド・スライスを比較するための同様のフィールドのテーブルがある送出データベース140へのインデックスを計算する。例えば、セレクタ520の出力部で入手したフィールド・スライスがMAC受信宛先の一部であれば、ハッシング機能は、送出データベース140におけるMACアドレステーブルへのインデックスを計算する。しかし、フィールド・スライスがIPソース・アドレスの部分であれば、ハッシング機能は、送出データベースにおけるIPアドレステーブルへのインデックスを計算する。
【0045】
一実施形態において、ハッシング機能は、送出データベース140におけるテーブルのハッシュ・バケットにインデックスを提供する。図5に示した実施形態におけるハッシュ・バケットの大きさは4個の入力である。従って、ハッシュ・バケットにおける4個の入力のそれぞれは、送出データベースから読み込まれて、例えばコンパレータ526aから526nなどの同様の数のコンパレータにロードされる。フィールド・スライスは次にコンパレータのそれぞれにも入力されて、テーブルからロードされた入力に対して比較される。比較の結果はパケット送出コントローラに戻され、このコントローラはこのサブパス・コントローラおよび他のサブパス・コントローラにおける同じデータ・パケットの同じフィールドについて関連したフィールド・スライスに関して行った比較の結果を統合する。この工程は、データ・パケットが比較されている各フィールドについて繰り返してもよい。例えば、比較ロジックは、データ・パケットにおけるMAC受信宛先フィールドの内容をサーチして、送出データベースにおける入力と比較してもよい。MAC受信宛先アドレスが見つかれば、すなわち、MAC受信宛先アドレスと適合するものが送出データベースにおいて見つかれば、比較ロジックは、例えばMACソース・アドレスなどのデータ・パケットにおけるもう1つのフィールドの内容をサーチして比較してもよい。この工程は、サーチされているデータ・パケットのあらゆる数のフィールドについてこの反復的な方法で継続してもよい。
【0046】
代替的に、セレクタ516および518で入手したフィールド・スライスは、まず結合されて、次に、送出データベースにおける対応するテーブルからコンパレータにロードされた入力に対して比較される。その結果は、ロジック(図示せず)でまたは送出コントローラ150によって統合され、サーチしている特定のフィールドが実際に比較エンジンによって発見されたかどうかを判断する。送出コントローラは次に、例えばデータ・パケットをフィルタするか送るなどの、識別されたパケット用のLAN交換において編成された適切な機能を遂行する。更に、セレクタ516および518の出力部で入手したフィールド・スライスは組み合わせることができ、その組み合わせは翻って他のサブパス・コントローラにおける同様のロジックの出力と組み合わされる。その結果得られるフィールドは、ハッシング機能によって利用されて送出データベースへのインデックスとして使用されるキーを作り出してもよい。インデックスによって指し示されるデータベースにおける入力は、次にコンパレータに入力され、比較はフィールドと行われ、その結果は上記と同じ方法で送出コントローラに送られる。
【図面の簡単な説明】
【図1】 本発明の実施形態によって利用されることがあるパケット交換器の図である。
【図2A】 本発明による、中間アクセス・コントローラでデータ・パケットを受信してLAN交換の中央共有メモリにそれを転送する実施形態のブロック図である。
【図2B】 本発明による、データ・パケットを通信媒体への転送のために中央共有メモリからLAN交換の中間アクセス・コントローラに転送する実施形態のブロック図である。
【図2C】 本発明による、データ・パケットを中間アクセス・コントローラで受信して、それをLANの中央共有メモリに転送するもう1つの実施形態の図である。
【図2D】 本発明による、データ・パケットを中間アクセス・コントローラで受信して、それをLANの中央共有メモリに転送する実施形態の図である。
【図3】 本発明の実施形態による、データ・パケットを中間アクセス・コントローラで受信して、それをLANの中央共有メモリに転送する階層的選択ロジックを示した詳細なブロック図である。
【図4】 本発明の実施形態による、データ・パケットを中間アクセス・コントローラで受信して、それをLANの中央共有メモリに転送する階層的選択ロジックを示した詳細なブロック図である。
【図5】 本発明の実施形態による、LAN交換で受信されたデータ・パケットを送るのに利用されるデータ選択・比較ロジックの図である。
Claims (13)
- 少なくとも第1のデータ・パケットを受信するための第1のインタフェースと第2のデータ・パケットを受信するための第2のインタフェースと、
データ・パス・コントローラであって、別個のmビット幅データ・パスを介して第1のインタフェースと第2のインタフェースに結合され、複数のデータ・サブパス・コントローラを具備するデータ・パス・コントローラと、そして
yビット幅データ・パスを介してデータ・パス・コントローラに連結されたメモリと
を具備するパケット交換器であって、
各データ・サブパス・コントローラは、1つのインタフェースに対応するmビット幅データ・パスの別個のnビット幅データ・サブパスに連結され、
データ・サブパス・コントローラの数のn倍はmに等しく、
各インタフェースは、そのインタフェースによって受信されたデータ・パケットを少なくとも第1の部分と第2の部分にスライスし、
第1の部分は、そのインタフェースから第1のデータ・サブパス・コントローラへ特定のサブパス上で送信されるデータ・パケットのビットのセットから成り、
第2の部分は、そのインタフェースから第2のデータ・サブパス・コントローラへ別ののサブパス上で送信されるデータ・パケットのビットのセットから成る、
パケット交換器において、
第1のデータ・サブパス・コントローラは、さらに、
第1のデータ・パケットの第1の部分の第1のサブ部分を受信し保持するための第1のバッファであって、第1のインタフェースに対応するサブパスの第1の単一ビット・ラインを介して第1のインタフェースに連結されている第1のバッファと、
第1のデータ・パケットの第1の部分の第2のサブ部分を受信し保持するための第2のバッファであって、第1のインタフェースに対応するサブパスの第2の単一ビット・ラインを介して第1のインタフェースに連結されている第2のバッファと、
第2のデータ・パケットの第1の部分の第1のサブ部分を受信し保持するための第3のバッファであって、第2のインタフェースに対応するサブパスの第1の単一ビット・ラインを介して第2のインタフェースに連結されている第3のバッファと、
第2のデータ・パケットの第1の部分の第2のサブ部分を受信し保持するための第4のバッファであって、第2のインタフェースに対応するサブパスの第2の単一ビット・ラインを介して第2のインタフェースに連結されている第4のバッファと、
第1、第2、第3そして第4のバッファに連結されたセレクタであって、第1と第2のバッファからメモリへの同時の転送のために第1のデータ・パケットの第1と第2のサブ部分を先に選択し、そして第3と第4のバッファからメモリへの同時の転送のために第2のデータ・パケットの第1と第2のサブ部分を後で選択するセレクタと
を具備し、
yはmよりも大きく、mはnよりも大きく、そしてnは2よりも大きいか等しく、
xはmの倍数であり、そしてyはxの倍数であり、バッファの幅はxをnで除したビット数に等しい、
ことを特徴とするパケット交換器。 - 第1と第2のデータ・サブパス・コントローラは別個の集積回路に実装されている、
ことを特徴とする請求項1に記載のパケット交換器。 - データ・サブパス・コントローラは少なくと2つの別個の集積回路に実装されている、
ことを特徴とする請求項1に記載のパケット交換器。 - 前記データ・サブパス・コントローラの数が8個である、
ことを特徴とする請求項1に記載のパケット交換器。 - 前記8個のデータ・サブパス・コントローラが、各集積回路に4個ずつ、2個の集積回路に実装されている、
ことを特徴とする請求項4に記載のパケット交換器。 - 前記8個のデータ・サブパス・コントローラが、各集積回路に2個ずつ、4個の集積回路に実装されている、
ことを特徴とする請求項4に記載のパケット交換器。 - 前記8個のデータ・サブパス・コントローラが、各集積回路に1個ずつ、8個の集積回路に実装されている、
ことを特徴とする請求項4に記載のパケット交換器。 - 前記yビット幅データ・パスが前記mビット幅データ・パスの2倍の幅である、
ことを特徴とする請求項1に記載のパケット交換器。 - パケット交換器においてデータ・パケットを処理する方法であって、
そのパケット交換器は、
少なくとも第1のデータ・パケットを受信するための第1のインタフェースと第2のデータ・パケットを受信するための第2のインタフェースと、
別個のmビット幅データ・パスを介して第1のインタフェースと第2のインタフェースに結合されたデータ・パス・コントローラであって、複数のデータ・サブパス・コントローラをさらに具備するデータ・パス・コントローラと、そして
yビット幅データ・パスを介してデータ・パス・コントローラに連結されたメモリと
を具備し、
各データ・サブパス・コントローラは、さらに、1つのインタフェースに対応するmビット幅データ・パスの別個のnビット幅データ・サブパスに結合され、データ・サブパス・コントローラの数のn倍はmに等しく、yはmよりも大きく、mはnよりも大きく、そしてnは2よりも大きいか等しく、
パケット交換器の第1のインタフェースで第1のデータ・パケットを受信するステップと、
第1のデータ・パケットを少なくとも第1の部分と第2の部分にスライスするステップと、
第1のインタフェースに対応する第1のmビット幅データ・パスの第1のnビット幅サブパス上に第1のデータ・パケットの第1の部分を転送するステップと、
第1のmビット幅データ・パスの第2のnビット幅サブパス上に第1のデータ・パケットの第2の部分を転送するステップと、
を含み、さらに、
第1のmビット幅データ・パスの第1のnビット幅サブパスを介して、第1のデータ・パケットの第2の部分を第2のデータ・サブパス・コントローラで受信すると同時に、第1のデータ・パケットの第1の部分を第1のデータ・サブパス・コントローラで受信するステップであって、第1のデータ・サブパス・コントローラは第1のバッファ、第2のバッファ、第3のバッファ及び第4のバッファを有し、第1のデータ・サブパス・コントローラの第1のサブパスはn個の単一のラインからなる、ステップと、
第2のインタフェースで第2のデータ・パケットを受信し、第2のデータ・パケットを少なくとも第1の部分と第2の部分にスライスし、第2のmビット幅データ・パスの第1のnビット幅サブパスに第2のデータ・パケットの第1の部分を転送し、第2のnビット幅サブパス上に第2のデータ・パケットの第2の部分を転送するステップと、
第2のデータ・パケットの第2の部分を第2のデータ・サブパス・コントローラで受信すると同時に、第2のmビット幅データ・パスの第1のサブパスを介して第2のデータ・パケットの第1の部分を第1のデータ・サブパス・コントローラで受信するステップであって、第2のデータ・パスの第1のサブパスはn個の単一のラインからなる、ステップと、
第1のデータ・パケットの第1の部分の第1のサブ部分を、第1のデータ・パスの第1のサブパスの第1の単一のラインを介して受信し、第1のバッファに保持する、ステップと、
第1のデータ・パケットの第1の部分の第2のサブ部分を、第1のデータ・パスの第1のサブパスの第2の単一のラインを介して受信し、第2のバッファに保持する、ステップと、
第2のデータ・パケットの第1の部分の第1のサブ部分を、第2のデータ・パスの第1のサブパスの第1の単一のラインを介して受信し、第3のバッファに保持する、ステップと、
第2のデータ・パケットの第1の部分の第2のサブ部分を、第2のデータ・パスの第1のサブパスの第2の単一のラインを介して受信し、第4のバッファに保持する、ステップと、
メモリへの同時の転送のために第1のデータ・パケットの第1と第2のサブ部分を選択するステップと、
第1のデータ・パケットの第1と第2のサブ部分を第1と第2のバッファからメモリへ同時に転送するステップと、
次に、メモリへの同時の転送のために第2のデータ・パケットの第1と第2のサブ部分を選択するステップと、
第2のデータ・パケットの第1と第2のサブ部分を第3と第4のバッファからメモリへ同時に転送するステップと、
を含む方法。 - 次に、データ・パケットの第1の部分と第2の部分をメモリからyビット幅データ・パスを介して転送するステップと、
第2のデータ・サブパス・コントローラでデータ・パケットの第2の部分をyビット幅データ・パスを介して受信すると同時に、第1のデータ・サブパス・コントローラでデータ・パケットの第1の部分をyビット幅データ・パスを介して受信するステップと、
第1のmビット幅データ・パスに連結されている第1のインタフェースへ第1のmビット幅データ・パスにデータ・パケットの第1の部分を送信するステップと、
第2のmビット幅データ・パスに連結されている第1のインタフェースへ第2のmビット幅データ・パスにデータ・パケットの第2の部分を送信するステップと、
第1のインタフェースでデータ・パケットの第1と第2の部分を結合するステップと、
第1のインタフェースからデータ・パケットを送信するステップと、
をさらに含む請求項9に記載の方法。 - mビット幅データ・パス上にデータ・パケットのmビットを一度に送信するステップと、
mビット幅データ・パスに連結されたp個のnビット幅データ・パスを介してmビットの別個のnビット部分をルーティングするステップと、
各nビット幅データ・パスでxビットをバッファするステップと、そして
p個のnビット幅データ・パスからyビットを同時に転送するステップと
をさらに含み、
nで除したmはpに等しく、xはnの倍数であり、yはpのx倍である、
ことを特徴とする請求項9に記載の方法。 - mビット幅データ・パス上にデータ・パケットのmビットを送信するステップは、nビット幅サブパス上にデータ・パケットのnビットを同時に送信するステップから成る、
ことを特徴とする請求項11に記載の方法。 - p個のnビット幅データ・パスからのyビットを同時に送信するステップは、p個のnビット幅サブパスからのyビットを選択し、連続していないメモリ位置へ同時に送信するステップから成る、
ことを特徴とする請求項11に記載の方法。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US5740297P | 1997-08-29 | 1997-08-29 | |
US60/057,402 | 1997-08-29 | ||
US09/016,017 US6295299B1 (en) | 1997-08-29 | 1998-01-30 | Data path architecture for a LAN switch |
US09/016,017 | 1998-01-30 | ||
PCT/US1998/017974 WO1999011036A1 (en) | 1997-08-29 | 1998-08-28 | Data path architecture for a lan switch |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001514464A JP2001514464A (ja) | 2001-09-11 |
JP4435974B2 true JP4435974B2 (ja) | 2010-03-24 |
Family
ID=26688064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000508180A Expired - Fee Related JP4435974B2 (ja) | 1997-08-29 | 1998-08-28 | Lan交換用データ・パス・アーキテクチャ |
Country Status (6)
Country | Link |
---|---|
US (2) | US6295299B1 (ja) |
EP (1) | EP1016247B1 (ja) |
JP (1) | JP4435974B2 (ja) |
AU (1) | AU9211398A (ja) |
DE (1) | DE69834823T2 (ja) |
WO (1) | WO1999011036A1 (ja) |
Families Citing this family (91)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6665285B1 (en) * | 1997-10-14 | 2003-12-16 | Alvarion Israel (2003) Ltd. | Ethernet switch in a terminal for a wireless metropolitan area network |
US6590901B1 (en) * | 1998-04-01 | 2003-07-08 | Mosaid Technologies, Inc. | Method and apparatus for providing a packet buffer random access memory |
US7100020B1 (en) * | 1998-05-08 | 2006-08-29 | Freescale Semiconductor, Inc. | Digital communications processor |
JP3141850B2 (ja) * | 1998-07-10 | 2001-03-07 | 日本電気株式会社 | 時分割スイッチング装置および時分割スイッチング方法、並びに記録媒体 |
US6266705B1 (en) * | 1998-09-29 | 2001-07-24 | Cisco Systems, Inc. | Look up mechanism and associated hash table for a network switch |
US6226332B1 (en) * | 1998-11-13 | 2001-05-01 | Broadcom Corporation | Multi-pair transceiver decoder system with low computation slicer |
US7031324B1 (en) * | 1999-03-22 | 2006-04-18 | Cisco Technology, Inc. | Local area network/wide area network switch |
US6567379B1 (en) * | 1999-06-09 | 2003-05-20 | Cisco Technology, Inc. | Traffic monitor using leaky bucket with variable fill |
US6697873B1 (en) * | 1999-12-20 | 2004-02-24 | Zarlink Semiconductor V.N., Inc. | High speed MAC address search engine |
US6757742B1 (en) * | 2000-05-25 | 2004-06-29 | Advanced Micro Devices, Inc. | Computer-based system for validating hash-based table lookup schemes in a network switch |
DE60143600D1 (de) * | 2000-06-09 | 2011-01-20 | Broadcom Corp | Flexibler Protokoll-header für Netzwerk-switch |
WO2002008870A2 (en) * | 2000-07-26 | 2002-01-31 | David Dickenson | Distributive access controller |
US7373425B2 (en) * | 2000-08-22 | 2008-05-13 | Conexant Systems, Inc. | High-speed MAC address search engine |
JP3897994B2 (ja) * | 2001-05-31 | 2007-03-28 | 富士通株式会社 | スイッチ装置およびデータ転送システム |
US7151774B1 (en) * | 2001-06-13 | 2006-12-19 | Advanced Micro Devices, Inc. | Method and apparatus for trunking links having different transmission rates |
US7142557B2 (en) * | 2001-12-03 | 2006-11-28 | Xilinx, Inc. | Programmable logic device for wireless local area network |
US7362751B2 (en) * | 2001-10-03 | 2008-04-22 | Topside Research, Llc | Variable length switch fabric |
US6914901B1 (en) * | 2001-12-05 | 2005-07-05 | Cisco Technology, Inc. | System and method for communicating using multiple memory banks |
US7584262B1 (en) | 2002-02-11 | 2009-09-01 | Extreme Networks | Method of and system for allocating resources to resource requests based on application of persistence policies |
US7447777B1 (en) | 2002-02-11 | 2008-11-04 | Extreme Networks | Switching system |
US7814204B1 (en) | 2002-02-11 | 2010-10-12 | Extreme Networks, Inc. | Method of and system for analyzing the content of resource requests |
US7000052B2 (en) * | 2003-02-24 | 2006-02-14 | Cisco Technology, Inc. | System and method for configuring and deploying input/output cards in a communications environment |
US7571287B2 (en) | 2003-03-13 | 2009-08-04 | Marvell World Trade Ltd. | Multiport memory architecture, devices and systems including the same, and methods of using the same |
US7272672B1 (en) | 2003-04-01 | 2007-09-18 | Extreme Networks, Inc. | High speed bus with flow control and extended burst enhancements between sender and receiver wherein counter is maintained at sender for free buffer space available |
US7366935B1 (en) | 2003-04-01 | 2008-04-29 | Extreme Networks, Inc. | High speed bus with alignment, re-timing and buffer underflow/overflow detection enhancements |
EP2077648A1 (en) | 2003-04-22 | 2009-07-08 | Agere Systems, Inc. | Method and apparatus for shared multi-bank memory |
US20050021658A1 (en) * | 2003-05-09 | 2005-01-27 | Nicholas Charles Kenneth | Network switch with shared memory |
US7590124B2 (en) * | 2003-09-30 | 2009-09-15 | Intel Corporation | Encapsulation technique |
US8250295B2 (en) | 2004-01-05 | 2012-08-21 | Smart Modular Technologies, Inc. | Multi-rank memory module that emulates a memory module having a different number of ranks |
US7916574B1 (en) | 2004-03-05 | 2011-03-29 | Netlist, Inc. | Circuit providing load isolation and memory domain translation for memory module |
US7289386B2 (en) | 2004-03-05 | 2007-10-30 | Netlist, Inc. | Memory module decoder |
US7613209B1 (en) | 2004-03-30 | 2009-11-03 | Extreme Networks, Inc. | System and method for egress packet marking |
US7539750B1 (en) | 2004-03-30 | 2009-05-26 | Extreme Networks, Inc. | System and method for packet processor status monitoring |
US7649879B2 (en) * | 2004-03-30 | 2010-01-19 | Extreme Networks, Inc. | Pipelined packet processor |
US8161270B1 (en) | 2004-03-30 | 2012-04-17 | Extreme Networks, Inc. | Packet data modification processor |
US7385984B2 (en) * | 2004-03-30 | 2008-06-10 | Extreme Networks, Inc. | Packet processing system architecture and method |
US7580350B1 (en) | 2004-03-30 | 2009-08-25 | Extreme Networks, Inc. | System for deriving packet quality of service indicator |
US7453874B1 (en) | 2004-03-30 | 2008-11-18 | Extreme Networks, Inc. | Method and system for incrementally updating a checksum in a network data packet |
US7304996B1 (en) * | 2004-03-30 | 2007-12-04 | Extreme Networks, Inc. | System and method for assembling a data packet |
US7292591B2 (en) * | 2004-03-30 | 2007-11-06 | Extreme Networks, Inc. | Packet processing system architecture and method |
US7822032B1 (en) | 2004-03-30 | 2010-10-26 | Extreme Networks, Inc. | Data structures for supporting packet data modification operations |
US7463628B2 (en) * | 2004-03-30 | 2008-12-09 | Extreme Networks, Inc. | Packet data modification processor command instruction set |
US7889750B1 (en) | 2004-04-28 | 2011-02-15 | Extreme Networks, Inc. | Method of extending default fixed number of processing cycles in pipelined packet processor architecture |
US8464093B1 (en) | 2004-09-03 | 2013-06-11 | Extreme Networks, Inc. | Memory array error correction |
US20060078125A1 (en) * | 2004-10-08 | 2006-04-13 | Philip Cacayorin | Devices and methods for implementing cryptographic scrambling |
US7606249B1 (en) | 2004-12-21 | 2009-10-20 | Extreme Networks, Inc. | Methods and systems for caching packets to be written to or read from packet memory |
US8560795B2 (en) * | 2005-06-30 | 2013-10-15 | Imec | Memory arrangement for multi-processor systems including a memory queue |
US7843927B1 (en) | 2006-12-22 | 2010-11-30 | Extreme Networks, Inc. | Methods, systems, and computer program products for routing packets at a multi-mode layer 3 packet forwarding device |
US7894451B2 (en) * | 2005-12-30 | 2011-02-22 | Extreme Networks, Inc. | Method of providing virtual router functionality |
US7817633B1 (en) | 2005-12-30 | 2010-10-19 | Extreme Networks, Inc. | Method of providing virtual router functionality through abstracted virtual identifiers |
US7822033B1 (en) * | 2005-12-30 | 2010-10-26 | Extreme Networks, Inc. | MAC address detection device for virtual routers |
US7802296B2 (en) * | 2006-08-23 | 2010-09-21 | Cisco Technology, Inc. | Method and system for identifying and processing secure data frames |
US8004961B1 (en) * | 2006-09-28 | 2011-08-23 | National Semiconductor Corporation | Independently configurable port redirection in a multi-port ethernet physical layer |
US8234425B1 (en) | 2007-06-27 | 2012-07-31 | Marvell International Ltd. | Arbiter module |
US7949817B1 (en) | 2007-07-31 | 2011-05-24 | Marvell International Ltd. | Adaptive bus profiler |
EP2597816B1 (en) | 2007-09-26 | 2019-09-11 | Nicira Inc. | Network operating system for managing and securing networks |
US8131915B1 (en) | 2008-04-11 | 2012-03-06 | Marvell Intentional Ltd. | Modifying or overwriting data stored in flash memory |
US8516185B2 (en) | 2009-07-16 | 2013-08-20 | Netlist, Inc. | System and method utilizing distributed byte-wise buffers on a memory module |
US8154901B1 (en) * | 2008-04-14 | 2012-04-10 | Netlist, Inc. | Circuit providing load isolation and noise reduction |
US8683085B1 (en) | 2008-05-06 | 2014-03-25 | Marvell International Ltd. | USB interface configurable for host or device mode |
US8423710B1 (en) | 2009-03-23 | 2013-04-16 | Marvell International Ltd. | Sequential writes to flash memory |
CA3081255C (en) | 2009-04-01 | 2023-08-22 | Nicira, Inc. | Method and apparatus for implementing and managing virtual switches |
US8213236B1 (en) | 2009-04-21 | 2012-07-03 | Marvell International Ltd. | Flash memory |
US9128632B2 (en) | 2009-07-16 | 2015-09-08 | Netlist, Inc. | Memory module with distributed data buffers and method of operation |
US20110216769A1 (en) * | 2010-03-08 | 2011-09-08 | Brocade Communications Systems, Inc. | Dynamic Path Selection |
US8688922B1 (en) * | 2010-03-11 | 2014-04-01 | Marvell International Ltd | Hardware-supported memory management |
US8331373B2 (en) | 2010-03-15 | 2012-12-11 | Extreme Networks, Inc. | Methods, systems, and computer readable media for automatically selecting between internet protocol switching modes on a per-module basis in a packet forwarding device |
US9525647B2 (en) | 2010-07-06 | 2016-12-20 | Nicira, Inc. | Network control apparatus and method for creating and modifying logical switching elements |
US8964528B2 (en) | 2010-07-06 | 2015-02-24 | Nicira, Inc. | Method and apparatus for robust packet distribution among hierarchical managed switching elements |
US10103939B2 (en) | 2010-07-06 | 2018-10-16 | Nicira, Inc. | Network control apparatus and method for populating logical datapath sets |
US8743888B2 (en) | 2010-07-06 | 2014-06-03 | Nicira, Inc. | Network control apparatus and method |
US9680750B2 (en) | 2010-07-06 | 2017-06-13 | Nicira, Inc. | Use of tunnels to hide network addresses |
US8756394B1 (en) | 2010-07-07 | 2014-06-17 | Marvell International Ltd. | Multi-dimension memory timing tuner |
WO2012061633A2 (en) | 2010-11-03 | 2012-05-10 | Netlist, Inc. | Method and apparatus for optimizing driver load in a memory package |
US8605732B2 (en) | 2011-02-15 | 2013-12-10 | Extreme Networks, Inc. | Method of providing virtual router functionality |
US9043452B2 (en) | 2011-05-04 | 2015-05-26 | Nicira, Inc. | Network control apparatus and method for port isolation |
EP2745208B1 (en) | 2011-08-17 | 2018-11-28 | Nicira, Inc. | Distributed logical l3 routing |
EP3407547B1 (en) | 2011-08-17 | 2020-01-22 | Nicira, Inc. | Hierarchical controller clusters for interconnecting different logical domains |
US9154433B2 (en) | 2011-10-25 | 2015-10-06 | Nicira, Inc. | Physical controller |
EP3515022B1 (en) * | 2011-10-25 | 2022-08-17 | Nicira Inc. | Chassis controllers for converting universal flows |
CN103930882B (zh) | 2011-11-15 | 2017-10-03 | Nicira股份有限公司 | 具有中间盒的网络架构 |
WO2013158920A1 (en) | 2012-04-18 | 2013-10-24 | Nicira, Inc. | Exchange of network state information between forwarding elements |
CN102833591B (zh) * | 2012-08-09 | 2015-08-12 | 中兴通讯股份有限公司 | 交互式网络电视系统中点播服务不中断的方法及装置 |
US9967134B2 (en) | 2015-04-06 | 2018-05-08 | Nicira, Inc. | Reduction of network churn based on differences in input state |
US10204122B2 (en) | 2015-09-30 | 2019-02-12 | Nicira, Inc. | Implementing an interface between tuple and message-driven control entities |
CN106776405A (zh) * | 2015-11-20 | 2017-05-31 | 英业达科技有限公司 | 输入/输出端口切换方法及其电子装置及系统 |
US11019167B2 (en) | 2016-04-29 | 2021-05-25 | Nicira, Inc. | Management of update queues for network controller |
CN107256363B (zh) * | 2017-06-13 | 2020-03-06 | 杭州华澜微电子股份有限公司 | 一种由加解密模块阵列组成的高速加解密装置 |
CN114731294B (zh) * | 2020-01-21 | 2023-07-07 | 华为技术有限公司 | 一种交换网芯片及交换设备 |
US11599649B2 (en) * | 2020-06-29 | 2023-03-07 | Rockwell Automation Technologies, Inc. | Method and apparatus for managing transmission of secure data packets |
US11606346B2 (en) | 2020-06-29 | 2023-03-14 | Rockwell Automation Technologies, Inc. | Method and apparatus for managing reception of secure data packets |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4698802A (en) * | 1986-03-07 | 1987-10-06 | American Telephone And Telegraph Company And At&T Information Systems Inc. | Combined circuit and packet switching system |
US5365519A (en) * | 1991-03-05 | 1994-11-15 | Hitachi, Ltd. | ATM switch1ng system connectable to I/O links having different transmission rates |
ATE86055T1 (de) * | 1987-11-11 | 1993-03-15 | Siemens Ag | Vermittlungsknoten fuer die vermittlung von in datenpaketen uebertragenen datensignalen. |
JPH01177239A (ja) * | 1988-01-06 | 1989-07-13 | Nec Corp | パケット集線装置及びパケット交換機 |
CA2015514C (en) * | 1989-08-22 | 1996-08-06 | Mitsuru Tsuboi | Packet switching system having bus matrix switch |
US5475680A (en) * | 1989-09-15 | 1995-12-12 | Gpt Limited | Asynchronous time division multiplex switching system |
JPH03220836A (ja) * | 1990-01-25 | 1991-09-30 | Nec Corp | 非同期伝送モード交換装置 |
JPH07112181B2 (ja) * | 1991-04-18 | 1995-11-29 | 松下電器産業株式会社 | データ多重化回路 |
US5313624A (en) * | 1991-05-14 | 1994-05-17 | Next Computer, Inc. | DRAM multiplexer |
FI88840C (fi) * | 1991-10-18 | 1993-07-12 | Nokia Oy Ab | Foerfarande foer att utfoera en koppling i ett pao centralminne baserat kopplingsfaelt samt kopplingsfaelt |
EP0544964B1 (en) * | 1991-11-29 | 1997-02-19 | International Business Machines Corporation | Store and forward apparatus and method of maintaining integrity of data during storage |
US5742760A (en) * | 1992-05-12 | 1998-04-21 | Compaq Computer Corporation | Network packet switch using shared memory for repeating and bridging packets at media rate |
JP2655481B2 (ja) * | 1994-04-28 | 1997-09-17 | 日本電気株式会社 | 出力バッファ型atmスイッチにおける優先制御方法 |
US5412646A (en) * | 1994-05-13 | 1995-05-02 | At&T Corp. | Asynchronous transfer mode switch architecture |
US5475679A (en) * | 1994-12-08 | 1995-12-12 | Northern Telecom Limited | Large capacity ATM switch |
JP2856104B2 (ja) * | 1995-04-18 | 1999-02-10 | 日本電気株式会社 | Atmスイッチ |
US5774543A (en) * | 1995-11-13 | 1998-06-30 | Flowers; Calvin | Telephone jack security device |
US5781549A (en) * | 1996-02-23 | 1998-07-14 | Allied Telesyn International Corp. | Method and apparatus for switching data packets in a data network |
US5724358A (en) * | 1996-02-23 | 1998-03-03 | Zeitnet, Inc. | High speed packet-switched digital switch and method |
US5790545A (en) * | 1996-03-14 | 1998-08-04 | Motorola Inc. | Efficient output-request packet switch and method |
-
1998
- 1998-01-30 US US09/016,017 patent/US6295299B1/en not_active Expired - Lifetime
- 1998-08-28 DE DE69834823T patent/DE69834823T2/de not_active Expired - Lifetime
- 1998-08-28 AU AU92113/98A patent/AU9211398A/en not_active Abandoned
- 1998-08-28 JP JP2000508180A patent/JP4435974B2/ja not_active Expired - Fee Related
- 1998-08-28 WO PCT/US1998/017974 patent/WO1999011036A1/en active IP Right Grant
- 1998-08-28 EP EP98944609A patent/EP1016247B1/en not_active Expired - Lifetime
-
2001
- 2001-09-13 US US09/952,274 patent/US7130308B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP1016247B1 (en) | 2006-06-07 |
US7130308B2 (en) | 2006-10-31 |
DE69834823D1 (de) | 2006-07-20 |
EP1016247A4 (en) | 2000-10-04 |
US20020034189A1 (en) | 2002-03-21 |
EP1016247A1 (en) | 2000-07-05 |
JP2001514464A (ja) | 2001-09-11 |
US6295299B1 (en) | 2001-09-25 |
WO1999011036A1 (en) | 1999-03-04 |
AU9211398A (en) | 1999-03-16 |
DE69834823T2 (de) | 2006-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4435974B2 (ja) | Lan交換用データ・パス・アーキテクチャ | |
US6034957A (en) | Sliced comparison engine architecture and method for a LAN switch | |
US6430626B1 (en) | Network switch with a multiple bus structure and a bridge interface for transferring network data between different buses | |
US7227841B2 (en) | Packet input thresholding for resource distribution in a network switch | |
US6260073B1 (en) | Network switch including a switch manager for periodically polling the network ports to determine their status and controlling the flow of data between ports | |
US6098109A (en) | Programmable arbitration system for determining priority of the ports of a network switch | |
EP0804005B1 (en) | A network switch | |
US6621818B1 (en) | Ring configuration for network switches | |
CN1543149B (zh) | 网络环境中的流控制 | |
US8325716B2 (en) | Data path optimization algorithm | |
US7406041B2 (en) | System and method for late-dropping packets in a network switch | |
EP0854615A2 (en) | Multiport polling system for a network switch | |
EP0884872A2 (en) | Network switch with separate cut-through buffer | |
EP0854612A2 (en) | Method and system for performing concurrent read and write cycles in a network switch | |
US6754222B1 (en) | Packet switching apparatus and method in data network | |
EP0854606A2 (en) | Network switch with statistics read accesses | |
US20020118692A1 (en) | Ensuring proper packet ordering in a cut-through and early-forwarding network switch | |
US20020118640A1 (en) | Dynamic selection of lowest latency path in a network switch | |
JP2004015561A (ja) | パケット処理装置 | |
JP2000341301A (ja) | Atmスイッチ及びスケジューリング方法 | |
JP2003508967A (ja) | ネットワーク・プロセッサ及び方法を用いるネットワーク・スイッチ | |
JP2000503828A (ja) | データネットワーク上でデータパケットをスイッチングする方法および装置 | |
US7079538B2 (en) | High-speed router | |
US6859454B1 (en) | Network switch with high-speed serializing/deserializing hazard-free double data rate switching | |
US7120155B2 (en) | Switch having virtual shared memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051116 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051129 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20060228 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20060307 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060526 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061017 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20070117 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20070124 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070306 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070828 |
|
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: 20091225 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130108 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130108 Year of fee payment: 3 |
|
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 |