JP2002152247A - Packet switch - Google Patents

Packet switch

Info

Publication number
JP2002152247A
JP2002152247A JP2000340105A JP2000340105A JP2002152247A JP 2002152247 A JP2002152247 A JP 2002152247A JP 2000340105 A JP2000340105 A JP 2000340105A JP 2000340105 A JP2000340105 A JP 2000340105A JP 2002152247 A JP2002152247 A JP 2002152247A
Authority
JP
Japan
Prior art keywords
address
data block
output
packet
input
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
JP2000340105A
Other languages
Japanese (ja)
Inventor
Akio Makimoto
明生 牧本
Ko Nakayama
香 中山
Naohiko Ozaki
尚彦 小崎
Mitsuhiro Wada
光弘 和田
Norihiko Moriwaki
紀彦 森脇
Masumi Fukano
真純 深野
Takemasa Futami
勇正 二見
Takayuki Sugano
隆行 菅野
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2000340105A priority Critical patent/JP2002152247A/en
Priority to US09/791,791 priority patent/US6977941B2/en
Publication of JP2002152247A publication Critical patent/JP2002152247A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide a packet switch that can conduct high-speed switching to a variable length packet and can efficiently utilize a buffer memory. SOLUTION: In the packet switch of a structure, where a variable length packet received from each input channel LI is written into a common buffer memory 22 in units of data blocks of a fixed length, a buffer control section 30 forms an input queue by each input channel at data write. When the final data block of a variable length packet is registered to an input queue, the linked address list of the input queue is linked to an output queue, corresponding to a transfer destination output channel.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、可変長パケット通
信ネットワークにおけるノード装置として適用されるパ
ケットスイッチに関し、更に詳しくは、受信パケットを
一時的に蓄積するためのメモリとして共通バッファメモ
リを使用した共通バッファ型の可変長パケットスイッチ
に関する。
The present invention relates to a packet switch applied as a node device in a variable length packet communication network, and more particularly, to a packet switch using a common buffer memory as a memory for temporarily storing received packets. The present invention relates to a buffer type variable length packet switch.

【0002】[0002]

【従来の技術】近年、注目されているインターネットプ
ロトコル(Internet Protocol:以下、IPと言う)で
は、IPデータグラムと呼ばれる可変長のパケット(I
Pパケット)を転送単位として、メッセージ転送が行わ
れる。IPパケット網を構成する従来のノード装置で
は、ソフトウェア処理によって受信パケットの宛先方路
へのスイッチングが行われているが、スイッチングの高
速化要求に伴って、ノード装置内では固定長のパケット
(データブロック)を転送単位としてスイッチングを行
う装置構成が提案されている。
2. Description of the Related Art In recent years, an Internet Protocol (hereinafter, referred to as IP), which has attracted attention, employs a variable-length packet (I) called an IP datagram.
The message transfer is performed using the P packet as a transfer unit. In a conventional node device that configures an IP packet network, a received packet is switched to a destination path by software processing. However, a fixed-length packet (data A device configuration that performs switching using a block as a transfer unit has been proposed.

【0003】IPパケットを高速度で転送するノード装
置として、例えば、"A 50-Gb/s IPRouter"(Craig Part
ridge他著、IEEE/ACM TRANSACTIONS ON NETWORKING, V
ol.6,No.3,June 1998)の論文には、それぞれ複数のネ
ットワーク・インタフェースをサポートする複数の回線
カード(ボード)と、ルーティングテーブルを備えた転
送エンジン(Forwarding Engine)カードとを、例え
ば、クロスバスイッチに代表されるポイント・ツー・ポ
イント型のスイッチで結合し、各回線カードが受信パケ
ットのヘッダ部を含むデータブロックを上記転送エンジ
ンに送信し、転送エンジンで更新処理された新たなヘッ
ダ情報を含むデータブロックをパケット入力側の回線カ
ードに返送し、入力側の各回線カードが、上記新たなヘ
ッダ情報を含むデータブロックとパケット残部とを出力
側回線カードに転送するようにした構成のルータ装置が
提案されている。
As a node device for transferring an IP packet at a high speed, for example, “A 50-Gb / s IPRouter” (Craig Part
ridge et al., IEEE / ACM TRANSACTIONS ON NETWORKING, V
ol. 6, No. 3, June 1998), there are multiple line cards (boards) each supporting multiple network interfaces and a Forwarding Engine card with a routing table. And a point-to-point type switch represented by a crossbar switch, each line card transmits a data block including a header portion of a received packet to the transfer engine, and a new header updated by the transfer engine is processed. The data block containing the information is returned to the line card on the packet input side, and each line card on the input side transfers the data block containing the new header information and the remainder of the packet to the line card on the output side. A router device has been proposed.

【0004】上記論文によると、入力側の各回線カード
が、パケットを64バイト単位の連鎖されたページ(デ
ータブロック)に解体して送出すること、出力側の各回
線カードが、これらのページをパケットを表すリンクド
・リストに組立て、組立てたパケットをQoSプロセッ
サに渡し、QoSプロセッサが、パケット長、宛先およ
び転送エンジンが指定したフロー識別子に基づいて、上
記パケットを送信キュー内の適当な位置に置くことが開
示されている。
According to the above-mentioned paper, each line card on the input side disassembles packets into 64-byte chained pages (data blocks) and sends them, and each line card on the output side converts these pages. Assembles into a linked list representing the packets and passes the assembled packets to the QoS processor, which places the packets in the appropriate location in the transmit queue based on the packet length, destination, and flow identifier specified by the forwarding engine. It is disclosed.

【0005】パケットの転送単位を固定長にしたスイッ
チング装置として、ATM(Asynchronous Transfer Mod
e)スイッチがあげられる。ATMスイッチでは、各入力
回線から受信された53バイトの固定長パケット(AT
Mセル)をバッファメモリに一時的に蓄積した後、蓄積
セルをセルヘッダに含まれるコネクション識別情報(V
PI/VCI)によって決まる特定の出力回線にルーテ
ィングしている。
[0005] As a switching device having a fixed length packet transfer unit, an ATM (Asynchronous Transfer Mod- ule) is used.
e) Switches. In the ATM switch, a fixed-length packet of 53 bytes (AT) received from each input line is used.
After temporarily storing the stored cells in the buffer memory, the stored cells are stored in the connection identification information (V
(PI / VCI).

【0006】ATMスイッチにおいて、複数の入力回線
でバッファメモリを共用する共通バッファ型の構造を採
用すると、バッファメモリ内に各出力回線毎に可変長の
キューを形成できるため、例えば、同一出力回線に向か
うセル列が複数の入力回線から同時に受信された場合で
も、共通バッファ全体として空き領域がある限り、各入
力回線からの受信セルを廃棄することなくバッファリン
グすることが可能となり、メモリ資源を有効に利用した
スイッチを実現できる。
If the ATM switch adopts a common buffer type structure in which a buffer memory is shared by a plurality of input lines, a variable length queue can be formed for each output line in the buffer memory. Even if the incoming cell row is received simultaneously from multiple input lines, it is possible to buffer received cells from each input line without discarding, as long as there is an empty area in the common buffer as a whole, thus saving memory resources. The switch used for can be realized.

【0007】特開平11−261584号公報には、上
記共通バッファメモリの利点を活かした可変長メッセー
ジ用のスイッチング装置が提案されている。上記従来技
術では、共通バッファメモリをメッセージ対応の複数の
メモリブロックに分割し、各受信メッセージに対して空
き状態の1つのメモリブロックを割り当て、各入力回線
から受信されたメッセージを固定長の複数のセルに分割
し、同一メッセージに属するセルを同一のメモリブロッ
クに順次に格納する構成となっている。
Japanese Patent Application Laid-Open No. 11-261584 proposes a switching device for variable-length messages, which makes use of the advantages of the common buffer memory. In the above prior art, the common buffer memory is divided into a plurality of memory blocks corresponding to messages, one empty memory block is assigned to each received message, and a message received from each input line is divided into a plurality of fixed-length messages. The cell is divided into cells, and cells belonging to the same message are sequentially stored in the same memory block.

【0008】[0008]

【発明が解決しようとする課題】上述したIEEE文献
に記載されたルータ装置では、入力側の回線カードが、
各パケットの送信に先立って、スイッチ・アロケータを
介して出力側回線カードと折衝し、出力側カードがパケ
ットの受信を了承した場合に送信を開始しているため、
パケットのスイッチング処理速度に問題がある。また、
入力側の各回線カードにはパケットを待機させるための
バッファが必要となり、出力側の各回線カードにもパケ
ット組立てのためのバッファが必要となるため、バッフ
ァメモリの使用効率に問題がある。
In the router described in the above-mentioned IEEE document, the line card on the input side is
Prior to the transmission of each packet, it negotiates with the output line card via the switch allocator, and starts transmitting when the output card acknowledges the reception of the packet.
There is a problem with the packet processing speed. Also,
Each line card on the input side needs a buffer for holding packets, and each line card on the output side also needs a buffer for packet assembly, so there is a problem in the efficiency of use of the buffer memory.

【0009】一方、上記特開平11−261584号公
報に記載されたスイッチング装置では、各メッセージの
末尾部分が入力された時、受信メッセージと対応するメ
モリブロックに蓄積されている全てのセルを別のメモリ
領域(メッセージキュー)に移す構成となっているた
め、メモリ領域間でのメッセージの転送所要時間とバッ
ファメモリの利用効率に問題があった。
On the other hand, in the switching device described in Japanese Patent Application Laid-Open No. H11-261584, when the last part of each message is input, all cells stored in the memory block corresponding to the received message are separated. Since the transfer is made to the memory area (message queue), there is a problem in the time required for transferring the message between the memory areas and the use efficiency of the buffer memory.

【0010】本発明の目的は、共通バッファメモリを効
率的に利用し、可変長パケットを高速スイッチング可能
なパケットスイッチを提供することにある。
It is an object of the present invention to provide a packet switch that can efficiently switch a variable-length packet by using a common buffer memory efficiently.

【0011】[0011]

【課題を解決するための手段】上記目的を達成するため
に、本発明のパケットスイッチは、複数の入力回線に共
用される共通バッファメモリと、各入力回線からの受信
パケットを固定長のデータブロック単位で多重化して上
記共通バッファメモリに供給する多重化手段と、上記共
通バッファメモリへの上記各固定長データブロックの書
き込みと読出しを制御するバッファ制御手段とからな
り、上記バッファ制御手段が、上記多重化手段から出力
された各固定長データブロックを上記共通バッファに書
き込む時に可変長パケット別の入力キューを形成してお
き、可変長パケットの最終データブロックが入力キュー
に登録された時点で、該入力キューを可変長パケットの
転送先出力回線と対応した出力キューにリンクすること
を特徴とする。
In order to achieve the above object, a packet switch according to the present invention comprises a common buffer memory shared by a plurality of input lines, and a fixed length data block for receiving packets from each input line. Multiplexing means for multiplexing the data in units and supplying the same to the common buffer memory, and buffer control means for controlling writing and reading of each fixed-length data block to and from the common buffer memory, wherein the buffer control means When each fixed-length data block output from the multiplexing means is written to the common buffer, an input queue for each variable-length packet is formed, and when the last data block of the variable-length packet is registered in the input queue, The input queue is linked to an output queue corresponding to a destination output line of a variable-length packet.

【0012】更に詳述すると、上記バッファ制御手段
は、上記共通バッファメモリにおける各固定長データブ
ロックの書込みアドレスを可変長パケット別にリンクす
ることによって複数の入力キューを形成し、可変長パケ
ットの最後の固定長データブロックが上記共通バッファ
メモリに書込み済みとなった入力キューを転送先出力回
線と対応する出力キューにリンクする第1制御手段と、
出力回線対応に形成された複数の出力キューを所定の順
序でアクセスし、各出力キューが示すリンクド・アドレ
スに基づいて上記共通バッファメモリから固定長データ
ブロックを読み出す第2制御手段とを備える。上記可変
長パケット別の入力キューは、例えば、空きアドレスメ
モリから取り出した書込みアドレスに基づいて上記共通
バッファメモリに各固定長データブロックを書き込み、
上記各書込みアドレスと対応して同一可変長パケットに
おける次の固定長データブロックの書込みアドレスを次
アドレスメモリに記憶することにより形成される。
More specifically, the buffer control means forms a plurality of input queues by linking the write address of each fixed-length data block in the common buffer memory for each variable-length packet, and forms the last of the variable-length packets. First control means for linking an input queue whose fixed-length data block has been written to the common buffer memory to an output queue corresponding to a transfer destination output line;
A second control unit that accesses a plurality of output queues formed corresponding to the output lines in a predetermined order and reads a fixed-length data block from the common buffer memory based on a linked address indicated by each output queue. The input queue for each variable-length packet writes, for example, each fixed-length data block to the common buffer memory based on a write address extracted from an empty address memory,
It is formed by storing the write address of the next fixed-length data block in the same variable-length packet corresponding to each write address in the next address memory.

【0013】本発明において、各出力キューは、例え
ば、次に読み出すべきデータブロックを示す次読出しア
ドレスと最後のデータブロックを示す最終読出しアドレ
スとを記憶するアドレステーブルからなり、上記第1制
御手段が、各可変長パケットの先頭データブロックの書
込みアドレスと最終データブロックの書込みアドレスを
それぞれ転送先出力回線と対応するアドレステーブルの
次読出しアドレスおよび最終読出しアドレスに移すこと
によって、上述した出力キューへの入力キューリンクを
完了する。この場合、第2制御手段は、各出力キューに
登録された次読出しアドレスに基づいて、共通バッファ
メモリと次アドレスメモリからそれぞれ固定長データブ
ロックと次の固定長データブロックのアドレスとを読出
し、上記次アドレスメモリから読み出されたアドレスを
当該出力キューにおける新たな次読出しアドレスとする
ことによって、各可変長パケットを構成するデータブロ
ックを次々と読み出すことが可能となる。
In the present invention, each output queue comprises, for example, an address table for storing a next read address indicating the next data block to be read and a final read address indicating the last data block. By moving the write address of the first data block and the write address of the last data block of each variable length packet to the next read address and the last read address of the address table corresponding to the transfer destination output line, respectively, the input to the output queue described above is performed. Complete the queue link. In this case, the second control means reads the fixed-length data block and the address of the next fixed-length data block from the common buffer memory and the next address memory, respectively, based on the next read address registered in each output queue. By using the address read from the next address memory as a new next read address in the output queue, data blocks constituting each variable-length packet can be read one after another.

【0014】尚、先行する可変長パケットの最終読出し
アドレスが既に登録された状態にある出力キューに対し
て後続する可変長パケットの入力キューをリンクする場
合、第1制御手段が、次アドレスメモリにおいて後続可
変長パケットの先頭データブロックの書込みアドレスを
上記最終読出しアドレスにリンクさせればよい。
When the input queue of the succeeding variable length packet is linked to the output queue in which the final read address of the preceding variable length packet has already been registered, the first control means operates in the next address memory. The write address of the first data block of the succeeding variable length packet may be linked to the last read address.

【0015】[0015]

【発明の実施の形態】以下、本発明の実施例を図面を参
照して詳細に説明する。図1は、本発明によるパケット
スイッチの1実施例を示すブロック図である。パケット
スイッチ1は、それぞれ入力回線LI−1〜LI−nか
ら入力された可変長パケット100を固定長の複数のデ
ータブロック110に分割し、各データブロックに内部
ヘッダ110Aを付加して出力する複数の入力回線イン
タフェース10−1〜10−nと、上記入力回線インタ
フェース10−1〜10−nから入力されたデータブロ
ックを時分割多重して信号線L21に出力する多重化部
21と、上記信号線L21に接続された共通バッファメ
モリ22と、上記共通バッファメモリ22から信号線L
22に読み出されたデータブロックを複数の出力回線イ
ンタフェース20−1〜20−nに順次に振り分ける分
離部23と、上記共通バッファメモリ22へのデータブ
ロックの書込みと読出しを制御するバッファ制御部30
と、書込みサイクルを示すクロックCLK0をカウント
して入力回線選択信号を発生する入力カウンタ24と、
読出しサイクルを示すクロックCLK1をカウントして
出力回線選択信号を発生する出力カウンタ25とからな
っている。
Embodiments of the present invention will be described below in detail with reference to the drawings. FIG. 1 is a block diagram showing one embodiment of a packet switch according to the present invention. The packet switch 1 divides a variable-length packet 100 input from each of the input lines LI-1 to LI-n into a plurality of fixed-length data blocks 110, and adds an internal header 110A to each data block and outputs the data block. An input line interface 10-1 to 10-n, a multiplexing unit 21 for performing time-division multiplexing of data blocks input from the input line interfaces 10-1 to 10-n, and outputting to a signal line L21; A common buffer memory 22 connected to the line L21;
And a buffer controller 30 for controlling the writing and reading of the data blocks to and from the common buffer memory 22.
An input counter 24 that counts a clock CLK0 indicating a write cycle and generates an input line selection signal;
An output counter 25 counts a clock CLK1 indicating a read cycle and generates an output line selection signal.

【0016】各入力回線LI−i(i=1〜n)から入
力される可変長パケットは、宛先アドレスを含むパケッ
トヘッダ100Aとデータ部100Bとからなる。各入
力回線インタフェース10−i(i=1〜n)は、入力
回線LI−iから受信した可変長パケット100を固定
長の複数のデータブロック110に分割し、例えば、入
力回線番号と、パケットヘッダ100Aから抽出された
宛先アドレスによって決まる出力回線番号と、各データ
ブロック110が可変長パケットにおける先頭ブロッ
ク、中間ブロック、最終ブロックの何れに該当するかを
示すブロック位置表示情報とを含む内部ヘッダ110A
を生成し、これを各データブロックに付加して出力す
る。
A variable length packet input from each input line LI-i (i = 1 to n) includes a packet header 100A including a destination address and a data section 100B. Each input line interface 10-i (i = 1 to n) divides the variable-length packet 100 received from the input line LI-i into a plurality of fixed-length data blocks 110, for example, an input line number and a packet header. An internal header 110A including an output line number determined by the destination address extracted from the data block 100A and block position display information indicating whether each data block 110 corresponds to the first block, the intermediate block, or the last block in the variable length packet.
Is generated, added to each data block, and output.

【0017】共通バッファメモリ22へのデータブロッ
クの書き込みと読出しは、クロックCLK0とCLK1
に従って交互に行われる。多重化部21は、入力カウン
タ24が信号線L24に発生する入力回線選択信号に応
じて、入力回線インタフェース10−1〜10−nを循
環的に選択し、各入力回線インタフェースから出力され
たデータブロック110を順次に信号線L21に多重化
する。一方、分離部23は、共通バッファメモリ22か
ら信号線L22に読み出されたデータブロックを、出力
カウンタ25が信号線L25に発生する出力回線選択信
号によって特定される出力回線インタフェース20−j
(j=1〜n)に振り分ける。出力回線インタフェース
20−1〜20−nは、分離部23から受け取ったデー
タブロック110から内部ヘッダ110Aを取り除き、
それぞれと対応する出力回線LO−1〜LO−nに送出
する。
Writing and reading of data blocks to and from the common buffer memory 22 are performed by clocks CLK0 and CLK1.
Are performed alternately according to The multiplexing unit 21 cyclically selects the input line interfaces 10-1 to 10-n according to the input line selection signal generated on the signal line L24 by the input counter 24, and outputs the data output from each input line interface. The blocks 110 are sequentially multiplexed on the signal line L21. On the other hand, the separation unit 23 converts the data block read from the common buffer memory 22 to the signal line L22 into an output line interface 20-j specified by the output line selection signal generated by the output counter 25 on the signal line L25.
(J = 1 to n). The output line interfaces 20-1 to 20-n remove the internal header 110A from the data block 110 received from the separation unit 23,
The signals are transmitted to the output lines LO-1 to LO-n corresponding to each of them.

【0018】バッファ制御部30は、クロックCLK0
が示す各書込みサイクルにおいて、信号線L21に現れ
る内部ヘッダ110Aが示す入力回線番号iと対応する
リンクド・アドレスリストを形成しながら、データブロ
ックを共通バッファメモリ22に書き込む。上記バッフ
ァ制御部30は、後述するように、上記信号線L21に
受信パケットの先頭ブロックが現れる都度、入力回線対
応の新たな入力キューを形成し、後続する中間ブロック
と最終ブロックのデータを入力回線対応の入力キューに
次々と登録し、受信パケットの最終ブロックが共通バッ
ファメモリ22に書き込まれた時点で、入力キューを上
記受信パケットの転送先出力回線と対応した出力キュー
にリンクするように、リンクド・アドレスリストをダイ
ナミックに制御する。
The buffer controller 30 controls the clock CLK0
In each write cycle indicated by, a data block is written to the common buffer memory 22 while forming a linked address list corresponding to the input line number i indicated by the internal header 110A appearing on the signal line L21. The buffer control unit 30 forms a new input queue corresponding to the input line each time the first block of the received packet appears on the signal line L21, and transfers the data of the subsequent intermediate block and last block to the input line, as described later. Registered one after another in the corresponding input queue, and when the last block of the received packet is written into the common buffer memory 22, the input queue is linked to the output queue corresponding to the transfer destination output line of the received packet. -Dynamic control of the address list.

【0019】共通バッファメモリ22からのデータブロ
ックの読出しは、各出力回線と対応して形成された出力
キュー・アドレスリストに基づいて行なわれる。バッフ
ァ制御部30は、信号線L25で与えられる出力回線選
択信号と対応した出力キューについて、読み出すべきデ
ータブロックの有無をチェックし、もし、出力キューに
データブロックアドレスがリンクされていた場合は、出
力キュー・アドレスリストに登録された次読出しアドレ
スを読出しアドレスRAとして、共通バッファメモリ2
2から1つのデータブロックを信号線L22に読み出
し、アドレスリストの次読出しアドレスをリンクド・ア
ドレスリストにおける次のデータブロックアドレスに書
き換える。
Reading of data blocks from the common buffer memory 22 is performed based on an output queue address list formed corresponding to each output line. The buffer control unit 30 checks the presence / absence of a data block to be read for the output queue corresponding to the output line selection signal given on the signal line L25, and if the data block address is linked to the output queue, the output The next read address registered in the queue address list is used as the read address RA as the common buffer memory 2.
Two data blocks are read from the signal line L22, and the next read address in the address list is rewritten to the next data block address in the linked address list.

【0020】図2は、バッファ制御部30の詳細を示す
ブロック図である。バッファ制御部30は、ヘッダ解析
部31と、入力キュー制御部32と、出力キュー制御部
33と、次アドレス管理部34と、共通バッファメモリ
20の空きアドレスを格納するための空アドレスメモリ
(FIFO)35とからなっている。
FIG. 2 is a block diagram showing details of the buffer control unit 30. The buffer control unit 30 includes a header analysis unit 31, an input queue control unit 32, an output queue control unit 33, a next address management unit 34, and an empty address memory (FIFO) for storing empty addresses in the common buffer memory 20. ) 35.

【0021】ヘッダ解析部31は、信号線L21に現れ
る各データブロックの内部ヘッダを解析して、入力回線
番号IN−iと、出力回線番号OUT−jと、入力デー
タブロックが受信パケットの先頭ブロックか否かを示す
先頭表示フラグ信号FPと、入力データブロックが受信
パケットの最終ブロックか否かを示す最終表示フラグ信
号EPとを発生する。
The header analyzer 31 analyzes the internal header of each data block appearing on the signal line L21, and determines that the input line number IN-i, the output line number OUT-j, and the input data block is the first block of the received packet. And a final display flag signal EP indicating whether or not the input data block is the last block of the received packet.

【0022】入力キュー制御部32は、入力回線毎に、
入力キューに登録された先頭データブロックのアドレス
(パケット先頭アドレス:BAi(i=1〜n))30
1と、上記入力キューに登録された最新データブロック
のアドレス(最新アドレス:WAi(i=1〜 n))
302とを示す入力キュー・アドレステーブル300を
備えている。
The input queue control unit 32 provides, for each input line,
Address of the head data block registered in the input queue (packet head address: BAi (i = 1 to n)) 30
1 and the address of the latest data block registered in the input queue (latest address: WAi (i = 1 to n))
And an input queue address table 300 indicating the input queue address 302.

【0023】出力キュー制御部33は、出力回線毎に、
出力キューの先頭に位置したデータブロックの読出しア
ドレス(次読出しアドレスRAj(j=1〜n))31
1と、出力キューの最後に位置したデータブロックの読
出しアドレス(最終読出しアドレスEAj(j=1〜
n))312と、出力キューにおける登録データの有無
を示すキューフラグ(Fj(j=1〜n))313とを
示す出力キュー・アドレステーブル310を備えてい
る。
The output queue control unit 33 provides, for each output line,
Read address of the data block located at the head of the output queue (next read address RAj (j = 1 to n)) 31
1 and the read address of the last data block located in the output queue (final read address EAj (j = 1 to
n)) 312 and an output queue address table 310 indicating a queue flag (Fj (j = 1 to n)) 313 indicating the presence or absence of registered data in the output queue.

【0024】次アドレス管理部34は、共通バッファメ
モリ22に蓄積可能なデータブロック数mに等しい複数
のアドレス記憶領域NA1〜NAmからなる次アドレス
メモリ340を備える。次アドレスメモリ340の各記
憶領域は、入力キューに登録されたデータブロック列を
登録順に読み出すためのリンクド・アドレスリストを形
成するために利用される。
The next address management unit 34 includes a next address memory 340 including a plurality of address storage areas NA1 to NAm equal to the number m of data blocks that can be stored in the common buffer memory 22. Each storage area of the next address memory 340 is used to form a linked address list for reading out the data block sequence registered in the input queue in the order of registration.

【0025】以下、入力回線LI−1とLI−2から同
一の出力回線LO−3に向かう可変長パケットが入力さ
れた場合を仮定して、入力回線LI−1と対応する入力
キューのパケット先頭アドレスBA1および最新アドレ
スWA1と、入力回線LI−2と対応する入力キューの
パケット先頭アドレスBA2および最新アドレスWA2
と、出力回線LO−2と対応する出力キューのキューフ
ラグF3、次読出しアドレスRA3および最終読出しア
ドレスEA3に着目して、図2と図3〜図5を参照しな
がら上記バッファ制御部30の機能について詳述する。
Hereinafter, assuming that a variable length packet destined for the same output line LO-3 is input from the input lines LI-1 and LI-2, the packet head of the input queue corresponding to the input line LI-1 is input. The address BA1 and the latest address WA1, and the packet head address BA2 and the latest address WA2 of the input queue corresponding to the input line LI-2.
Focusing on the queue flag F3 of the output queue corresponding to the output line LO-2, the next read address RA3 and the final read address EA3, the function of the buffer control unit 30 will be described with reference to FIGS. Will be described in detail.

【0026】ヘッダ解析部31は、信号線L21に出力
された各データブロックの内部ヘッダ110Aを解析
し、入力回線番IN−iと出力回線番号OUT−iを発
生する。上記データブロックが可変長パケットの先頭ブ
ロックであれば先頭表示フラグ信号FPがオン状態とな
り、最終ブロックであれば最終表示フラグ信号EPがオ
ン状態となる。
The header analyzer 31 analyzes the internal header 110A of each data block output to the signal line L21 and generates an input line number IN-i and an output line number OUT-i. If the data block is the first block of the variable length packet, the first display flag signal FP is turned on, and if the data block is the last block, the last display flag signal EP is turned on.

【0027】信号線L21に出力されたデータブロック
は、空アドレスFIFO35から取り出した空きアドレ
スを書込みアドレスWAとして、共通バッファメモリ2
0に書き込まれる。この時、入力キュー制御部32は、
ヘッダ解析部31から出力された入力回線番号IN−i
と先頭表示フラグ信号FPの状態に応じて、入力キュー
・アドレステーブル300を更新する。 先頭表示フラグ信号FPがオン状態であれば、空きアド
レスFIFO35から取り出された書込みアドレスWA
を上記入力回線番号IN−iと対応するテーブルエント
リのパケット先頭アドレスBAiと最新アドレスWAi
に書き込む。先頭表示フラグ信号FPがオフ状態であれ
ば、上記書込みアドレスWAを最新アドレスWAiに書
き込む。入力キュー・アドレステーブル300に新たな
アドレスWAが書き込まれた時、最新アドレスWAiと
してそれまで記憶されていたアドレスが次アドレス管理
部34に出力される。次アドレス管理部34は、アドレ
スWAiと対応する記憶領域NAiに、空きアドレスF
IFO35から取り出された新たな書込みアドレスWA
を記憶する。
The data block output to the signal line L21 is stored in the common buffer memory 2 using the empty address extracted from the empty address FIFO 35 as the write address WA.
Written to 0. At this time, the input queue control unit 32
Input line number IN-i output from header analysis unit 31
And updates the input queue address table 300 according to the state of the head display flag signal FP. If the head display flag signal FP is on, the write address WA extracted from the free address FIFO 35
Of the packet entry address BAi and the latest address WAi of the table entry corresponding to the input line number IN-i.
Write to. If the head display flag signal FP is off, the write address WA is written to the latest address WAi. When a new address WA is written in the input queue address table 300, the address that has been stored so far as the latest address WAi is output to the next address management unit 34. The next address management unit 34 stores the free address F in the storage area NAi corresponding to the address WAi.
New write address WA extracted from IFO 35
Is stored.

【0028】これによって、1つの可変長パケットから
分割された固定長のデータブロックが共通バッファメモ
リ22に書込まれる度に、データブロックの書込みアド
レスが次アドレスメモリ340に記憶され、最新アドレ
スWAiが更新され、最終的には、パケット先頭アドレ
スBAiが可変長パケットの先頭データブロックのアド
レスを指し、最新アドレスWAiが可変長パケットの最
終データブロックのアドレスを指すことになる。
Thus, each time a fixed-length data block divided from one variable-length packet is written into the common buffer memory 22, the write address of the data block is stored in the next address memory 340, and the latest address WAi is stored. Updated, and finally, the packet head address BAi indicates the address of the head data block of the variable length packet, and the latest address WAi indicates the address of the last data block of the variable length packet.

【0029】図3は、共通バッファメモリ22に、入力
回線インタフェース10−1から出力されたデータブロ
ックD1−1〜D1−4と、入力回線インタフェース1
0−2から出力されたデータブロックD2−1〜D2−
2が書込まれた時点での、入力キュー・アドレステーブ
ル300の状態を示す。ここで、WA1−1〜WA1−
4は、空きアドレスFIFO35から得られたデータブ
ロックD1−1〜D1−4の書込みアドレスWAの値、
WA2−1〜WA2−2はデータブロックD2−1〜
D2−2の書込みアドレスWAの値を示す。また、RA
3、EA3、F3は、上記データブロックD1−1〜D
1−4、D2−1〜D2−2の転送先出力回線LO−3
と対応した出力キュー・アドレステーブルエントリ31
0−3の内容を示している。
FIG. 3 shows that the data blocks D1-1 to D1-4 output from the input line interface 10-1 and the input line interface 1 are stored in the common buffer memory 22.
Data blocks D2-1 to D2- output from 0-2
2 shows the state of the input queue address table 300 at the time when 2 is written. Here, WA1-1 to WA1-
4 is the value of the write address WA of the data blocks D1-1 to D1-4 obtained from the free address FIFO 35,
WA2-1 to WA2-2 are data blocks D2-1 to D2-1.
D2-2 shows the value of the write address WA. Also, RA
3, EA3 and F3 correspond to the data blocks D1-1 to D1-1.
1-4, transfer destination output line LO-3 of D2-1 to D2-2
Output queue address table entry 31 corresponding to
The contents of 0-3 are shown.

【0030】入力回線LI−1と対応する入力キュー・
アドレステーブルでは、先頭データブロックD1−1の
書込みアドレスWA1−1がパケット先頭アドレスBA
1として記憶され、最新アドレスWA1の内容はデータ
ブロックの書込みの都度更新されて、WA1−1、WA
1−2、WA1−3、WA1−4と変化する。次アドレ
スメモリ340では、図3に示すように、最新アドレス
WA1と対応する記憶領域に、次データブロックの書込
みアドレスが次々と記憶され、入力キュー・アドレステ
ーブル300のパケット先頭アドレスBA1と次アドレ
スメモリ340とによって、入力回線毎のリンクド・ア
ドレスリストが形成される。
The input queue corresponding to the input line LI-1
In the address table, the write address WA1-1 of the head data block D1-1 is the packet head address BA
1 and the content of the latest address WA1 is updated every time a data block is written, and the contents of WA1-1 and WA1-1 are updated.
1-2, WA1-3, and WA1-4. In the next address memory 340, as shown in FIG. 3, the write address of the next data block is sequentially stored in a storage area corresponding to the latest address WA1, and the packet head address BA1 and the next address memory of the input queue address table 300 are stored. 340 forms a linked address list for each input line.

【0031】例えば、パケット先頭アドレスBA1が示
すアドレスWA1−1に基づいて共通バッファメモリ2
2と次アドレスメモリ340をアクセスすることによっ
て、先頭データブロックD1−1と、次のデータブロッ
クD1−2のアドレスWA1−2とを読み出すことがで
き、このアドレスWA1−2を次回の読出しサイクルに
おける読出しアドレスRAとして利用することにより、
次のデータブロックD1−2と、更に次のデータブロッ
クD1−3のアドレスWA1−3とを読み出すことがで
き、同様の動作を繰り返すことによって、入力キューに
登録された全てのデータブロックを読み出すことが可能
となる。
For example, based on the address WA1-1 indicated by the packet head address BA1, the common buffer memory 2
2 and the next address memory 340, the head data block D1-1 and the address WA1-2 of the next data block D1-2 can be read, and this address WA1-2 is used in the next read cycle. By using it as read address RA,
The next data block D1-2 and the address WA1-3 of the next data block D1-3 can be read, and by repeating the same operation, all data blocks registered in the input queue can be read. Becomes possible.

【0032】入力回線LI−1と同様、入力回線LI−
2と対応する入力キュー・アドレステーブルでは、先頭
データブロックD2−1の書込みアドレスWA2−1が
パケット先頭アドレスBA2として記憶され、最新アド
レスWA1の内容は、データブロックの書込みの都度更
新され、WA2−1、WA2−2、…と変化する。
Like the input line LI-1, the input line LI-
2, the write address WA2-1 of the head data block D2-1 is stored as the packet head address BA2, the contents of the latest address WA1 are updated each time a data block is written, and WA2- 1, WA2-2,...

【0033】図3は、入力回線インタフェース10−1
と10−2が可変長パケットの最終データブロックを出
力する前の状態を示し、出力回線LO−3と対応した出
力キューに登録データがなく、出力キュー・アドレステ
ーブルエントリ310−3が空き状態となっている。本
発明は、共通バッファメモリ22にパケットの最終デー
タブロックが書き込まれた時、バッファ制御部30が、
上記最終データブロックの入力キューにおけるパケット
先頭アドレスBAiと最新アドレスWAi(=WA)を
出力キュー・アドレステーブル310に移すことを特徴
としている。
FIG. 3 shows the input line interface 10-1.
And 10-2 show the state before outputting the last data block of the variable length packet. There is no registered data in the output queue corresponding to the output line LO-3, and the output queue address table entry 310-3 is empty. Has become. According to the present invention, when the last data block of a packet is written to the common buffer memory 22, the buffer control unit 30
The packet head address BAi and the latest address WAi (= WA) in the input queue of the last data block are moved to the output queue address table 310.

【0034】入力キューに蓄積されたデータブロックの
転送先出力キューが空き状態、すなわち、ヘッダ解析部
31が出力する出力回線番号OUT−jと対応したキュ
ーフラグFjがオフ状態の場合は、パケット先頭アドレ
スBAiと最新アドレスWAiの内容をそれぞれ出力キ
ュー・アドレステーブルエントリ310―jの次読出し
アドレスRAjと最終読出しアドレスEAjに移し、キ
ューフラグFjをオン状態に書き換える。
When the transfer destination output queue of the data block stored in the input queue is in an empty state, that is, when the queue flag Fj corresponding to the output line number OUT-j output by the header analysis unit 31 is in the off state, the packet header The contents of the address BAi and the latest address WAi are transferred to the next read address RAj and the last read address EAj of the output queue / address table entry 310-j, respectively, and the queue flag Fj is rewritten to the ON state.

【0035】図4は、入力回線インタフェース10−1
から出力された可変長パケットの最終データブロックD
1−5が共通バッファメモリ22に書き込まれた時点で
のバッファ制御部30の動作を示す。この場合、バッフ
ァ制御部30は、最終データブロックD1−5の書込み
アドレスWA1−5を次アドレスメモリ340に記憶し
た後、入力キューのパケット先頭アドレスBA1の内容
(WA1−1)と最新アドレスWA1の内容(WA1−
5)を出力キュー・アドレステーブルのRA3、EA3
に移し、キューフラグF3をオン状態に書き換える。
尚、最新アドレスWA1の内容は、今回、空きアドレス
FIFO35から取り出された新たな書込みアドレスW
Aとなっているため、出力キュー・アドレステーブルの
EA3には、上記最新アドレスWA1に代えて、空きア
ドレスFIFO35から取り出された書込みアドレスW
Aを記憶してもよい。
FIG. 4 shows the input line interface 10-1.
Data block D of variable length packet output from
The operation of the buffer control unit 30 when 1-5 is written to the common buffer memory 22 will be described. In this case, after storing the write address WA1-5 of the last data block D1-5 in the next address memory 340, the buffer controller 30 stores the contents (WA1-1) of the packet head address BA1 of the input queue and the latest address WA1. Contents (WA1-
5) is output to RA3 and EA3 of the output queue address table.
And rewrite the queue flag F3 to the ON state.
The content of the latest address WA1 is the new write address W extracted from the free address FIFO 35 this time.
A, EA3 of the output queue address table contains the write address W extracted from the vacant address FIFO 35 instead of the latest address WA1.
A may be stored.

【0036】入力キューに蓄積されたデータブロックの
転送先出力キューが使用状態、すなわち、ヘッダ解析部
31が出力する出力回線番号OUT−jと対応するキュ
ーフラグFjがオン状態となっていた場合、バッファ制
御部30は、入力キューのリンクド・アドレスリストを
転送先出力キューのリンクド・アドレスリストに結合す
る。上記リンクド・アドレスリストの結合は、入力キュ
ーのパケット先頭アドレスBAiの内容を出力キューの
最終データブロックと対をなす次アドレスとして次アド
レスメモリ340に記憶し、入力キューの最新アドレス
WAiの内容を出力キュー・アドレステーブル310の
最終読出しアドレスEAjとして設定することにより達
成される。
When the transfer destination output queue of the data block accumulated in the input queue is in use, that is, when the queue flag Fj corresponding to the output line number OUT-j output by the header analysis unit 31 is on, The buffer control unit 30 combines the linked address list of the input queue with the linked address list of the destination output queue. The linking of the linked address list stores the contents of the packet start address BAi of the input queue in the next address memory 340 as the next address paired with the last data block of the output queue, and outputs the contents of the latest address WAi of the input queue. This is achieved by setting the last read address EAj in the queue address table 310.

【0037】図5は、出力回線LO−3の出力キューが
既に使用状態にある時、入力回線インタフェース10−
2から出力された可変長パケットの最終データブロック
D2−3を共通バッファメモリ22に書き込む場合のバ
ッファ制御部30の動作を示す。この場合、バッファ制
御部30は、最終データブロックD2−3の書込みアド
レスWA2−3を次アドレスメモリ340に記憶した
後、入力キューのパケット先頭アドレスBA2の内容
(WA2−1)を出力キューに登録済みの最終データブ
ロックD1−5と対をなす次アドレスとして次アドレス
メモリ340に書き込む。次アドレスメモリ340への
先頭アドレスWA2−1の書込みは、その時点で出力キ
ュー・アドレステーブルのEA3が示している最終読出
しアドレスWA1−5(図4参照)を書込みアドレスと
して行われる。この後、出力キュー・アドレステーブル
のEA3は、最新アドレスWA2の内容(WA2−3)
に書き換えられる。
FIG. 5 shows that when the output queue of the output line LO-3 is already in use, the input line interface 10-
2 shows the operation of the buffer control unit 30 when writing the final data block D2-3 of the variable length packet output from the buffer control unit 30 to the common buffer memory 22. In this case, after storing the write address WA2-3 of the last data block D2-3 in the next address memory 340, the buffer control unit 30 registers the contents (WA2-1) of the packet head address BA2 of the input queue in the output queue. The next address is written to the next address memory 340 as a next address paired with the completed last data block D1-5. Writing of the head address WA2-1 to the next address memory 340 is performed using the last read address WA1-5 (see FIG. 4) indicated by EA3 in the output queue address table at that time as a write address. Thereafter, EA3 of the output queue address table contains the contents of the latest address WA2 (WA2-3).
Is rewritten as

【0038】回線インタフェースが受信した可変長パケ
ットが短く、固定長の1つのデータブロックに収まる場
合は、このデータブロックを共通バッファメモリ22に
書き込む時、ヘッダ解析部31から出力される先頭表示
フラグ信号FPと最終表示フラグ信号EPが同時にオン
状態となる。この場合、先頭表示フラグ信号FPに応答
して入力キュー・アドレステーブル300に登録された
パケット先頭アドレスBAiと最新アドレスWAiの内
容が、最終表示フラグ信号EPに応答して出力キュー・
アドレステーブル310に直ちに移される。
When the variable-length packet received by the line interface is short and can be accommodated in one fixed-length data block, when this data block is written into the common buffer memory 22, a head display flag signal output from the header analysis unit 31 is output. The FP and the final display flag signal EP are simultaneously turned on. In this case, the contents of the packet head address BAi and the latest address WAi registered in the input queue address table 300 in response to the head display flag signal FP are output in response to the final display flag signal EP.
Immediately moved to address table 310.

【0039】もし、データブロックの転送先となる出力
回線LO−jの出力キューが空状態であれば、図4と同
様、パケット先頭アドレスBAiと最新アドレスWAi
の内容がRAjとEAjに書き込まれ、上記出力キュー
が既に使用状態にあれば、図5と同様、パケット先頭ア
ドレスBAiの内容が出力キューの最終データブロック
と対をなす次アドレスとなり、最新アドレスWAiの内
容が新たなEAjとなる。
If the output queue of the output line LO-j to which the data block is to be transferred is empty, the packet head address BAi and the latest address WAi are used as in FIG.
Is written to RAj and EAj, and if the output queue is already in use, the contents of the packet start address BAi become the next address paired with the last data block of the output queue, as in FIG. 5, and the latest address WAi Becomes the new EAj.

【0040】共通バッファメモリ22からのデータブロ
ックの読出しは、出力キュー制御部33によって行われ
る。出力キュー制御部33は、読出しサイクルに信号線
L25に出力される出力回線選択信号で特定される出力
キュー・アドレステーブルエントリ310―jを参照
し、キューフラグFjがオン状態であれば、次読出しア
ドレスRAjに従って、共通バッファメモリ22からデ
ータブロックを読出し、次アドレスメモリ340から次
アドレスNAjを読み出す。使用済みとなった次読出し
アドレスRAjは、空きアドレスFIFO35に解放さ
れる。次アドレスメモリ340から読み出された次アド
レスNAjは、新たな次読出しアドレスRAjとして出
力キュー・アドレステーブルに記憶される。
The reading of the data blocks from the common buffer memory 22 is performed by the output queue control unit 33. The output queue control unit 33 refers to the output queue address table entry 310-j specified by the output line selection signal output to the signal line L25 in the read cycle, and if the queue flag Fj is on, the next read The data block is read from the common buffer memory 22 according to the address RAj, and the next address NAj is read from the next address memory 340. The used next read address RAj is released to the free address FIFO 35. The next address NAj read from the next address memory 340 is stored in the output queue address table as a new next read address RAj.

【0041】図6は、入力キュー制御部32の1実施例
を示す。 入力キュー制御部32は、パケット先頭アドレスBA1
〜BAnを記憶するためのレジスタ301−1〜301
−nと、最新アドレスWA1〜WAnを記憶するための
レジスタ302−1〜302−nと、ヘッダ解析部31
から受信した入力回線番号IN−iをデコードし、イネ
ーブル信号WEN−1〜WEN−nのうちの1つをオン
状態とするデコーダ321と、レジスタ302−1〜3
02−nからの出力アドレスのうちの1つを選択するた
めのセレクタ322と、レジスタ301−1〜301−
nからの出力アドレスのうちの1つを選択するためのセ
レクタ323と、パケット先頭アドレスの書込みイネー
ブル信号を制御するためのAND回路324−1〜32
4−nとからなっている。
FIG. 6 shows an embodiment of the input queue control unit 32. The input queue control unit 32 outputs the packet start address BA1
To 3031 to 301 for storing .about.BAn.
-N, registers 302-1 to 302-n for storing the latest addresses WA1 to WAn, and a header analyzer 31.
Decoder 321 that decodes input line number IN-i received from, and turns on one of enable signals WEN-1 to WEN-n, and registers 302-1 to 302-3
A selector 322 for selecting one of the output addresses from the address 02-n and registers 301-1 to 301-
selector 323 for selecting one of the output addresses from n, and AND circuits 324-1 to 32 for controlling the write enable signal of the packet head address.
4-n.

【0042】最新アドレスを記憶するレジスタ302−
1〜302−nには、空きアドレスFIFO35から取
り出されたアドレスWAが入力されており、それぞれデ
コーダ321から出力されるイネーブル信号WEN−1
〜WEN−nによって、最新アドレスの更新が制御され
ている。入力回線番号IN−iが第i番目の入力回線を
示した場合、イネーブル信号WEN―iがオン状態とな
り、空きアドレスFIFO35から取り出されたアドレ
スWAがレジスタ302−iに設定される。この時、そ
れまでレジスタ302−iに記憶されていた前データブ
ロックの書込みアドレス{WAi}がセレクタ322に
よって選択され、次アドレス(ポインタアドレス)書込
み用のアドレスWAiとして次アドレス管理部34に供
給される。
A register 302 for storing the latest address
The addresses WA extracted from the empty address FIFO 35 are input to 1 to 302-n, and the enable signal WEN-1 output from the decoder 321 is input to each of the addresses 1 to 302-n.
~ WEN-n controls the update of the latest address. When the input line number IN-i indicates the i-th input line, the enable signal WEN-i is turned on, and the address WA extracted from the empty address FIFO 35 is set in the register 302-i. At this time, the write address {WAi} of the previous data block previously stored in the register 302-i is selected by the selector 322 and supplied to the next address management unit 34 as an address WAi for writing the next address (pointer address). You.

【0043】空きアドレスFIFO35から取り出され
たアドレスWAは、パケット先頭アドレスBA1〜BA
nを記憶するレジスタ301−1〜301−nにも入力
されている。これらのレジスタへの書込みは、AND回
路324−1〜324−nによって制御されており、ヘ
ッダ解析部31から出力される先頭表示フラグFPがオ
ン状態となった書込みサイクルに限り、入力回線番号I
N−iと対応するレジスタ301−iへのアドレスWA
の書込みが行われる。セレクタ323は、入力回線番号
IN−iと対応するレジスタ301−iからの出力アド
レスを選択し、パケット先頭アドレスBAiとして出力
する。
The addresses WA fetched from the free address FIFO 35 are packet head addresses BA1 to BA
n is also input to registers 301-1 to 301-n that store n. Writing to these registers is controlled by AND circuits 324-1 to 324-n, and is limited to the input line number I only during the write cycle in which the head display flag FP output from the header analysis unit 31 is in the ON state.
Address WA to register 301-i corresponding to Ni
Is written. The selector 323 selects an output address from the register 301-i corresponding to the input line number IN-i, and outputs the selected address as a packet head address BAi.

【0044】図7は、出力キュー制御部33の1実施例
を示す。出力キュー制御部33は、次読出しアドレスR
A1〜RAnを記憶するためのレジスタ311−1〜3
11−nと、最終読出しアドレスEA1〜EAnを記憶
するためのレジスタ312−1〜312−nと、キュー
フラグF1〜Fnを記憶するためのレジスタ313−1
〜313−nと、レジスタ311−1〜311−nから
の出力アドレスのうちの1つを選択するためのセレクタ
331と、レジスタ312−1〜312−nからの出力
アドレスのうちの1つを選択するためのセレクタ332
と、レジスタ313−1〜313−nからの出力フラグ
のうちの1つを選択するためのセレクタ333と、出力
カウンタ25から信号線25に出力された出力回線選択
信号をデコードするためのデコーダ334と、ヘッダ解
析部31から出力される出力回線番号OUT−jをデコ
ードして、イネーブル信号EN−1〜EN−nのうちの
1つをオン状態とするデコーダ335と、ヘッダ解析部
31から出力される最終表示フラグ信号EPがオン状態
となった時、上記イネーブル信号EN−1〜EN−nを
有効にするためのAND回路336−1〜336−n
と、AND回路336−1〜336−nとレジスタ31
3−1〜313−nとの間に挿入された遅延回路337
−1〜337−nと、レジスタ313−1〜313−n
とレジスタ311−1〜311−nとの間に挿入された
AND回路338−1〜338−nとからなる。
FIG. 7 shows an embodiment of the output queue control unit 33. The output queue control unit 33 outputs the next read address R
Registers 311-1 to 31-1 for storing A1 to RAn
11-n, registers 312-1 to 312-n for storing final read addresses EA1 to EAn, and a register 313-1 for storing queue flags F1 to Fn.
313-n, a selector 331 for selecting one of the output addresses from the registers 311-1 to 311-n, and one of the output addresses from the registers 312-1 to 312-n. Selector 332 for selecting
And a selector 333 for selecting one of output flags from the registers 313-1 to 313-n, and a decoder 334 for decoding an output line selection signal output from the output counter 25 to the signal line 25. And a decoder 335 that decodes the output line number OUT-j output from the header analysis unit 31 and turns on one of the enable signals EN-1 to EN-n. When the final display flag signal EP is turned on, the AND circuits 336-1 to 336 -n for enabling the enable signals EN- 1 to EN-n are enabled.
, AND circuits 336-1 to 336-n and register 31
Delay circuit 337 inserted between 3-1 to 313-n
−1 to 337-n and registers 313-1 to 313-n
And AND circuits 338-1 to 338-n inserted between the registers 311-1 to 311-n.

【0045】最終読出しアドレスEA1〜EAnを記憶
するためのレジスタ312−1〜312−nには、空き
アドレスFIFO35から取り出された書込みアドレス
WAが入力され、 それぞれAND回路336−1〜3
36−nの出力が書込みイネーブル信号となっている。
最終表示フラグ信号EPがオン状態となった時、出力回
線番号OUT−jと対応するAND回路336−jから
の書込みイネーブル信号が有効となり、レジスタ312
−jに書込みアドレスWAが設定される。尚、この場合
の書込みアドレスWAは、入力キュー・アドレステーブ
ル300における可変長パケットの最終データブロック
の書込みアドレスWAiとなっているため、これによっ
て、入力キューのアドレスWAiが出力キューの最終読
出しアドレスENjに移されたことになる。
The registers 312-1 to 312-n for storing the final read addresses EA1 to EAn are supplied with the write addresses WA extracted from the empty address FIFO 35, and the AND circuits 336-1 to 336-3, respectively.
The output of 36-n is a write enable signal.
When the final display flag signal EP is turned on, the write enable signal from the AND circuit 336-j corresponding to the output line number OUT-j becomes valid and the register 312
The write address WA is set to -j. Since the write address WA in this case is the write address WAi of the last data block of the variable-length packet in the input queue address table 300, the address WAi of the input queue becomes the final read address ENj of the output queue. It has been moved to.

【0046】上記レジスタ312−1〜312−nの出
力は、ヘッダ解析部31から出力される出力回線番号O
UT−jを選択信号とするセレクタ332に接続されて
おり、出力回線番号OUT−jで指定されたレジスタ3
12−jからの出力アドレスEAjが選択され、次アド
レス管理部34に供給される。
The outputs of the registers 312-1 to 312-n are output line numbers O output from the header analysis unit 31.
The register 3 which is connected to the selector 332 which uses UT-j as a selection signal and which is designated by the output line number OUT-j
The output address EAj from 12-j is selected and supplied to the next address management unit 34.

【0047】キューフラグF1〜Fnを記憶するための
レジスタ313−1〜313−nには、それぞれAND
回路336−1〜336−nの出力がセット信号として
与えられている。これらのレジスタ313−1〜313
−nの出力は、出力回線番号OUT−jを選択信号とす
るセレクタ333に接続されており、出力回線番号OU
T−jで指定されたレジスタ313−jのキューフラグ
Fjが選択されて、次アドレス管理部34に供給され
る。
The registers 313-1 to 313-n for storing the queue flags F1 to Fn have AND
The outputs of the circuits 336-1 to 336-n are given as set signals. These registers 313-1 to 313
The output of −n is connected to a selector 333 that uses the output line number OUT-j as a selection signal.
The queue flag Fj of the register 313-j specified by T-j is selected and supplied to the next address management unit 34.

【0048】ここで、 上記レジスタ313−1〜31
3−nには、AND回路336−1〜336−nの出力
が遅延回路337−1〜337−nを介して供給されて
いる。従って、セレクタ333が選択するレジスタ31
3−jからのキューフラグFjは、最終表示フラグ信号
EPによって書き換えられる前のキューフラグの状態を
示しており、上記キューフラグFjが出力された後に、
レジスタ313−jに新たなキューフラグが設定され
る。
Here, the registers 313-1 to 31
The outputs of AND circuits 336-1 to 336-n are supplied to 3-n through delay circuits 337-1 to 337-n. Therefore, the register 31 selected by the selector 333
The cue flag Fj from 3-j indicates the state of the cue flag before being rewritten by the final display flag signal EP, and after the cue flag Fj is output,
A new queue flag is set in the register 313-j.

【0049】次読出しアドレスRA1〜RAnを記憶す
るためのレジスタ311−1〜311−nには、入力キ
ュー制御部32から出力されたパケット先頭アドレスB
Aiと、次アドレス管理部34から出力される次アドレ
スNAiとが入力されている。これらのレジスタ311
−1〜311−nには、書込みサイクルにおいて、それ
ぞれAND回路336−1〜336−nの出力とレジス
タ313−1〜313−nの否定出力とを入力とするA
ND回路318−1〜318−nからの出力信号がイネ
ーブル信号として与えられており、最終表示フラグ信号
EPがオン状態となった時、出力回線番号OUT−jで
指定されたレジスタ313−jの対応するキューフラグ
Fjがオフ状態であることを条件として、出力回線番号
OUT−jで指定されたレジスタ311−jにパケット
先頭アドレスBAiが記憶される。
Registers 311-1 to 311-n for storing the next read addresses RA1 to RAn are provided with the packet start address B output from the input queue control unit 32.
Ai and the next address NAi output from the next address management unit 34 are input. These registers 311
In the write cycle, -1 to 311-n receive the outputs of the AND circuits 336-1 to 336-n and the negative outputs of the registers 313-1 to 313-n, respectively.
Output signals from the ND circuits 318-1 to 318-n are provided as enable signals, and when the final display flag signal EP is turned on, the register 313-j specified by the output line number OUT-j is output. The packet start address BAi is stored in the register 311-j specified by the output line number OUT-j on condition that the corresponding queue flag Fj is in the off state.

【0050】読出しサイクルでは、出力回線選択信号で
指定されたレジスタ311−jに対して、デコーダ33
4からイネーブル信号が与えられ、レジスタ311−j
に記憶されたアドレスRAjがセレクタ331で選択さ
れ、共通バッファメモリ22と次アドレス管理部34に
供給される。また、次アドレス管理部34で次アドレス
メモリ340から読み出された次アドレスNAjが、上
記レジスタ311−jに新たな次読出しアドレスRAj
として書き込まれる。
In the read cycle, the decoder 31-j specified by the output line select signal is supplied to the decoder 33-j.
4 receives an enable signal from the register 311-j.
Are selected by the selector 331 and supplied to the common buffer memory 22 and the next address management unit 34. The next address NAj read from the next address memory 340 by the next address management unit 34 is stored in the register 311-j as a new next read address RAj.
Is written as

【0051】尚、図7では、簡単化のためにリセット回
路の表示を省略したが、レジスタ313−jのリセット
信号には、最終アドレスEAjとパケット先頭アドレス
RAjとの比較結果を用いる。すなわち、最終読出しア
ドレスEAjと次読出しアドレスRAjとが一致した場
合、次の読出しサイクルでは出力キューが空になるた
め、キューフラグFjをリセットする。レジスタ313
−jのリセットは、例えば、セレクタ332の出力とセ
レクタ331の出力との一致を検出するための比較回路
を設けておき、この比較回路から出力される一致検出信
号を利用する。
Although the reset circuit is not shown in FIG. 7 for simplicity, the result of comparison between the last address EAj and the packet start address RAj is used as the reset signal of the register 313-j. That is, when the last read address EAj matches the next read address RAj, the output queue becomes empty in the next read cycle, so that the queue flag Fj is reset. Register 313
For resetting -j, for example, a comparison circuit for detecting a match between the output of the selector 332 and the output of the selector 331 is provided, and a match detection signal output from the comparison circuit is used.

【0052】図8は、次アドレス管理部34の1実施例
を示す。次アドレス管理部34は、次アドレスNA1〜
NAmを記憶するためのレジスタ340−1〜340−
mと、これらのレジスタからの出力アドレスを選択する
セレクタ341と、空きアドレスFIFO35から取り
出された書込みアドレスWAと入力キュー制御部32か
ら供給されるパケット先頭アドレスBAiの一方を選択
するためのセレクタ342と、入力キュー制御部32か
ら供給される最新アドレスWAiと出力キュー制御部3
3から供給される最終読出しアドレスEAjとの一方を
選択するためのセレクタ343と、上記セレクタ343
に接続されたデコーダ344と、AND回路345とか
らなる。
FIG. 8 shows an embodiment of the next address management section 34. The next address management unit 34 stores the next addresses NA1 to NA1.
Registers 340-1 to 340- for storing NAm
m, a selector 341 for selecting an output address from these registers, and a selector 342 for selecting one of the write address WA extracted from the free address FIFO 35 and the packet head address BAi supplied from the input queue control unit 32. And the latest address WAi supplied from the input queue control unit 32 and the output queue control unit 3
And a selector 343 for selecting one of the final read addresses EAj supplied from the selector 343 and the selector 343.
, And an AND circuit 345.

【0053】上記AND回路345には、ヘッダ解析部
31から供給される最終表示フラグ信号EPと、出力キ
ュー制御部33から供給されるキューフラグFjと、ク
ロック信号CLK0とが入力されている。上記CLK0
は、各データブロックの書き込みサイクルの前半でLo
w、後半でHigh状態に変化する信号である。
The AND circuit 345 receives the final display flag signal EP supplied from the header analysis unit 31, the cue flag Fj supplied from the output queue control unit 33, and the clock signal CLK0. CLK0
Is Lo in the first half of the write cycle of each data block.
w is a signal that changes to a high state in the latter half.

【0054】セレクタ342は、書込みサイクルにおい
て、AND回路345の出力信号がオフ状態の時は書込
みアドレスWA、上記出力信号がオン状態の時はパケッ
ト先頭アドレスBAiを選択し、これをレジスタ340
−1〜340−mの入力データとする。セレクタ343
は、AND回路345の出力信号がオフ状態の時は前デ
ータブロックの書込みアドレスWAiを選択し、上記出
力信号がオン状態の時は、先行パケットの最終読出しア
ドレスEAjを選択して、デコーダ344に入力する。
デコーダ344は、セレクタ343から入力されたアド
レスをデコードし、入力アドレスと対応するレジスタ3
40−kに書込みイネーブル信号を与える。
In the write cycle, the selector 342 selects the write address WA when the output signal of the AND circuit 345 is in the off state, and selects the packet start address BAi when the output signal is in the on state.
-1 to 340-m are input data. Selector 343
Selects the write address WAi of the previous data block when the output signal of the AND circuit 345 is off, and selects the final read address EAj of the preceding packet when the output signal is on, and supplies the selected address to the decoder 344. input.
The decoder 344 decodes the address input from the selector 343, and registers the input address and the corresponding register 3
A write enable signal is given to 40-k.

【0055】AND回路345に入力される3つの信号
EP、Fj、CLK0のうち、CLK0は、各書込みサ
イクルの前半で必ずLow状態となるため、各書込みサ
イクルの前半では、入力信号EPとFjの状態に無関係
にAND回路345の出力がオフ状態となり、セレクタ
342と343がそれぞれWAとWAiを選択する。従
って、前データブロックの書込みアドレスWAiと対応
した記憶領域(レジスタ340−k)に最新データブロ
ックの書込みアドレスWAが記憶され、これによって、
図3に示した入力キュー毎のリンクド・アドレスリスト
が形成される。
Of the three signals EP, Fj, and CLK0 input to the AND circuit 345, CLK0 is always in the Low state in the first half of each write cycle. Therefore, in the first half of each write cycle, the input signals EP and Fj are low. Regardless of the state, the output of the AND circuit 345 is turned off, and the selectors 342 and 343 select WA and WAi, respectively. Therefore, the write address WA of the latest data block is stored in the storage area (register 340-k) corresponding to the write address WAi of the previous data block.
The linked address list for each input queue shown in FIG. 3 is formed.

【0056】各書込みサイクルの後半では、CLK0が
High状態となるため、AND回路345の出力は、
入力信号EPとFjの状態によって異なり、入力信号E
PとFjが共にHigh状態となった時、AND回路3
45の出力がオン状態に変化する。すなわち、共通バッ
ファに書込まれるデータブロックが、使用中の出力キュ
ー(信号FjがHigh)に登録される可変長パケット
の最終データブロック(信号EPがHigh)の場合、
上記AND回路345の出力がオン状態となり、セレク
タ342と343がそれぞれBAiとEAjを選択し、
出力キューの最終書込みアドレスEAjが指定する記憶
領域(レジスタ340−q)に上記可変長パケットの先
頭アドレスBAiが記憶される。これによって、後続パ
ケットのデータブロック列(リンクド・アドレスリス
ト)を出力キューにある先行パケットの最終データブロ
ックにリンクすることができる。
In the latter half of each write cycle, CLK0 is in the High state, so that the output of AND circuit 345 is
It depends on the state of the input signals EP and Fj,
When both P and Fj are in the High state, the AND circuit 3
The output at 45 changes to the ON state. That is, when the data block written to the common buffer is the last data block of the variable-length packet registered in the output queue in use (signal Fj is High) (signal EP is High),
The output of the AND circuit 345 is turned on, and the selectors 342 and 343 select BAi and EAj, respectively.
The head address BAi of the variable-length packet is stored in the storage area (register 340-q) specified by the last write address EAj of the output queue. Thus, the data block sequence (linked address list) of the succeeding packet can be linked to the last data block of the preceding packet in the output queue.

【0057】共通バッファに書込まれるデータブロック
が、可変長パケットの先頭データブロックまたは中間デ
ータブロックの場合(信号EPがLow)、または、空
き状態の出力キュー(信号FjがLow)に登録される
可変長パケットの最終データブロックの場合は、上記A
ND回路345の出力がLow状態のまま書込みサイク
ルが終了するため、上述した出力キューへのリンクド・
アドレスリストの追加動作は発生しない。
When the data block written to the common buffer is the first data block or intermediate data block of the variable length packet (signal EP is low), or is registered in an empty output queue (signal Fj is low). In the case of the last data block of the variable length packet, the above A
Since the write cycle is completed while the output of the ND circuit 345 is in the Low state, the link to the output queue described above is output.
No additional operation of the address list occurs.

【0058】読出しサイクルでは、セレクタ341が、
出力キュー制御部33から供給された読出しアドレスR
Ajと対応したレジスタ340−pを選択し、上記レジ
スタに340−pに記憶されたアドレスを次アドレスN
Ajとして出力キュー制御部33に戻す。次アドレスN
Ajは、出力キュー制御部33において、次回の読出し
サイクルで使う新たな次読出しアドレスRAjとして、
レジスタ311−jに記憶される。
In the read cycle, the selector 341
Read address R supplied from output queue control unit 33
Aj, and selects the register 340-p corresponding to Aj, and stores the address stored in the register 340-p in the next address N
The value is returned to the output queue control unit 33 as Aj. Next address N
Aj is output by the output queue control unit 33 as a new next read address RAj used in the next read cycle.
It is stored in the register 311-j.

【0059】以上の実施例では、バッファ制御部30
が、入力回線番号毎に入力キューを形成し、可変長パケ
ットの最後のデータブロックが到着した時点で、入力キ
ューのリンクド・アドレスリストを出力キューに移すよ
うにしたが、本発明において、各入力キューは可変長パ
ケット毎に形成できればよいため、上記入力回線番号に
代えて、各可変長パケットに固有の他の識別情報を使用
してもよい。実施例では、各データブロックの内部ヘッ
ダに入力回線番号を設定し、ヘッダ解析部31が上記内
部ヘッダに基づいて入力回線番号IN−jを出力した
が、入力回線番号IN−jは、入力カウンタ24から出
力される入力回線選択信号に基づいて生成するようにし
てもよい。
In the above embodiment, the buffer control unit 30
Formed an input queue for each input line number, and moved the linked address list of the input queue to the output queue when the last data block of the variable-length packet arrived. Since the queue only needs to be formed for each variable length packet, other identification information unique to each variable length packet may be used instead of the input line number. In the embodiment, the input line number is set in the internal header of each data block, and the header analysis unit 31 outputs the input line number IN-j based on the internal header. Alternatively, it may be generated based on an input line selection signal output from 24.

【0060】また、上述した実施例では、各入力回線イ
ンタフェース10−i(i=1〜n)が、入力回線から
受信した可変長パケット100を固定長の複数のデータ
ブロック110に分割し、各データブロックに内部ヘッ
ダ110Aを付した形で多重化部21に出力し、内部ヘ
ッダ付きのデータブロックを共通バッファメモリ22に
リード、ライトする構成となっているが、本発明の他の
実施形態として、例えば、図9に示すように、多重化部
21でデータブロック110と内部ヘッダ110Aを分
離し、内部ヘッダ110Aはバッファ制御部30のヘッ
ダ解析部31に供給し、共通バッファメモリ22にはデ
ータブロック110部分のみを入力するようにしてもよ
い。上記構成によれば、共通バッファメモリ22のメモ
リ容量を有効に利用でき、各出力回線インタフェース2
0―iでデータブロックから内部ヘッダを除去する必要
がなくなる。
In the above-described embodiment, each input line interface 10-i (i = 1 to n) divides the variable length packet 100 received from the input line into a plurality of fixed-length data blocks 110. The data block is output to the multiplexing unit 21 with the internal header 110A attached thereto, and the data block with the internal header is read and written to the common buffer memory 22. However, as another embodiment of the present invention, For example, as shown in FIG. 9, the multiplexing unit 21 separates the data block 110 from the internal header 110A, supplies the internal header 110A to the header analysis unit 31 of the buffer control unit 30, and stores the data in the common buffer memory 22. You may make it input only the block 110 part. According to the above configuration, the memory capacity of the common buffer memory 22 can be used effectively, and each output line interface 2
0-i eliminates the need to remove the internal header from the data block.

【0061】本発明の更に他の実施形態として、各入力
回線インタフェース10−iが、固定長データブロック
110を内部ヘッダを付すことなく多重化部21に出力
し、バッファ制御部30のヘッダ解析部31が、各可変
長パケットの先頭データブロックに含まれるパケットヘ
ッダを解析し、各入力回線毎に出力回線番号と後続デー
タブロック数を管理テーブル上で管理しておき、入力カ
ウンタ24から与えられる入力回線選択信号に応じて上
記管理テーブルを参照し、前述したIN−i、FP、E
P、OUT−j等の制御信号を生成するようにしてもよ
い。また、可変長パケット100から固定長のデータブ
ロック110への変換は、各入力回線インタフェース1
0−iで行う代わりに、多重化部21で行うようにして
もよい。
As still another embodiment of the present invention, each input line interface 10-i outputs the fixed-length data block 110 to the multiplexing unit 21 without adding an internal header, and outputs the fixed-length data block 110 to the header analyzing unit of the buffer control unit 30. 31 analyzes a packet header included in the head data block of each variable-length packet, manages an output line number and the number of subsequent data blocks for each input line on a management table, and receives an input from an input counter 24. The management table is referred to according to the line selection signal, and the above-described IN-i, FP, E
Control signals such as P and OUT-j may be generated. The conversion from the variable-length packet 100 to the fixed-length data block 110 is performed by each input line interface 1.
Instead of using 0-i, the multiplexing unit 21 may perform it.

【0062】実施例では、複数の入出力回線に接続され
るパケットスイッチについて説明したが、本発明のバッ
ファ制御は、複数の入力回線から受信した可変長パケッ
トを1つの出力回線に出力するスイッチ構造(多重化装
置)にも適用可能である。
In the embodiment, a packet switch connected to a plurality of input / output lines has been described. However, the buffer control according to the present invention employs a switch structure for outputting variable length packets received from a plurality of input lines to one output line. (Multiplexing device).

【0063】[0063]

【発明の効果】以上の説明から明かなように、本発明で
は、可変長パケット毎の入力キューを形成しておき、1
つの可変長パケットの最後のデータブロックがバッファ
メモリに書き込まれた時点で、入力キューを上記可変長
パケットの出力回線と対応した出力キューに移すように
している。従って、本発明によれば、同一の出力回線に
向かう複数の可変長パケットが並列的に入力された場合
でも、出力キュー内で1つの可変長パケットに属したデ
ータブロック列に他のパケットのデータブロックが混入
するのを防止でき、出力キューから取り出したデータブ
ロックを順次に出力回線に送出することによって、受信
パケットを正しく宛先装置に転送することが可能とな
る。
As is clear from the above description, according to the present invention, an input queue is formed for each variable-length packet, and 1
When the last data block of one variable-length packet is written to the buffer memory, the input queue is moved to an output queue corresponding to the output line of the variable-length packet. Therefore, according to the present invention, even when a plurality of variable-length packets destined for the same output line are input in parallel, the data block sequence belonging to one variable-length packet in the output queue has the data of another packet. Blocks can be prevented from being mixed, and by sequentially sending data blocks extracted from the output queue to the output line, it becomes possible to correctly transfer received packets to the destination device.

【0064】また、本発明では、入力回線から受信した
可変長パケットを固定長のデータブロックに分割し、固
定長のブロック単位で共通バッファメモリに蓄積してお
き、可変長パケットの最後のデータブロックが蓄積され
た時点で、共通バッファメモリ内に蓄積済みのデータブ
ロック列を移動することなく、上記データブロック列を
読み出すためのリンクド・アドレスリストのみを出力キ
ューに移す構成となっているため、可変長パケットの高
速スイッチングが可能となる。
In the present invention, the variable-length packet received from the input line is divided into fixed-length data blocks and stored in the common buffer memory in fixed-length block units. Is stored in the common buffer memory, and only the linked address list for reading the data block sequence is moved to the output queue without moving the data block sequence stored in the common buffer memory. High-speed switching of long packets becomes possible.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明を適用したパケットスイッチの1実施例
を示す図。
FIG. 1 is a diagram showing one embodiment of a packet switch to which the present invention is applied.

【図2】図1に示したパケットスイッチのバッファ制御
部30の詳細を示す図。入力キューおよび出力キューの
第一の状態を示す概念図。
FIG. 2 is a diagram showing details of a buffer control unit 30 of the packet switch shown in FIG. FIG. 3 is a conceptual diagram illustrating a first state of an input queue and an output queue.

【図3】共通バッファメモリ22に蓄積されるデータブ
ロックと、次アドレスメモリ340および入力キュー・
アドレステーブル300の状態を説明するための図。
FIG. 3 shows data blocks stored in a common buffer memory 22, a next address memory 340, and an input queue.
FIG. 4 is a diagram for explaining a state of an address table 300.

【図4】可変長パケットの最後のデータブロックが到着
した場合の入力キュー・アドレステーブル300と出力
キュー・アドレステーブル310との関係を説明するた
めの図。
FIG. 4 is a diagram for explaining a relationship between an input queue address table 300 and an output queue address table 310 when the last data block of a variable length packet arrives.

【図5】出力キューが使用状態にある時に他の可変長パ
ケットの最後のデータブロックが到着した場合の入力キ
ュー・アドレステーブル300と出力キュー・アドレス
テーブル310との関係を説明するための図。
FIG. 5 is a diagram for explaining the relationship between the input queue address table 300 and the output queue address table 310 when the last data block of another variable length packet arrives while the output queue is in use.

【図6】図2に示した入力キュー制御部32の1実施例
を示す図。
FIG. 6 is a diagram showing one embodiment of the input queue control unit 32 shown in FIG. 2;

【図7】図2に示した出力キュー制御部33の1実施例
を示す図。
FIG. 7 is a diagram showing one embodiment of an output queue control unit 33 shown in FIG. 2;

【図8】図2に示した次アドレス管理部34の1実施例
を示す図。
FIG. 8 is a diagram showing one embodiment of the next address management unit shown in FIG. 2;

【図9】本発明を適用したパケットスイッチの他の実施
例を示す図。
FIG. 9 is a diagram showing another embodiment of the packet switch to which the present invention is applied.

【符号の説明】[Explanation of symbols]

1:パケットスイッチ、10:入力回線インタフェー
ス、20:出力回線インタフェース、21:多重化部、
22:共通バッファメモリ、23:分離部、24:入力
カウンタ、25:出力カウンタ、30:バッファ制御
部、LI:入力回線、LO:出力回線、31: ヘッダ
解析部、32:入力キュー制御部、33:出力キュー制
御部、34:次アドレス管理部、35:空きアドレスF
IFO、300:入力キュー・アドレステーブル、30
1(BA1〜BAn):パケット先頭アドレス、302
(WA1〜WAn):最新アドレス、310:出力キュ
ー・アドレステーブル、311(RA1〜RAn):次
読出しアドレス、312(EA1〜EAn):最終読出
しアドレス、313(F1〜Fn):キューフラグ。
1: packet switch, 10: input line interface, 20: output line interface, 21: multiplexer
22: common buffer memory, 23: separation unit, 24: input counter, 25: output counter, 30: buffer control unit, LI: input line, LO: output line, 31: header analysis unit, 32: input queue control unit, 33: output queue control unit, 34: next address management unit, 35: free address F
IFO, 300: input queue address table, 30
1 (BA1 to BAn): packet start address, 302
(WA1 to WAn): latest address, 310: output queue address table, 311 (RA1 to RAn): next read address, 312 (EA1 to EAn): last read address, 313 (F1 to Fn): queue flag.

───────────────────────────────────────────────────── フロントページの続き (72)発明者 小崎 尚彦 神奈川県横浜市戸塚区戸塚町216番地 株 式会社日立製作所通信事業部内 (72)発明者 和田 光弘 神奈川県横浜市戸塚区戸塚町216番地 株 式会社日立製作所通信事業部内 (72)発明者 森脇 紀彦 東京都国分寺市東恋ヶ窪一丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 深野 真純 神奈川県横浜市戸塚区戸塚町216番地 株 式会社日立製作所通信事業部内 (72)発明者 二見 勇正 神奈川県横浜市戸塚区戸塚町216番地 株 式会社日立製作所通信事業部内 (72)発明者 菅野 隆行 神奈川県横浜市戸塚区戸塚町216番地 株 式会社日立製作所通信事業部内 Fターム(参考) 5K030 GA01 HA08 HB28 JA01 KA13 KX02  ──────────────────────────────────────────────────続 き Continued on the front page (72) Inventor Naohiko Ozaki 216 Totsuka-cho, Totsuka-ku, Yokohama-shi, Kanagawa Prefecture Inside the Hitachi, Ltd.Communications Division (72) Inventor Mitsuhiro Wada 216 Totsuka-cho, Totsuka-ku, Yokohama-shi, Kanagawa Prefecture Hitachi, Ltd.Communications Division (72) Inventor Norihiko Moriwaki 1-280 Higashi Koigabo, Kokubunji-shi, Tokyo Inside the Central Research Laboratory of Hitachi, Ltd. (72) Inventor Masazumi Fukano 216 Totsuka-cho, Totsuka-ku, Yokohama-shi, Kanagawa-ken, Ltd. Hitachi, Ltd. Communications Division (72) Inventor Yumasa Futami 216, Totsuka-cho, Totsuka-ku, Yokohama-shi, Kanagawa Prefecture In-house Hitachi Ltd. Communications Division (72) Takayuki Kanno 216, Totsuka-cho, Totsuka-ku, Yokohama, Kanagawa, Japan 5K030 GA01 HA08 HB28 JA01 KA13 KX02

Claims (6)

【特許請求の範囲】[Claims] 【請求項1】複数の入力回線から受信した可変長パケッ
トを少なくとも1つの出力回線に固定長のデータブロッ
ク単位で転送するパケットスイッチにおいて、 上記複数の入力回線に共用される共通バッファメモリ
と、 上記各入力回線からの受信パケットを固定長のデータブ
ロック単位で多重化して上記共通バッファメモリに供給
する多重化手段と、 上記共通バッファメモリへの上記各固定長データブロッ
クの書き込みと読出しを制御するバッファ制御手段とか
らなり、 上記バッファ制御手段が、上記共通バッファメモリにお
ける各固定長データブロックの書込みアドレスを可変長
パケット別にリンクして複数の入力キューを形成してお
き、可変長パケットの最後の固定長データブロックが上
記共通バッファメモリに書込み済みとなった入力キュー
を転送先出力回線と対応する出力キューにリンクする第
1制御手段と、出力回線対応に形成された複数の出力キ
ューを所定の順序でアクセスし、各出力キューが示すリ
ンクド・アドレスに基づいて上記共通バッファメモリか
ら固定長データブロックを読み出す第2制御手段とを備
えたことを特徴とするパケットスイッチ。
1. A packet switch for transferring variable-length packets received from a plurality of input lines to at least one output line in fixed-length data block units, wherein: a common buffer memory shared by the plurality of input lines; Multiplexing means for multiplexing received packets from each input line in fixed-length data block units and supplying the multiplexed data to the common buffer memory; and a buffer for controlling writing and reading of the fixed-length data blocks to and from the common buffer memory The buffer control means links a write address of each fixed-length data block in the common buffer memory for each variable-length packet to form a plurality of input queues, and forms the last fixed-length packet of the variable-length packet. Input for which a long data block has been written to the common buffer memory First control means for linking a queue to an output queue corresponding to a transfer destination output line; and accessing a plurality of output queues formed for the output line in a predetermined order, based on a linked address indicated by each output queue. A second control unit for reading a fixed-length data block from the common buffer memory.
【請求項2】前記バッファ制御手段が、前記共通バッフ
ァメモリにおける空きアドレスを保持するための空きア
ドレスメモリと、前記共通バッファメモリにおける固定
長データブロックの書込みアドレスを記憶するための次
アドレスメモリとを有し、 前記第1制御手段が、上記空きアドレスメモリから取り
出した書込みアドレスに基づいて前記共通バッファメモ
リに各固定長データブロックを書き込み、上記次アドレ
スメモリに上記各書込みアドレスと対応して同一可変長
パケットにおける次の固定長データブロックの書込みア
ドレスを記憶することにより、前記入力キューを形成す
ることを特徴とする請求項1に記載のパケットスイッ
チ。
2. The buffer control means according to claim 1, further comprising: a free address memory for holding a free address in said common buffer memory; and a next address memory for storing a write address of a fixed-length data block in said common buffer memory. The first control means writes each fixed-length data block in the common buffer memory based on a write address taken out from the free address memory, and the same variable corresponding to each write address in the next address memory. The packet switch according to claim 1, wherein the input queue is formed by storing a write address of a next fixed-length data block in a long packet.
【請求項3】前記各出力キューが、次に読み出すべきデ
ータブロックを示す次読出しアドレスと最後のデータブ
ロックを示す最終読出しアドレスとを記憶するアドレス
テーブルからなり、 前記第1制御手段が、各可変長パケットの先頭データブ
ロックの書込みアドレスと最終データブロックの書込み
アドレスをそれぞれ転送先出力回線と対応するアドレス
テーブルの次読出しアドレスおよび最終読出しアドレス
とすることを特徴とする請求項2に記載のパケットスイ
ッチ。
3. Each of the output queues comprises an address table for storing a next read address indicating a data block to be read next and a final read address indicating a last data block. 3. The packet switch according to claim 2, wherein the write address of the first data block and the write address of the last data block of the long packet are respectively a next read address and a last read address of an address table corresponding to the transfer destination output line. .
【請求項4】先行する可変長パケットの最終読出しアド
レスが既に登録された状態にある出力キューに対して後
続する可変長パケットの入力キューをリンクする場合、
前記第1制御手段が、前記次アドレスメモリにおいて、
上記後続可変長パケットの先頭データブロックの書込み
アドレスを上記最終読出しアドレスにリンクさせること
を特徴とする請求項2または請求項3に記載のパケット
スイッチ。
4. When linking an input queue of a subsequent variable length packet to an output queue in which a final read address of a preceding variable length packet is already registered,
The first control means includes:
4. The packet switch according to claim 2, wherein a write address of a leading data block of the succeeding variable length packet is linked to the final read address.
【請求項5】前記第2制御手段が、前記各出力キューに
登録された次読出しアドレスに基づいて、前記共通バッ
ファメモリと次アドレスメモリからそれぞれ固定長デー
タブロックと次の固定長データブロックのアドレスとを
読出し、上記次読出しメモリを前記空きアドレスメモリ
に移すと共に、上記次アドレスメモリから読み出された
アドレスを当該出力キューにおける新たな次読出しアド
レスとすることを特徴とする請求項3または請求項4に
記載のパケットスイッチ。
5. An address of a fixed-length data block and a next fixed-length data block from the common buffer memory and the next address memory, respectively, based on a next read address registered in each of the output queues. And reading the next read memory, moving the next read memory to the free address memory, and setting the address read from the next address memory as a new next read address in the output queue. 5. The packet switch according to 4.
【請求項6】前記共通バッファメモリから読み出された
固定長データブロックを複数の出力回線に振り分けるた
めの分離手段を備えたことを特徴とする請求項1〜請求
項5の何れかに記載のパケットスイッチ。
6. The apparatus according to claim 1, further comprising a separating unit for allocating the fixed-length data block read from the common buffer memory to a plurality of output lines. Packet switch.
JP2000340105A 2000-11-08 2000-11-08 Packet switch Pending JP2002152247A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2000340105A JP2002152247A (en) 2000-11-08 2000-11-08 Packet switch
US09/791,791 US6977941B2 (en) 2000-11-08 2001-02-26 Shared buffer type variable length packet switch

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000340105A JP2002152247A (en) 2000-11-08 2000-11-08 Packet switch

Publications (1)

Publication Number Publication Date
JP2002152247A true JP2002152247A (en) 2002-05-24

Family

ID=18815070

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000340105A Pending JP2002152247A (en) 2000-11-08 2000-11-08 Packet switch

Country Status (1)

Country Link
JP (1) JP2002152247A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7496034B2 (en) 2004-11-05 2009-02-24 Fujitsu Limited Packet processing device implementing scheduling and priority for improved efficiency
JP2009171157A (en) * 2008-01-15 2009-07-30 Fujitsu Ltd Utilization method of ring buffer, and switching device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7496034B2 (en) 2004-11-05 2009-02-24 Fujitsu Limited Packet processing device implementing scheduling and priority for improved efficiency
JP2009171157A (en) * 2008-01-15 2009-07-30 Fujitsu Ltd Utilization method of ring buffer, and switching device

Similar Documents

Publication Publication Date Title
US4991172A (en) Design of a high speed packet switching node
US9461940B2 (en) System and method for high speed packet transmission
US7035212B1 (en) Method and apparatus for end to end forwarding architecture
US5790545A (en) Efficient output-request packet switch and method
US6977941B2 (en) Shared buffer type variable length packet switch
EP1045558B1 (en) Very wide memory TDM switching system
US6611527B1 (en) Packet switching apparatus with a common buffer
US6487171B1 (en) Crossbar switching matrix with broadcast buffering
US7016350B2 (en) Data switch and a method for controlling the data switch
JP2001045061A (en) Communication node device
JP2000503828A (en) Method and apparatus for switching data packets over a data network
JP2003224582A (en) Controlled access atm switch
JP2004507165A (en) Switching table update in switch fabric
EP1122927A2 (en) Route lookup engine
JP4530806B2 (en) Packet transmission equipment
JP2004507160A (en) System and method for forwarding packets from a port controller to a switch fabric
US6643294B1 (en) Distributed control merged buffer ATM switch
US6470021B1 (en) Computer network switch with parallel access shared memory architecture
JP2003521156A (en) Apparatus and method for sharing memory using a single ring data bus connection configuration
JP3652245B2 (en) Packet switch
JP3645735B2 (en) Network relay device and network relay method
JP2002152247A (en) Packet switch
US7206310B1 (en) Method and apparatus for replicating packet data with a network element
JPH09321776A (en) Atm cell making circuit
JP2002344514A (en) Multi-cast method and device thereof