JP3610193B2 - Atmコントローラおよびそれを用いたatm通信制御装置 - Google Patents
Atmコントローラおよびそれを用いたatm通信制御装置 Download PDFInfo
- Publication number
- JP3610193B2 JP3610193B2 JP17036397A JP17036397A JP3610193B2 JP 3610193 B2 JP3610193 B2 JP 3610193B2 JP 17036397 A JP17036397 A JP 17036397A JP 17036397 A JP17036397 A JP 17036397A JP 3610193 B2 JP3610193 B2 JP 3610193B2
- Authority
- JP
- Japan
- Prior art keywords
- cell
- atm
- data
- control means
- buffer 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5614—User Network Interface
- H04L2012/5616—Terminal equipment, e.g. codecs, synch.
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5638—Services, e.g. multimedia, GOS, QOS
- H04L2012/5646—Cell characteristics, e.g. loss, delay, jitter, sequence integrity
- H04L2012/5652—Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly
Description
【0001】
【発明の属する技術分野】
本発明は、端末とATM(Asynchronous Transfer Mode)網との間で、ATMプロトコルの下位部の処理を行うATM通信制御装置、および、その装置内で処理を分担するATMコントローラに関するものである。
【0002】
【従来の技術】
ATM通信制御装置は、端末とATM網の回線とを接続し、複数の端末の間で、ATMプロトコルに従った通信を行う。具体的には、ATM通信制御装置は、ATMプロトコルの下位部の処理を分担し、端末で生成された可変長のパケットを受け取り、固定長のセルに分割して回線に送信する一方、回線より受信したセルからパケットを生成して端末に渡す。なお、ATMプロトコルについては、ITU(国際電気通信連合)の勧告に基づいてATMフォーラムが標準化を進めている。
【0003】
従来、ATM通信制御装置の処理の内、セルの送受信制御を行うATMレイヤの処理と、セルの分割・組立てを行うAALレイヤの処理(両処理を合わせたものを、以下で、ATMプロトコル処理と記す)をLSIで実現したATMコントローラが提案されている。例えば、NEC技報(Vol.47 No.7/1994)記載の「μPD98401」は、ATMプロトコル処理を、処理手順が固定化されるワイヤードロジックで実現したものである。この技術によれば、処理の高速化が可能となるが、処理内容の変更はできなくなる。ATMプロトコルでは、ネットワークの保守/運用に使われるOAMセルや、回線でのトラヒックの混雑度を制御するのに使われるRMセルといった管理系のセルの処理など、未だ標準化がなされていない部分がある。ATMコントローラは、このような部分の処理の変更に対応できることが望ましい。
【0004】
処理の変更に対応できるATMコントローラとして、日経エレクトロニクス(1994.4.11 No.605 P.17,18)記載の「ATMizer」がある。このコントローラはマイクロプロセッサを内蔵しており、セルヘッダの解析や、セルの分解・組立てなどを含む、ATMプロトコル処理の多くの部分をソフトウェア処理で実施する。ただし、ソフトウェア処理の負担が大いために、処理能力の高い複雑な構造のマイクロプロセッサを備えて、それを高速で動作させている。
【0005】
【発明が解決しようとする課題】
上記従来の技術では、コネクション数の増加に対応するために、ATMコントローラでのセルの分解・組立てに、大容量で高速なアクセスが可能な高価なメモリを必要とする。
【0006】
また、上記従来の、処理の変更に対応できるATMコントローラは、処理能力の高い複雑な構造のマイクロプロセッサを必要とするために、製造に微細な加工プロセス技術が要求され、コスト高となる。また、高速で動作するために消費電力も高くなる。
【0007】
そこで、本発明は、セルの分解・組立に用いるメモリの容量を低減したATMコントローラを提供することを目的とする。さらに、プロトコル処理の設定や変更に対応でき、ソフトウェア処理の負荷を低減したATMコントローラを提供することを目的とする。
【0008】
【課題を解決するための手段】
上記目的を達成するために、本発明は、ATM網の伝送路と端末との間で、ATMプロトコルのATMレイヤとAALレイヤの処理を行うATMコントローラであって、バッファメモリに接続され、前記端末の通信するパケットデータを、前記端末内のメモリと前記バッファメモリとの間で、より短い一定長のデータブロックの単位で転送する転送手段と、前記端末内から前記バッファメモリに転送されたデータブロックをデータセルに分割し、分割したデータセルをATM網側に送信するセル送信制御手段と、前記バッファメモリ上で、受信したデータセルを組み立てて一定長のデータブロックを形成するセル受信制御手段と、1データブロック分のセルの送受信がなされたことに応じて、前記転送手段に転送指示を行う転送制御手段とを有することを特長とするATMコントローラを提供する。
【0009】
このATMコントローラでは、端末内のメモリとバッファメモリとの間のパケットデータの転送を一定長のデータブロックの単位で行い、この転送を1データブロック分のセルの送受信がなされることに応じて行うため、例えば、ATMコネクション当たり1データブロック分の格納領域をバッファメモリに確保すればよく、記憶容量の小さい安価なバッファメモリを利用することができる。
【0010】
さらに、本発明は、上記構成のATMコントローラであって、前記ATM網側より受信したセルのヘッダー部を調べ、当該セルがデータセルであるか否かを判定するセル種別判定手段と、制御プログラムを格納し保持する書換え可能なプログラムメモリと、前記判定により識別されたデータセル以外のセルの解析および解析結果に応じた処理を行うマイクロプロセッサとを有することを特長とするATMコントローラを提供する。
【0011】
このATMコントローラでは、プログラムメモリの書き換えにより、マイクロプロセッサに割り当てられるATMプロトコル処理の設定や変更に対応できる。また、マイクロプロセッサがセル種別の判定や、データセルの分割・組立ての処理を行わずに済むため、ソフトウェア処理の負荷は低減される。
【0012】
【発明の実施の形態】
以下で、本発明の実施の形態を、図面を参照しながら説明する。
【0013】
図2に、本実施形態に係るATM通信制御装置が適用される通信ネットワークシステムの一例を示す。図2の例では、計算機等である複数の端末1(1A〜1D)が、ATM通信制御装置2(2A〜2D)と伝送路7を介して、ATMスイッチ3に接続されている。ATM通信制御装置2は、端末1と伝送路7の間で、パケットおよびセルの変換を行う。
【0014】
図3に、ATM通信プロトコルのレイヤ構成と、端末1とATM通信制御装置2の機能分担を示す。図示すように、セルの分割・組立てを行うAALレイヤ以下の下位レイヤはATM通信制御装置2が分担し、ATMコネクションを確立するシグナリング処理を含むLLCレイヤ以上の上位レイヤは端末1が分担する。
【0015】
図4は、端末1およびATM通信制御装置2で生成されるパケットおよびATMセルの関係を示す図である。
【0016】
図において、端末1は、送信する可変長のデータ141に、LLCレイヤ以上のレイヤ処理で得た上位プロトコルヘッダ142−1を付加することで、LLCフレーム142を生成する。ATM通信制御装置2では、AALレイヤの処理により、上記LLCフレーム142に、PADフィールド143−1、LNGフィールド143−2、CRC−32フィールド143−3から成るCPCSトレイラを付加して、CPCS−PDU143を生成して、48バイト毎のデータ(以下、ペイロードと記す)144−2に分割する。そして、ATMレイヤの処理により、各ペイロード144−2にセルヘッダ144−1を付加して、セル144を生成する。生成されたセルは、PHYレイヤの処理を経て伝送路7上に送出される。一方、受信されたセルは、上記とは逆の手順でLLCフレームに組立てられる。本実施形態では、端末1とATM通信制御装置2との間でのLLCフレーム42の受け渡しは、一定データ長のデータブロック145の単位で行われる。
【0017】
ここで、セルヘッダ144−1は、フロー制御等に使用されるGFCフィールド144−1Aと、ATMコネクションの識別子であるVPIフィールド144−1Bと、VCIフィールド144−1Cと、セルの種別(パケットの最終セルの指定を含む)を示すPTフィールド144−1Dと、セル破棄優先を示すCLPフィールド144−1Eと、セルヘッダ144−1に対する誤り検出用情報であるHECフィールド144−1Fとで構成される。また、セルは、図5に示すように、ユーザデータを運ぶデータセル245と、ネットワークの保守/運用で使用されるOAMセル246と、データセルの送信レート制御に使用されるRMセル247とに分類される。これらの種別は、セルヘッダ44−1内のPTフィールド44−1Dにより識別される。
【0018】
図6に、ATM通信制御装置におけるセルの送受信シーケンスの一例を示す。端末1は、通信相手の端末1との間で、まず、ATMのコネクション(以下、VCと記す)を設定する。VCの設定および解放は、端末1のシグナリング処理により行われる。端末1から送信されるパケットは、ATM通信制御装置2内でセルに分割されて、伝送路7に送出される。受信側のATM通信制御装置2では、受信セルはパケットに組み立てられて端末1に転送される。また、ATM通信制御装置2は、データセルの転送以外に、OAMセルやRMセルといった管理セルを、他のATM通信制御装置2やATMスイッチ3との間でやり取りする。そして、セルの転送終了後には、VCを解放して通信を終了する。
【0019】
図1は、ATM通信制御装置2の構成の一例を示すブロック図である。
【0020】
図1において、端末1は、通信に関わる構成として、主プロセッサ4と、主メモリ5と、それらを接続するシステムバス6を備える。ATM通信制御装置2は、セルの分割・組立てなどの処理を行うATMコントローラ8と、伝送路7でのセルの転送制御を行うPHYコントローラ9と、送受信されるセルおよび分割・組立を行うセルを格納するバッファメモリ40と、PHYコントローラ9を駆動する水晶発振器10とにより構成される。
【0021】
ATMコントローラ8は、端末1のシステムバス6に接続するためのバスインタフェース回路90と、上記主メモリ5とバッファメモリ40の間でパケットの転送を行うHOST・DMAC50と、バッファメモリ40上でセルの分割・組立てを行うSAR・DMAC60と、セルの生成および解析を行うセル送受信制御部70と、MPU100と、MPU100の制御プログラムを格納する書換え可能なROM20と、MPU100のワークメモリであるRAM30と、上記HOST・DMAC50とSAR・DMAC60とMPU100の、バッファメモリ40へのアクセスを調停するアービタ110と、上記主プロセッサ4とMPU100との間で制御情報をやりとりするための共有メモリ80と、コントローラ内の各部を相互に接続する内部バス200とで構成される。
【0022】
ROM20に格納されているプログラムコードは、バスインタフェース回路90と内部バス200を介して、主プロセッサ4から書き替えることができる。なお、ATMコントローラ8は水晶発信器(図示略)を内蔵しており、コントローラ内の各部は、この発信器のクロックに従って動作する。
【0023】
図7に、ATMコントローラ8でのATMプロトコル処理の機能分担の一例を示す。図示するように、ATM通信制御装置2では、管理セルの生成・解析処理や、パケットのデータブロック単位に発生する端末1とのインタフェース処理など、処理内容の変更に対する要求が高い部分に限って、MPU100が処理する。そして、CRC計算や、セルの分割・組立て処理といった、処理内容の変更よりも処理の高速性の方が優先する部分については、ワイヤードロジックが処理する。本実施形態では、このように処理を分担することで、MPU100の処理負荷を軽減させている。
【0024】
図8に、バッファメモリ40の構成を示す。
【0025】
図8において、バッファメモリ40には、SAR・DMAC60がセルの分割(送信)処理で利用する管理情報を保持する分割管理テーブル45と、SAR・DMAC60がセルの組立て(受信)処理で利用する管理情報を保持する組立て管理テーブル47と、送信対象のパケットを格納する送信バッファ46と、組み立てられた受信パケットのデータブロックを格納する受信バッファ48と、送受信する管理用セルを格納する管理セル用受信バッファ49Aおよび管理セル用送信バッファ49Bとが設定されている。これらのテーブルおよびバッファは、VC毎に設けられる。
【0026】
分割管理テーブル45は、次に送信すべきペイロード44−1の、送信バッファ46における格納位置(アドレス)を保持する送信バッファポインタ45−1と、送信データ長45−2と、セル送信毎に更新されるCRC計算の結果を保持する送信CRC計算途中結果45−3と、ペイロード44−2に付加するセルヘッダ44−1のテンプレートを保持する送信セルヘッダ45−4と、最終ブロック表示フラグ45−5とで構成される。
【0027】
組立て管理テーブル47は、次に受信するセルの受信バッファ48でのアドレスを保持する受信バッファポインタ47−1と、受信データ長47−2と、セル受信毎に更新されるCRC計算の結果を保持する受信CRC計算途中結果47−3と、バッファブロック長47−4とで構成される。
【0028】
ところで、送信バッファ46および受信バッファ48にLLCフレーム142全体を格納できるようにする場合には、VC毎に例えば4Kバイト程度の容量が必要となり、バッファメモリ40として容量の大きい高価なメモリを使用しなければならない。また、可変長であるLLCフレーム142は64バイト程度の場合もあるため、バッファメモリ40の利用効率は非常に低い。このため、本実施形態では、送信バッファ46および受信バッファ48の容量を、それぞれ、LLCフレーム142を分割したデータブロック145の大きさ(例えば、288バイト)とし、6個分のペイロード1441を格納できるようにしている。なお、送信バッファ46および受信バッファ48の容量と、データブロック145の大きさは、上記の値に限定されない。
【0029】
図9は、セル送受信制御部70の内部構成を示すブロック図である。
【0030】
図において、セル送受信制御部70は、受信したセルを一時的に保持する受信FIFO74と、受信FIFO内のセルを分解して転送するセル分解処理部75と、セルの経路情報の変換を行うVC識別CAM77と、送信セルを生成するセルヘッダ組立て処理部71と、生成された送信セルを一時的に保持する送信FIFO72で構成される。
【0031】
セル分解処理部75は、セルのペイロードと、ヘッダ中のPTフィールド44−1D(セル種別)とをSAR・DMAC60に転送し、VPIフィールド44−1BとVCIフィールド44−1CをVC識別CAM77に転送する。VC識別CAM77は、MPU100により、VPI/VCIとVC識別子(コネクション識別子)との組が予め複数登録され、セル分解処理部75より入力されるVPI44−1BとVCI44−1Cに一致する組を検索して、一致した組のVC識別子をSAR・DMAC60に出力する。
【0032】
図10は、SAR・DMAC60の内部構成を示すブロック図である。
【0033】
図において、SAR・DMAC60は、組立て管理テーブル47を用いて受信セルを順次に受信バッファ48に格納するRxDMAC62と、送信バッファ46に格納されたパケットデータを分割管理テーブル45を用いてセルに分割して順次に送信するTxDMAC61と、複数ある受信バッファ48の内の、空き状態のバッファのアドレスを保持する受信バッファプール65と、送信するセルのスケジューリングを行うレートタイマ69とから構成されている。また、図示するように、RxDMAC62とTxDMAC61は、転送するセルのペイロードに対して、誤り検出用のCRC計算を行うCRC計算回路63,64が内蔵されている。
【0034】
図11に、レートタイマ69の内部構成を示す。図において、レートタイマ69は、データセルの送信要求をVC毎に出すための複数のタイマエントリ部(0,・・・,n)と、管理セルの送信要求を出すための管理セル送信要求レジスタ69−4と、各タイマエントリ部および管理セル送信要求レジスタ69−4の送信要求を調停するアービタ69−5とにより構成される。
【0035】
各タイマエントリ部は、VCの識別情報が登録されるコネクション識別子格納部69−1と、そのVCのセルの送信間隔を指定する情報が登録されるタイマ初期値格納部69−2と、タイマカウンタであるカウンタ部69−3とから成る。MPU100は、端末1から新たなパケットの送信要求を受けると、登録を行っていないタイマエントリ部に対し、上記送信要求に対応するVCの識別情報および送信間隔を指定する情報を登録する。登録のなされたタイマエントリ部では、カウンタ部69−3が、タイマ初期値格納部69−2の格納値から、供給されるクロック信号(clock)に同期してカウントダウンを行い、0値となった時点で送信要求(Time out)をアービタ69−5に出力する。そして、以上の動作を繰り返す。これにより、各タイマエントリ部からは、登録されたVCについての送信要求が、登録された時間間隔で出力される。一方、管理セル送信要求レジスタ69−4は、MPU100により登録された情報を送信要求としてアービタ69−5に出力する。
【0036】
アービタ69−5は、あるタイマエントリ部から送信要求を受けると、その送信要求と共に供給されるVCの識別情報を指定して、TX−DMAC61にセル送信要求69−6を出す。管理セル送信要求レジスタ69−4からの送信要求を受けた場合には、管理セルを指定して送信要求を出す。そして、複数のタイマエントリ部や管理セル送信要求レジスタ69−4から送信要求を同時に受けた場合には、それら送信要求をシリアル化し順次出力する。なお、複数のタイマエントリ部および管理セル送信要求レジスタ69−4に予め優先順位を定め、優先順位の高いものからの送信要求をより早く出力するようにしてもよい。
【0037】
次に、 ATM通信制御装置2のデータ送信時の動作を、図11を用いて説明する。
【0038】
MPU100は、共有メモリ80を介して端末1よりパケット送信要求を受けると(ステップ500)、HOST・DMAC50を起動して、主メモリ5に格納された送信パケットのデータブロックを、送信バッファ46に転送する(501)。そして、その送信パケットの全てのデータブロックの転送が完了したかどうかを判定する(502)。転送が完了した場合、転送した送信パケットに対して、CRCフィールド43−3以外のCPCSトレイラを付加し(503)、送信バッファ46の先頭アドレスと、送信データ長と、送信するセルに付加するセルヘッダのテンプレートと、最終ブロックであることを指定する情報とを、対応するVCの分割管理テーブル45に設定する(504)。ステップ502で、DMA転送が完了していない場合には、最終ブロックでないことを指定する情報を含む登録を、対応するVCの分割管理テーブル45に行う(505)。
【0039】
次に、MPU100は、レートタイマ69に、対応するVCのコネクション識別子および送信間隔を登録する(506)。そして、レートタイマ69は、指定された送信間隔が経過する毎にセルの送信要求をTxDMAC61に出力する(507)。送信要求を受けたTxDMAC61は、対応するVCの分割管理テーブル45から、送信バッファポインタ45−1、送信データ長45−2、送信CRC計算途中結果45−3(初期値は0)、送信セルヘッダ45−4をそれぞれ読み出す(508)。そして、送信バッファ46の送信データを48バイトの単位で読み出し、先に読み出したセルヘッダ45−4と合わせてセルを形成して、送信する(509)。この時、ペイロード部分に対してはCRC計算を実行する。そして、セルの送信終了後、送信パケットの最終セルを送信したかどうかを判定する(510)。
【0040】
送信パケットの最終セルを送信していない場合、TxDMAC61は、CRC計算の結果を分割管理テーブルに退避し、次のセル送信に備えて、送信バッファポインタ45−1と送信データ長45−2とを更新する(511)。そして、送信バッファ46の最後のセルを送信したかどうかを判定し(512)、最後のセルを送信していない場合は上記のステップ507に戻る。送信バッファ46の最後のセルを送信した場合には、MPU100にデータブロックの送信完了を通知し(513)、動作は上記のステップ501に戻る。
【0041】
上記のステップ510で、送信パケットの最終セルを送信している場合、TxDMAC61は、その時のCRC計算結果をCPCSトレイラのCRC−32フィールド43−3に挿入して、PHYコントローラ9に送信する(514)。そして、MPU100にパケット送信の完了を通知する(515)。この通知を受けたMPU100は、端末1に対してパケット送信の完了を通知する(516)。
【0042】
次に、ATM通信制御装置2のセル受信時の動作を、図13および図14を用いて説明する。
【0043】
ATMコントローラ8のセル送受信制御部70では、PHYコントローラ9よりセルを受信すると(ステップ600)、セル分解処理部75が受信セルのセルヘッダを解析し、セル種別78−2を判別すると同時に、VC識別CAM77を用いてセルのVPI/VCIをVC識別子に変換する(601)。そして、セル送受信制御部70は、セル種別78−2およびVC識別子78−1を指定してRxDMAC62を起動する(602)。RxDMAC62では、セル種別78−2に従い次の処理を行う(603)。
【0044】
受信したセルがデータセル245でない場合、管理セル用受信バッファ49Aにセルを転送し(604)、MPU100に管理セルの受信を通知する(605)。この通知を受けたMPU100は、受信した管理セルに応じた処理を行い(606)、必要に応じて返信用の管理セルを生成して、管理セル用送信バッファ49Bに格納し、TxDMAC61を起動して、その管理セルを送信させる(607、608)。
【0045】
ステップ603で、受信したセルがデータセル245であった場合には、識別したVCに対応する組立て管理テーブル47からパラメータを読み出し(609)、受信バッファポインタ47−1に受信バッファ48が登録されていなければ、受信バッファプール65から空き受信バッファの先頭アドレスを取り出して、組立て管理テーブル47の受信バッファポインタ47−1に登録する(610、611)。そして、受信したセルのペイロード部分を、受信バッファポインタ47−1の指し示す受信バッファ48に、CRC計算を行いながら転送する(612)。転送が完了すると、RxDMAC62は、CRC計算結果を組立て管理テーブル47の受信CRC計算途中結果47−3に退避し、次のセル受信に備えて、受信バッファポインタ47−1と受信データ長47−2を更新する(613)。そして、転送先の受信バッファ48が、受信パケットの非最終セルで満たされたかどうかどうかを判定する(614)。
【0046】
受信バッファ48が非最終セルで満たされた場合、RxDMAC62は、データブロックの受信完了と、その先頭アドレスとをMPU100に通知し(615)、受信バッファプールより空き受信バッファのアドレスを獲得して、組み立て管理テーブル47に登録する(616)。通知を受けたMPU100は、HOST・DMAC50を起動して、データブロックを主メモリ5に転送する(617)。そして、転送元の受信バッファを空き領域とするために、そのアドレスを受信バッファプールに再登録する(618)。
【0047】
上記のステップ614で、受信バッファ48が非最終セルで満たされない場合、RxDMAC62は、受信したセルが受信パケットの最終セルであるかどうかを判定し(619)、最終セルでない場合には上記のステップ600の処理に戻る。受信したセルが最終セルである場合には、CRC計算結果から正常性をチェックし、MPU100に対して、受信バッファのアドレスと、受信データ長を、パケット受信完了情報として通知する(620)。その後、次の受信に備えて、受信バッファポインタ47−1、受信データ長47−2、受信CRC計算途中結果47−3の各フィールドをクリアする(621)。パケット受信完了の通知を受けたMPU100は、HOST・DMAC50を起動し、受信パケットの最後のデータブロックを主メモリ5に転送し(622)、共有メモリ80を介してパケットの受信完了を端末1に通知する(623)。そして、転送元の受信バッファを空き領域とするために、そのアドレスを受信バッファプールに再登録する(624)。
【0048】
図15に、以上の処理により実現されるATM通信制御装置2の動作の一例を示す。図中、B1,B2は、異なるデータブロックについての処理を示している。なお、図では、片方向の通信のみを示しているが、実際の通信は双方向に行われる。図示するように、ATMコントローラ2のHOST・DMAC50は、データブロックの単位でパケットデータの転送を行い、1データブロック分の送受信がなされることに応じて転送を繰り返す。このため、バッファメモリ40に必要とされる容量は、ATMコネクション当たり、最低1データブロック分あればよい。
【0049】
図16は、ATM通信制御装置2をPCMCIAカード型に構成した場合の構成図である。このATM通信制御装置2は、1チップのLSIで実現したATMコントローラ8と、従来の1チップのPHYコントローラ9と、バッファメモリ(RAM)40と、水晶発振器10と、回線接続用のトランスとを、PCMCIAカード内に実装したものである。
【0050】
以上で説明したように、本実施形態のATMコントローラ8では、バッファメモリ40として容量の小さい安価なメモリを用いることができる。また、MPU100が分担するATMプロトコル処理を、処理内容の変更に柔軟性を持たせたい処理だけに限定し、他の処理はワイヤードロジックで行うようにすることで、MPU100の処理負荷を低減し、低コストかつ低消費電力なATMコントローラが実現可能となる。また、ATMコントローラ8を1チップのLSIで実現することで、ATM通信制御装置2の構成部品の数が少なくなり、ATM通信制御装置2をPCMCIAカード等の超小型の装置に実装することが可能となる。
【0051】
(実施形態2)
次に、本発明の第2の実施形態に係るATM通信制御装置について説明する。
【0052】
本実施形態は、データブロック45の転送に起因するセル通信の遅延を改善したものであり、データブロック45の転送制御が第1の実施形態と異なる。なお、第1の実施形態と同じ構成および動作については説明を省略する。
【0053】
図17に、本実施形態のバッファメモリ40(γ)の構成を示す。図示するように、バッファメモリ40γの分割管理テーブル45γは、送信バッファポインタ45−1の設定領域が2つ(45−1aおよび45−1b)ある点が第1の実施形態と異なる。そして、本実施形態では、送信バッファポインタ45−1aおよび45−1bにより、VC毎に2つの送信バッファ46aおよび46bを登録することができる。
【0054】
図18は、本実施形態におけるATM通信制御装置2の送信動作を示すフローチャートである。
【0055】
図示するように、本実施形態の送信動作では、送信パケットの非最終のデータブロックを受信バッファ46にDMA転送し、対応するVCの分割管理テーブル45γの登録を行うと(701,702,712)、MPU100は、次のデータブロックを格納する受信バッファの登録が可能であるかどうかを判断し(713)、登録可能であればステップ701へ戻り、次のデータブロックのDMA転送を行う。
【0056】
また、対象のデータブロックの最終セルの送信が完了し、それがMPU100に通知されると(711,717)、次に送信するデータブロックを格納する送信バッファが登録されているかどうかが判断される(718)。登録されている場合、動作は、その登録を基にセルの生成および送信を行うステップ(708)に戻り、登録されていない場合には、新たなブロックデータを取り込む上記ステップ701に戻る。
【0057】
図19に、本実施形態のATM通信制御装置2の送受信動作の一例を示す。図15との比較から分かるように、本実施形態では、あるデータブロックの送受信と並行して、端末1との間で他のデータブロック(次に送信するデータブロックや、受信を完了した1つ前のデータブロック)の転送を行う。このため、端末との間でなされる転送の影響を受けずに、送信パケットの全てのセルを連続的に送信および受信することが可能となり、セルの通信効率が向上する。
【0058】
(実施形態3)
次に、本発明の第3の実施形態に係るATM通信制御装置について説明する。
【0059】
本実施形態は、バッファメモリ40のアクセス頻度と容量を共に低減し、バッファメモリ40として、より安価なメモリ(RAM)を利用できるようにしたものである。
【0060】
図20は、本実施形態のATM通信制御装置2αの構成を示すブロック図である。
【0061】
ATM通信制御装置2αは、セルの分割・組立てを、バッファメモリ40だけでなく、端末1の主メモリ5でも行えるように構成されている。具体的には、第1の実施形態で述べたATMコントローラ8のバスインタフェース回路90とSAR・DMAC60の間に、新たにデータ転送パス210,220を追加した構成のATMコントローラ8αを備える。この構成で、SAR・DMAC60は、DMAパス210,220およびバスインタフェース回路90を介して、主メモリ5との間で送受信セルを受け渡しすることができる。
【0062】
図21に、ATM通信制御装置2α内のバッファメモリ40αと、端末1内の主メモリ5に形成されたバッファ領域との各構成とそれらの対応関係を示す。
【0063】
分割管理テーブル45αに定義された送信バッファポインタ45−1は、バッファメモリ40に定義された送信バッファ46の他に、主メモリ5に定義された送信バッファ46αを指し示すことができる。また、分割管理テーブル45αには、送信対象のパケットが送信バッファ46,46αのどちらに格納されているかを指定する送信バッファ種別フィールド45−5が追加されている。
【0064】
組立て管理テーブル47αも同様に、受信バッファポインタ47−1が、バッファメモリ40に定義された受信バッファ48と、主メモリ5に定義された受信バッファ48αの一方を指し示し、受信セルの格納先の受信バッファ48,48αを指定する受信バッファ種別フィールド47−5が追加されている。
【0065】
図22に、ATMコントローラ8α内のSAR・DMAC60αの構成を示す。図示するように、SAR・DMAC60αは、第1の実施形態のSAR・DMAC60の構成に加え、主メモリ5に定義された受信バッファ48αの空き領域のアドレスを保持するホスト受信バッファプール66を備える。
【0066】
本実施形態のATM通信制御装置2αは、第1の実施形態と同様に、データブロック145の単位で端末1とデータの受け渡しを行う。以下では、第1の実施形態と異なる部分の動作について説明する。
【0067】
図23は、ATMコントローラ8αにおける、受信バッファを選択する処理の一例を示すフローチャートである。通信開始時、MPU100は、まず、ATMコネクション(VC)を設定する(ステップ450)。設定したATMコネクションが、セルの高速な転送を要求するものである場合には、組立て管理テーブル47αの受信バッファ種別フィールド47−4に“主メモリ”を設定し(452)、主メモリ5に定義された受信バッファ48αのアドレスを、SAR・DMAC60α内のホスト受信バッファプール66に登録する(453)。転送遅延の影響が少ないATMコネクションが設定された場合には、組立て管理テーブル47αの受信バッファ種別フィールド47−4に“バッファメモリ”を設定し(454)、バッファメモリ40に定義された空き受信バッファ48のアドレスを、SAR・DMAC60α内の受信バッファプール65に登録する(455)。送信バッファ46,46αも、以上と同様の手順および条件で選択および登録が行われる。
【0068】
図24は、データセルの受信時におけるRxDMAC62の動作を示すフローチャートである。RxDMAC62は、セルを受信すると(ステップ460)、対応するVCの組立て管理テーブル47αのパラメータをリードし(461)、受信バッファ種別フィールド47−4をチェックする(462)。そして、このフィールドに“主メモリ”が設定され、かつ、受信バッファポインタ47−1にいずれの受信バッファも登録されていない場合には、ホスト受信バッファプール66から空き受信バッファのアドレスを獲得し、受信バッファポインタ47−1に登録する(463、464)。その後、受信バッファポインタ47−1が示す、主メモリ5の受信バッファ48αに受信セルを転送する(465)。ステップ462の処理で、フィールド47−4に“バッファメモリ”が設定されており、かつ、受信バッファポインタ47−1にいずれの受信バッファも登録されていない場合には、受信バッファプール65から空き受信バッファのアドレスを獲得し、受信バッファポインタ47−1に登録する(466、467)。そして、受信バッファポインタ47−1が示すバッファメモリ40の受信バッファ48に受信セルを転送し(468)、組立て管理テーブル47αを更新する(469)。セルの送信処理においても、上記と同様の手順で、送信バッファ46,46αの選択が行われる。
【0069】
ATMコントローラ8αのバスインタフェース回路90は、HOST・DMAC50に対するDMA転送処理よりも、SAR・DMAC60αに対する転送処理を優先させる。図25に示すように、HOST・DMAC50のDMA転送の途中でSAR・DMAC60αの転送要求を受けた場合、バスインタフェース回路90は、HOST・DMAC50のDMA転送処理を中断して、SAR・DMAC60αの転送処理を行う。これにより、本実施形態では、SAR・DMAC60αと主メモリ5との間のセルの転送時間を短縮している。
【0070】
以上のように、本実施形態のATM通信制御装置2αでは、転送時の遅延の影響が大きいVCに対しては、セルの分割・組立て処理を主メモリ5上で行うため、より低速で小容量の安価なバッファメモリ40を用いることが可能である。また、主メモリ5とSAR・DMAC60αとの間で送受信セルを転送できるため、セル転送の高速化と、その転送に関わるMPU100の処理負荷の軽減が達成される。
【0071】
なお、本実施形態の装置では、扱うトラヒックの性質に応じて、VC毎に主メモリ5とバッファメモリ40αの一方を転送先として選択しているが、これ以外の規則に基づいて選択を行ってもよい。例えば、トラヒックの性質や、VCの単位に関わらず、トラヒック量に応じて転送先を切り替えてもよい。また、制御系のデータセル/ユーザ用のデータセルといった分類に対応させて、選択を行うようにしてもよい。
【0072】
また、本実施形態のATM通信制御装置2αは、バッファメモリ40αの送信バッファポインタ45−1を2つ設けて、第2の実施形態と同様のデータブロックの転送制御を行うことで、セルの通信効率を向上させることが可能である。
【0073】
【発明の効果】
本発明によれば、セルの分解・組立に用いるメモリの容量を低減したATMコントローラを提供することができる。さらに、プロトコル処理の設定や変更に対応でき、ソフトウェア処理の負荷を低減したATMコントローラを提供することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態のATM通信制御装置およびATMコントローラの構成を示すブロック図。
【図2】ATM通信制御装置が適用されるネットワークシステムの構成図。
【図3】通信プロトコルレイヤの階層および機能分担を示す図。
【図4】パケット(フレーム)とATMセルの関係および構成を示す図。
【図5】セルの種類を示す図。
【図6】ATMプロトコルの通信シーケンスを示す図。
【図7】ATMプロトコルにおける、MPUとワイヤードロジックの機能分担を示した図。
【図8】バッファメモリに定義されたテーブルの構成を示す図。
【図9】セル送受信制御部の構成を示すブロック図。
【図10】SAR・DMACの他の構成を示すブロック図。
【図11】レートタイマの内部構成を示すブロック図。
【図12】ATM通信制御装置の送信フローを示すフローチャート。
【図13】ATM通信制御装置の受信フローを示すフローチャート。
【図14】ATM通信制御装置の受信フローを示すフローチャート。
【図15】ATM通信制御装置の動作例を示すタイミングチャート。
【図16】PCMCIAカード型のATM通信制御装置の実装図。
【図17】第2の実施形態のATM通信制御装置のバッファメモリに定義されたテーブルの構成を示す図。
【図18】ATM通信制御装置の送信フローを示すフローチャート。
【図19】ATM通信制御装置の動作例を示すタイミングチャート。
【図20】第3の実施形態のATM通信制御装置の構成を示すブロック図。
【図21】バッファメモリに定義されるテーブルの構成図。
【図22】SAR・DMACの構成を示すブロック図。
【図23】MPUのバッファ選択処理フローを示すフローチャート。
【図24】ATMコントローラのセル転送処理フローを示すブロック図。
【図25】バスインタフェース回路の動作を示すタイムチャート。
【符号の説明】
1…端末、2…ATM通信制御装置、3…ATMスイッチ、4…主プロセッサ、5…主メモリ、6…システムバス、7…伝送路、8…ATMコントローラ、9…PHYコントローラ、10…水晶発振器、20…ROM、30…RAM、40…バッファメモリ、50…HOST・DMAC、60…SAR・DMAC、69…レートタイマ、70…セル送受信制御部、80…共有メモリ、90…バスインタフェース回路、100…MPU、200…内部バス。
【発明の属する技術分野】
本発明は、端末とATM(Asynchronous Transfer Mode)網との間で、ATMプロトコルの下位部の処理を行うATM通信制御装置、および、その装置内で処理を分担するATMコントローラに関するものである。
【0002】
【従来の技術】
ATM通信制御装置は、端末とATM網の回線とを接続し、複数の端末の間で、ATMプロトコルに従った通信を行う。具体的には、ATM通信制御装置は、ATMプロトコルの下位部の処理を分担し、端末で生成された可変長のパケットを受け取り、固定長のセルに分割して回線に送信する一方、回線より受信したセルからパケットを生成して端末に渡す。なお、ATMプロトコルについては、ITU(国際電気通信連合)の勧告に基づいてATMフォーラムが標準化を進めている。
【0003】
従来、ATM通信制御装置の処理の内、セルの送受信制御を行うATMレイヤの処理と、セルの分割・組立てを行うAALレイヤの処理(両処理を合わせたものを、以下で、ATMプロトコル処理と記す)をLSIで実現したATMコントローラが提案されている。例えば、NEC技報(Vol.47 No.7/1994)記載の「μPD98401」は、ATMプロトコル処理を、処理手順が固定化されるワイヤードロジックで実現したものである。この技術によれば、処理の高速化が可能となるが、処理内容の変更はできなくなる。ATMプロトコルでは、ネットワークの保守/運用に使われるOAMセルや、回線でのトラヒックの混雑度を制御するのに使われるRMセルといった管理系のセルの処理など、未だ標準化がなされていない部分がある。ATMコントローラは、このような部分の処理の変更に対応できることが望ましい。
【0004】
処理の変更に対応できるATMコントローラとして、日経エレクトロニクス(1994.4.11 No.605 P.17,18)記載の「ATMizer」がある。このコントローラはマイクロプロセッサを内蔵しており、セルヘッダの解析や、セルの分解・組立てなどを含む、ATMプロトコル処理の多くの部分をソフトウェア処理で実施する。ただし、ソフトウェア処理の負担が大いために、処理能力の高い複雑な構造のマイクロプロセッサを備えて、それを高速で動作させている。
【0005】
【発明が解決しようとする課題】
上記従来の技術では、コネクション数の増加に対応するために、ATMコントローラでのセルの分解・組立てに、大容量で高速なアクセスが可能な高価なメモリを必要とする。
【0006】
また、上記従来の、処理の変更に対応できるATMコントローラは、処理能力の高い複雑な構造のマイクロプロセッサを必要とするために、製造に微細な加工プロセス技術が要求され、コスト高となる。また、高速で動作するために消費電力も高くなる。
【0007】
そこで、本発明は、セルの分解・組立に用いるメモリの容量を低減したATMコントローラを提供することを目的とする。さらに、プロトコル処理の設定や変更に対応でき、ソフトウェア処理の負荷を低減したATMコントローラを提供することを目的とする。
【0008】
【課題を解決するための手段】
上記目的を達成するために、本発明は、ATM網の伝送路と端末との間で、ATMプロトコルのATMレイヤとAALレイヤの処理を行うATMコントローラであって、バッファメモリに接続され、前記端末の通信するパケットデータを、前記端末内のメモリと前記バッファメモリとの間で、より短い一定長のデータブロックの単位で転送する転送手段と、前記端末内から前記バッファメモリに転送されたデータブロックをデータセルに分割し、分割したデータセルをATM網側に送信するセル送信制御手段と、前記バッファメモリ上で、受信したデータセルを組み立てて一定長のデータブロックを形成するセル受信制御手段と、1データブロック分のセルの送受信がなされたことに応じて、前記転送手段に転送指示を行う転送制御手段とを有することを特長とするATMコントローラを提供する。
【0009】
このATMコントローラでは、端末内のメモリとバッファメモリとの間のパケットデータの転送を一定長のデータブロックの単位で行い、この転送を1データブロック分のセルの送受信がなされることに応じて行うため、例えば、ATMコネクション当たり1データブロック分の格納領域をバッファメモリに確保すればよく、記憶容量の小さい安価なバッファメモリを利用することができる。
【0010】
さらに、本発明は、上記構成のATMコントローラであって、前記ATM網側より受信したセルのヘッダー部を調べ、当該セルがデータセルであるか否かを判定するセル種別判定手段と、制御プログラムを格納し保持する書換え可能なプログラムメモリと、前記判定により識別されたデータセル以外のセルの解析および解析結果に応じた処理を行うマイクロプロセッサとを有することを特長とするATMコントローラを提供する。
【0011】
このATMコントローラでは、プログラムメモリの書き換えにより、マイクロプロセッサに割り当てられるATMプロトコル処理の設定や変更に対応できる。また、マイクロプロセッサがセル種別の判定や、データセルの分割・組立ての処理を行わずに済むため、ソフトウェア処理の負荷は低減される。
【0012】
【発明の実施の形態】
以下で、本発明の実施の形態を、図面を参照しながら説明する。
【0013】
図2に、本実施形態に係るATM通信制御装置が適用される通信ネットワークシステムの一例を示す。図2の例では、計算機等である複数の端末1(1A〜1D)が、ATM通信制御装置2(2A〜2D)と伝送路7を介して、ATMスイッチ3に接続されている。ATM通信制御装置2は、端末1と伝送路7の間で、パケットおよびセルの変換を行う。
【0014】
図3に、ATM通信プロトコルのレイヤ構成と、端末1とATM通信制御装置2の機能分担を示す。図示すように、セルの分割・組立てを行うAALレイヤ以下の下位レイヤはATM通信制御装置2が分担し、ATMコネクションを確立するシグナリング処理を含むLLCレイヤ以上の上位レイヤは端末1が分担する。
【0015】
図4は、端末1およびATM通信制御装置2で生成されるパケットおよびATMセルの関係を示す図である。
【0016】
図において、端末1は、送信する可変長のデータ141に、LLCレイヤ以上のレイヤ処理で得た上位プロトコルヘッダ142−1を付加することで、LLCフレーム142を生成する。ATM通信制御装置2では、AALレイヤの処理により、上記LLCフレーム142に、PADフィールド143−1、LNGフィールド143−2、CRC−32フィールド143−3から成るCPCSトレイラを付加して、CPCS−PDU143を生成して、48バイト毎のデータ(以下、ペイロードと記す)144−2に分割する。そして、ATMレイヤの処理により、各ペイロード144−2にセルヘッダ144−1を付加して、セル144を生成する。生成されたセルは、PHYレイヤの処理を経て伝送路7上に送出される。一方、受信されたセルは、上記とは逆の手順でLLCフレームに組立てられる。本実施形態では、端末1とATM通信制御装置2との間でのLLCフレーム42の受け渡しは、一定データ長のデータブロック145の単位で行われる。
【0017】
ここで、セルヘッダ144−1は、フロー制御等に使用されるGFCフィールド144−1Aと、ATMコネクションの識別子であるVPIフィールド144−1Bと、VCIフィールド144−1Cと、セルの種別(パケットの最終セルの指定を含む)を示すPTフィールド144−1Dと、セル破棄優先を示すCLPフィールド144−1Eと、セルヘッダ144−1に対する誤り検出用情報であるHECフィールド144−1Fとで構成される。また、セルは、図5に示すように、ユーザデータを運ぶデータセル245と、ネットワークの保守/運用で使用されるOAMセル246と、データセルの送信レート制御に使用されるRMセル247とに分類される。これらの種別は、セルヘッダ44−1内のPTフィールド44−1Dにより識別される。
【0018】
図6に、ATM通信制御装置におけるセルの送受信シーケンスの一例を示す。端末1は、通信相手の端末1との間で、まず、ATMのコネクション(以下、VCと記す)を設定する。VCの設定および解放は、端末1のシグナリング処理により行われる。端末1から送信されるパケットは、ATM通信制御装置2内でセルに分割されて、伝送路7に送出される。受信側のATM通信制御装置2では、受信セルはパケットに組み立てられて端末1に転送される。また、ATM通信制御装置2は、データセルの転送以外に、OAMセルやRMセルといった管理セルを、他のATM通信制御装置2やATMスイッチ3との間でやり取りする。そして、セルの転送終了後には、VCを解放して通信を終了する。
【0019】
図1は、ATM通信制御装置2の構成の一例を示すブロック図である。
【0020】
図1において、端末1は、通信に関わる構成として、主プロセッサ4と、主メモリ5と、それらを接続するシステムバス6を備える。ATM通信制御装置2は、セルの分割・組立てなどの処理を行うATMコントローラ8と、伝送路7でのセルの転送制御を行うPHYコントローラ9と、送受信されるセルおよび分割・組立を行うセルを格納するバッファメモリ40と、PHYコントローラ9を駆動する水晶発振器10とにより構成される。
【0021】
ATMコントローラ8は、端末1のシステムバス6に接続するためのバスインタフェース回路90と、上記主メモリ5とバッファメモリ40の間でパケットの転送を行うHOST・DMAC50と、バッファメモリ40上でセルの分割・組立てを行うSAR・DMAC60と、セルの生成および解析を行うセル送受信制御部70と、MPU100と、MPU100の制御プログラムを格納する書換え可能なROM20と、MPU100のワークメモリであるRAM30と、上記HOST・DMAC50とSAR・DMAC60とMPU100の、バッファメモリ40へのアクセスを調停するアービタ110と、上記主プロセッサ4とMPU100との間で制御情報をやりとりするための共有メモリ80と、コントローラ内の各部を相互に接続する内部バス200とで構成される。
【0022】
ROM20に格納されているプログラムコードは、バスインタフェース回路90と内部バス200を介して、主プロセッサ4から書き替えることができる。なお、ATMコントローラ8は水晶発信器(図示略)を内蔵しており、コントローラ内の各部は、この発信器のクロックに従って動作する。
【0023】
図7に、ATMコントローラ8でのATMプロトコル処理の機能分担の一例を示す。図示するように、ATM通信制御装置2では、管理セルの生成・解析処理や、パケットのデータブロック単位に発生する端末1とのインタフェース処理など、処理内容の変更に対する要求が高い部分に限って、MPU100が処理する。そして、CRC計算や、セルの分割・組立て処理といった、処理内容の変更よりも処理の高速性の方が優先する部分については、ワイヤードロジックが処理する。本実施形態では、このように処理を分担することで、MPU100の処理負荷を軽減させている。
【0024】
図8に、バッファメモリ40の構成を示す。
【0025】
図8において、バッファメモリ40には、SAR・DMAC60がセルの分割(送信)処理で利用する管理情報を保持する分割管理テーブル45と、SAR・DMAC60がセルの組立て(受信)処理で利用する管理情報を保持する組立て管理テーブル47と、送信対象のパケットを格納する送信バッファ46と、組み立てられた受信パケットのデータブロックを格納する受信バッファ48と、送受信する管理用セルを格納する管理セル用受信バッファ49Aおよび管理セル用送信バッファ49Bとが設定されている。これらのテーブルおよびバッファは、VC毎に設けられる。
【0026】
分割管理テーブル45は、次に送信すべきペイロード44−1の、送信バッファ46における格納位置(アドレス)を保持する送信バッファポインタ45−1と、送信データ長45−2と、セル送信毎に更新されるCRC計算の結果を保持する送信CRC計算途中結果45−3と、ペイロード44−2に付加するセルヘッダ44−1のテンプレートを保持する送信セルヘッダ45−4と、最終ブロック表示フラグ45−5とで構成される。
【0027】
組立て管理テーブル47は、次に受信するセルの受信バッファ48でのアドレスを保持する受信バッファポインタ47−1と、受信データ長47−2と、セル受信毎に更新されるCRC計算の結果を保持する受信CRC計算途中結果47−3と、バッファブロック長47−4とで構成される。
【0028】
ところで、送信バッファ46および受信バッファ48にLLCフレーム142全体を格納できるようにする場合には、VC毎に例えば4Kバイト程度の容量が必要となり、バッファメモリ40として容量の大きい高価なメモリを使用しなければならない。また、可変長であるLLCフレーム142は64バイト程度の場合もあるため、バッファメモリ40の利用効率は非常に低い。このため、本実施形態では、送信バッファ46および受信バッファ48の容量を、それぞれ、LLCフレーム142を分割したデータブロック145の大きさ(例えば、288バイト)とし、6個分のペイロード1441を格納できるようにしている。なお、送信バッファ46および受信バッファ48の容量と、データブロック145の大きさは、上記の値に限定されない。
【0029】
図9は、セル送受信制御部70の内部構成を示すブロック図である。
【0030】
図において、セル送受信制御部70は、受信したセルを一時的に保持する受信FIFO74と、受信FIFO内のセルを分解して転送するセル分解処理部75と、セルの経路情報の変換を行うVC識別CAM77と、送信セルを生成するセルヘッダ組立て処理部71と、生成された送信セルを一時的に保持する送信FIFO72で構成される。
【0031】
セル分解処理部75は、セルのペイロードと、ヘッダ中のPTフィールド44−1D(セル種別)とをSAR・DMAC60に転送し、VPIフィールド44−1BとVCIフィールド44−1CをVC識別CAM77に転送する。VC識別CAM77は、MPU100により、VPI/VCIとVC識別子(コネクション識別子)との組が予め複数登録され、セル分解処理部75より入力されるVPI44−1BとVCI44−1Cに一致する組を検索して、一致した組のVC識別子をSAR・DMAC60に出力する。
【0032】
図10は、SAR・DMAC60の内部構成を示すブロック図である。
【0033】
図において、SAR・DMAC60は、組立て管理テーブル47を用いて受信セルを順次に受信バッファ48に格納するRxDMAC62と、送信バッファ46に格納されたパケットデータを分割管理テーブル45を用いてセルに分割して順次に送信するTxDMAC61と、複数ある受信バッファ48の内の、空き状態のバッファのアドレスを保持する受信バッファプール65と、送信するセルのスケジューリングを行うレートタイマ69とから構成されている。また、図示するように、RxDMAC62とTxDMAC61は、転送するセルのペイロードに対して、誤り検出用のCRC計算を行うCRC計算回路63,64が内蔵されている。
【0034】
図11に、レートタイマ69の内部構成を示す。図において、レートタイマ69は、データセルの送信要求をVC毎に出すための複数のタイマエントリ部(0,・・・,n)と、管理セルの送信要求を出すための管理セル送信要求レジスタ69−4と、各タイマエントリ部および管理セル送信要求レジスタ69−4の送信要求を調停するアービタ69−5とにより構成される。
【0035】
各タイマエントリ部は、VCの識別情報が登録されるコネクション識別子格納部69−1と、そのVCのセルの送信間隔を指定する情報が登録されるタイマ初期値格納部69−2と、タイマカウンタであるカウンタ部69−3とから成る。MPU100は、端末1から新たなパケットの送信要求を受けると、登録を行っていないタイマエントリ部に対し、上記送信要求に対応するVCの識別情報および送信間隔を指定する情報を登録する。登録のなされたタイマエントリ部では、カウンタ部69−3が、タイマ初期値格納部69−2の格納値から、供給されるクロック信号(clock)に同期してカウントダウンを行い、0値となった時点で送信要求(Time out)をアービタ69−5に出力する。そして、以上の動作を繰り返す。これにより、各タイマエントリ部からは、登録されたVCについての送信要求が、登録された時間間隔で出力される。一方、管理セル送信要求レジスタ69−4は、MPU100により登録された情報を送信要求としてアービタ69−5に出力する。
【0036】
アービタ69−5は、あるタイマエントリ部から送信要求を受けると、その送信要求と共に供給されるVCの識別情報を指定して、TX−DMAC61にセル送信要求69−6を出す。管理セル送信要求レジスタ69−4からの送信要求を受けた場合には、管理セルを指定して送信要求を出す。そして、複数のタイマエントリ部や管理セル送信要求レジスタ69−4から送信要求を同時に受けた場合には、それら送信要求をシリアル化し順次出力する。なお、複数のタイマエントリ部および管理セル送信要求レジスタ69−4に予め優先順位を定め、優先順位の高いものからの送信要求をより早く出力するようにしてもよい。
【0037】
次に、 ATM通信制御装置2のデータ送信時の動作を、図11を用いて説明する。
【0038】
MPU100は、共有メモリ80を介して端末1よりパケット送信要求を受けると(ステップ500)、HOST・DMAC50を起動して、主メモリ5に格納された送信パケットのデータブロックを、送信バッファ46に転送する(501)。そして、その送信パケットの全てのデータブロックの転送が完了したかどうかを判定する(502)。転送が完了した場合、転送した送信パケットに対して、CRCフィールド43−3以外のCPCSトレイラを付加し(503)、送信バッファ46の先頭アドレスと、送信データ長と、送信するセルに付加するセルヘッダのテンプレートと、最終ブロックであることを指定する情報とを、対応するVCの分割管理テーブル45に設定する(504)。ステップ502で、DMA転送が完了していない場合には、最終ブロックでないことを指定する情報を含む登録を、対応するVCの分割管理テーブル45に行う(505)。
【0039】
次に、MPU100は、レートタイマ69に、対応するVCのコネクション識別子および送信間隔を登録する(506)。そして、レートタイマ69は、指定された送信間隔が経過する毎にセルの送信要求をTxDMAC61に出力する(507)。送信要求を受けたTxDMAC61は、対応するVCの分割管理テーブル45から、送信バッファポインタ45−1、送信データ長45−2、送信CRC計算途中結果45−3(初期値は0)、送信セルヘッダ45−4をそれぞれ読み出す(508)。そして、送信バッファ46の送信データを48バイトの単位で読み出し、先に読み出したセルヘッダ45−4と合わせてセルを形成して、送信する(509)。この時、ペイロード部分に対してはCRC計算を実行する。そして、セルの送信終了後、送信パケットの最終セルを送信したかどうかを判定する(510)。
【0040】
送信パケットの最終セルを送信していない場合、TxDMAC61は、CRC計算の結果を分割管理テーブルに退避し、次のセル送信に備えて、送信バッファポインタ45−1と送信データ長45−2とを更新する(511)。そして、送信バッファ46の最後のセルを送信したかどうかを判定し(512)、最後のセルを送信していない場合は上記のステップ507に戻る。送信バッファ46の最後のセルを送信した場合には、MPU100にデータブロックの送信完了を通知し(513)、動作は上記のステップ501に戻る。
【0041】
上記のステップ510で、送信パケットの最終セルを送信している場合、TxDMAC61は、その時のCRC計算結果をCPCSトレイラのCRC−32フィールド43−3に挿入して、PHYコントローラ9に送信する(514)。そして、MPU100にパケット送信の完了を通知する(515)。この通知を受けたMPU100は、端末1に対してパケット送信の完了を通知する(516)。
【0042】
次に、ATM通信制御装置2のセル受信時の動作を、図13および図14を用いて説明する。
【0043】
ATMコントローラ8のセル送受信制御部70では、PHYコントローラ9よりセルを受信すると(ステップ600)、セル分解処理部75が受信セルのセルヘッダを解析し、セル種別78−2を判別すると同時に、VC識別CAM77を用いてセルのVPI/VCIをVC識別子に変換する(601)。そして、セル送受信制御部70は、セル種別78−2およびVC識別子78−1を指定してRxDMAC62を起動する(602)。RxDMAC62では、セル種別78−2に従い次の処理を行う(603)。
【0044】
受信したセルがデータセル245でない場合、管理セル用受信バッファ49Aにセルを転送し(604)、MPU100に管理セルの受信を通知する(605)。この通知を受けたMPU100は、受信した管理セルに応じた処理を行い(606)、必要に応じて返信用の管理セルを生成して、管理セル用送信バッファ49Bに格納し、TxDMAC61を起動して、その管理セルを送信させる(607、608)。
【0045】
ステップ603で、受信したセルがデータセル245であった場合には、識別したVCに対応する組立て管理テーブル47からパラメータを読み出し(609)、受信バッファポインタ47−1に受信バッファ48が登録されていなければ、受信バッファプール65から空き受信バッファの先頭アドレスを取り出して、組立て管理テーブル47の受信バッファポインタ47−1に登録する(610、611)。そして、受信したセルのペイロード部分を、受信バッファポインタ47−1の指し示す受信バッファ48に、CRC計算を行いながら転送する(612)。転送が完了すると、RxDMAC62は、CRC計算結果を組立て管理テーブル47の受信CRC計算途中結果47−3に退避し、次のセル受信に備えて、受信バッファポインタ47−1と受信データ長47−2を更新する(613)。そして、転送先の受信バッファ48が、受信パケットの非最終セルで満たされたかどうかどうかを判定する(614)。
【0046】
受信バッファ48が非最終セルで満たされた場合、RxDMAC62は、データブロックの受信完了と、その先頭アドレスとをMPU100に通知し(615)、受信バッファプールより空き受信バッファのアドレスを獲得して、組み立て管理テーブル47に登録する(616)。通知を受けたMPU100は、HOST・DMAC50を起動して、データブロックを主メモリ5に転送する(617)。そして、転送元の受信バッファを空き領域とするために、そのアドレスを受信バッファプールに再登録する(618)。
【0047】
上記のステップ614で、受信バッファ48が非最終セルで満たされない場合、RxDMAC62は、受信したセルが受信パケットの最終セルであるかどうかを判定し(619)、最終セルでない場合には上記のステップ600の処理に戻る。受信したセルが最終セルである場合には、CRC計算結果から正常性をチェックし、MPU100に対して、受信バッファのアドレスと、受信データ長を、パケット受信完了情報として通知する(620)。その後、次の受信に備えて、受信バッファポインタ47−1、受信データ長47−2、受信CRC計算途中結果47−3の各フィールドをクリアする(621)。パケット受信完了の通知を受けたMPU100は、HOST・DMAC50を起動し、受信パケットの最後のデータブロックを主メモリ5に転送し(622)、共有メモリ80を介してパケットの受信完了を端末1に通知する(623)。そして、転送元の受信バッファを空き領域とするために、そのアドレスを受信バッファプールに再登録する(624)。
【0048】
図15に、以上の処理により実現されるATM通信制御装置2の動作の一例を示す。図中、B1,B2は、異なるデータブロックについての処理を示している。なお、図では、片方向の通信のみを示しているが、実際の通信は双方向に行われる。図示するように、ATMコントローラ2のHOST・DMAC50は、データブロックの単位でパケットデータの転送を行い、1データブロック分の送受信がなされることに応じて転送を繰り返す。このため、バッファメモリ40に必要とされる容量は、ATMコネクション当たり、最低1データブロック分あればよい。
【0049】
図16は、ATM通信制御装置2をPCMCIAカード型に構成した場合の構成図である。このATM通信制御装置2は、1チップのLSIで実現したATMコントローラ8と、従来の1チップのPHYコントローラ9と、バッファメモリ(RAM)40と、水晶発振器10と、回線接続用のトランスとを、PCMCIAカード内に実装したものである。
【0050】
以上で説明したように、本実施形態のATMコントローラ8では、バッファメモリ40として容量の小さい安価なメモリを用いることができる。また、MPU100が分担するATMプロトコル処理を、処理内容の変更に柔軟性を持たせたい処理だけに限定し、他の処理はワイヤードロジックで行うようにすることで、MPU100の処理負荷を低減し、低コストかつ低消費電力なATMコントローラが実現可能となる。また、ATMコントローラ8を1チップのLSIで実現することで、ATM通信制御装置2の構成部品の数が少なくなり、ATM通信制御装置2をPCMCIAカード等の超小型の装置に実装することが可能となる。
【0051】
(実施形態2)
次に、本発明の第2の実施形態に係るATM通信制御装置について説明する。
【0052】
本実施形態は、データブロック45の転送に起因するセル通信の遅延を改善したものであり、データブロック45の転送制御が第1の実施形態と異なる。なお、第1の実施形態と同じ構成および動作については説明を省略する。
【0053】
図17に、本実施形態のバッファメモリ40(γ)の構成を示す。図示するように、バッファメモリ40γの分割管理テーブル45γは、送信バッファポインタ45−1の設定領域が2つ(45−1aおよび45−1b)ある点が第1の実施形態と異なる。そして、本実施形態では、送信バッファポインタ45−1aおよび45−1bにより、VC毎に2つの送信バッファ46aおよび46bを登録することができる。
【0054】
図18は、本実施形態におけるATM通信制御装置2の送信動作を示すフローチャートである。
【0055】
図示するように、本実施形態の送信動作では、送信パケットの非最終のデータブロックを受信バッファ46にDMA転送し、対応するVCの分割管理テーブル45γの登録を行うと(701,702,712)、MPU100は、次のデータブロックを格納する受信バッファの登録が可能であるかどうかを判断し(713)、登録可能であればステップ701へ戻り、次のデータブロックのDMA転送を行う。
【0056】
また、対象のデータブロックの最終セルの送信が完了し、それがMPU100に通知されると(711,717)、次に送信するデータブロックを格納する送信バッファが登録されているかどうかが判断される(718)。登録されている場合、動作は、その登録を基にセルの生成および送信を行うステップ(708)に戻り、登録されていない場合には、新たなブロックデータを取り込む上記ステップ701に戻る。
【0057】
図19に、本実施形態のATM通信制御装置2の送受信動作の一例を示す。図15との比較から分かるように、本実施形態では、あるデータブロックの送受信と並行して、端末1との間で他のデータブロック(次に送信するデータブロックや、受信を完了した1つ前のデータブロック)の転送を行う。このため、端末との間でなされる転送の影響を受けずに、送信パケットの全てのセルを連続的に送信および受信することが可能となり、セルの通信効率が向上する。
【0058】
(実施形態3)
次に、本発明の第3の実施形態に係るATM通信制御装置について説明する。
【0059】
本実施形態は、バッファメモリ40のアクセス頻度と容量を共に低減し、バッファメモリ40として、より安価なメモリ(RAM)を利用できるようにしたものである。
【0060】
図20は、本実施形態のATM通信制御装置2αの構成を示すブロック図である。
【0061】
ATM通信制御装置2αは、セルの分割・組立てを、バッファメモリ40だけでなく、端末1の主メモリ5でも行えるように構成されている。具体的には、第1の実施形態で述べたATMコントローラ8のバスインタフェース回路90とSAR・DMAC60の間に、新たにデータ転送パス210,220を追加した構成のATMコントローラ8αを備える。この構成で、SAR・DMAC60は、DMAパス210,220およびバスインタフェース回路90を介して、主メモリ5との間で送受信セルを受け渡しすることができる。
【0062】
図21に、ATM通信制御装置2α内のバッファメモリ40αと、端末1内の主メモリ5に形成されたバッファ領域との各構成とそれらの対応関係を示す。
【0063】
分割管理テーブル45αに定義された送信バッファポインタ45−1は、バッファメモリ40に定義された送信バッファ46の他に、主メモリ5に定義された送信バッファ46αを指し示すことができる。また、分割管理テーブル45αには、送信対象のパケットが送信バッファ46,46αのどちらに格納されているかを指定する送信バッファ種別フィールド45−5が追加されている。
【0064】
組立て管理テーブル47αも同様に、受信バッファポインタ47−1が、バッファメモリ40に定義された受信バッファ48と、主メモリ5に定義された受信バッファ48αの一方を指し示し、受信セルの格納先の受信バッファ48,48αを指定する受信バッファ種別フィールド47−5が追加されている。
【0065】
図22に、ATMコントローラ8α内のSAR・DMAC60αの構成を示す。図示するように、SAR・DMAC60αは、第1の実施形態のSAR・DMAC60の構成に加え、主メモリ5に定義された受信バッファ48αの空き領域のアドレスを保持するホスト受信バッファプール66を備える。
【0066】
本実施形態のATM通信制御装置2αは、第1の実施形態と同様に、データブロック145の単位で端末1とデータの受け渡しを行う。以下では、第1の実施形態と異なる部分の動作について説明する。
【0067】
図23は、ATMコントローラ8αにおける、受信バッファを選択する処理の一例を示すフローチャートである。通信開始時、MPU100は、まず、ATMコネクション(VC)を設定する(ステップ450)。設定したATMコネクションが、セルの高速な転送を要求するものである場合には、組立て管理テーブル47αの受信バッファ種別フィールド47−4に“主メモリ”を設定し(452)、主メモリ5に定義された受信バッファ48αのアドレスを、SAR・DMAC60α内のホスト受信バッファプール66に登録する(453)。転送遅延の影響が少ないATMコネクションが設定された場合には、組立て管理テーブル47αの受信バッファ種別フィールド47−4に“バッファメモリ”を設定し(454)、バッファメモリ40に定義された空き受信バッファ48のアドレスを、SAR・DMAC60α内の受信バッファプール65に登録する(455)。送信バッファ46,46αも、以上と同様の手順および条件で選択および登録が行われる。
【0068】
図24は、データセルの受信時におけるRxDMAC62の動作を示すフローチャートである。RxDMAC62は、セルを受信すると(ステップ460)、対応するVCの組立て管理テーブル47αのパラメータをリードし(461)、受信バッファ種別フィールド47−4をチェックする(462)。そして、このフィールドに“主メモリ”が設定され、かつ、受信バッファポインタ47−1にいずれの受信バッファも登録されていない場合には、ホスト受信バッファプール66から空き受信バッファのアドレスを獲得し、受信バッファポインタ47−1に登録する(463、464)。その後、受信バッファポインタ47−1が示す、主メモリ5の受信バッファ48αに受信セルを転送する(465)。ステップ462の処理で、フィールド47−4に“バッファメモリ”が設定されており、かつ、受信バッファポインタ47−1にいずれの受信バッファも登録されていない場合には、受信バッファプール65から空き受信バッファのアドレスを獲得し、受信バッファポインタ47−1に登録する(466、467)。そして、受信バッファポインタ47−1が示すバッファメモリ40の受信バッファ48に受信セルを転送し(468)、組立て管理テーブル47αを更新する(469)。セルの送信処理においても、上記と同様の手順で、送信バッファ46,46αの選択が行われる。
【0069】
ATMコントローラ8αのバスインタフェース回路90は、HOST・DMAC50に対するDMA転送処理よりも、SAR・DMAC60αに対する転送処理を優先させる。図25に示すように、HOST・DMAC50のDMA転送の途中でSAR・DMAC60αの転送要求を受けた場合、バスインタフェース回路90は、HOST・DMAC50のDMA転送処理を中断して、SAR・DMAC60αの転送処理を行う。これにより、本実施形態では、SAR・DMAC60αと主メモリ5との間のセルの転送時間を短縮している。
【0070】
以上のように、本実施形態のATM通信制御装置2αでは、転送時の遅延の影響が大きいVCに対しては、セルの分割・組立て処理を主メモリ5上で行うため、より低速で小容量の安価なバッファメモリ40を用いることが可能である。また、主メモリ5とSAR・DMAC60αとの間で送受信セルを転送できるため、セル転送の高速化と、その転送に関わるMPU100の処理負荷の軽減が達成される。
【0071】
なお、本実施形態の装置では、扱うトラヒックの性質に応じて、VC毎に主メモリ5とバッファメモリ40αの一方を転送先として選択しているが、これ以外の規則に基づいて選択を行ってもよい。例えば、トラヒックの性質や、VCの単位に関わらず、トラヒック量に応じて転送先を切り替えてもよい。また、制御系のデータセル/ユーザ用のデータセルといった分類に対応させて、選択を行うようにしてもよい。
【0072】
また、本実施形態のATM通信制御装置2αは、バッファメモリ40αの送信バッファポインタ45−1を2つ設けて、第2の実施形態と同様のデータブロックの転送制御を行うことで、セルの通信効率を向上させることが可能である。
【0073】
【発明の効果】
本発明によれば、セルの分解・組立に用いるメモリの容量を低減したATMコントローラを提供することができる。さらに、プロトコル処理の設定や変更に対応でき、ソフトウェア処理の負荷を低減したATMコントローラを提供することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態のATM通信制御装置およびATMコントローラの構成を示すブロック図。
【図2】ATM通信制御装置が適用されるネットワークシステムの構成図。
【図3】通信プロトコルレイヤの階層および機能分担を示す図。
【図4】パケット(フレーム)とATMセルの関係および構成を示す図。
【図5】セルの種類を示す図。
【図6】ATMプロトコルの通信シーケンスを示す図。
【図7】ATMプロトコルにおける、MPUとワイヤードロジックの機能分担を示した図。
【図8】バッファメモリに定義されたテーブルの構成を示す図。
【図9】セル送受信制御部の構成を示すブロック図。
【図10】SAR・DMACの他の構成を示すブロック図。
【図11】レートタイマの内部構成を示すブロック図。
【図12】ATM通信制御装置の送信フローを示すフローチャート。
【図13】ATM通信制御装置の受信フローを示すフローチャート。
【図14】ATM通信制御装置の受信フローを示すフローチャート。
【図15】ATM通信制御装置の動作例を示すタイミングチャート。
【図16】PCMCIAカード型のATM通信制御装置の実装図。
【図17】第2の実施形態のATM通信制御装置のバッファメモリに定義されたテーブルの構成を示す図。
【図18】ATM通信制御装置の送信フローを示すフローチャート。
【図19】ATM通信制御装置の動作例を示すタイミングチャート。
【図20】第3の実施形態のATM通信制御装置の構成を示すブロック図。
【図21】バッファメモリに定義されるテーブルの構成図。
【図22】SAR・DMACの構成を示すブロック図。
【図23】MPUのバッファ選択処理フローを示すフローチャート。
【図24】ATMコントローラのセル転送処理フローを示すブロック図。
【図25】バスインタフェース回路の動作を示すタイムチャート。
【符号の説明】
1…端末、2…ATM通信制御装置、3…ATMスイッチ、4…主プロセッサ、5…主メモリ、6…システムバス、7…伝送路、8…ATMコントローラ、9…PHYコントローラ、10…水晶発振器、20…ROM、30…RAM、40…バッファメモリ、50…HOST・DMAC、60…SAR・DMAC、69…レートタイマ、70…セル送受信制御部、80…共有メモリ、90…バスインタフェース回路、100…MPU、200…内部バス。
Claims (19)
- ATM網の伝送路と端末との間で、ATMプロトコルのATMレイヤとAALレイヤの処理を行うATMコントローラであって、
バッファメモリに接続され、
前記端末内のメモリと前記バッファメモリとの間で、前記端末の通信するパケットデータを、一定長のデータブロックの単位で転送する転送手段と、
前記端末内から前記バッファメモリに転送されたデータブロックをデータセルに分割し、分割したデータセルをATM網側に送信するセル送信制御手段と、
前記ATM網から伝送路を介して受信したデータセルを、前記バッファメモリ上で組み立てて一定長のデータブロックを形成するセル受信制御手段と、
前記転送手段に、前記端末内のメモリと前記バッファメモリとの間で、前記一定長のデータブロックを転送することを指示し、かつ、前記セル送信制御手段および前記セル受信制御手段に、前記バッファメモリと前記ATM網との間で、前記伝送路を介して前記セルを送信または受信することを指示する、転送制御手段と、を有し、
前記セル送信制御手段および前記セル受信制御手段は、同一のコネクション上で、前記パケットデータの各データセルを送受信し、
前記転送制御手段は、前記ATM網から受信した前記データセルを組み立て、一定長のデータブロックが前記バッファメモリ上に存在することを示す通知を受け、かつ、前記バッファメモリに形成された一定長のデータブロックの、前記端末内メモリへの転送を許可すること、を特徴とするATMコントローラ。 - 請求項1に記載のATMコントローラにおいて、
前記転送制御手段は、前記セル送信制御手段に、前記一定長のデータブロックから分割され、前記バッファメモリに格納された前記データセルを前記ATM網に送る指示を行うことを特徴とするATMコントローラ。 - 請求項1に記載のATMコントローラにおいて、
前記ATM網側より受信したセルのヘッダー部を調べ、当該セルがデータセルであるか否かを判定するセル種別判定手段と、
データセル以外のセルの処理に用いられる制御プログラムを格納する書換え可能なプログラムメモリと、
前記判定により識別されたデータセル以外のセルの処理を行うマイクロプロセッサとを有することを特徴とするATMコントローラ。 - 請求項1に記載のATMコントローラにおいて、
前記転送制御手段は、バッファメモリとATM網との間でのセル送信制御手段によるデータセルの受信と並行して、前記端末内メモリとバッファメモリとの間で、転送手段を介して、一定長のデータブロックの転送を実行するよう、前記転送手段および前記セル送信制御手段に指示することを特徴とするATMコントローラ。 - 請求項1に記載のATMコントローラにおいて、
前記転送手段、前記セル送信制御手段、前記セル受信制御手段および転送制御手段は、一つのLSIで構成されることを特徴とするATMコントローラ。 - 請求項1に記載のATMコントローラにおいて、
前記転送手段、前記セル送信制御手段、前記セル受信制御手段、転送制御手段および前記バッファメモリは、一つのLSIで構成されることを特徴とするATMコントローラ。 - ATM網の伝送路と端末との間で、ATMプロトコルのATMレイヤとAALレイヤの 処理を行うATMコントローラであって、
バッファメモリに接続され、
前記端末内のメモリと前記バッファメモリとの間で、パケットデータを、一定長のデータブロックの単位で転送する転送手段と、
前記端末内メモリから前記バッファメモリに転送されたデータブロック、もしくは、前記端末内メモリに格納されたパケットデータをデータセルに分割し、当該データセルをATM網側に送信するセル送信制御手段と、
前記バッファメモリ上、もしくは、前記端末内のメモリ上で、それぞれ、受信したデータセルを組み立ててデータブロック、もしくは、パケットデータを形成するセル受信制御手段と、
前記端末内のメモリと前記バッファメモリとの間で、一定長のデータブロックの単位で転送するよう前記転送手段に指示し、かつ、前記バッファメモリおよび端末内メモリのいずれかと、前記ATM網との間で、前記データセルを転送するよう前記セル送信制御手段およびセル受信制御手段に指示する転送制御手段と、を有し、
前記転送制御手段は、ATM網から受信したデータセルを組み立て、前記バッファメモリおよび前記端末内メモリのうちいずれかにおける一定長のデータブロックの形成を示す通知を前記セル受信制御手段から受け、かつ、前記バッファメモリ上にデータセルを形成する場合には、一定長のデータブロックを前記端末メモリに転送するよう前記転送手段に指示することを特徴とするATMコントローラ。 - 請求項7に記載のATMコントローラにおいて、
前記転送制御手段は、前記端末メモリ上のパケットデータ、または、前記バッファメモリ上の一定長のデータブロックのいずれかにより形成され、分割されているデータセルを前記ATM網に送信するよう、前記セル送信制御手段に指示することを特徴とするATMコントローラ。 - 請求項7に記載のATMコントローラにおいて、
前記ATM網側より受信したセルのヘッダー部を調べ、当該セルがデータセルであるか否かを判定するセル種別判定手段と、
データセル以外のセルの処理に用いられる制御プログラムを格納する書換え可能なプログラムメモリと、
前記判定により識別されたデータセル以外のセルの処理を行うマイクロプロセッサとを有することを特徴とするATMコントローラ。 - 請求項9に記載のATMコントローラにおいて、
判定されたデータセル以外のセルには、少なくとも、OAM(Operation Administration Maintenance)セルとRM(Resource Management)セルとを含むことを特徴とするATMコントローラ。 - 請求項7に記載のATMコントローラにおいて、
前記転送制御手段は、
設定されるATMコネクションにおけるトラヒックの性質に応じて、前記端末メモリのデータパケットを前記セル送信制御手段に転送し、前記データパケットを一定長のデータブロックに変換して前記バッファメモリに格納した後、データセルの一つを選択し、かつ、
前記セル受信制御手段においてパケットデータへ変換し、セル受信制御手段において前記データセルを一定長のデータブロックに変換した後、前記ATM網から前記端末メモリへ転送するデータセルを一つ選択し、前記一定長のデータブロックを前記バッファメモリ内に形成することを特徴とするATMコントローラ。 - 請求項7に記載のATMコントローラにおいて、
前記転送制御手段は、
前記バッファメモリのトラヒック量に応じて端末内メモリのパケットデータを前記セル送信制御手段に転送し、データセルを分割するか、または、前記パケットデータを一定長のデータブロックに変換し前記バッファメモリに格納するかのいずれか一方を選択し、かつ、
前記セル受信制御手段が前記ATM網からのデータセルをパケットデータに変換し、前記端末内メモリに送信するか、または、前記セル受信手段が前記データセルを一定長のデータブロックへ変換し格納するかのいずれか一方を選択して、前記バッファメモリ内に一定長のデータブロックを形成することを特徴とするATMコントローラ。 - 請求項7に記載のATMコントローラにおいて、
前記転送手段、前記セル送信制御手段、前記セル受信制御手段および転送制御手段は、一つのLSIで構成されることを特徴とするATMコントローラ。 - 請求項13に記載のATMコントローラにおいて、
前記バッファメモリは、ATMコネクションごとに、一定長のデータブロックを複数格納する領域を有することを特徴とするATMコントローラ。 - 請求項7に記載のATMコントローラにおいて、
前記転送手段、前記セル送信制御手段、前記セル受信制御手段、転送制御手段および前記バッファメモリは、一つのLSIで構成されることを特徴とするATMコントローラ。 - ATM網の伝送路と、ATMプロトコルのATMレイヤとAALレイヤとPHYレイヤの処理を行う端末との間を接続するATM通信制御装置であって、
バッファメモリ、前記端末内のメモリと前記バッファメモリとの間で、パケットデータを一定長のデータブロックの単位で転送する転送手段、前記端末内から前記バッファメモリに転送されたデータブロックをデータセルに分割し、分割したデータセルをATM網側に送信するセル送信制御手段、前記ATM網から伝送路を介して受信したデータセルを、前記バッファメモリ上で組み立てて一定長のデータブロックを形成するセル受信制御手段、および、前記転送手段に、前記端末内のメモリと前記バッファメモリとの間で、前記一定長のデータブロックを転送することを指示し、かつ、前記セル送信制御手段および前記セル受信制御手段に、前記バッファメモリと前記ATM網との間で、前記伝送路を介して前記セルを送信または受信することを指示する、転送制御手段を含むATMコントローラと、
前記ATMコントローラと前記伝送路との間を接続し、PHYレイヤの処理を実行するPHYコントローラと、
前記PHYコントローラを駆動させる水晶発振器と、を有し、
前記ATMコントローラの前記転送制御手段は、前記ATM網から受信した前記データセルを組み立て、一定長のデータブロックが前記バッファメモリ上に存在することを示す通知を受け、かつ、前記バッファメモリに形成された一定長のデータブロックの、前記端末内メモリへの転送を許可すること、を特徴とするATM通信制御装置。 - ATM網の伝送路と、ATMプロトコルのATMレイヤとAALレイヤとPHYレイヤの処理を行う端末との間を接続するATM通信制御装置であって、
バッファメモリと、
前記端末内のメモリと前記バッファメモリとの間で、パケットデータを一定長のデータブロックの単位で転送する転送手段、前記端末内から前記バッファメモリに転送されたデータブロックをデータセルに分割し、分割したデータセルをATM網側に送信するセル送信制御手段、前記ATM網から伝送路を介して受信したデータセルを、前記バッファメモリ上で組み立てて一定長のデータブロックを形成するか、または前記端末内のメモリ上で組立てて一以上のパケットデータを形成するかのいずれか一方を行うセル受信制御手段、および、前記転送手段に、前記端末内のメモリと前記バッファメモリとの間で、前記一定長のデータブロックを転送することを指示し、かつ、前記セル送信制御手段および前記セル受信制御手段に、前記バッファメモリと前記ATM網との間で、前記伝送路を介して前記セルを送信または受信することを指示する、転送制御手段を含むATMコントローラと、
前記ATMコントローラと前記伝送路との間を接続し、PHYレイヤの処理を実行するPHYコントローラと、
前記PHYコントローラを駆動させる水晶発振器と、を有し、
前記ATMコントローラの前記転送制御手段は、前記ATM網から受信した前記データセルを組み立て、一定長のデータブロックが前記バッファメモリ上に存在することを示す通知を受け、かつ、前記バッファメモリに形成された一定長のデータブロックの、前記端末内メモリへの転送を許可すること
を特徴とするATM通信制御装置。 - ATM網の伝送路と端末との間で、ATMプロトコルのATMレイヤとAALレイヤの処理を行うATMコントローラを制御する方法であって、
前記端末内のメモリと前記バッファメモリとの間で、パケットデータ転送する段階と、
前記端末内から前記バッファメモリに転送されたデータブロックをデータセルに分割し、分割したデータセルをATM網側に送信する段階と、
前記ATM網から伝送路を介して受信したデータセルを、前記バッファメモリ上で組み立てて一定長のデータブロックを形成する段階と、を有することを特徴とするATMコントローラの制御方法。 - ATM網の伝送路と端末との間で、ATMプロトコルのATMレイヤとAALレイヤの処理を行うATMコントローラを制御する方法であって、
前記端末内のメモリと前記バッファメモリとの間で、パケットデータ転送する段階と、
選択信号に応じて、前記端末内メモリから前記バッファメモリに転送されたデータブロックをデータセルに分割するか、または、前記端末内メモリから送られたパケットデータをデータセルに分割するかのいずれかを実行し、分割したデータセルをATM網側に送信する段階と、
前記選択信号に応じて、ATM網から伝送路を介して受信したデータセルを、前記バッファメモリ上で組み立てて一定長のデータブロックを形成するか、または、前記端末内のメモリ上で組立ててパケットデータを形成するかのいずれか一方を実行する段階と、を有することを特徴とするATMコントローラの制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17036397A JP3610193B2 (ja) | 1997-06-26 | 1997-06-26 | Atmコントローラおよびそれを用いたatm通信制御装置 |
US09/102,194 US6307857B1 (en) | 1997-06-26 | 1998-06-22 | Asynchronous transfer mode controller and ATM control method thereof and ATM communication control apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17036397A JP3610193B2 (ja) | 1997-06-26 | 1997-06-26 | Atmコントローラおよびそれを用いたatm通信制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1117694A JPH1117694A (ja) | 1999-01-22 |
JP3610193B2 true JP3610193B2 (ja) | 2005-01-12 |
Family
ID=15903555
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP17036397A Expired - Fee Related JP3610193B2 (ja) | 1997-06-26 | 1997-06-26 | Atmコントローラおよびそれを用いたatm通信制御装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6307857B1 (ja) |
JP (1) | JP3610193B2 (ja) |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2970596B2 (ja) * | 1997-06-10 | 1999-11-02 | 日本電気株式会社 | Atm通信装置 |
US6754209B1 (en) * | 1998-08-28 | 2004-06-22 | Intel Corporation | Method and apparatus for transmitting and receiving network protocol compliant signal packets over a platform bus |
US6560652B1 (en) * | 1998-11-20 | 2003-05-06 | Legerity, Inc. | Method and apparatus for accessing variable sized blocks of data |
US6639915B1 (en) * | 1999-04-07 | 2003-10-28 | Utstarcom, Inc. | Method and apparatus for transmission of voice data in a network structure |
KR100364756B1 (ko) * | 1999-12-20 | 2002-12-16 | 엘지전자 주식회사 | 자동수신모드를 갖는 비동기화 데이터 수신장치 |
US7032002B1 (en) | 2000-09-06 | 2006-04-18 | Xanboo, Inc. | Service broker for processing data from a data network |
JP3897994B2 (ja) * | 2001-05-31 | 2007-03-28 | 富士通株式会社 | スイッチ装置およびデータ転送システム |
US7142538B2 (en) * | 2001-12-22 | 2006-11-28 | Adc Dsl Systems, Inc. | Message-based communication over bus between cards in an electronic module |
US7397768B1 (en) | 2002-09-11 | 2008-07-08 | Qlogic, Corporation | Zone management in a multi-module fibre channel switch |
IL154010A0 (en) * | 2003-01-16 | 2003-07-31 | Discretix Technologies Ltd | Flexible hardware implementation of hash functions |
US7525910B2 (en) | 2003-07-16 | 2009-04-28 | Qlogic, Corporation | Method and system for non-disruptive data capture in networks |
US7558281B2 (en) | 2003-07-21 | 2009-07-07 | Qlogic, Corporation | Method and system for configuring fibre channel ports |
US7684401B2 (en) | 2003-07-21 | 2010-03-23 | Qlogic, Corporation | Method and system for using extended fabric features with fibre channel switch elements |
US7646767B2 (en) | 2003-07-21 | 2010-01-12 | Qlogic, Corporation | Method and system for programmable data dependant network routing |
US7477655B2 (en) | 2003-07-21 | 2009-01-13 | Qlogic, Corporation | Method and system for power control of fibre channel switches |
US7792115B2 (en) | 2003-07-21 | 2010-09-07 | Qlogic, Corporation | Method and system for routing and filtering network data packets in fibre channel systems |
US7522522B2 (en) * | 2003-07-21 | 2009-04-21 | Qlogic, Corporation | Method and system for reducing latency and congestion in fibre channel switches |
US7522529B2 (en) | 2003-07-21 | 2009-04-21 | Qlogic, Corporation | Method and system for detecting congestion and over subscription in a fibre channel network |
US7894348B2 (en) | 2003-07-21 | 2011-02-22 | Qlogic, Corporation | Method and system for congestion control in a fibre channel switch |
US7406092B2 (en) | 2003-07-21 | 2008-07-29 | Qlogic, Corporation | Programmable pseudo virtual lanes for fibre channel systems |
US7420982B2 (en) | 2003-07-21 | 2008-09-02 | Qlogic, Corporation | Method and system for keeping a fibre channel arbitrated loop open during frame gaps |
US7430175B2 (en) | 2003-07-21 | 2008-09-30 | Qlogic, Corporation | Method and system for managing traffic in fibre channel systems |
US7447224B2 (en) * | 2003-07-21 | 2008-11-04 | Qlogic, Corporation | Method and system for routing fibre channel frames |
JP3760167B2 (ja) * | 2004-02-25 | 2006-03-29 | 株式会社日立製作所 | 通信制御装置、通信ネットワークおよびパケット転送制御情報の更新方法 |
US7930377B2 (en) | 2004-04-23 | 2011-04-19 | Qlogic, Corporation | Method and system for using boot servers in networks |
US7340167B2 (en) * | 2004-04-23 | 2008-03-04 | Qlogic, Corporation | Fibre channel transparent switch for mixed switch fabrics |
US8295299B2 (en) | 2004-10-01 | 2012-10-23 | Qlogic, Corporation | High speed fibre channel switch element |
US7519058B2 (en) | 2005-01-18 | 2009-04-14 | Qlogic, Corporation | Address translation in fibre channel switches |
JP5521385B2 (ja) * | 2009-04-27 | 2014-06-11 | 株式会社リコー | 無線通信装置及び無線通信方法 |
US8296459B1 (en) | 2010-06-30 | 2012-10-23 | Amazon Technologies, Inc. | Custom routing decisions |
US8484353B1 (en) * | 2010-09-28 | 2013-07-09 | Amazon Technologies, Inc. | Resource placement templates for virtual networks |
US20140089174A1 (en) * | 2012-09-21 | 2014-03-27 | Gilbarco, S.R.L. | Application hosting within a secured framework in a fueling environment |
RU2546560C1 (ru) * | 2014-06-17 | 2015-04-10 | Государственное казенное образовательное учреждение высшего профессионального образования Академия Федеральной службы охраны Российской Федерации (Академия ФСО России) | УСТРОЙСТВО КОНТРОЛЯ ОШИБОК В ЦИФРОВЫХ СИСТЕМАХ ПЕРЕДАЧИ НА БАЗЕ ТЕХНОЛОГИИ Ethernet |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3275692D1 (en) * | 1982-12-28 | 1987-04-16 | Ibm | Synchronizing system for a multiplexed loop communication network |
US5414707A (en) * | 1993-12-01 | 1995-05-09 | Bell Communications Research, Inc. | Broadband ISDN processing method and system |
JPH07307738A (ja) * | 1994-05-13 | 1995-11-21 | Mitsubishi Electric Corp | プロトコル処理装置 |
US5548587A (en) * | 1994-09-12 | 1996-08-20 | Efficient Networks, Inc. | Asynchronous transfer mode adapter for desktop applications |
US5633870A (en) * | 1995-07-07 | 1997-05-27 | Sun Microsystems, Inc. | Method and apparatus for controlling data flow through an ATM interface |
US5606559A (en) * | 1995-08-11 | 1997-02-25 | International Business Machines Corporation | System and method for an efficient ATM adapter/device driver interface |
US5680401A (en) * | 1995-10-27 | 1997-10-21 | Sun Microsystems, Inc. | Method and apparatus for asynchronously segmenting packets of multiple channels into ATM cells |
US5742765A (en) * | 1996-06-19 | 1998-04-21 | Pmc-Sierra, Inc. | Combination local ATM segmentation and reassembly and physical layer device |
-
1997
- 1997-06-26 JP JP17036397A patent/JP3610193B2/ja not_active Expired - Fee Related
-
1998
- 1998-06-22 US US09/102,194 patent/US6307857B1/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH1117694A (ja) | 1999-01-22 |
US6307857B1 (en) | 2001-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3610193B2 (ja) | Atmコントローラおよびそれを用いたatm通信制御装置 | |
US5974466A (en) | ATM controller and ATM communication control device | |
JP3673951B2 (ja) | デスクトップ用非同期転送モードアダプター | |
US5664116A (en) | Buffering of data for transmission in a computer communication system interface | |
EP1131923B1 (en) | Multi-protocol conversion assistance method and system for a network accelerator | |
US6507583B1 (en) | Network access arbitration system and methodology | |
US20020176430A1 (en) | Buffer management for communication systems | |
WO1993026107A1 (en) | Atm-ethernet portal/concentrator | |
US6760333B1 (en) | Hybrid digital subscriber loop and voice-band universal serial bus modem | |
US5930525A (en) | Method and apparatus for network interface fetching initial and data burst blocks and segmenting blocks and scheduling blocks compatible for transmission over multiple virtual circuits | |
US6804243B1 (en) | Hardware acceleration for segmentation of message packets in a universal serial bus peripheral device | |
US6463485B1 (en) | System for providing cell bus management in a switch platform including a write port cell count in each of a plurality of unidirectional FIFO for indicating which FIFO be able to accept more cell | |
US5680401A (en) | Method and apparatus for asynchronously segmenting packets of multiple channels into ATM cells | |
US7215670B1 (en) | Hardware acceleration for reassembly of message packets in a universal serial bus peripheral device | |
US6512769B1 (en) | Method and apparatus for rate-based cell traffic arbitration in a switch | |
US6438102B1 (en) | Method and apparatus for providing asynchronous memory functions for bi-directional traffic in a switch platform | |
JP3176837B2 (ja) | Atmコントローラおよび、atm通信制御装置 | |
US6483850B1 (en) | Method and apparatus for routing cells having different formats among service modules of a switch platform | |
JP2002247097A (ja) | 通信制御装置 | |
EP0674825B1 (en) | Device for the conversion of data blocks, frame structured, into atm cells and vice versa | |
JPH10257068A (ja) | Atmコントローラおよびatm通信制御装置 | |
JP2001024661A (ja) | マルチキャスト方式とその交換方法 | |
US6967961B1 (en) | Method and apparatus for providing programmable memory functions for bi-directional traffic in a switch platform | |
JPH0918515A (ja) | 帯域可変通信装置 | |
KR100248575B1 (ko) | 에이티엠 호스트 어댑터 분해 및 재조립장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040525 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040726 |
|
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: 20041012 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041018 |
|
LAPS | Cancellation because of no payment of annual fees |