JP2964958B2 - ATM switch - Google Patents
ATM switchInfo
- Publication number
- JP2964958B2 JP2964958B2 JP23785996A JP23785996A JP2964958B2 JP 2964958 B2 JP2964958 B2 JP 2964958B2 JP 23785996 A JP23785996 A JP 23785996A JP 23785996 A JP23785996 A JP 23785996A JP 2964958 B2 JP2964958 B2 JP 2964958B2
- Authority
- JP
- Japan
- Prior art keywords
- storage means
- address
- cell data
- output port
- storage
- 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 - Lifetime
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Description
【0001】[0001]
【発明の属する技術分野】本発明は、非同期転送モ−ド
(ATM)通信方法に用いられるATMスイッチに関
し、特に共有バッファ型ATMスイッチのメモリアドレ
ス管理に関するものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an ATM switch used in an asynchronous transfer mode (ATM) communication method, and more particularly to a memory address management for a shared buffer type ATM switch.
【0002】[0002]
【従来の技術】従来のATMスイッチについて下記の公
知文献に基づいて説明する。 (1)特開平03−第001633号公報説明ペ−ジ
P3 14行〜P4 2行、図面 第1図、第2図 (2)小崎他“共通バッファ形ATMスイッチのスイッ
チング制御に関する検討”、信学技報SSE92-127 、pp.1
3-18、1993説明ペ−ジ P14 31行〜43行、図面
図1 (3)Kenneth J. Schultz et al, “CAM-Based Single
-Chip Shared Buffer ATM Swich",ICC'94,pp.1190-119
5,1994説明ペ−ジ P1190〜P1191 3節、図
面 Fig.22. Description of the Related Art A conventional ATM switch will be described with reference to the following known documents. (1) Japanese Patent Application Laid-Open No. 03-001633
P3 line 14 to P4 line 2, drawings Fig. 1 and Fig. 2 (2) Ozaki et al. "Study on switching control of common buffer ATM switch", IEICE Technical Report SSE92-127, pp.1
3-18, 1993 Explanation page P14 lines 31-43, drawing Figure 1 (3) Kenneth J. Schultz et al, “CAM-Based Single
-Chip Shared Buffer ATM Swich ", ICC'94, pp.1190-119
5,1994 Explanation Page P1190-P1193 Section 3, Drawing Fig.2
【0003】ATMスイッチでは、一般にセルを蓄積す
るためのセルバッファメモリを持っており、このセルバ
ッファメモリの配置によりいくつかの型式のATMスイ
ッチが提案されている。その中で、スイッチの全ての出
力ポ−トが単一のメモリ上で論理的な出力キュ−(FI
FO)を構成して、メモリ空間を出力ポ−ト間で共有し
て利用する、共有バッファ型ATMスイッチがある(文
献(2))。The ATM switch generally has a cell buffer memory for storing cells, and several types of ATM switches have been proposed depending on the arrangement of the cell buffer memory. Among them, all output ports of the switch are logical output queues (FI) on a single memory.
FO), and there is a shared buffer type ATM switch that uses a memory space shared between output ports (Reference (2)).
【0004】共有バッファ型ATMスイッチは、メモリ
のアドレス空間を論理的に分割してFIFOキュ−を複
数構成したものであり、それぞれのFIFOキュ−の最
大長は、全てのFIFOキュ−長の合計がメモリのアド
レス空間を超えない範囲で融通し合うことができ、メモ
リを効果的に使用することができる。さらに、FIFO
キュ−をもっと細かい単位、例えば出力ポ−トをさらに
複数のサ−ビスクラスに分割した単位で構成し、サ−ビ
スクラス間での出力優先制御を行う場合も、メモリを効
果的に使用することができる。A shared buffer type ATM switch logically divides an address space of a memory to form a plurality of FIFO queues. The maximum length of each FIFO queue is the sum of all FIFO queue lengths. Can be accommodated within a range not exceeding the address space of the memory, and the memory can be used effectively. Furthermore, FIFO
Even when the queue is composed of smaller units, for example, the output port is further divided into a plurality of service classes, and the output priority control is performed between the service classes, the memory can be effectively used. it can.
【0005】一般に共有バッファ型ATMスイッチは図
5に示すように、各入力ポ−トのセル81をセル多重す
るセル多重部10と、セル多重されたセルデ−タ84を
蓄積するセルバッファメモリ11と、セルバッファメモ
リ11を制御するメモリ制御部9と、セルバッファメモ
リ11からのセルデ−タ87を出力ポ−ト毎のセル88
に分離するセル分離部8とで構成される。また、クロッ
ク82、セルクロック83がセル多重部10、メモリ制
御部9、セル分離部8に与えられる。In general, a shared buffer type ATM switch has a cell multiplexing unit 10 for multiplexing cells 81 of each input port and a cell buffer memory 11 for storing cell multiplexed cell data 84, as shown in FIG. And a memory control unit 9 for controlling the cell buffer memory 11, and the cell data 87 from the cell buffer memory 11 to the cells 88 for each output port.
And a cell separation unit 8 for separating the cells. The clock 82 and the cell clock 83 are provided to the cell multiplexing unit 10, the memory control unit 9, and the cell separation unit 8.
【0006】メモリ制御部9は、セル多重部10からの
出力制御信号85に基づいて、セルバッファメモリのア
ドレス空間上に論理的なFIFOキュ−を構築するアド
レス管理部である。論理的なFIFOキュ−を構成する
方法としては、FIFOを構成するメモリアドレスのチ
ェ−ン(出力順序)をリンクドリスト形式(ポインタで
次のデ−タ格納アドレスを示す)で表現する方法と、ア
ドレスデ−タそのものを個別のFIFOメモリに蓄積す
る方法と、セルバッファメモリのアドレス空間と同規模
のCAM(連想メモリ)を用いる方法などがある(文献
(1)、(3))。The memory control unit 9 is an address management unit that constructs a logical FIFO queue in the address space of the cell buffer memory based on the output control signal 85 from the cell multiplexing unit 10. A logical FIFO queue is constructed by a method of expressing a chain (output order) of memory addresses constituting the FIFO in a linked list format (pointer indicates the next data storage address by a pointer). There is a method of storing the address data itself in a separate FIFO memory, and a method of using a CAM (associative memory) having the same size as the address space of the cell buffer memory (references (1) and (3)).
【0007】この中で、CAMを用いたメモリ制御部9
の構成例のブロック図を図6に、メモリ制御部9の代表
信号のタイミングチャートを図7に示す。CAMを用い
る方法では、CAMのデータ領域に使用/未使用を示す
ビットと、FIFOを識別する番号と、FIFO内の順
序を示すシーケンス番号とを格納するようにする(文献
(1)、(3))。Among them, a memory control unit 9 using a CAM
FIG. 6 is a block diagram of an example of the configuration, and FIG. 7 is a timing chart of a representative signal of the memory control unit 9. In the method using the CAM, a bit indicating use / non-use, a number for identifying a FIFO, and a sequence number indicating an order in the FIFO are stored in a data area of the CAM (references (1) and (3)). )).
【0008】まずセルデ−タ84の格納(書き込み)時
(図7のセルバッファメモリW/R制御信号95をWに
する時)は、CAM13の未使用アドレスを検索してア
ドレスを得(図7のCAM制御信号92のS=Searchの
領域及びセルバッファメモリWrite/Readアドレス94の
WA)、そのアドレスが示すセルバッファメモリ11に
セルデ−タ84を格納すると共に、CAM13のデータ
領域に使用ビット、FIFO番号とシ−ケンス番号とを
格納する(図7のCAM制御信号92のU=Updateの領
域)。First, when storing (writing) the cell data 84 (when setting the cell buffer memory W / R control signal 95 in FIG. 7 to W), an unused address of the CAM 13 is searched to obtain an address (FIG. 7). S = Search area of the CAM control signal 92 and WA of the cell buffer memory Write / Read address 94), the cell data 84 is stored in the cell buffer memory 11 indicated by the address, and bits used in the data area of the CAM 13 The FIFO number and the sequence number are stored (U = Update area of the CAM control signal 92 in FIG. 7).
【0009】CAM制御回路部12は、FIFO毎にシ
−ケンス番号の先頭と末尾を管理しており、セルデ−タ
87をセルバッファメモリ11から読み出す場合は、使
用ビット、FIFO番号と先頭シ−ケンス番号をCAM
デ−タ91として与え、CAM13を検索して該当する
アドレスを求める(図7のCAM制御信号92のS=Sea
rch の領域及びセルバッファメモリWrite/Readアドレス
94のRA。アドレス94はラッチ回路14を介してセ
ルバッファメモリ11に与えられる。また、読み出した
後にアドレス93として戻され、CAMのデ−タを未使
用に書き換える(図7のCAM制御信号92のU=Upda
teの領域)。The CAM control circuit unit 12 manages the start and end of the sequence number for each FIFO. When the cell data 87 is read from the cell buffer memory 11, the bits used, the FIFO number and the start sequence are used. CAM number
Given as data 91, the CAM 13 is searched to find the corresponding address (S = Sea of the CAM control signal 92 in FIG. 7).
RA of rch area and cell buffer memory Write / Read address 94. The address 94 is provided to the cell buffer memory 11 via the latch circuit 14. After reading, the address is returned as the address 93, and the data of the CAM is rewritten as unused (U = Upda of the CAM control signal 92 in FIG. 7).
te area).
【0010】以上のように、セルバッファメモリ11へ
の書き込み、読み出し時それぞれにおいて、CAM13
に対して2回のアクセス(1回の検索と1回の更新)、
1セルに対して合計4回のアクセスを行う必要がある。As described above, when writing to and reading from the cell buffer memory 11, the CAM 13
Access twice (one search and one update),
It is necessary to make a total of four accesses to one cell.
【0011】なお、メモリ制御部としてCAMを用いる
方法は、CAMに書き込む内容、例えばFIFO番号な
どを書き換えることにより、比較的簡単に出力ポ−ト数
やサ−ビスクラス数を変更できるため、非常に有利な実
現手段である。また、空きアドレスが使用/未使用ビッ
トのみで表現できるため、リンクドリスト形式などでは
必要とされる空きアドレス格納用FIFO(リンクドリ
スト形式メモリ)が不要であるなどのメリットもある
(文献(3))。The method of using a CAM as a memory control unit can change the number of output ports and the number of service classes relatively easily by rewriting the contents written in the CAM, for example, a FIFO number. This is an advantageous implementation. In addition, since the free address can be expressed only by the used / unused bits, there is an advantage that a free address storage FIFO (a linked list format memory) which is required in a linked list format or the like is not required (see Document (1)). 3)).
【0012】[0012]
【発明が解決しようとする課題】上述した従来の共有型
バッファ型ATMスイッチのCAMを用いたメモリ管理
技術における問題点は、実現可能なATMスイッチのス
ル−プット(最大処理速度)が、個別のFIFOなどの
他のメモリ管理方法に比べて低くなることである。その
理由は、セルバッファメモリへの書き込み時と、読み出
し時それぞれにおいて、アドレス検索をするためのCA
Mのサ−チやCAMの更新が必要であるため、1セルの
処理において最低4回のCAMアクセスが必要であり、
このアクセス回数×アクセスタイム(CAMサ−チ時
間、書き込み読み出し時間)よりも短い時間のセルは処
理できないからであり、一般にCAMのサ−チ時間はR
AMのアクセスタイムよりも長いからである。The problem with the conventional memory management technique using the CAM of the shared buffer type ATM switch described above is that the throughput (maximum processing speed) of the ATM switch that can be realized is different. This is lower than other memory management methods such as FIFO. The reason for this is that the CA for searching the address is used both when writing to and reading from the cell buffer memory.
Since search of M and update of CAM are necessary, at least four times of CAM access is required in one cell processing.
This is because a cell having a time shorter than this number of accesses times the access time (CAM search time, write / read time) cannot be processed. Generally, the CAM search time is R
This is because it is longer than the access time of AM.
【0013】従って、本発明の目的は、共有バッファ型
ATMスイッチのメモリ制御部にCAMを用いた構成に
おいて、スル−プット(最大処理速度)の高いATMス
イッチを提供することにある。Accordingly, an object of the present invention is to provide an ATM switch having a high throughput (maximum processing speed) in a configuration in which a CAM is used as a memory control section of a shared buffer type ATM switch.
【0014】[0014]
【課題を解決するための手段】本発明においては、上記
目的を達成するために、複数の入出力ポ−トを有し、各
入力ポ−トからのATMセルを多重化し、多重化された
セルデ−タを各入出力ポ−トに共通の第1の記憶手段に
蓄積し、この第1の記憶手段から上記蓄積されたセルデ
−タを読み出し各出力ポ−ト毎に分離するようにしたA
TMスイッチにおいて、上記第1の記憶手段のアドレス
の使用状態と、書き込まれたセルデ−タの出力ポ−ト番
号と、出力ポ−ト毎の読み出し順序を示すシ−ケンス番
号とを記憶する2個の第2の記憶手段と、上記2個の第
2の記憶手段の各記憶内容を照合することにより上記第
1の記憶手段の空きアドレスを検索し、同時に各出力ポ
−トからのセルデ−タ格納アドレスを検索し、上記第1
の記憶手段へのセルデ−タ書き込み読み出し制御を行う
制御手段とを備え、上記制御手段は、一方の第2記憶手
段の記憶内容を照合することにより上記第1の記憶手段
の空きアドレスを検索し、同時に他方の第2の記憶手段
の記憶内容を照合することにより各出力ポ−トからのセ
ルデ−タ格納アドレスを検索し、上記第1の記憶手段へ
のセルデ−タ書き込み読み出し制御を行うことを特徴と
する。In order to achieve the above object, the present invention has a plurality of input / output ports, multiplexes ATM cells from each input port, and multiplexes the ATM cells. The cell data is stored in a first storage means common to each input / output port, and the stored cell data is read out from the first storage means and separated for each output port. A
The TM switch stores the use state of the address of the first storage means, the output port number of the written cell data, and the sequence number indicating the reading order for each output port. The empty addresses of the first storage means are searched by comparing the contents of the two second storage means with the respective stored contents of the two second storage means, and at the same time, the cell data from each output port is retrieved. Search the data storage address, and
Control means for controlling the writing and reading of cell data to and from the storage means, and the control means searches for an empty address of the first storage means by checking the storage contents of one of the second storage means. At the same time, the cell data storage address from each output port is searched by comparing the storage contents of the other second storage means, and the cell data writing / reading control to the first storage means is performed. It is characterized by.
【0015】本発明においては、上記目的を達成するた
めに、複数の入出力ポ−トを有し、各入力ポ−トからの
ATMセルを多重化し、多重化されたセルデ−タを各入
出力ポ−トに共通の第1の記憶手段に蓄積し、この第1
の記憶手段から上記蓄積されたセルデ−タを読み出し各
出力ポ−ト毎に分離するようにしたATMスイッチにお
いて、上記第1の記憶手段のアドレスの使用状態と、書
き込まれたセルデ−タの出力ポ−ト番号と、出力ポ−ト
毎の読み出し順序を示すシ−ケンス番号とを記憶する複
数の第2の記憶手段と、上記複数の第2の記憶手段の各
記憶内容を照合することにより上記第1の記憶手段の空
きアドレスを検索し、同時に各出力ポ−トからのセルデ
−タ格納アドレスを検索し、上記第1の記憶手段へのセ
ルデ−タ書き込み読み出し制御を行う制御手段とを備
え、上記第2の記憶手段を複数のサ−ビスクラス毎に設
け、上記制御手段は、異なるサ−ビスクラスのセルデ−
タが上記第1の記憶手段に同時に入出力されるときは、
それぞれの第2の記憶手段を同時に検索して空きアドレ
ス及びセルデ−タ格納アドレスを得、同一のサ−ビスク
ラスのセルデ−タが上記第1の記憶手段に入出力される
ときは、セルデ−タ格納アドレスを検索した後、これを
空きアドレスとして再利用することを特徴とする。ま
た、上記サ−ビスクラス毎の上記第2の記憶手段のサイ
ズを可変にしてもよい。In order to achieve the above object, the present invention has a plurality of input / output ports, multiplexes ATM cells from each input port, and outputs multiplexed cell data to each input port. The output is stored in a first storage means common to the output ports.
In the ATM switch in which the stored cell data is read out from the storage means and separated for each output port, the use state of the address of the first storage means and the output of the written cell data are described. By comparing a plurality of second storage means for storing a port number and a sequence number indicating a reading order for each output port with each storage content of the plurality of second storage means, Control means for retrieving an empty address of the first storage means, and at the same time retrieving a cell data storage address from each output port, and performing cell data write / read control to the first storage means. Wherein the second storage means is provided for each of a plurality of service classes, and the control means comprises a cell service of a different service class.
When the data is simultaneously input / output to / from the first storage means,
Each of the second storage means is simultaneously searched to obtain an empty address and a cell data storage address. When cell data of the same service class is input / output to / from the first storage means, the cell data is stored. After searching for a storage address, it is reused as a free address. Further, the size of the second storage means for each service class may be variable.
【0016】さらに、複数のセルデ−タを単位とするブ
ロックアドレスを上記第1の記憶手段に定義して、この
ブロックアドレスを上記第2の記憶手段のアドレスに対
応させるようにしてもよい。Further, a block address in units of a plurality of cell data may be defined in the first storage means, and the block address may correspond to an address in the second storage means.
【0017】[0017]
【発明の実施の形態】以下、本発明の実施の形態につい
て説明する。図1は本発明の第1の実施の形態によるメ
モリ制御部9のブロック図、図2は動作を示すタイミン
グチャ−トであり、図1の代表的な各信号を示してい
る。尚、図1図2においては図5〜図7及び互いに対応
する部分には同一符号を付けて重複する説明を省略す
る。Embodiments of the present invention will be described below. FIG. 1 is a block diagram of the memory control unit 9 according to the first embodiment of the present invention, and FIG. 2 is a timing chart showing the operation, showing typical signals of FIG. In FIGS. 1 and 2, the same reference numerals are given to the portions corresponding to FIGS.
【0018】図1においては、CAMとしてRead用CA
M13a とWrite 用CAM13bとの2個を設けており、こ
れに伴ってラッチ回路14a,14及b び各信号91a 〜93a,91
b 〜93b が設けられ、さらに選択回路15が設けられて
いる。In FIG. 1, a read CA is used as the CAM.
M13a and a write CAM 13b are provided, and the latch circuits 14a, 14 and b and the signals 91a to 93a, 91b
b to 93b are provided, and a selection circuit 15 is further provided.
【0019】次に上記構成による動作について説明す
る。図1におけるRead用CAM13a とWrite 用CAM13
bのデ−タ領域には、使用/未使用を示すビットと、出
力ポ−ト番号などのようなFIFOを識別する番号と、
それぞれのFIFO内での格納順序を示すシ−ケンス番
号とを格納するようにする。基本的にRead用CAM13a
とWrite 用CAM13bの内容は同じ内容が書き込まれ
る。また、CAM制御部12には、それぞれのFIFO
の先頭シ−ケンス番号、最後尾シ−ケンス番号を記憶し
ておく。Next, the operation of the above configuration will be described. Read CAM 13a and Write CAM 13 in FIG.
In the data area b, a bit indicating used / unused and a number for identifying the FIFO such as an output port number, etc.
A sequence number indicating the storage order in each FIFO is stored. Basically CAM13a for Read
And the contents of the write CAM 13b are the same. Further, the CAM control unit 12 has respective FIFOs.
Are stored in the first sequence number and the last sequence number.
【0020】まずセルデ−タ84が入力されると、セル
バッファメモリ11にこれを格納(書き込み)しなけれ
ばならない。このとき、CAM制御回路12はセルデ−
タ84の出力先すなわち格納すべきFIFO番号を出力
制御信号85から得る。さらに、CAM制御回路12は
Write 制御用CAM13bに対して、CAM内の未使用ア
ドレスを検索する指示を出す。これは、CAMデ−タ91
b 中の使用/未使用ビットのみ0(0は未使用を表す)
として、他のビットを全てマスクして検索することで実
現する。こうして得られたアドレス93b は、ラッチ回路
14b でラッチされると共に、CAM制御回路12に戻さ
れる。First, when the cell data 84 is input, it must be stored (written) in the cell buffer memory 11. At this time, the CAM control circuit 12
The output destination of the data 84, that is, the FIFO number to be stored, is obtained from the output control signal 85. Further, the CAM control circuit 12
It instructs the write control CAM 13b to search for an unused address in the CAM. This is the CAM data 91
Only used / unused bits in b are 0 (0 indicates unused)
The search is performed by masking all other bits. The address 93b thus obtained is stored in the latch circuit.
It is latched at 14b and returned to the CAM control circuit 12.
【0021】次のクロック82で、CAM制御回路12
はセルバッファメモリ11のW制御信号95をWrite 制
御にして選択回路15をWA(Write Addres)93b を出
力するように切替え、これをセルバッファメモリ11の
書き込みアドレス94として与える。セルバッファメモ
リ11は該当のアドレスにセルデ−タ84を書き込む。
このとき同時に、CAM制御回路12はWrite 用CAM
13bとRead用CAM13a の双方の該当するアドレスに、
FIFO番号と最後尾シ−ケンス番号に1を加えた値を
書き込む。またCAM制御回路12は該当するFIFO
の最後尾シ−ケンス番号が1進んだことを記憶してお
く。At the next clock 82, the CAM control circuit 12
Sets the W control signal 95 of the cell buffer memory 11 to Write control and switches the selection circuit 15 to output a WA (Write Addres) 93b, and gives this as a write address 94 of the cell buffer memory 11. The cell buffer memory 11 writes the cell data 84 to the corresponding address.
At this time, the CAM control circuit 12 simultaneously writes the CAM for writing.
13b and CAM 13a for Read
Write a value obtained by adding 1 to the FIFO number and the last sequence number. In addition, the CAM control circuit 12
Is stored that the last sequence number has advanced by one.
【0022】また、セルバッファメモリ11からセルデ
−タ87を読み出すための準備操作を、上記書き込み操
作と並行して行う。読み出しは、CAM制御回路12が
指定したFIFOから行う。CAM制御回路12はFI
FOを決められた順に巡回して指定する。まず、CAM
制御回路12が指定したFIFO番号とそれが記憶して
いる最後尾シ−ケンス番号と使用/未使用ビット=1
(1は使用を表す)をCAMデ−タ91a としてRead用C
AM13a を検索する。こうして得られたアドレス93a
は、ラッチ回路14a でラッチされると共に、CAM制御
回路12に戻される。A preparation operation for reading the cell data 87 from the cell buffer memory 11 is performed in parallel with the write operation. Reading is performed from the FIFO specified by the CAM control circuit 12. CAM control circuit 12 is FI
The FOs are circulated and specified in a predetermined order. First, CAM
The FIFO number designated by the control circuit 12, the last sequence number stored therein, and the used / unused bit = 1
(1 indicates use) as CAM data 91a and read C
Search for AM13a. The address 93a thus obtained
Are latched by the latch circuit 14a and returned to the CAM control circuit 12.
【0023】次のクロック82でラッチされたRA(Re
ad Address)93a はCAM制御回路12からのW/R制
御信号95がRead制御を指示したときに、選択回路15
で選択されてセルバッファメモリ11のアドレス94と
して与えられる。セルバッファメモリ11はこのアドレ
ス94にあるセルデ−タ87を読み出して出力する。さ
らに次のクロック82で、Read用CAM13a とWrite 用
CAM13b双方の該当アドレスに、使用/未使用ビット
=0を書き込み、更新する。すなわち、図2でWrite 用C
AM制御信号92b とRead用CAM制御信号92a でのU
(Update)では、Write 用CAM13a とRead用CAM13
b の両方を同時に更新する。RA (Re) latched by the next clock 82
ad Address) 93a is the selector circuit 15 when the W / R control signal 95 from the CAM control circuit 12 instructs the read control.
And given as an address 94 of the cell buffer memory 11. The cell buffer memory 11 reads out and outputs the cell data 87 at the address 94. At the next clock 82, the used / unused bit is added to the corresponding address of both the read CAM 13a and the write CAM 13b.
Write = 0 and update. That is, in FIG.
U in the AM control signal 92b and the read CAM control signal 92a
In (Update), CAM13a for Write and CAM13 for Read
Update both of b simultaneously.
【0024】以上のように、CAMを2面用意して同時
に検索を行うことにより、検索回数を減らすことがで
き、セルバッファメモリへの1セル書き込みと、セルバ
ッファメモリからの1セル読み出しの操作を3回のアク
セスで実現できる。As described above, by preparing two CAMs and performing a search at the same time, the number of searches can be reduced, and the operation of writing one cell to the cell buffer memory and reading one cell from the cell buffer memory can be performed. Can be realized with three accesses.
【0025】図3は本発明の第2の実施例の形態のメモ
リ制御部9のブロック図である。また、図4はメモリ制
御部9の代表的な信号のタイミングチャ−トである。図
3においては、クラス1〜4用のCAM13a 〜13d が設
けられ、これに伴ってラッチ回路14a 〜14d 及び各信号
91a 〜93d,91b 〜91d が設けられている。FIG. 3 is a block diagram of the memory control unit 9 according to the second embodiment of the present invention. FIG. 4 is a timing chart of typical signals of the memory control unit 9. In FIG. 3, CAMs 13a to 13d for classes 1 to 4 are provided, and accordingly, latch circuits 14a to 14d and respective signals are provided.
91a to 93d and 91b to 91d are provided.
【0026】次に上記構成による動作について説明す
る。図3におけるクラス1〜4用のCAM13a 〜CAM
13d のデ−タ領域には、使用/未使用を示すビットと、
出力ポ−ト番号などのようなFIFOを識別する番号
と、それぞれのFIFO内での格納順序を示すシ−ケン
ス番号を格納するようにする。クラス1〜クラス4は、
出力ポ−ト毎のFIFOをサ−ビスクラス単位に分割
し、読み出し時に優先制御を行うことにより、遅延に関
する複数の品質クラスを実現するものである。なお、4
クラスは一例であり、クラス数には制限はない。一般的
な優先制御の例としては、低優先クラスのFIFOは、
それよりも高優先クラスのFIFOにセルが蓄積されて
いない状態で初めて読み出すことができるといったもの
である。Next, the operation of the above configuration will be described. CAM13a to CAM for classes 1 to 4 in FIG.
In the data area of 13d, a bit indicating used / unused is provided,
A number for identifying a FIFO, such as an output port number, and a sequence number indicating a storage order in each FIFO are stored. Class 1 to Class 4
The FIFO for each output port is divided into service class units, and priority control is performed at the time of reading, thereby realizing a plurality of quality classes related to delay. In addition, 4
The class is an example, and the number of classes is not limited. As an example of general priority control, a low priority class FIFO is
A cell can be read out for the first time without cells stored in the FIFO of a higher priority class.
【0027】これらのCAM13a 〜CAM13d のアドレ
スは、セルバッファメモリ11のアドレスを重なること
無く分割したものとする。但し、CAM13a 〜CAM13
d のそれぞれのアドレス空間は固定的であっても、設定
変更可能であっても良い。そして、アドレスが一致しな
いように分割しているということは、それぞれが独立に
動作して良いことを意味する。但し、その場合はクラス
間でセルバッファメモリ11のアドレス空間を融通し合
うことはできない。The addresses of the CAMs 13a to 13d are obtained by dividing the addresses of the cell buffer memory 11 without overlapping. However, CAM13a to CAM13
Each address space of d may be fixed or may be changeable. Dividing the addresses so that they do not match means that they can operate independently. However, in that case, the address space of the cell buffer memory 11 cannot be interchanged between the classes.
【0028】CAM制御部12には、それぞれのクラス
のそれぞれのFIFOの先頭シ−ケンス番号、最後尾シ
−ケンス番号を記憶しておく。まずセルデ−タ84が入
力されると、セルバッファメモリ11にこれを格納(書
き込み)しなければならない。このとき、CAM制御回
路12はセルデ−タ84の出力先すなわち格納すべきク
ラス番号とFIFO番号を出力制御信号85から得る。
さらに、CAM制御回路12は該当するクラス番号のC
AM(例えば13b )に対して、そのCAM内の未使用ア
ドレスを検索する指示を出す。これは、CAMデ−タ91
b 中の使用/未使用ビットのみ0(0は未使用を表す)
として、他のビットを全てマスクして検索することで実
現する。The CAM control unit 12 stores the first sequence number and the last sequence number of each FIFO of each class. First, when the cell data 84 is input, it must be stored (written) in the cell buffer memory 11. At this time, the CAM control circuit 12 obtains the output destination of the cell data 84, that is, the class number to be stored and the FIFO number from the output control signal 85.
Further, the CAM control circuit 12 determines the C of the corresponding class number.
An instruction is issued to the AM (for example, 13b) to search for an unused address in the CAM. This is the CAM data 91
Only used / unused bits in b are 0 (0 indicates unused)
The search is performed by masking all other bits.
【0029】こうして得られたアドレス93b は、ラッチ
回路14b で次のクロックでラッチされると共に、CAM
制御回路12に戻される。そして、同時に該当するCA
Mのアドレスに、使用/未使用ビット=1とFIFO番号
と最後尾シ−ケンス番号に1を加えた値を書き込む。ま
たCAM制御回路12は該当するクラス番号のFIFO
の最後尾シ−ケンス番号が1進んだことを記憶してお
く。ラッチされたアドレス93b は、セルバッファメモリ
の書き込みサイクルまで保持される。ライトサイクル
で、CAM制御回路12はセルバッファメモリ11のW
制御信号95をWrite 制御にして、選択回路15をWA
(Write Addres)93bを出力するように切替え、これを
セルバッファメモリ11の書き込みアドレス94として与
える。セルバッファメモリ11は該当のアドレスにセル
デ−タを書き込む。The address 93b thus obtained is latched by the latch circuit 14b at the next clock, and the CAM
It is returned to the control circuit 12. And at the same time, the corresponding CA
At the address of M, a value obtained by adding 1 to the used / unused bit = 1, the FIFO number, and the last sequence number is written. Further, the CAM control circuit 12 stores the FIFO of the corresponding class number.
Is stored that the last sequence number has advanced by one. The latched address 93b is held until the write cycle of the cell buffer memory. In the write cycle, the CAM control circuit 12 stores the W
Set the control signal 95 to Write control and set the selection circuit 15 to WA.
(Write Addres) 93b is switched to be output, and this is given as a write address 94 of the cell buffer memory 11. The cell buffer memory 11 writes cell data at the corresponding address.
【0030】また、セルバッファメモリ11からセルデ
−タ87を読み出すための準備操作を、上記書き込み操
作と並行して行う。読み出しは、CAM制御回路12が
指定したクラス番号のFIFOから行う。CAM制御回
路12は出力ポ−トを決められた順に巡回し、該当出力
ポ−トのクラス1〜4のそれぞれのFIFO間で優先制
御を行い、一つのクラス番号とFIFO番号を指定す
る。CAM制御回路12は、各FIFOの最後尾シ−ケ
ンス番号と先頭シ−ケンス番号との差を計算してFIF
O内の蓄積セル数を求め、優先制御を行う。A preparation operation for reading the cell data 87 from the cell buffer memory 11 is performed in parallel with the write operation. Reading is performed from the FIFO of the class number specified by the CAM control circuit 12. The CAM control circuit 12 circulates the output ports in the determined order, performs priority control between the FIFOs of the corresponding output ports in classes 1 to 4, and designates one class number and FIFO number. The CAM control circuit 12 calculates the difference between the last sequence number and the first sequence number of each FIFO, and
The number of storage cells in O is obtained, and priority control is performed.
【0031】まず、CAM制御回路12が指定したクラ
ス(例えばクラス1)のFIFO番号とそれが記憶して
いる最後尾シ−ケンス番号と使用/未使用ビット=1
(1は使用を表す)を、該当するクラス1のCAMデ−
タ91a としてクラス1用CAM13a を検索する。こうし
て得られたアドレス93a は、ラッチ回路14a でラッチさ
れると共に、CAM制御回路12に戻される。First, the FIFO number of the class (eg, class 1) designated by the CAM control circuit 12, the last sequence number stored therein, and the used / unused bit = 1
(1 represents use) by the corresponding class 1 CAM data.
The CAM 13a for class 1 is searched as the data 91a. The address 93a thus obtained is latched by the latch circuit 14a and returned to the CAM control circuit 12.
【0032】次のクロックでラッチされたRA(Read A
ddress)93a はCAM制御回路12からのW/R制御信
号95がRead制御を指示したときに、選択回路15で選
択されてセルバッファメモリ11のアドレス94として
与えられる。セルバッファメモリ11はこのアドレス9
4にあるセルデ−タ87を読み出して出力する。それと
同時に、クラス1用CAM13a の該当アドレスに、使用
/未使用ビット=0を書き込み、更新する。RA (Read A) latched by the next clock
ddress) 93a is selected by the selection circuit 15 and given as an address 94 of the cell buffer memory 11 when the W / R control signal 95 from the CAM control circuit 12 instructs read control. The cell buffer memory 11 stores the address 9
4 is read and output. At the same time, the used / unused bit = 0 is written to the corresponding address of the class 1 CAM 13a and updated.
【0033】以上は読み出しクラスと書き込みクラスと
が異なる場合の手順を示しているが、読み出しクラスと
書き込みクラスとが同じ場合には、先に述べた書き込み
のためのCAMの検索を省略し、読み出しのために検索
したアドレスをそのまま次の書き込みアドレスとして与
える。例えばクラス3のFIFOからの読み出しを行っ
た時に、クラス3のセルが入力された場合、読み出し操
作においてクラス3用CAM13c を先頭シ−ケンス番号
で検索して得られたアドレス93c を、書き込みをするセ
ルのためのアドレスに割り当てる。該当アドレスはセル
バッファメモリ11のライトサイクルまで保持し、その
間にCAM13c の該当アドレスは、新たなセルデ−タ84
のFIFO番号と最後尾シ−ケンス番号に1を加えた値
を書き込み、更新する。CAM制御回路12は、読み出
したFIFOの先頭シ−ケンス番号に1を加えた値を記
憶すると共に、書き込んだFIFOの最後尾シ−ケンス
番号に1を加えた値を記憶しておく。The above description has been given of the procedure when the read class and the write class are different. However, when the read class and the write class are the same, the above-described search of the CAM for writing is omitted, and the read is performed. Is given as the next write address as it is. For example, if a class 3 cell is input when reading from a class 3 FIFO, an address 93c obtained by searching the class 3 CAM 13c by the leading sequence number in a read operation is written. Assign an address for the cell. The corresponding address is held until the write cycle of the cell buffer memory 11, during which the corresponding address of the CAM 13 c is replaced with the new cell data 84.
Then, a value obtained by adding 1 to the FIFO number and the last sequence number is written and updated. The CAM control circuit 12 stores a value obtained by adding 1 to the leading sequence number of the read FIFO, and stores a value obtained by adding 1 to the last sequence number of the written FIFO.
【0034】以上のように、アドレス空間が一致しない
複数のCAMを用意にて、独立に検索、更新を行うとと
もに、読み出しと書き込みが同時に発生したアドレス空
間では、読み出しアドレスを書き込みアドレスとして再
利用することにより、書き込みと読み出しの操作を同時
に行って、CAMの検索回数を減らすことができ、セル
バッファメモリの1セル書き込みと、セルバッファメモ
リからの1セル読み出しの操作を2回のアクセスで実現
できる。As described above, a plurality of CAMs whose address spaces do not match each other are prepared and independently searched and updated. In an address space where reading and writing occur simultaneously, a read address is reused as a write address. Thereby, the write and read operations can be performed simultaneously, and the number of CAM searches can be reduced, and the operation of writing one cell in the cell buffer memory and reading one cell from the cell buffer memory can be realized by two accesses. .
【0035】[0035]
【発明の効果】本発明による第1の効果は、共有バッフ
ァ型ATMスイッチにおけるアドレス検索時間を短縮す
ることができ、これにより、ATMスイッチのスル−プ
ット(最大処理速度)を高速にすることができる。具体
的には実施の形態に示すように、従来のCAMを用いた
実現方法の3/2倍から2倍のスル−プットを持つスイ
ッチが実現可能である。The first effect of the present invention is that the address search time in the shared buffer type ATM switch can be shortened, thereby increasing the throughput (maximum processing speed) of the ATM switch. it can. Specifically, as shown in the embodiment, a switch having a throughput that is 3/2 to 2 times that of the conventional realization method using the CAM can be realized.
【0036】また、アドレスを管理する第2の記憶手段
を2個設け、書き込みアドレスと読み出しアドレスを同
時に検索することにより、検索回数を減らすことができ
る。Further, by providing two second storage means for managing addresses and simultaneously searching for a write address and a read address, the number of searches can be reduced.
【0037】さらにアドレスが重複しないようにアドレ
ス空間を分割して第2の記憶手段を複数個設け、異なる
アドレス空間での読み出しと書き込み処理を並列化する
とともに、同一のアドレス空間への読み出しと書き込み
が発生した場合に、読み出しアドレスを書き込みアドレ
スに再利用することにより、検索回数を減らすことがで
きる。Further, a plurality of second storage means are provided by dividing the address space so that addresses do not overlap, so that reading and writing processes in different address spaces are parallelized, and reading and writing to the same address space are performed. In the case where the error occurs, the number of searches can be reduced by reusing the read address as the write address.
【図1】本発明の第1の実施の形態によるATMスイッ
チのメモリ制御回路を示すブロック図である。FIG. 1 is a block diagram showing a memory control circuit of an ATM switch according to a first embodiment of the present invention.
【図2】第1の実施の形態の動作を示すタイミングチャ
−トである。FIG. 2 is a timing chart showing the operation of the first embodiment.
【図3】本発明の第2の実施の形態によるATMスイッ
チのメモリ制御回路を示すブロック図である。FIG. 3 is a block diagram showing a memory control circuit of an ATM switch according to a second embodiment of the present invention.
【図4】第2の実施の形態の動作を示すタイミングチャ
−トである。FIG. 4 is a timing chart showing the operation of the second embodiment.
【図5】従来の一般的な共有バッファ型ATMスイッチ
のブロック図である。FIG. 5 is a block diagram of a conventional general shared buffer type ATM switch.
【図6】従来のATMスイッチのメモリ制御回路のブロ
ック図である。FIG. 6 is a block diagram of a memory control circuit of a conventional ATM switch.
【図7】従来のメモリ制御回路の動作を示すタイミング
チャ−トである。FIG. 7 is a timing chart showing the operation of a conventional memory control circuit.
8 セル分離部 9 メモリ制御部 10 セル多重部 11 セルバッファメモリ 12 CAM制御回路 13a〜13d CAM 15 選択回路 81 入力セル 84 入力セルデ−タ 85 出力制御信号 86 メモリ制御信号 87 出力セルデ−タ 88 出力セル 91a〜91d CMデ−タ 92a〜92d CAM制御信号 93a〜93d アドレス 94 アドレス 95 セルバッファメモリW/R制御信号 Reference Signs List 8 cell separation unit 9 memory control unit 10 cell multiplexing unit 11 cell buffer memory 12 CAM control circuit 13a to 13d CAM 15 selection circuit 81 input cell 84 input cell data 85 output control signal 86 memory control signal 87 output cell data 88 output Cell 91a-91d CM data 92a-92d CAM control signal 93a-93d Address 94 Address 95 Cell buffer memory W / R control signal
Claims (4)
トからのATMセルを多重化し、多重化されたセルデ−
タを各入出力ポ−トに共通の第1の記憶手段に蓄積し、
この第1の記憶手段から上記蓄積されたセルデ−タを読
み出し各出力ポ−ト毎に分離するようにしたATMスイ
ッチにおいて、 上記第1の記憶手段のアドレスの使用状態と、書き込ま
れたセルデ−タの出力ポ−ト番号と、出力ポ−ト毎の読
み出し順序を示すシ−ケンス番号とを記憶する2個の第
2の記憶手段と、 上記2個の第2の記憶手段の各記憶内容を照合すること
により上記第1の記憶手段の空きアドレスを検索し、同
時に各出力ポ−トからのセルデ−タ格納アドレスを検索
し、上記第1の記憶手段へのセルデ−タ書き込み読み出
し制御を行う制御手段とを備え、 上記制御手段は、一方の第2記憶手段の記憶内容を照合
することにより上記第1の記憶手段の空きアドレスを検
索し、同時に他方の第2の記憶手段の記憶内容を照合す
ることにより各出力ポ−トからのセルデ−タ格納アドレ
スを検索し、上記第1の記憶手段へのセルデ−タ書き込
み読み出し制御を行うことを特徴とするATMスイッ
チ。An input port having a plurality of input / output ports;
Multiplexed ATM cells from the network and multiplexed cell data
Data in the first storage means common to each input / output port,
In the ATM switch in which the stored cell data is read from the first storage means and separated for each output port, the use state of the address of the first storage means and the written cell data Two second storage means for storing the output port numbers of the data and a sequence number indicating the reading order for each output port; and the storage contents of the two second storage means. To search for an empty address in the first storage means, and at the same time, search for a cell data storage address from each output port, and perform cell data writing / reading control to the first storage means. Control means for performing a search for an empty address of the first storage means by collating the storage contents of one second storage means, and at the same time, the storage contents of the other second storage means. Collate ATM switches and performs data write and read control - searching data storage address, Serude to the first storage means - Serude from bets - each output port by.
トからのATMセルを多重化し、多重化されたセルデ−
タを各入出力ポ−トに共通の第1の記憶手段に蓄積し、
この第1の記憶手段から上記蓄積されたセルデ−タを読
み出し各出力ポ−ト毎に分離するようにしたATMスイ
ッチにおいて、 上記第1の記憶手段のアドレスの使用状態と、書き込ま
れたセルデ−タの出力ポ−ト番号と、出力ポ−ト毎の読
み出し順序を示すシ−ケンス番号とを記憶する複数の第
2の記憶手段と、 上記複数の第2の記憶手段の各記憶内容を照合すること
により上記第1の記憶手段の空きアドレスを検索し、同
時に各出力ポ−トからのセルデ−タ格納アドレスを検索
し、上記第1の記憶手段へのセルデ−タ書き込み読み出
し制御を行う制御手段とを備え、 上記第2の記憶手段を複数のサ−ビスクラス毎に設け、
上記制御手段は、異なるサ−ビスクラスのセルデ−タが
上記第1の記憶手段に同時に入出力されるときは、それ
ぞれの第2の記憶手段を同時に検索して空きアドレス及
びセルデ−タ格納アドレスを得、同一のサ−ビスクラス
のセルデ−タが上記第1の記憶手段に入出力されるとき
は、セルデ−タ格納アドレスを検索した後、これを空き
アドレスとして再利用することを特徴とするATMスイ
ッチ。2. An input / output port having a plurality of input / output ports.
Multiplexed ATM cells from the network and multiplexed cell data
Data in the first storage means common to each input / output port,
In the ATM switch in which the stored cell data is read from the first storage means and separated for each output port, the use state of the address of the first storage means and the written cell data A plurality of second storage means for storing an output port number of the printer and a sequence number indicating a reading order for each output port; and comparing the respective storage contents of the plurality of second storage means. Control to search for an empty address in the first storage means, and at the same time to search for a cell data storage address from each output port, and to control writing and reading of cell data to and from the first storage means. Means, and the second storage means is provided for each of a plurality of service classes,
When the cell data of different service classes are simultaneously input / output to / from the first storage means, the control means simultaneously searches the respective second storage means and stores the empty address and the cell data storage address. When cell data of the same service class is input / output to / from the first storage means, an ATM is characterized by retrieving a cell data storage address and reusing it as a free address. switch.
手段のサイズが可変である請求項2記載のATMスイッ
チ。3. The ATM switch according to claim 2, wherein the size of said second storage means is variable for each service class.
アドレスを上記第1の記憶手段に定義して、このブロッ
クアドレスを上記第2の記憶手段のアドレスに対応させ
ることを特徴とする請求項1又は2記載のATMスイッ
チ。4. The method according to claim 1, wherein a block address in units of a plurality of cell data is defined in said first storage means, and said block address is made to correspond to an address of said second storage means. 3. The ATM switch according to claim 1 or 2.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23785996A JP2964958B2 (en) | 1996-09-09 | 1996-09-09 | ATM switch |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23785996A JP2964958B2 (en) | 1996-09-09 | 1996-09-09 | ATM switch |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1084351A JPH1084351A (en) | 1998-03-31 |
JP2964958B2 true JP2964958B2 (en) | 1999-10-18 |
Family
ID=17021480
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP23785996A Expired - Lifetime JP2964958B2 (en) | 1996-09-09 | 1996-09-09 | ATM switch |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2964958B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100352855B1 (en) * | 1999-12-27 | 2002-09-16 | 엘지전자 주식회사 | Apparatus for transmitting ATM cell by using AAL2 in communication system |
-
1996
- 1996-09-09 JP JP23785996A patent/JP2964958B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH1084351A (en) | 1998-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1192753B1 (en) | Method and apparatus for shared buffer packet switching | |
JPH03149936A (en) | Communication changeover element and variable long-distance communication message transfer method | |
US20040205229A1 (en) | Method and apparatus for longest prefix matching in processing a forwarding information database | |
JPH0685842A (en) | Communication equipment | |
US6295534B1 (en) | Apparatus for maintaining an ordered list | |
CN112380148A (en) | Data transmission method and data transmission device | |
US8661223B1 (en) | Buffer management architecture | |
US5475680A (en) | Asynchronous time division multiplex switching system | |
JP2628701B2 (en) | Switch for prioritized information packets | |
US6393515B1 (en) | Multi-stream associative memory architecture for computer telephony | |
JPH09326807A (en) | Shared cell memory type atm exchange control method and shared cell memory atm exchange switch | |
JP2964958B2 (en) | ATM switch | |
JP3103298B2 (en) | ATM switch address generation circuit | |
JP3604282B2 (en) | Address release method and common buffer device of ATM switching system using the same | |
US6314489B1 (en) | Methods and systems for storing cell data using a bank of cell buffers | |
JP3255113B2 (en) | Packet switch system, integrated circuit including the same, packet switch control method, packet switch control program recording medium | |
JPH0927812A (en) | Address generating circuit for atm switch | |
JPWO2008099472A1 (en) | Data switch method and circuit | |
JP3667898B2 (en) | ATM switch and cell output priority control method thereof | |
EP0422910A2 (en) | High capacity memory based packet switches | |
JP2582461B2 (en) | Cell switch | |
KR100678250B1 (en) | Atm cell buffering method | |
JPH1032581A (en) | Atm cell switch | |
JPH06284453A (en) | Atm cell switch | |
JP2748404B2 (en) | Binary data memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19990713 |