KR100258143B1 - ADL 5 packet buffer management method - Google Patents

ADL 5 packet buffer management method Download PDF

Info

Publication number
KR100258143B1
KR100258143B1 KR1019970079018A KR19970079018A KR100258143B1 KR 100258143 B1 KR100258143 B1 KR 100258143B1 KR 1019970079018 A KR1019970079018 A KR 1019970079018A KR 19970079018 A KR19970079018 A KR 19970079018A KR 100258143 B1 KR100258143 B1 KR 100258143B1
Authority
KR
South Korea
Prior art keywords
packet
sara
buffer
cell
pcq
Prior art date
Application number
KR1019970079018A
Other languages
Korean (ko)
Other versions
KR19990058844A (en
Inventor
최혜두
Original Assignee
윤종용
삼성전자주식회사
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 윤종용, 삼성전자주식회사 filed Critical 윤종용
Priority to KR1019970079018A priority Critical patent/KR100258143B1/en
Publication of KR19990058844A publication Critical patent/KR19990058844A/en
Application granted granted Critical
Publication of KR100258143B1 publication Critical patent/KR100258143B1/en

Links

Images

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9057Arrangements for supporting packet reassembly or resequencing
    • 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
    • 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]
    • H04L2012/5658Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly using the ATM adaptation layer [AAL] using the AAL5
    • 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

Abstract

PURPOSE: An AAL5 packet buffer management method is provided to efficiently implement packet segmentation and packet reassembly, which are the heart of the ATM Adaptation Layer5(AAL5) technology. CONSTITUTION: Each data packet is stored in a packet memory through a host bus. A software driver notifies a position of the data packet to SARA. The packet is divided in a cell and the divided cell is multiplexed by another packet. ATM cells are classified into virtual path identifier/ virtual channel identifier(VPI/VCI) values, which are stored on a packet base. A buffer is allocated to the S/W driver, when the SARA-R includes a cell with a new VPI/VCI value. A Cell with the same VPI/VCI values is stored additionally. During the receipt of the end of message cell, the cell is stored in the same buffer and the packet is transmitted to an application. The SARA-S in charge of the segmentation requests the buffer allocation with respect to the S/W driver for packet transmission by the processor. The processor allocates one buffer. The SARA-S transmits the packet to the buffer on a cell base. The SARA-S, after transmitting the all data, notifies the S/W driver of a packet transmission status to allow the buffer to be free.

Description

에이에이엘5 패킷 버퍼 관리 방법ADL 5 packet buffer management method

본 발명은 BISDN의 구현에 관한 것으로서, 특히 AAL5 기술의 핵심인 패킷의 분할과 조합을 능률적으로 구현하기 위한 패킷 버퍼 관리 방법에 관한 것이다.The present invention relates to the implementation of BISDN, and more particularly, to a packet buffer management method for efficiently implementing packet division and combination, which are the core of AAL5 technology.

종래의 기술에 대하여 살펴보면 다음과 같다. 종래에는 핵심 기술로 ATM이 교환 및 전송 분야에 많이 적용되었다.Looking at the prior art as follows. Conventionally, as a core technology, ATM has been widely applied in the field of exchange and transmission.

종래의 버퍼 관리 방법은 대부분 LAN(Local Area Network) 환경에서의 네트워크 인터페이스이기 때문에 프로세서와 LAN 제어기 사이의 버퍼 관리를 해왔으며, 보통 프로세서에서 패킷을 저정된 메모리에 쓰고 상기 패킷을 어떻게 하면 빨리 가지고갈 수 있는지에 대한 내용이였다.Since the conventional buffer management method is a network interface in a local area network (LAN) environment, the buffer management between the processor and the LAN controller has been performed. Usually, the processor writes a packet to a stored memory and how to quickly carry the packet. It was about what could be.

상기와 같은 종래의 기술은 미국 특허 5299313,Network interface with host independant buffer management에 제시되어 있으나 오버헤드가 크다는 문제점이 있다.The prior art as described above is presented in US Patent No. 5299313, Network interface with host independant buffer management, but has a problem in that the overhead is large.

상기 미국 특허에 제시되어 있는 버퍼 관리 방법은, 전송 디스크립터 링 버퍼를 이용하여 패킷에 대한 정보를 저장하고, 상기 버퍼안에 있는 구조체를 이용하여 전송 데이터 버퍼를 가리키는 방법으로 버퍼를 관리하며, 수신측에도 마찬가지의 방법을 사용하고 있다.The buffer management method proposed in the U.S. patent uses a transport descriptor buffer to store information about a packet, manages the buffer by pointing to a transmission data buffer using a structure in the buffer, and the same on the receiving side. I'm using the method.

상기 패킷을 네트워크 인터페이스에게서 받을 때 소프트웨어 디라이버로부터 버퍼 디스크립터를 할당받고 상기 패킷을 상기 할당받은 버퍼 디스크립터에 저장한 후 상기 버퍼 스크립터를 관리하는 수신 링 버퍼에 상기 받은 디스크립터를 업데이트한다.When the packet is received from a network interface, a buffer descriptor is allocated from a software driver, the packet is stored in the allocated buffer descriptor, and the received descriptor is updated in a reception ring buffer managing the buffer script.

상기 버퍼 관리는 두 가지의 방법으로 이루어지고 있다. 첫째로는 tx/rx 디스크립터 링 버퍼 관리이고, 둘째는 버퍼 관리이다.The buffer management is performed in two ways. The first is tx / rx descriptor ring buffer management, and the second is buffer management.

상기 디스크립터 링 버퍼는 패킷마다 할당하는 디스크립터이며, 상기 디스크립터들은 아직 송신되지 않은 패킷의 정보를 가진다. 또한 패킷의 데이터 버퍼 주소와 데이터의 길이와 데이터의 주소와 바로 송신한 정보도 가지고 있다.The descriptor ring buffer is a descriptor allocated for each packet, and the descriptors have information of a packet not yet transmitted. It also contains the data buffer address of the packet, the length of the data, the address of the data, and the information just sent.

상기 버퍼 관리는 디스크립터 링 버퍼에서 가르키는 패킷을 순서대로 송신하며, 두 개의 1.5K 바이트의 메모리를 사용하고 있기 때문에 하나씩 번갈아서 쓰여진다. 상기 버퍼 관리 방법은 순서대로 송신해야 하는 LAN의 특성에 알맞는 구성이다.The buffer management transmits the packets indicated by the descriptor buffer in order, and is written one by one since two 1.5K bytes of memory are used. The buffer management method is a configuration suitable for the characteristics of the LAN to be transmitted in order.

상기와 같이 이루어지는 종래 기술에 있어서의 문제점을 정리하면 다음과 같다.The problems in the prior art made as described above are summarized as follows.

첫째, 상기 순서대로 패킷을 전송하는 방법은 ATM의 특성상 적합하지 않다는 문제점이 있다.First, there is a problem that the method of transmitting packets in the above order is not suitable due to the characteristics of ATM.

여러개의 커넥션(connection)으로 이루어져 있는 ATM 커넥션은 열려있는 커넥션에 대하여 자원의 분담이 이루어 져야하며, 상기 자원은 ATM 링크이며 상기 기능을 해 주는 SARA S/R을 위한 버퍼 관리도 이루어져야 한다.An ATM connection consisting of several connections must share resources with respect to the open connection, and the resource must be an ATM link and buffer management for the SARA S / R serving the function.

상기와 같이 셀의 송신이 열려있는 커넥션에 대하여 공평하게 이루어지는 것이 ATM 특성으로 중요한 장점이지만 상기 특허[미국 특허 5299313]와 같은 방법은 적합하지 않다.As described above, it is an important feature of the ATM characteristic that the cell transmission is made to be fair to the open connection. However, a method such as the patent [US Patent 5299313] is not suitable.

둘째, 상기 ATM과 같이 하이 스피드 네트워크(high speed network)를 목적으로 하는 네트워크에서 한 패킷씩 처리해서는 그 오버헤드를 담당하기가 힘들기 때문에 성능의 문제점이 있다.Second, when processing a packet one by one in a network for a high speed network, such as ATM, there is a performance problem because it is difficult to handle the overhead.

셋째, 상기와 같은 종래 기술에서는 여러개의 커넥션을 처리하지 않기 때문에 디스크립터 버퍼 관리가 오히려 복잡하다는 문제점이 있다.Third, there is a problem in that the descriptor buffer management is rather complicated because the conventional technology does not process multiple connections.

상기와 같은 이유는, LAN 통신을 처리하는 칩은 보통 하나의 패킷을 하나씩 처리하게 디자인 되어 있으나, ATM 네트워크를 위한 SARA와 같은 칩들은 여러개의 커넥션을 기본적으로 처리해야하므로 패킷을 전달하는 기능만을 수행하는 소프트웨어 드라이버는 그 부하가 적은 것이다.For the above reason, LAN communication chip is usually designed to process one packet one by one. However, chips such as SARA for ATM network basically need to handle several connections, so they only carry packets. The software driver is a small load.

본 발명은 상기와 같은 종래 기술의 문제점을 해결하기 위하여 창안된 것으로서, 첫째, 상기 모든 SARA와 소프트웨어 드라이버의 통신은 메시지로 이루어져 있으며, 상기 메시지는 SARA가 가지고 있는 버퍼 디스크립터의 번호로서 상기 버퍼 디스크립터 번호를 통하여 패킷의 위치, 길이 등을 알 수 있고 소프트웨어 드라이버가 독립적으로 전달된 패킷을 처리할 수 있는 핸들(handle)이 된다.The present invention was devised to solve the above problems of the prior art. First, all the communication between the SARA and the software driver is composed of a message, and the message is the number of the buffer descriptor that the SARA has. Through this, the location and length of the packet can be known, and the software driver can handle the delivered packet independently.

상기 여러개의 버퍼 디스크립터 번호는 CQ에 쌓여 있어서 판독/기록 포인터를 이용하여 추가로 처리되어야 하는 디스크립터가 있는지 확인할 수 있는 기능을 가지고 있으면서, 수시로 SARA는 상기 CQ를 이용하여 새로운 패킷에 대하여 분할을 시작할 수 있고, 조합도 마찬가지로 새로운 패킷에 대한 디스크립터 번호를 할당받아 조합한다.The multiple buffer descriptor numbers are accumulated in the CQ, and have a function of checking whether there are descriptors to be further processed by using a read / write pointer, and from time to time, SARA can start splitting new packets using the CQ. Similarly, the combination is also assigned by assigning a descriptor number for a new packet.

상기와 같은 방법으로 여러개의 커넥션에 대한 패킷 처리를 SARA 칩에 의하여 동시에 할 수 있게 하는 것을 목적으로 한다.It is an object of the present invention to allow a SARA chip to simultaneously process packets for a plurality of connections.

둘째, 상기 SARA의 통신 방법에는 인터럽트가 있어서 소프트웨어 드라이버의 CQ 체크의 부하를 줄여 주었으며, 상기 방법은 소프트웨어 드라이버가 CQ의 판독/기록 포인터를 수시로 확인해야 하는 일을 판독/기록 포인터 간에 차이가 있을 때는 인터럽트를 생성하여 알려줌으로서 소프트웨어 드라이버의 불필요한 폴링(Polling)이 없어지도록 하는 것을 목적으로 한다.Second, there is an interrupt in the communication method of the SARA to reduce the load of the CQ check of the software driver. When the difference between the read / write pointers indicates that the software driver should check the read / write pointer of the CQ from time to time. The purpose is to generate and notify an interrupt so that unnecessary polling of the software driver is eliminated.

셋째, 메시지를 이용하는 SARA와 소프트웨어 드라이버의 통신은 ATM과 같은 하이 스피드 네크워크에 적절한 방법으로서, 상기 소프트웨어 드라이버의 부하가 최소화 되고 독립적으로 하드웨어가 동작할 수 있는 환경 제공을 목적으로 한다.Third, the communication between the SARA and the software driver using the message is a method suitable for a high speed network such as ATM, and aims to provide an environment in which the load of the software driver is minimized and the hardware can operate independently.

도 1 은 전형적인 AAL5의 다이어그램이다.1 is a diagram of a typical AAL5.

도 2 는 CQ(Communication Queue)의 동작 다이어그램이다.2 is an operation diagram of a communication queue (CQ).

도 3 은 송신시의 조사 절차(lookup procedure)이다.3 is a lookup procedure at the time of transmission.

도 4 는 수신시의 조사 절차이다.4 is an investigation procedure upon reception.

상기한 바와 같은 목적을 달성하기 위하여 창안된 본 발명에 따른 AAL5 패킷 버퍼 관리 방법의 바람직한 일 실시예는,One preferred embodiment of the AAL5 packet buffer management method according to the present invention created to achieve the object as described above,

데이터 패킷이 패킷 메모리에 저장되어 있다가 ATM 방식으로 분할되고, 조합되어지는 단계;Storing the data packet in the packet memory, and then dividing and combining the data packet in an ATM method;

상기 각각의 데이터 패킷이 호스트 버스를 통하여 패킷 메모리로 저장이 되는 단계;Storing each data packet into a packet memory via a host bus;

상기 데이터 패킷의 위치를 소프트웨어 드라이버가 SARA에게 알려주는 단계;Informing a SARA of a location of the data packet by a software driver;

상기 패킷이 셀 형식으로 분할되어 다른 패킷으로부터 분할된 셀들과 함께 다중화가 이루어지는 단계;Splitting the packet into a cell form to multiplex with cells divided from other packets;

상기 조합을 담당하는 SARA-R이 다중화되어서 인가되는 ATM 셀들을 VIP 값과 VCI 값으로 분류하여 패킷 단위로 저장하는 단계;Classifying the ATM cells to which the SARA-R, which is in charge of the combination, is multiplexed and applied are divided into VIP values and VCI values and stored in packet units;

상기 SARA-R이 새로운 VPI/VCI 값을 가진 셀을 접하게 되는 경우 새로운 버퍼를 S/W 드라이버에게 버퍼 할당을 요구하는 단계;Requesting a buffer allocation from a S / W driver for a new buffer when the SARA-R encounters a cell having a new VPI / VCI value;

상기 버퍼에 받은 셀을 저장하는 단계;Storing the received cell in the buffer;

상기 셀들 중에서 같은 VPI/VCI 값을 가진 셀을 추가로 저장하는 단계;Additionally storing a cell having the same VPI / VCI value among the cells;

상기 VPI/VCI 값을 가지고 메시지 종료(end of message) 셀을 받은 경우 상기 셀을 같은 버퍼에 저장하고 패킷을 응용프로그램(application)에 전달하는 단계;Storing the cell in the same buffer and delivering a packet to an application when receiving an end of message cell with the VPI / VCI value;

상기 분할을 담당하고 있는 SARA-S가 프로세서에서 패킷을 보내기 위해 S/W 드라이버에게 버퍼 할당을 요구하는 단계;Requesting a buffer allocation from a S / W driver to send a packet from a SARA-S in charge of the partitioning;

상기 프로세서가 하나의 버퍼를 할당하는 단계;The processor allocating a buffer;

상기 SARA-S가 상기 패킷을 셀 단위로 상기 버퍼에 내보내는 단계; 및The SARA-S sending the packet to the buffer in units of cells; And

상기 SARA-S가 데이터를 모두 송신한 후 버퍼를 프리시키기 위하여 S/W 드라이버에게 패킷 송신 상태를 알려주는 단계를 포함한다.And informing the S / W driver of the packet transmission status in order to free the buffer after the SARA-S transmits all the data.

본 발명에 있어서, 상기 분할을 위한 패킷 버퍼 할당과 상기 조합을 위한 버퍼 할당을 관리하는 S/W 드라이버를 포함하는 것이 바람직하며,In the present invention, it is preferable to include a S / W driver for managing the packet buffer allocation for the partition and the buffer allocation for the combination,

상기 SARA-S가 PRQ와 TCQ를 이용하여 호스트와 패킷 디스크립터를 주고받는 것이 바람직하며,It is preferable that the SARA-S exchanges packet descriptors with a host using PRQ and TCQ.

PRQ_ST_ADR 레지스터와 PRQ_ED_ADR 레지스터와 PRQ_RD_PTR과 PRQ_WR_PTR로 구성되어진 상기 PRQ를 포함하는 것이 바람직하며,Preferably, the PRQ includes a PRQ_ST_ADR register, a PRQ_ED_ADR register, a PRQ_RD_PTR, and a PRQ_WR_PTR.

상기 PRQ가 PCQ의 시작 주소와 끝 주소와 판독 포인터와 기록 포인터로 풀이되는 것이 바람직하며,Preferably, the PRQ is resolved into a start address and an end address of the PCQ, a read pointer, and a write pointer.

상기 SARA-R이 FDQ와 PCQ와 EQ(Exception Queue)를 이용하여 SARA-R과 통신하는 것이 바람직하며,Preferably, the SARA-R communicates with the SARA-R using FDQ, PCQ, and EQ (Exception Queue).

시작 주소와 판독 포인터와 기록 포인터로 구성된 상기 SARA-R의 CQ를 포함하는 것이 바람직하며,Preferably includes a CQ of the SARA-R consisting of a start address, a read pointer and a write pointer,

상기 분할을 위한 PRQ가 디스크립터 번호를 가지고 있는 것이 바람직하며,It is preferable that the PRQ for the division has a descriptor number,

상기 디스크립터 번호가 제어 메모리에 저장되어 있는 패킷의 정보이며, 하나의 패킷이 하나의 디스크립터 번호를 가지고 있는 것이 바람직하며,Preferably, the descriptor number is information of a packet stored in a control memory, and one packet has one descriptor number.

상기 디스크립터 번호로 패킷 정보가 있는 제어 메모리 주소를 찾아 정의되어 있는 구조체를 통하여 정보를 추출하는 것이 바람직하며,It is preferable to find a control memory address with packet information by the descriptor number and extract the information through a defined structure.

상기 정보는 VPI/VCI 값과 패킷 메모리 주소와 패킷의 크기를 가지며, 상기 정보를 이용하여 SARA-S가 분할 프로세스를 하는 것이 바람직하며,The information has a VPI / VCI value, a packet memory address, and a packet size, and SARA-S preferably performs a partitioning process using the information.

상기 소프트웨어 드라이버로부터 하나의 디스크립터 번호를 할당받고 상기 디스크립터 번호를 통하여 상기 패킷 정보를 저장할 베어 메모리 주소를 찾아 정의되어 있는 구조체에 따라 상기 SARA-S에 필요한 VPI/VCI 값과 패킷 메모리 주소와 패킷 크기 등의 정보를 기록해 줌으로써 하나의 패킷을 ATM 네트워크로 전송하는 것이 바람직하며,A descriptor number is allocated from the software driver, and a bare memory address for storing the packet information is found through the descriptor number, and the VPI / VCI value, packet memory address, packet size, etc. required for the SARA-S are defined according to a structure defined. It is desirable to send one packet to ATM network by recording information of

상기 소프트웨어 드라이버에서 하나의 디스크립터 번호를 할당하고 상기 모든 정보가 기록된 후 PRQ의 기록 포인터를 증가시키는 것이 바람직하며,Preferably, the software driver allocates one descriptor number and increments the write pointer of the PRQ after all the information has been written.

상기 과정이 SARA-S에게 지금 분할해야하는 패킷이 있다는 정보로 전달되며, 상기 정보가 전달되면 SARA-S가 자체적으로 분할하고 셀을 만들어 다중화하여 ATM 네트워크로 송출하는 것이 바람직하며,The process is transmitted to the information that there is a packet that needs to be split to SARA-S, and when the information is delivered, it is preferable that SARA-S divides itself, forms a cell, multiplexes it, and sends it to the ATM network.

상기 송출 작업이 끝난 후 상기 PCQ의 판독 포인터를 증가시킴으로써 상기 PCQ의 상태를 업 데이트하고, 상기 TCQ를 이용하여 상기 S/W 드라이버에게 끝났다는 메시지로 상기 TCQ의 기록 포인터를 증가시키는 것이 바람직하며,After the sending operation is finished, it is preferable to update the state of the PCQ by increasing the read pointer of the PCQ, and increase the write pointer of the TCQ with a message indicating that it is finished to the S / W driver using the TCQ.

상기 소프트웨어 드라이버는 인터럽트가 뜨면 상기 TCQ의 기록 포인터를 이용하여 디스크립터 번호를 알아낸 후 상기 디스크립터 번호를 이용하여 제어 메모리 주소를 찾아 패킷 버퍼를 프리 시키고, 상기 패킷을 응용프로그램으로 전달하는 것이 바람직하며,When the software driver interrupts, find the descriptor number using the write pointer of the TCQ, find the control memory address using the descriptor number, free the packet buffer, and deliver the packet to the application program.

상기 조합을 하기 위하여 FDQ와 PCQ를 이용하여 패킷을 수신하는 것이 바람직하며,In order to perform the above combination, it is preferable to receive a packet using FDQ and PCQ.

상기 SARA-R이 새로운 셀을 받는 순간 상기 FDQ를 이용하여 어느 디스크립터를 써야하는지 얻어내는 것이 바람직하며,When the SARA-R receives a new cell, it is preferable to obtain which descriptor to write using the FDQ.

상기 FDQ가 항상 새로운 패킷을 받을 경우 할당할 디스크립터 번호를 보관하는 것이 바람직하며,It is preferable to keep the descriptor number to be allocated when the FDQ always receives a new packet.

상기 SARA-R이 새로운 스크립터 번호를 할당받으면 상기 스크립터 번호에 해당하는 제어 메모리 주소를 찾아 어느 패킷 메모리 주소에 상기 셀의 조합을 시작할 것인가를 결정하고, 상기 FDQ의 기록 포인터를 증가시키는 것이 바람직하며,When the SARA-R is assigned a new scripter number, it is preferable to find a control memory address corresponding to the scripter number, to determine which packet memory address to start combining the cells with, and increase the write pointer of the FDQ.

상기 과정에서 상기 SARA-R이 자체적으로 조합 지능을 수행하여 셀을 한 곳으로 조합하고 패킷화하는 것이 바람직하며,In the above process, it is preferable that the SARA-R performs combinational intelligence on its own to combine and packetize cells into one place.

하나의 패킷이 형성되면 상기 PCQ를 이용하여 디스크립터 번호를 상기 PCQ의 기록 포인터에 저장하고 기록 포인터를 증가시키는 것이 바람직하며,When one packet is formed, it is preferable to store a descriptor number in the write pointer of the PCQ and increase the write pointer using the PCQ.

상기 PCQ 기록 포인터의 증가가 상기 SARA-R에 의하여 인터럽트로 전환되어 발생하는 것이 바람직하며,Preferably, the increase in the PCQ write pointer is caused by switching to an interrupt by the SARA-R,

상기 SARA-R이 상기 PCQ의 판독 포인터와 기록 포인터를 비교하여 같지 않은 경우 인터럽트를 발생시키지 않는 것이 바람직하며,Preferably, the SARA-R does not generate an interrupt when the read pointer and write pointer of the PCQ are not equal to each other.

상기 패킷을 응용 프로그램으로 넘겨주고 상기 PCQ의 판독 포인터를 증가시키는 작업과 프리 디스크립터 번호에 해당하는 번호를 프리시키는 것이 바람직하다.It is preferable to pass the packet to the application program and to increase the read pointer of the PCQ and to free the number corresponding to the predescriptor number.

이하 본 발명의 상세한 동작원리에 대하여 도면을 참조하여 설명한다. 도 1 은 전형적인 AAL5 의 다이어그램이다.Hereinafter, a detailed operation principle of the present invention will be described with reference to the drawings. 1 is a diagram of a typical AAL5.

상기 도 1 에 제시된 바와 같이, AAL5 기능을 수행하는 전송스위치(Transwitch)의 SARA의 칩셋은 두 개의 제어 메모리와 두 개의 패킷 메모리로 구성되어 있다.As shown in FIG. 1, the SARA chipset of a transfer switch that performs the AAL5 function is composed of two control memories and two packet memories.

도 2 는 CQ의 동작 다이어그램이고, 도 3 은 송신시의 조사 절차(lookup procedure)도 이며, 도 4 는 수신시의 조사 절차도 이다.FIG. 2 is an operation diagram of CQ, FIG. 3 is a lookup procedure upon transmission, and FIG. 4 is a lookup procedure upon reception.

상기 소프트웨어 드라이버는 분할을 위한 패킷 버퍼 할당과 조합을 위한 버퍼 할당을 관리하는데, 상기 관리는 상기 도 2 에 제시된 바와 같이 CQ를 이용하여 SARA-S와의 통신을 구현하였고, 상기 SARA-S는 PRQ(Packet Ready Queue)와 TCQ(Transmit Complete Queue)의 두 개의 큐를 이용하여 패킷 디스크립터를 호스트와 주고 받는다.The software driver manages packet buffer allocation for partitioning and buffer allocation for combining, wherein the management implements communication with SARA-S using CQ as shown in FIG. 2, and the SARA-S implements PRQ ( Packet descriptors are sent to and received from the host using two queues: Packet Ready Queue (TCQ) and Transmit Complete Queue (TCQ).

상기 PRQ는 PRQ_ST_ADR 레지스터와 PRQ_ED_ADR 레지스터와 PRQ_RD_PTR과 PRQ_WD_PTR로 구성되어 있으며 PCQ의 시작 주소, 끝 주소, 판독 포인터와 기록 포인터로 풀이되며, 상기 TCQ는 TCQ_ST_ADR 레지스터, TCQ_ED_ADR 레지스터, TCQ_RD_PTR과 TCQ_WR_PTR로 구성되어 있으며 TCQ의 시작 주소와 끝 주소와 판독 포인터와 기록 포인터로 풀이 된다.The PRQ is composed of a PRQ_ST_ADR register, a PRQ_ED_ADR register, a PRQ_RD_PTR, and a PRQ_WD_PTR, and is pooled with a start address, an end address, a read pointer, and a write pointer of a PCQ. It is solved by the start and end addresses of, and the read and write pointers.

상기 SARA-R은 FDQ, PCQ, EQ의 세가지의 CQ를 이용하여 SARA-R과 통신하며, 상기 SARA-R의 CQ의 구성은 SARA-S와 비슷하여 시작 주소, 끝 주소, 판독 포인터와 기록 포인터를 갖는다.The SARA-R communicates with the SARA-R using three CQs, FDQ, PCQ, and EQ. The CQ configuration of the SARA-R is similar to the SARA-S, so that the start address, the end address, the read pointer, and the write pointer. Has

상기 분할을 위한 PRQ는 디스크립터 번호를 가지고 있는데, 상기 디스크립터 번호는 제어 메모리에 저장되어 있는 패킷의 정보이며 하나의 패킷은 하나의 디스크립터 번호를 갖는다.The PRQ for splitting has a descriptor number. The descriptor number is information of a packet stored in a control memory, and one packet has one descriptor number.

상기 디스크립터 번호는 패킷에 대한 핸들로서 사용되며 모든 정보를 상기 디스크립터 번호로 찾을 수 있다.The descriptor number is used as a handle to the packet and all information can be found by the descriptor number.

먼저, 상기 디스크립터 번호로 패킷 정보가 있는 제어 메모리 주소를 찾아서 정의되어 있는 구조체를 통하여 정보를 추출해 낼수 있으며 상기 정보는 VPI/VCI 값, 패킷 메모리 주소, 패킷의 크기 같은 정보이며 상기 정보를 이용하여 SARA-S는 분할 프로세스를 한다.First, it is possible to extract the information through a structure defined by finding a control memory address with packet information by the descriptor number, and the information is information such as a VPI / VCI value, a packet memory address, and a packet size. -S performs the partitioning process.

하나의 패킷을 ATM 네트워크로 보내야 하는 경우, 소프트웨어 드라이버로부터 하나의 디스크립터 번호를 할당받고 상기 디스크립터 번호를 통하여 상기 패킷을 실어놓을 제어 메모리 주소를 찾아서 정의되어 있는 구조체에 따라 SARA-S에게 필요한 VPI/VCI 값, 패킷 메모리 주소, 패킷 크기 등의 정보를 기록해 주어야 하며, 상기 소프트웨어 드라이버에서는 하나의 디스크립터 번호를 할당하고 모든 정보가 기록되면 PRQ의 기록 포인터를 증가 시킨다.When one packet needs to be sent to the ATM network, one descriptor number is allocated from the software driver, and the VPI / VCI required for SARA-S according to the structure defined by finding the control memory address to carry the packet through the descriptor number. Information such as a value, a packet memory address, and a packet size should be recorded. The software driver allocates one descriptor number and increments the write pointer of the PRQ when all the information is recorded.

상기 과정이 SARA-R에게는 지금 분할해야 하는 패킷이 있다는 정보로 전달되며 상기 시점부터는 SARA-S 자체적으로 분할하고 셀을 만들어 다중화하여 ATM 네트워크로 송출한 후 PCQ의 판독 포인터를 증가시켜 PCQ의 상태를 업데이트하고 TCQ를 이용하여 소프트웨어 드라이버에게 끝났다는 메시지로 TCQ의 기록 포인터를 증가하는데, 상기 메시지의 통신 신호는 인터럽트이다.The above process is transmitted to SARA-R that there is a packet that needs to be split. From this point on, SARA-S divides itself, creates a cell, multiplexes it, sends it to the ATM network, and increases the read pointer of the PCQ to increase the state of the PCQ. The TCQ write pointer is incremented with a message indicating that it is up to the software driver to update and use the TCQ. The communication signal in the message is an interrupt.

상기 소프트 드라이버는 상기 인터럽트가 뜨게되면 TCQ의 기록 포인터를 보고 디스크립터 번호를 알아낸 후 상기 디스크립터 번호를 이용하여 제어 메모리 주소를 찾아서 패킷 버퍼를 프리 시키고 상기 패킷은 응용 프로그램으로 전달된다.When the interrupt occurs, the soft driver finds a descriptor number by looking at a write pointer of a TCQ, finds a control memory address using the descriptor number, and frees a packet buffer, and the packet is delivered to an application program.

상기 조합을 하기 위하여 FDQ(Free Descripter Queue)와 PCQ를 이용하여 패킷을 수신하며, 상기 SARA-R은 새로운 셀을 받는 순간 어느 디스크립터를 써야 하는지를 상기 FDQ를 이용하여 얻어낸다. 상기 FDQ는 항상 새로운 패킷을 받을 때 할당할 디스크립터 번호를 보관하고 있다가 상기 SARA-R이 새로운 디스크립터 번호를 할당받으면 상기 디스크립터 번호에 해당하는 제어 메모리 주소를 찾아서 어느 패킷 메모리 주소에 상기 셀의 조합을 시작 할 것인가를 결정하고, 상기 FDQ의 기록 포인터를 증가시킨다.In order to perform the combination, a packet is received using a free descriptor queue (FDQ) and a PCQ, and the SARA-R obtains which descriptor to use at the moment of receiving a new cell using the FDQ. The FDQ always keeps a descriptor number to be allocated when a new packet is received. When the SARA-R is assigned a new descriptor number, the FDQ finds a control memory address corresponding to the descriptor number and assigns a combination of the cells to a packet memory address. Determine whether to start, and increment the write pointer of the FDQ.

상기 시점에서는 상기 SARA-R이 자체적으로 조합 지능을 수행하여 셀을 한 곳으로 조합하여 패킷화하고, 하나의 패킷이 형성되면 PCQ를 이용하여 디스크립터 번호를 PCQ의 기록 포인터에 저장하고 기록 포인터를 증가하며, 상기 PCQ 기록 포인터의 증가는 SARA-R에 의하여 인터럽트로 전환되어 발생하는데, 상기 인터럽트는 처리하는 속도가 비교적 느리기 때문에 매 패킷마다 인터럽트를 발생시키면 큰 오버헤드로 작용하고 매 패킷마다 일어나야 하는 컨텍스트 스위치(context switch)로 CPU 부하는 필요이상으로 많아지게 된다.At this point, the SARA-R performs combinatorial intelligence by itself and combines the cells into one place to packetize them.When one packet is formed, the descriptor number is stored in the write pointer of the PCQ and the write pointer is incremented using the PCQ. In addition, the increase of the PCQ write pointer is generated by switching to an interrupt by SARA-R. Since the interrupt is relatively slow to process, the interrupt is generated every packet, which causes a large overhead and occurs in every packet. Context switches can cause more CPU load than necessary.

상기 SARA-R 입장에서는 PCQ의 판독 포인터와 기록 포인터를 비교하여 같지 않으면 인터럽트를 발생시키지 않는데, 상기와 같은 이유는 PCQ의 판독 포인터와 기록 포인터가 다르면 소프트웨어 드라이버가 패킷을 처리하고 있다는 것을 알고 또한 판독 포인터와 기록 포인터를 비교할 것 이라는 것을 알고 있기 때문이다.For the SARA-R, if the read pointer and write pointer of the PCQ are not equal to each other, no interrupt is generated. For the same reason as above, if the read pointer and the write pointer of the PCQ are different, the software driver knows that the packet is being processed and reads. We know that we'll compare the pointer to the record pointer.

상기 PCQ의 판독 포인터와 기록 포인터의 차이를 관찰하면 지금 PCQ의 기록 포인터에 있는 디스크립터 번호의 패킷 처리를 더 해야 하는지 알 수 있기 때문이다.This is because by observing the difference between the read pointer and the write pointer of the PCQ, it is possible to know whether to further process the packet of the descriptor number in the write pointer of the PCQ.

상기와 같은 방법을 이용하여 항상 소프트웨어 드라이버는 PCQ의 판독 포인터와 기록 포인터를 체크하여 패킷을 처리해야 하는 지를 확인해야 하며, 상기 패킷 처리란 받은 패킷을 응용프로그램으로 넘겨주는 작업이고, 상기 PCQ의 판독 포인터를 증가하는 작업과 상기 FDQ에 방금 처리한 디스크립터 번호를 등록 시킴으로서 상기 디스크립터 번호에 해당하는 버퍼를 프리시킨다.Using the above method, the software driver should always check the read pointer and write pointer of the PCQ to check whether the packet should be processed. The packet processing is the task of passing the received packet to an application program. The buffer corresponding to the descriptor number is freed by registering the job of incrementing the pointer and the descriptor number just processed in the FDQ.

상기와 같이 구성된 본 발명은, 수신 패킷에 대한 인터럽트가 패킷을 수신할 때마다 일어나는 것을 방지 하며, CQ의 판독/기록 포인터를 모든 패킷을 처리할 때까지 비교하는 방법을 이용하여 커런트 포인터(current pointer)의 사용을 없애는 효과가 있다.According to the present invention configured as described above, a current pointer is prevented by using a method of preventing an interrupt for a received packet from occurring every time a packet is received and comparing a read / write pointer of a CQ until all packets have been processed. Has the effect of eliminating the use of).

Claims (25)

데이터 패킷이 패킷 메모리에 저장되어 있다가 ATM 방식으로 분할되고, 조합되어지는 단계;Storing the data packet in the packet memory, and then dividing and combining the data packet in an ATM method; 상기 각각의 데이터 패킷이 호스트 버스를 통하여 패킷 메모리로 저장되는 단계;Storing each data packet into a packet memory via a host bus; 상기 데이터 패킷의 위치를 소프트웨어 드라이버가 SARA에게 알려주는 단계;Informing a SARA of a location of the data packet by a software driver; 상기 패킷이 셀 형식으로 분할되어 다른 패킷으로부터 분할된 셀들과 함께 다중화가 이루어지는 단계;Splitting the packet into a cell form to multiplex with cells divided from other packets; 상기 조합을 담당하는 SARA-R이 다중화되어서 인가되는 ATM 셀들을 VPI/VCI 값으로 분류하여 패킷 단위로 저장하는 단계;Classifying ATM cells multiplexed by SARA-R in charge of the combination into VPI / VCI values and storing them in packet units; 상기 SARA-R이 새로운 VPI/VCI 값을 가진 셀을 접하게 되는 경우 새로운 버퍼를 S/W 드라이버에게 버퍼 할당을 요구하는 단계;Requesting a buffer allocation from a S / W driver for a new buffer when the SARA-R encounters a cell having a new VPI / VCI value; 상기 버퍼에 받은 셀을 저장하는 단계;Storing the received cell in the buffer; 상기 셀들 중에서 같은 VPI/VCI 값을 가진 셀을 추가로 저장하는 단계;Additionally storing a cell having the same VPI / VCI value among the cells; 상기 VPI/VCI 값을 가지고 메시지 종료(end of message) 셀을 받은 경우 상기 셀을 같은 버퍼에 저장하고 패킷을 응용프로그램(application)에 전달하는 단계;Storing the cell in the same buffer and delivering a packet to an application when receiving an end of message cell with the VPI / VCI value; 상기 분할을 담당하고 있는 SARA-S가 프로세서에서 패킷을 보내기 위해 S/W 드라이버에게 버퍼 할당을 요구하는 단계;Requesting a buffer allocation from a S / W driver to send a packet from a SARA-S in charge of the partitioning; 상기 프로세서가 하나의 버퍼를 할당하는 단계;The processor allocating a buffer; 상기 SARA-S가 상기 패킷을 셀 단위로 상기 버퍼에 내보내는 단계;The SARA-S sending the packet to the buffer in units of cells; 상기 SARA-S가 데이터를 모두 송신한 후 버퍼를 프리시키기 위하여 S/W 드라이버에게 패킷 송신 상태를 알려주는 제 13 단계를 포함하는, AAL5 패킷 버퍼 관리 방법.And a thirteenth step of informing the S / W driver of the packet transmission status in order to free the buffer after the SARA-S transmits all the data. 제 1 항에 있어서, 상기 분할을 위한 패킷 버퍼 할당과 상기 조합을 위한 버퍼 할당을 관리하는 S/W 드라이버를 포함하는, AAL5 패킷 버퍼 관리 방법.The method according to claim 1, comprising a S / W driver for managing packet buffer allocation for the partitioning and buffer allocation for the combination. 제 1 항에 있어서, 상기 SARA-S가 PRQ와 TCQ를 이용하여 호스트와 패킷 디스크립터를 주고받는, AAL5 패킷 버퍼 관리 방법.The method of claim 1, wherein the SARA-S exchanges packet descriptors with a host using PRQs and TCQs. 제 3 항에 있어서, 상기 PRQ는 PRQ_ST_ADR 레지스터와 PRQ_ED_ADR 레지스터와 PRQ_RD_PTR과 PRQ_WR_PTR로 구성되는, AAL5 패킷 버퍼 관리 방법.4. The method of claim 3, wherein the PRQ comprises a PRQ_ST_ADR register, a PRQ_ED_ADR register, a PRQ_RD_PTR, and a PRQ_WR_PTR. 제 4 항에 있어서, 상기 PRQ가 PCQ의 시작 주소와 끝 주소와 판독 포인터와 기록 포인터로 풀이되는, AAL5 패킷 버퍼 관리 방법.5. The method according to claim 4, wherein the PRQ is solved with a start address and end address, a read pointer and a write pointer of the PCQ. 제 1 항에 있어서, 상기 SARA-R이 통신시 FDQ와 PCQ와 EQ(Exception Queue)를 이용하는, AAL5 패킷 버퍼 관리 방법.The method according to claim 1, wherein the SARA-R uses FDQ, PCQ, and EQ (Exception Queue) in communication. 제 1 항 또는 제 6 항에 있어서, 시작 주소와 판독 포인터와 기록 포인터로 구성된 상기 SARA-R의 CQ를 포함하는, AAL5 패킷 버퍼 관리 방법.7. A method according to claim 1 or 6, comprising a CQ of the SARA-R consisting of a start address, a read pointer and a write pointer. 제 1 항에 있어서, 상기 분할을 위한 PRQ가 디스크립터 번호를 가지고 있는, AAL5 패킷 버퍼 관리 방법.The method according to claim 1, wherein the PRQ for partitioning has a descriptor number. 제 8 항에 있어서, 상기 디스크립터 번호가 제어 메모리에 저장되어 있는 패킷의 정보이며, 하나의 패킷이 하나의 디스크립터 번호를 가지고 있는, AAL5 패킷 버퍼 관리 방법.The method according to claim 8, wherein the descriptor number is information of a packet stored in a control memory, and one packet has one descriptor number. 제 8 항 또는 제 9 항에 있어서, 상기 디스크립터 번호로 패킷 정보가 있는 제어 메모리 주소를 찾아 정의되어 있는 구조체를 통하여 정보를 추출하는, AAL5 패킷 버퍼 관리 방법.10. The method according to claim 8 or 9, wherein the control number is found by searching for a control memory address with packet information by the descriptor number and the information is extracted through a structure defined. 제 10 항에 있어서, 상기 정보는 VPI/VCI 값과 패킷 메모리 주소와 패킷의 크기를 가지며, 상기 정보를 이용하여 SARA-S가 분할 프로세스를 하는, AAL5 패킷 버퍼 관리 방법.The method according to claim 10, wherein the information has a VPI / VCI value, a packet memory address and a packet size, and the SARA-S performs a partitioning process using the information. 제 1 항에 또는 제 11 항에 있어서, 상기 소프트웨어 드라이버로부터 하나의 디스크립터 번호를 할당받고 상기 디스크립터 번호를 통하여 상기 패킷 정보를 저장할 베어 메모리 주소를 찾아 정의되어 있는 구조체에 따라 상기 SARA-S에 필요한 VPI/VCI 값과 패킷 메모리 주소와 패킷 크기 등의 정보를 기록해 줌으로써 하나의 패킷을 ATM 네트워크로 전송하는, AAL5 패킷 버퍼 관리 방법.12. The VPI according to claim 1 or 11, wherein a descriptor number is allocated from the software driver and a bare memory address for storing the packet information is found through the descriptor number. AAL5 packet buffer management method for sending a packet to an ATM network by recording information such as / VCI value and packet memory address and packet size. 제 12 항에 있어서, 상기 소프트웨어 드라이버에서 하나의 디스크립터 번호를 할당하고 상기 모든 정보가 기록된 후 PRQ의 기록 포인터를 증가시키는, AAL5 패킷 버퍼 관리 방법.13. The method according to claim 12, wherein the software driver allocates one descriptor number and increments a write pointer of a PRQ after all the information has been written. 제 13 항에 있어서, 상기 과정이 SARA-S에게 지금 분할해야하는 패킷이 있다는 정보로 전달되며, 상기 정보가 전달되면 SARA-S가 자체적으로 분할하고 셀을 만들어 다중화하여 ATM 네트워크로 송출하는, AAL5 패킷 버퍼 관리 방법.14. The AAL5 packet according to claim 13, wherein the process is conveyed to SARA-S with information that there is a packet that needs to be split now, and when the information is delivered, SARA-S divides itself, creates a cell, multiplexes it, and sends it to an ATM network. Buffer management method. 제 14 항에 있어서, 상기 송출 작업이 끝난 후 PCQ의 판독 포인터를 증가시킴으로써 상기 PCQ의 상태를 업 데이트하고, TCQ를 이용하여 상기 S/W 드라이버에게 끝났다는 메시지로 상기 TCQ의 기록 포인터를 증가시키는, AAL5 패킷 버퍼 관리 방법.15. The method of claim 14, further comprising: updating the state of the PCQ by increasing the read pointer of the PCQ after the sending operation is finished, and increasing the write pointer of the TCQ with a message that the SQ driver is finished using a TCQ. , AAL5 packet buffer management method. 제 15 항에 있어서, 상기 소프트웨어 드라이버는 인터럽트가 뜨면 상기 TCQ의 기록 포인터를 이용하여 디스크립터 번호를 알아낸 후 상기 디스크립터 번호를 이용하여 제어 메모리 주소를 찾아 패킷 버퍼를 프리시키고, 패킷을 응용프로그램으로 전달하는, AAL5 패킷 버퍼 관리 방법.16. The software driver of claim 15, wherein when the interrupt occurs, the software driver finds a descriptor number using the write pointer of the TCQ, finds a control memory address using the descriptor number, frees a packet buffer, and delivers the packet to an application program. AAL5 packet buffer management method. 제 1 항에 있어서, 상기 조합을 하기 위하여 FDQ와 PCQ를 이용하여 패킷을 수신하는, AAL5 패킷 버퍼 관리 방법.The method according to claim 1, wherein a packet is received using FDQ and PCQ to perform the combination. 제 1 항 또는 제 17 항에 있어서, 상기 SARA-R이 새로운 셀을 받는 순간 상기 FDQ를 이용하여 어느 디스크립터를 써야하는지 얻어내는, AAL5 패킷 버퍼 관리 방법.18. The method according to claim 1 or 17, wherein when the SARA-R receives a new cell, it obtains which descriptor to write using the FDQ. 제 18 항에 있어서, 상기 FDQ가 항상 새로운 패킷을 받을 경우 할당할 디스크립터 번호를 보관하는, AAL5 패킷 버퍼 관리 방법.19. The method according to claim 18, wherein the descriptor number to be allocated is always kept when the FDQ receives a new packet. 제 1 항 또는 제 18 항에 있어서, 상기 SARA-R이 새로운 스크립터 번호를 할당받으면 상기 스크립터 번호에 해당하는 제어 메모리 주소를 찾아 어느 패킷 메모리 주소에 상기 셀의 조합을 시작할 것인가를 결정하고, 상기 FDQ의 기록 포인터를 증가시키는, AAL5 패킷 버퍼 관리 방법.19. The method according to claim 1 or 18, wherein when the SARA-R is assigned a new scripter number, it finds a control memory address corresponding to the scripter number and determines which packet memory address to start combining the cells with. AAL5 packet buffer management method of increasing the write pointer. 제 20 항에 있어서, 상기 과정에서 상기 SARA-R이 자체적으로 조합 지능을 수행하여 셀을 한 곳으로 조합하고 패킷화하는, AAL5 패킷 버퍼 관리 방법.21. The method of claim 20, wherein the SARA-R performs combinatorial intelligence by itself to combine and packetize cells into one location. 제 1 항 또는 제 21 항에 있어서, 하나의 패킷이 형성되면 PCQ를 이용하여 디스크립터 번호를 상기 PCQ의 기록 포인터에 저장하고 기록 포인터를 증가시키는, AAL5 패킷 버퍼 관리 방법.22. The method according to claim 1 or 21, wherein if one packet is formed, the descriptor number is stored in the write pointer of the PCQ and the write pointer is incremented using the PCQ. 제 22 항에 있어서, 상기 PCQ 기록 포인터의 증가가 SARA-R에 의하여 인터럽트로 전환되어 발생하는, AAL5 패킷 버퍼 관리 방법.23. The method according to claim 22, wherein an increase in the PCQ write pointer occurs by switching to an interrupt by SARA-R. 제 22 항에 있어서, SARA-R이 상기 PCQ의 판독 포인터와 기록 포인터를 비교하여 같지 않은 경우 인터럽트를 발생시키지 않는, AAL5 패킷 버퍼 관리 방법.23. The method according to claim 22, wherein SARA-R does not generate an interrupt when the read pointer and write pointer of the PCQ are not equal to each other. 제 1 항 또는 제 21 항에 있어서, 상기 패킷을 응용 프로그램으로 넘겨주고 PCQ의 판독 포인터를 증가시키는 작업과 프리 디스크립터 번호에 해당하는 번호를 프리시키는, AAL5 패킷 버퍼 관리 방법.22. The method according to claim 1 or 21, wherein the operation of passing the packet to an application program and incrementing a read pointer of the PCQ and a number corresponding to a predescriptor number is freed.
KR1019970079018A 1997-12-30 1997-12-30 ADL 5 packet buffer management method KR100258143B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970079018A KR100258143B1 (en) 1997-12-30 1997-12-30 ADL 5 packet buffer management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970079018A KR100258143B1 (en) 1997-12-30 1997-12-30 ADL 5 packet buffer management method

Publications (2)

Publication Number Publication Date
KR19990058844A KR19990058844A (en) 1999-07-26
KR100258143B1 true KR100258143B1 (en) 2000-06-01

Family

ID=19529999

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970079018A KR100258143B1 (en) 1997-12-30 1997-12-30 ADL 5 packet buffer management method

Country Status (1)

Country Link
KR (1) KR100258143B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100699470B1 (en) * 2000-09-27 2007-03-26 삼성전자주식회사 Device for Processing multi-layer packet

Also Published As

Publication number Publication date
KR19990058844A (en) 1999-07-26

Similar Documents

Publication Publication Date Title
US5751951A (en) Network interface
JP4205181B2 (en) Method and apparatus for burst transfer of ATM packet header and data to a host computer system
US5909546A (en) Network interface having support for allowing remote operations with reply that bypass host computer interaction
EP0792081B1 (en) A system and method for an efficient ATM adapter/device driver interface
US5778180A (en) Mechanism for reducing data copying overhead in protected memory operating systems
US5761427A (en) Method and apparatus for updating host memory in an adapter to minimize host CPU overhead in servicing an interrupt
US5740448A (en) Method and apparatus for exclusive access to shared data structures through index referenced buffers
US7411968B2 (en) Two-dimensional queuing/de-queuing methods and systems for implementing the same
US6078733A (en) Network interface having support for message processing and an interface to a message coprocessor
US6836808B2 (en) Pipelined packet processing
CA2274031C (en) Computer interface for direct mapping of application data
US7570646B2 (en) Apparatus and method for an interface unit for data transfer between a host processing unit and a multi-target digital signal processing unit in an asynchronous transfer mode
US5600820A (en) Method for partitioning memory in a high speed network based on the type of service
EP1095325B1 (en) Systems and methods for on-chip storage of virtual connection descriptors
EP0772131A2 (en) Method and apparatus for support of virtual channels for the transfer of data
JP2000512815A (en) Asynchronous transfer mode cell processing system with scoreboard scheduling
US6026090A (en) Method and system for receiving ATM cells from an ATM network by a host
US5732082A (en) System and method for multi-frame received queuing with sorting in an asynchronous transfer mode (ATM) system
US6327271B1 (en) Programmable reassembly of data received in an ATM network
US6542941B1 (en) Efficient command delivery and data transfer
US6052387A (en) Enhanced interface for an asynchronous transfer mode segmentation controller
KR100236035B1 (en) Method of scheduling virtual channels by using subtables in an atm nic
TWI223747B (en) Increasing memory access efficiency for packet applications
KR100258143B1 (en) ADL 5 packet buffer management method
US7161938B1 (en) Network switch

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20080211

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee