JPH10313325A - Cell-discarding method - Google Patents

Cell-discarding method

Info

Publication number
JPH10313325A
JPH10313325A JP8738898A JP8738898A JPH10313325A JP H10313325 A JPH10313325 A JP H10313325A JP 8738898 A JP8738898 A JP 8738898A JP 8738898 A JP8738898 A JP 8738898A JP H10313325 A JPH10313325 A JP H10313325A
Authority
JP
Japan
Prior art keywords
cell
buffer
pointer
atm
value
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.)
Withdrawn
Application number
JP8738898A
Other languages
Japanese (ja)
Inventor
Deog-Nyoun Kim
徳年 金
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.)
WiniaDaewoo Co Ltd
Original Assignee
Daewoo Electronics Co Ltd
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 Daewoo Electronics Co Ltd filed Critical Daewoo Electronics Co Ltd
Publication of JPH10313325A publication Critical patent/JPH10313325A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/42Loop networks
    • H04L12/427Loop networks with decentralised control
    • H04L12/433Loop networks with decentralised control with asynchronous transmission, e.g. token ring, register insertion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5614User Network Interface
    • H04L2012/5615Network termination, e.g. NT1, NT2, PBX
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5649Cell delay or jitter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5651Priority, marking, classes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5652Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly
    • H04L2012/5653Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly using the ATM adaptation layer [AAL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5681Buffer or queue management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

PROBLEM TO BE SOLVED: To efficiently discard cells by discarding the cell which lingers the most and storing the cell which is newly received, when a free buffer ring for realtime connection is separately managed and overflow occurs in a buffer. SOLUTION: In a free buffer ring 43 used for real time connection, respective entries are managed by a tail pointer 41 and a head pointer 42. The entries of the free buffer ring 43 have start addresses for the respective buffers 44-1 to 44-6. When the values of the head pointer 42 and the tail pointer 41 are matched in the structure of the free buffer ring, overflow occurs. The value of the head pointer 42 is increased, the cell which previously arrives is discarded, and the cell which is received later is stored in the address which the tail pointer 41 points. Thus, the cell whose significance has deteriorated and whose time delay is the lorgest can be discarded.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、ATM網インタフ
ェースカード(NIC)に関し、特に、そのATMNIC
がリアルタイムに動作している間に、再編成バッファに
オーバーフローが発生する場合に受取ったATMセルを
取り捨てる方法に関する。
The present invention relates to an ATM network interface card (NIC), and more particularly to an ATM NIC.
The present invention relates to a method for discarding received ATM cells in the event that an overflow occurs in the reorganization buffer while the system is operating in real time.

【0002】[0002]

【従来の技術】ATM(非同期伝送方式)は、音声や映像
のようなサービスを一定のビット速度に提供するための
回路交換網と、データやビデオのようなサービスを可変
的なビット速度に提供するためのパケット交換網との最
大利点を組み合せた一定の長さ(例えば、53バイト)の
セルに基づく、高速セル交換技術である。即ち、送信側
におけるメッセージは複数のセルに分解されて伝送さ
れ、受信側では受け取ったメッセージを再編成過程を通
して復元する方式である。
2. Description of the Related Art ATM (Asynchronous Transmission System) provides a circuit switching network for providing services such as voice and video at a constant bit rate, and provides services such as data and video at a variable bit rate. A fast cell switching technology based on cells of a fixed length (eg, 53 bytes) that combines the greatest advantages with a packet switched network to do so. That is, the message on the transmitting side is divided into a plurality of cells and transmitted, and the receiving side restores the received message through a reorganization process.

【0003】そのようなATM通信方式は、階層構造を
成す。図1は、階層構造を成している一般的なATMプ
ロトコル参照モデルの模式図である。B−ISDNプロ
トコル参照モデルは3つの平面、即ち、管理平面、制御
平面及びユーザ平面から構成される。
[0003] Such an ATM communication system has a hierarchical structure. FIG. 1 is a schematic diagram of a general ATM protocol reference model having a hierarchical structure. The B-ISDN protocol reference model is composed of three planes: a management plane, a control plane, and a user plane.

【0004】管理平面は、階層管理及び平面管理の2つ
の機能を有する。この平面管理機能は、システム全体に
関連する全ての管理機能を有している。いかなる層構造
も、その管理平面内に用いられない。階層管理は層構造
に成り、プロトコルエンティティに残存する資源やパラ
メータに関連する管理を行う。
[0004] The management plane has two functions of hierarchy management and plane management. This plane management function has all management functions related to the entire system. No layer structure is used in the management plane. The hierarchical management has a layer structure, and performs management related to resources and parameters remaining in the protocol entity.

【0005】制御平面では、コール制御や接続制御が行
われ、これらはコール又は接続をセットアップ、管理及
び解除するに必要な信号機能である。ユーザ平面はユー
ザ情報を伝達する働きを有し、流れ制御又はエラー復旧
のような関連メカニズムを備えている。
[0005] In the control plane, call control and connection control are performed, which are signaling functions required to set up, manage and release calls or connections. The user plane serves to convey user information and has associated mechanisms such as flow control or error recovery.

【0006】制御平面及びユーザ平面のプロトコルは、
下記の表1のように上位階層、ATM適応階層、ATM
階層及び物理階層より構成される。
The control plane and user plane protocols are:
As shown in Table 1 below, upper layer, ATM adaptation layer, ATM
It consists of a hierarchy and a physical hierarchy.

【0007】[0007]

【表1】 [Table 1]

【0008】上記の表1のように、ATM通信方式は物
理階層、ATM階層、ATM適応階層(AAL:ATM
adaptation layer)及び上位階層の
ように垂直に階層を成す構造を有する。AAL階層は収
束(CS)サブ階層と、分割及び再編成(SAR)サブ階層
とに分かれ、物理階層は物理媒体(PM)サブ階層と、伝
送収束(TC)サブ階層とに細分される。
As shown in Table 1 above, the ATM communication system uses a physical layer, an ATM layer, and an ATM adaptive layer (AAL: ATM).
It has a vertically hierarchical structure such as an adaptation layer and an upper layer. The AAL layer is divided into a convergence (CS) sublayer and a division and reorganization (SAR) sublayer, and the physical layer is subdivided into a physical medium (PM) sublayer and a transmission convergence (TC) sublayer.

【0009】また、ユーザへのサービスは、次の表2の
ように分類され得る。
[0009] The service to the user can be classified as shown in Table 2 below.

【0010】[0010]

【表2】 [Table 2]

【0011】上記表2に記載のサービスに対応するAA
Lプロトコルは、次の表3のようにAAL1〜AAL5
までに区分される。
AA corresponding to the service described in Table 2 above
The L protocol includes AAL1 to AAL5 as shown in Table 3 below.
Divided by

【0012】[0012]

【表3】 表3に示すようにAAL階層は、AAL1、AAL2、
AAL3/4、AALのように平面的に区分され得る。
[Table 3] As shown in Table 3, the AAL hierarchy is AAL1, AAL2,
AAL3 / 4, AAL, etc., can be divided in a plane.

【0013】一方、ATM網へのユーザ端末機の接続
は、ATMNICと適切なソフトウェハを必要とする。
ATM網に接続されたユーザ端末機には、ATMNIC
を制御するためのNICドライバーが組み込まれ、予め
決められたプロトコルに応じて上位階層の機能を行う。
詳述すると、NICドライバーはパケットの送受信のた
めに、NIC内のメモリのバッファを割当て/解除し、
制御変数の値を更新するか様々な割り込みを処理する。
パケットとは予め決められたフォーマットによるデータ
のバンドルであるが、ATM方式によるセルと一致する
ことではない。
On the other hand, connecting a user terminal to an ATM network requires an ATM NIC and appropriate software.
ATM NICs are connected to user terminals connected to the ATM network.
A NIC driver for controlling the function is installed, and performs a function of an upper layer according to a predetermined protocol.
More specifically, the NIC driver allocates / deallocates a buffer in a memory in the NIC for transmitting / receiving a packet,
Update the value of a control variable or handle various interrupts.
A packet is a bundle of data in a predetermined format, but does not coincide with a cell in the ATM system.

【0014】ATMセルを受取ると、NICはバッフ
ァ、例えば、再編成バッファに受け取ったセルをバッフ
ァに到来する順序通り、再編成プロセスが行われる前に
一時的に格納する。この時、再編成バッファが一杯とな
り、再編成バッファの制限容量のためそれ以上到来する
セルを収容できない場合、再編成バッファにオーバーフ
ローが発生することになる。
Upon receiving the ATM cells, the NIC temporarily stores the received cells in a buffer, eg, a reorganization buffer, in the order in which they arrive in the buffer, before the reorganization process takes place. At this time, if the reorganization buffer is full and cannot accommodate any more incoming cells due to the limited capacity of the reorganization buffer, an overflow occurs in the reorganization buffer.

【0015】このため、リアルタイムプロセスにてメッ
セージから供給されるセルが伝送遅延やプロセス遅延に
よって損失する恐れがある。データがリアルタイムに伝
送されるので、遅延が長くなるほど、現バッファ内に最
初に格納されたデータはあまり重要でなくなる。従っ
て、オーバフローが発生すると、再編成バッファ内に格
納されているセルを取り捨てなければならないので、如
何なるセルを取り捨てるべきであるかを決定する必要が
ある。その場合、時間的に見ると、初期に到着したセル
が最後に到着したセルよりあまり重要でないので、初期
のセルを取り捨てることがより好ましい。
[0015] For this reason, cells supplied from a message in a real-time process may be lost due to transmission delay or process delay. As the data is transmitted in real time, the longer the delay, the less important the data initially stored in the current buffer. Thus, when an overflow occurs, the cells stored in the reorganization buffer must be discarded, and it is necessary to determine what cells should be discarded. In that case, it is more preferable to discard the initial cells since the cells arriving earlier are less important in time than the cells arriving last.

【0016】[0016]

【発明が解決しようとする課題】従って、本発明の主な
目的は、ATMNICがリアルタイムに動作している間
に、再編成バッファにおいてオーバーフローが発生する
場合に受取ったATMセルを取り捨ててQOSを向上す
るATMセル取捨て方法を提供することにある。
SUMMARY OF THE INVENTION It is therefore a primary object of the present invention to provide a QOS by discarding received ATM cells when an overflow occurs in the reorganization buffer while the ATMNIC is operating in real time. It is to provide an improved ATM cell discarding method.

【0017】[0017]

【課題を解決するための手段】上記の目的を達成するた
めに、本発明によれば、ATM網インタフェースカード
(NIC)において時間依存データを処理するために受け
取ったセルを取捨てる方法であって、前記ATM NI
Cがホストシステムの制御下で、ユーザからのメッセー
ジをATMベース通信方式に適するセルに変換し、フリ
ーバッファリングのエントリによって指されるデータバ
ッファ内に格納されている受信セルを再編成して元のメ
ッセージを復元し、各々が、ヘッドポインタ及びテール
ポインタを用いて前記データバッファを指す複数のエン
トリよりなる、前記フリーバッファリングをセットアッ
プする第A過程と、前記ATM NICにリアルタイム
サービスを要するセルが入力される場合、前記フリーバ
ッファリング内に存在する前記ヘッドポインタの値と前
記テールポインタの値とを比較する第B過程と、前記ヘ
ッドポインタの値と前記テールポインタの値とが一致し
ない場合、前記テールポインタが指すバッファに前記受
け取ったセルを格納する第C過程と、前記ヘッドポイン
タの値と前記テールポインタの値とが一致する場合、前
記ヘッドポインタの値を1だけ増加させ、最初に受け取
ったセルは取り捨て、最後に受け取ったセルは前記テー
ルポインタが指すバッファに格納する第D過程と、前記
テールポインタの値を1だけ増加させる第e過程とを含
むことを特徴とするセル取捨て方法が提供される。
In order to achieve the above object, according to the present invention, an ATM network interface card is provided.
(NIC) for discarding cells received for processing time-dependent data, said ATM NI
C converts a message from the user into a cell suitable for the ATM-based communication system under the control of the host system, and reorganizes the received cell stored in the data buffer pointed to by the entry of the free buffering to revert to the original cell. A step of setting up the free buffering, each consisting of a plurality of entries pointing to the data buffer using a head pointer and a tail pointer, and a cell requiring real-time service to the ATM NIC. If input, the B step of comparing the value of the head pointer and the value of the tail pointer existing in the free buffering, and if the value of the head pointer does not match the value of the tail pointer, Stores the received cell in the buffer pointed to by the tail pointer Step C, and if the value of the head pointer matches the value of the tail pointer, increment the value of the head pointer by 1, discard the first received cell, and discard the last received cell. There is provided a cell discarding method, comprising: a step D for storing the value in the buffer pointed to by the tail pointer; and an step e for increasing the value of the tail pointer by one.

【0018】[0018]

【発明の実施の形態】以下、本発明の好適実施例につい
て図面を参照しながらより詳しく説明する。図2は、本
発明に好適な実施例によるATM網インタフェースカー
ド(NIC)の例を示した概略的なブロック図である。
Preferred embodiments of the present invention will be described below in detail with reference to the drawings. FIG. 2 is a schematic block diagram showing an example of an ATM network interface card (NIC) according to a preferred embodiment of the present invention.

【0019】図2に示したように、ホストシステム10
はATM NIC20を通じてATM網(図示せず)に
接続されて、相対側のホストシステムとATM方式にて
データを交換する。また、ホストシステム10はワーク
ステーション又はパスコンであり、ATM NIC20
はワークステーション又はパスコンに挿入されるカード
又はボードである。
As shown in FIG. 2, the host system 10
Is connected to an ATM network (not shown) through the ATM NIC 20, and exchanges data with the host system on the opposite side by the ATM method. Further, the host system 10 is a workstation or a decapsulator, and the ATM NIC 20
Is a card or board inserted into a workstation or decap.

【0020】ホストシステム10は応用プログラム1
1、NICドライバ12、メモリ13、プロセッサ14
及びバス制御部13から構成され、入出力バス(本発明
の実施例では、Sバス)30を通じてATM NIC2
0と接続されている。
The host system 10 includes the application program 1
1, NIC driver 12, memory 13, processor 14
And an ATM NIC 2 through an input / output bus (S bus in the embodiment of the present invention) 30.
0 is connected.

【0021】応用プログラム11は通常ソフトウェハの
群であって、ユーザにインタラクティブサービスを提供
するために実行される。NICドライバ12もソフトウ
ェハの群から構成されるものであって、ユーザにATM
通信サービスを提供するためのものである。NICドラ
イバ12からの要求に応じて、ATM NICは図3に
示したように、ATM網通信と関連する各種のテーブル
及びリングをセットアップし、そのテーブル内のデータ
をアップデートする。
The application program 11 is usually a group of software wafers and is executed to provide an interactive service to a user. The NIC driver 12 is also composed of a group of software wafers, and provides the user with an ATM.
It is for providing a communication service. In response to a request from the NIC driver 12, the ATM NIC sets up various tables and rings related to ATM network communication and updates data in the tables as shown in FIG.

【0022】NICドライバ12はNICドライバ20
を直接的に制御する働きを果たす。メモリ13はディス
クリプタリング、完了リング及びデータバッファのよう
なバッファを組み込んでいる。
The NIC driver 12 is a NIC driver 20
Serves to directly control the Memory 13 incorporates buffers such as descriptor rings, completion rings and data buffers.

【0023】ATM NIC20は、図2に示したよう
に、AAL処理部21、SONET/ATMラインアダ
プタ22、送受信機23、制御RAM25、ROM26
などより構成され、ATM通信方式の物理階層、ATM
階層、AAL階層の機能等を処理する。特に、本発明の
実施例においてATM NIC20は、ATMセルを同
期式光ネットワーク(SONET:SynChRono
us OpticalNetworK)STS-3Cフレ
ームフォーマット(155.52M Bps)に整合した
後、光同期式伝送網を通じてATM網に接続されるよう
になっている。図2を参照すると、AAL処理部21は
ローカルメモリバスを通じて制御RAM25と接続さ
れ、ローカルスラブバスを通じてROM26と接続され
る。この際、ROM26はローカルバスを通じてSON
ET/ATMラインアダプタ22とも接続される。
As shown in FIG. 2, the ATM NIC 20 includes an AAL processing unit 21, a SONET / ATM line adapter 22, a transceiver 23, a control RAM 25, and a ROM 26.
ATM communication method physical layer, ATM
It processes the functions of the hierarchy and the AAL hierarchy. In particular, in the embodiment of the present invention, the ATM NIC 20 transmits the ATM cells to a synchronous optical network (SONET: SynChRono).
us Optical Network K) After matching with the STS-3C frame format (155.52 Mbps), it is connected to an ATM network through an optical synchronous transmission network. Referring to FIG. 2, the AAL processing unit 21 is connected to a control RAM 25 through a local memory bus, and is connected to a ROM 26 through a local slab bus. At this time, the ROM 26 is connected to the SON through the local bus.
It is also connected to the ET / ATM line adapter 22.

【0024】そしてAAL処理部21は、入出力バス3
0及び接続されてホストメモリ11を直接アクセスし得
ると共に、制御RAM25をリード/ライトすることが
可能であり、ホストシステムのプロセッサ12も入出力
バスを通じて制御RAM25を直接アクセスしてリード
/ライトし得るようになっている。
The AAL processing unit 21 is connected to the input / output bus 3
0 and connected so that the host memory 11 can be directly accessed and the control RAM 25 can be read / written, and the processor 12 of the host system can also directly access and read / write the control RAM 25 through the input / output bus. Has become.

【0025】ホストシステム10にて運用される応用プ
ログラムがATM関連サービスを要請する場合、ホスト
システムで運用されるNICドライバが、その要請に応
じてATM NIC20を制御してATM関連サービス
を応用プログラムに供給する。例えば、応用プログラム
が所定のメッセージデータをホストメモリ11に格納し
データの伝送を要求する場合、NICドライバが入出力
バス30を通じてAAL処理部21にデータの伝送を要
求する。
When an application program operated by the host system 10 requests an ATM-related service, an NIC driver operated by the host system controls the ATM NIC 20 in response to the request to transfer the ATM-related service to the application program. Supply. For example, when the application program stores predetermined message data in the host memory 11 and requests data transmission, the NIC driver requests the AAL processing unit 21 to transmit data via the input / output bus 30.

【0026】AAL処理部21は、ホストメモリ11に
格納されたメッセージを所定の長さ(48バイト)単位
で読取ってプロトコルフォーマットに応じてATMセル
を形成した後、物理階層24のSONET/ATMライ
ンアダプタ22に伝送する。SONET/ATMライン
アダプタ22は、各ATMセルをSONET STS−
3Cフォーマットで整合し、送受信機23はSTS−3
Cフォーマットの直列データを光信号に変換して光ケー
ブルを通じてATM網側へ出力する。
The AAL processing unit 21 reads a message stored in the host memory 11 in units of a predetermined length (48 bytes) to form an ATM cell according to a protocol format, and then reads the SONET / ATM line of the physical layer 24. The data is transmitted to the adapter 22. The SONET / ATM line adapter 22 converts each ATM cell into a SONET STS-
The data is matched in the 3C format, and the transmitter / receiver 23
The serial data in the C format is converted into an optical signal and output to the ATM network via an optical cable.

【0027】一方、送受信機23を通じて受取ったデー
タは、SONET/ATMラインアダプタ22からAT
Mセルに分離され取出された後、AAL処理部21に入
力される。AAL処理部21は、受取ったATMセルの
うちヘッダと有料負荷を分離した後、有料負荷を再び組
合せてメッセージ(パケット)を復元し、メッセージの
再編成が完了したら、ホストシステム10にインタラッ
プトにこれを知らせる。そして、AAL処理部21から
再編成の完了を表すインタラプトが受取られる場合、ホ
ストシステムのNICドライバが所定の処理過程によっ
て受信されたメッセージを応用プログラム側に伝達す
る。
On the other hand, data received through the transceiver 23 is transmitted from the SONET / ATM line adapter 22 to the AT.
After being separated into M cells and taken out, they are input to the AAL processing unit 21. After separating the header and the pay load from the received ATM cells, the AAL processing unit 21 restores the message (packet) by combining the pay load again, and when the reorganization of the message is completed, the AAL processing unit 21 interrupts to the host system 10. Inform this. When an interrupt indicating the completion of the reorganization is received from the AAL processing unit 21, the NIC driver of the host system transmits the message received through a predetermined process to the application program.

【0028】このようにAAL処理部21にては上位階
層から伝達されたメッセージをATMセルに分割して相
対側に伝送すると共に、受取ったATMセルを再編成し
てメッセージを復元し、再編成が完了したらインタラッ
プトを通じてホストシステムのNICドライバにこれを
知らせる。
As described above, the AAL processing unit 21 divides the message transmitted from the upper layer into ATM cells and transmits the ATM cells to the opposite side, and reconstructs the received ATM cells to reconstruct the message. Is completed, the NIC driver of the host system is notified of this through the overlap.

【0029】このようなATM NICにて上位階層と
AAL処理部との間にデータが送られる構造をより詳し
く説明する。
The structure in which data is transmitted between the upper layer and the AAL processing unit in such an ATM NIC will be described in more detail.

【0030】ホストシステム10とATM NIC20
との間に伝達されるデータフォーマットは、図3に示し
たように送信及び受信に区分され、ホストメモリ11及
び制御RAM25に各々位置する。即ち、ホストメモリ
11には、送信時に用いられる送信ディスクリプターリ
ング(TX discripter ring)と、送
信完了リング(TX completion rin
g)、及びデータバッファが位置すると共に、受信時に
用いられるデータバッファ、受信完了リング(RX c
ompletion ring)、2つのフリーバッフ
ァリング(free buffer ring)が位置
する。NICの制御RAM25には、送信時に用いられ
る帯域幅割当テーブル及び送信DMA状態テーブルが位
置し、受信時に用いられる受信DMA状態テーブルが位
置する。
The host system 10 and the ATM NIC 20
3 is divided into transmission and reception as shown in FIG. 3, and is located in the host memory 11 and the control RAM 25, respectively. That is, the host memory 11 has a transmission descriptor ring (TX descriptor ring) used for transmission and a transmission completion ring (TX completion rin).
g), the data buffer is located, and the data buffer used at the time of reception, the reception completion ring (RX c
Omissionion ring) and two free buffering rings. In the control RAM 25 of the NIC, a bandwidth allocation table and a transmission DMA status table used for transmission are located, and a reception DMA status table used for reception is located.

【0031】ホストメモリ11において具現される送信
ディスクリプターリングは255個よりなり255個の
仮想チャネルを有することができる。ここで、各リング
は256個のエントリを有する。そして各エントリは4
ワード(1ワードは32ビット)に具現され、送信のた
めのキューイングされた1つの送信データバッファを指
す。通常、255個の送信ディスクリプターリングが全
て用いられることはなく、各リングは必要な仮想チャネ
ルの数だけ用いられる。例えば、第1送信ディスクリプ
ターリングは音声チャネルに用いられ、第2送信ディス
クリプターリングはビデオチャネルに用いられ、第3デ
ィスクリプターリングはTCP/IPのため用いられ
る。
The transmission descriptor ring implemented in the host memory 11 includes 255 virtual channels and can have 255 virtual channels. Here, each ring has 256 entries. And each entry is 4
It is embodied in words (one word is 32 bits) and refers to one queued transmit data buffer for transmission. Typically, not all 255 transmit descriptor rings are used, and each ring is used as many as the required virtual channels. For example, a first transmission descriptor ring is used for an audio channel, a second transmission descriptor ring is used for a video channel, and a third transmission descriptor ring is used for TCP / IP.

【0032】この場合、送信ディスクリプターリングの
各エントリは4ワードに構成される。ここで、ワード3
はAAL5のテールを、ワード2は4バイトのATMヘ
ッドを、ワード1は送信データバッファの開始位置を指
すバッファポインタを、ワード0は制御フィールド、パ
ケットの長さ及びバッファの長さ等を各々表す。ワード
0について詳述すると、ワード0のビット31は、オウ
ンビットとして送信のためのパケットがキューイングさ
れる場合、ホストによってセットされAAL処理部がア
クセスされるようにし、パケットの送信が完了する場
合、リセットされホストがアクセスするようにする。ワ
ード0のビット30は、1つのパケットを伝送するのに
複数のバッファが用いられる場合の開始バッファを表
し、ビット29は最後のバッファを表す。ビット27は
AALタイプを、ビット26乃至ビット16はパケット
の長さを、ビット15乃至ビット0はバッファの長さを
各々表す。この際、バッファの最大の大きさは64Kバ
イトである。このように送信ディスクリップッターは伝
送するパケットのあるホストメモリ上のバッファを表
す。
In this case, each entry of the transmission descriptor ring is composed of four words. Where word 3
Indicates the tail of AAL5, word 2 indicates the 4-byte ATM head, word 1 indicates the buffer pointer indicating the start position of the transmission data buffer, and word 0 indicates the control field, packet length, buffer length, etc. . In more detail with respect to word 0, bit 31 of word 0 is set by the host when the packet for transmission is queued as an own bit so that the AAL processing unit is accessed, and when the transmission of the packet is completed. , Reset and allow host access. Bit 30 of word 0 represents the starting buffer when multiple buffers are used to transmit one packet, and bit 29 represents the last buffer. Bit 27 indicates the AAL type, bits 26 to 16 indicate the length of the packet, and bits 15 to 0 indicate the length of the buffer. At this time, the maximum size of the buffer is 64 Kbytes. Thus, the transmission descriptor represents a buffer in the host memory that has the packet to be transmitted.

【0033】送信データバッファは送信するデータを格
納しており、送信準備が完了した後、AAL処理部21
によって送信バッファに格納されたデータが読取られ伝
送される。
The transmission data buffer stores data to be transmitted, and after the transmission preparation is completed, the AAL processing unit 21
The data stored in the transmission buffer is read and transmitted.

【0034】図3を参照すると、送信完了リングは25
6個のエントリを有する。ここで、1つのエントリは1
つのパケットが送信完了したことを表し、各エントリは
4ワードよりなる。そして、4ワードのうちワード0の
ビット31は、オウンビットとして1にセットされる場
合は、AAL処理部21にて使用権があり、0にリセッ
トされる場合には、ホストシステム10に使用権がある
ことを表す。ワード1のビット30乃至ビット8は用い
られなく、ビット7乃至ビット0は帯域幅割当テーブル
のインデックスを表す。
Referring to FIG. 3, the transmission complete ring has 25
It has six entries. Here, one entry is 1
One packet indicates that transmission has been completed, and each entry consists of four words. When the bit 31 of the word 0 of the four words is set to 1 as an own bit, the AAL processing unit 21 has the right to use it. That there is. Bits 30 through 8 of word 1 are not used, and bits 7 through 0 represent an index in the bandwidth allocation table.

【0035】受信フリーバッファリングは、互いに異な
る大きさの各フリーバッファを指すための2つのリング
よりなり、各リングは256個のエントリより構成され
る。ホストシステム10は、空いているバッファのポイ
ンタを各リングに書いておき、初期化の過程にてバッフ
ァの大きさを決定する。例えば、2つのフリーバッファ
リングは、第1フリーバッファリングと第2フリーバッ
ファリングとに区分される。ここで、第1フリーバッフ
ァリングはTCP/IPに基づいた応用のための8Kバ
イトの大きさのバッファを指すのに用いられ、第2フリ
ーバッファリングはCBRサービスのための48バイト
のバッファを指すのに用いられ得る。従って、CBR応
用のため設定された仮想チャネルは第2フリーバッファ
リングにより指示されるバッファを使用し、TCP/I
P応用のため設定された仮想チャネルは第1フリーバッ
ファリングにより指示されるバッファを用いる。
The reception free buffering is composed of two rings for pointing to respective free buffers of different sizes, and each ring is composed of 256 entries. The host system 10 writes a pointer to an empty buffer in each ring, and determines the size of the buffer during the initialization process. For example, the two free bufferings are divided into a first free buffering and a second free buffering. Here, the first free buffering is used to refer to an 8K byte buffer for TCP / IP based applications, and the second free buffering is used to refer to a 48 byte buffer for CBR service. Can be used for Therefore, the virtual channel set for the CBR application uses the buffer indicated by the second free buffering, and the TCP / I
The virtual channel set for P application uses the buffer indicated by the first free buffering.

【0036】この場合、各フリーバッファリングのエン
トリは4ワードよりなる。ここで、ワード0のビット3
1はオウンビットとして各フリーバッファリングのエン
トリがAAL処理部21によって所有される場合はセッ
トされ、ホストシステム10によって所有される場合は
リセットされる。そして、ビット30乃至ビット28は
用いられなく、ビット27乃至ビット0はバッファの開
始ポインタを表す。初期化の過程において2つのフリー
バッファリングによって受信バッファは、最初48バイ
トの大きさで最大64Kバイトの長さまで16バイト単
位で形成される。ここで、1つのフリーバッファリング
によって指示されるバッファの大きさは同一である。
In this case, each free buffering entry consists of four words. Where bit 3 of word 0
"1" is set as an own bit when each free buffering entry is owned by the AAL processing unit 21, and reset when it is owned by the host system 10. Bits 30 through 28 are not used, and bits 27 through 0 represent the start pointer of the buffer. During the initialization process, the reception buffer is formed in units of 16 bytes up to a maximum length of 48 Kbytes and a maximum length of 64 Kbytes due to two free bufferings. Here, the size of the buffer specified by one free buffering is the same.

【0037】受信完了リングは256個のエントリより
なり、各エントリは4ワードになる。ここで、ワード0
は制御フィールド、パケットの長さ等を、ワード1は2
8ビットの開始バッファのポインタを、ワード2は4バ
イトのATMヘッダを各々表す。ワード0のビット31
はオウンビットとしてセットされる場合にはAAL処理
部21によって処理されることを表し、リセットの場合
にはホストシステム10によって処理されることを表
す。ビット30は、パケットオーバーフロービットとし
て現在パケットを処理するうち受信バッファにオーバー
フローが発生したことを、ビット29は、CRC条件ビ
ットとしてAAL5パケットにてCRCエラーが発生し
たことをホストに知らせる。ビット21乃至ビット11
は混雑セルの受信を表し、ビット10乃至ビット0はパ
ケットの長さを表す。
The reception completion ring has 256 entries, and each entry has 4 words. Where word 0
Is the control field, packet length, etc., word 1 is 2
Word 2 represents an 8-bit start buffer pointer, and word 2 represents a 4-byte ATM header. Bit 31 of word 0
Indicates that it is processed by the AAL processing unit 21 when it is set as an own bit, and indicates that it is processed by the host system 10 when it is reset. Bit 30 informs the host that a receive buffer overflow has occurred while processing the current packet as a packet overflow bit, and bit 29 informs the host that a CRC error has occurred in the AAL5 packet as a CRC condition bit. Bit 21 to bit 11
Indicates reception of a congested cell, and bits 10 to 0 indicate the length of the packet.

【0038】また、受信完了リングは、処理されるべき
ホストメモリに存在する受信されたパケットのポインタ
を含む。ホストシステム10はインタラップトを受信す
る場合、受信完了リングを調査した後オウンビットがリ
セットされたエントリを処理する。
[0038] The receive complete ring also contains a pointer to the received packet present in the host memory to be processed. When receiving the interrupt, the host system 10 processes the entry whose own bit is reset after checking the reception completion ring.

【0039】一方、制御メモリには図3に示したよう
に、帯域幅割当テーブル、送信DMA状態テーブル、受
信DMA状態テーブルがある。このようなテーブルはA
AL処理部及びホストによってアクセスされ得る。
On the other hand, as shown in FIG. 3, the control memory includes a bandwidth allocation table, a transmission DMA status table, and a reception DMA status table. Such a table is A
It can be accessed by the AL processing unit and the host.

【0040】帯域幅割当テーブルは4800個のエント
リを有し、各エントリは1バイトからなる。送信DMA
状態テーブルは255個のDMAエントリよりなり、各
DMAエントリは8ワードよりなり、受信DMA状態テ
ーブルは受信に用いられ1024個のDMAエントリ
(各エントリは8ワード)よりなる。
The bandwidth allocation table has 4800 entries, each entry consisting of one byte. Transmission DMA
The status table consists of 255 DMA entries, each DMA entry consists of 8 words, and the receive DMA state table is used for reception and consists of 1024 DMA entries (each entry has 8 words).

【0041】帯域幅割当テーブルは、各8ビットエント
リに0から255までのインデックスを各々割当てるこ
とによって、255個の送信ディスクリプターリングに
対して帯域を割当てる。この際「0」は無効セルが伝送
されることを表す。このような帯域幅割当テーブルは初
期化の過程にて設定される。そして、帯域幅割当テーブ
ルは送信DMA状態テーブルを指すポインタが含まれて
おり、AAL処理部21は初期化の過程にて定められた
大きさのテーブルを順にアクセスしてテーブルのインデ
ックスが指す送信ディスクリプターリングのデータを伝
送する。
The bandwidth allocation table allocates bandwidth for 255 transmit descriptor rings by allocating an index from 0 to 255 to each 8-bit entry. At this time, “0” indicates that an invalid cell is transmitted. Such a bandwidth allocation table is set during the initialization process. The bandwidth allocation table includes a pointer pointing to the transmission DMA status table, and the AAL processing unit 21 accesses the tables of the size determined in the initialization process in order, and indicates the transmission directory indicated by the index of the table. Transmits scripting data.

【0042】送信DMA状態テーブルは255個の帯域
幅割当DMAエントリよりなり、各DMAエントリは8
ワードよりなり分割される送信バッファを表す。DMA
エントリを構成する8ワードのうち、ワード0、ワード
1、ワード2、及びワード7は送信ディスクリプターリ
ングからそのままコピーしたものである。ここで、ワー
ド0は制御フィールド、パケットの長さ、バッファの長
さを表し、ワード1は現バッファのポインタを、ワード
2は4バイトのATMヘッダを、ワード7はAAL5の
テールを各々表す。ワード3は、ホストのみによってプ
ログラムされる領域としてワード三のビット1はBWG
_ONビットとして「1」である場合、帯域幅割当テー
ブルに基づいてデータを伝送し、「0」である場合は、
送信データが伝送されずNULLセルが伝送される。ワ
ード4においてビット31乃至ビット12は送信ディス
クリップッターリングポインタとして該当送信ディスク
リップッターリングの現エントリの位置を指すDVMA
アドレスである。ワード6はAAL5パケットのCRC
計算のため用いられる部分である。
The transmit DMA status table comprises 255 bandwidth allocation DMA entries, each DMA entry having 8
Represents a transmit buffer composed of words and divided. DMA
Of the eight words constituting the entry, word 0, word 1, word 2, and word 7 are directly copied from the transmission descriptor ring. Here, word 0 indicates the control field, packet length, and buffer length, word 1 indicates the pointer of the current buffer, word 2 indicates the 4-byte ATM header, and word 7 indicates the AAL5 tail. Word 3 is an area programmed only by the host, bit 1 of word 3 is BWG
When the _ON bit is “1”, data is transmitted based on the bandwidth allocation table, and when the _ON bit is “0”,
No transmission data is transmitted, and a NULL cell is transmitted. In word 4, bits 31 to 12 are used as transmission descittering pointers to indicate the position of the current entry of the corresponding transmission descittering DVMA.
Address. Word 6 is CRC of AAL5 packet
This part is used for calculation.

【0043】受信DMA状態テーブルは受信のため用い
られるテーブルとして1024個の受信DMAエントリ
よりなり、各DMAエントリは8ワードより構成され
る。ワード0のビット31はDMAチャネルが活性化さ
れる場合にセットされ、ビット21乃至ビット11はE
xplicit Forward Congestio
n Notification (EFCN)セルカウン
タに用いられる。ここで、ビット10乃至ビット0はパ
ケットの長さを表す。ワード1は現バッファポインタを
表し、ワード2は開始バッファポインタを表し、ワード
3はAALパケットの長さを表す。ワード4のVC_O
Nビットはパケットの再編成中にONされるが、リセッ
トされている場合は、AAL処理部21は該当VCの受
信セルを取り捨てる。バッファタイプビットは該当バッ
ファが第1フリーバッファリング或いは第2フリーバッ
ファリングに属するかを表す。
The reception DMA status table is composed of 1024 reception DMA entries as a table used for reception, and each DMA entry is composed of 8 words. Bit 31 of word 0 is set when the DMA channel is activated, and bits 21 through 11 are E
xplicit Forward Congestio
Used for n Notification (EFCN) cell counter. Here, bits 10 to 0 indicate the length of the packet. Word 1 represents the current buffer pointer, word 2 represents the starting buffer pointer, and word 3 represents the length of the AAL packet. VC_O of word 4
The N bit is turned on during the reorganization of the packet, but if reset, the AAL processing unit 21 discards the received cell of the corresponding VC. The buffer type bit indicates whether the corresponding buffer belongs to the first free buffering or the second free buffering.

【0044】このようなデータのフォーマットを通じて
パケットが送受信されることを具体的に説明する。
The fact that a packet is transmitted and received through such a data format will be specifically described.

【0045】送信バッファはホストメモリ上の任意の位
置に形成され得るが、その大きさは最大64Kバイトで
ある。ホストから伝送されるパケットが準備されると、
ATM NIC20は順に各パケットに含まれたデータ
を送信する。受信されたパケットはホストメモリ11に
ある1つの受信バッファに格納される。このときバッフ
ァの大きさは二種類、即ち、第1フリーバッファリング
或いは第2フリーバッファリングによって指示される。
The transmission buffer can be formed at an arbitrary position on the host memory, and its size is up to 64 Kbytes. When the packet to be transmitted from the host is prepared,
The ATM NIC 20 transmits the data included in each packet in order. The received packet is stored in one reception buffer in the host memory 11. At this time, the size of the buffer is indicated by two types, that is, the first free buffering or the second free buffering.

【0046】最初、ホストの応用プログラムが送信する
データを送信データバッファに格納し、送信ディスクリ
プターリングにこのバッファのポインタを記録して送信
ディスクリプターリングを設定する。パケットに対する
ホストの処理が干渉すると、送信ディスクリプターリン
グの該当イン取のオウンビットをセットしてホストシス
テム10からAAL処理部21へ該当パケットの処理を
渡す。
First, the data transmitted by the application program of the host is stored in the transmission data buffer, and the pointer of this buffer is recorded in the transmission descriptor ring to set the transmission descriptor ring. When the processing of the host for the packet interferes, the own bit of the corresponding input in the transmission descriptor ring is set and the processing of the corresponding packet is passed from the host system 10 to the AAL processing unit 21.

【0047】AAL処理部21は帯域幅割当テーブルを
順に循環しながら、帯域幅割当テーブルのエントリのイ
ンデックスが指す送信DMA状態テーブルによって送信
データバッファに格納されたデータを処理する。この場
合、送信DMA状態テーブルには送信ディスクリプター
リングの該当エントリデータがコピーされている。従っ
てAAL処理部21は、送信DMA状態テーブルのポイ
ンタが指示する送信データバッファから48バイトずつ
のデータを読取って送信する。
The AAL processing unit 21 processes the data stored in the transmission data buffer according to the transmission DMA status table indicated by the index of the entry of the bandwidth allocation table while circulating through the bandwidth allocation table in order. In this case, the corresponding entry data of the transmission descriptor ring is copied in the transmission DMA state table. Therefore, the AAL processing unit 21 reads and transmits 48-byte data from the transmission data buffer indicated by the pointer in the transmission DMA status table.

【0048】続いて、48バイトの有料負荷が送信され
る場合、AAL処理部21は内部レジスタをアップデー
トした後、帯域幅割当テーブルの次のエントリが指示す
る送信DMA状態テーブルのエントリを処理する。この
ようにAAL処理部21は帯域幅割当テーブルを循環し
ながらテーブルエントリのインデックスによって続けて
データを送信し、再び処理中の送信DMA状態テーブル
に戻れば、今度は送信ディスクリプターリングをアクセ
スせず、送信DMA状態テーブルのみアクセスして処理
する。このとき、送信DMA状態テーブルは次に伝送す
るセルを指す送信データバッファのポインタにアップデ
ートされている。
Subsequently, when a pay load of 48 bytes is transmitted, the AAL processing unit 21 updates the internal register, and then processes the entry in the transmission DMA status table indicated by the next entry in the bandwidth allocation table. As described above, the AAL processing unit 21 continuously transmits data according to the index of the table entry while circulating through the bandwidth allocation table, and returns to the transmission DMA state table being processed again without accessing the transmission descriptor ring. , Only the transmission DMA state table is accessed and processed. At this time, the transmission DMA status table has been updated to the pointer of the transmission data buffer indicating the cell to be transmitted next.

【0049】このようにデータを伝送して1つの送信デ
ータバッファに対する伝送が完了する場合、AAL処理
部21は送信ディスクリプターリングの次のエントリの
データを送信DMA状態テーブルのエントリにコピー
し、第2バッファに対して処理を続ける。即ち、送信デ
ィスクリプターリングの1つのエントリは、1つの送信
データバッファを指すが、送信するパケットが5個のバ
ッファを供給する場合、該当パケットを処理するために
5個の送信ディスクリプターリングのエントリが必要と
なる。この場合、第1バッファが48バイト単位で終わ
らなく16バイトのデータが残っている場合には、AA
L処理部21が第1バッファの16バイトを処理した
後、DMA状態テーブルをアップデートし、第2バッフ
ァから残余32バイトのデータ読取り48バイト単位で
処理する。
When the transmission to one transmission data buffer is completed by transmitting the data in this way, the AAL processing unit 21 copies the data of the next entry of the transmission descriptor ring to the entry of the transmission DMA status table, and Processing continues for two buffers. That is, one entry of the transmission descriptor ring points to one transmission data buffer, but when the packet to be transmitted supplies five buffers, five entries of the transmission descriptor ring are required to process the packet. Is required. In this case, if the first buffer does not end in 48-byte units and 16-byte data remains, AA
After the L processing unit 21 processes 16 bytes of the first buffer, the DMA status table is updated, and data of the remaining 32 bytes is read from the second buffer in units of 48 bytes.

【0050】このようにして1つのパケットを形成する
最後のバッファに対する処理が完了されパケットの伝送
が終了すれば、エンドオフパケット(EOP)の処理過
程を行う。例えば、AAL5のタイプによる伝送の場
合、EOPの処理過程はパッドを満たし、AAL5のテ
ールを形成する。
When the processing of the last buffer forming one packet is completed and the transmission of the packet is completed, the end-off packet (EOP) is processed. For example, in the case of AAL5 type transmission, the EOP process fills the pads and forms the AAL5 tail.

【0051】このように1つのパケットに対する伝送が
完了する場合、AAL処理部21は、該当パケットに割
当てられた送信ディスクリプターリングのエントリのオ
ウンビットをクリアさせ、送信完了リングエントリを形
成した後、ホストシステム10にインタラップトを発生
する。この場合、送信完了リングエントリには、オウン
ビット及び帯域幅割当インデックスが記録されている。
ここで、帯域幅割当インデックスはホストが処理された
パケットのメモリを再び利用し得るようにするのに使用
される。
When the transmission for one packet is completed, the AAL processing unit 21 clears the own bit of the transmission descriptor ring entry assigned to the packet and forms a transmission completion ring entry. An interrupt is generated in the host system 10. In this case, the own bit and the bandwidth allocation index are recorded in the transmission completion ring entry.
Here, the bandwidth allocation index is used to enable the host to re-use the memory of the processed packet.

【0052】一方、受信過程は、受取ったATMセルの
10ビットVCIによって受信DMAテーブルの1つの
DMAエントリが割当てられる。そして、受信DMAテ
ーブルの1つのDMAエントリは2つの受信フリーバッ
ファリングのうち1つのエントリと各々一対一に対応す
る。
On the other hand, in the receiving process, one DMA entry of the receiving DMA table is assigned by the 10-bit VCI of the received ATM cell. One DMA entry of the reception DMA table corresponds to one entry of the two reception free bufferings on a one-to-one basis.

【0053】もし、受取ったATMセルが該当VCIn
o第1番目のセルである場合、DMAエントリは受取っ
たセルを格納するために或るフリーバッファが用いられ
るかを指す。例えば、VCIによって指示されたDMA
エントリに割当てられるバッファが、第1フリーバッフ
ァリング或いは第2フリーバッファリングに属するかを
判定した後、該当フリーバッファリングの第1番目のデ
ィスクリップッターをアクセスしてフリーバッファのア
ドレスをDMAエントリにコピーする。その後、第1番
目の受取ったセルを該当DMAエントリが指示するバッ
ファに格納する。
If the received ATM cell is the corresponding VCIn
o If it is the first cell, the DMA entry indicates whether some free buffer is used to store the received cell. For example, DMA indicated by VCI
After determining whether the buffer allocated to the entry belongs to the first free buffering or the second free buffering, the first descriptor of the corresponding free buffering is accessed to set the address of the free buffer to the DMA entry. Copy to Then, the first received cell is stored in the buffer designated by the corresponding DMA entry.

【0054】続いて、VCIが同一な次のセルが受取ら
れる場合には、受信フリーバッファリングをアクセスせ
ず、DMAエントリが指示するバッファに48バイトを
格納する。この場合、DMAエントリはアップデートさ
れ次に格納するアドレスを指している。
Subsequently, when the next cell having the same VCI is received, 48 bytes are stored in the buffer specified by the DMA entry without accessing the reception free buffering. In this case, the DMA entry is updated and points to the next stored address.

【0055】もし、受取ったATMセルのVCIが依然
セルのVCIと異なる場合には、該当DMAエントリを
アクセスした後、受信フリーバッファリングからフリー
バッファの開始アドレスを求めた後、該当バッファにA
TMセルを格納する。
If the VCI of the received ATM cell is still different from the VCI of the cell, after accessing the corresponding DMA entry, the start address of the free buffer is obtained from the reception free buffering, and the A
Stores a TM cell.

【0056】このような動作が反復され或る1つのパケ
ットに対する受信が終了すると、AAL処理部21は受
信完了リングにこれを記録した後、インタラップトを発
生し、これをホストシステム10に知らせる。このと
き、受信ディスクリプターのオウンビット及び受信完了
リングエントリのオウンビットをリセットしてホストシ
ステム10にその権限を渡す。
When the above operation is repeated and the reception of one packet is completed, the AAL processing unit 21 records this in the reception completion ring, generates an interrupt, and notifies the host system 10 of this. At this time, the own bit of the reception descriptor and the own bit of the reception completion ring entry are reset, and the authority is transferred to the host system 10.

【0057】上述したATM NICは、ホストメモリ
に送信及び受信バッファを具現したが、このような送受
信バッファはNICの内部のメモリに具現することも可
能であり、送受信の制御のための制御データのフォーマ
ットも大変様々な形態が用いられ得る。
Although the above-described ATM NIC has transmission and reception buffers in the host memory, such a transmission and reception buffer may be embodied in a memory inside the NIC, and control data for controlling transmission and reception may be transmitted. A great variety of formats can be used.

【0058】続いて、上記の説明によってATM NI
Cの動作を理解した後、本発明による実施例を詳述す
る。
Subsequently, according to the above description, the ATM NI
After understanding the operation of C, an embodiment according to the present invention will be described in detail.

【0059】図4は、本発明によってリアルタイム接続
のため用いられるフリーバッファ、及びこのフリーバッ
ファリングのエントリにより指示されるバッファを示し
た概略図である。
FIG. 4 is a schematic diagram showing a free buffer used for real-time connection according to the present invention, and a buffer indicated by the entry of the free buffering.

【0060】図4を参照すると、リアルタイム接続のた
め用いられるフリーバッファリング43はテールポイン
タ41及びヘッドポインタ42によって各エントリが管
理され、フリーバッファリング43のエントリは各バッ
ファ44−1〜44−6に対する開始アドレスを有す
る。この場合、ヘッドポインタ42は最初受取ったセル
が格納されたバッファのエントリを指し、テールポイン
タ41は新たに受取ったセルを格納するためのバッファ
のエントリを指す。
Referring to FIG. 4, each entry of the free buffering 43 used for real-time connection is managed by a tail pointer 41 and a head pointer 42, and the entries of the free buffering 43 are stored in the buffers 44-1 to 44-6. Has a starting address for In this case, the head pointer 42 points to the entry of the buffer in which the cell received first is stored, and the tail pointer 41 points to the entry of the buffer for storing the newly received cell.

【0061】このようなフリーバッファリングの構造に
おいて、ヘッドポインタ42とテールポインタ41との
値が一致する場合オーバーフローが発生する。この際、
ヘッドポインタの値を増加させ先に到着されたセルを捨
て、テールポインタが指すアドレスに後に受取られたセ
ルを格納する。このようにリング構造でリアルタイム接
続のためのパケットのデータを別に管理することによっ
て、再編成バッファにオーバーフローが発生する場合、
重要度が落ちる、時間遅延が最も大きいセルを捨てて後
で受取ったセルを格納し得る。
In such a free buffering structure, when the values of the head pointer 42 and the tail pointer 41 match, an overflow occurs. On this occasion,
The value of the head pointer is incremented, the previously arrived cell is discarded, and the later received cell is stored at the address pointed to by the tail pointer. By separately managing the packet data for the real-time connection in the ring structure, when an overflow occurs in the reorganization buffer,
The less important, most time-delayed cells may be discarded to store cells received later.

【0062】図5は、本発明による動作の流れを示した
流れ図である。本発明によるセル取捨て方法は、図5に
示したように、ヘッドポインタ及びテールポインタによ
って格納されるセルのバッファを指示するエントリより
構成されたリアルタイム接続のためのフリーバッファリ
ングを設定するステップS100と、リアルタイム接続
に該当するパケットのセルが受信される場合、リアルタ
イム接続を管理するためのフリーバッファリングのヘッ
ドポインタとテールポインタとを比較するステップS1
02と、ヘッドポインタとテールポインタが一致する場
合(即ち、バッファにオーバーフローが発生しない場
合)、受取ったセルをテールポインタが指すバッファに
格納するステップS104と、ヘッドポインタとテール
ポインタが一致しない場合(即ち、バッファにオーバー
フローが発生する場合)は、ヘッドポイントの値を1だ
け増加させ最も長引いたセルを捨てた後、受取ったセル
をテールポインタが指すバッファに格納するステップS
103、104と、テールポインタを1だけ増加させる
ステップS105とから構成される。
FIG. 5 is a flowchart showing the flow of the operation according to the present invention. In the cell discarding method according to the present invention, as shown in FIG. 5, a step S100 of setting free buffering for a real-time connection constituted by an entry indicating a buffer of a cell stored by a head pointer and a tail pointer. And when the cell of the packet corresponding to the real-time connection is received, comparing the free buffering head pointer and the tail pointer for managing the real-time connection with step S1.
02, when the head pointer matches the tail pointer (that is, when the buffer does not overflow), the step S104 of storing the received cell in the buffer pointed to by the tail pointer, and when the head pointer does not match the tail pointer ( That is, when an overflow occurs in the buffer), the value of the head point is increased by 1, the longest cell is discarded, and the received cell is stored in the buffer pointed to by the tail pointer (step S).
103 and 104, and step S105 of increasing the tail pointer by one.

【0063】図5を参照すると、設定の過程において、
リアルタイムの接続が設定されると、このためのフリー
バッファリングを設定する。フリーバッファリングは複
数のエントリからなり、各エントリはフリーバッファの
アドレスを有する。そして、フリーバッファリングのエ
ントリはヘッドポインタ及びテールポインタによって指
示される。ここで、ヘッドポインタは第1番目のエント
リを指しており、テールポインタは順に増加しながら現
在受取ったセルを格納するためのエントリを指してい
る。従って、テールポインタ増加する途中、ヘッドポイ
ンタのようなエントリを指すと、オーバーフローが発生
するようになる。
Referring to FIG. 5, during the setting process,
Once the real-time connection is set up, set up free buffering for this. Free buffering consists of a plurality of entries, each entry having the address of a free buffer. The free buffering entry is indicated by the head pointer and the tail pointer. Here, the head pointer points to the first entry, and the tail pointer points to an entry for storing the currently received cell while increasing in order. Therefore, when an entry such as a head pointer is pointed during the increase of the tail pointer, an overflow occurs.

【0064】もし、テールポインタがヘッドポインタと
同一になってオーバーフローが発生する場合は、ヘッド
ポインタを1だけ増加させ、テールポインタによって指
定されたエントリが指すバッファに新たに受取られたセ
ルを格納する。この場合、ヘッドポインタが増加される
前のエントリが指すバッファに格納されたデータは損失
するようになり、新たに受取ったセルが格納されるよう
になる。
If the tail pointer becomes the same as the head pointer and an overflow occurs, the head pointer is increased by one and the newly received cell is stored in the buffer pointed to by the entry specified by the tail pointer. . In this case, data stored in the buffer pointed to by the entry before the head pointer is increased is lost, and a newly received cell is stored.

【0065】オーバーフローが発生しない場合には、受
取ったセルをテールポインタが指示するエントリが指す
バッファに格納した後、テールポインタを1だけ増加さ
せる。
If no overflow occurs, the received cell is stored in the buffer pointed to by the entry pointed to by the tail pointer, and then the tail pointer is incremented by one.

【0066】上記において、本発明の好適な実施の形態
について説明したが、本発明の請求範囲を逸脱すること
なく、当業者は種々の改変をなし得るであろう。
Although the preferred embodiments of the present invention have been described above, those skilled in the art will be able to make various modifications without departing from the scope of the present invention.

【0067】[0067]

【発明の効果】従って、本発明によれば、リアルタイム
接続のためのフリーバッファリングを別に管理して、バ
ッファにオーバーフローが発生する場合、最も長引いた
セルを捨てて新たに受取ったセルを格納することによっ
て、より効率的にセルを取り捨てることができる。
Therefore, according to the present invention, free buffering for real-time connection is separately managed, and when an overflow occurs in a buffer, the longest cell is discarded and a newly received cell is stored. As a result, cells can be more efficiently discarded.

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

【図1】通常のATMプロトコルの参照モデルを示す概
念図である。
FIG. 1 is a conceptual diagram showing a reference model of a normal ATM protocol.

【図2】通常のATM NICを示す構成図である。FIG. 2 is a configuration diagram showing a normal ATM NIC.

【図3】図2にて処理されるデータフォーマットの例を
示す概略図である。
FIG. 3 is a schematic diagram showing an example of a data format processed in FIG. 2;

【図4】本発明によってリアルタイムの接続を供給する
ためのリング及びバッファを示す概念図である。
FIG. 4 is a conceptual diagram illustrating a ring and a buffer for providing a real-time connection according to the present invention;

【図5】本発明によってATMセルを取り捨てるを示す
流れ図である。
FIG. 5 is a flowchart illustrating discarding ATM cells according to the present invention.

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

10 ホストシステム 11 ホストメモリ 12 プロセッサ 13 バス制御部 20 ATM NIC 21 AAL処理部 22 SONET/ATMラインアダプタ 23 送受信機 30 入出力バス 41 テールポインタ 42 ヘッドポインタ 43 フリーバッファリング 44-1〜44-6 バッファ DESCRIPTION OF SYMBOLS 10 Host system 11 Host memory 12 Processor 13 Bus control part 20 ATM NIC 21 AAL processing part 22 SONET / ATM line adapter 23 Transceiver 30 I / O bus 41 Tail pointer 42 Head pointer 43 Free buffering 44-1 to 44-6 Buffer

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】 ATM網インタフェースカード(NI
C)において時間依存データを処理するために受け取っ
たセルを取捨てる方法であって、前記ATMNICがホ
ストシステムの制御下で、ユーザからのメッセージをA
TMベース通信方式に適するセルに変換し、フリーバッ
ファリングのエントリによって指されるデータバッファ
内に格納されている受信セルを再編成して元のメッセー
ジを復元し、 各々が、ヘッドポインタ及びテールポインタを用いて前
記データバッファを指す複数のエントリよりなる、前記
フリーバッファリングをセットアップする第A過程と、 前記ATM NICにリアルタイムサービスを要するセ
ルが入力される場合、前記フリーバッファリング内に存
在する前記ヘッドポインタの値と前記テールポインタの
値とを比較する第B過程と、 前記ヘッドポインタの値と前記テールポインタの値とが
一致しない場合、前記テールポインタが指すバッファに
前記受け取ったセルを格納する第C過程と、 前記ヘッドポインタの値と前記テールポインタの値とが
一致する場合、前記ヘッドポインタの値を1だけ増加さ
せ、最初に受け取ったセルは取り捨て、最後に受け取っ
たセルは前記テールポインタが指すバッファに格納する
第D過程と、 前記テールポインタの値を1だけ増加させる第e過程と
を含むことを特徴とするセル取捨て方法。
1. An ATM network interface card (NI)
C) discarding the received cell in order to process the time-dependent data in the ATM NIC, wherein the ATMNIC transmits a message from the user under the control of the host system.
Converting the cells into cells suitable for TM-based communication, reconstructing the received cells stored in the data buffer pointed to by the free buffering entry and restoring the original message; An A step of setting up the free buffering, comprising a plurality of entries pointing to the data buffer using: a cell requiring a real-time service to the ATM NIC; A step B of comparing the value of the head pointer with the value of the tail pointer; and if the value of the head pointer does not match the value of the tail pointer, storing the received cell in a buffer pointed to by the tail pointer. Step C, the value of the head pointer and the tail pointer If the value of the pointer matches, the value of the head pointer is incremented by 1, the first received cell is discarded, and the last received cell is stored in a buffer pointed to by the tail pointer. E) increasing the value of the tail pointer by one.
【請求項2】 バッファにオーバフローが発生する場
合、新たに到着するセルの格納のためのスペースを確保
するために、最初に格納したセルは取り捨てるような方
式にて、受け取ったセルを取捨てる方法であって、前記
バッファは順次的に入力されるデータを受け取って格納
するメモリ装置であり、前記オーバフローは前記バッフ
ァが一杯となりそれ以上入力されるセルを収容できない
状態であることを特徴とするセル取捨て方法。
2. When an overflow occurs in a buffer, a received cell is discarded in such a manner that a cell stored first is discarded in order to secure a space for storing a newly arriving cell. The method, wherein the buffer is a memory device that receives and stores sequentially input data, and the overflow is a condition in which the buffer is full and cannot accommodate any more input cells. Cell disposal method.
【請求項3】 前記セルの特徴が前記ATM通信アー
キテクチャによって定義されることを特徴とする請求項
2に記載のセル取捨て方法。
3. The method of claim 2, wherein the characteristics of the cell are defined by the ATM communication architecture.
【請求項4】 前記セルが、リアルタイム処理を要す
る情報を有することを特徴とする請求項3に記載のセル
取捨て方法。
4. The method according to claim 3, wherein the cell has information that requires real-time processing.
JP8738898A 1997-03-31 1998-03-31 Cell-discarding method Withdrawn JPH10313325A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1019970011863A KR100236036B1 (en) 1997-03-31 1997-03-31 Method of discarding atm cells in an atm nic
KR1997-11863 1997-03-31

Publications (1)

Publication Number Publication Date
JPH10313325A true JPH10313325A (en) 1998-11-24

Family

ID=19501602

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8738898A Withdrawn JPH10313325A (en) 1997-03-31 1998-03-31 Cell-discarding method

Country Status (3)

Country Link
JP (1) JPH10313325A (en)
KR (1) KR100236036B1 (en)
GB (1) GB2325597A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8374319B1 (en) 2002-07-26 2013-02-12 At&T Intellectual Property I, L.P. Realtime call screening

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2349312B (en) 1999-04-21 2001-03-07 3Com Corp Ageing of data packets using queue pointers

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0162174B1 (en) * 1984-05-23 1988-11-09 International Business Machines Corporation Buffer device used in a voice transmission network
US5179557A (en) * 1989-07-04 1993-01-12 Kabushiki Kaisha Toshiba Data packet communication system in which data packet transmittal is prioritized with queues having respective assigned priorities and frequency weighted counting of queue wait time
GB2236035B (en) * 1989-09-15 1993-11-17 Plessey Co Plc An asynchronous time division multiplex switching system
JPH0458646A (en) * 1990-06-28 1992-02-25 Toshiba Corp Buffer management system
KR100229558B1 (en) * 1991-04-10 1999-11-15 요트.게.아. 롤페즈 The low-delay or low-loss switch for asynchronous transfer mode
US5268900A (en) * 1991-07-05 1993-12-07 Codex Corporation Device and method for implementing queueing disciplines at high speeds
US5233606A (en) * 1991-08-02 1993-08-03 At&T Bell Laboratories Arrangement for controlling shared-buffer-memory overflow in a multi-priority environment
US5521916A (en) * 1994-12-02 1996-05-28 At&T Corp. Implementation of selective pushout for space priorities in a shared memory asynchronous transfer mode switch

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8374319B1 (en) 2002-07-26 2013-02-12 At&T Intellectual Property I, L.P. Realtime call screening
US9100477B2 (en) 2002-07-26 2015-08-04 At&T Intellectual Property I, L.P. System and method of call screening
US10212276B2 (en) 2002-07-26 2019-02-19 At&T Intellectual Property I, L.P. System and method of call screening

Also Published As

Publication number Publication date
GB9806822D0 (en) 1998-05-27
KR19980075621A (en) 1998-11-16
GB2325597A (en) 1998-11-25
KR100236036B1 (en) 1999-12-15

Similar Documents

Publication Publication Date Title
US5796735A (en) System and method for transmission rate control in a segmentation and reassembly (SAR) circuit under ATM protocol
JP2990345B2 (en) Network interface
US6084880A (en) Asynchronous transfer mode adapter for desktop applications
US5726985A (en) ATM communication system interconnect/termination unit
US5917828A (en) ATM reassembly controller and method
US6724767B1 (en) Two-dimensional queuing/de-queuing methods and systems for implementing the same
US5414707A (en) Broadband ISDN processing method and system
US5982749A (en) ATM communication system interconnect/termination unit
US6466997B1 (en) Method and apparatus for performing TX raw cell status report frequency and interrupt frequency mitigation in a network node
US6097734A (en) Programmable reassembly of data received in an ATM network
US5848068A (en) ATM communication system interconnect/termination unit
US5920561A (en) ATM communication system interconnect/termination unit
US20020176430A1 (en) Buffer management for communication systems
US6535512B1 (en) ATM communication system interconnect/termination unit
JPH07273799A (en) Apparatus and method for packet processing in packet switching network and frame processing system for frame relay network
US5841772A (en) ATM communication system interconnect/termination unit
US6327271B1 (en) Programmable reassembly of data received in an ATM network
EP1102171A2 (en) Universal serial bus network peripheral device
US7215670B1 (en) Hardware acceleration for reassembly of message packets in a universal serial bus peripheral device
KR100236035B1 (en) Method of scheduling virtual channels by using subtables in an atm nic
JPH07221762A (en) Packet processing method and communication interface device
EP0674825B1 (en) Device for the conversion of data blocks, frame structured, into atm cells and vice versa
JPH10313325A (en) Cell-discarding method
US6603768B1 (en) Multi-protocol conversion assistance method and system for a network accelerator
US6212567B1 (en) Method and apparatus for performing raw cell status report frequency mitigation on receive in a network node

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050217

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20060907