JP2001077832A - Protocol processing device and ATM cell storage method - Google Patents

Protocol processing device and ATM cell storage method

Info

Publication number
JP2001077832A
JP2001077832A JP2000194730A JP2000194730A JP2001077832A JP 2001077832 A JP2001077832 A JP 2001077832A JP 2000194730 A JP2000194730 A JP 2000194730A JP 2000194730 A JP2000194730 A JP 2000194730A JP 2001077832 A JP2001077832 A JP 2001077832A
Authority
JP
Japan
Prior art keywords
atm
atm cell
cell
upper header
cells
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.)
Pending
Application number
JP2000194730A
Other languages
Japanese (ja)
Inventor
Yasunori Samejima
康則 鮫島
Tomoo Fukazawa
友雄 深沢
Mitsuo Teramoto
光生 寺元
Kazuyoshi Matsuhiro
一良 松広
Toshiaki Miyazaki
敏明 宮崎
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.)
NTT Inc
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2000194730A priority Critical patent/JP2001077832A/en
Publication of JP2001077832A publication Critical patent/JP2001077832A/en
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

(57)【要約】 【課題】 本発明はVC多重されたATMセルを伝送す
るネットワークの中継などを行う場合に装置全体の処理
速度を改善するとともにメモリに使用効率を改善可能な
プロトコル処理装置及びATMセル格納方法を提供する
ことを目的とする。 【解決手段】 ATMフレーマ110及びVC分離モジ
ュール130を備える通信信号入出力手段100とAT
Mセル格納メモリ201及びATMセル情報抽出モジュ
ール202を備えるATMセル処理手段200と上位ヘ
ッダ格納メモリ301及び上位ヘッダ情報抽出モジュー
ル302を備える上位ヘッダ処理手段300とを直列に
並べて接続し前記通信信号入出力手段100,ATMセ
ル処理手段200,上位ヘッダ処理手段300にそれぞ
れ独立して動作する制御手段を設けたことを特徴とする
プロトコル処理装置。
PROBLEM TO BE SOLVED: To provide a protocol processing apparatus capable of improving the processing speed of the entire apparatus and improving the use efficiency of a memory when relaying a network for transmitting VC-multiplexed ATM cells, and the like. An object of the present invention is to provide an ATM cell storage method. SOLUTION: A communication signal input / output means 100 having an ATM framer 110 and a VC separation module 130 and an AT
An ATM cell processing means 200 having an M cell storage memory 201 and an ATM cell information extraction module 202 and an upper header processing means 300 having an upper header storage memory 301 and an upper header information extraction module 302 are connected in series and connected to receive the communication signal. A protocol processing device, wherein the output means 100, the ATM cell processing means 200, and the upper header processing means 300 are provided with control means which operate independently.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、ATM(非同期転
送モード)セルを伝送するネットワークの中継などに利
用されるシステムに利用可能なプロトコル処理装置及び
ATMセル格納方法に関する。
[0001] 1. Field of the Invention [0002] The present invention relates to a protocol processing apparatus and an ATM cell storage method that can be used in a system used for relaying a network for transmitting ATM (Asynchronous Transfer Mode) cells.

【0002】[0002]

【従来の技術】ATMセルを伝送するネットワークの中
継に用いられる装置の従来技術としては、例えば特開平
9−98189号公報や特開平11−4226号公報が
知られている。特開平9−98189号公報において
は、パケットの先頭セルからネットワーク層のプロトコ
ルヘッダを抽出し、1つのパケットの全てのセルが到着
する前にそのパケットのルーティングに必要な情報を抽
出することを提案している。
2. Description of the Related Art As a prior art of a device used for relaying a network for transmitting ATM cells, for example, JP-A-9-98189 and JP-A-11-4226 are known. Japanese Patent Laid-Open No. 9-98189 proposes extracting a network layer protocol header from the first cell of a packet and extracting information necessary for routing the packet before all cells of one packet arrive. are doing.

【0003】また、特開平11−4226号公報におい
ては、AALレイヤの処理モジュールを複数設けてその
処理を並列化することを提案している。
Japanese Patent Application Laid-Open No. H11-4226 proposes providing a plurality of AAL layer processing modules and parallelizing the processing.

【0004】[0004]

【発明が解決しようとする課題】しかしながら、特開平
9−98189号公報のように単一のプロセッサを用い
て処理する場合には、全てのレイヤの処理を順番に行う
ことになるので、装置全体の処理速度の改善は期待でき
ない。
However, when processing is performed using a single processor as disclosed in Japanese Patent Laid-Open No. 9-98189, processing of all layers is performed in order, so that the entire apparatus is processed. No improvement in processing speed can be expected.

【0005】また、TCP/IP(Transmission Contr
ol Protocol/Internet Protocol)のような上位レイヤ
の様々な情報の参照や変更を行う場合には各パケットに
含まれる複数のATMセルをアクセスする必要があるの
で、特開平9−98189号公報の技術は適用できな
い。複数のVC(バーチャルチャネル)が多重された状
態で伝送される環境では、順次に受信されるATMセル
をVC毎に分離してメモリに蓄積する必要がある。特開
平9−98189号公報のように、配列として確保した
メモリにATMセルを蓄積する場合には、それぞれのV
C毎に予め受信したATMセル群を保存するための領域
を確保しなければならない。従って、実際に受信してい
ないATMセルについてもメモリを確保しておくことに
なるので、メモリの使用効率が悪い。
Also, TCP / IP (Transmission Control)
In order to refer to or change various information of an upper layer such as an ol protocol / Internet protocol, it is necessary to access a plurality of ATM cells included in each packet. Is not applicable. In an environment in which a plurality of VCs (virtual channels) are transmitted in a multiplexed state, it is necessary to separate ATM cells sequentially received for each VC and store them in a memory. When storing ATM cells in a memory secured as an array as disclosed in JP-A-9-98189, each V
An area for storing the received ATM cell group must be reserved for each C. Therefore, the memory is reserved for the ATM cells which are not actually received, so that the memory use efficiency is low.

【0006】本発明は、VC多重されたATMセルを伝
送するネットワークの中継などを行う場合に、装置全体
の処理速度を改善するとともにメモリに使用効率を改善
可能なプロトコル処理装置及びATMセル格納方法を提
供することを目的とする。
The present invention provides a protocol processing apparatus and an ATM cell storage method capable of improving the processing speed of the entire apparatus and improving the use efficiency of a memory when relaying a network for transmitting VC-multiplexed ATM cells. The purpose is to provide.

【0007】[0007]

【課題を解決するための手段】請求項1のプロトコル処
理装置は、複数のバーチャルチャネルを形成可能な伝送
路に接続され該伝送路に対してATMセルの入力及び出
力を行うATMフレーマと、前記ATMフレーマが伝送
路から入力したATMセルをバーチャルチャネル毎に分
離するVC分離モジュールと、前記ATMフレーマが伝
送路から入力したATMセルを格納するためのATMセ
ル格納メモリと、前記ATMセル格納メモリに転送され
たATMセルから情報を抽出するATMセル情報抽出モ
ジュールと、前記ATMフレーマが伝送路から入力した
ATMセルの少なくともペイロードの情報を格納するた
めの上位ヘッダ格納メモリと、前記上位ヘッダ格納メモ
リに転送されたATMセルから前記ATMセル情報抽出
モジュールの処理する階層よりも上位階層のプロトコル
に関するヘッダ情報の抽出及び修正を行う上位ヘッダ情
報抽出モジュールとを設けるとともに、前記ATMフレ
ーマ及びVC分離モジュールを備える通信信号入出力手
段と、前記ATMセル格納メモリ及びATMセル情報抽
出モジュールを備えるATMセル処理手段と、前記上位
ヘッダ格納メモリ及び上位ヘッダ情報抽出モジュールを
備える上位ヘッダ処理手段とを直列に並べて接続し、前
記通信信号入出力手段,ATMセル処理手段,上位ヘッ
ダ処理手段にそれぞれ独立して動作する制御手段を設け
たことを特徴とする。
An ATM framer is connected to a transmission line capable of forming a plurality of virtual channels and inputs and outputs ATM cells to and from the transmission line. A VC separation module for separating the ATM cells input from the transmission line by the ATM framer for each virtual channel; an ATM cell storage memory for storing the ATM cells input by the ATM framer from the transmission line; and an ATM cell storage memory. An ATM cell information extraction module for extracting information from the transferred ATM cells; an upper header storage memory for storing at least payload information of the ATM cells input from the transmission line by the ATM framer; and an upper header storage memory. Processing of the ATM cell information extraction module from the transferred ATM cell A communication signal input / output means including the ATM framer and VC separation module; and an ATM cell storage memory and an ATM. An ATM cell processing means having a cell information extraction module and an upper header processing means having the upper header storage memory and the upper header information extraction module are connected in series and connected, and the communication signal input / output means, the ATM cell processing means, The header processing means is provided with a control means which operates independently.

【0008】通信信号入出力手段は、ATMセルの入出
力及びVCの分離を行う。ATMセル処理手段は、AT
Mセル毎に情報の抽出を行う。上位ヘッダ処理手段は、
例えばTCP,IPのような上位レイヤのプロトコルに
関する情報の抽出や修正を行う。請求項1においては、
直列に接続された前記通信信号入出力手段,ATMセル
処理手段,上位ヘッダ処理手段がそれぞれ独立して動作
するので、全体の処理をパイプライン化することができ
る。すなわち、各処理装置が必要な情報がそろった時点
で次の処理装置に情報を転送することにより、複数の処
理装置(通信信号入出力手段,ATMセル処理手段,上
位ヘッダ処理手段)が最適なタイミングで並行して処理
を実行することができる。その結果、装置全体の処理が
高速化される。
The communication signal input / output means performs input / output of ATM cells and separation of VC. ATM cell processing means is AT
Information is extracted for each M cell. The upper header processing means,
For example, it extracts and corrects information related to upper layer protocols such as TCP and IP. In claim 1,
Since the communication signal input / output unit, the ATM cell processing unit, and the upper header processing unit which are connected in series operate independently of each other, the entire processing can be pipelined. That is, when each processing device has the necessary information, the information is transferred to the next processing device, so that a plurality of processing devices (communication signal input / output means, ATM cell processing means, upper header processing means) are optimized. Processing can be executed in parallel at the timing. As a result, the processing speed of the entire apparatus is increased.

【0009】請求項2は、請求項1のプロトコル処理装
置において、前記ATMフレーマが受信したATMセル
を前記ATMセル格納メモリに対して転送する場合に
は、入力されたATMセルのバーチャルチャネルが変化
しない限り、予め定めた数の複数のATMセルが前記A
TMフレーマに蓄積されるまで待機してから蓄積された
複数のATMセルを連続的に転送する転送制御手段を設
けたことを特徴とする。
According to a second aspect of the present invention, when the ATM cell received by the ATM framer is transferred to the ATM cell storage memory, the virtual channel of the inputted ATM cell changes. Unless otherwise, a predetermined number of ATM cells are
A transfer control means for continuously transferring a plurality of stored ATM cells after waiting until they are stored in the TM framer is provided.

【0010】例えばメモリ間の高速データ転送を実現す
るためにDMA(ダイレクトメモリアクセス)を採用す
る場合には、転送の度にDMA制御の初期化を行う必要
があるので、ATMセルを受信する度に転送を行うとD
MAの初期化のために転送の遅延が発生する。請求項2
では、複数のATMセルが前記ATMフレーマに蓄積さ
れるまで待機してから蓄積された複数のATMセルを連
続的に転送するので、転送の遅延時間を短縮できる。但
し、入力されたATMセルのバーチャルチャネルが変化
した場合には、予め定めた数のATMセルが蓄積される
前であっても転送を開始する。これにより、バーチャル
チャネル毎にATMセルを分離して蓄積することができ
る。
For example, when DMA (direct memory access) is employed to realize high-speed data transfer between memories, it is necessary to initialize DMA control every time transfer is performed. Is transferred to D
A transfer delay occurs due to the initialization of the MA. Claim 2
In this case, since a plurality of ATM cells are continuously transferred after waiting until a plurality of ATM cells are stored in the ATM framer, a transfer delay time can be reduced. However, when the virtual channel of the input ATM cell changes, the transfer is started even before a predetermined number of ATM cells are accumulated. As a result, ATM cells can be separated and stored for each virtual channel.

【0011】請求項3は、請求項1のプロトコル処理装
置において、互いに独立した複数の上位ヘッダ処理手段
を前記ATMセル処理手段に接続するとともに、前記A
TMセル処理手段に入力された各ATMセルが属するバ
ーチャルチャネルの違いに応じてATMセルの転送先の
上位ヘッダ処理手段を切り替え、複数のバーチャルチャ
ネルに属するATMセルを複数の上位ヘッダ処理手段で
並列的に処理することを特徴とする。
According to a third aspect of the present invention, in the protocol processing apparatus of the first aspect, a plurality of upper header processing means independent from each other are connected to the ATM cell processing means, and
The high-order header processing means of the transfer destination of the ATM cell is switched according to the difference of the virtual channel to which each ATM cell input to the TM cell processing means belongs, and the ATM cells belonging to a plurality of virtual channels are parallelized by the plurality of high-order header processing means. It is characterized in that

【0012】請求項3によれば、VC多重された複数パ
ケットのATMセルが混在して受信される場合に、VC
毎に互いに独立した上位ヘッダ処理手段で並列的に処理
を実行できるので、それぞれのパケットを高速処理でき
る。
According to the third aspect, when ATM cells of a plurality of packets multiplexed by VC are received in a mixed manner, the
Since the processing can be executed in parallel by the upper header processing means independent of each other, each packet can be processed at high speed.

【0013】請求項4は、請求項1のプロトコル処理装
置において、それぞれが少なくともプログラムを実行す
るプロセッサ,プログラムメモリ,ダイレクトメモリア
クセス制御回路,プログラマブルゲートアレイ,バスイ
ンタフェース及び内部バスを備える同一の複数のハード
ウェアに互いに異なるソフトウェアを搭載して、各ハー
ドウェアを前記ATMセル処理手段及び前記上位ヘッダ
処理手段として構成したことを特徴とする。
According to a fourth aspect of the present invention, in the protocol processing apparatus of the first aspect, a plurality of identical processors each including at least a processor for executing a program, a program memory, a direct memory access control circuit, a programmable gate array, a bus interface, and an internal bus. Different hardware is mounted on the hardware, and each hardware is configured as the ATM cell processing means and the upper header processing means.

【0014】請求項4においては同一のハードウェアを
用いてATMセル処理手段及び上位ヘッダ処理手段を構
成するので、共通化によりハードウェアの設計コスト及
び製造コストを低減できる。請求項5は、請求項1のプ
ロトコル処理装置において、前記ATMフレーマが伝送
路から受信したバーチャルチャネル毎のパケットのCR
C情報をAAL5レイヤで計算する第1のCRC演算手
段と、前記上位ヘッダ処理手段の処理によって修正され
たバーチャルチャネル毎の各パケットについてAAL5
レイヤのCRC情報を計算する第2のCRC演算手段
と、少なくともパケットが前記上位ヘッダ処理手段の処
理で修正された場合には、前記第2のCRC演算手段が
計算した結果で送信対象のATMセルを修正するととも
に、前記第1のCRC演算手段の計算結果に基づいてC
RCエラーを検出した場合には、該CRCエラーの情報
を送信対象のATMセルに反映するCRC制御手段とを
更に設けたことを特徴とする。
In the fourth aspect, since the ATM cell processing means and the higher-order header processing means are constituted by using the same hardware, the design cost and the manufacturing cost of the hardware can be reduced by commonization. According to a fifth aspect of the present invention, in the protocol processing device of the first aspect, a CR of a packet for each virtual channel received by the ATM framer from a transmission path is used.
First CRC calculation means for calculating C information in the AAL5 layer, and AAL5 for each packet for each virtual channel corrected by the processing of the upper header processing means.
A second CRC calculating means for calculating CRC information of a layer, and an ATM cell to be transmitted based on a result calculated by the second CRC calculating means when at least a packet is modified by the processing of the upper header processing means. Is corrected, and C is calculated based on the calculation result of the first CRC calculation means.
When an RC error is detected, a CRC control means for reflecting the information of the CRC error on an ATM cell to be transmitted is further provided.

【0015】一般に、伝送エラーを検出するためにCR
C(Cyclic Redundancy Check)が用いられる。パケッ
トの中継などを行う際にパケットの内容を修正する場合
には、CRCを再計算する必要がある。しかし、受信し
たパケットにエラーが生じていた場合には、CRCを変
更したパケットを送信すると受信パケットにおけるエラ
ーの発生を送信したパケットの内容から知ることはでき
ない。
Generally, CR is used to detect a transmission error.
C (Cyclic Redundancy Check) is used. To correct the contents of a packet when relaying the packet, it is necessary to recalculate the CRC. However, if an error has occurred in the received packet and the packet with the changed CRC is transmitted, the occurrence of the error in the received packet cannot be known from the content of the transmitted packet.

【0016】請求項5では、受信したパケットのCRC
エラーの情報が送信するATMセルに反映されるので、
中継途中でのCRCエラーの情報を送信したパケットの
内容を参照して認識することができる。請求項6は、請
求項4のプロトコル処理装置において、前記複数の同一
のハードウェアを複数のバスを用いて互いに接続したこ
とを特徴とする。
In the fifth aspect, the CRC of the received packet
Since the error information is reflected in the ATM cell to be transmitted,
The CRC error information during the relay can be recognized by referring to the contents of the transmitted packet. According to a sixth aspect of the present invention, in the protocol processing device of the fourth aspect, the plurality of identical hardware are connected to each other using a plurality of buses.

【0017】請求項6のプロトコル処理装置において
は、前記通信信号入出力手段とATMセル処理手段との
間ならびにATMセル処理手段と上位ヘッダ処理手段と
の間でそれぞれデータを転送する必要がある。また、前
記通信信号入出力手段からATMセル処理手段に向かっ
て転送する場合もあるし、ATMセル処理手段から通信
信号入出力手段に向かって転送する場合もある。
In the protocol processing device of the present invention, it is necessary to transfer data between the communication signal input / output means and the ATM cell processing means and between the ATM cell processing means and the upper header processing means. Further, there is a case where data is transferred from the communication signal input / output means to the ATM cell processing means, and a case where data is transferred from the ATM cell processing means to the communication signal input / output means.

【0018】ATMセル処理手段と上位ヘッダ処理手段
との間のデータ転送についても同様である。更に、複数
の上位ヘッダ処理手段を用意する場合には、複数の上位
ヘッダ処理手段の各々とATMセル処理手段との間でそ
れぞれデータを転送する必要がある。独立した複数のユ
ニット間で高速にデータ転送を行う場合には、様々な信
号線の集合体であるバスを介してデータを転送するのが
一般的である。しかし、1組のバスを利用するユニット
が複数存在する場合であっても、1組のバスを同時に複
数のユニットが利用することはできない。
The same applies to data transfer between the ATM cell processing means and the upper header processing means. Furthermore, when preparing a plurality of upper header processing means, it is necessary to transfer data between each of the plurality of upper header processing means and the ATM cell processing means. When performing high-speed data transfer between a plurality of independent units, data is generally transferred via a bus which is an aggregate of various signal lines. However, even when a plurality of units use one set of buses, a plurality of units cannot use one set of buses at the same time.

【0019】このため、バスの利用に関して複数ユニッ
トの優先順位を制御する必要がある。また、予め定めら
れた手順で処理されるデータを転送する場合には、デー
タの処理手順に合わせてバスの優先順位を制御しなけれ
ばならない。更に、他のユニットがバスを利用している
場合には、その利用が終了するまで待機せざるを得ない
場合もある。
Therefore, it is necessary to control the priority of a plurality of units with respect to the use of the bus. When transferring data processed in a predetermined procedure, the priority of the bus must be controlled in accordance with the data processing procedure. Further, when another unit is using the bus, it may be necessary to wait until the use is completed.

【0020】請求項6においては、複数組のバスが並列
的に設けてあるため複数組のバスを同時に利用すること
ができる。例えば、通信信号入出力手段とATMセル処
理手段とを複数組のバスで接続した場合には、第1組の
バスを利用して通信信号入出力手段からATMセル処理
手段に向かってデータ転送しているときに、第2組のバ
スを利用してATMセル処理手段から通信信号入出力手
段に向かってデータ転送することができる。
In claim 6, a plurality of sets of buses are provided in parallel, so that a plurality of sets of buses can be used simultaneously. For example, when the communication signal input / output means and the ATM cell processing means are connected by a plurality of sets of buses, data is transferred from the communication signal input / output means to the ATM cell processing means using the first set of buses. In this case, data can be transferred from the ATM cell processing means to the communication signal input / output means using the second set of buses.

【0021】このため、データ転送の順番やデータ転送
を開始するタイミングの制約が少なくなり、効率的にデ
ータを転送できるため、効率的に処理を実行することが
できる。また、複数のバスを介して接続される複数のユ
ニットはハードウェア構成が同一であるため複数ユニッ
トの配置上の制約がなく、配置を変更した場合でも各ユ
ニットに必要とされる機能に応じたソフトウェアを搭載
すれば装置全体として所望の機能を実現できる。
Therefore, restrictions on the order of data transfer and the timing of starting data transfer are reduced, and data can be transferred efficiently, so that processing can be executed efficiently. In addition, since a plurality of units connected via a plurality of buses have the same hardware configuration, there is no restriction on the arrangement of the plurality of units, and even when the arrangement is changed, it is determined according to the function required for each unit. If software is installed, desired functions can be realized as a whole device.

【0022】請求項7は、複数のバーチャルチャネルを
形成可能な伝送路から受信したATMセルをバーチャル
チャネル毎に分離して記憶装置に格納するためのATM
セル格納方法であって、ヘッダ,ペイロード及び次の記
憶領域へのリンク情報を保持するための固定サイズの未
使用の記憶領域を順次に論理的に連結して構成したフリ
ーリストを利用し、受信したATMセルのバーチャルチ
ャネル毎に少なくともATMセルを記憶している領域の
先頭位置を示す情報を含む受信管理データを保持し、受
信した各ATMセルに対して前記フリーリストから各記
憶領域を逐次に確保し、確保した記憶領域に各ATMセ
ルを記憶し、確保した記憶領域をそれまでに受信した各
ATMセルを保持している受信バッファの最後に連結す
ることを特徴とする。
[0022] An ATM for separating ATM cells received from a transmission path capable of forming a plurality of virtual channels for each virtual channel and storing the ATM cells in a storage device.
A cell storage method, which uses a free list formed by sequentially and logically connecting unused storage areas of a fixed size for holding a header, a payload, and link information to a next storage area, and Holding the reception management data including at least the information indicating the start position of the area storing the ATM cell for each virtual channel of the ATM cell, and sequentially storing each storage area from the free list for each received ATM cell. Each ATM cell is stored in the reserved storage area, and the reserved storage area is connected to the end of the reception buffer holding each ATM cell received so far.

【0023】フリーリストは固定サイズの記憶領域を連
結して構成したものである。各記憶領域にはATMセル
を格納できる。リンク情報を用いることにより、その記
憶領域につながる次の記憶領域の位置(アドレスなど)
を知ることができる。つまり、フリーリストは小さい記
憶領域の集合であり、各記憶領域の位置は連続している
必要がない。
The free list is formed by connecting storage areas of a fixed size. Each storage area can store ATM cells. By using the link information, the position (address, etc.) of the next storage area connected to the storage area
You can know. That is, the free list is a set of small storage areas, and the positions of the storage areas need not be consecutive.

【0024】請求項7では、このフリーリストから逐次
記憶領域を確保することができるので、受信されたAT
Mセルを格納するための受信バッファの最後に確保した
記憶領域を連結することにより、受信バッファのサイズ
を動的に変更できる。フリーリスト及び確保した受信バ
ッファの各記憶領域は不連続でかまわない。VC多重の
場合には、互いにVCの異なる多数のATMセルが順次
に現れるが、各VCに必要とされる受信バッファの大き
さは特定できない。しかし、請求項7では実際に受信し
たATMセルについてVC毎に記憶領域を逐次確保すれ
ばよいので受信バッファの大きさを特定する必要はな
く、固定されたメモリを予め確保する必要はない。従っ
て、メモリの利用効率がよい。
According to the seventh aspect, the storage area can be sequentially reserved from the free list.
The size of the reception buffer can be dynamically changed by linking the storage area secured at the end of the reception buffer for storing the M cells. Each storage area of the free list and the secured reception buffer may be discontinuous. In the case of VC multiplexing, a large number of ATM cells having different VCs appear sequentially, but the size of a reception buffer required for each VC cannot be specified. However, according to the seventh aspect, it is only necessary to sequentially secure a storage area for each VC for an actually received ATM cell, so there is no need to specify the size of the reception buffer, and it is not necessary to secure a fixed memory in advance. Therefore, the use efficiency of the memory is good.

【0025】請求項8は、請求項7のATMセル格納方
法において、複数のATMセルを記憶するための第1の
記憶領域を前記フリーリストから確保し、前記第1の記
憶領域に処理後のATMセルのペイロードを記憶し、前
記第1の記憶領域に対して、前記受信バッファに蓄えら
れた同一バーチャルチャネルのATMセルのヘッダを書
き込み、送信すべきATMセルを保持している送信バッ
ファの最後に前記第1の記憶領域を連結し、前記受信バ
ッファに蓄えられた同一バーチャルチャネルのデータの
うち前記第1の記憶領域に保持されたデータに続く残り
のデータを前記第1の記憶領域に連結することを特徴と
する。
According to an eighth aspect of the present invention, in the ATM cell storage method according to the seventh aspect, a first storage area for storing a plurality of ATM cells is secured from the free list, and the first storage area after processing is stored in the first storage area. The payload of the ATM cell is stored, the header of the ATM cell of the same virtual channel stored in the reception buffer is written in the first storage area, and the end of the transmission buffer holding the ATM cell to be transmitted is stored. And the remaining data following the data held in the first storage area among the data of the same virtual channel stored in the reception buffer is connected to the first storage area. It is characterized by doing.

【0026】フリーリストから確保される第1の記憶領
域は、送信バッファとして利用される。つまり、処理済
みのATMセルを格納するために第1の記憶領域が利用
される。TCP,IPなどの上位レイヤで処理されるの
はATMセルのペイロードだけなので、請求項8では確
保した第1の記憶領域に処理後のATMセルのペイロー
ドを記憶してからそのATMセルのヘッダを書き込む。
第1の記憶領域は送信バッファの最後に連結される。
The first storage area secured from the free list is used as a transmission buffer. That is, the first storage area is used to store processed ATM cells. Since only the payload of the ATM cell is processed in the upper layer such as TCP and IP, in claim 8 the payload of the processed ATM cell is stored in the secured first storage area, and then the header of the ATM cell is stored. Write.
The first storage area is linked at the end of the transmission buffer.

【0027】上位レイヤで処理する必要のないATMセ
ルについては、前記受信バッファにそのまま残っている
ので、残りのATMセルが記憶された受信バッファの記
憶領域を送信バッファの最後に連結することにより、受
信バッファの一部分がそのまま送信バッファとして利用
される。このため全てのATMセルについて送信バッフ
ァの記憶領域を確保する必要はなくメモリの無駄な消費
が抑制される。
Since ATM cells that do not need to be processed in the upper layer remain in the reception buffer, the storage area of the reception buffer in which the remaining ATM cells are stored is connected to the end of the transmission buffer. A part of the reception buffer is used as it is as a transmission buffer. For this reason, it is not necessary to secure the storage area of the transmission buffer for all ATM cells, and wasteful consumption of memory is suppressed.

【0028】なお、送信が終了した送信バッファの記憶
領域については、不要なので領域を開放してフリーリス
トに戻すことができる。また、送信バッファに連結され
ない受信バッファの領域についても不要になった時点で
解放してフリーリストに戻すことができる。
It should be noted that the storage area of the transmission buffer for which transmission has been completed is unnecessary, so that the area can be released and returned to the free list. Also, the area of the receiving buffer that is not linked to the transmitting buffer can be released and returned to the free list when it becomes unnecessary.

【0029】[0029]

【発明の実施の形態】(第1の実施の形態)本発明のプ
ロトコル処理装置及びATMセル格納方法の1つの実施
の形態について、図1〜図12を参照して説明する。こ
の形態は請求項1〜請求項5,請求項7及び請求項8に
対応する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS (First Embodiment) One embodiment of a protocol processing apparatus and an ATM cell storage method according to the present invention will be described with reference to FIGS. This embodiment corresponds to claims 1 to 5, claim 7, and claim 8.

【0030】図1はこの形態のプロトコル処理装置の機
能上の構成を示すブロック図である。図2はこの形態の
プロトコル処理装置のハードウェアを示すブロック図で
ある。図3はATMセル格納メモリ上の記憶領域の構成
を示すメモリマップである。図4は受信用の記憶領域の
構成を示すメモリマップである。図5はセル受信時の通
信信号入出力ユニット及びATMセル処理ユニットの動
作を示すフローチャートである。図6は複数セルDMA
転送の内容を示すフローチャートである。図7は上位ヘ
ッダ処理ユニットの動作を示すフローチャートである。
図8ATMセル処理ユニットの送信処理を示すフローチ
ャートである。図9は各セルのVCが異なる場合の通信
信号入出力ユニットの動作を示すタイムチャートであ
る。図10は同じVCのセルが連続する場合の通信信号
入出力ユニットの動作を示すタイムチャートである。図
11及び図12はATMセル格納メモリ上の記憶領域の
構成を示すメモリマップである。
FIG. 1 is a block diagram showing a functional configuration of the protocol processing apparatus of this embodiment. FIG. 2 is a block diagram showing hardware of the protocol processing device of this embodiment. FIG. 3 is a memory map showing the configuration of the storage area on the ATM cell storage memory. FIG. 4 is a memory map showing the configuration of the storage area for reception. FIG. 5 is a flowchart showing the operation of the communication signal input / output unit and the ATM cell processing unit at the time of cell reception. FIG. 6 shows a multi-cell DMA.
It is a flowchart which shows the content of transfer. FIG. 7 is a flowchart showing the operation of the upper header processing unit.
8 is a flowchart showing a transmission process of the ATM cell processing unit. FIG. 9 is a time chart showing the operation of the communication signal input / output unit when the VC of each cell is different. FIG. 10 is a time chart showing the operation of the communication signal input / output unit when cells of the same VC continue. FIGS. 11 and 12 are memory maps showing the configuration of the storage area on the ATM cell storage memory.

【0031】この形態では、請求項1のATMフレー
マ,VC分離モジュール,ATMセル格納メモリ,AT
Mセル情報抽出モジュール,上位ヘッダ格納メモリ,上
位ヘッダ情報抽出モジュール,通信信号入出力手段,A
TMセル処理手段及び上位ヘッダ処理手段は、それぞれ
ATMフレーマ110,VC分離モジュール130,A
TMセル格納メモリ201,ATMセル情報抽出モジュ
ール202,上位ヘッダ格納メモリ301,上位ヘッダ
情報抽出モジュール302,通信信号入出力ユニット1
00,ATMセル処理ユニット200及び上位ヘッダ処
理ユニット300に対応する。
In this embodiment, the ATM framer, the VC separation module, the ATM cell storage memory, the AT
M cell information extraction module, upper header storage memory, upper header information extraction module, communication signal input / output means, A
The TM cell processing means and the upper header processing means are respectively an ATM framer 110, a VC separation module 130,
TM cell storage memory 201, ATM cell information extraction module 202, upper header storage memory 301, upper header information extraction module 302, communication signal input / output unit 1
00, corresponding to the ATM cell processing unit 200 and the upper header processing unit 300.

【0032】また、請求項2の転送制御手段はステップ
S60〜S66に対応する。請求項4のプロセッサ,プ
ログラムメモリ,ダイレクトメモリアクセス制御回路,
プログラマブルゲートアレイ,バスインタフェース及び
内部バスは、それぞれマイクロプロセッサ230,プロ
グラムメモリ240,DMA制御回路220,FPGA
250,C−PCIバスインタフェース280及びロー
カルバス270に対応する。
The transfer control means of the present invention corresponds to steps S60 to S66. 5. The processor according to claim 4, a program memory, a direct memory access control circuit,
The programmable gate array, bus interface and internal bus are respectively composed of a microprocessor 230, a program memory 240, a DMA control circuit 220, an FPGA
250, C-PCI bus interface 280 and local bus 270.

【0033】請求項5の第1のCRC演算手段及び第2
のCRC演算手段はそれぞれ入力CRC計算回路140
及びCRC再計算モジュール204に対応し、請求項5
のCRC制御手段はステップS39〜S41に対応す
る。図1及び図2に示すプロトコル処理装置は、ATM
セルを伝送する伝送路を含むネットワークの中継装置と
して用いられる。伝送路としては、例えばSDH(Sync
hronous Digital Hierarchy)を用いることができる。
この種の中継装置においては、中継される信号のATM
セル毎の情報あるいはパケット毎の情報を参照したり修
正する機能が必要になる。この形態では、IP,TCP
のレイヤまでの情報を抽出する場合を想定している。
The first CRC calculating means and the second CRC calculating means of claim 5
Of the input CRC calculation circuit 140
And a CRC recalculation module 204.
CRC control means corresponds to steps S39 to S41. The protocol processing device shown in FIG. 1 and FIG.
It is used as a relay device of a network including a transmission path for transmitting cells. As a transmission path, for example, SDH (Sync
hronous Digital Hierarchy) can be used.
In this type of repeater, the ATM of the signal to be relayed is
A function of referring to and correcting information for each cell or information for each packet is required. In this mode, IP, TCP
It is assumed that information up to the first layer is extracted.

【0034】また、ここではネットワーク層のプロトコ
ルとしてIPを用い、ATM上でのIPデータグラムの
配送方法としてはRFC1577(Classical IP and A
RP over ATM)で規定された方法を用い、IPデータグ
ラムのエンカプシュレーション方式としてはRFC14
83で規定された方式を用い、ATMアダプテーション
としてはAAL5形式を用いることを想定している。
In this case, IP is used as a protocol of the network layer, and RFC1577 (Classical IP and A) is used as a delivery method of an IP datagram over ATM.
RP over ATM), and the encapsulation method for IP datagrams is RFC14.
It is assumed that the method specified by the standard 83 is used and that the ATM adaptation uses the AAL5 format.

【0035】図2に示すプロトコル処理装置は、通信信
号入出力ユニット100と、ATMセル処理ユニット2
00と、複数の上位ヘッダ処理ユニット300とで構成
されている。複数の上位ヘッダ処理ユニット300は同
じ構成であり互いに独立して動作する。通信信号入出力
ユニット100には、ATMフレーマ110,DMA制
御回路120,VC分離モジュール130及び入力CR
C計算回路140が備わっている。
The protocol processing apparatus shown in FIG. 2 comprises a communication signal input / output unit 100 and an ATM cell processing unit 2
00 and a plurality of upper header processing units 300. The plurality of upper header processing units 300 have the same configuration and operate independently of each other. The communication signal input / output unit 100 includes an ATM framer 110, a DMA control circuit 120, a VC separation module 130, and an input CR.
A C calculation circuit 140 is provided.

【0036】ATMセル処理ユニット200には、デー
タ用メモリ210,DMA制御回路220,マイクロプ
ロセッサ230,プログラムメモリ240,FPGA
(フィールドプログラマブルゲートアレイ)250,イ
ーサネット(登録商標)インタフェース260,ローカ
ルバス270及びC−PCI(コンパクトPCI)バス
インタフェース280が備わっている。
The ATM cell processing unit 200 includes a data memory 210, a DMA control circuit 220, a microprocessor 230, a program memory 240, an FPGA
(Field programmable gate array) 250, Ethernet (registered trademark) interface 260, local bus 270, and C-PCI (compact PCI) bus interface 280.

【0037】上位ヘッダ処理ユニット300には、デー
タ用メモリ310,DMA制御回路320,マイクロプ
ロセッサ330,プログラムメモリ340,FPGA3
50,イーサネットインタフェース360,ローカルバ
ス370及びC−PCIバスインタフェース380が備
わっている。図2に示すように、ATMセル処理ユニッ
ト200のハードウェアと上位ヘッダ処理ユニット30
0のハードウェアはほとんど同一であり同じ規格に合わ
せて構成してある。但し、ATMセル処理ユニット20
0に搭載されるソフトウェアと上位ヘッダ処理ユニット
300に搭載されるソフトウェアとは異なるので、それ
ぞれのユニットは互いに異なる機能を実現する。
The upper header processing unit 300 includes a data memory 310, a DMA control circuit 320, a microprocessor 330, a program memory 340, and an FPGA 3
50, an Ethernet interface 360, a local bus 370, and a C-PCI bus interface 380. As shown in FIG. 2, the hardware of the ATM cell processing unit 200 and the upper header processing unit 30
0 are almost the same, and are configured according to the same standard. However, the ATM cell processing unit 20
0 is different from the software installed in the upper header processing unit 300, so that each unit realizes a different function.

【0038】この例では、同じハードウェアを用いて2
種類のユニット(200,300)を構成できるので、
ハードウェアの設計コストの低減及び共通化による製造
コストの低減が可能になる。
In this example, using the same hardware,
Since you can configure different types of units (200, 300)
The hardware design cost can be reduced, and the manufacturing cost can be reduced by common use.

【0039】機能的にみた場合、図1に示すようにAT
Mセル処理ユニット200にはATMセル格納メモリ2
01,DMA制御回路220,ATMセル情報抽出モジ
ュール202,VCI管理メモリ203,CRC再計算
モジュール204及び情報入出力回路205が備わって
いる。ATMセル格納メモリ201はデータ用メモリ2
10に対応し、ATMセル情報抽出モジュール202は
マイクロプロセッサ230に対応し、VCI管理メモリ
203はデータ用メモリ210に対応し、CRC再計算
モジュール204はFPGA250に対応し、情報入出
力回路205はイーサネットインタフェース260に対
応する。
When viewed functionally, as shown in FIG.
The M cell processing unit 200 has an ATM cell storage memory 2
01, a DMA control circuit 220, an ATM cell information extraction module 202, a VCI management memory 203, a CRC recalculation module 204, and an information input / output circuit 205. ATM cell storage memory 201 is data memory 2
10, the ATM cell information extraction module 202 corresponds to the microprocessor 230, the VCI management memory 203 corresponds to the data memory 210, the CRC recalculation module 204 corresponds to the FPGA 250, and the information input / output circuit 205 corresponds to the Ethernet. Corresponds to interface 260.

【0040】同様に、上位ヘッダ処理ユニット300に
は上位ヘッダ格納メモリ301,DMA制御回路32
0,上位ヘッダ情報抽出モジュール302及び情報入出
力回路303が備わっている。上位ヘッダ格納メモリ3
01はデータ用メモリ310に対応し、上位ヘッダ情報
抽出モジュール302はマイクロプロセッサ330に対
応し、情報入出力回路303はイーサネットインタフェ
ース360に対応する。
Similarly, the upper header processing unit 300 includes an upper header storage memory 301 and a DMA control circuit 32.
0, an upper header information extraction module 302 and an information input / output circuit 303 are provided. Upper header storage memory 3
01 corresponds to the data memory 310, the upper header information extraction module 302 corresponds to the microprocessor 330, and the information input / output circuit 303 corresponds to the Ethernet interface 360.

【0041】この例では、パイプライン処理が実現でき
るように図1に示すように通信信号入出力ユニット10
0,ATMセル処理ユニット200,上位ヘッダ処理ユ
ニット300は直列に接続されている。なお、図1では
1つの上位ヘッダ処理ユニット300だけがATMセル
処理ユニット200に接続してあるが、実際には図2に
示すように複数の上位ヘッダ処理ユニット300が並列
にATMセル処理ユニット200に接続されている。
In this example, the communication signal input / output unit 10 as shown in FIG.
0, the ATM cell processing unit 200, and the upper header processing unit 300 are connected in series. In FIG. 1, only one upper header processing unit 300 is connected to the ATM cell processing unit 200. However, in practice, as shown in FIG. 2, a plurality of upper header processing units 300 are connected in parallel to the ATM cell processing unit 200. It is connected to the.

【0042】通信信号入出力ユニット100では、受信
したATMセルを内部で処理しながらATMセル処理ユ
ニット200に転送する。ATMセル処理ユニット20
0は通信信号入出力ユニット100から転送されたAT
Mセルを処理しながらそのペイロードを上位ヘッダ処理
ユニット300に転送する。上位ヘッダ処理ユニット3
00はATMセル処理ユニット200から転送されたペ
イロードの情報を処理して上位プロトコル(IP,TC
P)の情報の抽出や修正を行う。
The communication signal input / output unit 100 transfers the received ATM cells to the ATM cell processing unit 200 while processing them internally. ATM cell processing unit 20
0 is the AT transferred from the communication signal input / output unit 100.
The payload is transferred to the upper header processing unit 300 while processing the M cell. Upper header processing unit 3
00 processes the information of the payload transferred from the ATM cell processing unit 200 and processes the upper layer protocol (IP, TC
The information of P) is extracted and corrected.

【0043】上位ヘッダ処理ユニット300は処理が終
了したATMセルのペイロードをATMセル処理ユニッ
ト200に転送する。ATMセル処理ユニット200は
修正されたATMセルを含むパケットを送信のために蓄
積し、通信信号入出力ユニット100に転送する。通信
信号入出力ユニット100は各パケットのATMセルを
伝送路に送出する。
The upper header processing unit 300 transfers the processed ATM cell payload to the ATM cell processing unit 200. The ATM cell processing unit 200 stores the packet containing the modified ATM cell for transmission, and transfers the packet to the communication signal input / output unit 100. The communication signal input / output unit 100 sends the ATM cells of each packet to the transmission path.

【0044】ATMフレーマ110は、伝送路から入力
される受信信号をATMセルに組み立てる。また、送信
対象のATMセルを分解して伝送路に送信信号として出
力する。ATMフレーマ110がATMセルを受信する
と、VC分離モジュール130は、受信されたATMセ
ルからそのヘッダの内容を読み、ヘッダに含まれるVC
I(バーチャルチャネル識別子)からそのセルのバーチ
ャルチャネルを識別する(図5のS11)。
The ATM framer 110 assembles the received signal input from the transmission line into ATM cells. Further, it decomposes the ATM cell to be transmitted and outputs it to the transmission path as a transmission signal. When the ATM framer 110 receives the ATM cell, the VC separation module 130 reads the content of the header from the received ATM cell, and reads out the VC contained in the header.
The virtual channel of the cell is identified from I (virtual channel identifier) (S11 in FIG. 5).

【0045】この例では、それぞれのVCで受信したA
TMセルのパケット毎にVC分離モジュール130によ
ってCID(コネクションID)が取得される。そし
て、各パケットのVCIと対応付けられたCIDのリス
トが受信管理テーブル(図4参照)としてVCI管理メ
モリ203上に形成される。この受信管理テーブルを検
索することにより、受信したパケットのCIDが既に存
在するか否かを知ることができる。つまり、特定のVC
の最初のセルを受信した場合にはCIDをまだ取得して
いないので受信管理テーブルにはそのVCに対応するC
IDが存在しない。
In this example, A received by each VC
The CID (connection ID) is acquired by the VC separation module 130 for each packet of the TM cell. Then, a list of CIDs associated with the VCI of each packet is formed on the VCI management memory 203 as a reception management table (see FIG. 4). By searching the reception management table, it is possible to know whether or not the CID of the received packet already exists. That is, a specific VC
When the first cell is received, the CID has not yet been acquired, and the reception management table stores the C
ID does not exist.

【0046】そこで、特定のVCの最初のセルを受信し
た場合には予め用意した未使用のCIDを1つ取得して
受信管理テーブルに追加する(図5のS12,S1
3)。なお、未使用のCIDについては例えばスタック
(last-in first-outメモリ)の領域に予想される必要
数のCIDをVCI管理メモリ203上に予め用意して
おけばよい。
Therefore, when the first cell of a specific VC is received, one unused CID prepared in advance is acquired and added to the reception management table (S12 and S1 in FIG. 5).
3). For unused CIDs, for example, a required number of CIDs expected in a stack (last-in first-out memory) area may be prepared in the VCI management memory 203 in advance.

【0047】取得したCIDはそのパケットの全てのA
TMセルを伝送路に送出した後は不要になるのでスタッ
クに戻される。従って、取得した各VCのCIDはパケ
ットの送信完了時に解放される。VCI管理メモリ20
3上には、最後に受信したATMセルのVCが現在処理
中のVCと一致するか否かを識別するための情報と、各
VCIと取得した各CIDとの対応を示す情報とが保持
されている。
[0047] The acquired CID is the
After the TM cell is transmitted to the transmission line, it becomes unnecessary and is returned to the stack. Therefore, the acquired CID of each VC is released when the transmission of the packet is completed. VCI management memory 20
3 holds information for identifying whether the VC of the last received ATM cell matches the VC currently being processed, and information indicating the correspondence between each VCI and each acquired CID. ing.

【0048】あるVCにおいて、最終セルの受信の後に
受信した同じVCのセルをそのVCの最初のセルとす
る。ATMセルのヘッダに含まれるPT値を参照するこ
とにより、そのセルが各VCの終了セルか否かを識別で
きる。すなわち、PT値の最下位ビットの「user−
user identification」が1ならば
AAL5のCPCS−PDUの最終セルであり、そうで
なければ最終セルではない。
In a certain VC, a cell of the same VC received after reception of the last cell is defined as a first cell of the VC. By referring to the PT value included in the header of the ATM cell, it is possible to identify whether the cell is the end cell of each VC. That is, the least significant bit “user-
If "user identification" is 1, it is the last cell of the AAL5 CPCS-PDU, otherwise it is not the last cell.

【0049】各ATMセルのサイズが固定であるため、
この例では受信したATMセルをATMセル格納メモリ
201上に保持するための受信バッファを、固定長の記
憶領域(図4参照)を連結して構成する。図4に示すよ
うに、各々の固定長の記憶領域はATMセルのヘッダ
(4バイト)及びペイロード(48バイト)を記憶する
ための領域と次の領域へのリンク情報(次の記憶領域の
先頭アドレスを示すポインタ:4バイト)を記憶するた
めの領域とで構成されている。
Since the size of each ATM cell is fixed,
In this example, a reception buffer for holding received ATM cells on the ATM cell storage memory 201 is configured by connecting fixed-length storage areas (see FIG. 4). As shown in FIG. 4, each fixed-length storage area has an area for storing a header (4 bytes) and a payload (48 bytes) of an ATM cell and link information to the next area (the head of the next storage area). (A pointer indicating an address: 4 bytes).

【0050】現在利用されていない記憶領域がフリーリ
ストである。フリーリストから必要に応じて記憶領域を
確保することにより、受信バッファに記憶領域を追加す
ることができる。送信バッファについても、同様に固定
長の記憶領域を連結した領域が用いられる。
The storage area not currently used is the free list. By allocating a storage area as needed from the free list, a storage area can be added to the reception buffer. As for the transmission buffer, an area in which fixed-length storage areas are connected is similarly used.

【0051】図4に示すように、各CIDには受信バッ
ファへの3つのポインタ「Top」,「Send」,
「Tail」と、「flag」,「CMAX」,「IC
RC」,「OCRC」,「reserved」が含まれている。
「Top」,「Send」,「Tail」,「fla
g」,「CMAX」,「ICRC」,「OCRC」,
「reserved」にはそれぞれ4バイトのメモリが割り当て
られている。
As shown in FIG. 4, each CID has three pointers “Top”, “Send”,
"Tail", "flag", "CMAX", "IC
"RC", "OCRC", and "reserved".
“Top”, “Send”, “Tail”, “fla”
g "," CMAX "," ICRC "," OCRC ",
"Reserved" is assigned a 4-byte memory.

【0052】ポインタ「Top」は、受信バッファの先
頭の記憶領域の先頭アドレスを示す値を保持する。ポイ
ンタ「Send」は、受信バッファ上の記憶領域のうち
上位ヘッダ処理ユニット300に最後に転送されたAT
Mセルを保持している記憶領域の先頭アドレスを示す値
を保持する。ポインタ「Tail」は、受信バッファの
最後の記憶領域の先頭アドレスを示す値を保持する。
The pointer "Top" holds a value indicating the head address of the head storage area of the reception buffer. The pointer “Send” indicates the AT last transferred to the upper header processing unit 300 in the storage area on the reception buffer.
A value indicating the start address of the storage area holding the M cell is held. The pointer “Tail” holds a value indicating the start address of the last storage area of the reception buffer.

【0053】入力CRC計算回路140は、伝送路から
受信したパケットについてCRCを計算する。VC多重
の場合にはパケットの途中で他のVCに属するパケット
のATMセルが現れるので、CRC計算を途中で中断す
る必要がある。その場合の計算の途中結果は、対応する
CIDの「ICRC」(図4参照)に保持される(図5
のS14)。
The input CRC calculation circuit 140 calculates a CRC for a packet received from the transmission line. In the case of VC multiplexing, an ATM cell of a packet belonging to another VC appears in the middle of the packet, so it is necessary to interrupt the CRC calculation in the middle. The intermediate result of the calculation in that case is held in the corresponding CID “ICRC” (see FIG. 4) (FIG. 5).
S14).

【0054】1パケットの入力が終了した時点で、入力
CRC計算回路140はCRCの計算結果をAAL5の
CPCS−PDUのトレーラの値と比較する。比較の結
果が一致しない場合には、その入力パケットに関するエ
ラーを検出する(図5のS15,S16)。この入力C
RCエラーの情報は、例えば対応するCIDの「fla
g」の1ビットの内容に反映される。
When the input of one packet is completed, the input CRC calculation circuit 140 compares the result of the CRC calculation with the value of the trailer of the AAL5 CPCS-PDU. If the result of the comparison does not match, an error relating to the input packet is detected (S15, S16 in FIG. 5). This input C
The information of the RC error is, for example, “fla” of the corresponding CID.
g "is reflected in the content of one bit.

【0055】VC分離モジュール130は、ある条件が
成立するとATMフレーマ110の受信した1つ又は複
数のATMセルをATMセル格納メモリ201に転送す
る。実際の転送は、DMA制御回路120の制御により
DMAで行われる。この転送処理は、図5のステップS
17に対応する。処理の詳細は、図6に示すとおりであ
る。
When a certain condition is satisfied, the VC separation module 130 transfers one or a plurality of ATM cells received by the ATM framer 110 to the ATM cell storage memory 201. The actual transfer is performed by DMA under the control of the DMA control circuit 120. This transfer process corresponds to step S in FIG.
17 corresponds. Details of the processing are as shown in FIG.

【0056】ステップS60では、現在のセル(最後に
受信したATMセル)が最終セルか否かを識別する。P
T値の最下位ビットの「user−user iden
tification」が1ならばAAL5のCPCS
−PDUの最終セルであり、そうでなければ最終セルで
はない。ステップS60で最終セルを検出した場合には
ステップS61に進み、通信信号入出力ユニット100
のセル受信キューに蓄積しているセルの数とは無関係に
現在のセルをDMA転送によりATMセル格納メモリ2
01に転送する。
In step S60, it is determined whether or not the current cell (the last received ATM cell) is the last cell. P
The least significant bit of the T value "user-user iden"
If the "tification" is 1, the AAL5 CPCS
-The last cell of the PDU, otherwise not the last cell. If the last cell is detected in step S60, the process proceeds to step S61, where the communication signal input / output unit 100
Irrespective of the number of cells stored in the cell reception queue of the ATM cell storage memory 2 by DMA transfer.
Transfer to 01.

【0057】ステップS62では、現在のセルとそれま
でに通信信号入出力ユニット100のセル受信キューに
蓄積しているセルとについてVCを比較する。VCが不
一致の場合にはステップS63に進み、セル受信キュー
に蓄積している全てのセルをDMA転送によりATMセ
ル格納メモリ201に転送する。ステップS62でVC
が一致した場合には、ステップS64に進み現在のセル
をセル受信キューに蓄積する。また、次のステップS6
5ではセル受信キューに蓄積したセル数を転送指定値
(この例では2以上の定数)と比較する。
In step S62, the VC is compared between the current cell and the cells stored in the cell reception queue of the communication signal input / output unit 100 so far. If the VCs do not match, the flow advances to step S63 to transfer all cells stored in the cell reception queue to the ATM cell storage memory 201 by DMA transfer. VC in step S62
If they match, the process proceeds to step S64 to accumulate the current cell in the cell reception queue. Also, in the next step S6
In step 5, the number of cells stored in the cell reception queue is compared with a transfer designation value (a constant of 2 or more in this example).

【0058】蓄積セル数が転送指定値以上の場合には、
ステップS66に進み、セル受信キューに蓄積している
全てのセルをDMA転送によりATMセル格納メモリ2
01に転送する。図6に示す処理によって複数のATM
セルを連続的に転送する場合には、DMA転送を行う場
合の転送アドレス,転送バイト数などの初期設定に要す
る処理を繰り返す回数が減るので転送の遅延時間が短縮
される。
When the number of stored cells is equal to or larger than the designated transfer value,
In step S66, all cells stored in the cell reception queue are transferred to the ATM cell storage memory 2 by DMA transfer.
Transfer to 01. By the processing shown in FIG.
In the case of continuously transferring cells, the number of repetitions of the processing required for initial setting such as the transfer address and the number of transfer bytes in the case of performing DMA transfer is reduced, so that the transfer delay time is reduced.

【0059】なお、図5のステップS17で転送を行う
前に転送先のメモリをATMセル格納メモリ201上の
フリーリストから確保する必要がある。記憶領域をフリ
ーリストから確保した場合には、その領域確保によるフ
リーリストの領域の減少を反映するように、フリーリス
トの位置を示すポインタも変更する必要がある。
Before performing the transfer in step S17 of FIG. 5, it is necessary to secure the transfer destination memory from the free list on the ATM cell storage memory 201. When the storage area is secured from the free list, it is necessary to change the pointer indicating the position of the free list so as to reflect the decrease in the area of the free list due to the secured area.

【0060】ステップS17でATMセルの転送を行っ
た場合には、転送先の記憶領域をステップS18でAT
Mセル格納メモリ201上の受信バッファの後ろに連結
する。すなわち、連結前の受信バッファの最後尾の記憶
領域のリンク情報には、転送先の記憶領域の先頭のアド
レス値を書き込み、CIDのポインタ「Tail」には
連結した最後の記憶領域の先頭のアドレス値を書き込
み、連結した最後の記憶領域のリンク情報には、最後尾
であることを示すヌル(NULL:意味のあるアドレス
を示さない数値)を書き込む。
If the transfer of the ATM cell has been performed at step S17, the storage area of the transfer destination is set at AT18 at step S18.
It is connected after the reception buffer on the M cell storage memory 201. That is, the head address value of the storage area of the transfer destination is written in the link information of the last storage area of the reception buffer before the connection, and the head address of the last storage area of the connection is written in the CID pointer “Tail”. A value is written, and null (NULL: a numerical value that does not indicate a meaningful address) is written in the link information of the last linked storage area to indicate the end.

【0061】図11に示す例を想定して具体例を説明す
る。図11では、互いに連結された固定長の記憶領域M
11,M12,M13,M14がフリーリストとして存
在し、互いに連結された固定長の記憶領域M21,M2
2,M23,M24が受信バッファとして割り当てられ
た状態を示している。図11の状態では、記憶領域M1
1がフリーリストの先頭に位置しその先頭アドレスT1
1がフリーリストの先頭アドレスになっている。また、
記憶領域M21が受信バッファの先頭に位置しその先頭
アドレスT21が受信バッファの先頭アドレスである。
さらに、記憶領域M24が受信バッファの最後尾に位置
している。CIDのポインタ「Top」,「Sen
d」,「Tail」はそれぞれ記憶領域M21の先頭ア
ドレスT21,記憶領域M22の先頭アドレスT22,
記憶領域M24の先頭アドレスT24を指示している。
なお、最後尾の各記憶領域M24,M14ののリンク情
報にはヌルが保持されている。
A specific example will be described assuming the example shown in FIG. In FIG. 11, fixed-length storage areas M connected to each other are shown.
11, M12, M13, and M14 exist as free lists, and are fixed-length storage areas M21 and M2 connected to each other.
2, M23 and M24 are allocated as reception buffers. In the state of FIG. 11, the storage area M1
1 is located at the head of the free list and its head address T1
1 is the head address of the free list. Also,
The storage area M21 is located at the head of the reception buffer, and its head address T21 is the head address of the reception buffer.
Further, the storage area M24 is located at the end of the reception buffer. CID pointers "Top", "Sen"
"d" and "Tail" are the start address T21 of the storage area M21, the start address T22 of the storage area M22, respectively.
The start address T24 of the storage area M24 is indicated.
Note that null is held in the link information of the last storage areas M24 and M14.

【0062】ステップS17でATMセルの転送を行う
場合にはフリーリストから領域を確保する。例えば、1
つのATMセルを記憶するための領域を確保する場合に
は、フリーリストの先頭の記憶領域M11を確保する。
記憶領域M11の確保に伴って、フリーリストの先頭ア
ドレスはT12に変更される。確保した記憶領域M11
にATMセルを転送した場合には、それを受信バッファ
の最後に連結する。つまり、記憶領域M24のリンク情
報として記憶領域M11の先頭アドレスT11を書き込
み、記憶領域M11のリンク情報にヌルを書き込む。ま
た、CIDのポインタ「Tail」には記憶領域M11
の先頭アドレスT11を書き込む。
When transferring an ATM cell in step S17, an area is secured from the free list. For example, 1
When securing an area for storing one ATM cell, the first storage area M11 of the free list is secured.
With the reservation of the storage area M11, the head address of the free list is changed to T12. Secured storage area M11
When the ATM cell is transferred to the end of the receiving buffer, it is connected to the end of the receiving buffer. That is, the head address T11 of the storage area M11 is written as the link information of the storage area M24, and null is written in the link information of the storage area M11. The CID pointer "Tail" has a storage area M11.
Is written.

【0063】また、ATMセル格納メモリ201に蓄積
されたセルの数はATMセル情報抽出モジュール202
によって管理される。すなわち、ATMセル情報抽出モ
ジュール202は、各CIDについてATMセル格納メ
モリ201上に蓄積されたセル数がCIDのに保持され
た定数「CMAX」と比較する(図5のS19)。この
例では定数「CMAX」に2を割り当ててある。
The number of cells stored in the ATM cell storage memory 201 is determined by the ATM cell information extraction module 202.
Managed by That is, the ATM cell information extraction module 202 compares the number of cells stored in the ATM cell storage memory 201 for each CID with the constant "CMAX" held in the CID (S19 in FIG. 5). In this example, 2 is assigned to the constant “CMAX”.

【0064】ATMセル格納メモリ201上に蓄積され
たセル数が定数「CMAX」以上になるとステップS2
0,S21を実行する。ステップS20では、DMA制
御回路220を用いてATMセル格納メモリ201から
上位ヘッダ格納メモリ301に対してCMAX個のAT
MセルのペイロードをDMA転送する。セルを上位ヘッ
ダ格納メモリ301に転送した場合には、ATMセル格
納メモリ201上の転送済みのセルと転送していないセ
ルとの識別を可能にするために、CIDのポインタ「S
end」を転送した最後のセルの先頭位置を指示するよ
うに変更する。
When the number of cells stored in the ATM cell storage memory 201 becomes equal to or greater than the constant "CMAX", the process proceeds to step S2.
0 and S21 are executed. In step S20, the CMAX ATs are transmitted from the ATM cell storage memory 201 to the upper header storage memory 301 using the DMA control circuit 220.
The payload of the M cell is DMA-transferred. When the cell is transferred to the upper header storage memory 301, the CID pointer "S" is used to enable the discrimination between the transferred cell and the non-transferred cell on the ATM cell storage memory 201.
"end" is changed to indicate the head position of the last cell to which the "end" has been transferred.

【0065】例えば、図11に示す例において受信バッ
ファの先頭から2つのATMセルを転送した場合には、
受信バッファの2番目の記憶領域M22の先頭アドレス
T22を指示するようにCIDの「Send」を書き換
える。図2に示すように上位ヘッダ処理ユニット300
が複数存在する場合には、転送先の上位ヘッダ処理ユニ
ット300をVC毎あるいはCID毎に切り替える。こ
れにより、互いに異なるパケットを複数の上位ヘッダ処
理ユニット300で並行して処理することが可能にな
る。
For example, when two ATM cells are transferred from the head of the reception buffer in the example shown in FIG.
The CID “Send” is rewritten so as to indicate the start address T22 of the second storage area M22 of the reception buffer. As shown in FIG.
When there are a plurality of CIDs, the transfer destination upper header processing unit 300 is switched for each VC or CID. Thereby, it becomes possible to process different packets in parallel by the plurality of upper header processing units 300.

【0066】ステップS21では、ステップS20で転
送したセルに対応するCIDの情報をATMセル情報抽
出モジュール202から上位ヘッダ情報抽出モジュール
302に対して例えば制御コマンドの形式で転送すると
ともに、処理すべき情報を転送したことを通知する。
In step S21, the CID information corresponding to the cell transferred in step S20 is transferred from the ATM cell information extraction module 202 to the upper header information extraction module 302, for example, in the form of a control command, and information to be processed is stored. Notify that was transferred.

【0067】なお、各CIDのサイズは固定(32バイ
ト)になっているので、受信管理テーブルの先頭アドレ
スをCIDTOPとすればN番目のCIDの先頭アドレスAx
は、次式から求めることができる。 Ax=(CIDTOP)+(N−1)×32 図5に示すステップS19〜S21の処理によって、各
パケットについて2つ(CMAX)のATMセルがAT
Mセル格納メモリ201に蓄積された時点で、2つ(C
MAX)のATMセルが連続的にATMセル格納メモリ
201から上位ヘッダ格納メモリ301に転送される。
その直後に、上位ヘッダ情報抽出モジュール302はそ
のパケットの処理を開始することができる。
Since the size of each CID is fixed (32 bytes), if the start address of the reception management table is CIDTOP, the start address Ax of the Nth CID is set.
Can be obtained from the following equation. Ax = (CIDTOP) + (N−1) × 32 By the processing of steps S19 to S21 shown in FIG. 5, two (CMAX) ATM cells are
When the data is stored in the M cell storage memory 201, two (C
MAX) ATM cells are continuously transferred from the ATM cell storage memory 201 to the upper header storage memory 301.
Immediately thereafter, the upper header information extraction module 302 can start processing the packet.

【0068】すなわち、IP,TCPのプロトコルを採
用する場合、ほとんどの場合1つのAAL5のCPCS
−PDUを構成する先頭のATMセルの2セル内にI
P,TCPのプロトコルの情報が含まれるという事実が
あるので、1つのパケットを構成する全てのセルの到着
を待つことなく、先頭の2つのATMセルが到着した時
点で、IP,TCPのプロトコルに関する情報抽出など
の処理を上位ヘッダ処理ユニット300は開始すること
ができる。
That is, when the IP and TCP protocols are adopted, in most cases, one AAL5 CPCS is used.
-In the first two ATM cells constituting the PDU,
Due to the fact that the information of the P and TCP protocols is included, the IP and TCP protocols are not considered when the first two ATM cells arrive without waiting for the arrival of all the cells constituting one packet. The upper header processing unit 300 can start processing such as information extraction.

【0069】なお、CIDの定数「CMAX」の値につ
いては3以上の値を割り当てることも可能であるが2に
するのが望ましい。各々の上位ヘッダ処理ユニット30
0においては、上位ヘッダ情報抽出モジュール302が
図7に示すような動作を行う。ステップS51では処理
対象のセル(ペイロードのみ)の情報が上位ヘッダ格納
メモリ301上に存在するか否かを識別する。ATMセ
ル処理ユニット200のATMセル情報抽出モジュール
202が転送の完了を上位ヘッダ情報抽出モジュール3
02に通知する場合には、その通知を上位ヘッダ情報抽
出モジュール302が受けたか否かを識別すればよい。
The value of the CID constant "CMAX" may be 3 or more, but is preferably set to 2. Each upper header processing unit 30
At 0, the upper header information extraction module 302 operates as shown in FIG. In step S51, it is determined whether or not the information of the processing target cell (payload only) exists in the upper header storage memory 301. The ATM cell information extraction module 202 of the ATM cell processing unit 200 notifies the completion of the transfer that the upper header information extraction module 3
In the case where the notification is made to No. 02, whether or not the notification has been received by the upper header information extraction module 302 may be identified.

【0070】ステップS52では、上位ヘッダ格納メモ
リ301上の複数セルのペイロードの情報を処理して、
ペイロードの中からTCP/IPのヘッダ情報及びそれ
に付随するペイロード情報を抽出する。ステップS53
では、ステップS52で抽出した情報を情報入出力回路
303を介して外部の装置に出力する。また、情報入出
力回路303を介して外部から入力された情報によって
上位ヘッダ格納メモリ301上のペイロードの情報を書
き換えることもできる。
In step S52, the information of the payload of a plurality of cells in the upper header storage memory 301 is processed, and
The TCP / IP header information and the payload information accompanying it are extracted from the payload. Step S53
Then, the information extracted in step S52 is output to an external device via the information input / output circuit 303. Also, the information of the payload on the upper header storage memory 301 can be rewritten by information input from the outside via the information input / output circuit 303.

【0071】1つのパケットに関する上位ヘッダ情報抽
出モジュール302の処理が終了した場合には、ステッ
プS54からS55に進む。ステップS55では、上位
ヘッダ処理ユニット300の処理が終了したことを示す
終了命令を上位ヘッダ情報抽出モジュール302からA
TMセル処理ユニット200のATMセル情報抽出モジ
ュール202に通知するとともに、処理が終了したパケ
ットのCIDをATMセル情報抽出モジュール202に
通知する。
When the processing of the upper header information extraction module 302 for one packet is completed, the process proceeds from step S54 to S55. In step S55, a termination instruction indicating that the processing of the upper header processing unit 300 has been completed is sent from the upper header information extraction module 302 to the A.
In addition to notifying the ATM cell information extraction module 202 of the TM cell processing unit 200, the CID of the processed packet is notified to the ATM cell information extraction module 202.

【0072】処理の終了したATMセルを再び伝送路に
送出するために、ATMセル処理ユニット200のAT
Mセル情報抽出モジュール202は図8に示す処理を実
行する。以下、図8に示す処理について説明する。ステ
ップS30では、上位のユニットである上位ヘッダ処理
ユニット300の処理が終了したか否かを識別する。実
際には、図7に示すステップS55で終了命令がATM
セル情報抽出モジュール202に入力されるので、その
終了命令の入力の有無を識別する。
In order to send the processed ATM cell to the transmission line again, the ATM cell processing unit 200
The M cell information extraction module 202 executes the processing shown in FIG. Hereinafter, the processing illustrated in FIG. 8 will be described. In step S30, it is determined whether or not the processing of the upper header processing unit 300, which is the upper unit, has been completed. Actually, in step S55 shown in FIG.
Since the information is input to the cell information extraction module 202, it is determined whether or not the end instruction has been input.

【0073】ステップS31では、ATMセル格納メモ
リ201上のATMセルに関するATMセル情報抽出モ
ジュール202自身の情報抽出処理が終了したか否かを
識別する。上位ヘッダ処理ユニット300が処理を終了
した場合又はATMセル情報抽出モジュール202が処
理を終了した場合には、ステップS32に進む。ステッ
プS32では、上位ヘッダ処理ユニット300がその処
理の中でペイロードを修正したか否かを識別する。修正
した場合にはステップS33に進む。
In step S31, it is determined whether or not the information extraction processing of the ATM cell information extraction module 202 relating to the ATM cell in the ATM cell storage memory 201 has been completed. When the upper header processing unit 300 has completed the processing or when the ATM cell information extraction module 202 has completed the processing, the process proceeds to step S32. In step S32, it is determined whether or not the upper header processing unit 300 has modified the payload during the processing. If corrected, the process proceeds to step S33.

【0074】ステップS33では、ATMセル格納メモ
リ201上のフリーリストからCMAX個のATMセル
を格納するための記憶領域を確保するとともに、上位ヘ
ッダ格納メモリ301上に存在するCMAX個のセルの
ペイロードをATMセル格納メモリ201上に確保され
た記憶領域に転送する。実際には、DMA制御回路22
0を用いて連続的にDMA転送を行う。
In step S33, a storage area for storing CMAX ATM cells is secured from the free list on the ATM cell storage memory 201, and the payload of the CMAX cells existing on the upper header storage memory 301 is stored. The data is transferred to the storage area secured on the ATM cell storage memory 201. Actually, the DMA control circuit 22
DMA transfer is continuously performed using 0.

【0075】ステップS33ではペイロードのみを転送
するので、それの転送先の記憶利用域にはセルのヘッダ
はまだ存在しない。そこで、次のステップS34では、
上位ヘッダ情報抽出モジュール302が図7のステップ
S55で通知するCIDを用いてそれに対応するATM
セルのヘッダをATMセル格納メモリ201上の受信バ
ッファから取得し、ステップS33で確保した記憶領域
にコピーする。
In step S33, since only the payload is transferred, the cell header does not yet exist in the storage use area of the transfer destination. Therefore, in the next step S34,
The upper header information extraction module 302 uses the CID notified in step S55 of FIG.
The header of the cell is obtained from the reception buffer on the ATM cell storage memory 201, and copied to the storage area secured in step S33.

【0076】ステップS35では、ステップS33で確
保した記憶領域を送信バッファの最後に連結する。つま
り、CMAX個の処理後のATMセルを送信対象の記憶
領域に追加する。ステップS36では、受信バッファの
残りのセルを送信バッファの最後に連結する。つまり、
受信バッファに蓄積されているY個のATMセルのう
ち、上位ヘッダ処理ユニット30に転送したCMAX個
のATMセルを除いた(Y−CMAX)個のATMセルの
記憶領域を送信バッファに連結する。
In step S35, the storage area secured in step S33 is linked to the end of the transmission buffer. That is, CMAX processed ATM cells are added to the storage area to be transmitted. In step S36, the remaining cells in the reception buffer are connected to the end of the transmission buffer. That is,
The storage area of (Y-CMAX) ATM cells excluding the CMAX ATM cells transferred to the upper header processing unit 30 from the Y ATM cells stored in the reception buffer is connected to the transmission buffer.

【0077】具体例について、図12を参照して説明す
る。図12では、互いに連結された固定長の記憶領域M
11,M12,M13,M14がフリーリストとして存
在し、互いに連結された固定長の記憶領域M21,M2
2,M23,M24が受信バッファとして割り当てら
れ、互いに連結された固定長の記憶領域M31,M3
2,M33,M34が送信バッファとして割り当てられ
た状態を示している。
A specific example will be described with reference to FIG. In FIG. 12, fixed-length storage areas M connected to each other are shown.
11, M12, M13, and M14 exist as free lists, and are fixed-length storage areas M21 and M2 connected to each other.
2, M23 and M24 are allocated as reception buffers and are connected to each other in fixed-length storage areas M31 and M3.
2, M33 and M34 are allocated as transmission buffers.

【0078】図12の状態では、記憶領域M11がフリ
ーリストの先頭に位置しその先頭アドレスT11がフリ
ーリストの先頭アドレスになっている。また、記憶領域
M21が受信バッファの先頭に位置し、記憶領域M24
が受信バッファの最後尾に位置している。同様に記憶領
域M31が送信バッファの先頭に位置し、記憶領域M3
4が送信バッファの最後尾に位置している。なお、最後
尾の各記憶領域M24,M34,M14ののリンク情報
にはヌルが保持されている。
In the state shown in FIG. 12, the storage area M11 is located at the head of the free list, and its head address T11 is the head address of the free list. Also, the storage area M21 is located at the head of the reception buffer, and the storage area M24
Is located at the end of the reception buffer. Similarly, the storage area M31 is located at the head of the transmission buffer, and the storage area M3
4 is located at the end of the transmission buffer. Note that null is held in the link information of the last storage areas M24, M34, and M14.

【0079】ステップS33を実行する場合には、例え
ば図12のフリーリストの先頭の2つの記憶領域M1
1,M12を確保し、それらに上位ヘッダ処理ユニット
300から転送される2セルのペイロードを書き込む。
この場合、記憶領域M13がフリーリストの先頭になる
ようにフリーリストの位置を示すポインタの値が変更さ
れる。また、最後尾になる記憶領域M12のリンク情報
にはヌルが書き込まれる。
When step S33 is executed, for example, the first two storage areas M1 of the free list in FIG.
1 and M12 are secured, and a 2-cell payload transferred from the upper header processing unit 300 is written in them.
In this case, the value of the pointer indicating the position of the free list is changed so that the storage area M13 is at the head of the free list. A null is written in the link information of the last storage area M12.

【0080】ステップS35を実行する場合には、フリ
ーリストに確保された記憶領域M11,M12を送信バ
ッファの最後の記憶領域M34に連結する。すなわち、
記憶領域M34のリンク情報に記憶領域M11の先頭ア
ドレスT11を書き込む。ステップS36では、受信バ
ッファの中で上位ヘッダ格納メモリ301に転送しなか
った3番目の記憶領域M23以降の受信バッファを送信
バッファの最後に連結する。つまり、上記の処理で連結
された記憶領域M12が送信バッファの最後尾の場合を
想定すると、記憶領域M12のリンク情報に記憶領域M
23の先頭アドレスT23を書き込む。
When step S35 is executed, the storage areas M11 and M12 secured in the free list are linked to the last storage area M34 of the transmission buffer. That is,
The head address T11 of the storage area M11 is written in the link information of the storage area M34. In step S36, the receiving buffers after the third storage area M23, which have not been transferred to the upper header storage memory 301 among the receiving buffers, are connected to the end of the transmitting buffer. That is, assuming that the storage area M12 connected in the above processing is the last of the transmission buffer, the link information of the storage area M12 is included in the link information of the storage area M12.
23 is written as the top address T23.

【0081】上位ヘッダ処理ユニット300から受信し
たセルが存在しない場合には、ステップS36では処理
が終了したCIDの受信バッファの全ての記憶領域を送
信バッファに連結する。なお、連結によって送信バッフ
ァが変化した場合には、送信バッファの先頭及び最後尾
の各記憶領域の先頭位置を指示するポインタ(Send
−Top,Send−Tail)の値も修正する。同様
に、受信バッファの領域が変化した場合には、それに伴
ってCIDのポインタ「Top」,「Tail」が修正
される。受信バッファが空になった場合には、ポインタ
「Top」,「Send」,「Tai1」の内容は全て
ヌルになる。
If there is no cell received from the upper header processing unit 300, in step S36, all storage areas of the reception buffer of the CID for which processing has been completed are connected to the transmission buffer. If the transmission buffer changes due to the concatenation, a pointer (Send) indicating the head position of each of the head and tail storage areas of the transmission buffer.
-Top, Send-Tail) is also corrected. Similarly, when the area of the reception buffer changes, the CID pointers “Top” and “Tail” are corrected accordingly. When the reception buffer becomes empty, the contents of the pointers “Top”, “Send”, and “Tai1” are all null.

【0082】図8のステップS37では、各々のCID
について、送信バッファ上のパケットのCRCをCRC
再計算モジュール204を用いてセル毎に計算する。但
し、上位ヘッダ処理ユニット300で修正されなかった
CIDについてはCRCの計算を省略する。送信バッフ
ァはVC多重されているので、1つのパケット全体のC
RCの結果が得られるまでの間にVCが切り替わり、C
RC計算処理が中断する可能性がある。そこで、計算の
途中結果は対応するCIDの「OCRC」に保持され
る。
In step S37 of FIG. 8, each CID
The CRC of the packet on the transmission buffer
The calculation is performed for each cell using the recalculation module 204. However, CRC calculation is omitted for CIDs that have not been modified by the upper header processing unit 300. Since the transmission buffer is VC-multiplexed, the C of one entire packet is
VC is switched before RC result is obtained, and C
The RC calculation process may be interrupted. Therefore, the intermediate result of the calculation is held in the corresponding CID “OCRC”.

【0083】ステップS38では、各CIDについて最
終セルのCRC再計算(S37)が終了したか否かを識
別する。終了した場合にはステップS39に進む。ステ
ップS39では対応するCIDの「flag」を参照
し、入力時のCRC計算の際に検出されたCRCエラー
の有無(図5のS16参照)を識別する。入力時にCR
Cエラーが検出されなかった場合には、ステップS40
に進み、セルのCRCの値をステップS37で再計算さ
れたCRCの値に変更する。また、入力時にCRCエラ
ーが検出された場合にはステップS41に進む。
In step S38, it is determined whether or not the CRC recalculation (S37) of the last cell has been completed for each CID. If the processing has been completed, the process proceeds to step S39. In step S39, the presence / absence of a CRC error detected at the time of CRC calculation at the time of input (see S16 in FIG. 5) is identified by referring to the “flag” of the corresponding CID. CR on input
If no C error is detected, step S40
To change the CRC value of the cell to the CRC value recalculated in step S37. If a CRC error is detected at the time of input, the process proceeds to step S41.

【0084】ステップS41では、再計算により得られ
たCRCの一部のビットを反転してそれにエラーを挿入
する。そして、エラーが挿入されたCRC値が処理中の
セルに新しいCRC値として書き込まれる。ステップS
42では、送信バッファの先頭位置から順次に処理後の
ATMセルのデータを通信信号入出力ユニット100の
ATMフレーマ110に転送する。
In step S41, some bits of the CRC obtained by the recalculation are inverted and errors are inserted therein. Then, the CRC value into which the error has been inserted is written to the cell being processed as a new CRC value. Step S
At 42, the data of the processed ATM cell is sequentially transferred to the ATM framer 110 of the communication signal input / output unit 100 from the head position of the transmission buffer.

【0085】この転送によって、送信したセルを保持し
ている送信バッファ上の記憶領域は不要になるので、次
のステップS43では不要になった記憶領域を解放して
フリーリストに連結する。例えば、図12に示す送信バ
ッファの記憶領域M31のATMセルを転送した場合に
は、送信バッファの先頭アドレスを示すポインタの値を
記憶領域M32の先頭アドレスT32に変更し、フリー
リストの最後の記憶領域M14のリンク情報に記憶領域
M31の先頭アドレスT31を書き込み、記憶領域M3
1のリンク情報にヌルを書き込む。最後のセルを転送し
た場合には、送信バッファの先頭及び最後尾の位置を示
すポインタにヌルを書き込む。
Since the storage area in the transmission buffer holding the transmitted cell becomes unnecessary by this transfer, the unnecessary storage area is released and linked to the free list in the next step S43. For example, when the ATM cell in the storage area M31 of the transmission buffer shown in FIG. 12 is transferred, the value of the pointer indicating the start address of the transmission buffer is changed to the start address T32 of the storage area M32, and the last storage of the free list is performed. The head address T31 of the storage area M31 is written in the link information of the area M14, and the storage area M3
A null is written in the link information of No. 1. When the last cell has been transferred, null is written to the pointers indicating the start and end positions of the transmission buffer.

【0086】ATMフレーマ110に転送された各AT
Mセルの信号は順次に伝送路に送出される。なお、各V
CのATMセル格納メモリ201の送信バッファ上の全
てのセルがATMフレーマ110に転送された場合に
は、VCI管理メモリ203の対応するVCの状態を処
理終了を示すように変更し、それ以降に受け取る最終セ
ルまでのATMセルは通信信号入出力ユニット100に
おいて、折り返し伝送路へ出力される。
Each AT transferred to the ATM framer 110
The signals of the M cells are sequentially transmitted to the transmission path. Note that each V
When all the cells in the transmission buffer of the ATM cell storage memory 201 for C have been transferred to the ATM framer 110, the state of the corresponding VC in the VCI management memory 203 is changed to indicate the end of processing, and thereafter, The received ATM cells up to the last cell are output to the return transmission path in the communication signal input / output unit 100.

【0087】また、1つのCIDの最終セルまで伝送路
へ送信し終えたら、当該CIDを未使用CIDとして、
次に受信するVCの使用に供する。このような処理によ
って、受信したVC多重のATMストリームから各VC
を分離して、パケット毎にセル単位で管理することが可
能になり、上位ヘッダ処理ユニット300に対しても容
易にパケットの情報を転送できる。
When transmission to the transmission line up to the last cell of one CID is completed, the CID is set as an unused CID,
Next, use the received VC. By such processing, each VC is multiplexed from the received VC multiplexed ATM stream.
Can be managed on a cell-by-cell basis for each packet, and packet information can be easily transferred to the upper header processing unit 300 as well.

【0088】上記のように、所定の受信ポートを介して
ATMフレーマ110が伝送路から受信したデータは、
ATMフレーマ110に逐次蓄えられる。VC分離モジ
ュール130は、ATMフレーマ110が受信した情報
から判断して、そのセルをそのままATMフレーマ11
0の送信ポートに送出するか、DMA制御回路120を
介してATMセル処理ユニット200へ転送するかを選
択する。その際、入力CRC計算回路140によって計
算されたCRCの値によって入力パケットにエラーがあ
るか否かを判断する。
As described above, the data received by the ATM framer 110 from the transmission line via the predetermined reception port is:
It is sequentially stored in the ATM framer 110. The VC separation module 130 determines the cell based on the information received by the ATM framer 110 and converts the cell as it is into the ATM framer 11.
0 or to transfer to the ATM cell processing unit 200 via the DMA control circuit 120. At this time, it is determined whether or not there is an error in the input packet based on the CRC value calculated by the input CRC calculation circuit 140.

【0089】通信信号入出力ユニット100はVC毎に
セルを分離する必要があるので、図9に示すように互い
にVCの異なるセルC1(1),C2(2),C3(3),C4
(4)が順次に受信される場合(括弧内の数字がVCを表
すものとする)には、1セル単位でATMフレーマ11
0からATMセル格納メモリ201に転送を行う。しか
し、図10に示すように同じVCのセルが連続する場合
には、VC毎にセルが分離され、複数のセルが連続的な
DMA処理によってATMフレーマ110からATMセ
ル格納メモリ201に転送される。
Since the communication signal input / output unit 100 needs to separate cells for each VC, as shown in FIG. 9, cells C1 (1), C2 (2), C3 (3), C4 having different VCs from each other.
When (4) is sequentially received (assuming that the number in parentheses indicates VC), the ATM framer 11 is received in units of one cell.
From 0, transfer to the ATM cell storage memory 201 is performed. However, when cells of the same VC are continuous as shown in FIG. 10, cells are separated for each VC, and a plurality of cells are transferred from the ATM framer 110 to the ATM cell storage memory 201 by continuous DMA processing. .

【0090】図10に示すように複数のセルを連続的に
転送する場合には、セル間のDMA初期化遅延時間を省
略できるため短時間で転送が完了する。なお、ATMセ
ル処理ユニット200に接続する上位ヘッダ処理ユニッ
ト300の数については必要とされる処理速度などに応
じて変更すればよく、1つでも良いが2つ以上設けるの
が望ましい。
When a plurality of cells are continuously transferred as shown in FIG. 10, the transfer can be completed in a short time because the DMA initialization delay time between cells can be omitted. The number of higher-order header processing units 300 connected to the ATM cell processing unit 200 may be changed according to the required processing speed or the like, and may be one or two or more.

【0091】各CIDについて複数の中から使用する上
位ヘッダ処理ユニット300を割り当てる処理はATM
セル情報抽出モジュール202で行えばよい。割り当て
の方法としては、CIDの下位ビットに応じて割り当て
るなど、様々な方法が考えられるができるだけ複数の上
位ヘッダ処理ユニット300が同時に動作するように割
り当てるのが望ましい。
The process of allocating the upper header processing unit 300 to be used from among a plurality of CIDs for each CID is performed by ATM.
This may be performed by the cell information extraction module 202. Various methods can be considered as an allocation method, such as allocation according to the lower bits of the CID. However, it is preferable that the allocation is performed so that a plurality of upper header processing units 300 operate simultaneously as much as possible.

【0092】この例では、ATMセル処理ユニット20
0から上位ヘッダ処理ユニット300に転送するATM
セルのペイロードの数をCMAXで固定している。しか
し、例えば上位ヘッダ処理ユニット300の上位ヘッダ
情報抽出モジュール302がCMAX以上のセルの情報
を必要と判断した場合に、さらなるATMセルのペイロ
ードを転送するように変更しても良い。
In this example, the ATM cell processing unit 20
ATM to transfer from 0 to upper header processing unit 300
The number of cell payloads is fixed by CMAX. However, for example, when the upper header information extraction module 302 of the upper header processing unit 300 determines that the information of the cell of CMAX or more is necessary, a change may be made to transfer the payload of the further ATM cell.

【0093】また、上位ヘッダ処理ユニット300から
追加のセルを転送するための制御コマンドが発行された
場合に、ATMセル処理ユニット200のCIDにおけ
るCMAXの値を追加分だけ自動的に変更するように制
御しても良い。この例では、上位ヘッダ処理ユニット3
00を利用してパケット単位の情報を抽出する場合を示
したが、上位ヘッダ処理ユニット300を利用すること
なく、ATMセル処理ユニット200だけで情報の抽出
を行うような制御モードを追加したり構成を変更しても
良い。
When a control command for transferring an additional cell is issued from the upper header processing unit 300, the value of CMAX in the CID of the ATM cell processing unit 200 is automatically changed by the added amount. It may be controlled. In this example, the upper header processing unit 3
00 is used to extract information in packet units. However, a control mode in which information is extracted only by the ATM cell processing unit 200 without using the upper header processing unit 300 is added. May be changed.

【0094】その場合には、通信信号入出力ユニット1
00が受信したATMセルをATMセル処理ユニット2
00に転送し、ATMセル処理ユニット200の処理が
終了したATMセルを通信信号入出力ユニット100に
転送するように変更すれば良い。この場合にも、ATM
セル処理ユニット200において修正を行った場合には
CRCの再計算を行うのが望ましい。
In that case, the communication signal input / output unit 1
00 receives the received ATM cell in the ATM cell processing unit 2
00, and the ATM cells processed by the ATM cell processing unit 200 may be transferred to the communication signal input / output unit 100. Also in this case, ATM
When a correction is made in the cell processing unit 200, it is desirable to recalculate the CRC.

【0095】(第2の実施の形態)本発明のプロトコル
処理装置のもう1つの実施の形態について、図13を参
照して説明する。この形態は請求項6に対応する。図1
3はこの形態のプロトコル処理装置のハードウェアを示
すブロック図である。この形態は、第1の実施の形態の
変形例である。図13において、図2と対応する要素は
同一の符号を付けて示してある。
(Second Embodiment) Another embodiment of the protocol processing apparatus of the present invention will be described with reference to FIG. This embodiment corresponds to claim 6. FIG.
FIG. 3 is a block diagram showing hardware of the protocol processing device of this embodiment. This embodiment is a modification of the first embodiment. 13, elements corresponding to those in FIG. 2 are denoted by the same reference numerals.

【0096】この形態では、請求項6の複数組のバスは
ローカルバス190,270に対応する。第1の実施の
形態と異なる部分のみについて以下に説明する。図13
を参照すると、通信信号入出力ユニット100の内部に
はローカルバス190が設けてあり、ATMフレーマ1
10,DMA制御回路120,VC分離モジュール13
0,入力CRC計算回路140はローカルバス190と
接続されている。また、通信信号入出力ユニット100
にはバス選択回路180が設けてある。ATMセル処理
ユニット200には、バス選択回路290が設けてあ
る。
In this embodiment, the plurality of sets of buses in claim 6 correspond to the local buses 190 and 270. Only parts different from the first embodiment will be described below. FIG.
Referring to FIG. 1, a local bus 190 is provided inside the communication signal input / output unit 100, and the ATM framer 1
10, DMA control circuit 120, VC separation module 13
0, the input CRC calculation circuit 140 is connected to the local bus 190. The communication signal input / output unit 100
Is provided with a bus selection circuit 180. The ATM cell processing unit 200 includes a bus selection circuit 290.

【0097】バス選択回路180は、通信信号入出力ユ
ニット100内部のローカルバス190とATMセル処
理ユニット200内部のローカルバス270とのいずれ
か一方を選択し、ATMフレーマ110の入力に接続す
る。バス選択回路180の選択状態は、VC分離モジュ
ール130から出力される信号SEL(1)によって制御
される。
The bus selection circuit 180 selects one of the local bus 190 inside the communication signal input / output unit 100 and the local bus 270 inside the ATM cell processing unit 200, and connects it to the input of the ATM framer 110. The selection state of the bus selection circuit 180 is controlled by a signal SEL (1) output from the VC separation module 130.

【0098】バス選択回路290は、ATMセル処理ユ
ニット200内部のローカルバス270と通信信号入出
力ユニット100内部のローカルバス190とのいずれ
か一方を選択し、データ用メモリ210の入力に接続す
る。バス選択回路290の選択状態は、マイクロプロセ
ッサ230から出力される信号SEL(2)によって制御
される。
The bus selection circuit 290 selects one of the local bus 270 inside the ATM cell processing unit 200 and the local bus 190 inside the communication signal input / output unit 100, and connects it to the input of the data memory 210. The selection state of the bus selection circuit 290 is controlled by a signal SEL (2) output from the microprocessor 230.

【0099】また、通信信号入出力ユニット100内部
のDMA制御回路120,VC分離モジュール130は
2組のローカルバス190,270にそれぞれ接続され
ている。また、ATMセル処理ユニット200内部のマ
イクロプロセッサ230は2組のローカルバス190,
270にそれぞれ接続されている。図13の装置におい
ては、通信信号入出力ユニット100のATMフレーマ
110とATMセル処理ユニット200のデータ用メモ
リ210との間のデータ転送に2組のローカルバス19
0,270の両方を利用できる。
The DMA control circuit 120 and the VC separation module 130 in the communication signal input / output unit 100 are connected to two sets of local buses 190 and 270, respectively. The microprocessor 230 in the ATM cell processing unit 200 has two sets of local buses 190,
270 respectively. In the apparatus shown in FIG. 13, two sets of local buses 19 are used for data transfer between the ATM framer 110 of the communication signal input / output unit 100 and the data memory 210 of the ATM cell processing unit 200.
Both 0 and 270 can be used.

【0100】図13の例では、ATMフレーマ110か
らデータ用メモリ210に向けてデータ転送する場合に
は、ローカルバス190及びバス選択回路290を介し
て転送を行う。また、データ用メモリ210からATM
フレーマ110に向けてデータ転送する場合には、ロー
カルバス270及びバス選択回路180を介して転送を
行う。
In the example of FIG. 13, when data is transferred from the ATM framer 110 to the data memory 210, the transfer is performed via the local bus 190 and the bus selection circuit 290. Also, the data memory 210 stores the ATM
When data is transferred to the framer 110, the data is transferred via the local bus 270 and the bus selection circuit 180.

【0101】また、ローカルバス190は通信信号入出
力ユニット100の内部処理にも利用され、ローカルバ
ス270はATMセル処理ユニット200の内部処理に
も利用される。ATMフレーマ110とデータ用メモリ
210との間でデータ転送を行わない時には、VC分離
モジュール130から出力される信号SEL(1)によっ
てバス選択回路180はローカルバス190を選択す
る。また、マイクロプロセッサ230が出力する信号S
EL(2)によってバス選択回路290はローカルバス2
70を選択する。この状態では、ローカルバス190は
通信信号入出力ユニット100内部での処理に利用さ
れ、ローカルバス270はATMセル処理ユニット20
0内部での処理に利用される。
The local bus 190 is also used for internal processing of the communication signal input / output unit 100, and the local bus 270 is also used for internal processing of the ATM cell processing unit 200. When data transfer is not performed between the ATM framer 110 and the data memory 210, the bus selection circuit 180 selects the local bus 190 by the signal SEL (1) output from the VC separation module 130. Also, the signal S output from the microprocessor 230
The EL (2) causes the bus selection circuit 290 to switch to the local bus 2
Select 70. In this state, the local bus 190 is used for processing inside the communication signal input / output unit 100, and the local bus 270 is used for the ATM cell processing unit 20.
0 is used for internal processing.

【0102】通信信号入出力ユニット100からATM
セル処理ユニット200に向かってデータを転送する場
合には、通信信号入出力ユニット100内部のVC分離
モジュール130がDMA制御回路120に対して転送
指示を発生する。この場合、DMA制御回路120はロ
ーカルバス190を介してATMセル処理ユニット20
0内部のマイクロプロセッサ230に対し命令を送信す
る。
The communication signal input / output unit 100 sends the ATM
When transferring data to the cell processing unit 200, the VC separation module 130 in the communication signal input / output unit 100 generates a transfer instruction to the DMA control circuit 120. In this case, the DMA control circuit 120 sends the ATM cell processing unit 20 via the local bus 190.
0 sends an instruction to the microprocessor 230 inside.

【0103】この命令により、マイクロプロセッサ23
0が信号SEL(2)を出力し、バス選択回路290はロ
ーカルバス190を選択する。この後で、DMA制御回
路120の制御によりATMフレーマ110から読み出
されたデータがデータ用メモリ210に書き込まれるよ
うにデータ転送が実行される。ATMセル処理ユニット
200から通信信号入出力ユニット100に向かってデ
ータを転送する場合には、ATMセル処理ユニット20
0内部のマイクロプロセッサ230がローカルバス19
0を介してDMA制御回路120に対して転送指示を与
える。
This instruction causes the microprocessor 23
0 outputs the signal SEL (2), and the bus selection circuit 290 selects the local bus 190. Thereafter, data transfer is performed such that the data read from the ATM framer 110 is written into the data memory 210 under the control of the DMA control circuit 120. When data is transferred from the ATM cell processing unit 200 to the communication signal input / output unit 100, the ATM cell processing unit 20
0, the microprocessor 230 in the local bus 19
0, a transfer instruction is given to the DMA control circuit 120.

【0104】この場合、DMA制御回路120はローカ
ルバス190を介してバス選択回路180がローカルバ
ス270の信号を選択するように制御する。その後で、
DMA制御回路120の制御によりデータ用メモリ21
0から読み出されたデータがATMフレーマ110に書
き込まれるようにデータ転送が実行される。 (第3の実施の形態)本発明のプロトコル処理装置のも
う1つの実施の形態について、図14を参照して説明す
る。この形態は請求項6に対応する。
In this case, the DMA control circuit 120 controls the bus selection circuit 180 via the local bus 190 to select a signal on the local bus 270. after,
The data memory 21 is controlled by the DMA control circuit 120.
Data transfer is performed so that data read from 0 is written to the ATM framer 110. (Third Embodiment) Another embodiment of the protocol processing apparatus of the present invention will be described with reference to FIG. This embodiment corresponds to claim 6.

【0105】図14はこの形態のプロトコル処理装置の
ハードウェアを示すブロック図である。この形態は、第
1の実施の形態の変形例である。図14において、図2
と対応する要素は同一の符号を付けて示してある。
FIG. 14 is a block diagram showing hardware of the protocol processing apparatus of this embodiment. This embodiment is a modification of the first embodiment. In FIG. 14, FIG.
Elements corresponding to are denoted by the same reference numerals.

【0106】この形態では、請求項6の複数組のバスは
C−PCIバス391,392に対応する。第1の実施
の形態と異なる部分のみについて以下に説明する。図1
4の例では、2つのC−PCIバス391,392とそ
れぞれ接続するために2つのC−PCIバスインタフェ
ース280,285がATMセル処理ユニット200に
備わっている。また、2つのC−PCIバス391,3
92とそれぞれ接続するために2つのC−PCIバスイ
ンタフェース380,385が各上位ヘッダ処理ユニッ
ト300に備わっている。
In this embodiment, the plural sets of buses in claim 6 correspond to the C-PCI buses 391 and 392. Only parts different from the first embodiment will be described below. FIG.
In the example of No. 4, the ATM cell processing unit 200 has two C-PCI bus interfaces 280 and 285 for connecting to the two C-PCI buses 391 and 392, respectively. Also, two C-PCI buses 391 and 3
Two C-PCI bus interfaces 380 and 385 are provided in each higher-level header processing unit 300 to connect to each of the upper-level header processing units 300 and 92.

【0107】ATMセル処理ユニット200のデータ用
メモリ210及びマイクロプロセッサ230は、2つの
C−PCIバスインタフェース280,285にそれぞ
れ接続されている。C−PCIバスインタフェース28
0はC−PCIバス391と接続してあり、C−PCI
バスインタフェース285はC−PCIバス392と接
続してある。
The data memory 210 and the microprocessor 230 of the ATM cell processing unit 200 are connected to two C-PCI bus interfaces 280 and 285, respectively. C-PCI bus interface 28
0 is connected to the C-PCI bus 391,
The bus interface 285 is connected to the C-PCI bus 392.

【0108】また、各上位ヘッダ処理ユニット300の
データ用メモリ310及びマイクロプロセッサ330は
2つのC−PCIバスインタフェース380,385に
それぞれ接続されている。C−PCIバスインタフェー
ス380はC−PCIバス392と接続してあり、C−
PCIバスインタフェース385はC−PCIバス39
1と接続してある。
The data memory 310 and the microprocessor 330 of each upper header processing unit 300 are connected to two C-PCI bus interfaces 380 and 385, respectively. The C-PCI bus interface 380 is connected to the C-PCI bus 392,
The PCI bus interface 385 is connected to the C-PCI bus 39.
Connected to 1.

【0109】従って、ATMセル処理ユニット200と
各上位ヘッダ処理ユニット300との間では、2組のC
−PCIバス391,392を同時に利用してデータ転
送することができる。図14の例では、ATMセル処理
ユニット200から上位ヘッダ処理ユニット300に向
かう方向のデータ(セル・ペイロード)転送については
C−PCIバス391を利用し、上位ヘッダ処理ユニッ
ト300からATMセル処理ユニット200に向かう方
向のデータ(セル・ペイロード)転送についてはC−P
CIバス392を利用する。
Therefore, between the ATM cell processing unit 200 and each upper header processing unit 300, two sets of C
-Data can be transferred using the PCI buses 391 and 392 simultaneously. In the example of FIG. 14, the data (cell payload) in the direction from the ATM cell processing unit 200 to the upper header processing unit 300 is transferred using the C-PCI bus 391, and the upper header processing unit 300 transfers the data to the upper cell processing unit 200. For data (cell payload) transfer in the direction of
The CI bus 392 is used.

【0110】このため、ATMセル処理ユニット200
から上位ヘッダ処理ユニット300に向かう方向のデー
タ転送と上位ヘッダ処理ユニット300からATMセル
処理ユニット200に向かう方向のデータ転送とを同時
に行うことができる。ATMセル処理ユニット200か
ら上位ヘッダ処理ユニット300に向かう方向にセル・
ペイロードを転送する場合、ATMセル処理ユニット2
00のマイクロプロセッサ230がDMA制御回路22
0に対して転送指示を与える。
For this reason, the ATM cell processing unit 200
, And the data transfer in the direction from the upper header processing unit 300 to the ATM cell processing unit 200 can be performed at the same time. In the direction from the ATM cell processing unit 200 to the upper header processing unit 300,
When transferring the payload, the ATM cell processing unit 2
00 of the DMA control circuit 22
0 is given a transfer instruction.

【0111】この場合、DMA制御回路220はデータ
用メモリ210から読み出したデータ(セル・ペイロー
ド)をC−PCIバスインタフェース280に出力す
る。このデータは、C−PCIバスインタフェース28
0からC−PCIバス391を通っていずれかの上位ヘ
ッダ処理ユニット300のC−PCIバスインタフェー
ス385に入力され、データ用メモリ310に書き込ま
れる。
In this case, the DMA control circuit 220 outputs the data (cell payload) read from the data memory 210 to the C-PCI bus interface 280. This data is stored in the C-PCI bus interface 28.
From 0, the data is input to the C-PCI bus interface 385 of any of the upper header processing units 300 through the C-PCI bus 391, and is written to the data memory 310.

【0112】各々の上位ヘッダ処理ユニット300から
ATMセル処理ユニット200に向かう方向にセル・ペ
イロードを転送する場合、まず、送信する上位ヘッダ処
理ユニット300のマイクロプロセッサ330がDMA
制御回路320に転送指示を与える。この場合、DMA
制御回路320はデータ用メモリ310から読み出した
データ(セル・ペイロード)をC−PCIバスインタフ
ェース380に出力する。このデータは、C−PCIバ
スインタフェース380からC−PCIバス392を通
ってATMセル処理ユニット200のC−PCIバスイ
ンタフェース285に入力され、データ用メモリ210
に書き込まれる。
When transferring a cell payload in a direction from each upper header processing unit 300 to the ATM cell processing unit 200, first, the microprocessor 330 of the upper header processing unit 300 to be transmitted transmits a DMA.
A transfer instruction is given to the control circuit 320. In this case, DMA
The control circuit 320 outputs the data (cell payload) read from the data memory 310 to the C-PCI bus interface 380. This data is input from the C-PCI bus interface 380 to the C-PCI bus interface 285 of the ATM cell processing unit 200 through the C-PCI bus 392, and is stored in the data memory 210.
Is written to.

【0113】(第4の実施の形態)本発明のプロトコル
処理装置のもう1つの実施の形態について、図15及び
図16を参照して説明する。この形態は請求項6に対応
する。図15はこの形態のプロトコル処理装置のハード
ウェアを示すブロック図である。図16はデータ転送タ
イミングの例を示すタイムチャートである。この形態
は、第1の実施の形態の変形例である。図15におい
て、図2と対応する要素は同一の符号を付けて示してあ
る。
(Fourth Embodiment) Another embodiment of the protocol processing apparatus of the present invention will be described with reference to FIGS. This embodiment corresponds to claim 6. FIG. 15 is a block diagram showing hardware of the protocol processing device of this embodiment. FIG. 16 is a time chart showing an example of data transfer timing. This embodiment is a modification of the first embodiment. 15, elements corresponding to those in FIG. 2 are denoted by the same reference numerals.

【0114】この形態では、請求項6の複数組のバスは
バス501,502及び503に対応する。第1の実施
の形態と異なる部分のみについて以下に説明する。図1
5を参照すると、この例では3組のバス501,50
2,503が備わっている。また、通信信号入出力ユニ
ット100,ATMセル処理ユニット200,上位ヘッ
ダ処理ユニット300(1),300(2),300(3)は、
いずれも3組のバス501,502,503のそれぞれ
と共通に接続されている。
In this embodiment, the plural sets of buses in claim 6 correspond to the buses 501, 502 and 503. Only parts different from the first embodiment will be described below. FIG.
5, in this example, three sets of buses 501, 50
2,503 are provided. The communication signal input / output unit 100, the ATM cell processing unit 200, and the upper header processing units 300 (1), 300 (2), 300 (3)
All are commonly connected to each of the three sets of buses 501, 502, and 503.

【0115】つまり、通信信号入出力ユニット100,
ATMセル処理ユニット200,上位ヘッダ処理ユニッ
ト300(1),300(2),300(3)のそれぞれは、3
組のバス501,502,503を共有することがで
き、バス501,502,503の各々を各ユニットが
利用するタイミングを予め定めたスケジュールなどに従
って分離しておくことにより、ユニット間でスムーズに
データ転送を行うことができる。
That is, the communication signal input / output unit 100,
Each of the ATM cell processing unit 200 and the upper header processing units 300 (1), 300 (2), and 300 (3)
A set of buses 501, 502, and 503 can be shared, and the buses 501, 502, and 503 are separated from each other in terms of timing used by each unit according to a predetermined schedule or the like, so that data can be smoothly transferred between units. Transfer can be performed.

【0116】図15の例では、ユニット間の通信として
[(α)→(β)],[(β)→(α)],[(β)→
(γ1)],[(β)→(γ2)],[(β)→(γ
3)],[(γ1)→(β)],[(γ2)→
(β)],[(γ3)→(β)]の8種類が存在する。
なお、データ処理の流れの順番は(α)→(β)→(γ
1又はγ2又はγ3)→(β)→(α)である。
In the example of FIG. 15, the communication between the units is [(α) → (β)], [(β) → (α)], [(β) →
(Γ1)], [(β) → (γ2)], [(β) → (γ
3)], [(γ1) → (β)], [(γ2) →
(Β)] and [(γ3) → (β)].
The order of the data processing flow is (α) → (β) → (γ
1 or γ2 or γ3) → (β) → (α).

【0117】実際のユニット間のデータ転送の例につい
て図16を参照して説明する。図16の例では、通信信
号入出力ユニット100からATMセル処理ユニット2
00に対して3回のデータ転送を行い、ATMセル処理
ユニット200から出力される3組のデータを3つの上
位ヘッダ処理ユニット300(1),300(2),300
(3)でそれぞれ処理する場合を想定している。
An example of actual data transfer between units will be described with reference to FIG. In the example of FIG. 16, the communication signal input / output unit 100 sends the ATM cell processing unit 2
00 is transferred three times, and the three sets of data output from the ATM cell processing unit 200 are transferred to three upper header processing units 300 (1), 300 (2), and 300.
It is assumed that each process is performed in (3).

【0118】また、図16の(a)では、3組のバス5
01,502,503を全て使用する場合を想定し、図
16の(b)では、2組のバス501,502だけを使
用する場合を想定している。図16の(a)では、バス
501を利用して[(α)→(β)],[(β)→(γ
1)],[(γ1)→(β)],[(β)→(α)]の
データ転送を順次に行い、バス502を利用して
[(α)→(β)],[(β)→(γ2)],[(γ
2)→(β)],[(β)→(α)]のデータ転送を順
次に行い、バス502を利用して[(α)→(β)],
[(β)→(γ3)],[(γ3)→(β)],
[(β)→(α)]のデータ転送を順次に行っている。
In FIG. 16A, three buses 5
01, 502, and 503 are assumed to be used, and in FIG. 16B, a case is assumed in which only two sets of buses 501 and 502 are used. In (a) of FIG. 16, [(α) → (β)] and [(β) → (γ) using the bus 501.
1)], [(γ1) → (β)] and [(β) → (α)] are sequentially transferred, and [(α) → (β)], [(β ) → (γ2)], [(γ
2) → (β)], [(β) → (α)] are sequentially transferred, and using the bus 502, [(α) → (β)],
[(Β) → (γ3)], [(γ3) → (β)],
[(Β) → (α)] data transfer is performed sequentially.

【0119】また、図16の(b)ではバス501を利
用して[(α)→(β)],[(β)→(γ1)],
[(β)→(γ3)],[(γ1)→(β)],[(γ
3)→(β)],[(β)→(α)]のデータ転送を順
次に行い、バス502を利用して[(α)→(β)],
[(α)→(β)],[(β)→(γ2)],[(γ
2)→(β)],[(β)→(α)],[(β)→
(α)]のデータ転送を順次に行っている。
Also, in FIG. 16B, using the bus 501, [(α) → (β)], [(β) → (γ1)],
[(Β) → (γ3)], [(γ1) → (β)], [(γ
3) → (β)], [(β) → (α)] are sequentially transferred, and using the bus 502, [(α) → (β)],
[(Α) → (β)], [(β) → (γ2)], [(γ
2) → (β)], [(β) → (α)], [(β) →
(Α)] is sequentially performed.

【0120】図16のように、同時に利用可能なバスの
数に応じて処理能力に多少の違いは生じるが、いずれに
しても図16のようにスケジューリングで予め定めた順
番でユニット間のデータ転送を共通のバスを介して行う
ことにより、効率的にデータを処理することができる。
また、複数のバスを全てのユニットで共有することによ
り、最小限の数のバスで必要なデータ転送を全て実現す
ることができる。更に、図15に示すように全てのバス
を全てのユニット(100,200,300(1),30
0(2),300(3))に共通に接続する場合には、各ユニ
ットの配置上の制約がなくなる。
As shown in FIG. 16, there is a slight difference in the processing capacity depending on the number of buses that can be used simultaneously, but in any case, as shown in FIG. By using a common bus, data can be efficiently processed.
In addition, by sharing a plurality of buses with all units, all necessary data transfer can be realized with a minimum number of buses. Furthermore, as shown in FIG. 15, all buses are connected to all units (100, 200, 300 (1), 30).
0 (2) and 300 (3)), there is no restriction on the arrangement of each unit.

【0121】例えば、通信信号入出力ユニット100,
ATMセル処理ユニット200,上位ヘッダ処理ユニッ
ト300(1),300(2),300(3))のそれぞれを共
通形状のコネクタを介して3組のバス301,302,
303と接続する場合には、それぞれのユニットをいず
れのコネクタと接続してもよく、複数のユニットを配置
する位置を互いに交換することもできる。
For example, the communication signal input / output unit 100,
Each of the ATM cell processing unit 200 and the upper header processing units 300 (1), 300 (2), 300 (3)) is connected to three sets of buses 301, 302,
When connecting to the unit 303, each unit may be connected to any connector, and the positions where a plurality of units are arranged may be interchanged.

【0122】仮にユニット間で共通に利用できるバスを
用いない場合には、図15のプロトコル処理装置は図1
7に示すようにデータ処理の手順を考慮してユニット間
の接続及び配置を決定しなければならない。この形態に
おいても、通信信号入出力ユニット100,ATMセル
処理ユニット200,上位ヘッダ処理ユニット300
(1),300(2),300(3))のそれぞれは共通のハー
ドウェアに互いに異なるプログラムを搭載して実現して
いる。従って、ユニット間の接続及び配置は自由に変更
できる。
If a bus that can be used in common between units is not used, the protocol processing device of FIG.
As shown in FIG. 7, the connection and arrangement between the units must be determined in consideration of the data processing procedure. Also in this embodiment, the communication signal input / output unit 100, the ATM cell processing unit 200, the upper header processing unit 300
(1), 300 (2), and 300 (3)) are implemented by mounting different programs on common hardware. Therefore, the connection and arrangement between the units can be freely changed.

【0123】[0123]

【発明の効果】以上説明したように、本発明のプロトコ
ル処理装置によれば互いに独立して動作する通信信号入
出力手段,ATMセル処理手段,上位ヘッダ処理手段が
パイプライン処理を行うことができるので処理を高速化
できる。また、本発明のATMセル格納方法によれば、
VC多重ストリームを受信する場合にVC毎に予めメモ
リ領域を割り当てておく必要がないので、無駄な領域が
なくメモリの領域を効率的に利用できる。
As described above, according to the protocol processing apparatus of the present invention, the communication signal input / output means, the ATM cell processing means, and the upper header processing means which operate independently of each other can perform the pipeline processing. Therefore, the processing can be sped up. According to the ATM cell storing method of the present invention,
When receiving a VC multiplexed stream, it is not necessary to allocate a memory area for each VC in advance, so that there is no useless area and a memory area can be used efficiently.

【0124】更に、複数のユニット間のデータ転送に利
用可能なバスなどの通信路を複数組設ける場合には、ユ
ニット間でより効率的にデータ転送を行い効率的にデー
タを処理できる。
Further, when providing a plurality of sets of communication paths such as buses that can be used for data transfer between a plurality of units, data transfer can be performed more efficiently between the units and data can be processed efficiently.

【図面の簡単な説明】[Brief description of the drawings]

【図1】第1の実施の形態のプロトコル処理装置の機能
上の構成を示すブロック図である。
FIG. 1 is a block diagram illustrating a functional configuration of a protocol processing device according to a first embodiment.

【図2】第1の実施の形態のプロトコル処理装置のハー
ドウェアを示すブロック図である。
FIG. 2 is a block diagram illustrating hardware of a protocol processing device according to the first embodiment.

【図3】ATMセル格納メモリ上の記憶領域の構成を示
すメモリマップである。
FIG. 3 is a memory map showing a configuration of a storage area on an ATM cell storage memory.

【図4】受信用の記憶領域の構成を示すメモリマップで
ある。
FIG. 4 is a memory map showing a configuration of a storage area for reception.

【図5】セル受信時の通信信号入出力ユニット及びAT
Mセル処理ユニットの動作を示すフローチャートであ
る。
FIG. 5 shows a communication signal input / output unit and an AT at the time of cell reception.
5 is a flowchart illustrating an operation of the M cell processing unit.

【図6】複数セルDMA転送の内容を示すフローチャー
トである。
FIG. 6 is a flowchart showing the contents of a multi-cell DMA transfer.

【図7】上位ヘッダ処理ユニットの動作を示すフローチ
ャートである。
FIG. 7 is a flowchart showing the operation of the upper header processing unit.

【図8】ATMセル処理ユニットの送信処理を示すフロ
ーチャートである。
FIG. 8 is a flowchart showing a transmission process of the ATM cell processing unit.

【図9】各セルのVCが異なる場合の通信信号入出力ユ
ニットの動作を示すタイムチャートである。
FIG. 9 is a time chart showing the operation of the communication signal input / output unit when the VC of each cell is different.

【図10】同じVCのセルが連続する場合の通信信号入
出力ユニットの動作を示すタイムチャートである。
FIG. 10 is a time chart showing the operation of the communication signal input / output unit when cells of the same VC are continuous.

【図11】ATMセル格納メモリ上の記憶領域の構成FIG. 11 shows a configuration of a storage area on an ATM cell storage memory.

【図12】ATMセル格納メモリ上の記憶領域の構成FIG. 12 shows a configuration of a storage area on an ATM cell storage memory.

【図13】第2の実施の形態のプロトコル処理装置のハ
ードウェアを示すブロック図である。
FIG. 13 is a block diagram illustrating hardware of a protocol processing device according to the second embodiment.

【図14】第3の実施の形態のプロトコル処理装置のハ
ードウェアを示すブロック図である。
FIG. 14 is a block diagram illustrating hardware of a protocol processing device according to a third embodiment;

【図15】第4の実施の形態のプロトコル処理装置のハ
ードウェアを示すブロック図である。
FIG. 15 is a block diagram illustrating hardware of a protocol processing device according to a fourth embodiment;

【図16】データ転送タイミングの例を示すタイムチャ
ートである。
FIG. 16 is a time chart showing an example of data transfer timing.

【図17】各ユニットの接続及び配置例を示すブロック
図である。
FIG. 17 is a block diagram illustrating a connection and arrangement example of each unit.

【符号の説明】[Explanation of symbols]

100 通信信号入出力ユニット 110 ATMフレーマ 120 DMA制御回路 130 VC分離モジュール 140 入力CRC計算回路 180,290 バス選択回路 190 ローカルバス 200 ATMセル処理ユニット 201 ATMセル格納メモリ 202 ATMセル情報抽出モジュール 203 VCI管理メモリ 204 CRC再計算モジュール 205 情報入出力回路 210 データ用メモリ 220 DMA制御回路 230 マイクロプロセッサ 240 プログラムメモリ 250 FPGA 260 イーサネットインタフェース 270 ローカルバス 280,285 C−PCIバスインタフェース 300 上位ヘッダ処理ユニット 301 上位ヘッダ格納メモリ 302 上位ヘッダ情報抽出モジュール 303 情報入出力回路 310 データ用メモリ 320 DMA制御回路 330 マイクロプロセッサ 340 プログラムメモリ 350 FPGA 360 イーサネットインタフェース 370 ローカルバス 380,385 C−PCIバスインタフェース 391,392 C−PCIバス 501,502,503 バス REFERENCE SIGNS LIST 100 communication signal input / output unit 110 ATM framer 120 DMA control circuit 130 VC separation module 140 input CRC calculation circuit 180,290 bus selection circuit 190 local bus 200 ATM cell processing unit 201 ATM cell storage memory 202 ATM cell information extraction module 203 VCI management Memory 204 CRC recalculation module 205 Information input / output circuit 210 Data memory 220 DMA control circuit 230 Microprocessor 240 Program memory 250 FPGA 260 Ethernet interface 270 Local bus 280,285 C-PCI bus interface 300 Upper header processing unit 301 Upper header storage Memory 302 Upper header information extraction module 303 Information input / output circuit 310 For data Mori 320 DMA controller 330 microprocessor 340 program memory 350 FPGA 360 Ethernet interface 370 local bus 380,385 C-PCI bus interface 391, 392 C-PCI bus 501, 502, 503 bus

───────────────────────────────────────────────────── フロントページの続き (72)発明者 寺元 光生 東京都千代田区大手町二丁目3番1号 日 本電信電話株式会社内 (72)発明者 松広 一良 東京都千代田区大手町二丁目3番1号 日 本電信電話株式会社内 (72)発明者 宮崎 敏明 東京都千代田区大手町二丁目3番1号 日 本電信電話株式会社内 ──────────────────────────────────────────────────続 き Continuing on the front page (72) Mitsuo Teramoto 2-3-1 Otemachi, Chiyoda-ku, Tokyo Nippon Telegraph and Telephone Corporation (72) Inventor Ichira Matsuhiro Otemachi-2, Chiyoda-ku, Tokyo Nippon Telegraph and Telephone Co., Ltd. (72) Inventor Toshiaki Miyazaki 2-3-1, Otemachi, Chiyoda-ku, Tokyo Nippon Telegraph and Telephone Co., Ltd.

Claims (8)

【特許請求の範囲】[Claims] 【請求項1】 複数のバーチャルチャネルを形成可能な
伝送路に接続され該伝送路に対してATMセルの入力及
び出力を行うATMフレーマと、 前記ATMフレーマが伝送路から入力したATMセルを
バーチャルチャネル毎に分離するVC分離モジュール
と、 前記ATMフレーマが伝送路から入力したATMセルを
格納するためのATMセル格納メモリと、 前記ATMセル格納メモリに転送されたATMセルから
情報を抽出するATMセル情報抽出モジュールと、 前記ATMフレーマが伝送路から入力したATMセルの
少なくともペイロードの情報を格納するための上位ヘッ
ダ格納メモリと、 前記上位ヘッダ格納メモリに転送されたATMセルから
前記ATMセル情報抽出モジュールの処理する階層より
も上位階層のプロトコルに関するヘッダ情報の抽出及び
修正を行う上位ヘッダ情報抽出モジュールとを設けると
ともに、前記ATMフレーマ及びVC分離モジュールを
備える通信信号入出力手段と、前記ATMセル格納メモ
リ及びATMセル情報抽出モジュールを備えるATMセ
ル処理手段と、前記上位ヘッダ格納メモリ及び上位ヘッ
ダ情報抽出モジュールを備える上位ヘッダ処理手段とを
直列に並べて接続し、前記通信信号入出力手段,ATM
セル処理手段,上位ヘッダ処理手段にそれぞれ独立して
動作する制御手段を設けたことを特徴とするプロトコル
処理装置。
1. An ATM framer connected to a transmission line capable of forming a plurality of virtual channels, for inputting and outputting ATM cells to and from the transmission line, and an ATM cell input by the ATM framer from the transmission line to a virtual channel. A VC separation module for separating ATM cells from each other, an ATM cell storage memory for storing ATM cells input from the transmission line by the ATM framer, and ATM cell information for extracting information from the ATM cells transferred to the ATM cell storage memory An extraction module; an upper header storage memory for storing at least payload information of the ATM cells input from the transmission line by the ATM framer; and an ATM cell information extraction module from the ATM cells transferred to the upper header storage memory. For protocols at a higher layer than the layer to be processed A communication signal input / output unit including the ATM framer and the VC separation module; and an ATM cell processing unit including the ATM cell storage memory and the ATM cell information extraction module. Means and an upper header processing means provided with the upper header storage memory and the upper header information extraction module are connected in series and connected to each other.
A protocol processing device comprising a cell processing unit and a control unit that operates independently of each other in a high-order header processing unit.
【請求項2】 請求項1のプロトコル処理装置におい
て、前記ATMフレーマが受信したATMセルを前記A
TMセル格納メモリに対して転送する場合には、入力さ
れたATMセルのバーチャルチャネルが変化しない限
り、予め定めた数の複数のATMセルが前記ATMフレ
ーマに蓄積されるまで待機してから蓄積された複数のA
TMセルを連続的に転送する転送制御手段を設けたこと
を特徴とするプロトコル処理装置。
2. The protocol processing apparatus according to claim 1, wherein the ATM cell received by the ATM framer is transmitted to the ATM cell.
When transferring data to the TM cell storage memory, a predetermined number of ATM cells are stored in the ATM framer until a predetermined number of cells are stored in the ATM framer, unless the virtual channel of the input ATM cell changes. Multiple A
A protocol processing device comprising a transfer control means for continuously transferring TM cells.
【請求項3】 請求項1のプロトコル処理装置におい
て、互いに独立した複数の上位ヘッダ処理手段を前記A
TMセル処理手段に接続するとともに、前記ATMセル
処理手段に入力された各ATMセルが属するバーチャル
チャネルの違いに応じてATMセルの転送先の上位ヘッ
ダ処理手段を切り替え、複数のバーチャルチャネルに属
するATMセルを複数の上位ヘッダ処理手段で並列的に
処理することを特徴とするプロトコル処理装置。
3. The protocol processing apparatus according to claim 1, wherein said plurality of upper header processing means are independent of each other.
The ATM cell processing means is connected to the ATM cell processing means, and the high-order header processing means of the transfer destination of the ATM cell is switched according to the difference of the virtual channel to which each ATM cell belongs to the ATM cell processing means. A protocol processing device wherein cells are processed in parallel by a plurality of upper header processing means.
【請求項4】 請求項1のプロトコル処理装置におい
て、それぞれが少なくともプログラムを実行するプロセ
ッサ,プログラムメモリ,ダイレクトメモリアクセス制
御回路,プログラマブルゲートアレイ,バスインタフェ
ース及び内部バスを備える同一の複数のハードウェアに
互いに異なるソフトウェアを搭載して、各ハードウェア
を前記ATMセル処理手段及び前記上位ヘッダ処理手段
として構成したことを特徴とするプロトコル処理装置。
4. The protocol processing apparatus according to claim 1, wherein the same hardware includes at least a processor for executing a program, a program memory, a direct memory access control circuit, a programmable gate array, a bus interface, and an internal bus. A protocol processing apparatus comprising different software, and each hardware is configured as the ATM cell processing means and the upper header processing means.
【請求項5】 請求項1のプロトコル処理装置におい
て、 前記ATMフレーマが伝送路から受信したバーチャルチ
ャネル毎のパケットのCRC情報をAAL5レイヤで計
算する第1のCRC演算手段と、 前記上位ヘッダ処理手段の処理によって修正されたバー
チャルチャネル毎の各パケットについてAAL5レイヤ
のCRC情報を計算する第2のCRC演算手段と、 少なくともパケットが前記上位ヘッダ処理手段の処理で
修正された場合には、前記第2のCRC演算手段が計算
した結果で送信対象のATMセルを修正するとともに、
前記第1のCRC演算手段の計算結果に基づいてCRC
エラーを検出した場合には、該CRCエラーの情報を送
信対象のATMセルに反映するCRC制御手段とを更に
設けたことを特徴とするプロトコル処理装置。
5. The protocol processing device according to claim 1, wherein the ATM framer calculates CRC information of a packet for each virtual channel received from a transmission line by an AAL5 layer, and the upper header processing means. A second CRC calculating means for calculating the CRC information of the AAL5 layer for each packet for each virtual channel corrected by the processing of the above, and when at least the packet is corrected by the processing of the upper header processing means, the second CRC calculating means While correcting the ATM cell to be transmitted with the result calculated by the CRC calculating means,
CRC based on the calculation result of the first CRC calculation means
A protocol processing apparatus, further comprising: a CRC control unit that, when an error is detected, reflects the CRC error information in an ATM cell to be transmitted.
【請求項6】 請求項4のプロトコル処理装置におい
て、前記複数の同一のハードウェアを複数のバスを用い
て互いに接続したことを特徴とするプロトコル処理装
置。
6. The protocol processing device according to claim 4, wherein said plurality of identical hardware are connected to each other using a plurality of buses.
【請求項7】 複数のバーチャルチャネルを形成可能な
伝送路から受信したATMセルをバーチャルチャネル毎
に分離して記憶装置に格納するためのATMセル格納方
法であって、 ヘッダ,ペイロード及び次の記憶領域へのリンク情報を
保持するための固定サイズの未使用の記憶領域を順次に
論理的に連結して構成したフリーリストを利用し、 受信したATMセルのバーチャルチャネル毎に少なくと
もATMセルを記憶している領域の先頭位置を示す情報
を含む受信管理データを保持し、 受信した各ATMセルに対して前記フリーリストから各
記憶領域を逐次に確保し、 確保した記憶領域に各ATMセルを記憶し、 確保した記憶領域をそれまでに受信した各ATMセルを
保持している受信バッファの最後に連結することを特徴
とするATMセル格納方法。
7. An ATM cell storage method for separating ATM cells received from a transmission path capable of forming a plurality of virtual channels for each virtual channel and storing the separated ATM cells in a storage device, comprising: a header, a payload, and a next storage. Utilizing a free list formed by sequentially logically connecting unused storage areas of fixed size for holding link information to areas, storing at least ATM cells for each virtual channel of received ATM cells. Holding the reception management data including the information indicating the head position of the area, and sequentially securing each storage area from the free list for each received ATM cell, and storing each ATM cell in the secured storage area. ATM linking the secured storage area to the end of a reception buffer holding each ATM cell received so far. Le storage method.
【請求項8】 請求項6のATMセル格納方法におい
て、 複数のATMセルを記憶するための第1の記憶領域を前
記フリーリストから確保し、 前記第1の記憶領域に処理後のATMセルのペイロード
を記憶し、 前記第1の記憶領域に対して、前記受信バッファに蓄え
られた同一バーチャルチャネルのATMセルのヘッダを
書き込み、 送信すべきATMセルを保持している送信バッファの最
後に前記第1の記憶領域を連結し、 前記受信バッファに蓄えられた同一バーチャルチャネル
のデータのうち前記第1の記憶領域に保持されたデータ
に続く残りのデータを前記第1の記憶領域に連結するこ
とを特徴とするATMセル格納方法。
8. The ATM cell storage method according to claim 6, wherein a first storage area for storing a plurality of ATM cells is secured from the free list, and the first storage area stores the processed ATM cells in the first storage area. A payload is stored, and a header of an ATM cell of the same virtual channel stored in the reception buffer is written to the first storage area, and the header of the ATM cell to be transmitted is stored at the end of the transmission buffer holding the ATM cell to be transmitted. And connecting the remaining data following the data held in the first storage area among the data of the same virtual channel stored in the reception buffer to the first storage area. Characteristic ATM cell storage method.
JP2000194730A 1999-07-06 2000-06-28 Protocol processing device and ATM cell storage method Pending JP2001077832A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000194730A JP2001077832A (en) 1999-07-06 2000-06-28 Protocol processing device and ATM cell storage method

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP19146899 1999-07-06
JP11-191468 1999-07-06
JP2000194730A JP2001077832A (en) 1999-07-06 2000-06-28 Protocol processing device and ATM cell storage method

Publications (1)

Publication Number Publication Date
JP2001077832A true JP2001077832A (en) 2001-03-23

Family

ID=26506705

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000194730A Pending JP2001077832A (en) 1999-07-06 2000-06-28 Protocol processing device and ATM cell storage method

Country Status (1)

Country Link
JP (1) JP2001077832A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7624324B2 (en) 2005-02-18 2009-11-24 Fujitsu Limited File control system and file control device
JP2010193217A (en) * 2009-02-18 2010-09-02 Mitsubishi Electric Corp Relay device, and relay method of relay device
JP2013247587A (en) * 2012-05-28 2013-12-09 Fujitsu Ltd Communication apparatus and communication method
JP2025538427A (en) * 2022-11-15 2025-11-28 クリーエルイーディー,インコーポレーテッド Error detection in LED packages

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7624324B2 (en) 2005-02-18 2009-11-24 Fujitsu Limited File control system and file control device
JP2010193217A (en) * 2009-02-18 2010-09-02 Mitsubishi Electric Corp Relay device, and relay method of relay device
JP2013247587A (en) * 2012-05-28 2013-12-09 Fujitsu Ltd Communication apparatus and communication method
JP2025538427A (en) * 2022-11-15 2025-11-28 クリーエルイーディー,インコーポレーテッド Error detection in LED packages

Similar Documents

Publication Publication Date Title
JP3819484B2 (en) Apparatus and method for packetizing and segmenting MPEG packets
CA2283999C (en) Packet processing apparatus, packet processing method, and packet exchange
US6097734A (en) Programmable reassembly of data received in an ATM network
US5778180A (en) Mechanism for reducing data copying overhead in protected memory operating systems
US5625625A (en) Method and apparatus for partitioning data load and unload functions within an interface system for use with an asynchronous transfer mode system
US5229994A (en) Bridge for connecting an ieee 802.3 local area network to an asynchronous time-division multiplex telecommunication network
US5917828A (en) ATM reassembly controller and method
US5664116A (en) Buffering of data for transmission in a computer communication system interface
JPH05219098A (en) Method and device for converting frame
US20020176430A1 (en) Buffer management for communication systems
US6535513B1 (en) Multimedia and multirate switching method and apparatus
EP1131923A4 (en) METHOD AND SYSTEM FOR MULTIPROTOCOL CONVERSION AID FOR A NET ACCELERATOR
JPH10173673A (en) Cell assembly multiplexing device and separation device
JP2000101651A (en) Adaptive electronic communication exchange network
JPH07297842A (en) Method and apparatus for reordering incoming interleaved asynchronous transfer mode cells
US5495478A (en) Apparatus and method for processing asynchronous transfer mode cells
JP2001077832A (en) Protocol processing device and ATM cell storage method
US6577602B1 (en) Module for OAM processing of ATM cells of a cell flux on virtual connections
JP2002247097A (en) Communication controller
US20090316726A1 (en) Apparatus and method for data transmission
EP0674825B1 (en) Device for the conversion of data blocks, frame structured, into atm cells and vice versa
US6603768B1 (en) Multi-protocol conversion assistance method and system for a network accelerator
US7492790B2 (en) Real-time reassembly of ATM data
KR20010018534A (en) Apparatus and Method for packet switching using ATM cell switching
JPH08102761A (en) Protocol conversion device and protocol conversion method