JP2964958B2 - Atmスイッチ - Google Patents
AtmスイッチInfo
- 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】
【発明の属する技術分野】本発明は、非同期転送モ−ド
(ATM)通信方法に用いられるATMスイッチに関
し、特に共有バッファ型ATMスイッチのメモリアドレ
ス管理に関するものである。
(ATM)通信方法に用いられるATMスイッチに関
し、特に共有バッファ型ATMスイッチのメモリアドレ
ス管理に関するものである。
【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.2
知文献に基づいて説明する。 (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.2
【0003】ATMスイッチでは、一般にセルを蓄積す
るためのセルバッファメモリを持っており、このセルバ
ッファメモリの配置によりいくつかの型式のATMスイ
ッチが提案されている。その中で、スイッチの全ての出
力ポ−トが単一のメモリ上で論理的な出力キュ−(FI
FO)を構成して、メモリ空間を出力ポ−ト間で共有し
て利用する、共有バッファ型ATMスイッチがある(文
献(2))。
るためのセルバッファメモリを持っており、このセルバ
ッファメモリの配置によりいくつかの型式のATMスイ
ッチが提案されている。その中で、スイッチの全ての出
力ポ−トが単一のメモリ上で論理的な出力キュ−(FI
FO)を構成して、メモリ空間を出力ポ−ト間で共有し
て利用する、共有バッファ型ATMスイッチがある(文
献(2))。
【0004】共有バッファ型ATMスイッチは、メモリ
のアドレス空間を論理的に分割してFIFOキュ−を複
数構成したものであり、それぞれのFIFOキュ−の最
大長は、全てのFIFOキュ−長の合計がメモリのアド
レス空間を超えない範囲で融通し合うことができ、メモ
リを効果的に使用することができる。さらに、FIFO
キュ−をもっと細かい単位、例えば出力ポ−トをさらに
複数のサ−ビスクラスに分割した単位で構成し、サ−ビ
スクラス間での出力優先制御を行う場合も、メモリを効
果的に使用することができる。
のアドレス空間を論理的に分割してFIFOキュ−を複
数構成したものであり、それぞれのFIFOキュ−の最
大長は、全てのFIFOキュ−長の合計がメモリのアド
レス空間を超えない範囲で融通し合うことができ、メモ
リを効果的に使用することができる。さらに、FIFO
キュ−をもっと細かい単位、例えば出力ポ−トをさらに
複数のサ−ビスクラスに分割した単位で構成し、サ−ビ
スクラス間での出力優先制御を行う場合も、メモリを効
果的に使用することができる。
【0005】一般に共有バッファ型ATMスイッチは図
5に示すように、各入力ポ−トのセル81をセル多重す
るセル多重部10と、セル多重されたセルデ−タ84を
蓄積するセルバッファメモリ11と、セルバッファメモ
リ11を制御するメモリ制御部9と、セルバッファメモ
リ11からのセルデ−タ87を出力ポ−ト毎のセル88
に分離するセル分離部8とで構成される。また、クロッ
ク82、セルクロック83がセル多重部10、メモリ制
御部9、セル分離部8に与えられる。
5に示すように、各入力ポ−トのセル81をセル多重す
るセル多重部10と、セル多重されたセルデ−タ84を
蓄積するセルバッファメモリ11と、セルバッファメモ
リ11を制御するメモリ制御部9と、セルバッファメモ
リ11からのセルデ−タ87を出力ポ−ト毎のセル88
に分離するセル分離部8とで構成される。また、クロッ
ク82、セルクロック83がセル多重部10、メモリ制
御部9、セル分離部8に与えられる。
【0006】メモリ制御部9は、セル多重部10からの
出力制御信号85に基づいて、セルバッファメモリのア
ドレス空間上に論理的なFIFOキュ−を構築するアド
レス管理部である。論理的なFIFOキュ−を構成する
方法としては、FIFOを構成するメモリアドレスのチ
ェ−ン(出力順序)をリンクドリスト形式(ポインタで
次のデ−タ格納アドレスを示す)で表現する方法と、ア
ドレスデ−タそのものを個別のFIFOメモリに蓄積す
る方法と、セルバッファメモリのアドレス空間と同規模
のCAM(連想メモリ)を用いる方法などがある(文献
(1)、(3))。
出力制御信号85に基づいて、セルバッファメモリのア
ドレス空間上に論理的なFIFOキュ−を構築するアド
レス管理部である。論理的なFIFOキュ−を構成する
方法としては、FIFOを構成するメモリアドレスのチ
ェ−ン(出力順序)をリンクドリスト形式(ポインタで
次のデ−タ格納アドレスを示す)で表現する方法と、ア
ドレスデ−タそのものを個別のFIFOメモリに蓄積す
る方法と、セルバッファメモリのアドレス空間と同規模
のCAM(連想メモリ)を用いる方法などがある(文献
(1)、(3))。
【0007】この中で、CAMを用いたメモリ制御部9
の構成例のブロック図を図6に、メモリ制御部9の代表
信号のタイミングチャートを図7に示す。CAMを用い
る方法では、CAMのデータ領域に使用/未使用を示す
ビットと、FIFOを識別する番号と、FIFO内の順
序を示すシーケンス番号とを格納するようにする(文献
(1)、(3))。
の構成例のブロック図を図6に、メモリ制御部9の代表
信号のタイミングチャートを図7に示す。CAMを用い
る方法では、CAMのデータ領域に使用/未使用を示す
ビットと、FIFOを識別する番号と、FIFO内の順
序を示すシーケンス番号とを格納するようにする(文献
(1)、(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の領
域)。
(図7のセルバッファメモリW/R制御信号95をWに
する時)は、CAM13の未使用アドレスを検索してア
ドレスを得(図7のCAM制御信号92のS=Searchの
領域及びセルバッファメモリWrite/Readアドレス94の
WA)、そのアドレスが示すセルバッファメモリ11に
セルデ−タ84を格納すると共に、CAM13のデータ
領域に使用ビット、FIFO番号とシ−ケンス番号とを
格納する(図7のCAM制御信号92のU=Updateの領
域)。
【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の領域)。
−ケンス番号の先頭と末尾を管理しており、セルデ−タ
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の領域)。
【0010】以上のように、セルバッファメモリ11へ
の書き込み、読み出し時それぞれにおいて、CAM13
に対して2回のアクセス(1回の検索と1回の更新)、
1セルに対して合計4回のアクセスを行う必要がある。
の書き込み、読み出し時それぞれにおいて、CAM13
に対して2回のアクセス(1回の検索と1回の更新)、
1セルに対して合計4回のアクセスを行う必要がある。
【0011】なお、メモリ制御部としてCAMを用いる
方法は、CAMに書き込む内容、例えばFIFO番号な
どを書き換えることにより、比較的簡単に出力ポ−ト数
やサ−ビスクラス数を変更できるため、非常に有利な実
現手段である。また、空きアドレスが使用/未使用ビッ
トのみで表現できるため、リンクドリスト形式などでは
必要とされる空きアドレス格納用FIFO(リンクドリ
スト形式メモリ)が不要であるなどのメリットもある
(文献(3))。
方法は、CAMに書き込む内容、例えばFIFO番号な
どを書き換えることにより、比較的簡単に出力ポ−ト数
やサ−ビスクラス数を変更できるため、非常に有利な実
現手段である。また、空きアドレスが使用/未使用ビッ
トのみで表現できるため、リンクドリスト形式などでは
必要とされる空きアドレス格納用FIFO(リンクドリ
スト形式メモリ)が不要であるなどのメリットもある
(文献(3))。
【0012】
【発明が解決しようとする課題】上述した従来の共有型
バッファ型ATMスイッチのCAMを用いたメモリ管理
技術における問題点は、実現可能なATMスイッチのス
ル−プット(最大処理速度)が、個別のFIFOなどの
他のメモリ管理方法に比べて低くなることである。その
理由は、セルバッファメモリへの書き込み時と、読み出
し時それぞれにおいて、アドレス検索をするためのCA
Mのサ−チやCAMの更新が必要であるため、1セルの
処理において最低4回のCAMアクセスが必要であり、
このアクセス回数×アクセスタイム(CAMサ−チ時
間、書き込み読み出し時間)よりも短い時間のセルは処
理できないからであり、一般にCAMのサ−チ時間はR
AMのアクセスタイムよりも長いからである。
バッファ型ATMスイッチのCAMを用いたメモリ管理
技術における問題点は、実現可能なATMスイッチのス
ル−プット(最大処理速度)が、個別のFIFOなどの
他のメモリ管理方法に比べて低くなることである。その
理由は、セルバッファメモリへの書き込み時と、読み出
し時それぞれにおいて、アドレス検索をするためのCA
Mのサ−チやCAMの更新が必要であるため、1セルの
処理において最低4回のCAMアクセスが必要であり、
このアクセス回数×アクセスタイム(CAMサ−チ時
間、書き込み読み出し時間)よりも短い時間のセルは処
理できないからであり、一般にCAMのサ−チ時間はR
AMのアクセスタイムよりも長いからである。
【0013】従って、本発明の目的は、共有バッファ型
ATMスイッチのメモリ制御部にCAMを用いた構成に
おいて、スル−プット(最大処理速度)の高いATMス
イッチを提供することにある。
ATMスイッチのメモリ制御部にCAMを用いた構成に
おいて、スル−プット(最大処理速度)の高いATMス
イッチを提供することにある。
【0014】
【課題を解決するための手段】本発明においては、上記
目的を達成するために、複数の入出力ポ−トを有し、各
入力ポ−トからのATMセルを多重化し、多重化された
セルデ−タを各入出力ポ−トに共通の第1の記憶手段に
蓄積し、この第1の記憶手段から上記蓄積されたセルデ
−タを読み出し各出力ポ−ト毎に分離するようにしたA
TMスイッチにおいて、上記第1の記憶手段のアドレス
の使用状態と、書き込まれたセルデ−タの出力ポ−ト番
号と、出力ポ−ト毎の読み出し順序を示すシ−ケンス番
号とを記憶する2個の第2の記憶手段と、上記2個の第
2の記憶手段の各記憶内容を照合することにより上記第
1の記憶手段の空きアドレスを検索し、同時に各出力ポ
−トからのセルデ−タ格納アドレスを検索し、上記第1
の記憶手段へのセルデ−タ書き込み読み出し制御を行う
制御手段とを備え、上記制御手段は、一方の第2記憶手
段の記憶内容を照合することにより上記第1の記憶手段
の空きアドレスを検索し、同時に他方の第2の記憶手段
の記憶内容を照合することにより各出力ポ−トからのセ
ルデ−タ格納アドレスを検索し、上記第1の記憶手段へ
のセルデ−タ書き込み読み出し制御を行うことを特徴と
する。
目的を達成するために、複数の入出力ポ−トを有し、各
入力ポ−トからのATMセルを多重化し、多重化された
セルデ−タを各入出力ポ−トに共通の第1の記憶手段に
蓄積し、この第1の記憶手段から上記蓄積されたセルデ
−タを読み出し各出力ポ−ト毎に分離するようにしたA
TMスイッチにおいて、上記第1の記憶手段のアドレス
の使用状態と、書き込まれたセルデ−タの出力ポ−ト番
号と、出力ポ−ト毎の読み出し順序を示すシ−ケンス番
号とを記憶する2個の第2の記憶手段と、上記2個の第
2の記憶手段の各記憶内容を照合することにより上記第
1の記憶手段の空きアドレスを検索し、同時に各出力ポ
−トからのセルデ−タ格納アドレスを検索し、上記第1
の記憶手段へのセルデ−タ書き込み読み出し制御を行う
制御手段とを備え、上記制御手段は、一方の第2記憶手
段の記憶内容を照合することにより上記第1の記憶手段
の空きアドレスを検索し、同時に他方の第2の記憶手段
の記憶内容を照合することにより各出力ポ−トからのセ
ルデ−タ格納アドレスを検索し、上記第1の記憶手段へ
のセルデ−タ書き込み読み出し制御を行うことを特徴と
する。
【0015】本発明においては、上記目的を達成するた
めに、複数の入出力ポ−トを有し、各入力ポ−トからの
ATMセルを多重化し、多重化されたセルデ−タを各入
出力ポ−トに共通の第1の記憶手段に蓄積し、この第1
の記憶手段から上記蓄積されたセルデ−タを読み出し各
出力ポ−ト毎に分離するようにしたATMスイッチにお
いて、上記第1の記憶手段のアドレスの使用状態と、書
き込まれたセルデ−タの出力ポ−ト番号と、出力ポ−ト
毎の読み出し順序を示すシ−ケンス番号とを記憶する複
数の第2の記憶手段と、上記複数の第2の記憶手段の各
記憶内容を照合することにより上記第1の記憶手段の空
きアドレスを検索し、同時に各出力ポ−トからのセルデ
−タ格納アドレスを検索し、上記第1の記憶手段へのセ
ルデ−タ書き込み読み出し制御を行う制御手段とを備
え、上記第2の記憶手段を複数のサ−ビスクラス毎に設
け、上記制御手段は、異なるサ−ビスクラスのセルデ−
タが上記第1の記憶手段に同時に入出力されるときは、
それぞれの第2の記憶手段を同時に検索して空きアドレ
ス及びセルデ−タ格納アドレスを得、同一のサ−ビスク
ラスのセルデ−タが上記第1の記憶手段に入出力される
ときは、セルデ−タ格納アドレスを検索した後、これを
空きアドレスとして再利用することを特徴とする。ま
た、上記サ−ビスクラス毎の上記第2の記憶手段のサイ
ズを可変にしてもよい。
めに、複数の入出力ポ−トを有し、各入力ポ−トからの
ATMセルを多重化し、多重化されたセルデ−タを各入
出力ポ−トに共通の第1の記憶手段に蓄積し、この第1
の記憶手段から上記蓄積されたセルデ−タを読み出し各
出力ポ−ト毎に分離するようにしたATMスイッチにお
いて、上記第1の記憶手段のアドレスの使用状態と、書
き込まれたセルデ−タの出力ポ−ト番号と、出力ポ−ト
毎の読み出し順序を示すシ−ケンス番号とを記憶する複
数の第2の記憶手段と、上記複数の第2の記憶手段の各
記憶内容を照合することにより上記第1の記憶手段の空
きアドレスを検索し、同時に各出力ポ−トからのセルデ
−タ格納アドレスを検索し、上記第1の記憶手段へのセ
ルデ−タ書き込み読み出し制御を行う制御手段とを備
え、上記第2の記憶手段を複数のサ−ビスクラス毎に設
け、上記制御手段は、異なるサ−ビスクラスのセルデ−
タが上記第1の記憶手段に同時に入出力されるときは、
それぞれの第2の記憶手段を同時に検索して空きアドレ
ス及びセルデ−タ格納アドレスを得、同一のサ−ビスク
ラスのセルデ−タが上記第1の記憶手段に入出力される
ときは、セルデ−タ格納アドレスを検索した後、これを
空きアドレスとして再利用することを特徴とする。ま
た、上記サ−ビスクラス毎の上記第2の記憶手段のサイ
ズを可変にしてもよい。
【0016】さらに、複数のセルデ−タを単位とするブ
ロックアドレスを上記第1の記憶手段に定義して、この
ブロックアドレスを上記第2の記憶手段のアドレスに対
応させるようにしてもよい。
ロックアドレスを上記第1の記憶手段に定義して、この
ブロックアドレスを上記第2の記憶手段のアドレスに対
応させるようにしてもよい。
【0017】
【発明の実施の形態】以下、本発明の実施の形態につい
て説明する。図1は本発明の第1の実施の形態によるメ
モリ制御部9のブロック図、図2は動作を示すタイミン
グチャ−トであり、図1の代表的な各信号を示してい
る。尚、図1図2においては図5〜図7及び互いに対応
する部分には同一符号を付けて重複する説明を省略す
る。
て説明する。図1は本発明の第1の実施の形態によるメ
モリ制御部9のブロック図、図2は動作を示すタイミン
グチャ−トであり、図1の代表的な各信号を示してい
る。尚、図1図2においては図5〜図7及び互いに対応
する部分には同一符号を付けて重複する説明を省略す
る。
【0018】図1においては、CAMとしてRead用CA
M13a とWrite 用CAM13bとの2個を設けており、こ
れに伴ってラッチ回路14a,14及b び各信号91a 〜93a,91
b 〜93b が設けられ、さらに選択回路15が設けられて
いる。
M13a とWrite 用CAM13bとの2個を設けており、こ
れに伴ってラッチ回路14a,14及b び各信号91a 〜93a,91
b 〜93b が設けられ、さらに選択回路15が設けられて
いる。
【0019】次に上記構成による動作について説明す
る。図1におけるRead用CAM13a とWrite 用CAM13
bのデ−タ領域には、使用/未使用を示すビットと、出
力ポ−ト番号などのようなFIFOを識別する番号と、
それぞれのFIFO内での格納順序を示すシ−ケンス番
号とを格納するようにする。基本的にRead用CAM13a
とWrite 用CAM13bの内容は同じ内容が書き込まれ
る。また、CAM制御部12には、それぞれのFIFO
の先頭シ−ケンス番号、最後尾シ−ケンス番号を記憶し
ておく。
る。図1におけるRead用CAM13a とWrite 用CAM13
bのデ−タ領域には、使用/未使用を示すビットと、出
力ポ−ト番号などのようなFIFOを識別する番号と、
それぞれのFIFO内での格納順序を示すシ−ケンス番
号とを格納するようにする。基本的にRead用CAM13a
とWrite 用CAM13bの内容は同じ内容が書き込まれ
る。また、CAM制御部12には、それぞれのFIFO
の先頭シ−ケンス番号、最後尾シ−ケンス番号を記憶し
ておく。
【0020】まずセルデ−タ84が入力されると、セル
バッファメモリ11にこれを格納(書き込み)しなけれ
ばならない。このとき、CAM制御回路12はセルデ−
タ84の出力先すなわち格納すべきFIFO番号を出力
制御信号85から得る。さらに、CAM制御回路12は
Write 制御用CAM13bに対して、CAM内の未使用ア
ドレスを検索する指示を出す。これは、CAMデ−タ91
b 中の使用/未使用ビットのみ0(0は未使用を表す)
として、他のビットを全てマスクして検索することで実
現する。こうして得られたアドレス93b は、ラッチ回路
14b でラッチされると共に、CAM制御回路12に戻さ
れる。
バッファメモリ11にこれを格納(書き込み)しなけれ
ばならない。このとき、CAM制御回路12はセルデ−
タ84の出力先すなわち格納すべきFIFO番号を出力
制御信号85から得る。さらに、CAM制御回路12は
Write 制御用CAM13bに対して、CAM内の未使用ア
ドレスを検索する指示を出す。これは、CAMデ−タ91
b 中の使用/未使用ビットのみ0(0は未使用を表す)
として、他のビットを全てマスクして検索することで実
現する。こうして得られたアドレス93b は、ラッチ回路
14b でラッチされると共に、CAM制御回路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進んだことを記憶してお
く。
はセルバッファメモリ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進んだことを記憶してお
く。
【0022】また、セルバッファメモリ11からセルデ
−タ87を読み出すための準備操作を、上記書き込み操
作と並行して行う。読み出しは、CAM制御回路12が
指定したFIFOから行う。CAM制御回路12はFI
FOを決められた順に巡回して指定する。まず、CAM
制御回路12が指定したFIFO番号とそれが記憶して
いる最後尾シ−ケンス番号と使用/未使用ビット=1
(1は使用を表す)をCAMデ−タ91a としてRead用C
AM13a を検索する。こうして得られたアドレス93a
は、ラッチ回路14a でラッチされると共に、CAM制御
回路12に戻される。
−タ87を読み出すための準備操作を、上記書き込み操
作と並行して行う。読み出しは、CAM制御回路12が
指定したFIFOから行う。CAM制御回路12はFI
FOを決められた順に巡回して指定する。まず、CAM
制御回路12が指定したFIFO番号とそれが記憶して
いる最後尾シ−ケンス番号と使用/未使用ビット=1
(1は使用を表す)をCAMデ−タ91a としてRead用C
AM13a を検索する。こうして得られたアドレス93a
は、ラッチ回路14a でラッチされると共に、CAM制御
回路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 の両方を同時に更新する。
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 の両方を同時に更新する。
【0024】以上のように、CAMを2面用意して同時
に検索を行うことにより、検索回数を減らすことがで
き、セルバッファメモリへの1セル書き込みと、セルバ
ッファメモリからの1セル読み出しの操作を3回のアク
セスで実現できる。
に検索を行うことにより、検索回数を減らすことがで
き、セルバッファメモリへの1セル書き込みと、セルバ
ッファメモリからの1セル読み出しの操作を3回のアク
セスで実現できる。
【0025】図3は本発明の第2の実施例の形態のメモ
リ制御部9のブロック図である。また、図4はメモリ制
御部9の代表的な信号のタイミングチャ−トである。図
3においては、クラス1〜4用のCAM13a 〜13d が設
けられ、これに伴ってラッチ回路14a 〜14d 及び各信号
91a 〜93d,91b 〜91d が設けられている。
リ制御部9のブロック図である。また、図4はメモリ制
御部9の代表的な信号のタイミングチャ−トである。図
3においては、クラス1〜4用のCAM13a 〜13d が設
けられ、これに伴ってラッチ回路14a 〜14d 及び各信号
91a 〜93d,91b 〜91d が設けられている。
【0026】次に上記構成による動作について説明す
る。図3におけるクラス1〜4用のCAM13a 〜CAM
13d のデ−タ領域には、使用/未使用を示すビットと、
出力ポ−ト番号などのようなFIFOを識別する番号
と、それぞれのFIFO内での格納順序を示すシ−ケン
ス番号を格納するようにする。クラス1〜クラス4は、
出力ポ−ト毎のFIFOをサ−ビスクラス単位に分割
し、読み出し時に優先制御を行うことにより、遅延に関
する複数の品質クラスを実現するものである。なお、4
クラスは一例であり、クラス数には制限はない。一般的
な優先制御の例としては、低優先クラスのFIFOは、
それよりも高優先クラスのFIFOにセルが蓄積されて
いない状態で初めて読み出すことができるといったもの
である。
る。図3におけるクラス1〜4用のCAM13a 〜CAM
13d のデ−タ領域には、使用/未使用を示すビットと、
出力ポ−ト番号などのようなFIFOを識別する番号
と、それぞれのFIFO内での格納順序を示すシ−ケン
ス番号を格納するようにする。クラス1〜クラス4は、
出力ポ−ト毎のFIFOをサ−ビスクラス単位に分割
し、読み出し時に優先制御を行うことにより、遅延に関
する複数の品質クラスを実現するものである。なお、4
クラスは一例であり、クラス数には制限はない。一般的
な優先制御の例としては、低優先クラスのFIFOは、
それよりも高優先クラスのFIFOにセルが蓄積されて
いない状態で初めて読み出すことができるといったもの
である。
【0027】これらのCAM13a 〜CAM13d のアドレ
スは、セルバッファメモリ11のアドレスを重なること
無く分割したものとする。但し、CAM13a 〜CAM13
d のそれぞれのアドレス空間は固定的であっても、設定
変更可能であっても良い。そして、アドレスが一致しな
いように分割しているということは、それぞれが独立に
動作して良いことを意味する。但し、その場合はクラス
間でセルバッファメモリ11のアドレス空間を融通し合
うことはできない。
スは、セルバッファメモリ11のアドレスを重なること
無く分割したものとする。但し、CAM13a 〜CAM13
d のそれぞれのアドレス空間は固定的であっても、設定
変更可能であっても良い。そして、アドレスが一致しな
いように分割しているということは、それぞれが独立に
動作して良いことを意味する。但し、その場合はクラス
間でセルバッファメモリ11のアドレス空間を融通し合
うことはできない。
【0028】CAM制御部12には、それぞれのクラス
のそれぞれのFIFOの先頭シ−ケンス番号、最後尾シ
−ケンス番号を記憶しておく。まずセルデ−タ84が入
力されると、セルバッファメモリ11にこれを格納(書
き込み)しなければならない。このとき、CAM制御回
路12はセルデ−タ84の出力先すなわち格納すべきク
ラス番号とFIFO番号を出力制御信号85から得る。
さらに、CAM制御回路12は該当するクラス番号のC
AM(例えば13b )に対して、そのCAM内の未使用ア
ドレスを検索する指示を出す。これは、CAMデ−タ91
b 中の使用/未使用ビットのみ0(0は未使用を表す)
として、他のビットを全てマスクして検索することで実
現する。
のそれぞれのFIFOの先頭シ−ケンス番号、最後尾シ
−ケンス番号を記憶しておく。まずセルデ−タ84が入
力されると、セルバッファメモリ11にこれを格納(書
き込み)しなければならない。このとき、CAM制御回
路12はセルデ−タ84の出力先すなわち格納すべきク
ラス番号とFIFO番号を出力制御信号85から得る。
さらに、CAM制御回路12は該当するクラス番号のC
AM(例えば13b )に対して、そのCAM内の未使用ア
ドレスを検索する指示を出す。これは、CAMデ−タ91
b 中の使用/未使用ビットのみ0(0は未使用を表す)
として、他のビットを全てマスクして検索することで実
現する。
【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は該当のアドレスにセル
デ−タを書き込む。
回路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は該当のアドレスにセル
デ−タを書き込む。
【0030】また、セルバッファメモリ11からセルデ
−タ87を読み出すための準備操作を、上記書き込み操
作と並行して行う。読み出しは、CAM制御回路12が
指定したクラス番号のFIFOから行う。CAM制御回
路12は出力ポ−トを決められた順に巡回し、該当出力
ポ−トのクラス1〜4のそれぞれのFIFO間で優先制
御を行い、一つのクラス番号とFIFO番号を指定す
る。CAM制御回路12は、各FIFOの最後尾シ−ケ
ンス番号と先頭シ−ケンス番号との差を計算してFIF
O内の蓄積セル数を求め、優先制御を行う。
−タ87を読み出すための準備操作を、上記書き込み操
作と並行して行う。読み出しは、CAM制御回路12が
指定したクラス番号のFIFOから行う。CAM制御回
路12は出力ポ−トを決められた順に巡回し、該当出力
ポ−トのクラス1〜4のそれぞれのFIFO間で優先制
御を行い、一つのクラス番号とFIFO番号を指定す
る。CAM制御回路12は、各FIFOの最後尾シ−ケ
ンス番号と先頭シ−ケンス番号との差を計算してFIF
O内の蓄積セル数を求め、優先制御を行う。
【0031】まず、CAM制御回路12が指定したクラ
ス(例えばクラス1)のFIFO番号とそれが記憶して
いる最後尾シ−ケンス番号と使用/未使用ビット=1
(1は使用を表す)を、該当するクラス1のCAMデ−
タ91a としてクラス1用CAM13a を検索する。こうし
て得られたアドレス93a は、ラッチ回路14a でラッチさ
れると共に、CAM制御回路12に戻される。
ス(例えばクラス1)のFIFO番号とそれが記憶して
いる最後尾シ−ケンス番号と使用/未使用ビット=1
(1は使用を表す)を、該当するクラス1のCAMデ−
タ91a としてクラス1用CAM13a を検索する。こうし
て得られたアドレス93a は、ラッチ回路14a でラッチさ
れると共に、CAM制御回路12に戻される。
【0032】次のクロックでラッチされたRA(Read A
ddress)93a はCAM制御回路12からのW/R制御信
号95がRead制御を指示したときに、選択回路15で選
択されてセルバッファメモリ11のアドレス94として
与えられる。セルバッファメモリ11はこのアドレス9
4にあるセルデ−タ87を読み出して出力する。それと
同時に、クラス1用CAM13a の該当アドレスに、使用
/未使用ビット=0を書き込み、更新する。
ddress)93a はCAM制御回路12からのW/R制御信
号95がRead制御を指示したときに、選択回路15で選
択されてセルバッファメモリ11のアドレス94として
与えられる。セルバッファメモリ11はこのアドレス9
4にあるセルデ−タ87を読み出して出力する。それと
同時に、クラス1用CAM13a の該当アドレスに、使用
/未使用ビット=0を書き込み、更新する。
【0033】以上は読み出しクラスと書き込みクラスと
が異なる場合の手順を示しているが、読み出しクラスと
書き込みクラスとが同じ場合には、先に述べた書き込み
のためのCAMの検索を省略し、読み出しのために検索
したアドレスをそのまま次の書き込みアドレスとして与
える。例えばクラス3のFIFOからの読み出しを行っ
た時に、クラス3のセルが入力された場合、読み出し操
作においてクラス3用CAM13c を先頭シ−ケンス番号
で検索して得られたアドレス93c を、書き込みをするセ
ルのためのアドレスに割り当てる。該当アドレスはセル
バッファメモリ11のライトサイクルまで保持し、その
間にCAM13c の該当アドレスは、新たなセルデ−タ84
のFIFO番号と最後尾シ−ケンス番号に1を加えた値
を書き込み、更新する。CAM制御回路12は、読み出
したFIFOの先頭シ−ケンス番号に1を加えた値を記
憶すると共に、書き込んだFIFOの最後尾シ−ケンス
番号に1を加えた値を記憶しておく。
が異なる場合の手順を示しているが、読み出しクラスと
書き込みクラスとが同じ場合には、先に述べた書き込み
のためのCAMの検索を省略し、読み出しのために検索
したアドレスをそのまま次の書き込みアドレスとして与
える。例えばクラス3のFIFOからの読み出しを行っ
た時に、クラス3のセルが入力された場合、読み出し操
作においてクラス3用CAM13c を先頭シ−ケンス番号
で検索して得られたアドレス93c を、書き込みをするセ
ルのためのアドレスに割り当てる。該当アドレスはセル
バッファメモリ11のライトサイクルまで保持し、その
間にCAM13c の該当アドレスは、新たなセルデ−タ84
のFIFO番号と最後尾シ−ケンス番号に1を加えた値
を書き込み、更新する。CAM制御回路12は、読み出
したFIFOの先頭シ−ケンス番号に1を加えた値を記
憶すると共に、書き込んだFIFOの最後尾シ−ケンス
番号に1を加えた値を記憶しておく。
【0034】以上のように、アドレス空間が一致しない
複数のCAMを用意にて、独立に検索、更新を行うとと
もに、読み出しと書き込みが同時に発生したアドレス空
間では、読み出しアドレスを書き込みアドレスとして再
利用することにより、書き込みと読み出しの操作を同時
に行って、CAMの検索回数を減らすことができ、セル
バッファメモリの1セル書き込みと、セルバッファメモ
リからの1セル読み出しの操作を2回のアクセスで実現
できる。
複数のCAMを用意にて、独立に検索、更新を行うとと
もに、読み出しと書き込みが同時に発生したアドレス空
間では、読み出しアドレスを書き込みアドレスとして再
利用することにより、書き込みと読み出しの操作を同時
に行って、CAMの検索回数を減らすことができ、セル
バッファメモリの1セル書き込みと、セルバッファメモ
リからの1セル読み出しの操作を2回のアクセスで実現
できる。
【0035】
【発明の効果】本発明による第1の効果は、共有バッフ
ァ型ATMスイッチにおけるアドレス検索時間を短縮す
ることができ、これにより、ATMスイッチのスル−プ
ット(最大処理速度)を高速にすることができる。具体
的には実施の形態に示すように、従来のCAMを用いた
実現方法の3/2倍から2倍のスル−プットを持つスイ
ッチが実現可能である。
ァ型ATMスイッチにおけるアドレス検索時間を短縮す
ることができ、これにより、ATMスイッチのスル−プ
ット(最大処理速度)を高速にすることができる。具体
的には実施の形態に示すように、従来のCAMを用いた
実現方法の3/2倍から2倍のスル−プットを持つスイ
ッチが実現可能である。
【0036】また、アドレスを管理する第2の記憶手段
を2個設け、書き込みアドレスと読み出しアドレスを同
時に検索することにより、検索回数を減らすことができ
る。
を2個設け、書き込みアドレスと読み出しアドレスを同
時に検索することにより、検索回数を減らすことができ
る。
【0037】さらにアドレスが重複しないようにアドレ
ス空間を分割して第2の記憶手段を複数個設け、異なる
アドレス空間での読み出しと書き込み処理を並列化する
とともに、同一のアドレス空間への読み出しと書き込み
が発生した場合に、読み出しアドレスを書き込みアドレ
スに再利用することにより、検索回数を減らすことがで
きる。
ス空間を分割して第2の記憶手段を複数個設け、異なる
アドレス空間での読み出しと書き込み処理を並列化する
とともに、同一のアドレス空間への読み出しと書き込み
が発生した場合に、読み出しアドレスを書き込みアドレ
スに再利用することにより、検索回数を減らすことがで
きる。
【図1】本発明の第1の実施の形態によるATMスイッ
チのメモリ制御回路を示すブロック図である。
チのメモリ制御回路を示すブロック図である。
【図2】第1の実施の形態の動作を示すタイミングチャ
−トである。
−トである。
【図3】本発明の第2の実施の形態によるATMスイッ
チのメモリ制御回路を示すブロック図である。
チのメモリ制御回路を示すブロック図である。
【図4】第2の実施の形態の動作を示すタイミングチャ
−トである。
−トである。
【図5】従来の一般的な共有バッファ型ATMスイッチ
のブロック図である。
のブロック図である。
【図6】従来のATMスイッチのメモリ制御回路のブロ
ック図である。
ック図である。
【図7】従来のメモリ制御回路の動作を示すタイミング
チャ−トである。
チャ−トである。
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制御信号
Claims (4)
- 【請求項1】 複数の入出力ポ−トを有し、各入力ポ−
トからのATMセルを多重化し、多重化されたセルデ−
タを各入出力ポ−トに共通の第1の記憶手段に蓄積し、
この第1の記憶手段から上記蓄積されたセルデ−タを読
み出し各出力ポ−ト毎に分離するようにしたATMスイ
ッチにおいて、 上記第1の記憶手段のアドレスの使用状態と、書き込ま
れたセルデ−タの出力ポ−ト番号と、出力ポ−ト毎の読
み出し順序を示すシ−ケンス番号とを記憶する2個の第
2の記憶手段と、 上記2個の第2の記憶手段の各記憶内容を照合すること
により上記第1の記憶手段の空きアドレスを検索し、同
時に各出力ポ−トからのセルデ−タ格納アドレスを検索
し、上記第1の記憶手段へのセルデ−タ書き込み読み出
し制御を行う制御手段とを備え、 上記制御手段は、一方の第2記憶手段の記憶内容を照合
することにより上記第1の記憶手段の空きアドレスを検
索し、同時に他方の第2の記憶手段の記憶内容を照合す
ることにより各出力ポ−トからのセルデ−タ格納アドレ
スを検索し、上記第1の記憶手段へのセルデ−タ書き込
み読み出し制御を行うことを特徴とするATMスイッ
チ。 - 【請求項2】 複数の入出力ポ−トを有し、各入力ポ−
トからのATMセルを多重化し、多重化されたセルデ−
タを各入出力ポ−トに共通の第1の記憶手段に蓄積し、
この第1の記憶手段から上記蓄積されたセルデ−タを読
み出し各出力ポ−ト毎に分離するようにしたATMスイ
ッチにおいて、 上記第1の記憶手段のアドレスの使用状態と、書き込ま
れたセルデ−タの出力ポ−ト番号と、出力ポ−ト毎の読
み出し順序を示すシ−ケンス番号とを記憶する複数の第
2の記憶手段と、 上記複数の第2の記憶手段の各記憶内容を照合すること
により上記第1の記憶手段の空きアドレスを検索し、同
時に各出力ポ−トからのセルデ−タ格納アドレスを検索
し、上記第1の記憶手段へのセルデ−タ書き込み読み出
し制御を行う制御手段とを備え、 上記第2の記憶手段を複数のサ−ビスクラス毎に設け、
上記制御手段は、異なるサ−ビスクラスのセルデ−タが
上記第1の記憶手段に同時に入出力されるときは、それ
ぞれの第2の記憶手段を同時に検索して空きアドレス及
びセルデ−タ格納アドレスを得、同一のサ−ビスクラス
のセルデ−タが上記第1の記憶手段に入出力されるとき
は、セルデ−タ格納アドレスを検索した後、これを空き
アドレスとして再利用することを特徴とするATMスイ
ッチ。 - 【請求項3】 上記サ−ビスクラス毎の上記第2の記憶
手段のサイズが可変である請求項2記載のATMスイッ
チ。 - 【請求項4】 複数のセルデ−タを単位とするブロック
アドレスを上記第1の記憶手段に定義して、このブロッ
クアドレスを上記第2の記憶手段のアドレスに対応させ
ることを特徴とする請求項1又は2記載のATMスイッ
チ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23785996A JP2964958B2 (ja) | 1996-09-09 | 1996-09-09 | Atmスイッチ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23785996A JP2964958B2 (ja) | 1996-09-09 | 1996-09-09 | Atmスイッチ |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1084351A JPH1084351A (ja) | 1998-03-31 |
JP2964958B2 true JP2964958B2 (ja) | 1999-10-18 |
Family
ID=17021480
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP23785996A Expired - Lifetime JP2964958B2 (ja) | 1996-09-09 | 1996-09-09 | Atmスイッチ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2964958B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100352855B1 (ko) * | 1999-12-27 | 2002-09-16 | 엘지전자 주식회사 | 통신 시스템의 에이에이엘2를 이용한 에이티엠 셀송신장치 |
-
1996
- 1996-09-09 JP JP23785996A patent/JP2964958B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH1084351A (ja) | 1998-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1192753B1 (en) | Method and apparatus for shared buffer packet switching | |
JPH03149936A (ja) | 通信切替素子 | |
EP0702500B1 (en) | Method of multicasting and multicast system | |
US5859849A (en) | Modular switch element for shared memory switch fabric | |
US20040205229A1 (en) | Method and apparatus for longest prefix matching in processing a forwarding information database | |
US6295534B1 (en) | Apparatus for maintaining an ordered list | |
US5475680A (en) | Asynchronous time division multiplex switching system | |
US8661223B1 (en) | Buffer management architecture | |
JPH11266272A (ja) | 共用バッファ制御装置 | |
JP2628701B2 (ja) | 優先順位付き情報パケット用交換装置 | |
US6393515B1 (en) | Multi-stream associative memory architecture for computer telephony | |
JPH09326807A (ja) | 共有セルメモリ型atm交換制御方法及び共有セルメモリ型atm交換スイッチ | |
JP2964958B2 (ja) | Atmスイッチ | |
JP2000324115A (ja) | 出力バッファ型atm交換装置および同報制御方法 | |
JP3103298B2 (ja) | Atmスイッチのアドレス生成回路 | |
JP3604282B2 (ja) | アドレス開放方法及び、これを用いるatm交換システムの共通バッファ装置 | |
JP3133234B2 (ja) | Atmスイッチのアドレス生成回路 | |
US6314489B1 (en) | Methods and systems for storing cell data using a bank of cell buffers | |
JP3255113B2 (ja) | パケットスイッチシステム、これを含む集積回路、パケットスイッチ制御方法、パケットスイッチ制御プログラム記録媒体 | |
JPWO2008099472A1 (ja) | データスイッチ方法及び回路 | |
JP3667898B2 (ja) | Atmスイッチおよびそのセル出力優先制御方法 | |
EP0422910A2 (en) | High capacity memory based packet switches | |
JP2582461B2 (ja) | セルスイッチ | |
KR100678250B1 (ko) | 비동기전송모드셀 버퍼링 방법 | |
JPH1032581A (ja) | Atmセルスイッチ |
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 |