JP3255113B2 - パケットスイッチシステム、これを含む集積回路、パケットスイッチ制御方法、パケットスイッチ制御プログラム記録媒体 - Google Patents

パケットスイッチシステム、これを含む集積回路、パケットスイッチ制御方法、パケットスイッチ制御プログラム記録媒体

Info

Publication number
JP3255113B2
JP3255113B2 JP18577998A JP18577998A JP3255113B2 JP 3255113 B2 JP3255113 B2 JP 3255113B2 JP 18577998 A JP18577998 A JP 18577998A JP 18577998 A JP18577998 A JP 18577998A JP 3255113 B2 JP3255113 B2 JP 3255113B2
Authority
JP
Japan
Prior art keywords
packet
packet data
bus
pointer
cells
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
JP18577998A
Other languages
English (en)
Other versions
JP2000022724A (ja
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP18577998A priority Critical patent/JP3255113B2/ja
Priority to EP19990112717 priority patent/EP0969631A2/en
Publication of JP2000022724A publication Critical patent/JP2000022724A/ja
Application granted granted Critical
Publication of JP3255113B2 publication Critical patent/JP3255113B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • 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/104Asynchronous transfer mode [ATM] switching fabrics
    • H04L49/105ATM switching elements
    • H04L49/107ATM switching elements using shared medium
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • H04L49/255Control mechanisms for ATM switching fabrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/256Routing or path finding in ATM switching fabrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5679Arbitration or scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5681Buffer or queue management

Landscapes

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

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はパケットスイッチシ
ステム、これを含む集積回路、パケットスイッチ制御方
法、パケットスイッチ制御プログラム記録媒体に関し、
特にルータに代表されるようなパケットスイッチシステ
ムを実現する際の内部のバス構造及びバス制御に関す
る。
【0002】
【従来の技術】従来、スイッチングされるパケットデー
タそのものが通過する経路(バス)と、スイッチング
(ルーティング)を遂行するために必要となる制御系の
情報のための経路(バス)とを、共通のバスで実現する
場合とそうでない場合とがあった。すなわち、比較的性
能要求値が低い系においては共通のバスをこれら二つの
用途に共用し、比較的性能要求値が高い系においては各
々専用のバスが設けられ、これら二つの用途のトラヒッ
クが相互に悪影響を及ぼさないように考慮されていた。
【0003】具体的には、制御用バスとしては3値論理
素子(3ステートバッファ)を用いた一般的なバス(以
下、3値論理バスと呼ぶ)がある。パケットデータバス
としては3値論理素子を用いた一般的なバス又はクロス
ポイント型スイッチといった例がある。
【0004】
【発明が解決しようとする課題】上述したパケットデー
タ専用バスの従来例には以下のような欠点があった。す
なわち、前者の例では、3値論理バスは高速化の限界が
低いこと、あるいはバス制御が複雑であり、バス制御の
ための手続きや制御部のオーバーヘッド部分が大きくな
ってしまうこと、といった問題があった。
【0005】後者の例では、クロスポイントスイッチを
構成するために要する回路規模が大きくなること、ある
いはクロスポイント型スイッチの制御部に求められる機
能や制御の精度を満たす上で実現上の難易度が高い、と
いった問題があった。
【0006】性能やコストの点でボトルネックに触れる
ことなく、1種類又はなるべく少ない種類の基本部品を
組合わせて配置・接続することによって、「大小」任意
の規模、「高低」任意の性能に拡張できる(いわゆるス
ケーラブルな)スイッチシステムであることは、「良い
スイッチ」の条件として重要なポイントとされている。
【0007】共有バッファ型のスイッチ構造を用いて可
変長パケットスイッチを実現する場合、共有メモリ上の
未使用領域の管理あるいは格納されたパケットの管理は
一般にはソフトウェアによって実現されていた。ソフト
ウェア処理であるがゆえにこの機能自体の性能も高くで
きないし、プロセッサ上の他の処理にも悪影響があっ
た。
【0008】ATM(Asynchronous Tr
ansfer Mode)網とIP(Internet
Protocol)網との接点に位置し両網間のイン
タワーキングを遂行するスイッチングノード、あるい
は、ATM網中にありながらそのスイッチングデシジョ
ンはIP網流のルールでコネクションレススイッチング
を遂行するスイッチングノード等も知られている。この
種のスイッチングノードに適するメモリ内データ構造や
メモリ制御方式への需要が高い。
【0009】本発明は上述した従来技術の欠点を解決す
るためになされたものであり、その目的は動作レートを
容易に高速化でき、バスの制御が簡単なパケットスイッ
チシステム、これを含む集積回路、パケットスイッチ制
御方法、パケットスイッチ制御プログラム記録媒体を提
供することである。
【0010】
【課題を解決するための手段】本発明によるパケットス
イッチシステムは、パケットデータの送受信を行う複数
の挿抜モジュールと、前記複数の挿抜モジュールとこれ
ら挿抜モジュールを制御するための制御回路とを接続す
る制御用バスとを含むパケットスイッチシステムであっ
て、前記制御用バスとは別に設けられ前記複数の挿抜モ
ジュールが夫々接続されこれら挿抜モジュールにおいて
授受されるパケットデータを伝達するためのパケットデ
ータバスと、前記複数の挿抜モジュールのうちの1つを
介して前記パケットデータバスに接続され、前記授受す
べきパケットデータを前記パケットデータバスを介して
一時格納するメモリとを含み、前記複数の挿抜モジュー
ルは前記パケットデータバス及び前記メモリを介してパ
ケットデータの授受を行うようにしたことを特徴とす
る。
【0011】本発明による集積回路は、上記パケットス
イッチシステムが1チップに集積化されてなり、このシ
ステムに含まれているパケットデータバスは他のパケッ
トスイッチシステムに含まれているパケットデータバス
と接続され、この接続されたパケットデータバスを介す
ることによって前記他のパケットスイッチシステムとの
間で前記パケットデータを授受するようにしたことを特
徴とする。
【0012】本発明によるパケットスイッチ制御方法
は、パケットデータの送受信を行う複数の挿抜モジュー
ルと、前記複数の挿抜モジュールとこれら挿抜モジュー
ルを制御するための制御回路とを接続する制御用バス
と、前記制御用バスとは別に設けられ前記複数の挿抜モ
ジュールが夫々接続されこれら挿抜モジュールにおいて
授受されるパケットデータを伝達するためのパケットデ
ータバスと、前記複数の挿抜モジュールのうちの1つを
介して前記パケットデータバスに接続され、前記授受す
べきパケットデータを前記パケットデータバスを介して
一時格納するメモリとを含み、前記複数の挿抜モジュー
ルは前記パケットデータバス及び前記メモリを介してパ
ケットデータの授受を行うようにしたパケットスイッチ
システムにおけるパケットスイッチ制御方法であって、
前記授受すべきパケットデータを格納するための領域を
前記メモリに確保する領域確保ステップと、この確保し
た領域へ前記パケットデータを格納する格納ステップ
と、この格納したパケットデータを出力する出力ステッ
プとを含むことを特徴とする。
【0013】本発明による記録媒体は、パケットデータ
の送受信を行う複数の挿抜モジュールと、前記複数の挿
抜モジュールとこれら挿抜モジュールを制御するための
制御回路とを接続する制御用バスと、前記制御用バスと
は別に設けられ前記複数の挿抜モジュールが夫々接続さ
れこれら挿抜モジュールにおいて授受されるパケットデ
ータを伝達するためのパケットデータバスと、前記複数
の挿抜モジュールのうちの1つを介して前記パケットデ
ータバスに接続され、前記授受すべきパケットデータを
前記パケットデータバスを介して一時格納するメモリと
を含み、前記複数の挿抜モジュールは前記パケットデー
タバス及び前記メモリを介してパケットデータの授受を
行うようにしたパケットスイッチシステムにおけるパケ
ットスイッチ制御プログラムを記録した記録媒体であっ
て、前記制御プログラムはコンピュータに、前記授受す
べきパケットデータを格納するための領域を前記メモリ
に確保する領域確保ステップと、この確保した領域へ前
記パケットデータを格納する格納ステップと、この格納
したパケットデータを出力する出力ステップとを実行さ
せることを特徴とする。
【0014】なお、前記パケットデータを最小記憶単位
としての複数のセルに分割して格納する。また、前記メ
モリは、前記複数の挿抜モジュールのうちの1つを介し
て前記パケットデータバスに接続されている。前記複数
のセルはリンクドリスト構造を有し、前記複数のセルに
分割して格納された前記パケットデータが該構造によっ
て結合され、前記複数のセルのうち有効なデータが格納
されていない空きセルが該構造によって結合される。
【0015】本発明によるパケットスイッチシステムの
特徴は、以下の通りである。すなわち、制御用のバスと
は別に、パケットデータ専用の内部バスとしてリング構
造の超高速バスを設け、ポートインタフェース部が挿抜
モジュール(Add Drop Module:AD
M)を介してパケットデータをリングバスとの間で受け
渡しする構造としていることである。また、共有パケッ
トメモリもリングバスの一つのメンバーとして置いてい
ることも本システムの特徴である。
【0016】さらに、共有パケットメモリの内部データ
構造として、セルと呼ぶ固定長のメモリ領域をパケット
データ格納の最小単位とし、このセルを指すポインタ
と、次のセルを指すポインタ構造体を指すポインタとか
らなるセルポインタ構造体をリンクドリスト構造で連結
してパケットを表現している。その一方で、未使用のセ
ルに対応するセルポインタは空きセルキューを形成す
る。また、上述したパケットを指すポインタと、自分と
同種類のポインタ構造体を指すポインタとからなるパケ
ットポインタ構造体により、空きパケットキューとパケ
ットとの管理を行う。ここまでのメモリ管理/ポインタ
管理は、ハードウェアが自律的に行うこととし、これよ
り上のレベル(例えば、ポート毎/優先クラス毎の等)
のパケットキューイングは中央演算装置(CPU;Ce
ntral ProcessingUnit)によるソ
フトウェア処理としている。
【0017】なお、比較的小さい規模/比較的低い性能
を有する単位スイッチであっても、相互に連結すること
により、その規模や性能を拡張することを可能とする連
結拡張用のポートを設けていることも特徴である。
【0018】要するに本発明では、シングルチップ上
に、CPU、ポートインタフェース、パケットメモリ制
御インタフェース等を集積化したパケットスイッチシス
テム(ルータ)を構成するのに適するアーキテクチャを
提供しているのである。
【0019】
【発明の実施の形態】次に、本発明の実施の一形態につ
いて図面を参照して説明する。以下の説明において参照
する各図では、他の図と同等部分は同一符号が付されて
いる。
【0020】図1は本発明によるパケットスイッチシス
テムの実施の一形態を示すブロック図である。本実施形
態のパケットスイッチシステムでは、任意数のポートP
−1〜P−N(本例ではN=3)のポートインタフェー
スに対応した挿抜モジュール(Add Drop Mo
dule;以下、ADM)2−1〜2−N(本例ではN
=3)及びパケットストアメモリ部6に対応したADM
2−0を、リングバス1上にパイプライン状に接続し配
置している。同時に、ADM2−0〜2−3は制御用バ
ス4を介して中央制御部5にも接続され、この中央制御
部5によって後述するように制御される。
【0021】ここで、中央制御部5は、中央演算ユニッ
ト(CPU)50と、メモリ51と、キャッシュメモリ
(Cache)52と、バスブリッジ53とを含んで構
成されている。そして、中央制御部5は、いわゆるソフ
トウェアの手法を用いて定義されたデータ構造と処理ア
ルゴリズムとによって後述する制御機能を実現すること
ができる。
【0022】また、ADM2−0にはパケットストアメ
モリ部6が接続されている。このパケットストアメモリ
部6内の共有パケットストアメモリ部7においては、固
定長(例えば64バイト)を最小単位(セル)として取
扱う。パケットストアメモリ部6には、共有パケットス
トアメモリ部7に記憶することのできるパケットを示す
空きパケットキュー18と、共有パケットストアメモリ
部7における空き状態のセルを示す空きセルキュー17
とを含んで構成されている。なお、これら空きパケット
キュー18にはパケットポインタ構造体が属し、空きセ
ルキュー17には後述するセルポインタ構造体が属する
ものとする。
【0023】空きパケットキュー18の先頭位置はキュ
ー先頭ポインタ12によって指され、その末尾位置はキ
ュー末尾ポインタ13によって指される。そして、空き
パケットキュー18は、先頭ポインタ12によって指さ
れるパケットポインタ構造体から始まり、末尾ポインタ
13によって指されるパケットポインタ構造体で終わる
リンクドリストデータ構造になっているものとする。
【0024】パケットポインタ構造体のうち、実際に記
憶されているパケットに対応するものは図中の論理領域
19内に存在するものとする。そして、この論理領域1
9に対応して、記憶されているパケットデータを構成す
るメモリ部7の各エントリを指す論理パケット16が存
在するものとする。つまり、論理領域19内に存在する
パケットポインタ構造体191は論理パケット16内の
セルポインタ構造体群161を指し、このセルポインタ
構造体群161を構成する各セルポインタ構造体はメモ
リ部7の対応するエントリを指すことになる。
【0025】また、空きセルキュー17の先頭位置は空
きセルキュー先頭ポインタ9によって指され、その末尾
位置は空きセルキュー末尾ポインタ10によって指され
る。そして、空きセルキュー17は、先頭ポインタ9に
よって指されるセルポインタ構造体から始まり、末尾ポ
インタ10によって指されるセルポインタ構造体で終わ
るリンクドリストデータ構造になっているものとする。
【0026】なお、これら各ポインタ9,10,12及
び13はレジスタを用いて構成することができる。
【0027】ここで、図2をも参照して説明する。上述
したように、パケットストアメモリ部6内の共有パケッ
トストアメモリ部7においては、固定長のセルを記憶単
位としている。そして、このセルの数と同数のセルポイ
ンタ構造体8を定義する。各セルポインタ構造体8は少
なくともセルを指すポインタ8−1と、自らと同種の別
のセルポインタ構造体を指すポインタ8−2とを要素と
して有する。そして、セルを指すポインタ8−1によっ
て全てのセルと全てのセルポインタ構造体とが1対1の
対応関係で結び付けられている。
【0028】また、空きセルキュー先頭ポインタ9によ
って指されるセルポインタ構造体から始まり、空きセル
キュー末尾ポインタ10によって指されるセルポインタ
構造体で終わるリンクドリストデータ構造がある。すな
わち、この空きセルキュー17に属するセルポインタ構
造体が指すセルは未使用の状態にある。この空きセルキ
ューの先頭からセルポインタ構造体を順次必要数だけ取
出し、空きセルキューとは独立したリンクドリストデー
タ構造を構成しこれに対応する各々のセル上にここに収
容可能なサイズに分割されたパケットデータを置くこと
により、メモリ部7上にパケットをストアできることに
なる。
【0029】一方で、この系で取扱うパケットの最大数
と同数のパケットポインタ構造体11と呼ばれるデータ
構造体を設ける。パケットポインタ構造体は、少なくと
も、上述したメモリ部7上に置かれるパケットの先頭に
相当するセルポインタ構造体を指すポインタであるパケ
ット先頭セルポインタ11−1と、自分と同形式のパケ
ットポインタ構造体を指すポインタ11−2とを含んで
いる。
【0030】そして、空きセルキューと同様に、キュー
先頭ポインタ12とキュー末尾ポインタ13とによって
先頭/末尾が定義され、複数のパケットポインタ構造体
がリンクドリスト構造で連結された空きパケットキュー
18が形成される。パケットポインタ構造体がこの空き
パケットキュー18に属するときには、パケットポイン
タ構造体の要素のうちパケットポインタは何も指してお
らず(Null;図中では“n”と表示されている)、
空きパケットキューからパケットポインタ構造体が取出
された時にはパケットポインタは特定のパケットの先頭
のセルポインタを指している。
【0031】ところで、中央制御部5の内部には(例え
ばソフトウェアによって定義された)任意数の論理パケ
ットキュー14があり、その内部はパケットキューポイ
ンタ構造体15を連結したリンクドリスト構造になって
いる。パケットキューポインタ構造体15は少なくと
も、パケットポインタ構造体11を指すポインタ15−
1と、自分と同形式のパケットキューポインタを指すポ
インタ15−2とからなる。
【0032】かかる構成からなる本システムの基本的な
動作例について、図2から図13を順次参照して説明す
る。
【0033】まず図2において、中央制御部5がソフト
ウェアによって実現しているプロセス中に存在している
論理パケットキュー14中にあるパケットキューポイン
タ構造体15から指される論理パケット16がパケット
ストアメモリ部6上に存在している。実際には、パケッ
トキューポインタ構造体15はパケットポインタ構造体
191を指し、このパケットポインタ構造体191がセ
ルポインタ構造体群161を指している。そして、この
セルポインタ構造体群161を構成する各セルポインタ
構造体が、夫々対応するパケットの実体、すなわちメモ
リ部7の対応するエントリを指している。
【0034】なお論理パケットキュー14は、リングバ
ス1上のADM2−1〜2−3の夫々に対応して存在す
るものとする。つまり、3つの論理パケットキュー14
を有し、各論理パケットキュー14は対応するADMが
自ポートから送出したいパケットを、送出要求待ち状態
で管理しているのである。さらに、送出要求に2段階の
優先順位を設けておき、その優先順位毎に夫々論理パケ
ットキューを用意しても良い。この場合には、3つのA
DM2−1〜2−3に対応して夫々2段階の論理パケッ
トキュー14を用意することとなり、論理パケットキュ
ー14の個数は6となる。
【0035】次に、図3において、空きパケットキュー
18の先頭ポインタ12の内容をトークンTの一部であ
るパケットポインタとしてコピーしADM2−0からリ
ングバス1に送出する。それと同時に、空きパケットキ
ュー先頭ポインタ12には、先程まで空きパケットキュ
ー18の先頭に位置していたパケットポインタ構造体が
指していた次のパケットポインタ構造体を指すポインタ
の値がコピーされる。これは、空きパケットキュー18
の先頭に位置していたパケットポインタ構造体が空きパ
ケットキュー18に属さなくなり、トークンT中のパケ
ットポインタから指される一個の独立したパケットポイ
ンタ構造体192となり(矢印Y3)、パケットを受取
るための待機状態にあることを意味する。
【0036】すなわちこの状態では、待機中のパケット
ポインタ構造体192はいずれのセルポインタ構造体も
指しておらず、その内容は“Null”である。したが
って、対応するセルポインタ構造体群162は存在しな
い。つまり、このトークンTがリングバス1に送出され
て各ADMを巡回することによって、各ADMによるパ
ケットの送出要求を受付けることになる。
【0037】図4は、パケットポインタを含むトークン
Tが、到着パケットを持っていない1番ポートP−1に
対応するADM2−1を通過していく様子を示してい
る。同じく図5は、パケットポインタを含むトークンT
が、到着パケットを持っていない2番ポートP−2に対
応するADM2−2を通過していく様子を示している。
いずれの場合も、トークンT中のパケットポインタはパ
ケットポインタ構造体192を指したままである。
【0038】図6においては、到着パケットを保持して
いた3番ポートP−3に対応するADM2−3によって
トークンTが獲得される。この後、図7に示されている
状態においては、以下の(1)の動作と(2)の動作と
が並行して行われる。
【0039】(1)3番ポートP−3に到着していたパ
ケットPT2はトークンTから得たパケットポインタと
ともにADM2−3からリングバスに乗せられ、ADM
2−0にてドロップされる(矢印Y70)。ADM2−
0にパケットが到達すると、このパケットを格納すべく
待機していたパケットポインタ構造体192のパケット
先頭セルポインタには空きセルキュー先頭ポインタ9の
値がコピーされる。
【0040】そして、到着したパケットを全て格納する
ために必要となるサイズに相当する個数のセルポインタ
構造体が、空きセルキューの先頭にあるセルポインタ構
造体に引き続いて空きセルキュー17から取出される
(矢印Y72)。この場合、セルポインタ構造体は1つ
取出され、格納するのに足りなければまた1つ取出され
るというように、到着したパケットを格納するために、
空きセルキュー17から1つずつ順次取出されることに
なる。それゆえに、到着したパケットを全て格納するた
めに必要となるサイズに相当する個数のセルポインタ構
造体を全て取出し終えた状態では、空きセルキューから
取出されたセルポインタ構造体のうち最後尾のものが指
していた次のセルポインタ構造体へのポインタ値が空き
セルキュー先頭ポインタの9の新しい値としてコピーさ
れることになる(矢印Y71)。
【0041】(2)3番ポートP−3への到着パケット
がパケットストアメモリ部6に転送されたことを受け
て、ADM2−3は中央制御部5に対して処理リクエス
トを送出する(矢印Y73)。この処理リクエストは、
例えば割込みによって行う。
【0042】このリクエストをトリガとして、中央制御
部5は3番ポートP−3に到着したパケットの情報を得
るために、制御バス4を経由してADM2−3にリード
アクセスを行う。このリードアクセスによって、この共
有パケットストアメモリ上に保持されるパケットへのポ
インタ、パケットの内容のうち必要なフィールド(代表
的なのはパケットヘッダ)及びパケットのサイズ等が読
取られる。
【0043】図8を参照すると、このパケットはパケッ
トポインタ構造体192及びそれが指しているセルポイ
ンタ構造体群162として、パケットストアメモリ
の共有パケットストアメモリ部7に保持されている。そ
の一方でパケットの識別及びルーティングのための処理
が中央制御部5で行われる。すなわち、パケットのヘッ
ダ部に含まれている「送信元アドレス」や「宛先アドレ
ス」等の情報フィールドを抽出し、そのパケットをどう
処理し、どこに転送すべきかを判断し決定する。このよ
うにパケットの識別が行われる。
【0044】さらに識別されたパケットは、予めプログ
ラムによって定義されたアルゴリズムに従って処理され
る。具体的には、パケットのデータ内容の書換えや定義
テーブルを参照して所定の宛先ポートへの転送等、すな
わちルーティング処理が行われる。
【0045】中央制御部5においては、これらパケット
識別及びルーティング処理は、ソフトウェア又はファー
ムウェアによって行われることになる。
【0046】図9を参照すると、中央制御部5によって
このパケットに対するルーティングディシジョンが下さ
れ、破線部分から実線部分に示されているように、中央
制御部5の中に存在する論理パケットキュー14にパケ
ットキューポインタ構造体15が追加される。つまり、
論理パケットキュー14内のパケットキューポインタ構
造体15の一方はパケットポインタ構造体191を指
し、このパケットポインタ構造体191がセルポインタ
構造体群161を指すことになる。またパケットキュー
ポインタ構造体15の他方はパケットポインタ構造体1
92を指し、このパケットポインタ構造体192がセル
ポインタ構造体群162を指すことになる。
【0047】次に、図10を参照すると、中央制御部5
の中に存在する、ある論理パケットキュー14から先頭
のパケットキューポインタ構造体が取出される。そし
て、制御バス4を介して、ADM2−0に対して、パケ
ットストアメモリ部6の共有パケットストアメモリ部7
のどのパケットを、どのポートに出力するかを指示す
る。これが図中の矢印Y102で示されている。
【0048】この結果、論理パケットキュー14の先頭
ポインタは、論理パケットキュー14に追加された(矢
印Y101)パケットキューポインタ構造体15を新た
に指すことになる。
【0049】図11を参照すると、上述した指示に従っ
て、ADM2−0は指定されたパケットを共有パケット
ストアメモリ部6から取出している(矢印Y111)。
そして、ADM2−0はパケットPT1の先頭に出力ポ
ートを指定するルーティングタグを付加してリングバス
1に出力している(矢印Y112)。この時、使用済み
のセルポインタ構造体及びパケットポインタ構造体は、
夫々の空きキュー17、18の末尾に返却される。
【0050】図12を参照すると、出力ポートを2番ポ
ートと定義されたパケットPT1がADM2−1を通過
している(矢印Y121、矢印Y122)。続いて図1
3を参照すると、パケットPT1がADM2−2でドロ
ップされ(矢印Y131)、ルーティングタグが取去ら
れる。そして、このパケットは、パケット2番ポートP
−2に出力されている。
【0051】要するに本システムでは、大別すると3つ
の動作を行っている。すなわち、ポートに入力されるパ
ケットを格納するための記憶領域の確保、この確保した
領域へのパケットの格納、格納したパケットのポートへ
の出力、という3つの動作を行っているのである。そし
て、これら3つの動作のいずれかを、トークンを獲得し
たADMが行うのである。
【0052】図2から図13までを参照して説明したよ
うに、本システムでは、制御用のバスとは別にパケット
データ専用のリング形状バスを設けている。これによ
り、制御系とデータ系とが互いに悪影響を及ぼすことな
くデータの帯域を十分に取ることができるという効果が
ある。
【0053】また本システムでは、パイプライン方式の
バスを用いている。すなわち、一方通行でリング形状で
あり、入力をラッチしてリタイミングを行って出力する
バスを用いている。このため、一般的な3値論理バスや
クロスポイント型のスイッチに比べて以下のような効果
がある。
【0054】すなわち、3値論理バスは動作レートの高
速化が困難であるのに対し、パイプライン方式のバスは
動作レートを容易に高速化できるという特徴がある。ま
た、クロスポイントスイッチでは回路規模がポート数の
2乗に比例して増加するのに対し、パイプライン方式の
バスは回路規模がポート数に対してリニアに増加する程
度で済むという特徴がある。さらに、3値論理バス、ク
ロスポイントスイッチともに制御が複雑になるのに対
し、パイプライン方式のバスはバスの制御が簡単になる
という特徴がある。そして、クロスポイントスイッチは
高精度な設計が求められるのに対し、パイプライン方式
のバスは設計に求められる精度が比較的低いという特徴
がある。
【0055】特に本例のシステムは、共有メモリ方式で
ありながらメモリ管理の多くをハードウェアで行うた
め、処理の高速化に適するという特徴もある。すなわち
本例では、パケットストアメモリ部6におけるパケット
格納領域の確保は、ADM2−0の動作によって行われ
る。また、その確保したパケット格納領域に対するパケ
ットの書込みは、ADM2−3及びADM2−0の動作
によって行われる。さらに、その書込まれたパケットの
読出しは、ADM2−0の他、中央制御機構5の動作に
よって行われる。
【0056】つまり、パケットを書込むという動作はメ
モリに対して行うので、その動作が得意なハードウェア
に担当させている。一方、メモリからパケットを読出し
て正しいポートに出力するにはパケットの内容を解釈す
る必要があるので、その処理が得意なソフトウェア又は
ファームウェアに担当させている。このように、ハード
ウェア、ソフトウェア又はファームウェアに、夫々得意
な動作や処理を担当させているので、システム設計の最
適化を図ることができ、システム全体として高速動作を
実現できるのである。
【0057】ところで本例では、図14に示されている
ように、固定サイズ(例えば、64バイト)のセルを共
有パケットストアメモリ部7の最小記憶単位としてい
る。すなわち、図中のパケット140が固定サイズのセ
ル14a〜14hに分解され、各セルがメモリ部7に記
憶される。このとき、セル14hには、有効なデータが
存在しない空白部分(ハッチング部分)が存在してい
る。なお、パケット140はヘッダ部140Hとペイロ
ード部140Pとから構成されている。
【0058】ここで、固定サイズが64バイトよりも大
である場合、例えば128バイトである場合には、有効
なデータが存在しない上記の空白部分が大きくなる可能
性が高い。しかしながら、本例のように、固定サイズを
64バイトとすれば、固定長パケットを基本単位とする
ATMを処理する上で、上記の空白部分が小さくなり、
効率が良い。すなわち、ATMセルは53バイトである
ため、固定サイズを64バイトとすれば、空白部分は1
1バイトで済むので効率が良い。この固定サイズをAT
Mセルと同一の53バイトとすれば、ATMを処理する
上で最も効率が良い。
【0059】また、ATMよりもネットワーク階層構造
の上で上位に位置するIPレイヤのパケットを、セルの
サイズの上限(64バイト)に分断して共有メモリに格
納するのではなく、例えば48バイト単位に分断して格
納(48バイトはATMセルのペイロードのサイズ)す
ることによって、ATMセルとIPパケットとの異なる
パケットフォーマットの間で双方向に変換する機能を実
装するのに便利である。
【0060】次に、リングネットワーク内の各ADMの
内部構成例について図15を参照して説明する。同図に
示されているように、ADM2−Nは、制御バス4との
間の入出力を制御する制御用バスI/Oブロック21
と、リングバス1から入力されるパケットを一旦保持す
るレジスタ22と、リングバス1に出力すべきパケット
を一旦保持するレジスタ23と、制御バス4及びリング
バス1に対するパケットのスイッチング制御を行う制御
バス/リングバススイッチングブロック26と、このブ
ロック26の出力及びレジスタ22の保持内容を入力と
しこれらのスイッチング制御を行うパケットプロセシン
グブロック24と、パケットプロセシングブロック24
の2つの出力を択一的にレジスタ23に出力するセレク
タ25とを含んで構成されている。
【0061】なお、図中のポートインタフェース回路部
29はポートに対するパケットの入出力を制御する回路
である。このポートインタフェース回路部29と制御バ
ス/リングバススイッチングブロック26との間には受
信バッファ27及び送信バッファ28が設けられてい
る。
【0062】かかる構成において、パケットの送信動作
は以下のように行われる。まず、自ポートからリングバ
ス1に転送したいパケットが無い場合には、フリートー
クンがリングバス1の上流から送られてきても、これを
リングバスの下流に渡す。一方、自ポートからリングバ
ス1に転送したいパケットがある場合には、フリートー
クンがリングバスの上流から送られてきたら、これをド
ロップし、自ポートからリングバス1にパケットを送信
する。
【0063】また、受信動作は以下のように行われる。
まず、自ADMのみを宛先とするパケットがリングバス
1の上流から流れてきたら、これをドロップし、リング
バス下流には転送しない。複数の宛先を持つパケット
で、自ADMもその宛先に含まれていたら、これをドロ
ップし、かつ、リングバス1の下流にも転送する。
【0064】次に、パケットストアメモリ部6の具体的
構成について図16を参照して説明する。同図におい
て、パケットストアメモリ部6は、パケットポインタ構
造体管理部18と、セルポインタ構造体管理部17と、
共有パケットストアメモリ部7と、これら各部を制御す
る共通制御部60とを含んで構成されている。
【0065】パケットポインタ構造体管理部18は、パ
ケットポインタ構造体及び空きポインタのキューを記憶
するメモリ180と、このメモリ180に記憶されてい
る空きポインタのキューの先頭を示すキュー先頭ポイン
タ(Head of Queue;HoQ)12と、そ
の空きポインタのキューの末尾を示すキュー末尾ポイン
タ(End of Queue;EoQ)13と、メモ
リ180に格納すべきデータを与えるレジスタ181
と、メモリ180から読出されたデータを格納するレジ
スタ182と、セレクタ183〜187とを含んで構成
されている。
【0066】レジスタ181及び182は、次のセルポ
インタを指すNEXTフィールドと、パケットの先頭を
指すHoP(Head of Packet)フィール
ドとを有している。
【0067】ポインタ12及び13は、レジスタによっ
て実現されるものとする。ポインタ12の入力側にはセ
レクタ183が設けられており、ポインタ12自身の出
力とレジスタ182のNEXTフィールドの値とが択一
的にポインタ12に入力される。ポインタ13の入力側
にはセレクタ184が設けられており、ポインタ13自
身の出力とCPU50から送られてくるパケットポイン
タの値とが択一的にポインタ13に入力される。
【0068】セルポインタ構造体管理部17は、セルポ
インタ構造体及び空きポインタのキューを記憶するメモ
リ170と、このメモリ170に記憶されている空きポ
インタのキューの先頭を示すキュー先頭ポインタ(Ho
Q)9と、その空きポインタのキューの末尾を示すキュ
ー末尾ポインタ(EoQ)10と、メモリ170に格納
すべきデータを与えるレジスタ171と、メモリ170
から読出されたデータを格納するレジスタ172と、パ
ケットポインタ構造体管理部18から出力されるデータ
をアドレスとしてメモリ170に与えるためのレジスタ
173と、セレクタ174〜178とを含んで構成され
ている。
【0069】レジスタ171及び173は、次のセルポ
インタを指すNEXTフィールドと、セルを指すセルポ
インタ(Cell)とを有している。
【0070】ポインタ9及び10は、レジスタによって
実現されるものとする。ポインタ9の入力側にはセレク
タ176が設けられており、ポインタ9自身の出力とレ
ジスタ172のNEXTフィールドの値とが択一的にポ
インタ9に入力される。ポインタ10の入力側にはセレ
クタ175が設けられており、ポインタ10自身の出力
とテンポラリレジスタ173の保持値とが択一的にポイ
ンタ10に入力される。
【0071】共有パケットストアメモリ部7は、セルを
記憶するためのメモリ70と、このメモリ70に対する
アクセスを制御する共有パケットストアメモリアクセス
制御部71と、このメモリ70にアドレスを与えるレジ
スタ72とを含んで構成されている。
【0072】パケットポインタ構造体管理部18内のメ
モリ180、セルポインタ構造体管理部17内のメモリ
170と、共有パケットストアメモリ部7内のメモリ7
0は夫々、データ入力端子iDATA、データ出力端子
oDATA、アドレス入力端子iADDR及び書込み状
態に制御するための書込み制御信号の入力端子iWRを
有している。この各メモリを書込み状態又は読出し状態
に制御するのが共通制御部60である。この共通制御部
60は、上述した各部のセレクタの選択動作の制御をも
行う。
【0073】以下、図17〜図19をも参照し、共通制
御部60による制御を中心に、パケットストアメモリ部
6の動作について説明する。
【0074】まず、図17にはパケットを受信するため
の受入れ準備動作が示されている。同図を参照すると、
パケットを受信するための受入れ準備動作は以下のよう
に行われる。最初に、キュー先頭ポインタ12が指して
いるメモリ180のエントリを読出す。次に、このポイ
ンタ12の値を新たなトークンに乗せる。最後に、読出
したメモリ180のエントリのNEXTフィールドの値
をキュー先頭ポインタ12に上書き(オーバライト)す
る。
【0075】次に、図18にはパケットを受信しストア
する動作が示されている。同図を参照すると、パケット
を受信しストアする動作は、以下のように行われる。
【0076】最初に、パケットポインタ構造体管理部1
8において、受信ポートよりパケットストアメモリ部6
に転送されてきたトークンの中のパケットポインタが指
すメモリ180のエントリのHoP(Head of
Packet)フィールドにセルポインタ構造体管理部
17のポインタ(HoQ)9の値を上書きする。
【0077】次に、セルポインタ構造体管理部17のポ
インタ9が指しているメモリ170のエントリを読出
し、レジスタ172に保持する。この保持した値のう
ち、セルポインタ(Cell)の値を共有パケットスト
アメモリ部7に渡す。
【0078】すると、共有パケットストアメモリ部7
は、受取ったセルポインタの値と共有パケットストアメ
モリアクセス制御部71から与えられる下位アドレス
(LoAddr)の値とを結合(Concatenat
e)して書込みアドレスを発生し、1ワード書込む。受
信した全てのパケットの書込みが完了していない場合
は、現在書込み中のセルが満杯かどうかが判断される。
満杯でなければ、下位アドレスの値を1インクリメント
した後、上述と同様にセルポインタの値と結合して書込
みアドレスを発生し、1ワード書込む。このように、書
込みアドレスを順次発生して1ワードずつの書込みが行
われる。
【0079】全てのパケットの書込みが完了していない
場合で、かつ、現在書込み中のセルが満杯であれば、セ
ルポインタ構造体管理部17において、NEXTフィー
ルドの値をポインタ9に上書きする。この後、再度セル
ポインタ構造体管理部17のポインタ9が指しているメ
モリ部170のエントリを読出し、レジスタ172に保
持し、この保持した値のうちセルポインタの値を共有パ
ケットストアメモリ部7に渡す。以下、同様の動作が繰
返される。
【0080】共有パケットストアメモリ部7において受
信した全てのパケットの書込みが完了した場合は、セル
ポインタ構造体管理部17において、今アクセスしてい
るメモリ170のエントリのNEXTフィールドの値を
ポインタ9に退避し、かつ、“Null”をNEXTフ
ィールドに上書きする。これにより、パケットを受信し
ストアする動作は完了となる。
【0081】さらに、図19にはストアされているパケ
ットを取出し、共有パケットストアメモリ部7から抹消
する動作が示されている。同図を参照すると、ストアさ
れているパケットを取出し、共有パケットストアメモリ
部7から抹消する動作は、以下のように行われる。
【0082】まず、パケットポインタ構造体管理部18
において、CPU50から取出すべきパケットを指すポ
インタ値をレジスタ181に受取る。次に、このポイン
タ値が指しているメモリ180のエントリを読出し、レ
ジスタ182に保持する。そして、このレジスタ182
に保持したエントリの中のHoPフィールドの値を、セ
ルポインタ構造体管理部17に渡す。
【0083】セルポインタ構造体管理部17では、パケ
ットポインタ構造体管理部18から受取った値をテンポ
ラリレジスタ(Reg)173にコピーする。このテン
ポラリレジスタ173が指しているメモリ170のエン
トリを読出し、ポインタ10が指しているメモリ170
のエントリのNEXTフィールドに上書きする。さら
に、ポインタ10にテンポラリレジスタ173の値を上
書きする。そして、上記の読出したメモリ170のエン
トリのNEXTフィールドの値をレジスタ173に上書
きし、そのエントリのセルポインタの値を共有パケット
ストアメモリ部7に渡す。
【0084】すると、共有パケットストアメモリ部7
は、受取ったセルポインタの値と共有パケットストアメ
モリアクセス制御部71から与えられる下位アドレスの
値とを結合して読出しアドレスを発生し、1ワード読出
す。このセルに格納されているワードを全て読出し終え
ていない場合は、下位アドレスの値を1インクリメント
した後、上述と同様にセルポインタの値と結合して読出
しアドレスを発生し、1ワード読出す。このように、読
出しアドレスを順次発生して1ワードずつの読出しが行
われる。
【0085】全てのワードを読出し終えた場合には、セ
ルポインタ構造体管理部17において、テンポラリレジ
スタ173に保持されている値が“Null”であるか
どうかが判断される。保持されている値が“Null”
でない場合、テンポラリレジスタ173が指しているメ
モリ170のエントリを読出し、上述と同様の動作が繰
返される。
【0086】保持されている値が“Null”である場
合、パケットポインタ構造体管理部18において、CP
U50から送られてきたパケットポインタをレジスタ1
81に書込む。これにより、ポインタ13が指している
メモリ180のエントリのNEXTフィールドに、その
パケットポインタを上書きする。さらに、ポインタ13
に、CPU50から送られてきたパケットポインタを上
書きする。これにより、ストアされているパケットを取
出し、共有パケットストアメモリ部7から削除する動作
は完了となる。
【0087】以上の各動作を実現するために、共通制御
部60は、パケットポインタ構造体管理部18、セルポ
インタ構造体管理部17及び共有パケットストアメモリ
部7の内部の各セレクタ等の制御を行うのである。
【0088】ところで、図20及び図21には、以上説
明したパケットスイッチシステムを単位スイッチエレメ
ントとし、単位スイッチエレメントが持つインタフェー
スポートのうちいくつかを、単位スイッチエレメント間
の接続リンクのために用いて、スイッチの規模及び性能
を拡張する構成が示されている。
【0089】図20には、単位スイッチエレメントであ
る4つのチップC1〜C4を、拡張ポートインタフェー
ス(Extention Port Interfac
e)EPIFを介して接続した場合の構成が示されてい
る。1つのチップに着目すると、そのチップの拡張ポー
トインタフェースEPIFの入力側と出力側とは異なる
チップに接続されている。すなわち、チップC1に着目
すると、拡張ポートインタフェースEPIFの入力側は
チップC4に接続され、その出力側はチップC2に接続
されている。他のチップC2〜C4についても同様であ
り、このように接続すれば、4つのチップC1〜C4を
接続した状態でポート数を物理的に増やすことができる
のである。なお、同図に示されているように、図中の各
チップには先述した中央制御部5及びパケットストアメ
モリ部6が設けられているものとする。
【0090】また、図21に示されているように、隣合
うチップの拡張ポートインタフェース(図21中のハッ
チング部分)同士を相互に接続しても良い。同図には9
つのチップC1〜C9しか示されていないが、同様に接
続すれば図20の場合よりもポート数を増やすことがで
きる。なお、同図に示されていないが、図中の各チップ
C1〜C9には先述した中央制御部5及びパケットスト
アメモリ部6が設けられているものとする。
【0091】これらの図20及び図21において、入力
ポートから入ったパケットが目的の出力ポートに到達す
るまでに通過する夫々のスイッチエレメントにおいて参
照されるべきルーティングタグについては、以下の2つ
の付加方法がある。
【0092】すなわち、第1の方法は、そのパケットが
この系に到達した最初のスイッチにおいてすべての経路
を決定し、経路上の最も後段のスイッチに与えるべきル
ーティングタグから順に前の段のスイッチに与えるべき
ルーティングタグをスタックメモリの要領(プッシュ)
でパケットに付加するものである。そして、このパケッ
トが各段のスイッチエレメントを転送されるごとに、そ
のスタックメモリエリアにあるルーティングタグをポッ
プするのである。こうすることによって、夫々のスイッ
チは自段のためのルーティングタグを得ることができ
る。
【0093】次に、第2の方法は、パケットが各スイッ
チエレメント間を転送される都度、自スイッチエレメン
トにおける出力ポートのみを決定し1つだけルーティン
グタグをパケットに付加するものである。つまり、転送
元からパケットを受取ったら、そのパケットの転送先を
示すルーティングタグを付加するのである。
【0094】以上のように本システムを1チップに集積
化すれば、比較的小規模で低性能なスイッチエレメント
を用いて、大小任意の規模、高低任意の性能を有するス
イッチを構成できるという特徴がある。この集積回路を
用いれば、小型のルータを構成できるので、家庭に設け
れば容易にSOHO(Small Office Ho
me Office)を実現することができる。
【0095】次に、本システムの他の実施形態について
説明する。
【0096】図1から図13を参照して先述した例にお
いては、各ポート対応のADMが受信したパケットをリ
ングバスに送出する際の送信権の管理にトークンを用い
た方式を採用していた。この方法のほかに送信権(アク
セス権)の管理方法として、アービトレーション専用の
ロジックによる制御を与える方法、又は中央制御部内で
動作するソフトウェアの一部として実装される機能によ
り制御する方法等がありうる。これらの制御を各ADM
に伝達する手段としては、アービトレーション制御を伝
達するための専用のバスを用いる方法、図1から図13
中にも存在する制御バス4を他の目的と共用する方法等
がある。
【0097】このアービトレーションを実現するための
具体的なハードウェア構成例について図22を参照して
説明する。同図に示されているように、各ポートP−1
〜P−Nのインタフェースから入力される送信中である
ことを示す信号を入力とするORゲート22aと、この
ORゲート22aの出力によってカウントアップイネー
ブル状態となるバイナリカウンタ22bと、各ポートP
−1〜P−Nのインタフェースから入力される送出要求
を入力とし、バイナリカウンタ22bの出力カウント値
に応じて各ポートP−1〜P−Nのインタフェースへの
送出許可を出力する優先順位決定回路22cとを含んで
構成されている。
【0098】かかる構成において、優先順位決定回路2
2cは、バイナリカウンタ22bから与えられるカウン
ト値によってその時点における最優先ポート及び第2位
以降最下位までの優先順位を決定する。これによって、
複数のポートのインタフェースから同時に送出要求信号
が出力された場合、どのポートに送信許可を与えるかが
決定されることになる。
【0099】一方、各ポートからの送信中表示信号の論
理和をとった信号がバイナリカウンタ22bのカウント
アップイネーブル信号として与えられているので、いず
れかのポートが送信を許可されて送信を行っている最中
はバイナリカウンタの値、すなわち最優先ポートの規定
が保持され、1パケットの送信を終了すると、直前に第
2位の送信権であったポートの送信権が、最優先順位に
変わることになる。つまり、パケットデータバスに対す
るアクセス権の優先順位が巡回するように調停されるの
である。
【0100】なお、図22に示されているアービトレー
ション回路の構成は一例に過ぎず、種々の変形例が考え
られる。
【0101】以上のアービトレーションを用いる場合
は、先述したトークンを用いる場合に比較して、リング
バスの帯域をより公平に分配できるという特徴がある。
この特徴は特に、リングバスの最高許容帯域に対する実
使用帯域の割合が高い場合に顕著となる。もっとも、リ
ングバスの許容帯域が必要とされる帯域よりも十分に大
きい場合には、先述したトークンを用いる場合でも十分
な公平性を確保することができる。
【0102】なお、以上説明した中央制御部5及び各A
DMの処理を実現するためのプログラムを記録した記録
媒体を用意し、これを用いて図1の各部を制御すれば、
上述と同様のパケットデータ送受信動作を行うことがで
きることは明白である。この記録媒体には、同図中に示
されていない半導体メモリ、磁気ディスク装置の他、種
々の記録媒体を用いることができる。
【0103】また、同記録媒体に記録されているプログ
ラムによってコンピュータを制御すれば、上述と同様に
パケットデータ送受信動作を行うことができることは明
白である。この記録媒体には、半導体メモリ、磁気ディ
スク装置の他、種々の記録媒体を用いることができる。
【0104】請求項の記載に関連して本発明は更に次の
態様をとりうる。
【0105】(1)前記制御用バスは、前記複数の挿抜
モジュールとこれら挿抜モジュールを制御するための制
御回路とが接続されたライン状のバスであることを特徴
とする請求項1〜11のいずれかに記載のパケットスイ
ッチシステム。
【0106】(2)前記制御用バスは、前記複数の挿抜
モジュールとこれら挿抜モジュールを制御するための制
御回路とが接続されたライン状のバスであることを特徴
とする請求項12〜14のいずれかに記載の集積回路。
【0107】(3)前記制御用バスは、前記複数の挿抜
モジュールとこれら挿抜モジュールを制御するための制
御回路とが接続されたライン状のバスであることを特徴
とする請求項15〜23のいずれかに記載のパケットス
イッチ制御方法。
【0108】(4)前記制御用バスは、前記複数の挿抜
モジュールとこれら挿抜モジュールを制御するための制
御回路とが接続されたライン状のバスであることを特徴
とする請求項24〜32のいずれかに記載の記録媒体。
【0109】
【発明の効果】以上説明したように本発明は、制御用の
バスとは別にパケットデータ専用のリング形状バスを設
けることにより、制御系とデータ系とが互いに悪影響を
及ぼすことなくデータの帯域を十分に取ることができる
という効果がある。一方通行でリング形状のパイプライ
ン方式のバスを用いているので、一般的な3値論理バス
やクロスポイント型のスイッチに比べ、バスの制御が簡
単で、かつ、動作レートを容易に高速化できる等の効果
もある。
【図面の簡単な説明】
【図1】本発明の実施の一形態によるパケットスイッチ
システムの構成を示すブロック図である。
【図2】図1のパケットスイッチシステムの動作を示す
図である。
【図3】図1のパケットスイッチシステムの動作を示す
図である。
【図4】図1のパケットスイッチシステムの動作を示す
図である。
【図5】図1のパケットスイッチシステムの動作を示す
図である。
【図6】図1のパケットスイッチシステムの動作を示す
図である。
【図7】図1のパケットスイッチシステムの動作を示す
図である。
【図8】図1のパケットスイッチシステムの動作を示す
図である。
【図9】図1のパケットスイッチシステムの動作を示す
図である。
【図10】図1のパケットスイッチシステムの動作を示
す図である。
【図11】図1のパケットスイッチシステムの動作を示
す図である。
【図12】図1のパケットスイッチシステムの動作を示
す図である。
【図13】図1のパケットスイッチシステムの動作を示
す図である。
【図14】パケットと共有パケットストアメモリ部の最
小記憶単位との関係を示す図である。
【図15】各ADMの内部構成例を示す図である。
【図16】パケットストアメモリ部の具体的構成例を示
す図である。
【図17】図16のパケットストアメモリ部の動作を示
す図である。
【図18】図16のパケットストアメモリ部の動作を示
す図である。
【図19】図16のパケットストアメモリ部の動作を示
す図である。
【図20】図1のパケットスイッチシステムを用いた集
積回路の一構成例を示す図である。
【図21】図1のパケットスイッチシステムを用いた集
積回路の他の構成例を示す図である。
【図22】アービトレーションを実現するための具体的
なハードウェア構成例を示す図である。
【符号の説明】
1 リングバス 2−0〜2−3 挿抜モジュール 4 制御用バス 5 中央制御部 6 パケットストアメモリ部 7 共有パケットストアメモリ部 8 セルポインタ構造体 8−1,8−2 ポインタ 9 空きセルキュー先頭ポインタ 10 空きセルキュー末尾ポインタ 11 パケットポインタ構造体 12 先頭ポインタ 13 キュー末尾ポインタ 14 論理パケットキュー 15 パケットキューポインタ構造体 16 論理パケット 17 空きセルキュー 18 空きパケットキュー 19 論理領域 161,162 セルポインタ構造体群 191,192 パケットポインタ構造体 P−1〜P−3 ポート
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) H04L 12/56 H04L 12/42 H04L 12/28 G06F 15/16 - 15/163

Claims (29)

    (57)【特許請求の範囲】
  1. 【請求項1】 パケットデータの送受信を行う複数の挿
    抜モジュールと、前記複数の挿抜モジュールとこれら挿
    抜モジュールを制御するための制御回路とを接続する制
    御用バスとを含むパケットスイッチシステムであって、
    前記制御用バスとは別に設けられ前記複数の挿抜モジュ
    ールが夫々接続されこれら挿抜モジュールにおいて授受
    されるパケットデータを伝達するためのパケットデータ
    バスと、前記複数の挿抜モジュールのうちの1つを介し
    て前記パケットデータバスに接続され、前記授受すべき
    パケットデータを前記パケットデータバスを介して一時
    格納するメモリとを含み、前記複数の挿抜モジュールは
    前記パケットデータバス及び前記メモリを介してパケッ
    トデータの授受を行うようにしたことを特徴とするパケ
    ットスイッチシステム。
  2. 【請求項2】 前記パケットデータバスは、一方通行の
    リングバスであることを特徴とする請求項1記載のパケ
    ットスイッチシステム。
  3. 【請求項3】 前記パケットデータバスは前記複数の挿
    抜モジュールのいずれかによって獲得されるトークンが
    流れるトークンリングバスであり、前記トークンを獲得
    した挿抜モジュールは、前記授受すべきパケットデータ
    を格納するための領域を前記メモリに確保する領域確保
    動作及びこの確保した領域へ前記パケットデータを格納
    する格納動作並びにこの格納したパケットデータを出力
    する出力動作のうちのいずれかの動作を行うことを特徴
    とする請求項1又は2記載のパケットスイッチシステ
    ム。
  4. 【請求項4】 前記複数の挿抜モジュールは前記パケッ
    トデータバスに対するアクセス権の優先順位が巡回する
    ように調停され、アクセス権を得た挿抜モジュールは、
    前記授受すべきパケットデータを格納するための領域を
    前記メモリに確保する領域確保動作及びこの確保した領
    域へ前記パケットデータを格納する格納動作並びにこの
    格納したパケットデータを出力する出力動作のうちのい
    ずれかの動作を行うことを特徴とする請求項1又は2記
    載のパケットスイッチシステム。
  5. 【請求項5】 前記パケットデータを最小記憶単位とし
    ての複数のセルに分割して格納することを特徴とする請
    求項1〜4のいずれかに記載のパケットスイッチシステ
    ム。
  6. 【請求項6】 前記固定長は、ATMセルのペイロード
    サイズと略同一の長さであることを特徴とする請求項5
    記載のパケットスイッチシステム。
  7. 【請求項7】 前記複数のセルはリンクドリスト構造を
    有し、前記複数のセルに分割して格納された前記パケッ
    トデータが該構造によって結合されることを特徴とする
    請求項5又は6記載のパケットスイッチシステム。
  8. 【請求項8】 前記複数のセルはリンクドリスト構造を
    有し、前記複数のセルのうち有効なデータが格納されて
    いない空きセルが該構造によって結合されることを特徴
    とする請求項5又は6記載のパケットスイッチシステ
    ム。
  9. 【請求項9】 前記複数のセルに分割して格納された前
    記複数のパケットデータの各先頭部分が夫々格納された
    各セルを夫々指す複数のポインタを格納するポインタ格
    納手段を更に含むことを特徴とする請求項5〜8のいず
    れかに記載のパケットスイッチシステム。
  10. 【請求項10】 前記ポインタ格納手段に格納された複
    数のポインタはリンクドリスト構造を有することを特徴
    とする請求項9記載のパケットスイッチシステム。
  11. 【請求項11】 請求項1〜10のいずれかに記載のパ
    ケットスイッチシステムが1チップに集積化されてなる
    ことを特徴とする集積回路。
  12. 【請求項12】 請求項1〜10のいずれかに記載のパ
    ケットスイッチシステムが1チップに集積化されてな
    り、このシステムに含まれているパケットデータバスは
    他のパケットスイッチシステムに含まれているパケット
    データバスと接続され、この接続されたパケットデータ
    バスを介することによって前記他のパケットスイッチシ
    ステムとの間で前記パケットデータを授受するようにし
    ことを特徴とする集積回路。
  13. 【請求項13】 前記挿抜モジュールによって前記パケ
    ットデータバス同士が相互に接続されていることを特徴
    とする請求項12記載の集積回路。
  14. 【請求項14】 パケットデータの送受信を行う複数の
    挿抜モジュールと、前記複数の挿抜モジュールとこれら
    挿抜モジュールを制御するための制御回路とを接続する
    制御用バスと、前記制御用バスとは別に設けられ前記複
    数の挿抜モジ ュールが夫々接続されこれら挿抜モジュー
    ルにおいて授受されるパケットデータを伝達するための
    パケットデータバスと、前記複数の挿抜モジュールのう
    ちの1つを介して前記パケットデータバスに接続され、
    前記授受すべきパケットデータを前記パケットデータバ
    スを介して一時格納するメモリとを含み、前記複数の挿
    抜モジュールは前記パケットデータバス及び前記メモリ
    を介してパケットデータの授受を行うようにしたパケッ
    トスイッチシステムにおけるパケットスイッチ制御方法
    であって、前記授受すべきパケットデータを格納するた
    めの領域を前記メモリに確保する領域確保ステップと、
    この確保した領域へ前記パケットデータを格納する格納
    ステップと、この格納したパケットデータを出力する出
    力ステップとを含むことを特徴とするパケットスイッチ
    制御方法。
  15. 【請求項15】 前記出力ステップにおいては、前記格
    納したパケットデータから該パケットデータの送信先を
    抽出し、この抽出された送信先に該パケットデータを送
    信することを特徴とする請求項14記載のパケットスイ
    ッチ制御方法。
  16. 【請求項16】 前記パケットデータバスは前記複数の
    挿抜モジュールのいずれかによって獲得されるトークン
    が流れるトークンリングバスであり、前記トークンを獲
    得した挿抜モジュールは前記領域確保ステップ及び前記
    格納ステップ並びに前記出力ステップのうちの少なくと
    も1ステップを行うことを特徴とする請求項14又は
    5記載のパケットスイッチ制御方法。
  17. 【請求項17】 前記複数の挿抜モジュールは前記パケ
    ットデータバスに対するアクセス権の優先順位が巡回す
    るように調停され、アクセス権を得た挿抜モジュールは
    前記領域確保ステップ及び前記格納ステップ並びに前記
    出力ステップのうちの少なくとも1ステップを行うこと
    を特徴とする請求項14又は15記載のパケットスイッ
    チ制御方法。
  18. 【請求項18】 前記パケットデータを最小記憶単位と
    しての複数のセルに分割して格納することを特徴とする
    請求項14〜17のいずれかに記載のパケットスイッチ
    制御方法。
  19. 【請求項19】 前記固定長は、ATMセルのペイロー
    ドサイズと略同一の長さであることを特徴とする請求項
    18記載のパケットスイッチ制御方法。
  20. 【請求項20】 前記複数のセルはリンクドリスト構造
    を有し、前記複数のセルに分割して格納された前記パケ
    ットデータが該構造によって結合されることを特徴とす
    る請求項18又は19記載のパケットスイッチ制御方
    法。
  21. 【請求項21】 前記複数のセルはリンクドリスト構造
    を有し、前記複数のセルのうち有効なデータが格納され
    ていない空きセルが該構造によって結合されることを特
    徴とする請求項18又は19記載のパケットスイッチ制
    御方法。
  22. 【請求項22】 パケットデータの送受信を行う複数の
    挿抜モジュールと、前記複数の挿抜モジュールとこれら
    挿抜モジュールを制御するための制御回路とを接続する
    制御用バスと、前記制御用バスとは別に設けられ前記複
    数の挿抜モジュールが夫々接続されこれら挿抜モジュー
    ルにおいて授受されるパケットデータを伝達するための
    パケットデータバスと、前記複数の挿抜モジュールのう
    ちの1つを介して前記パケットデータバスに接続され、
    前記授受すべきパケットデータを前記パケットデータバ
    スを介して一時格納するメモリとを含み、前記複数の挿
    抜モジュールは前記パケットデータバス及び前記メモリ
    を介してパケットデータの授受を行うようにしたパケッ
    トスイッチシステムにおけるパケットスイッチ制御プロ
    グラムを記録した記録媒体であって、前記制御プログラ
    ムはコンピュータに、前記授受すべきパケットデータを
    格納するための領域を前記メモリに確保する領域確保ス
    テップと、この確保した領域へ前記パケットデータを格
    納する格納ステップと、この格納したパケットデータを
    出力する出力ステップとを実行させることを特徴とする
    記録媒体。
  23. 【請求項23】 前記パケットデータバスは、一方通行
    のリングバスであることを特徴とする請求項22記載の
    記録媒体。
  24. 【請求項24】 前記パケットデータバスは前記複数の
    挿抜モジュールのいずれかによって獲得されるトークン
    が流れるトークンリングバスであり、前記トークンを獲
    得した挿抜モジュールは前記領域確保ステップ及び前記
    格納ステップ並びに前記出力ステップのうちの少なくと
    も1ステップを実行することを特徴とする請求項22又
    は23記載の記録媒体。
  25. 【請求項25】 前記複数の挿抜モジュールは前記パケ
    ットデータバスに対するアクセス権の優先順位が巡回す
    るように調停され、アクセス権を得た挿抜モ ジュールは
    前記領域確保ステップ及び前記格納ステップ並びに前記
    出力ステップのうちの少なくとも1ステップを実行する
    ことを特徴とする請求項22又は23記載の記録媒体。
  26. 【請求項26】 前記パケットデータを最小記憶単位と
    しての複数のセルに分割して格納することを特徴とする
    請求項22〜25のいずれかに記載の記録媒体。
  27. 【請求項27】 前記固定長は、ATMセルのペイロー
    ドサイズと略同一の長さであることを特徴とする請求項
    26記載の記録媒体。
  28. 【請求項28】 前記複数のセルはリンクドリスト構造
    を有し、前記複数のセルに分割して格納された前記パケ
    ットデータが該構造によって結合されることを特徴とす
    る請求項26又は27記載の記録媒体。
  29. 【請求項29】 前記複数のセルはリンクドリスト構造
    を有し、前記複数のセルのうち有効なデータが格納され
    ていない空きセルが該構造によって結合されることを特
    徴とする請求項26又は27記載の記録媒体。
JP18577998A 1998-07-01 1998-07-01 パケットスイッチシステム、これを含む集積回路、パケットスイッチ制御方法、パケットスイッチ制御プログラム記録媒体 Expired - Fee Related JP3255113B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP18577998A JP3255113B2 (ja) 1998-07-01 1998-07-01 パケットスイッチシステム、これを含む集積回路、パケットスイッチ制御方法、パケットスイッチ制御プログラム記録媒体
EP19990112717 EP0969631A2 (en) 1998-07-01 1999-07-01 Packet switch system with simplified bus control

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18577998A JP3255113B2 (ja) 1998-07-01 1998-07-01 パケットスイッチシステム、これを含む集積回路、パケットスイッチ制御方法、パケットスイッチ制御プログラム記録媒体

Publications (2)

Publication Number Publication Date
JP2000022724A JP2000022724A (ja) 2000-01-21
JP3255113B2 true JP3255113B2 (ja) 2002-02-12

Family

ID=16176755

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18577998A Expired - Fee Related JP3255113B2 (ja) 1998-07-01 1998-07-01 パケットスイッチシステム、これを含む集積回路、パケットスイッチ制御方法、パケットスイッチ制御プログラム記録媒体

Country Status (2)

Country Link
EP (1) EP0969631A2 (ja)
JP (1) JP3255113B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2374242B (en) 2001-04-07 2005-03-16 Univ Dundee Integrated circuit and related improvements
WO2004112255A1 (ja) 2003-06-16 2004-12-23 Matsushita Electric Industrial Co., Ltd. パケット処理装置及び方法
WO2011148553A1 (ja) 2010-05-24 2011-12-01 株式会社ソニー・コンピュータエンタテインメント 情報処理装置および情報処理方法
JP5553685B2 (ja) * 2010-05-24 2014-07-16 株式会社ソニー・コンピュータエンタテインメント 情報処理装置および情報処理方法
CN111813326B (zh) * 2019-04-12 2024-04-19 建兴储存科技(广州)有限公司 具多数据流写入的固态存储装置及其相关写入方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
1998年電子情報通信学会総合大会 C12−24(1998年3月6日)

Also Published As

Publication number Publication date
JP2000022724A (ja) 2000-01-21
EP0969631A2 (en) 2000-01-05

Similar Documents

Publication Publication Date Title
US6542502B1 (en) Multicasting using a wormhole routing switching element
US6320859B1 (en) Early availability of forwarding control information
US5825767A (en) ATM switch with input and output ports
JP2736092B2 (ja) バッファ装置
JP2788577B2 (ja) フレーム変換方法及び装置
US5309432A (en) High-speed packet switch
KR0155554B1 (ko) 가변 길이 셀을 전송하기 위한 통신 스위칭장치 및 방법
JP3109591B2 (ja) Atm交換機
US9854072B1 (en) Script-controlled egress packet modifier
US8542693B2 (en) Managing free packet descriptors in packet-based communications
JPH08214000A (ja) Atmネットワークにおけるマルチキャストする方法と装置
JPH09502818A (ja) マルチポート共有メモリインタフェースおよび関連の方法
JPH0685842A (ja) 通信装置
US7352766B2 (en) High-speed memory having a modular structure
US7126959B2 (en) High-speed packet memory
US6636524B1 (en) Method and system for handling the output queuing of received packets in a switching hub in a packet-switching network
US20040218592A1 (en) Method and apparatus for fast contention-free, buffer management in a multi-lane communication system
JP3255113B2 (ja) パケットスイッチシステム、これを含む集積回路、パケットスイッチ制御方法、パケットスイッチ制御プログラム記録媒体
WO2024082747A1 (zh) 具有缓存的路由器、路由交换网络系统、芯片及路由方法
US7065628B2 (en) Increasing memory access efficiency for packet applications
US6483844B1 (en) Apparatus and method for sharing an external memory between multiple network switches
US7756131B2 (en) Packet forwarding system capable of transferring packets fast through interfaces by reading out information beforehand for packet forwarding and method thereof
US7069397B2 (en) Stream based memory manager with function specific hardware logic for accessing data as a stream in memory
JP3103298B2 (ja) Atmスイッチのアドレス生成回路
US8625621B2 (en) Method to support flexible data transport on serial protocols

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees