JP5631850B2 - Switch device - Google Patents

Switch device Download PDF

Info

Publication number
JP5631850B2
JP5631850B2 JP2011249850A JP2011249850A JP5631850B2 JP 5631850 B2 JP5631850 B2 JP 5631850B2 JP 2011249850 A JP2011249850 A JP 2011249850A JP 2011249850 A JP2011249850 A JP 2011249850A JP 5631850 B2 JP5631850 B2 JP 5631850B2
Authority
JP
Japan
Prior art keywords
queue
packet
speed memory
low
memory
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
JP2011249850A
Other languages
Japanese (ja)
Other versions
JP2013106260A (en
Inventor
長生 蔦田
長生 蔦田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Telecom Networks Ltd
Original Assignee
Fujitsu Telecom Networks 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 Fujitsu Telecom Networks Ltd filed Critical Fujitsu Telecom Networks Ltd
Priority to JP2011249850A priority Critical patent/JP5631850B2/en
Publication of JP2013106260A publication Critical patent/JP2013106260A/en
Application granted granted Critical
Publication of JP5631850B2 publication Critical patent/JP5631850B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

この発明は、データ通信技術に関し、通信データを中継するスイッチ装置に関する。   The present invention relates to a data communication technique, and relates to a switch device that relays communication data.

スイッチ装置の中には、入力ポートにおいて伝送路から受信したイーサネットパケット(「イーサネット」は登録商標)のVLAN識別子と宛先MACアドレスにしたがって出力ポートを決定するものがある。また、パケットに設定された優先度にしたがって、優先度振分けを行うものがある。   Some switch devices determine an output port according to a VLAN identifier and a destination MAC address of an Ethernet packet (“Ethernet” is a registered trademark) received from a transmission path at an input port. In addition, there is one that performs priority distribution according to the priority set in the packet.

またスイッチ装置の中には、バッファに書き込まれたパケットを出力ポート毎に読出すスケジューラを設け、スケジューラから読出された順序で出力ポートから伝送路へパケットを送出するものがある。一般的にスケジューラは、優先度が高いパケットを優先度が低いパケットより優先して読出す。また優先度が低いパケットの読出しには、VLAN識別子毎にWRR(Weighted Round Robin)規則が適用される場合もある。   Some switch devices are provided with a scheduler for reading out the packets written in the buffer for each output port, and send the packets from the output port to the transmission line in the order read from the scheduler. In general, the scheduler reads packets with high priority in preference to packets with low priority. In addition, a WRR (Weighted Round Robin) rule may be applied to each VLAN identifier for reading a packet having a low priority.

特開2004−153482号公報JP 2004-153482 A

スイッチ装置におけるパケットスイッチは、パケットバッファとしてのメモリに対するパケットの書込みと読出し(Write/Read)により実現される。このため、要求されるスイッチ処理速度が高くなるほど、メモリに対するWrite/Read速度を高くする必要がある。例えば、入力100Gb/s(ギガバイト毎秒)、出力100Gb/sのパケットスイッチにおいては、メモリへのアクセス速度として、Write速度=100Gb/s、Read速度=100Gb/sが必要になる。   The packet switch in the switch device is realized by writing and reading (Write / Read) of a packet with respect to a memory as a packet buffer. For this reason, it is necessary to increase the write / read speed for the memory as the required switch processing speed increases. For example, in a packet switch with input 100 Gb / s (gigabyte per second) and output 100 Gb / s, Write speed = 100 Gb / s and Read speed = 100 Gb / s are required as memory access speeds.

ところで、パケットバッファのメモリとしては外部メモリが用いられることもあり、また内部メモリが用いられることもある。外部メモリは、スイッチデバイス(基盤回路)の外部に設けられたメモリであり、例えばスイッチデバイスに対して外付けされるDRAMである。外部メモリは、低速かつ大容量のメモリであり、例えばWrite/Read速度が32bit幅×400MHz(Double Data Rate)で、容量が数百Mb(メガバイト)〜数Gb以上である。その一方、高速メモリは、スイッチデバイス(基盤回路)内部に設けられるメモリであり、例えばLSI(FPGA・ASIC・ASSP等)内部に構築されたメモリである。高速メモリは、高速かつ小容量のメモリであり、Write/Read速度には実質的に制約はないが(例えば100Gb/s)、容量は2.5Mb程度が限界である。   Incidentally, an external memory may be used as the packet buffer memory, and an internal memory may be used. The external memory is a memory provided outside the switch device (base circuit), for example, a DRAM externally attached to the switch device. The external memory is a low-speed and large-capacity memory. For example, the write / read speed is 32 bits wide × 400 MHz (Double Data Rate), and the capacity is several hundred Mb (megabytes) to several Gb or more. On the other hand, the high-speed memory is a memory provided in the switch device (base circuit), for example, a memory constructed in an LSI (FPGA, ASIC, ASSP, etc.). The high-speed memory is a high-speed and small-capacity memory, and there is virtually no restriction on the write / read speed (for example, 100 Gb / s), but the capacity is limited to about 2.5 Mb.

上記のパケット処理速度を実現するため、パケットバッファとして外部メモリ使用する場合、外部メモリのWrite/Read速度を32bit幅×400MHz(Double Data Rate)とすると、8個の外部メモリが必要になる。
100Gb/s(Write) + 100Gb/s(Read) = 200Gb/s(MIN)
32bit幅 × 400MHz × 2(DDR) × 8個 = 204.8Gb/s
In order to realize the above packet processing speed, when using an external memory as a packet buffer, if the write / read speed of the external memory is 32 bits wide × 400 MHz (Double Data Rate), 8 external memories are required.
100Gb / s (Write) + 100Gb / s (Read) = 200Gb / s (MIN)
32bit width × 400MHz × 2 (DDR) × 8 pieces = 204.8Gb / s

また、イーサネットのユーザトラヒックにはバースト性があり、ユーザトラヒックのバーストが同時刻に重なっても廃棄されるパケット量を抑制するために、大容量のメモリが必要になる。例えば、10個の入力ポートを備えるスイッチ装置において、10Gb/sの入力ポートに平均帯域10Mb/s、最大帯域100Mb/s、バーストサイズ100Kb(キロバイト)のユーザを1000ユーザ収容する場合、パケット廃棄を防ぐために必要なバッファ容量は1Gbとなる。
1000ユーザ × 100Kbバーストサイズ = 100Mb
100Mb × 10ポート = 1Gb
In addition, Ethernet user traffic has burstiness, and a large-capacity memory is required to suppress the amount of packets discarded even when user traffic bursts overlap at the same time. For example, in a switch device with 10 input ports, if a 10 Gb / s input port accommodates 1000 users with an average bandwidth of 10 Mb / s, a maximum bandwidth of 100 Mb / s, and a burst size of 100 Kb (kilobytes), packet discard The buffer capacity required to prevent it is 1Gb.
1000 users x 100Kb burst size = 100Mb
100Mb x 10 ports = 1Gb

以上より、200Gb/sのアクセス速度と、1Gbのバースト耐性を持たせるためには、Write/Read速度が32bit幅×400MHz(Double Data Rate)、容量が125Mbの外部メモリを8個搭載する必要がある。外部メモリは典型的には1センチ×2センチ程度の大きさがあるため、外部メモリを8個搭載するにはスイッチ装置に広い部品配置スペースを設ける必要があり、小型のスイッチ装置では実装が困難であった。また大量の電力を消費してしまう問題もあった。   From the above, in order to have 200Gb / s access speed and 1Gb burst tolerance, it is necessary to install 8 external memories with 32bit width x 400MHz (Double Data Rate) and 125Mb capacity. is there. Since the external memory typically has a size of about 1 cm × 2 cm, in order to mount eight external memories, it is necessary to provide a large component arrangement space in the switch device, which is difficult to mount with a small switch device. Met. There is also a problem that a large amount of power is consumed.

パケットバッファとして内部メモリを使用する場合、アクセス速度の条件は達成できるが、メモリ容量は2.5Mb程度が限界であり、バースト耐性の条件が達成できない。   When an internal memory is used as a packet buffer, the access speed condition can be achieved, but the memory capacity is limited to about 2.5 Mb, and the burst resistance condition cannot be achieved.

本発明は、こうした課題に鑑みてなされたものであり、その主たる目的は、外部メモリの個数を抑制しつつ、メモリへの高速なアクセスと、ユーザトラヒックのバースト吸収とを両立したスイッチ装置を実現するための技術を提供することである。   The present invention has been made in view of these problems, and its main purpose is to realize a switching device that achieves both high-speed access to memory and burst absorption of user traffic while suppressing the number of external memories. Is to provide technology to

上記課題を解決するために、本発明のある態様のスイッチ装置は、スイッチ装置であって、アクセス速度が相対的に高く小容量のメモリである高速メモリと、アクセス速度が相対的に低く大容量のメモリである低速メモリと、入力ポートにおいて受け付けられたパケットを格納すべきバッファとして、高速メモリの空きが所定の閾値以上の場合に高速メモリを選択する一方、高速メモリの空きが当該閾値未満の場合は低速メモリを選択する振分け部と、を備える。   In order to solve the above-described problems, a switch device according to an aspect of the present invention is a switch device, which includes a high-speed memory that has a relatively high access speed and a small capacity, and a relatively low access speed and a large capacity. The high-speed memory is selected when the free space of the high-speed memory is greater than or equal to a predetermined threshold as the buffer for storing the packets received at the input port, and the low-speed memory is less than the threshold. A distribution unit for selecting a low-speed memory.

なお、以上の構成要素の任意の組合せ、本発明の表現を、方法、システム、プログラム、プログラムを格納した記録媒体などの間で変換したものもまた、本発明の態様として有効である。   It should be noted that any combination of the above-described components and the expression of the present invention converted between a method, a system, a program, a recording medium storing the program, and the like are also effective as an aspect of the present invention.

本発明によれば、外部メモリの個数を抑制しつつ、メモリへの高速なアクセスと、ユーザトラヒックのバースト吸収とを両立したスイッチ装置を実現することができる。   According to the present invention, it is possible to realize a switching device that achieves both high-speed access to memory and burst absorption of user traffic while suppressing the number of external memories.

第1の実施の形態のスイッチ装置の構成を示す図である。It is a figure which shows the structure of the switch apparatus of 1st Embodiment. 出力ポート検索テーブルを模式的に示す図である。It is a figure which shows an output port search table typically. 内部メモリの構成を模式的に示す図である。It is a figure which shows the structure of an internal memory typically. 外部メモリの構成を模式的に示す図である。It is a figure which shows the structure of an external memory typically. WRR規則テーブルを模式的に示す図である。It is a figure which shows a WRR rule table typically. 図1の振分け処理部の詳細な構成を示すブロック図である。It is a block diagram which shows the detailed structure of the distribution process part of FIG. スイッチ装置の動作を示すフローチャートである。It is a flowchart which shows operation | movement of a switch apparatus. 図7のS18の振分け処理を詳細に示すフローチャートである。It is a flowchart which shows in detail the distribution process of S18 of FIG. スイッチ装置の動作を示すフローチャートである。It is a flowchart which shows operation | movement of a switch apparatus. スイッチ装置の動作を示すフローチャートである。It is a flowchart which shows operation | movement of a switch apparatus. 第2の実施の形態のスイッチ装置の特徴部分を示す図である。It is a figure which shows the characteristic part of the switch apparatus of 2nd Embodiment.

まず、本発明の実施の形態の概要を説明する。
実施の形態のスイッチ装置は、レイヤ2スイッチであり、相対的に高い優先度が設定されたイーサネットフレーム(以下、「高優先パケット」とも呼ぶ。)と、相対的に低い優先度が設定されたイーサネットフレーム(以下、「低優先パケット」とも呼ぶ。)を伝送路から受け付けてスイッチ処理を実行する。高優先パケットは、イーサネットフレームのVLANタグのPCP(Priority Code Point)フィールド(3ビット)に優先度が高いことを示す値(例えば4,5,6,7のいずれか)が設定されたものでもよい。言い換えれば、PCPフィールドの値が示す優先度が所定値以上(例えば4以上)のものでもよい。同様に低優先パケットは、PCPフィールドに優先度が低いことを示す値(1,2,3,4)が設定されたものでもよく、言い換えれば、PCPフィールドの値が示す優先度が所定値未満(例えば4未満)のものでもよい。以下では、高優先パケットと低優先パケットを総称する場合、単に「パケット」と呼ぶ。
First, an outline of an embodiment of the present invention will be described.
The switch device according to the embodiment is a layer 2 switch, in which a relatively high priority is set and an Ethernet frame (hereinafter also referred to as “high priority packet”) and a relatively low priority is set. An Ethernet frame (hereinafter also referred to as a “low priority packet”) is received from the transmission path and the switch process is executed. A high priority packet may be one in which a value (for example, any of 4, 5, 6 and 7) indicating a high priority is set in the PCP (Priority Code Point) field (3 bits) of the VLAN tag of the Ethernet frame. Good. In other words, the priority indicated by the value of the PCP field may be a predetermined value or higher (for example, 4 or higher). Similarly, the low priority packet may have a value (1, 2, 3, 4) indicating that the priority is low in the PCP field. In other words, the priority indicated by the value of the PCP field is less than a predetermined value. (For example, less than 4) may be used. Hereinafter, when the high priority packet and the low priority packet are collectively referred to, they are simply referred to as “packets”.

実施の形態のスイッチ装置は、内部メモリと外部メモリの両方を備える。内部メモリには、高優先パケットを出力ポート単位で保持する高優先キューと、低優先パケットを出力ポート単位かつVLAN単位で保持する低優先キューが設けられる。またスイッチ装置は、出力ポート毎に高優先キュー>低優先キューの優先度でパケットを読出すSP(Strict Priority)スケジューラと、低優先キューから出力ポート毎かつVLAN毎に、各VLANに対して定められた重みに応じた比率でパケットを読出すWRR(Weighted Round Robin)スケジューラを備える。   The switch device according to the embodiment includes both an internal memory and an external memory. The internal memory is provided with a high priority queue that holds high priority packets in units of output ports and a low priority queue that holds low priority packets in units of output ports and VLANs. In addition, the switching device defines an SP (Strict Priority) scheduler for reading packets with a priority of high priority queue> low priority queue for each output port, and for each VLAN for each output port and each VLAN from the low priority queue. A WRR (Weighted Round Robin) scheduler is provided for reading packets at a ratio corresponding to the given weight.

内部メモリの低優先キューには空き状況に関する閾値が設定される。内部メモリの低優先キューの空きが閾値以上であれば、すなわち非輻輳時には、低優先パケットを内部メモリの低優先キューへ格納する。その一方、内部メモリの低優先キューの空きが閾値未満になると、すなわち輻輳時には、低優先パケットを大容量の外部メモリへ格納する。   A threshold relating to the availability is set in the low priority queue of the internal memory. If the free space in the low priority queue in the internal memory is equal to or greater than the threshold value, that is, when there is no congestion, the low priority packet is stored in the low priority queue in the internal memory. On the other hand, when the free space in the low priority queue in the internal memory becomes less than the threshold value, that is, during congestion, the low priority packet is stored in a large capacity external memory.

入力100Gb/s、出力100Gb/sのパケットスイッチにおいて、パケットの9割が内部メモリへ格納されると仮定すると、外部メモリに要求されるアクセス速度は10Gb/s(Write)+10Gb/s(Read)となり、32bit幅×400MHz(DDR)の外部メモリ1個で実現できる。
10Gb/s(Write) + 10Gb/s(Read) = 20Gb/s(MIN)
32bit幅 × 400MHz × 2(DDR) × 1個 = 25.6Gb/s
Assuming that 90% of packets are stored in the internal memory in a packet switch with an input of 100 Gb / s and an output of 100 Gb / s, the access speed required for the external memory is 10 Gb / s (Write) + 10 Gb / s (Read) This can be realized with one external memory of 32bit width x 400MHz (DDR).
10Gb / s (Write) + 10Gb / s (Read) = 20Gb / s (MIN)
32bit width × 400MHz × 2 (DDR) × 1 piece = 25.6Gb / s

また外部メモリの容量を1Gbとすれば、外部メモリ1個で、バーストサイズ100Kbのユーザを1000ユーザ収容することが可能になる。このように実施の形態のスイッチ装置によれば、小容量高速アクセスメモリ(内部メモリ)と、少数の大容量低速アクセスメモリ(外部メモリ)を使い分けることにより、100Gb/sの入出力に対応可能なメモリアクセスと、輻輳時におけるバースト吸収を実現できる。   If the capacity of the external memory is 1 Gb, one external memory can accommodate 1000 users with a burst size of 100 Kb. As described above, according to the switching device of the embodiment, it is possible to cope with input / output of 100 Gb / s by using a small-capacity high-speed access memory (internal memory) and a small number of large-capacity low-speed access memories (external memory). Memory access and burst absorption during congestion can be realized.

(第1の実施の形態)
図1は、第1の実施の形態のスイッチ装置の構成を示す。スイッチ装置100は、基盤回路10と、基盤回路10に外付けされた外部メモリ80を備える。基盤回路10は、パケットスイッチ処理のロジックが実装された電子回路(FPGA・ASIC・ASSP等のLSI)である。基盤回路10は、入力ポート12で総称される入力ポート12a、入力ポート12b・・・入力ポート12cと、出力ポート14で総称される出力ポート14a、出力ポート14b・・・出力ポート14cと、出力先決定部16と、スケジューラ18で総称されるスケジューラ18a、スケジューラ18b・・・スケジューラ18cと、内部メモリ20と、振分け処理部30を有する。
(First embodiment)
FIG. 1 shows a configuration of a switch device according to the first embodiment. The switch device 100 includes a base circuit 10 and an external memory 80 externally attached to the base circuit 10. The base circuit 10 is an electronic circuit (LSI such as FPGA, ASIC, or ASSP) on which packet switch processing logic is mounted. The base circuit 10 includes an input port 12a, an input port 12b,..., An input port 12c, collectively referred to as an input port 12, and an output port 14a, an output port 14b, an output port 14c, collectively referred to as an output port 14, and an output. The destination determination unit 16 includes a scheduler 18 a, a scheduler 18 b... Scheduler 18 c, which is collectively referred to as a scheduler 18, an internal memory 20, and a distribution processing unit 30.

図1では、スイッチ装置100が備える各機能をブロックとして描いている。本明細書のブロック図において示される各ブロックは、ハードウェア的には、コンピュータのCPUやメモリをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。   In FIG. 1, each function with which the switch apparatus 100 is provided is drawn as a block. Each block shown in the block diagram of the present specification can be realized in terms of hardware by elements and mechanical devices such as a CPU and a memory of a computer, and in terms of software, it can be realized by a computer program or the like. Then, the functional block realized by those cooperation is drawn. Therefore, those skilled in the art will understand that these functional blocks can be realized in various forms by a combination of hardware and software.

入力ポート12は、スイッチ装置100の外部の伝送路からパケットを受け付ける通信ポートである。出力ポート14は、スイッチ装置100の外部の伝送路へパケットを送出する通信ポートである。入力ポート12aと出力ポート14a、入力ポート12bと出力ポート14b・・・は、物理的に単一のポートとして実装されてもよいことはもちろんである。   The input port 12 is a communication port that accepts a packet from a transmission path outside the switch device 100. The output port 14 is a communication port that sends a packet to a transmission path outside the switch device 100. Of course, the input port 12a and the output port 14a, the input port 12b and the output port 14b... May be physically implemented as a single port.

出力先決定部16は、出力ポート検索テーブルを参照して、入力ポート12a〜入力ポート12cのそれぞれにおいて受信されたパケットの出力ポートを決定する。図2は、出力ポート検索テーブルを模式的に示す。同図の出力ポート「0x010」「0x080」「0x00F」は、出力ポート14a〜出力ポート14cに対応する。出力先決定部16は、出力ポート検索テーブルにおいて、パケットに設定された宛先MACアドレス(MAC−DA)およびVLAN識別子(以下、「VID」とも呼ぶ。)と対応づけられた出力ポートを、当該パケットの出力ポートとして決定する。出力先決定部16は、パケットの入力ポートを示す入力ポート情報と、パケットの出力ポートを示す出力ポート情報とを含む装置内ヘッダをパケットへ付加し、パケットを振分け処理部30へ渡す。なお、宛先MACアドレスが、マルチキャストアドレスもしくはブロードキャストアドレスの場合は、出力ポート情報には複数の出力ポートが指定される。   The output destination determination unit 16 refers to the output port search table and determines the output port of the packet received at each of the input ports 12a to 12c. FIG. 2 schematically shows an output port search table. The output ports “0x010”, “0x080”, and “0x00F” in the figure correspond to the output port 14a to the output port 14c. The output destination determination unit 16 uses the output port associated with the destination MAC address (MAC-DA) and VLAN identifier (hereinafter also referred to as “VID”) set in the packet in the output port search table. Determine the output port. The output destination determination unit 16 adds an in-device header including input port information indicating the input port of the packet and output port information indicating the output port of the packet to the packet, and passes the packet to the distribution processing unit 30. If the destination MAC address is a multicast address or a broadcast address, a plurality of output ports are specified in the output port information.

図1に戻り、内部メモリ20は、基盤回路10の内部に設けられたメモリであり、高速アクセス可能で小容量のメモリである。図3は、内部メモリ20の構成を模式的に示す。内部メモリ20は、高優先キュー22と低優先キュー24を有する。高優先キュー22は、高優先パケットを出力ポート単位に保持する出力ポート単位キュー26を含む。例えば、出力ポート単位キュー26の第1出力ポートキューは出力ポート14aから出力されるべき高優先パケットを保持し、第2出力ポートキューは出力ポート14bから出力されるべき高優先パケットを保持する。   Returning to FIG. 1, the internal memory 20 is a memory provided in the base circuit 10 and is a small-capacity memory that can be accessed at high speed. FIG. 3 schematically shows the configuration of the internal memory 20. The internal memory 20 has a high priority queue 22 and a low priority queue 24. The high priority queue 22 includes an output port unit queue 26 that holds high priority packets in units of output ports. For example, the first output port queue of the output port unit queue 26 holds high priority packets to be output from the output port 14a, and the second output port queue holds high priority packets to be output from the output port 14b.

低優先キュー24は、低優先パケットを出力ポート単位かつVLAN単位に保持する出力ポート・VLAN単位キュー28を含む。例えば、出力ポート・VLAN単位キュー28としての、第1出力ポートキューの第1VLANキューは、出力ポート14aから出力されるべき低優先パケットであって、第1のVLANに属する(例えばVID=1が設定された)低優先パケットを保持する。第1出力ポートキューの第2VLANキューは、出力ポート14aから出力されるべき低優先パケットであって、第2のVLANに属する(例えばVID=2が設定された)低優先パケットを保持する。同様に、出力ポート・VLAN単位キュー28の第2出力ポートキューも各VLAN用のキュー(不図示)を含み、出力ポート14bから出力されるべき低優先パケットをVLAN単位に保持する。   The low priority queue 24 includes an output port / VLAN unit queue 28 that holds low priority packets in units of output ports and VLANs. For example, the first VLAN queue of the first output port queue as the output port / VLAN unit queue 28 is a low-priority packet to be output from the output port 14a and belongs to the first VLAN (for example, VID = 1) Holds the configured (low) priority packet. The second VLAN queue of the first output port queue is a low priority packet to be output from the output port 14a, and holds a low priority packet belonging to the second VLAN (for example, VID = 2 is set). Similarly, the second output port queue of the output port / VLAN unit queue 28 also includes a queue (not shown) for each VLAN, and holds low priority packets to be output from the output port 14b in VLAN units.

図1に戻り、外部メモリ80は、基盤回路10の外部に設けられたメモリであり、内部メモリ20よりアクセス速度が低速である一方、内部メモリ20より容量が大きいメモリである。図4は、外部メモリ80の構成を模式的に示す。外部メモリ80は、低優先パケットを入力ポート単位かつVLAN単位に保持する入力ポート・VLAN単位キュー82を含む。例えば、入力ポート・VLAN単位キュー82としての、第1入力ポートキューの第1VLANキューは、入力ポート12aから入力された低優先パケットであって、第1のVLANに属する(例えばVID=1が設定された)低優先パケットを保持する。また第1入力ポートキューの第2VLANキューは、入力ポート12aから入力された低優先パケットであって、第2のVLANに属する(例えばVID=2が設定された)低優先パケットを保持する。同様に、入力ポート・VLAN単位キュー82の第2入力ポートキューも各VLAN用のキュー(不図示)を含み、入力ポート12bから入力された低優先パケットをVLAN単位に保持する。   Returning to FIG. 1, the external memory 80 is a memory provided outside the base circuit 10, and has a lower access speed than the internal memory 20 and a larger capacity than the internal memory 20. FIG. 4 schematically shows the configuration of the external memory 80. The external memory 80 includes an input port / VLAN unit queue 82 that holds low priority packets in units of input ports and VLANs. For example, the first VLAN queue of the first input port queue as the input port / VLAN unit queue 82 is a low priority packet input from the input port 12a and belongs to the first VLAN (for example, VID = 1 is set) Retained) low-priority packets. The second VLAN queue of the first input port queue is a low priority packet input from the input port 12a and holds a low priority packet belonging to the second VLAN (for example, VID = 2 is set). Similarly, the second input port queue of the input port / VLAN unit queue 82 also includes a queue (not shown) for each VLAN, and holds low priority packets input from the input port 12b in VLAN units.

図1に戻り、スケジューラ18a〜スケジューラ18cは、出力ポート14a〜出力ポート14cのそれぞれと予め対応づけられており、各々に対応づけられた出力ポートからのパケットの送出を制御する。スケジューラ18a〜スケジューラ18cのそれぞれは、SPスケジューラおよびWRRスケジューラとして機能し、内部メモリ20に設けられたキューのうち、自身に対応づけられた出力ポート用のキューからパケットを読出す。具体的には、内部メモリ20の出力ポート単位キュー26からは高優先パケットを、内部メモリ20の出力ポート・VLAN単位キュー28からは低優先パケットを読出す。その際には高優先パケットを絶対優先として読出す。また、出力ポート・VLAN単位キュー28から低優先パケットを読出す際には、WRR規則テーブルに定められたVLAN毎の重み付けにしたがって、各VLAN用のキューから順次低優先パケットを読出す。   Returning to FIG. 1, the scheduler 18 a to the scheduler 18 c are associated in advance with the output ports 14 a to 14 c, respectively, and control the transmission of packets from the output ports associated with the respective ports. Each of the scheduler 18a to scheduler 18c functions as an SP scheduler and a WRR scheduler, and reads a packet from a queue for an output port associated with itself among queues provided in the internal memory 20. Specifically, the high priority packet is read from the output port unit queue 26 of the internal memory 20, and the low priority packet is read from the output port / VLAN unit queue 28 of the internal memory 20. In that case, the high priority packet is read as absolute priority. When reading low priority packets from the output port / VLAN unit queue 28, the low priority packets are sequentially read from the VLAN queues according to the weighting for each VLAN defined in the WRR rule table.

図5は、WRR規則テーブルを模式的に示す。同図のWRR規則は、VID=1,2,3のパケットを、1:10:3の比率で読出すよう定めたものである。スケジューラ18は、VID=1が設定された低優先パケットを、VID=1用のキューから1個読出し、次にVID=2が設定された低優先パケットを、VID=2用のキューから10個読出し、さらにVID=3が設定された低優先パケットを、VID=3用のキューから3個読出してもよい。   FIG. 5 schematically shows a WRR rule table. The WRR rule shown in the figure is such that packets with VID = 1, 2, 3 are read at a ratio of 1: 10: 3. The scheduler 18 reads one low-priority packet with VID = 1 set from the queue for VID = 1, and then 10 low-priority packets with VID = 2 set from the queue for VID = 2. Further, three low-priority packets set with VID = 3 may be read from the queue for VID = 3.

図1に戻り、振分け処理部30は、入力ポート12において受信されたパケットを、当該パケットの優先度および内部メモリ20の空き状況に応じて振分け、内部メモリ20もしくは外部メモリ80へ格納する。   Returning to FIG. 1, the distribution processing unit 30 distributes the packet received at the input port 12 according to the priority of the packet and the availability of the internal memory 20 and stores the packet in the internal memory 20 or the external memory 80.

図6は、図1の振分け処理部30の詳細な構成を示すブロック図である。振分け処理部30は、優先度振分け部32と、高優先パケット振分け部34と、高優先パケット書込み制御部36と、内部キュー監視部38と、外部キュー監視部40と、メモリ振分け部42と、低優先パケット振分け部44と、低優先パケット書込み制御部46と、外部キュー振分け部48と、外部メモリ書込み制御部50と、外部メモリ読出し制御部52と、コピー制御部54と、内部キュー振分け部56を含む。   FIG. 6 is a block diagram showing a detailed configuration of the distribution processing unit 30 in FIG. The distribution processing unit 30 includes a priority distribution unit 32, a high priority packet distribution unit 34, a high priority packet write control unit 36, an internal queue monitoring unit 38, an external queue monitoring unit 40, a memory distribution unit 42, Low priority packet distribution unit 44, low priority packet write control unit 46, external queue distribution unit 48, external memory write control unit 50, external memory read control unit 52, copy control unit 54, internal queue distribution unit 56.

優先度振分け部32は、パケットの優先度ビットに応じて、当該パケットが高優先パケットと低優先パケットのいずれであるかを判定する。具体的には、VLANタグのPCPフィールドの値が4以上であれば高優先パケットと判定し、4未満であれば低優先パケットと判定する。優先度振分け部32は、高優先パケットを高優先パケット振分け部34へ渡し、低優先パケットをメモリ振分け部42へ渡す。   The priority distribution unit 32 determines whether the packet is a high priority packet or a low priority packet according to the priority bit of the packet. Specifically, if the value of the PCP field of the VLAN tag is 4 or more, it is determined as a high priority packet, and if it is less than 4, it is determined as a low priority packet. The priority distribution unit 32 passes the high priority packet to the high priority packet distribution unit 34 and passes the low priority packet to the memory distribution unit 42.

高優先パケット振分け部34は、高優先パケットの装置内ヘッダの出力ポート情報にしたがって、当該パケットを格納すべき内部メモリ20の出力ポート単位キュー26を決定する。高優先パケット書込み制御部36は、高優先パケット振分け部34により決定された内部メモリ20の出力ポート単位キュー26へ高優先パケットを格納する。   The high priority packet distribution unit 34 determines the output port unit queue 26 of the internal memory 20 to store the packet according to the output port information in the in-device header of the high priority packet. The high priority packet write control unit 36 stores the high priority packet in the output port unit queue 26 of the internal memory 20 determined by the high priority packet distribution unit 34.

内部キュー監視部38は、内部メモリ20の出力ポート・VLAN単位キュー28を監視し、各キューのキュー長(すなわちパケット保持状況)を管理する。言い換えれば、各キューの空き状況を管理する。具体的には、内部キュー監視部38は、出力ポート・VLAN単位キュー28の各キューについて、新たなパケットを格納可能な空き容量が所定の閾値(以下、「内部キュー閾値」とも呼ぶ。)以上か否かを判定し、空き容量が内部キュー閾値未満のキューを、新たなパケットの格納ができない満杯キューとして特定する。言い換えれば、内部キュー監視部38は、各キューのキュー長が所定の閾値未満か否かを判定する。   The internal queue monitoring unit 38 monitors the output port / VLAN unit queue 28 of the internal memory 20 and manages the queue length (that is, packet holding status) of each queue. In other words, the availability of each queue is managed. Specifically, the internal queue monitoring unit 38 has a free capacity for storing a new packet for each queue of the output port / VLAN unit queue 28 equal to or greater than a predetermined threshold (hereinafter also referred to as “internal queue threshold”). And a queue whose free capacity is less than the internal queue threshold is specified as a full queue that cannot store new packets. In other words, the internal queue monitoring unit 38 determines whether the queue length of each queue is less than a predetermined threshold value.

外部キュー監視部40は、外部メモリ80の入力ポート・VLAN単位キュー82を監視し、各キューのキュー長を管理する。言い換えれば、各キューの空き状況を管理する。具体的には、外部キュー監視部40は、入力ポート・VLAN単位キュー82の各キューについて、新たなパケットを格納可能な空き容量が所定の閾値(以下、「外部キュー閾値」とも呼ぶ。)以上か否かを判定し、空き容量が外部キュー閾値未満のキューを、新たなパケットの格納ができない満杯キューとして特定する。言い換えれば、外部キュー監視部40は、各キューのキュー長が所定の閾値未満か否かを判定する。   The external queue monitoring unit 40 monitors the input port / VLAN unit queue 82 of the external memory 80 and manages the queue length of each queue. In other words, the availability of each queue is managed. Specifically, the external queue monitoring unit 40 has a free capacity for storing a new packet for each queue of the input port / VLAN unit queue 82 equal to or greater than a predetermined threshold (hereinafter also referred to as “external queue threshold”). Whether the free capacity is less than the external queue threshold is identified as a full queue that cannot store new packets. In other words, the external queue monitoring unit 40 determines whether the queue length of each queue is less than a predetermined threshold value.

例えば、内部キュー監視部38および外部キュー監視部40は、1つのキューに対して割り当てられた全記憶容量のうちパケットの格納に未使用の空き容量が所定割合(例えば10%)未満となったキューを満杯キューとして特定してもよい。また、キューに格納可能なパケット数(例えば128パケット)のうち所定数(例えば100パケット)以上のパケットを保持中のキューを満杯キューとして特定してもよい。言い換えれば、空き容量が28パケット分の容量以下となったキューを満杯キューとして特定してもよい。   For example, the internal queue monitoring unit 38 and the external queue monitoring unit 40 have less than a predetermined percentage (for example, 10%) of unused capacity for storing packets out of the total storage capacity allocated to one queue. The queue may be identified as a full queue. Further, a queue holding a predetermined number (eg, 100 packets) or more of the number of packets (eg, 128 packets) that can be stored in the queue may be specified as a full queue. In other words, a queue whose free capacity is equal to or less than the capacity of 28 packets may be specified as a full queue.

また上記の内部キュー閾値および外部キュー閾値は、スイッチ装置100の開発者や運用者の経験、もしくはスイッチ装置100を用いた実験により、適切な値が決定されてよい。なお、内部メモリ20の使用効率が高まるよう、内部キュー閾値(ここでは空き容量の大きさの指標値であるとする)は小さい値が望ましい。しかし、過度に小さくすると内部キューのあふれ(その結果としてのパケットロス)が発生しうるため、内部メモリ20の使用効率とパケットロス防止の比較考量により値が決定されることが望ましい。   Further, appropriate values may be determined for the internal queue threshold and the external queue threshold based on the experience of the developer or operator of the switch device 100 or an experiment using the switch device 100. It should be noted that it is desirable that the internal queue threshold value (here, an index value for the size of the free space) be small so that the use efficiency of the internal memory 20 is increased. However, if the value is excessively small, an overflow of the internal queue (resulting packet loss) may occur. Therefore, it is desirable that the value is determined based on the use efficiency of the internal memory 20 and a comparison amount for preventing packet loss.

また外部キュー監視部40は、外部メモリ80の入力ポート・VLAN単位キュー82の各キューについて、保持中のパケット、言い換えれば、未読出しのパケットがあるか否かを判定する。   The external queue monitoring unit 40 determines whether or not there is a packet that is being held, in other words, an unread packet, for each queue of the input port / VLAN unit queue 82 of the external memory 80.

メモリ振分け部42は、低優先パケットの出力ポートおよびVIDにしたがって、当該低優先パケットの格納先候補である内部メモリ20の出力ポート・VLAN単位キュー28(以下、「対応内部キュー」とも呼ぶ。)を特定する。また、低優先パケットの入力ポートおよびVIDにしたがって、当該低優先パケットの格納先候補である外部メモリ80の入力ポート・VLAN単位キュー82(以下、「対応外部キュー」とも呼ぶ。)を特定する。   According to the output port of the low priority packet and the VID, the memory distribution unit 42 is an output port / VLAN unit queue 28 of the internal memory 20 that is a storage destination candidate of the low priority packet (hereinafter also referred to as “corresponding internal queue”). Is identified. Further, according to the input port and the VID of the low priority packet, the input port / VLAN unit queue 82 (hereinafter also referred to as “corresponding external queue”) of the external memory 80 which is a candidate for the storage destination of the low priority packet is specified.

メモリ振分け部42は、内部キュー監視部38および外部キュー監視部40による監視結果にもとづいて、対応内部キューが満杯キューでなく、かつ、対応外部キューのキュー長が0(未読出しのパケットがない)場合に、低優先パケットの格納先を対応内部キューに決定する。そして、低優先パケットを低優先パケット振分け部44に渡す。対応内部キューが満杯キューであり、もしくは対応外部キューに未読出しのパケットが存在する場合は、低優先パケットの格納先を対応外部キューに決定して、低優先パケットを外部キュー振分け部48に渡す。この構成により、先に受け付けられて外部メモリ80に格納された低優先パケットが、それより後に受け付けられた低優先パケットよりも後に外部へ出力されてしまうことを防止できる。   Based on the monitoring results of the internal queue monitoring unit 38 and the external queue monitoring unit 40, the memory distribution unit 42 has a corresponding internal queue that is not full and the corresponding external queue has a queue length of 0 (no unread packets). ), The storage destination of the low priority packet is determined as the corresponding internal queue. Then, the low priority packet is delivered to the low priority packet distribution unit 44. When the corresponding internal queue is a full queue or there is an unread packet in the corresponding external queue, the storage destination of the low priority packet is determined as the corresponding external queue, and the low priority packet is passed to the external queue distribution unit 48. . With this configuration, it is possible to prevent the low priority packet received first and stored in the external memory 80 from being output to the outside after the low priority packet received after that.

低優先パケット振分け部44は、低優先パケットの装置内ヘッダの出力ポート情報およびVIDにしたがって、当該パケットを格納すべき内部メモリ20の出力ポート・VLAN単位キュー28(すなわち対応内部キュー)を決定する。低優先パケット書込み制御部46は、低優先パケット振分け部44により決定された内部メモリ20の出力ポート・VLAN単位キュー28へ低優先パケットを格納する。   The low-priority packet distribution unit 44 determines the output port / VLAN unit queue 28 (that is, the corresponding internal queue) of the internal memory 20 to store the packet according to the output port information and VID in the in-device header of the low-priority packet. . The low priority packet write control unit 46 stores the low priority packet in the output port / VLAN unit queue 28 of the internal memory 20 determined by the low priority packet distribution unit 44.

外部キュー振分け部48は、低優先パケットの装置内ヘッダの入力ポート情報およびVIDにしたがって、当該パケットを格納すべき外部メモリ80の入力ポート・VLAN単位キュー82(すなわち対応外部キュー)を決定する。外部キュー監視部40による監視結果にもとづいて対応外部キューが満杯キューでない場合、外部キュー振分け部48は低優先パケットを外部メモリ書込み制御部50へ渡し、外部メモリ書込み制御部50は低優先パケットを対応外部キューへ格納する。対応外部キューが満杯キューである場合、外部キュー振分け部48は低優先パケットを廃棄する。   The external queue distribution unit 48 determines the input port / VLAN unit queue 82 (that is, the corresponding external queue) of the external memory 80 to store the packet according to the input port information and the VID in the in-device header of the low priority packet. If the corresponding external queue is not a full queue based on the monitoring result by the external queue monitoring unit 40, the external queue distribution unit 48 passes the low priority packet to the external memory write control unit 50, and the external memory write control unit 50 receives the low priority packet. Store in the corresponding external queue. When the corresponding external queue is a full queue, the external queue distribution unit 48 discards the low priority packet.

外部メモリ読出し制御部52は、不図示のWRR規則テーブルを参照して、当該テーブルに定められたVLAN毎の重み付けにしたがって、入力ポート・VLAN単位キュー82における各VLAN用のキューから低優先パケットを読出す。外部メモリ読出し制御部52は、入力ポート単位に並行して低優先パケットを読出す一方、1つの入力ポートキューにおける各VLAN用のキューからWRR規則にしたがって低優先パケットを順次読出す。なお、外部メモリ読出し制御部52が参照するWRR規則テーブルは、図5と同様に、VIDと重みを対応づけたものである。   The external memory read control unit 52 refers to a WRR rule table (not shown), and assigns a low priority packet from each VLAN queue in the input port / VLAN unit queue 82 according to the weighting for each VLAN defined in the table. Read. The external memory read control unit 52 reads low priority packets in parallel in units of input ports, and sequentially reads low priority packets from each VLAN queue in one input port queue according to the WRR rule. Note that the WRR rule table referred to by the external memory read control unit 52 associates VIDs with weights, as in FIG.

コピー制御部54は、外部メモリ読出し制御部52により読出された低優先パケットの装置内ヘッダの出力ポート情報にしたがって、低優先パケットを適宜コピー(マルチキャストコピー)する。   The copy control unit 54 appropriately copies (multicast copy) the low priority packet according to the output port information of the in-device header of the low priority packet read by the external memory read control unit 52.

内部キュー振分け部56は、低優先パケットの装置内ヘッダの出力ポート情報およびVIDにしたがって、当該パケットを格納すべき内部メモリ20の出力ポート・VLAN単位キュー28(すなわち対応内部キュー)を決定する。内部キュー監視部38による監視結果にもとづいて対応内部キューが満杯キューでない場合、内部キュー振分け部56は低優先パケットを低優先パケット書込み制御部46へ渡し、低優先パケット書込み制御部46は低優先パケットを対応内部キューへ格納する。対応内部キューが満杯キューである場合、内部キュー振分け部56は低優先パケットを廃棄する。   The internal queue distribution unit 56 determines the output port / VLAN unit queue 28 (that is, the corresponding internal queue) of the internal memory 20 to store the packet according to the output port information and the VID in the in-device header of the low priority packet. If the corresponding internal queue is not a full queue based on the monitoring result by the internal queue monitoring unit 38, the internal queue distribution unit 56 passes the low priority packet to the low priority packet write control unit 46, and the low priority packet write control unit 46 receives the low priority. Store the packet in the corresponding internal queue. When the corresponding internal queue is a full queue, the internal queue distribution unit 56 discards the low priority packet.

以上の構成によるスイッチ装置100の動作を以下説明する。
図7は、スイッチ装置100の動作を示すフローチャートである。同図は、伝送路から入力されたパケットをパケットバッファへ書込むまでの動作を示している。入力ポート12においてパケットが受け付けられると(S10のY)、出力先決定部16はパケットの出力ポートを決定し(S12)、優先度振分け部32はパケットの優先度を判定する。高優先パケットの場合(S14のY)、高優先パケット振分け部34は高優先パケットを格納すべき対応内部キューを決定し、高優先パケット書込み制御部36は高優先パケットを対応内部キューへ格納する(S16)。低優先パケットの場合(S14のN)、振分け処理部30は後述の振分け処理を実行する(S18)。入力ポート12においてパケットを受け付けなければ(S10のN)、以降のステップをスキップして本図のフローを終了する。
The operation of the switch device 100 having the above configuration will be described below.
FIG. 7 is a flowchart showing the operation of the switch device 100. This figure shows the operation until the packet input from the transmission path is written to the packet buffer. When a packet is received at the input port 12 (Y of S10), the output destination determination unit 16 determines the output port of the packet (S12), and the priority distribution unit 32 determines the priority of the packet. In the case of a high-priority packet (Y in S14), the high-priority packet distribution unit 34 determines a corresponding internal queue in which the high-priority packet is to be stored, and the high-priority packet write control unit 36 stores the high-priority packet in the corresponding internal queue. (S16). In the case of a low-priority packet (N in S14), the distribution processing unit 30 executes a distribution process described later (S18). If no packet is received at the input port 12 (N in S10), the subsequent steps are skipped and the flow of this figure is terminated.

図8は、図7のS18の振分け処理を詳細に示すフローチャートである。メモリ振分け部42は、低優先パケットの対応内部キューのキュー長を内部キュー監視部38から取得し、低優先パケットの対応内部キューのキュー長を外部キュー監視部40から取得する。対応内部キューの空き容量が内部キュー閾値以上で(S20のY)、対応外部キューのキュー長が0の場合(S22のY)、メモリ振分け部42は対応内部キューへの格納を決定する。そして低優先パケット振分け部44は低優先パケットを対応内部キューへ振分け、低優先パケット書込み制御部46は低優先パケットを対応内部キューへ格納する(S24)。   FIG. 8 is a flowchart showing in detail the distribution process in S18 of FIG. The memory distribution unit 42 acquires the queue length of the internal queue corresponding to the low priority packet from the internal queue monitoring unit 38, and acquires the queue length of the internal queue corresponding to the low priority packet from the external queue monitoring unit 40. If the free capacity of the corresponding internal queue is equal to or greater than the internal queue threshold (Y in S20) and the queue length of the corresponding external queue is 0 (Y in S22), the memory distribution unit 42 determines storage in the corresponding internal queue. Then, the low priority packet distribution unit 44 distributes the low priority packet to the corresponding internal queue, and the low priority packet write control unit 46 stores the low priority packet in the corresponding internal queue (S24).

対応内部キューの空き容量が内部キュー閾値未満(S20のN)、もしくは対応外部キューのキュー長が0より大きい場合(S22のN)、メモリ振分け部42は対応外部キューへの格納を決定する。そして対応外部キューの空き容量が外部キュー閾値以上であれば(S26のY)、外部キュー振分け部48は低優先パケットを対応外部キューへ振分け、外部メモリ書込み制御部50は低優先パケットを対応外部キューへ格納する(S28)。対応外部キューの空き容量が外部キュー閾値未満の場合は(S26のN)、低優先パケットは廃棄される(S30)。   When the free capacity of the corresponding internal queue is less than the internal queue threshold (N in S20) or the queue length of the corresponding external queue is greater than 0 (N in S22), the memory distribution unit 42 determines storage in the corresponding external queue. If the free capacity of the corresponding external queue is equal to or greater than the external queue threshold (Y in S26), the external queue distribution unit 48 distributes the low priority packet to the corresponding external queue, and the external memory write control unit 50 supports the low priority packet. Store in the queue (S28). If the free capacity of the corresponding external queue is less than the external queue threshold (N in S26), the low priority packet is discarded (S30).

図9は、スイッチ装置100の動作を示すフローチャートである。同図は、外部メモリ80から低優先パケットを読出して内部メモリ20へ格納する動作を示しており、入力ポート・VLAN単位キュー82に対して入力ポート単位に並行して実行されてもよい。   FIG. 9 is a flowchart showing the operation of the switch device 100. This figure shows an operation of reading a low priority packet from the external memory 80 and storing it in the internal memory 20, and may be executed in parallel with the input port / VLAN unit queue 82 in units of input ports.

外部メモリ読出し制御部52は、外部メモリ80の入力ポート・VLAN単位キュー82にパケットが格納されていることを検出すると(S40のY)、VLAN毎の重み付けにしたがってパケットを読出す(S42)。コピー制御部54は、外部メモリ80から読出されたパケットをその出力ポート数分、コピーする(S44)。内部キュー振分け部56は低優先パケットを格納すべき対応内部キューを特定し(S46)、その対応内部キューの空き容量が内部キュー閾値以上であれば(S48のY)、低優先パケット書込み制御部46は低優先パケットを対応内部キューへ格納する(S50)。対応内部キューの空き容量が内部キュー閾値未満であれば(S48のN)、低優先パケットは廃棄される(S52)。外部メモリ80の入力ポート・VLAN単位キュー82にパケットが格納されていない、すなわち入力ポート・VLAN単位キュー82に格納された全パケットが読出し済みであれば(S40のN)、以降のステップをスキップして本図のフローを終了する。   When the external memory read control unit 52 detects that the packet is stored in the input port / VLAN unit queue 82 of the external memory 80 (Y in S40), the external memory read control unit 52 reads the packet according to the weight for each VLAN (S42). The copy control unit 54 copies the packet read from the external memory 80 by the number of output ports (S44). The internal queue distribution unit 56 specifies the corresponding internal queue in which the low priority packet is to be stored (S46), and if the free capacity of the corresponding internal queue is equal to or greater than the internal queue threshold (Y in S48), the low priority packet write control unit 46 stores the low priority packet in the corresponding internal queue (S50). If the free capacity of the corresponding internal queue is less than the internal queue threshold (N in S48), the low priority packet is discarded (S52). If no packet is stored in the input port / VLAN unit queue 82 of the external memory 80, that is, if all the packets stored in the input port / VLAN unit queue 82 have been read (N in S40), the subsequent steps are skipped. And the flow of this figure is complete | finished.

図10は、スイッチ装置100の動作を示すフローチャートである。同図は、内部メモリ20からパケットを読出して伝送路へ送出する動作を示しており、典型的にはスケジューラ18a〜スケジューラ18cのそれぞれが並行して実行する。以下では、出力ポート14aに対応づけられたスケジューラ18aの動作として説明する。   FIG. 10 is a flowchart showing the operation of the switch device 100. This figure shows an operation of reading a packet from the internal memory 20 and sending it to the transmission line, and typically each of the schedulers 18a to 18c is executed in parallel. Hereinafter, the operation of the scheduler 18a associated with the output port 14a will be described.

スケジューラ18aは、出力ポート14aに対応する出力ポート単位キュー26に高優先パケットが格納されていることを検出すると(S60のY)、出力ポート14aに対応する出力ポート・VLAN単位キュー28に低優先パケットが格納されているか否かにかかわらず、出力ポート単位キュー26から高優先パケットを読出す(S62)。出力ポート14aに対応する出力ポート単位キュー26に高優先パケットが未格納であり(S60のN)、出力ポート14aに対応する出力ポート・VLAN単位キュー28に低優先パケットが格納されていることを検出すると(S64のY)、出力ポート・VLAN単位キュー28からWRR規則にしたがって低優先パケットを読出す(S66)。スケジューラ18aは、内部メモリ20から読出した高優先パケットもしくは低優先パケットを、出力ポート14aから伝送路へ送出させる(S68)。出力ポート14aに対応する出力ポート単位キュー26および出力ポート・VLAN単位キュー28にパケットが未格納であれば(S64のN)、以降のステップをスキップして本図のフローを終了する。   When the scheduler 18a detects that a high priority packet is stored in the output port unit queue 26 corresponding to the output port 14a (Y in S60), the scheduler 18a has a low priority to the output port / VLAN unit queue 28 corresponding to the output port 14a. Regardless of whether the packet is stored or not, the high priority packet is read from the output port unit queue 26 (S62). The high priority packet is not stored in the output port unit queue 26 corresponding to the output port 14a (N in S60), and the low priority packet is stored in the output port / VLAN unit queue 28 corresponding to the output port 14a. When detected (Y in S64), the low priority packet is read from the output port / VLAN unit queue 28 according to the WRR rule (S66). The scheduler 18a sends the high priority packet or the low priority packet read from the internal memory 20 to the transmission line from the output port 14a (S68). If no packet is stored in the output port unit queue 26 and the output port / VLAN unit queue 28 corresponding to the output port 14a (N in S64), the following steps are skipped and the flow of FIG.

第1の実施の形態のスイッチ装置100によれば、外部メモリ80に優先して内部メモリ20をパケットバッファとして選択することで高速なメモリアクセスを実現する。また、小容量の内部メモリ20の空きが少なくなった場合は大容量の外部メモリ80をパケットバッファとして選択することでバーストトラヒックも吸収することが容易になる。言い換えれば、バーストトラヒックに伴うパケットロスを抑制することができる。また、優先的に内部メモリ20を選択しつつ、外部メモリ80を補完的に用いることで、外部メモリ80の個数を低減でき、装置の小型化・省消費電力化に対応が容易になる。   According to the switch device 100 of the first embodiment, high-speed memory access is realized by selecting the internal memory 20 as a packet buffer in preference to the external memory 80. Further, when the small capacity internal memory 20 becomes small, burst traffic can be easily absorbed by selecting the large capacity external memory 80 as a packet buffer. In other words, packet loss accompanying burst traffic can be suppressed. In addition, by using the external memory 80 complementarily while selecting the internal memory 20 preferentially, the number of external memories 80 can be reduced, and it becomes easy to cope with downsizing and power saving of the apparatus.

またスイッチ装置100によれば、高優先パケットは必ず内部メモリ20へ格納し、低優先パケットは内部メモリ20の空き状況に応じて格納先を内部メモリ20もしくは外部メモリ80とする。これにより、高優先パケットのスイッチ処理を優先しつつ、高優先パケットのスイッチ処理終了待ちの低優先パケットの数が増加しても、低優先パケットの廃棄を抑制することができる。   Further, according to the switch device 100, the high priority packet is always stored in the internal memory 20, and the low priority packet is stored in the internal memory 20 or the external memory 80 according to the availability of the internal memory 20. As a result, even if the number of low priority packets waiting for the end of the switch processing for high priority packets increases while discarding the switch processing for high priority packets, discarding of low priority packets can be suppressed.

またスイッチ装置100によれば、各入力ポートに対応するキューを外部メモリ80に設け、外部メモリ80に対してパケットの入力ポートを基準としてパケットを格納する。そして、外部メモリ80からパケットを読出した後にパケットの出力ポートの数に応じてパケットをコピーする。これにより、外部メモリ80に格納すべきパケット数を低減でき、アクセス速度が比較的低速な外部メモリ80を効率的に使用できる。   Further, according to the switch device 100, a queue corresponding to each input port is provided in the external memory 80, and the packet is stored in the external memory 80 with reference to the input port of the packet. Then, after reading the packet from the external memory 80, the packet is copied according to the number of output ports of the packet. Thereby, the number of packets to be stored in the external memory 80 can be reduced, and the external memory 80 having a relatively low access speed can be used efficiently.

(第2の実施の形態)
第2の実施の形態のスイッチ装置100は、外部メモリ80から読出した低優先パケットを、内部メモリ20の低優先キュー24へ書込み可能となるまで保留させるための待ち合せバッファをさらに備える点で第1の実施の形態とは異なる。以下、相違点を中心に説明し、共通点の説明は省略する。
(Second Embodiment)
The switch device 100 according to the second embodiment is further provided with a queuing buffer for holding a low-priority packet read from the external memory 80 until it can be written to the low-priority queue 24 of the internal memory 20. This is different from the embodiment. Hereinafter, the description will focus on the differences, and description of the common points will be omitted.

図11は、第2の実施の形態のスイッチ装置100の特徴部分を示す。他の構成は図1〜図6と同じである。内部メモリ20は、低優先パケットを一時的に保持するための記憶領域である待ち合せバッファ29をさらに有する。図11には不図示であるが、待ち合せバッファ29は、低優先キュー24と同様に、出力ポート単位かつVLAN単位の複数のキューを含む。言い換えれば、待ち合せバッファ29は、出力ポート・VLAN単位キュー28の各キューに対応する複数の待ち合せキューを含む。   FIG. 11 shows a characteristic part of the switch device 100 according to the second embodiment. Other configurations are the same as those in FIGS. The internal memory 20 further includes a queuing buffer 29 which is a storage area for temporarily holding low priority packets. Although not shown in FIG. 11, the queuing buffer 29 includes a plurality of queues in units of output ports and VLANs, similarly to the low priority queue 24. In other words, the queuing buffer 29 includes a plurality of queuing queues corresponding to the respective queues of the output port / VLAN unit queue 28.

内部キュー振分け部56は、外部メモリ80から読出された低優先パケットについて、その出力ポート情報およびVIDに対応する待ち合せキュー(以下、「対応待ち合せキュー」とも呼ぶ。)を特定し、当該低優先パケットを対応待ち合せキューへ格納する。外部メモリ80から読出された低優先パケットがマルチキャスト送信パケットである場合は、コピー制御部54により当該パケットはコピーされ、内部キュー振分け部56は、コピーされた各パケットに対応する複数の対応待ち合せキューへパケットを格納する。   For the low priority packet read from the external memory 80, the internal queue distribution unit 56 specifies a waiting queue corresponding to the output port information and the VID (hereinafter also referred to as “corresponding waiting queue”), and the low priority packet. Is stored in the response queue. If the low priority packet read from the external memory 80 is a multicast transmission packet, the copy control unit 54 copies the packet, and the internal queue distribution unit 56 sets a plurality of corresponding waiting queues corresponding to the copied packets. Store the packet.

内部キュー振分け部56は、内部キュー監視部38による監視結果にもとづいて、パケットを保持する対応待ち合せキューに対応する対応内部キューの空き状況を確認する。対応内部キューが満杯キューでない場合、対応待ち合せキューから低優先パケットを読出して低優先パケット書込み制御部46へ渡し、その低優先パケットを対応内部キューへ格納させる。その一方、対応内部キューが満杯キューであった場合は、対応待ち合せキューから低優先パケットを読出すことなく、対応待ち合せキューに低優先パケットを保持させた状態を維持する。なお内部キュー振分け部56は、パケットを保持する対応待ち合せキューに対応する対応内部キューの空き状況を定期的に繰り返し確認し、対応内部キューの満杯状態が解消されると、対応待ち合せキューに保留されたパケットを読出して対応内部キューへ転送する。   Based on the monitoring result by the internal queue monitoring unit 38, the internal queue distribution unit 56 checks the availability of the corresponding internal queue corresponding to the corresponding waiting queue that holds the packet. If the corresponding internal queue is not a full queue, the low priority packet is read from the corresponding waiting queue and transferred to the low priority packet write control unit 46, and the low priority packet is stored in the corresponding internal queue. On the other hand, if the corresponding internal queue is a full queue, the low priority packet is maintained in the corresponding waiting queue without reading the low priority packet from the corresponding waiting queue. The internal queue distribution unit 56 periodically and repeatedly checks the availability of the corresponding internal queue corresponding to the corresponding waiting queue that holds the packet, and when the full state of the corresponding internal queue is resolved, the internal queue distribution unit 56 holds the corresponding waiting queue. The packet is read and transferred to the corresponding internal queue.

内部キュー振分け部56は、待ち合せバッファ29が空でない場合、すなわち待ち合せバッファ29にパケットが保留されている場合、外部メモリ読出し制御部52に対して、パケット読出しを抑止するよう指示するためのNotEmpty通知を行う。以下では、NotEmpty通知として内部キュー振分け部56から外部メモリ読出し制御部52へ送信される信号を「読出し抑止指示」と呼ぶ。外部メモリ読出し制御部52は、読出し抑止指示を受け付けると、外部メモリ80からの低優先パケットの読出しを抑制する。   When the waiting buffer 29 is not empty, that is, when the packet is held in the waiting buffer 29, the internal queue distribution unit 56 notifies the external memory read control unit 52 of not sending the packet to NotEmpty notification. I do. Hereinafter, a signal transmitted from the internal queue distribution unit 56 to the external memory read control unit 52 as a NotEmpty notification is referred to as a “read inhibition instruction”. When the external memory read control unit 52 receives a read suppression instruction, the external memory read control unit 52 suppresses reading of low priority packets from the external memory 80.

内部キュー振分け部56は、待ち合せバッファ29が空になると、すなわち待ち合せバッファ29に保留された全てのパケットを読出すと、読出し抑止指示の送信を中止する。外部メモリ読出し制御部52は、読出し抑止指示を受け付けていないとき、入力ポート・VLAN単位キュー82からの低優先パケットの読出しを実行する。例えば、内部キュー振分け部56からの読出し停止指示が途切れた場合に、パケット読出しを再開する。   When the queuing buffer 29 becomes empty, that is, when all the packets held in the queuing buffer 29 are read, the internal queue distribution unit 56 stops transmitting the read inhibition instruction. The external memory read control unit 52 reads the low priority packet from the input port / VLAN unit queue 82 when the read inhibition instruction is not accepted. For example, when the reading stop instruction from the internal queue distribution unit 56 is interrupted, the packet reading is resumed.

第2の実施の形態のスイッチ装置100によれば、第1の実施の形態において既述した効果に加え、内部メモリ20における出力ポート・VLAN単位キュー28が満杯状態であっても低優先パケットの廃棄を抑制できるという効果を奏する。すなわち、出力ポート・VLAN単位キュー28が満杯状態の場合、外部メモリ80から読出された低優先パケットを待ち合せバッファ29に保留しておくとともに、外部メモリ80から新たな低優先パケットの読出しを抑制するため、大容量の外部メモリ80に空きがある限り、低優先パケットの廃棄を防ぐことができる。   According to the switch device 100 of the second embodiment, in addition to the effects described in the first embodiment, even if the output port / VLAN unit queue 28 in the internal memory 20 is full, There is an effect that disposal can be suppressed. That is, when the output port / VLAN unit queue 28 is full, the low-priority packet read from the external memory 80 is held in the queuing buffer 29, and reading of a new low-priority packet from the external memory 80 is suppressed. Therefore, as long as there is a free space in the large-capacity external memory 80, discarding of low priority packets can be prevented.

変形例として、内部キュー振分け部56は、読出し抑止指示において、パケットを保持する待ち合せキューに対応づけられたVIDを指定してもよい。すなわち、内部キュー振分け部56は、VLAN単位で読出し抑止指示を送信してもよい。外部メモリ読出し制御部52は、読出し抑止指示により指定されたVIDに対応する入力ポート・VLAN単位キュー82からの低優先パケットの読出しを停止してもよく、読出し抑止指示で指定対象外のVIDに対応する入力ポート・VLAN単位キュー82からの低優先パケットの読出しは継続してもよい。   As a modification, the internal queue distribution unit 56 may specify the VID associated with the waiting queue that holds the packet in the read inhibition instruction. That is, the internal queue distribution unit 56 may transmit a read inhibition instruction in units of VLANs. The external memory read control unit 52 may stop reading the low priority packet from the input port / VLAN unit queue 82 corresponding to the VID designated by the read inhibition instruction, and the VID not designated by the read inhibition instruction. The reading of the low priority packet from the corresponding input port / VLAN unit queue 82 may continue.

別の変形例として、内部キュー振分け部56は、待ち合せバッファ29が空になると、パケット読出しを再開させるための信号(以下、「読出し再開指示」とも呼ぶ。)を外部メモリ読出し制御部52へ送信してもよい。この場合、外部メモリ読出し制御部52は、読出し再開指示を受け付けると、外部メモリ80からの低優先パケットの読出しを再開する。なお、読出し再開指示においても、空になった待ち合せキューに対応するVIDが指定されてもよく、外部メモリ読出し制御部52は、読出し再開指示により指定されたVIDに対応する入力ポート・VLAN単位キュー82からの低優先パケットの読出しを再開してもよい。   As another modification, the internal queue distribution unit 56 transmits a signal for resuming packet reading (hereinafter also referred to as “read resumption instruction”) to the external memory read control unit 52 when the waiting buffer 29 becomes empty. May be. In this case, when receiving an instruction to resume reading, the external memory read control unit 52 resumes reading low-priority packets from the external memory 80. In the read restart instruction, the VID corresponding to the queuing queue that has been emptied may be designated, and the external memory read control unit 52 may input the input port / VLAN unit queue corresponding to the VID specified by the read restart instruction. The reading of the low priority packet from 82 may be resumed.

さらに別の変形例として、外部メモリ読出し制御部52は、待ち合せバッファ29にパケットが保持されているか否かを自立的に監視してもよい。そして、待ち合せバッファ29にパケットが保持されていることを検出すると、外部メモリ80からの低優先パケットの読出しを抑制してもよい。また待ち合せバッファ29が空になったことを検出すると、外部メモリ80からの低優先パケットの読出しを再開してもよい。   As yet another modification, the external memory read control unit 52 may independently monitor whether or not a packet is held in the waiting buffer 29. Then, when it is detected that the packet is held in the waiting buffer 29, reading of the low priority packet from the external memory 80 may be suppressed. When it is detected that the queuing buffer 29 is empty, reading of the low priority packet from the external memory 80 may be resumed.

また、外部メモリ読出し制御部52は、パケットを保持する待ち合せキューに対応づけられたVIDに対応する入力ポート・VLAN単位キュー82からの低優先パケットの読出しを停止してもよい。その一方、パケットを保持する待ち合せキューに対応づけられたVID以外のVIDに対応する入力ポート・VLAN単位キュー82からの低優先パケットの読出しは継続してもよい。また、特定のVIDに対応する入力ポート・VLAN単位キュー82からの低優先パケットの読出しを停止した後、そのVIDに対応する待ち合せキューが空になったことを検出すると、そのVIDに対応する入力ポート・VLAN単位キュー82からの低優先パケットの読出しを再開してもよい。   Further, the external memory read control unit 52 may stop reading low priority packets from the input port / VLAN unit queue 82 corresponding to the VID associated with the queuing queue holding the packet. On the other hand, low-priority packets may be continuously read from the input port / VLAN unit queue 82 corresponding to the VID other than the VID associated with the waiting queue that holds the packet. Further, after reading of the low priority packet from the input port / VLAN unit queue 82 corresponding to a specific VID is stopped, when it is detected that the waiting queue corresponding to the VID becomes empty, the input corresponding to the VID is detected. The reading of the low priority packet from the port / VLAN unit queue 82 may be resumed.

以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。   The present invention has been described based on the embodiments. This embodiment is an exemplification, and it will be understood by those skilled in the art that various modifications can be made to combinations of the respective constituent elements and processing processes, and such modifications are also within the scope of the present invention. is there.

上記実施の形態では、スイッチ装置として、イーサネットフレームのスイッチ処理を実行するレイヤ2スイッチを例示したが、レイヤ3スイッチやレイヤ4スイッチ等、他の種類のスイッチ装置に対しても本発明の技術思想を適用可能であり、同様の効果を奏する。また、スイッチ処理の対象とするパケットもイーサネットフレームに制限されず、IPパケット等、他の種類の通信データの場合にも本発明の技術思想を適用可能であり、同様の効果を奏する。   In the above embodiment, the layer 2 switch that executes the switching process of the Ethernet frame is exemplified as the switch device. However, the technical idea of the present invention is applicable to other types of switch devices such as a layer 3 switch and a layer 4 switch. Can be applied and has the same effect. Further, the packet to be switched is not limited to the Ethernet frame, and the technical idea of the present invention can be applied to other types of communication data such as IP packets, and the same effect can be obtained.

請求項に記載の各構成要件が果たすべき機能は、実施の形態および変形例において示された各構成要素の単体もしくはそれらの連携によって実現されることも当業者には理解されるところである。例えば、請求項に記載の第2の書込み制御部は、実施の形態の記載の内部キュー振分け部56と低優先パケット書込み制御部46の連携により実現されてもよい。   It should also be understood by those skilled in the art that the functions to be fulfilled by the constituent elements described in the claims are realized by the individual constituent elements shown in the embodiments and the modification examples or by their cooperation. For example, the second write control unit described in the claims may be realized by cooperation between the internal queue distribution unit 56 and the low priority packet write control unit 46 described in the embodiment.

10 基盤回路、 12 入力ポート、 14 出力ポート、 16 出力先決定部、 18 スケジューラ、 20 内部メモリ、 29 待ち合せバッファ、 30 振分け処理部、 32 優先度振分け部、 34 高優先パケット振分け部、 36 高優先パケット書込み制御部、 42 メモリ振分け部、 44 低優先パケット振分け部、 46 低優先パケット書込み制御部、 48 外部キュー振分け部、 50 外部メモリ書込み制御部、 52 外部メモリ読出し制御部、 56 内部キュー振分け部、 80 外部メモリ、 100 スイッチ装置。   10 basic circuits, 12 input ports, 14 output ports, 16 output destination determination unit, 18 scheduler, 20 internal memory, 29 queuing buffer, 30 distribution processing unit, 32 priority distribution unit, 34 high priority packet distribution unit, 36 high priority Packet write control unit, 42 Memory distribution unit, 44 Low priority packet distribution unit, 46 Low priority packet write control unit, 48 External queue distribution unit, 50 External memory write control unit, 52 External memory read control unit, 56 Internal queue distribution unit 80 External memory, 100 Switch device.

Claims (4)

スイッチ装置であって、
伝送路からパケットを受け付ける複数の入力ポートと、
伝送路へパケットを送出する複数の出力ポートと、
アクセス速度が相対的に高く小容量のメモリであって、前記複数の出力ポートに対応する複数のキューが設けられた高速メモリと、
アクセス速度が相対的に低く大容量のメモリであって、前記複数の入力ポートに対応する複数のキューが設けられた低速メモリと、
前記複数の入力ポートのそれぞれで受け付けられたパケットを格納すべきバッファとして、前記高速メモリの空きが所定の閾値以上の場合に前記高速メモリを選択する一方、前記高速メモリの空きが当該閾値未満の場合は前記低速メモリを選択する振分け部と、
前記パケットのバッファとして前記低速メモリが選択された場合、前記パケットが受け付けられた入力ポートに対応する前記低速メモリのキューへ前記パケットを格納する第1の書込み制御部と、
前記低速メモリからパケットを読出す読出し制御部と、
前記読出し制御部により読出されたパケットが複数の出力ポートから送出するべきパケットである場合に、その出力ポート数に応じて前記読出されたパケットを複製するコピー制御部と、
前記コピー制御部から出力されたパケットのそれぞれを、各パケットを送出するべき出力ポートに対応する前記高速メモリのキューへ格納する第2の書込み制御部と、
前記高速メモリの各キューに格納されたパケットを、各キューに対応する出力ポートから送出させる出力制御部と、
を備えることを特徴とするスイッチ装置。
A switching device,
Multiple input ports that accept packets from the transmission path;
A plurality of output ports for sending packets to the transmission path;
What memory der access speed is relatively high small capacity, a high-speed memory in which a plurality of queues corresponding to the plurality of output ports are provided,
What memory der large capacity access speed is relatively low, a low-speed memory in which a plurality of queues corresponding to the plurality of input ports are provided,
The high-speed memory is selected when the free space of the high-speed memory is equal to or greater than a predetermined threshold as a buffer to store the packets received at each of the plurality of input ports , while the high-speed memory free is less than the threshold In the case, a distribution unit for selecting the low-speed memory,
A first write controller that stores the packet in the queue of the low-speed memory corresponding to the input port from which the packet was received, when the low-speed memory is selected as the buffer for the packet;
A read controller for reading packets from the low-speed memory;
A copy control unit that replicates the read packet according to the number of output ports when the packet read by the read control unit is a packet to be transmitted from a plurality of output ports;
A second write control unit for storing each of the packets output from the copy control unit in the queue of the high-speed memory corresponding to the output port to which each packet is to be sent;
An output control unit for sending packets stored in each queue of the high-speed memory from an output port corresponding to each queue;
A switch device comprising:
前記振分け部は、相対的に高い優先度が設定された高優先パケットのバッファとして前記高速メモリを選択し、相対的に低い優先度が設定された低優先パケットのバッファとして、前記高速メモリの空きが所定の閾値以上の場合に前記高速メモリを選択する一方、前記高速メモリの空きが所定の閾値未満の場合は前記低速メモリを選択することを特徴とする請求項1に記載のスイッチ装置。   The distribution unit selects the high-speed memory as a buffer for high-priority packets set with a relatively high priority, and frees up the high-speed memory as a buffer for low-priority packets set with a relatively low priority. 2. The switch device according to claim 1, wherein the high-speed memory is selected when the threshold is equal to or greater than a predetermined threshold, and the low-speed memory is selected when the free space of the high-speed memory is less than the predetermined threshold. 前記振分け部は、前記低優先パケットのバッファとして前記低速メモリを選択した後、前記低速メモリに格納された全ての低優先パケットが読出され、かつ、前記高速メモリの空きが所定の閾値以上となった場合、前記低優先パケットのバッファを前記高速メモリへ変更することを特徴とする請求項2に記載のスイッチ装置。   The distribution unit selects all the low-priority packets stored in the low-speed memory after the low-speed memory is selected as a buffer for the low-priority packets, and the free space in the high-speed memory is equal to or greater than a predetermined threshold. 3. The switch device according to claim 2, wherein the low priority packet buffer is changed to the high speed memory. 前記第2の書込み制御部は、前記高速メモリの空きが所定の閾値以上の場合は、前記読出し制御部により読出されたパケットを前記高速メモリへ格納する一方、前記高速メモリの空きが当該閾値未満の場合は、前記高速メモリの空きが当該閾値以上となるまで、前記読出されたパケットを所定のバッファに保持させ、
前記読出し制御部は、前記所定のバッファにパケットが保持されている場合、前記低速メモリからのパケット読出しを抑制することを特徴とする請求項1からのいずれかに記載のスイッチ装置。
The second write control unit stores the packet read by the read control unit in the high-speed memory when the high-speed memory free space is equal to or greater than a predetermined threshold value, while the high-speed memory free space is less than the threshold value. In this case, the read packet is held in a predetermined buffer until the free space in the high-speed memory becomes equal to or greater than the threshold value ,
The read control unit, when said packet in a predetermined buffer is retained, the switch device according to any one of claims 1 to 3, characterized in that to suppress the packets read from the low-speed memory.
JP2011249850A 2011-11-15 2011-11-15 Switch device Expired - Fee Related JP5631850B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011249850A JP5631850B2 (en) 2011-11-15 2011-11-15 Switch device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011249850A JP5631850B2 (en) 2011-11-15 2011-11-15 Switch device

Publications (2)

Publication Number Publication Date
JP2013106260A JP2013106260A (en) 2013-05-30
JP5631850B2 true JP5631850B2 (en) 2014-11-26

Family

ID=48625480

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011249850A Expired - Fee Related JP5631850B2 (en) 2011-11-15 2011-11-15 Switch device

Country Status (1)

Country Link
JP (1) JP5631850B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015095823A (en) * 2013-11-13 2015-05-18 株式会社オー・エフ・ネットワークス Network device, buffer control device, and buffer control method

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3601078B2 (en) * 1993-08-05 2004-12-15 富士通株式会社 Router, frame relay exchange, and frame relay priority communication method
JPH08228193A (en) * 1995-02-21 1996-09-03 Mitsubishi Electric Corp Cell exchanging device
JP3213697B2 (en) * 1997-01-14 2001-10-02 株式会社ディジタル・ビジョン・ラボラトリーズ Relay node system and relay control method in the relay node system
US6977940B1 (en) * 2000-04-28 2005-12-20 Switchcore, Ab Method and arrangement for managing packet queues in switches
JP2009124488A (en) * 2007-11-15 2009-06-04 Sumitomo Electric Ind Ltd Data relay processing apparatus and method
JP5241483B2 (en) * 2008-12-26 2013-07-17 三菱電機株式会社 Termination communication device and power saving mode switching method
JP4769316B2 (en) * 2009-07-24 2011-09-07 日本電信電話株式会社 Packet queuing apparatus and packet queuing method

Also Published As

Publication number Publication date
JP2013106260A (en) 2013-05-30

Similar Documents

Publication Publication Date Title
US11899596B2 (en) System and method for facilitating dynamic command management in a network interface controller (NIC)
JP4483535B2 (en) Network equipment
US9800513B2 (en) Mapped FIFO buffering
US7430211B2 (en) System and method for receive queue provisioning
US20210112002A1 (en) Receiver-based precision congestion control
US8248945B1 (en) System and method for Ethernet per priority pause packet flow control buffering
US11700209B2 (en) Multi-path packet descriptor delivery scheme
US10419370B2 (en) Hierarchical packet buffer system
US11765250B2 (en) Devices and methods for managing network traffic for a distributed cache
WO2009097788A1 (en) A process method for caching the data and the device, system thereof
US20180006946A1 (en) Technologies for adaptive routing using network traffic characterization
CN110519180B (en) Network card virtualization queue scheduling method and system
EP3920475A1 (en) Memory management method and apparatus
JP5631850B2 (en) Switch device
CN110708255B (en) Message control method and node equipment
CN109802897B (en) Data transmission method and communication equipment
US8498304B2 (en) Communication controller
US20230396561A1 (en) CONTEXT-AWARE NVMe PROCESSING IN VIRTUALIZED ENVIRONMENTS
US20240195740A1 (en) Receiver-based precision congestion control
CN113347112B (en) Data packet forwarding method and device based on multi-level cache
Gonzalez-Naharro et al. Efficient dynamic isolation of congestion in lossless datacenter networks
JP2001244981A (en) Queue controller
CN116170377A (en) Data processing method and related equipment
CN117880197A (en) Convergence to enable congestion management
JP2016082343A (en) Packet transfer device and method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131010

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140611

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140722

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140910

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141007

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141008

R150 Certificate of patent or registration of utility model

Ref document number: 5631850

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees