JP2000092066A - Atmセル組立・分解装置 - Google Patents

Atmセル組立・分解装置

Info

Publication number
JP2000092066A
JP2000092066A JP25364898A JP25364898A JP2000092066A JP 2000092066 A JP2000092066 A JP 2000092066A JP 25364898 A JP25364898 A JP 25364898A JP 25364898 A JP25364898 A JP 25364898A JP 2000092066 A JP2000092066 A JP 2000092066A
Authority
JP
Japan
Prior art keywords
payload
cell
transfer
stored
reception
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.)
Granted
Application number
JP25364898A
Other languages
English (en)
Other versions
JP3186707B2 (ja
Inventor
Tomoshi Katayanagi
智志 片▲柳▼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP25364898A priority Critical patent/JP3186707B2/ja
Publication of JP2000092066A publication Critical patent/JP2000092066A/ja
Application granted granted Critical
Publication of JP3186707B2 publication Critical patent/JP3186707B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 複数セル分のペイロードを1回のDMAサイ
クルでホストメモリに転送することにより、ホストバス
上の転送効率を向上させる。 【解決手段】 セル受信・分解部6は、受信したセルを
分解し、該分解により得られたペイロードをVC毎に受
信ペイロードバッファ13に蓄積し、所定の転送コマン
ド発行条件が満たされた時に、蓄積されたペイロードを
DMA転送させるためのDMAコマンドを作成し、DM
Aコマンドをキューとして第2のFIFOバッファに蓄
積する。ホストバスインターフェイス部8は、DMAコ
マンドFIFO16に蓄積されたDMAコマンドを順次
読み出し、当該読み出されたDMAコマンドに従って受
信ペイロードバッファ13内に蓄積されたペイロードを
ホストバス4に対してDMA転送する。転送コマンドを
強制的に発行するモードも用意されている。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ATM(Asynchro
nous Transfer Mode)網に接続されたATM端末上に配
置されるATMセル組立・分解装置に関し、特に、その
受信機能として、物理層デバイスから送り込まれる受信
ATMセルを、ヘッダとペイロードとに分解し、さら
に、複数のペイロードから仮想チャンネル(以下、「V
C(VirtualChannel )」と略称する)毎に受信パケッ
トを構成して、上位アプリケーションに受け渡しするA
TMセル組立・分解装置に関する。
【0002】
【従来の技術】図12は、従来のATMセル組立・分解
装置の構成を示すブロック図である。図12に示すよう
に、ATMセル組立・分解装置81は、ATMネットワ
ークに対してフレームデータの送受信を行う物理層デバ
イス85と接続されている。また、一方では、ホストバ
ス84を介して、上位アプリケーションを動作させるホ
ストCPU82、及び、送受信パケット等を格納してお
くホストメモリ83と接続されている。ホストCPU8
2は、ホストメモリ83の管理や、ATMセル組立・分
解装置81に対する命令発行等も行う。
【0003】ATMセル組立・分解装置81は、その内
部構成として、セルの受信、セル分解を行うセル受信・
分解部86と、送信セルのセル組立、送信を行うセル組
立・送信部87とを備え、さらに物理層デバイス85に
対してATMセルの送受信を行う物理層デバイスインタ
ーフェイス部89、及び、ホストバス84を介して接続
されたホストCPU82、ホストメモリ83に対してデ
ータ転送を行うホストバスインターフェイス部88を備
えている。
【0004】セル受信・分解部86は、物理層デバイス
インターフェイス部89から送られた受信セルのフィル
タリングや、セル分解を行い、分解されたペイロードを
ホストメモリ83にDMA転送するようホストバスイン
ターフェイス部88に命令するセル受信・分解制御部8
0と、受信制御の際、DMA転送先等必要となる情報
(受信パラメータ)を格納しておく受信パラメータ格納
部91と、分解されたペイロードをホストメモリ3にD
MA転送するまで一時的に格納しておく、受信FIFO
901とを備えている。
【0005】物理層デバイスインターフェイス部89に
より受信された受信セルは、セル受信・分解制御部80
でチャンネル識別子VPI/VCIによってフィルタリ
ングされた後、5バイトのヘッダと48バイトのペイロ
ードとに分解される。上記分解されたペイロードは、ホ
ストメモリ83にDMA転送されるまで受信FIFO9
01に一時的に格納される。
【0006】セル受信・分解制御部80は、受信パラメ
ータ格納部91に格納されたDMA転送先アドレスを参
照し、受信FIFO901に一時的に格納されたペイロ
ードをホストメモリ83にDMA転送するよう、ホスト
バスインターフェイス部88に要求する。受信FIFO
901に格納されたペイロードは、格納順に順次DMA
転送され、ホストメモリ83内でVC毎にパケットとし
て再構築される。
【0007】ここで、ホストメモリ83は、パケットを
VC毎に格納するため、VC毎に領域が確保されてお
り、異なるVCのペイロードを連続したアドレス領域に
転送することはできない。DMA転送は通常、1回のD
MA転送サイクル当たり、1セル分のペイロードの割合
で行われる。これは、受信FIFO901へ格納されて
いる或るペイロードと、その次に格納されたペイロード
の属するVCが異なる場合、それら2つのペイロードが
転送されるべきホストメモリ83上の格納アドレスが連
続する事は稀であるため、1回のDMA転送サイクルで
バースト転送(アドレスを1回出力し、その後データの
みを出し続けて転送するDMA転送形式)ができないた
めである。
【0008】同一VCのセルが複数個分、連続して受信
FIFO901に格納され、それらの転送先がホストメ
モリ83内の連続したアドレス空間である場合には、1
回のDMA転送サイクルで、例えば、5セル分まとめて
転送することもある。本発明分野に属する技術を過去の
特許出願から遡及調査すると、まず、特開平6−276
209号公報には、ライン入力されたセルをVC毎に構
成したFIFO制御のバッファに格納する手段と、過去
の出力状況等から判断して、上記入力されたセル毎に出
力可能な時刻を判別する手段と、上記判定された時刻の
タイミングで、該当セルを出力する手段とを有する技術
が開示されている。
【0009】また、特開平7−99494号公報には、
到着したセルをVC毎にバッファに蓄積する手段と、所
定のセル数のカウントを契機として、上記蓄積されたセ
ルをVP(Virtual Path)毎に蓄積する手段と、上記V
P毎に蓄積されたセルをVP毎に設定されているタイム
スロットの間隔で伝送路に出力する手段とを有する技術
が開示されている。
【0010】さらに、特開平10−32591号公報に
は、到着したセルをVC毎にバッファに蓄積する手段
と、所定のセル間隔で送出要求を生成し、その時のセル
時刻を時計から読み取ってFIFO制御の要求キューに
蓄積する手段と、上記要求キューの時刻情報と上記バッ
ファの蓄積状況に応じて、次のセル時刻に送出するVC
を決定する手段とを有する技術が開示されている。
【0011】
【発明が解決しようとする課題】ところで、上記した従
来のATMセル組立・分解装置では、ホストバス4上の
転送効率が良くないという欠点を有している。
【0012】その理由は、従来においては、ATMセル
組立・分解装置内で受信ペイロードを一時格納する手段
として、受信FIFO901としてFIFO(先入れ先
出し)制御のバッファを用いていたためである。ちなみ
に、FIFO制御とは、データを到着順に格納し、かつ
上記格納された順に読み出すことである。
【0013】このため、一時格納された受信セルのペイ
ロードは、受信FIFO901への格納順、すなわち、
受信された順番でしか、読み出すことができない。
【0014】一方、ペイロードのDMA転送先であるホ
ストメモリ83内の領域は、VC毎に領域が確保されて
おり、異なるVCのペイロードを連続したアドレス領域
に転送することはできない。
【0015】また、一般にDMA転送は、一度のDMA
サイクルでは連続したアドレス領域にしか、データを転
送できない。
【0016】ところが、一般に、ATMセル組立・分解
装置においては、必ずしも1つのVCのセルが連続して
受信されるとは限らず、複数のVCのセルが、バラバラ
に受信されると考える方が適切である。
【0017】このため、受信ペイロードの読み出しは、
毎回VCが変わると考える方が適切であり、DMA転送
先のアドレスも連続することはないと考えられる。
【0018】従って、偶然に同一VCのセルが複数個連
続して受信された場合を除いて、一般に、一度のDMA
サイクルで複数セル分のペイロードをDMA転送するこ
とは不可能である。
【0019】このため、従来例においては、1セル分の
ペイロード毎にDMA転送を行う必要があり、それ故、
該転送の都度、DMAサイクルの開始に伴うオーバーヘ
ッドが生じ、ホストバス4上の転送効率が悪くしてい
た。
【0020】以下では、上記の事情を、ホストバス84
として、よく知られた“PCIバスインターフェイス”
の32ビットバス(以下、「PCI」と略記する)を用
いた場合を例にとって説明する。
【0021】文献、“PCI LOCAL BUS S
PECIFICATION REVISION 2.1
(PCI SIG刊)”に依ると、本明細書で言うDM
A転送とはPCIのメモリ・ライト動作に相当する。
【0022】図13は、もっとも典型的なPCIのメモ
リ・ライト動作を示すタイミング図である。DMA転送
をする際、マスタ(従来のATMセル組立・分解装置)
は、時刻T1でREQ#信号をLOWにして、バスの使
用権を要求する。バスの使用権はPCIバスシステム上
のアービタと呼ばれる装置が時刻T2でGNT#信号を
LOWにすることによって与えられる。これを受けて、
マスタは、時刻T3でFRAME#をLOWにしてDM
A転送を開始する。この時刻T1から時刻T3の間は、
バス使用権を獲得するための期間であり、最低2クロッ
ク分の時間を要する。
【0023】マスタは、FRAME#をLOWにすると
同時に、DMA転送先のアドレスを1クロック分時出力
する。この時刻T3から時刻T4の間は、“アドレスフ
ェーズ”と呼ばれる期間である。
【0024】マスタは、アドレスフェーズに続き、32
ビットデータを1クロック当たり、1ワード(4バイ
ト)ずつ転送してゆき、時刻T5において、すべてのデ
ータの出力を終了し、DMA転送が終了する。
【0025】このデータが出力されている時刻T4から
時刻T5の期間は、“データフェーズ”と呼ばれ、48
バイトのペイロードデータを転送する場合、12クロッ
ク分の時間を要する。上記に説明した通り、1セル分の
ペイロードをDMA転送するには最低15クロック必要
である。この時刻T1から時刻T5までのDMAサイク
ルのうち、時刻T1から時刻T4までのバス使用権獲得
とアドレスフェーズが、データ転送量に依存しない、1
回のDMAサイクルに1回必要なオーバーヘッドであ
り、ここに3クロックを要している。すなわち、ペイロ
ードを1セル分DMA転送する度に、3クロックを無駄
にしている。
【0026】従来において、5セル分のペイロードをD
MA転送しようとすると、5回のDMAサイクルが必要
で、DMA転送に掛かる時間は、 (オーバーヘッド+データフェイズ)×5=(3+1
2)×5=75 となり、全部で75クロック分の時間が必要である。こ
の5セル分のペイロードを1回のDMAサイクルで転送
できれば、 (オーバーヘッド+データフェイズ)×1=(3+6
0)×1=63 となり、4回分のオーバーヘッドを削減して、63クロ
ック分の時間でDMA転送ができることになる。
【0027】さらには、上記オーバーヘッドのうち、バ
ス使用権を獲得するための期間(時刻T1から時刻T3
の間)は、ATMセル組立・分解装置以外(例えばホス
トCPU2)がホストバス3を使用中であった場合、す
ぐにはバス使用権を獲得することができず、さらに長い
時間が必要となる可能性を有する。従って、上記オーバ
ーヘッドは、最低2クロックであっても、実際にはもっ
と長い時間になるのが一般的である。
【0028】上記の事実により、従来技術では、1回の
DMA転送サイクルで1セル分のペイロードしかホスト
メモリ3にDMA転送できないので、ホストバス4上の
転送効率が良くないという欠点を有することが理解され
る。本発明は、以上のような従来のATMセル組立・分
解装置における問題点に鑑みてなされたものであり、そ
の目的としては、複数セル分のペイロードを1回のDM
Aサイクルでホストメモリに転送することにより、ホス
トバス上の転送効率を向上させたATMセル組立・分解
装置を提供することにある。
【0029】
【課題を解決するための手段】上記の課題を解決するた
めに、本発明の第1の態様に係るATMセル組立・分解
装置は、ATM網に接続されたATM端末に配置され、
物理層デバイスインターフェイス部と、セル受信・分解
部と、ホストバスインターフェイス部と、セル組立・送
信部を備えたATMセル組立・分解装置において、前記
セル受信・分解部は、前記物理層デバイスインターフェ
イス部を介して受信したセルをヘッダとペイロードに分
解し、前記分解により得られたペイロードを仮想チャン
ネル毎に第1の先入れ先出しメモリに蓄積するペイロー
ド蓄積手段と、所定の転送コマンド発行条件が満たされ
た時に、前記蓄積されたペイロードをダイレクトメモリ
アクセス転送させるためのダイレクトメモリアクセスコ
マンドを作成するダイレクトメモリアクセスコマンド作
成手段と、前記ダイレクトメモリアクセスコマンドを第
2の先入れ先出しメモリに蓄積するダイレクトメモリア
クセスコマンド蓄積手段を有し、 前記ホストバスイン
ターフェイス部は、前記第2の先入れ先出しメモリに蓄
積されたダイレクトメモリアクセスコマンドを順次読み
出し、当該読み出されたダイレクトメモリアクセスコマ
ンドに従って前記第1の先入れ先出しメモリ内に蓄積さ
れたペイロードを、前記バスホストインタフェース部に
接続されたバスを介して外部メモリにダイレクトメモリ
アクセス転送すること、を特徴とする。
【0030】ここで、前記の所定の転送コマンド発行条
件として、(1) 受信パケットの最終セルが受信され
た時、受信セル数に1を加算したセル数分のペイロード
のデータ容量が、所定のダイレクトメモリアクセス転送
先バッファ容量を超える時、(3) 前記第1の先入れ
先出しメモリ内の格納ペイロードの格納セル数が、連続
して転送可能な所定の最大転送可能セル数に達した時、
のいずれか一つを指定することが可能である。
【0031】また、前記第1の先入れ先出しメモリ内
に、該バッファ内の領域を仮想チャンネル毎に管理する
チェーンを設け、前記ペイロードを蓄積する仮想チャン
ネル毎の領域を、対応する仮想チャンネル毎の前記チェ
ーンにより論理的に結合することが可能である。
【0032】また、前記第1の先入れ先出しメモリ内
に、空きブロックの領域を設置し、新たなペイロードの
格納に際しては、該空きブロックの領域からブロックを
切り出して当該新たなペイロードの格納領域として充当
し、格納されたペイロードのダイレクトメモリアクセス
転送が終了した時点では、当該格納されたペイロードが
占めていた領域を前記空きブロックの領域として解放す
ることが可能である。
【0033】さらに、前記ダイレクトメモリアクセスコ
マンド作成手段は、ダイレクトメモリアクセスコマンド
を作成するために必要な情報として、少なくとも、この
受信ペイロードバッファに対し、セル受信・分解制御部
と、受信バッファ管理部が(1) ペイロードのダイレ
クトメモリアクセス転送先を示すダイレクトメモリアク
セス転送先アドレス、(2) ペイロードのダイレクト
メモリアクセス転送先における連続アドレス空間の残り
容量を示すダイレクトメモリアクセス転送先バッファ容
量、(3) 一度のダイレクトメモリアクセス転送サイ
クルで転送させるペイロード数の上限に対応する最大連
続転送セル数、(4) 第1の先入れ先出しメモリ内の
先頭格納アドレス、(5) 第1の先入れ先出しメモリ
内の最終格納アドレス、(6) 第1の先入れ先出しメ
モリ内に格納されたペイロードに対応するセルの個数、
の内の任意の項目を記憶しておく手段を有することが可
能である。
【0034】上記の課題を解決するために、上記構成に
加えて、前記セル受信・分解部に、前記第2の先入れ先
出しメモリ内に蓄積されたダイレクトメモリアクセスコ
マンド全体に指定されたペイロード全体に対応したセル
全体のセル数を計数する手段を設け、該セル数が所定の
強制転送閾値より小さい時には、前記ダイレクトメモリ
アクセスコマンドを発行すること、を特徴とする前記A
TMセル組立・分解装置が提供される。
【0035】本発明に係るATMセル組立・分解装置
は、従来のATMセル組立・分解装置においては、受信
したペイロードを、先入れ先出しメモリに一時格納し、
1セル分ずつ読み出してダイレクトメモリアクセス転送
していたので、この点を改良し、受信ペイロードの一時
格納領域として、仮想チャンネル毎に受信ペイロードを
格納・管理し、複数セル分のペイロードをまとめて読み
出せる“ペイロード一時記憶手段”を設け、複数セル分
のペイロードを、まとめて1回のダイレクトメモリアク
セスサイクルでホストメモリに転送する手段を採用する
ことにより、ホストバス上の転送効率を向上させてい
る。
【0036】すなわち、上記の構成により本発明のAT
Mセル組立・分解装置では、複数セル分のペイロード
を、1回のダイレクトメモリアクセスサイクルでホスト
バスに接続された外部メモリに転送するので、DMA転
送に関わるオーバーヘッドを削減することができ、その
結果、ホストバス上の転送効率の向上が可能となる。
【0037】
【発明の実施の形態】以下、本発明の実施の形態を図面
を参照して説明する。 (第1の実施の形態)図1は、本発明の第1の実施の形
態に係るATMセル組立・分解装置の構造を示すための
ブロック図である。
【0038】図1を参照すると、ATMセル組立・分解
装置1は、従来のATMセル組立・分解装置と同様、A
TMネットワークに対してフレームデータの送受信を行
う物理層デバイス5と接続されている。また、一方で
は、ホストバス4を介して、上位アプリケーションを動
作させるホストCPU2、及び、送受信パケット等を格
納しておくホストメモリ3と接続されている。ホストC
PU2は、ホストメモリ3の管理や、ATMセル組立・
分解装置1に対する命令発行等も行う。
【0039】ATMセル組立・分解装置1は、その内部
構成として、セルの受信とセルの分解を行うセル受信・
分解部6と、送信セルのセル組立、送信を行うセル組立
・送信部7とを備え、さらに物理層デバイス5に対して
ATMセルの送受信を行う物理層デバイスインターフェ
イス部9、及び、ホストバス4を介して接続されたホス
トCPU2、ホストメモリ3に対してデータ転送を行う
ホストバスインターフェイス部8を備えている。上記構
成までは、従来のATMセル組立・分解装置と同じであ
る。
【0040】セル受信・分解部6は、従来のATMセル
組立・分解装置と同様に、物理層デバイスインターフェ
イス部9から送られた受信セルのフィルタリングや、セ
ル分解を行い、分解されたペイロードをホストメモリ3
にDMA転送するようホストバスインターフェイス部8
に命令するセル受信・分解制御部10と、受信制御の
際、DMA転送先等必要となる情報(受信パラメータ)
を格納しておく受信パラメータ格納部11を備えてい
る。
【0041】上記の構成に加えて、本発明の第1の実施
の形態におけるセル受信・分解部6は、分解されたペイ
ロードをホストメモリ3にDMA転送するまで一時的に
格納しておく手段として、ランダムアクセスメモリ(R
AM)を用いた受信ペイロードバッファ13を備えてい
る。
【0042】この受信ペイロードバッファ13には、書
き込みと読み出しが独立して行える“デュアルポートR
AM”の使用が適している。受信ペイロードバッファ1
3として使用されているRAMの領域は、1セル分のペ
イロードデータを格納し得る領域(以下、「ペイロード
格納ブロック」と称する)を最小単位として分割されて
いる。このペイロード格納ブロック同志を順次、論理的
につなぎ、ペイロード格納ブロックチェーンを構成する
ことにより、ペイロード格納ブロックチェーンをFIF
Oの方法で使用している。
【0043】受信ペイロードバッファ13内に一時的に
格納されている各受信セルのペイロードは、上記ペイロ
ード格納ブロックにそれぞれ格納され、仮想チャネル
(以下、「VC」と略記する)毎にペイロードデータチ
ェーンを構成することにより、受信ペイロードバッファ
13内において、VC毎に受信セルのペイロードを格納
した複数のFIFOバッファが存在しているような構成
になっている。
【0044】例えば、VC1からVCnまでのn個のV
Cに対し、ペイロードデータを、受信ペイロードバッフ
ァ13内に一時格納しているものとすると、図1に示す
ように受信ペイロードバッファ13内には、VC1ペイ
ロードデータチェーン14aからVCnペイロードデー
タチェーン14zまでのn個のペイロード格納ブロック
チェーンが存在していて、それぞれのペイロード格納ブ
ロックチェーン内に、対応するVC毎にペイロードが格
納されている。受信ペイロードバッファ13のRAM内
で、ペイロードデータが格納されていないペイロード格
納ブロック(以下、「空きペイロード格納ブロック」と
称する)も論理的につながれ、空き格納ブロックチェー
ン15を構成している。
【0045】セル受信・分解部6は、上記した受信ペイ
ロードバッファ13へのペイロードを格納するためのペ
イロード格納ブロックチェーンの管理を行う受信バッフ
ァ管理部12も備えており、受信ペイロードバッファ1
3と受信バッファ管理部12とを併せて、受信ペイロー
ドの一時記憶手段として用いる。
【0046】図2は、本発明の第1の実施の形態に係る
受信ペイロードバッファ13の構成を示すブロック図で
ある。図3は、受信ペイロードバッファ13内に設置さ
れるペイロード格納ブロックの構成を示すブロック図で
ある。
【0047】図2を参照すると、受信ペイロードバッフ
ァ13内に、上記のVC1ペイロードデータチェーン1
4a、及び、空き格納ブロックチェーン15が設置され
ている。(他のVCのペイロード格納ブロックチェーン
については、VC1ペイロードデータチェーン14aと
同様の構成であるので、説明を省略する。)
【0048】VC1ペイロードデータチェーン14a内
に、3セル分のペイロードが格納されているものとする
と、VC1ペイロードデータチェーン14a内には、V
C1ペイロード格納ブロック(1)21aと、VC1ペ
イロード格納ブロック(2)21bと、VC1ペイロー
ド格納ブロック(3)21cとの、計3個のペイロード
格納ブロックが存在し、セルの受信順に、それぞれペイ
ロードが格納されている。
【0049】各ペイロード格納ブロックには、図3に示
すように、48バイトのペイロードデータ41と、次に
つなげる格納ブロックのRAM内における格納アドレス
を指し示すリンクポインタ42とが格納されている。こ
のリンクポインタ42によって、個々のペイロード格納
ブロックは論理的につながれ、ペイロード格納ブロック
チェーンを構成する。
【0050】VC1ペイロードデータチェーン14aに
おいては、VC1ペイロード格納ブロック(1)21a
のリンクポインタは、VC1ペイロード格納ブロック
(2)21bの格納アドレスを、VC1ペイロード格納
ブロック(2)21bのリンクポインタは、VC1ペイ
ロード格納ブロック(3)21cの格納アドレスを指し
示すことで、それぞれ後続の格納ブロックへの結合関係
を示し、かくして、ペイロード格納ブロックチェーンを
構成する。(以下、このようなリンクポインタによる結
合関係を「“論理的につながれている”」と表現す
る。)
【0051】空き格納ブロックチェーン15も又、同様
の構成で空き格納ブロックチェーンを構成している。V
C1ペイロードデータチェーン14aにおける、先頭ペ
イロード格納ブロックのVC1ペイロード格納ブロック
(1)21aの格納アドレスと、最終ペイロード格納ブ
ロックのVC1ペイロード格納ブロック(3)21cの
格納アドレスとは、それぞれ先頭格納アドレス22、最
終格納アドレス23として受信パラメータ格納部11内
に格納されている。また、VC1ペイロードデータチェ
ーン14a内のペイロード格納ブロック数も、格納セル
数24として受信パラメータ格納部11内に格納されて
いる。
【0052】空き格納ブロックチェーン15における先
頭空きペイロード格納ブロックの空きペイロード格納ブ
ロック(1)31aの格納アドレスと、最終空きペイロ
ード格納ブロックの空きペイロード格納ブロック(4)
31dの格納アドレスとは、それぞれ、先頭空きブロッ
クアドレス32、最終空きブロックアドレス33として
受信バッファ管理部12内に格納されている。また、空
き格納ブロックチェーン15内における空きペイロード
格納ブロック数も、空きブロック数34として受信バッ
ファ管理部12内に格納されている。
【0053】VC1に対し、新たなセルが受信された
時、セル受信・分解制御部10は、受信バッファ管理部
12に対して、受信セルのペイロードを格納するように
要求する。これを受けて、受信バッファ管理部12は、
新たなペイロード格納ブロックを空き格納ブロックチェ
ーン15の先頭から1つ切り出し、ここにペイロードを
格納し、さらに、このペイロード格納ブロックをVC1
ペイロードデータチェーン14aの最後尾に論理的に結
合する。
【0054】具体的には、受信バッファ管理部12が、
先頭空きブロックアドレス32を、先頭空きブロックア
ドレス32が指し示す空きペイロード格納ブロック
(1)31aのリンクポインタで書き換える。これによ
り、空きペイロード格納ブロック(1)31aは、空き
格納ブロックチェーン15から切り離される。新たな受
信セルのペイロードは、この空きペイロード格納ブロッ
ク(1)31aに格納される。
【0055】さらに、受信バッファ管理部12は、書き
換えられる以前の先頭空きブロックアドレス32でもっ
て、VC1ペイロードデータチェーン14aにおける最
終ペイロード格納ブロックのVC1ペイロード格納ブロ
ック(3)21cのリンクポインタを書き換える。この
ため、先頭空きブロックアドレス32の書き換えられる
以前の値を受信バッファ管理部12内で一時記憶してお
く。
【0056】かくして、空きペイロード格納ブロック
(1)31aは、空き格納ブロックチェーン15の先頭
から切り出され、VC1ペイロードデータチェーン14
aの最後尾に論理的に結合される。
【0057】受信ペイロードバッファ13に、VC1の
ペイロードが全く格納されていない時、VC1ペイロー
ドデータチェーン14aに相当するものは存在せず、受
信バッファ管理部12は、受信セルのペイロードを格納
し、さらにVC1に対する新たなペイロード格納ブロッ
クチェーンを生成する。
【0058】受信バッファ管理部12は、まず、上記の
ように、空き格納ブロックチェーン15から空きペイロ
ード格納ブロックを切り出し、ここに新たな受信セルの
ペイロードを格納する。
【0059】そして、このペイロードの格納された空き
ペイロード格納ブロックの格納アドレスを、セル受信・
分解制御部10に通知し、セル受信・分解制御部10
は、これを、先頭格納アドレス22、最終格納アドレス
23に書き込み、格納セル数24を1とする。
【0060】かくして、新たなペイロードが格納された
格納ブロックは、VC1のペイロード格納ブロックチェ
ーンの先頭格納ブロックとして認識され、新たなペイロ
ード格納ブロックチェーンが生成される。
【0061】セル受信・分解部6は、セル受信・分解制
御部10がホストバスインターフェイス部8に対して発
行したDMA転送命令(以下、「DMA転送コマンド」
と称する)を、一時的に格納するDMAコマンドFIF
O16を備えている。
【0062】VC1に対し、受信ペイロードの格納が終
了すると、セル受信・分解制御部10は、ある条件に該
当する時、受信ペイロードバッファ13内に格納された
ペイロードをホストバスインターフェイス部8にDMA
転送するよう要求するため、DMAコマンドを発行す
る。
【0063】このDMA転送コマンド発行のため、受信
パラメータ格納部11は、図4の、受信パラメータ格納
部11の内容構成を示した模式図のとおり、以下の情報
を格納している。 (1) ペイロードのDMA転送先を示すDMA転送先
アドレス51、(2) ペイロードのDMA転送先にお
ける連続アドレス空間の残り容量を示すDMA転送先バ
ッファ容量52、(3) 一度のDMA転送サイクルで
転送させるペイロード数を制限する閾値としての最大連
続転送セル数53。これらに加え、すでに上記した、
(4) 先頭格納アドレス22、(5) 最終格納アド
レス23、(6) 格納セル数24、も、受信パラメー
タ格納部11に格納されているが、これらの格納情報は
1つのVCに対して記したものであり、他の全VCに対
しても、これらと同様の情報が受信パラメータ格納部1
1内に格納されている。
【0064】セル受信・分解制御部10が、DMA転送
コマンドの発行を行う条件、すなわち、本実施の形態に
おけるDMA転送コマンド発行基準とは、以下に示すよ
うなものである。 (1) 受信パケットの最終セルが受信された時、
(2) これ以上、セルを受信すると格納されたすべて
のペイロードを、1回のDMA転送サイクルで、ホスト
メモリ3に転送できない時、すなわち、格納セル数24
に1を加算したセル数分のペイロードのデータ容量が、
DMA転送先バッファ容量52を超える時、(3) ペ
イロードバッファ13内の格納ペイロードの格納セル数
24が、最大連続転送セル数53に達した時。以上の条
件のいずれか一つに当てはまるとき、発行されるDMA
転送コマンドは、図5の、DMA転送コマンドの内容構
成の模式図に示したような情報を含んでいる。
【0065】セル受信・分解制御部10は、DMA転送
先アドレス51、先頭格納アドレス22、格納セル数2
4の各情報を、それぞれ、DMA転送先アドレス61、
先頭格納アドレス62、転送セル数63に格納して、D
MA転送コマンドとする。
【0066】セル受信・分解制御部10は、DMA転送
コマンドを、DMAコマンドFIFO16に格納する。
ホストバスインターフェイス部8は、このDMA転送コ
マンドを、DMAコマンドFIFO16の先頭から読み
出し、先頭格納アドレス62で示されたペイロード格納
ブロックを先頭とするペイロード格納ブロックチェーン
から、転送セル数63で与えられるセル数分のペイロー
ドを読み出して、DMA転送先アドレス61で示される
ホストメモリ3内の領域に、1回のDMA転送サイクル
で、ペイロードデータを転送する。
【0067】この時、ホストバスインターフェイス部8
は、先頭格納アドレス62で示されるペイロード格納ブ
ロックのリンクポインタから、次につながれたペイロー
ド格納ブロックのアドレスを知る。上記した一連の処理
を繰り返して、ペイロード格納ブロックチェーン内の全
ペイロード格納ブロックの格納アドレスを、DMA転送
に先立って確認しておき、ペイロードの読み出しの際に
使用する。
【0068】ペイロードが読み出されたペイロード格納
ブロックチェーンは、空き格納ブロックチェーンに戻さ
れる。
【0069】今、図2に示すVC1ペイロードデータチ
ェーン14aが、空き格納ブロックチェーンに戻された
とする。この場合、VC1ペイロードデータチェーン1
4aは、空き格納ブロックチェーン15の最後尾に連結
されることで、空き格納ブロックチェーンに戻される。
【0070】このため、ホストバスインターフェイス部
8は、転送セル数63を受信バッファ管理部12に通知
する。また、VC1ペイロードデータチェーン14aの
最後尾であるVC1ペイロード格納ブロック(3)21
cの格納アドレスも、受信バッファ管理部12に通知す
る。
【0071】受信バッファ管理部12は、最終空きブロ
ックアドレス33の指す、空きペイロード格納ブロック
(4)31dのリンクポインタを、先頭格納アドレス6
2で書き換え、最終空きブロックアドレス33を、VC
1ペイロード格納ブロック(3)21cの格納アドレス
でもって書き換える。そして、空きブロック数34を転
送セル数63だけ加算する。
【0072】空きブロック数34が0で、空き格納ブロ
ックチェーン15に相当するものが存在していない時
は、先頭格納アドレス62でもって先頭空きブロックア
ドレス32を、VC1ペイロード格納ブロック(3)2
1cの格納アドレスでもって最終空きブロックアドレス
33を、転送セル数63でもって空きブロック数34
を、それぞれ書き換え、VC1ペイロードデータチェー
ン14aを空き格納ブロックチェーンとして置き換え
る。
【0073】図6は、本発明の第1の実施の形態に係る
ATMセル組立・分解装置の受信動作を示すフローチャ
ートである。以下、図1〜図5を参照しつつ、図6を用
いて、本発明の第1の実施の形態に係るATMセル組立
・分解装置の受信動作を説明する。
【0074】まず、物理層デバイスインターフェイス部
9により受信された受信セルは、セル受信・分解制御部
10でチャンネル識別子VPI/VCIが確認され、当
該ATMセル組立・分解装置において受信すべきか否か
が判断される。
【0075】ここで、受信されたセルがVC1に属して
いて、VC1を受信すると判断されたものとして、以降
の動作を説明する。セル受信・分解制御部10は、この
際、チャンネル識別子VPI/VCIからVC1に係わ
る受信パラメータの受信パラメータ格納部内における格
納アドレスを割り出す。この目的のためには、VCと上
記パラメータ格納アドレスとの対応テーブルを持てばよ
い。
【0076】かくして得られたパラメータ格納アドレス
を基に、ステップS1では、セル受信・分解制御部10
が、以降の受信処理のために受信パラメータ格納部11
からVC1の受信パラメータを読み込み、セル受信・分
解制御部10の内部に一時格納する。
【0077】ステップS2では、セル受信・分解制御部
10が、53バイトの受信セルを5バイトのヘッダと4
8バイトのペイロードとに分解する。セル受信・分解制
御部10は、受信バッファ管理部12に対し、分解され
た受信セルのペイロードを、受信ペイロードバッファ1
3に一時的に格納するよう要求する。この時、格納セル
数24も通知しておく。
【0078】ステップS3では、これを受けて、受信バ
ッファ管理部12が、空き格納ブロックチェーン15の
先頭空き格納ブロックにペイロードを格納し、ステップ
S4では、VC1に対するペイロード格納ブロックチェ
ーンを構成する。
【0079】図7は、本発明の第1の実施の形態におけ
るペイロード格納動作(ステップS3およびステップS
4の動作)の詳細を示すフローチャートである。以下、
図7を用いて、本発明の第1の実施の形態に係るペイロ
ード格納動作を説明する。ここで、受信ペイロードバッ
ファ13は、図2のようにVC1のペイロードを3セル
分格納しているものとする。
【0080】ステップS21では、受信バッファ管理部
12が、セル受信・分解制御部10よりペイロードを格
納する旨を通知されると、受信バッファ管理部12内に
格納されている先頭空きブロックアドレス32で示され
る空きペイロード格納ブロック(1)31aを新たなペ
イロードの格納領域として使用するため、先頭空きブロ
ックアドレス32を内部に一時記憶する。
【0081】ステップS22では、空きペイロード格納
ブロック(1)31aのリンクポインタで、先頭空きブ
ロックアドレス32の内容を書き換える。かくして新た
なペイロードを格納する空き格納ブロックが、空き格納
ブロックチェーン15より切り出され、ここに、書き込
まれる。ステップS23では、受信バッファ管理部12
が、受信された新たなペイロードを格納する。
【0082】ステップS24では、受信バッファ管理部
12が、格納セル数24を読込み、ステップS25で
は、該格納セル数24により、受信ペイロードバッファ
13内のVC1のペイロード数を確認する。格納ペイロ
ード数が0でVC1に対し、VC1ペイロードデータチ
ェーン14aに相当するものが存在してないならば、新
たにペイロード格納ブロックチェーンを作成するためス
テップS26に進み、格納セル数が0以上でVC1に対
し、VC1ペイロードデータチェーン14aが存在して
いたならば、受信されたペイロードを格納している上記
の空きペイロード格納ブロック(1)31aを、VC1
ペイローデータチェーン14aの最後尾に連結するた
め、ステップS27に進む。VC1ペイローデータチェ
ーン14aが既に存在し、既に3セル分のペイロードが
格納されているような場合、処理はステップS25から
ステップS27に進む。この時、ステップS27では、
受信バッファ管理部12が、最終格納アドレス23を読
み込み、VC1ペイロード格納ブロック(3)21cの
リンクポインタの格納アドレスを算出する。
【0083】ステップS28では、上記ポインタを、空
きペイロード格納ブロック(1)31aの格納アドレス
で書き換える。
【0084】ステップS29では、空きペイロード格納
ブロック(1)31aのリンクポインタで、最終格納ア
ドレス23を書き換えるようセル受信・分解制御部10
に通知し、セル受信・分解制御部10はこれを実行す
る。さらに、受信バッファ管理部12は、ペイロードの
格納及びペイロード格納ブロックチェーンが構成された
ことを、セル受信・分解制御部10に通知する。
【0085】ステップS30では、セル受信・分解制御
部10が、格納セル数24を1だけ加算して更新する。
かくして、受信ペイロードは、受信ペイロードバッファ
13内のVC1のペイロード格納ブロックチェーンに格
納される。
【0086】格納セル数24が0で、VC1ペイローデ
ータチェーン14aに相当するものが存在せず、ステッ
プS25からステップS26に処理が進んだ場合、ステ
ップS26では、受信バッファ管理部12が、先頭格納
アドレス22に空きペイロード格納ブロック(1)31
aの格納アドレスを書き込むよう、セル受信・分解制御
部10に通知し、セル受信・分解制御部10はこれを実
行する。
【0087】この後、処理フローは、ステップS29、
ステップS30に進み、最終格納アドレス23と、格納
セル数24が更新される。かくして、受信ペイロード
は、受信ペイロードバッファ13に格納され、VC1の
ペイロード格納ブロックチェーンが新たに生成される。
【0088】以下では、再び図6を参照して、ステップ
S5以降の動作を説明する。ステップS5では、受信さ
れたセルのペイロードが受信ペイロードバッファ13に
格納されると、セル受信・分解制御部10が、当該セル
が受信パケットの最終セルか否かを判断し、最終セルで
あった場合、現在の受信ペイロードバッファ13内に格
納されているVC1に属するペイロードをまとめてDM
A転送するためのDMA転送コマンドを発行するため
に、処理をステップS8に進ませる。
【0089】ステップS5で最終セルと判断されなかっ
た場合、ステップS6では、受信・分解制御部10が、
現在の受信ペイロードバッファ13内に格納されている
VC1に属するペイロードに加え、新たに受信セルを受
信し、そのペイロードを格納したとしても、すべてのペ
イロードをホストメモリ3内の連続アドレス領域に一回
のDMA転送サイクルで転送できるか否かを判断する。
これは格納セル数24に1加算したセル数分のペイロー
ドがホストメモリ3内で格納されるときに必要なバッフ
ァ容量を算出し、DMA転送先バッファ容量52と比較
することにより行う。ここで、ペイロード格納のための
容量が、DMA転送先バッファ容量52より大きい場
合、新たな受信セルのペイロードまで含めて一回のDM
A転送で転送することは不可能と判断して、現在の受信
ペイロードバッファ13内に格納されているVC1に属
するペイロードのみを、まとめて一回のDMA転送サイ
クルで転送させるため、処理をステップS8に進ませ
る。
【0090】まだ、DMA転送先バッファ容量52に余
裕があり、新たな受信セルのペイロードまで含めてDM
A転送可能と判断した場合、ステップS7では、受信・
分解制御部10が、受信パラメータ格納部11内の最大
連続転送セル数53を確認し、格納セル数24と比較す
る。格納セル数24が、最大連続転送セル数53に達し
ていた場合、現在の受信ペイロードバッファ13内に格
納されているVC1に属するペイロードを、一回のDM
AサイクルでDMA転送させるため、処理をステップS
8に進ませる。そうでない場合、ステップS8を実行せ
ず、ペイロードの格納のみを行った状態でセル受信処理
を終了させる。
【0091】ステップS5、ステップS6、ステップS
7でDMA転送すると判断した場合には、受信・分解制
御部10は、受信パラメータ格納部11内のDMA転送
先アドレス51と、先頭格納アドレス22と、格納セル
数24とをそれぞれ、図5に示すDMA転送コマンドの
DMA転送先アドレス61と、先頭格納アドレス62
と、転送セル数63とに書き込み、DMA転送コマンド
を発行して、DMAコマンドFIFO16に格納する。
そして、格納セル数24を0に戻し、次回のDMA転送
コマンド発行の準備として、DMA転送先アドレス51
を更新する。この場合、ペイロードの格納と、DMA転
送コマンドの発行とを行った状態で受信処理が終了す
る。
【0092】図8は、本発明の第1の実施の形態に係る
ATMセル組立・分解装置のDMA転送動作を示すフロ
ーチャートである。以下、図8を用いて、本発明の第1
の実施の形態に係るATMセル組立・分解装置のDMA
転送動作を詳細に説明する。
【0093】ステップS41では、ホストバスインター
フェイス部8が、DMAコマンドFIFO16にDMA
転送コマンドが格納されているとき、これを1つ読み出
す。そして、ステップS42では、DMA転送コマンド
内の先頭格納アドレス62と、転送セル数63により、
DMA転送すべきペイロードが格納された各ペイロード
格納ブロックの受信ペイロードバッファ13における格
納アドレスを読み出す。例えば、先頭格納アドレス62
が、図2に示すVC1ペイロードデータチェーン14a
のVC1ペイロード格納ブロック(1)21aを指し示
していたとする。この場合、まず、VC1ペイロード格
納ブロック(1)21aのリンクポインタを読み出し、
このリンクポインタから、VC1ペイロード格納ブロッ
ク(2)21bの格納アドレスを得る。以降、同様にし
てリンクポインタを辿りながら、後続のペイロード格納
ブロックのアドレスを取得してゆき、転送セル数63で
示される数のペイロード格納ブロックのアドレスをすべ
て取得して、ホストバスインターフェイス部8内に一時
記憶する。
【0094】上記ステップS42の処理が終了すると、
ステップS43では、ホストバスインターフェイス部8
が、DMA転送コマンドのDMA転送先アドレス61で
示されるホストメモリ3内の領域へのDMA転送を開始
する。DMA転送されるペイロードは、ステップS42
で得た格納アドレスによって指し示されるペイロード格
納ブロックより順次読み出され、複数セル分のペイロー
ドが1回のDMA転送サイクルで、すべてホストメモリ
3へ転送される。
【0095】DMA転送が終了すると、ステップS44
では、ペイロードが読み出されたペイロード格納ブロッ
クが、空きペイロード格納ブロックとして、空きペイロ
ード格納ブロックチェーン15に返却される。まず、ホ
ストバスインターフェイス部8は、先頭格納アドレス6
2と、転送セル数63と、最後にペイロードが読み出さ
れたVC1ペイロード格納ブロック(3)21cのアド
レスとを、受信バッファ管理部12に通知する。
【0096】これを受けて、ステップS45では、受信
バッファ管理部12が、最終空きブロックアドレス33
で示された空きペイロード格納ブロック(4)31dの
リンクポインタを先頭格納アドレス62でもって書き換
え、VC1ペイロードデータチェーン14aを、空きペ
イロード格納ブロックチェーン15に連結する。この
時、空きブロック数34が0で、空きペイロード格納ブ
ロックチェーン15に相当するものが存在していなけれ
ば、先頭空きブロックアドレス32も、先頭格納アドレ
ス62でもって書き換える。
【0097】そして、ステップS46では、受信バッフ
ァ管理部12が、最終空きブロックアドレス33をVC
1ペイロード格納ブロック(3)21cのアドレスでも
って書き換える。
【0098】さらに、ステップS47では、受信バッフ
ァ管理部12が、空きブロック数34の値を、転送セル
数63だけ加算して書き換える。以上の処理を通して、
空きペイロード格納ブロックは、空きペイロード格納ブ
ロックチェーン15に返却され、DMA転送の処理が終
了し、ホストバスインターフェイス部8は、次のDMA
転送コマンドで要求されるDMA転送処理のステップに
移る。
【0099】以上に説明してきた本発明の第1の実施の
形態に係るATMセル組立・分解装置の受信動作、DM
A転送動作を纏めると、受信ペイロードをVC毎に格納
し、(1) ステップS5で、当該VCの最終セルが受
信された時、(2) ステップS6で、当該VCの次の
受信セルのペイロードまで含めると1回のDMA転送サ
イクルですべてホストメモリ3に転送できない時、
(3) ステップS7で、ペイロードバッファ13内の
格納ペイロード格納セル数24が、最大連続転送セル数
53に達した時、のいずれかの場合には、DMA転送コ
マンドを発行し、このDMA転送コマンドに従い、これ
が発行された時点で、ペイロードバッファ13内に格納
されていた、当該VCのペイロードを、1回のDMA転
送サイクルでホストメモリ3に転送する。
【0100】なお、具体的に、受信ペイロードバッファ
13内に格納されている5セル分のペイロードに対しD
MA転送要求が発生し、ホストバス4にPCIバスイン
ターフェイスを用いてDMA転送させた場合で説明する
と、1回のDMA転送サイクルで、1セル分のペイロー
ドしか転送できない従来例において、5セル分のペイロ
ードをDMA転送にするために必要な時間は、 (オーバーヘッド+データフェイズ)×5=(3+1
2)×5=75 となり、全部で75クロック分の時間が必要であるのに
対し、本発明の第1の実施の形態においては、複数セル
分のペイロードを1回のDMAサイクルで転送できるた
め、5セル分のペイロードをDMA転送にするために必
要な時間は、 (オーバーヘッド+データフェイズ)×1=(3+6
0)×1=63 となり、4回分のオーバーヘッドを削減して、63クロ
ック分の時間でDMA転送でき、従来例に対し、ホスト
バス上の転送効率が向上していることが分かる。
【0101】さらに、ATM通信のサービスクラスの一
種であるCBRサービスにより通信を行っているVCな
どに対し、1セル受信したならば、すぐさまDMA転送
を行いたいなどの要求がある場合には、当該VCの最大
連続転送セル数53を1とし、その他のVCに対して
は、最大連続転送セル数53を5とするなどして、CB
Rサービスに対しては1セルごとにDMA転送すること
にするが、その他については5セル分が格納されるまで
待って、転送効率の高いDMA転送方式を使用すること
にする、などの使い分けも可能である。
【0102】(第2の実施の形態)図9は、本発明の第
2の実施の形態に係るATMセル組立・分解装置の構成
を示すためのブロック図である。本実施の形態に係るA
TMセル組立・分解装置では、図1に示した本発明の第
1の実施の形態に係るATMセル組立・分解装置の構成
に加えて、DMA転送要求数カウンタ71を構成要素と
して追加している。DMA転送要求数カウンタ71は、
現在のDMAコマンドFIFO16内に格納されている
DMA転送コマンドが、全体で何セル分のDMAを要求
しているかを格納する。
【0103】DMA転送要求数カウンタ71は、例え
ば、DMAコマンドFIFO16にDMA転送コマンド
が格納された時に、格納されたDMA転送コマンドの転
送セル数63のセル数だけカウントアップされ、ホスト
バスインターフェイス8が1セル分ペイロードをDMA
転送した時に、1だけカウントダウンされるような構造
にすることができる。
【0104】以下、本発明の第1の実施の形態に係るA
TMセル組立・分解装置を検討することにより、本発明
の第2の実施の形態に係るATMセル組立・分解装置が
考案されるに至った経緯を説明する。
【0105】本発明の第1の実施の形態に係るATMセ
ル組立・分解装置において、ホストバス4が空いてい
て、DMA転送要求があった時には、いつでもDMA転
送できて、なおかつ、1セル受信する間に1セル分のペ
イロードをDMA転送できるような条件下で、受信ペイ
ロードバッファ13内にまったくペイロードが格納され
ておらず、なおかつ、10セル分受信しなければDMA
転送が開始されないといった極端な条件下では、ある1
つのVCに対し受信を開始してから、10セル分のペイ
ロードのDMA転送を終了するまでにかかる時間は、2
0セル受信するのに必要な時間となる。
【0106】一方、1セル受信して、1セル分のペイロ
ードを直ちに出す従来例の場合は、DMA転送効率の悪
さを考慮して、仮に1セル分のペイロードをDMA転送
するのに上記の1.5倍かかるとしても、受信を開始し
てから16セル受信するのに必要なだけの時間があれば
DMA転送できてしまう。
【0107】このようにホストバス4が空いていて、な
おかつペイロードが本発明の第1の実施の形態に係るA
TMセル組立・分解装置において、DMA転送するに必
要な数に至らないような条件が発生した場合、本発明の
第1の実施の形態に係るATMセル組立・分解装置は、
従来例よりも一時的にスループットが低下する可能性が
生じる。
【0108】ただし、本発明の第1の実施の形態に係る
ATMセル組立・分解装置おいても、ホストバス4が混
んでいて、DMA転送処理がセル受信に追いつかず、常
にDMAコマンドFIFO16中にDMA転送コマンド
があるような場合には、先に格納されたペイロードに対
するDMA転送処理を行っている間に、セルを受信し、
DMA転送コマンドを発行できるだけのペイロードを受
信ペイロードバッファ13内に格納することができるた
め、DMAコマンドFIFO16内のコマンドを絶やす
ことなく補充でき、一瞬、ホストバス4が空いたにも関
わらずDMA転送ができないといった事態にはならず、
上記のような一時的なスループットの低下は生じない。
そればかりか、複数セルを1回のDMAサイクルで転送
することにより、DMA転送効率が従来例より向上する
ため、従来例よりもスループットは改善される。
【0109】本発明の第1の実施の形態に係るATMセ
ル組立・分解装置において、一時的なスループットの低
下を招かないようにするためには、DMAコマンドFI
FO16内に或る程度のDMA転送コマンドを常に格納
しているようにすればよい。本発明の第2の実施の形態
に係るATMセル組立・分解装置は、上記のような第1
の実施の形態に係るATMセル組立・分解装置の問題点
に着目して、これを改善すべく考案されたものである。
【0110】図10は、本発明の第2の実施の形態に係
るATMセル組立・分解装置の受信パラメータ格納部1
1の内部構成を示す模式図である。本発明の第2の実施
の形態に係るATMセル組立・分解装置の受信パラメー
タ格納部11は、図4に示した本発明の第1の実施の形
態に係るATMセル組立・分解装置の受信パラメータ格
納部11の内部構成に加え、強制転送閾値を格納する強
制転送閾値75のフィールドを設けている。本実施の形
態に係る受信パラメータ格納部11の内部構成要素も
又、1つのVCに対して記したものであり、他の全VC
に対しても、該構成と同様の各フィールドに、それぞれ
同様の情報が格納される。セル受信・分解制御部10
は、上記のDMA転送要求数カウンタ71と強制転送閾
値75とを比較し、DMA転送要求数カウンタ71で示
される、現在のDMA転送待ちセル数が、強制転送閾値
75より少なければ、第一の実施の形態におけるDMA
転送コマンド発行の判断基準に満たなくても、強制的に
DMA転送コマンドを発行する。
【0111】図11は、本発明の第2の実施の形態に係
るATMセル組立・分解装置の受信動作を示すためのフ
ローチャートである。本発明の第2の実施の形態に係る
ATMセル組立・分解装置の受信動作では、図6に示し
た本発明の第1の実施の形態に係るATMセル組立・分
解装置の受信動作に比べて、DMA転送要求が少ない時
に、受信ペイロードバッファ13で溜まっているペイロ
ードを強制的にDMA転送させるための動作が加わって
いる点が相違している。
【0112】ステップS4までは、本発明の第1の実施
の形態に係るATMセル組立・分解装置の受信動作と同
様である。ステップS4でペイロードチェーン構成が終
了した後、セル受信・分解制御部10は、DMA転送要
求数カウンタ71と強制転送閾値75とを比較し、DM
A転送要求数カウンタ71で示される、現在のDMA転
送待ちセル数が、強制転送閾値75より少なければ、本
発明の第1の実施の形態に係るATMセル組立・分解装
置の受信動作におけるDMA転送コマンド発行の判断基
準に満たなくても、強制的にDMA転送コマンドを発行
するため、ステップS8でのDMA転送コマンド発行へ
と処理を進めることができる。
【0113】そうでない場合は、ステップS5の最終セ
ル判断処理に進み、以降は、本発明の第1の実施の形態
に係るATMセル組立・分解装置の受信動作と同様とな
る。本実施の形態では、ペイロードがあまり格納されて
おらず、DMAコマンドFIFO16へのDMA転送コ
マンドが少ない時には、極端な例では、1セル分のペイ
ロードを格納する度に、DMA転送コマンドを発行する
ことが可能となり、従来例と同程度のスループットを確
保できる。
【0114】また、受信VC数が増えてきたり、ホスト
バス4が混んできて、DMA転送コマンドを発行しても
直ぐにはDMA転送が開始されないような場合には、1
つのVCに対してペイロードを複数格納することによ
り、第1の実施の形態における効果のように、1回のD
MAサイクルで複数セル分のペイロードをDMA転送す
ることもできるため、効率よくDMA転送ができ、この
場合でも、従来例よりもスループットを改善することが
可能となる。
【0115】さらに、本実施の形態においては、ホスト
バス4がすぐに使用でき、DMA転送すべきペイロード
が少ないという条件の下では、従来例と同様に、1回の
DMA転送サイクルで1セル分のペイロードがDMA転
送され、ホストバス4が混んできて、DMAできずにい
るペイロードが溜まってくると、第1の実施の形態のよ
うに転送効率の高い転送、すなわち1回のDMA転送サ
イクルで複数セル分のペイロードをDMA転送するとい
う使い方ができ、ホストバスの転送効率を向上させる第
1の実施の形態での効果に加え、従来例に比べて、全V
CのペイロードをDMA転送するために必要な時間も削
減できるため、ATMセル組立・分解装置全体でのスル
ープットを向上させるという効果も有する。
【0116】なお、本実施の形態においては、ABRサ
ービスなど、リアルタイム性がそれほど要求されないよ
うなVCに対しては強制転送閾値75を例えば1にする
など小さく設定し、DMA転送するペイロードが殆ど無
い時にのみ、強制転送閾値75を考慮したDMA転送コ
マンド発行を行い、その他の場合については強制転送閾
値75を1より大きい値にして、優先的に強制転送閾値
75を考慮したDMA転送コマンド発行を行うなどの使
い分けをすることも可能である。
【0117】
【発明の効果】以上に説明したとおり、本発明に係るA
TMセル組立・分解装置に依れば、複数セル分のペイロ
ードを1回のDMAサイクルでホストメモリに転送する
ことを可能にしているので、これにより、DMA転送に
関わるオーバーヘッドを削減できるため、ホストバス上
の転送効率が向上するという効果が生じる。また、ホス
トバスがすぐに使用でき、DMA転送すべきペイロード
が少ないという条件の下では、従来例と同様に、1回の
DMA転送サイクルで1セル分のペイロードがDMA転
送され、ホストバスが混んできて、DMAできずにいる
ペイロードが溜まってくると、転送効率の高い転送、す
なわち1回のDMA転送サイクルで複数セル分のペイロ
ードをDMA転送するという使い方ができ、ホストバス
の転送効率を向上させる上記効果に加え、従来例に比べ
て、全VCのペイロードをDMA転送するために必要な
時間も削減できるため、ATMセル組立・分解装置全体
でのスループットを向上させるという効果も有する。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態に係るATMセル組
立・分解装置の構造を示すためのブロック図である。
【図2】本発明の第1の実施の形態に係る受信ペイロー
ドバッファ13の構成を示すブロック図である。
【図3】受信ペイロードバッファ13内に設置されるペ
イロード格納ブロックの構成を示すブロック図である。
【図4】受信パラメータ格納部11の内容構成を示した
模式図である。
【図5】DMA転送コマンドの内容構成の模式図であ
る。
【図6】本発明の第1の実施の形態に係るATMセル組
立・分解装置の受信動作を示すフローチャートである。
【図7】本発明の第1の実施の形態におけるペイロード
格納動作(ステップS3およびステップS4の動作)の
詳細を示すフローチャートである。
【図8】本発明の第1の実施の形態に係るATMセル組
立・分解装置のDMA転送動作を示すフローチャートで
ある。
【図9】本発明の第2の実施の形態に係るATMセル組
立・分解装置の構成を示すためのブロック図である。
【図10】本発明の第2の実施の形態に係るATMセル
組立・分解装置の受信パラメータ格納部11の内部構成
を示す模式図である。
【図11】本発明の第2の実施の形態に係るATMセル
組立・分解装置の受信動作を示すためのフローチャート
である。
【図12】従来例のATMセル組立・分解装置の構造を
示すためのブロック図である。
【図13】典型的なPCIバスインターフェイスの32
ビットバスのメモリ・ライト動作を示すタイミング図で
ある。
【符号の説明】
1 ATMセル組立・分解装置 2 ホストCPU 3 ホストメモリ 4 ホストバス 5 物理層デバイス 6 セル受信・分解部 7 セル組立・送信部 8 ホストバスインターフェイス部 9 物理層デバイスインターフェイス部 10 セル受信・分解制御部 11 受信パラメータ格納部 12 受信バッファ管理部 13 受信ペイロードバッファ 14a VC1ペイロードバッファ 14z VCnペイロードバッファ 15 空き格納ブロックチェーン 71 DMA転送要求数カウンタ

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】ATM網に接続されたATM端末に配置さ
    れ、物理層デバイスインターフェイス部と、セル受信・
    分解部と、ホストバスインターフェイス部と、セル組立
    ・送信部を備えたATMセル組立・分解装置において、 前記セル受信・分解部は、前記物理層デバイスインター
    フェイス部を介して受信したセルをヘッダとペイロード
    に分解し、前記分解により得られたペイロードを仮想チ
    ャンネル毎に第1の先入れ先出しメモリに蓄積するペイ
    ロード蓄積手段と、 所定の転送コマンド発行条件が満たされた時に、前記蓄
    積されたペイロードをダイレクトメモリアクセス転送さ
    せるためのダイレクトメモリアクセスコマンドを作成す
    るダイレクトメモリアクセスコマンド作成手段と、前記
    ダイレクトメモリアクセスコマンドを第2の先入れ先出
    しメモリに蓄積するダイレクトメモリアクセスコマンド
    蓄積手段を有し、 前記ホストバスインターフェイス部
    は、前記第2の先入れ先出しメモリに蓄積されたダイレ
    クトメモリアクセスコマンドを順次読み出し、当該読み
    出されたダイレクトメモリアクセスコマンドに従って前
    記第1の先入れ先出しメモリ内に蓄積されたペイロード
    を、前記バスホストインタフェース部に接続されたバス
    を介して外部メモリにダイレクトメモリアクセス転送す
    ること、 を特徴とするATMセル組立・分解装置。
  2. 【請求項2】前記の所定の転送コマンド発行条件とし
    て、 (1) 受信パケットの最終セルが受信された時、 (2) 受信セル数に1を加算したセル数分のペイロー
    ドのデータ容量が、所定のダイレクトメモリアクセス転
    送先バッファ容量を超える時、 (3) 前記第1の先入れ先出しメモリ内の格納ペイロ
    ードの格納セル数が、連続して転送可能な所定の最大転
    送可能セル数に達した時、のいずれか一つを指定したこ
    と、を特徴とする請求項1に記載のATMセル組立・分
    解装置。
  3. 【請求項3】前記第1の先入れ先出しメモリ内に、該バ
    ッファ内の領域を仮想チャンネル毎に管理するチェーン
    を設け、前記ペイロードを蓄積する仮想チャンネル毎の
    領域を、対応する仮想チャンネル毎の前記チェーンによ
    り論理的に結合したこと、 を特徴とする請求項1又は2に記載のATMセル組立・
    分解装置。
  4. 【請求項4】前記第1の先入れ先出しメモリ内に、空き
    ブロックの領域を設置し、新たなペイロードの格納に際
    しては、該空きブロックの領域からブロックを切り出し
    て当該新たなペイロードの格納領域として充当し、格納
    されたペイロードのダイレクトメモリアクセス転送が終
    了した時点では、当該格納されたペイロードが占めてい
    た領域を前記空きブロックの領域として解放すること、 を特徴とする請求項1乃至3のいずれか1項に記載のA
    TMセル組立・分解装置。
  5. 【請求項5】前記ダイレクトメモリアクセスコマンド作
    成手段は、ダイレクトメモリアクセスコマンドを作成す
    るために必要な情報として、少なくとも、 (1) ペイロードのダイレクトメモリアクセス転送先
    を示すダイレクトメモリアクセス転送先アドレス、 (2) ペイロードのダイレクトメモリアクセス転送先
    における連続アドレス空間の残り容量を示すダイレクト
    メモリアクセス転送先バッファ容量、 (3) 一度のダイレクトメモリアクセス転送サイクル
    で転送させるペイロード数の上限に対応する最大連続転
    送セル数、 (4) 第1の先入れ先出しメモリ内の先頭格納アドレ
    ス、 (5) 第1の先入れ先出しメモリ内の最終格納アドレ
    ス、 (6) 第1の先入れ先出しメモリ内に格納されたペイ
    ロードに対応するセルの個数、の内の任意の項目を記憶
    しておく手段を有すること、を特徴とする請求項1乃至
    4のいずれか1項に記載のATMセル組立・分解装置。
  6. 【請求項6】前記セル受信・分解部に、前記第2の先入
    れ先出しメモリ内に蓄積されたダイレクトメモリアクセ
    スコマンド全体に指定されたペイロード全体に対応した
    セル全体のセル数を計数する手段を設け、該セル数が所
    定の強制転送閾値より小さい時には、前記ダイレクトメ
    モリアクセスコマンドを発行すること、 を特徴とする請求項1乃至5のいずれか1項に記載のA
    TMセル組立・分解装置。
JP25364898A 1998-09-08 1998-09-08 Atm通信制御装置 Expired - Fee Related JP3186707B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25364898A JP3186707B2 (ja) 1998-09-08 1998-09-08 Atm通信制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25364898A JP3186707B2 (ja) 1998-09-08 1998-09-08 Atm通信制御装置

Publications (2)

Publication Number Publication Date
JP2000092066A true JP2000092066A (ja) 2000-03-31
JP3186707B2 JP3186707B2 (ja) 2001-07-11

Family

ID=17254257

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25364898A Expired - Fee Related JP3186707B2 (ja) 1998-09-08 1998-09-08 Atm通信制御装置

Country Status (1)

Country Link
JP (1) JP3186707B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009113353A1 (ja) * 2008-03-13 2009-09-17 日本電気株式会社 転送制御装置、多重化フレーム転送システム、転送制御方法、及び転送制御プログラム
US7613788B2 (en) 1999-05-26 2009-11-03 Juniper Networks, Inc. Apparatus and method for data transmission
US10489322B2 (en) 2018-03-13 2019-11-26 Fujitsu Limited Apparatus and method to improve performance in DMA transfer of data

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7613788B2 (en) 1999-05-26 2009-11-03 Juniper Networks, Inc. Apparatus and method for data transmission
US8352571B2 (en) 1999-05-26 2013-01-08 Juniper Networks, Inc. Apparatus and method for data transmission
WO2009113353A1 (ja) * 2008-03-13 2009-09-17 日本電気株式会社 転送制御装置、多重化フレーム転送システム、転送制御方法、及び転送制御プログラム
JPWO2009113353A1 (ja) * 2008-03-13 2011-07-21 日本電気株式会社 転送制御装置、多重化フレーム転送システム、転送制御方法、及び転送制御プログラム
US10489322B2 (en) 2018-03-13 2019-11-26 Fujitsu Limited Apparatus and method to improve performance in DMA transfer of data

Also Published As

Publication number Publication date
JP3186707B2 (ja) 2001-07-11

Similar Documents

Publication Publication Date Title
EP0942621B1 (en) Multiprocessing system and method for assembly of asynchronous transfer mode cells
EP0752802B1 (en) An apparatus and method for packetizing and segmenting MPEG packets
US5633870A (en) Method and apparatus for controlling data flow through an ATM interface
US5140587A (en) Broadband ring communication system and access control method
US6021129A (en) System and method for communicating information from a communications link to a host using a universal serial bus
US5375121A (en) ATM cell assembling and disassembling system and method
CA2247341C (en) Asynchronous data pipe for automatically managing asynchronous data transfers between an application and a bus structure
US6414961B1 (en) ATM switching with virtual circuit FIFO buffers
JPH0761077B2 (ja) 通信システムのアクセスを調整する方法及び装置
JPH07321822A (ja) マルチキャスティング機能を備えた装置
EP0451426B1 (en) Multiple-access control for a communication system with order pad passing
JPH06132974A (ja) パケット・ディスアセンブル用バッファ
JP2001223704A (ja) パケット転送装置
JPH07307738A (ja) プロトコル処理装置
WO1991004623A1 (fr) Systeme d'acces multiple pour un reseau de communications
US6714562B1 (en) Method and apparatus for segmenting network traffic variable length frames
US5680401A (en) Method and apparatus for asynchronously segmenting packets of multiple channels into ATM cells
JP3784195B2 (ja) データパケット交換機
JP3186707B2 (ja) Atm通信制御装置
US7099335B2 (en) Communication control apparatus
JPH07221762A (ja) パケット処理方法および通信インターフェイス装置
JPH11234306A (ja) データ転送装置
US6192033B1 (en) Method and system for using resource management cells in an ATM network
JP2863243B2 (ja) セル組立装置
US6636479B1 (en) Communication unit having packet multiplexing function

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: 20010410

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090511

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090511

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100511

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100511

Year of fee payment: 9

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100511

Year of fee payment: 9

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110511

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120511

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120511

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130511

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140511

Year of fee payment: 13

LAPS Cancellation because of no payment of annual fees