KR100344025B1 - HDLC router using multi-queue and control method therefor - Google Patents

HDLC router using multi-queue and control method therefor Download PDF

Info

Publication number
KR100344025B1
KR100344025B1 KR1020000047719A KR20000047719A KR100344025B1 KR 100344025 B1 KR100344025 B1 KR 100344025B1 KR 1020000047719 A KR1020000047719 A KR 1020000047719A KR 20000047719 A KR20000047719 A KR 20000047719A KR 100344025 B1 KR100344025 B1 KR 100344025B1
Authority
KR
South Korea
Prior art keywords
queue
packet data
address
data
size
Prior art date
Application number
KR1020000047719A
Other languages
Korean (ko)
Other versions
KR20020014439A (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 KR1020000047719A priority Critical patent/KR100344025B1/en
Publication of KR20020014439A publication Critical patent/KR20020014439A/en
Application granted granted Critical
Publication of KR100344025B1 publication Critical patent/KR100344025B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/60Queue scheduling implementing hierarchical scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements

Landscapes

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

Abstract

본 발명은 패킷 데이터의 크기가 가변적인 시스템에 적용되어 직렬 패킷 데이터를 병렬로 변환하여 신호처리를 수행하는 HDLC 라우터에서 메모리의 효율을 높이고 패킷 데이터 전송 속도를 향상시키도록 하는 다중 큐를 이용한 HDLC 라우터 및 그 제어 방법을 제공하기 위한 것으로, 이러한 본 발명은 입력받은 직렬 데이터를 병렬 데이터로 변환해서 메모리에 쓰고 읽는 작업을 할 때, 이 메모리를 다중 큐로 나누고 큐의 크기를 시스템에서 사용되는 최소 패킷 크기로 설정하며 큐의 내부를 셀단위로 관리함으로써, 패킷 크기에 따라 많은 데이터를 큐에 저장시킬 수 있어 메모리 사용의 효율을 향상시키고 메모리 관리의 유연성을 높일 수 있도록 한다.The present invention is applied to a system having a variable size of packet data, HDLC router using multiple queues to improve the efficiency of the memory and to improve the packet data transmission speed in the HDLC router performing signal processing by converting serial packet data in parallel And a method of controlling the same. The present invention divides the memory into multiple queues and converts the serial data into parallel data and writes and reads the data into parallel data, and divides the memory into multiple queues and divides the queue size into the minimum packet size used in the system. By managing the inside of the queue by cell unit, many data can be stored in the queue according to the packet size, improving the efficiency of memory usage and increasing the flexibility of memory management.

Description

다중 큐를 이용한 에이치디엘시 라우터 및 그 제어 방법{ HDLC router using multi-queue and control method therefor }HDLC router using multi-queue and control method therefor}

본 발명은 직렬 데이터 통신 HDLC(High level Data Link Control; 고레벨 데이터 링크 제어) 라우터(router)에 관한 것으로, 특히 HDLC 라우터에서 직렬 데이터를 병렬 데이터로 변환해서 메모리에 쓰고 읽는 작업을 할 때, 메모리를 다중 큐로 관리해서 패킷 데이터의 크기가 가변적일 때 메모리 사용을 효율적으로 하도록 한 다중 큐를 이용한 HDLC 라우터 및 그 제어 방법에 관한 것이다.The present invention relates to a serial data communication High Level Data Link Control (HDLC) router, and more particularly, when the HDLC router converts serial data into parallel data and writes to and reads from the memory. The present invention relates to an HDLC router using multiple queues and a control method thereof, which manages multiple queues to efficiently use memory when the size of packet data is variable.

일반적으로 직렬 데이터 통신의 HDLC 라우터에서 직렬 데이터를 병렬로 변환해서 병렬로 처리를 하게 되는데, 이 때 병렬로 변환된 패킷 데이터를 메모리에 저장하게 된다. 이 메모리는 큐 단위로 나누어서 하나의 패킷이 하나의 큐에 저장되도록 한다. 그래서 메모리의 큐는 시스템에서 사용되는 패킷중 최대 크기를 가진 패킷의 크기와 동일하게 크기가 할당되었다.In general, HDLC routers in serial data communication convert serial data in parallel and process the data in parallel. In this case, the parallel packet data is stored in memory. This memory is divided into queues so that one packet is stored in one queue. So the queue of memory is allocated the same size as the packet with the largest size among the packets used in the system.

이에 메모리에 저장되는 패킷의 크기가 가변적인 시스템일 경우, 패킷의 크기가 큐의 크기보다 훨씬 작을 때에는 메모리의 사용 효율이 많이 떨어지게 되는 문제점이 있었다. 그리고 메모리에 많은 수의 패킷을 저장하지 못하게 되므로, 패킷의 전송 속도도 저하되는 문제가 있었다.Therefore, in the case of a system having a variable size of a packet stored in the memory, when the packet size is much smaller than the queue size, there is a problem that the use efficiency of the memory is much lowered. In addition, since a large number of packets cannot be stored in the memory, there is a problem that the transmission speed of the packets also decreases.

이에 본 발명은 상기와 같은 종래의 제반 문제점을 해소하기 위해 제안된 것으로, 본 발명의 목적은Therefore, the present invention has been proposed to solve the conventional problems as described above, the object of the present invention is

패킷 데이터의 크기가 가변적인 시스템에 적용되는 HDLC 라우터에서 직렬 데이터를 병렬 데이터로 변환해서 메모리에 쓰고 읽는 작업을 할 때, 이 메모리를 다중 큐로 나누고 큐의 크기를 시스템에서 사용되는 최소 패킷 크기로 설정하며 큐의 내부를 셀단위로 관리함으로써, 패킷 크기에 따라 많은 데이터를 큐에 저장시킬 수있어 메모리 사용의 효율을 향상시키고 메모리 관리의 유연성을 높일 수 있도록 한 다중 큐를 이용한 HDLC 라우터 및 그 제어 방법을 제공하는 데 있다.When converting serial data to parallel data and writing to and reading from memory in HDLC routers applied to systems with variable packet data sizes, divide this memory into multiple queues and set the queue size to the minimum packet size used by the system. By managing the inside of the queue by cell unit, many data can be stored in the queue according to the packet size to improve the efficiency of memory usage and increase the flexibility of memory management. To provide.

상기와 같은 목적을 달성하기 위하여 본 발명에 의한 다중 큐를 이용한 HDLC 라우터는,HDLC router using multiple queues according to the present invention to achieve the above object,

직렬 형태로 입력되는 패킷 데이터의 시작과 끝을 감지하고, 병렬 형태의 데이터로 변환하여 쓰기용 셀 어드레스와 쓰기용 큐 어드레스에 따라 메모리에 쓰기하는 데이터쓰기부와;A data writing unit which senses the beginning and the end of packet data input in a serial form, converts the data into parallel data, and writes the data into a memory according to a write cell address and a write queue address;

패킷 데이터의 시작이 감지되면 동작하여 셀 단위의 어드레스를 발생하고 셀 어드레스가 설정된 큐 크기에 도달하면 캐리(carry) 신호를 발생하는 쓰기용 셀 어드레스 발생부 및 읽기용 셀 어드레스 발생부와;A write cell address generator and a read cell address generator that operate when a start of packet data is detected to generate an address in units of cells and to generate a carry signal when the cell address reaches a set queue size;

상기 쓰기용 셀 어드레스 발생부에서 발생된 캐리(carry) 신호에 따라 큐 단위의 어드레스를 발생하는 쓰기용 큐 어드레스 발생부와;A write queue address generator generating a queue address in accordance with a carry signal generated by the write cell address generator;

상기 읽기용 셀 어드레스 발생부에서 발생된 캐리 신호에 따라 큐 단위의 어드레스를 발생하는 읽기용 큐 어드레스 발생부와;A read queue address generator generating a queue unit address according to a carry signal generated by the read cell address generator;

크기가 시스템 내의 최소 패킷의 크기로 설정된 큐가 다중으로 이루어져, 패킷 데이터를 저장하기 위한 메모리와;A memory for storing packet data, the queue having multiple sizes set to the size of the minimum packet in the system;

상기 메모리내 지정된 큐로부터 패킷 데이터의 크기를 읽고, 읽기용 셀 어드레스와 읽기용 큐 어드레스에 따라 해당 큐로부터 패킷 데이터 크기만큼 패킷 데이터를 읽어내는 데이터 읽기부로 이루어짐을 그 기술적 구성상의 특징으로 한다.The technical configuration is characterized by a data reading section which reads the size of packet data from the designated queue in the memory and reads packet data as much as the packet data size from the corresponding queue according to the read cell address and the read queue address.

상기와 같은 목적을 달성하기 위하여 본 발명에 의한 다중 큐를 이용한 HDLC라우터 제어 방법은,HDLC router control method using multiple queues according to the present invention to achieve the above object,

직렬 형태의 패킷 데이터가 입력되면 패킷 시작을 감지하는 제1단계와;Detecting a start of a packet when serial packet data is input;

입력된 패킷 데이터를 병렬 형태로 변환하면서 패킷 데이터의 크기를 가산하고 메모리내 해당 큐의 해당 셀에 저장한 후 상기 해당 큐의 모든 셀이 찼는 지를 검사하는 제2단계와;Converting the input packet data into a parallel form, adding a size of the packet data, storing the corresponding packet data in a corresponding cell in the memory, and checking whether all the cells of the corresponding queue are full;

상기 검사 결과, 상기 해당 큐의 모든 셀이 찼으면 쓰기용 큐 어드레스를 증가시키고 상기 패킷 데이터의 끝을 감지하는 제3 단계와;A third step of increasing a write queue address and detecting an end of the packet data when all cells of the corresponding queue are full as a result of the checking;

상기 패킷 데이터의 끝이 감지되지 않으면 상기 제2 단계로 진행하고, 상기 패킷 데이터의 끝이 감지되면 상기 메모리의 지정된 큐의 지정 셀에 상기 패킷 데이터의 크기를 저장하고 쓰기용 큐 어드레스를 증가시켜 다음 큐에서의 다음 패킷 데이터 쓰기를 대기하는 제4단계와;If the end of the packet data is not detected, the process proceeds to the second step. If the end of the packet data is detected, the size of the packet data is stored in a designated cell of the designated queue of the memory, and the write queue address is increased. Waiting for the next packet data write in the queue;

해당 패킷 데이터 크기를 상기 메모리의 지정된 큐의 지정 셀로부터 읽어오고, 읽기용 큐 어드레스와 읽기용 셀 어드레스에 따라 상기 메모리의 해당 큐로부터 패킷 데이터 크기만큼 패킷 데이터를 읽어온 후 전송하는 제5 단계를 수행함을 그 방법적 구성상의 특징으로 한다.A fifth step of reading the packet data size from the designated cell of the designated queue of the memory and reading and transmitting the packet data by the packet data size from the corresponding queue of the memory according to the read queue address and the read cell address; Performance is characterized by its methodological configuration.

도1은 본 발명에 의한 다중 큐를 이용한 HDLC 라우터 블럭 구성도,1 is a block diagram of an HDLC router block using multiple queues according to the present invention;

도2는 본 발명에 의한 다중 큐를 이용한 HDLC 라우터 제어 방법을 보인 흐름도.2 is a flowchart illustrating a method for controlling an HDLC router using multiple queues according to the present invention.

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>

10: 데이터쓰기부 20: 쓰기용 셀 어드레스 발생부10: data writing unit 20: writing cell address generating unit

30: 쓰기용 큐어드레스 발생부 40: 메모리30: write cure dress generator 40: memory

50: 데이터 읽기부 60: 읽기용 셀 어드레스 발생부50: data reading section 60: reading cell address generating section

70: 읽기용 큐 어드레스 발생부70: read queue address generator

이하, 상기와 같은 본 발명에 의한 다중 큐를 이용한 HDLC 라우터 및 그 제어 방법을 첨부된 도면에 의거 상세히 설명하면 다음과 같다.Hereinafter, an HDLC router using a multi-queue according to the present invention and a control method thereof will be described in detail with reference to the accompanying drawings.

도1은 본 발명에 의한 다중 큐를 이용한 HDLC 라우터 블럭 구성을 보인다.1 shows an HDLC router block configuration using multiple queues according to the present invention.

도시된 바와 같이, 직렬 형태로 입력되는 패킷 데이터의 시작과 끝을 감지하고, 병렬 형태의 데이터로 변환하여 쓰기용 셀 어드레스와 쓰기용 큐 어드레스에 따라 메모리(40)에 쓰기하는 데이터쓰기부(10)와; 패킷 데이터의 시작이 감지되면 동작하여 셀 단위의 어드레스를 발생하고 셀 어드레스가 설정된 큐 크기에 도달하면 캐리(carry) 신호를 발생하는 쓰기용 셀 어드레스 발생부(20) 및 읽기용 셀 어드레스 발생부(60)와; 상기 쓰기용 셀 어드레스 발생부(20)에서 발생된 캐리(carry) 신호에 따라 큐 단위의 어드레스를 발생하는 쓰기용 큐 어드레스 발생부(30)와; 상기 읽기용 셀 어드레스 발생부(60)에서 발생된 캐리 신호에 따라 큐 단위의 어드레스를 발생하는 읽기용 큐 어드레스 발생부(70)와; 크기가 시스템 내의 최소 패킷의 크기로 설정된 큐가 다중으로 이루어져, 패킷 데이터를 저장하기 위한 메모리(40)와; 상기 메모리(40)내 지정된 큐로부터 패킷 데이터의 크기를 읽고, 읽기용 셀 어드레스와 읽기용 큐 어드레스에 따라 해당 큐로부터 패킷 데이터 크기만큼 패킷 데이터를 읽어내는 데이터 읽기부(50)로 구성된다.As shown, the data write unit 10 which detects the start and end of the packet data input in serial form, converts the data into parallel data, and writes the data to the memory 40 according to the write cell address and the write queue address. )Wow; A write cell address generator 20 and a read cell address generator that operate when a start of packet data is detected to generate an address in a cell unit, and generate a carry signal when the cell address reaches a set queue size. 60); A write queue address generator 30 generating a queue address in accordance with a carry signal generated by the write cell address generator 20; A read queue address generator 70 generating a queue unit address according to a carry signal generated by the read cell address generator 60; A memory 40 configured to store a plurality of queues each having a size set to a size of a minimum packet in the system; The data reading unit 50 reads the size of the packet data from the designated queue in the memory 40 and reads the packet data by the packet data size from the corresponding queue according to the read cell address and the read queue address.

도2는 본 발명에 의한 다중 큐를 이용한 HDLC 라우터 제어 방법을 보인 흐름도이다.2 is a flowchart illustrating a method of controlling an HDLC router using multiple queues according to the present invention.

직렬 형태의 패킷 데이터가 입력되면 패킷 시작을 감지하는 제1단계(ST11,ST12)와; 입력된 패킷 데이터를 병렬 형태로 변환하면서 패킷 데이터의 크기를 가산하고 메모리내 해당 큐의 해당 셀에 저장한 후 상기 해당 큐의 모든 셀이 찼는 지를 검사하는 제2단계(ST13-ST16)와; 상기 검사 결과, 상기 해당 큐의 모든 셀이 찼으면 쓰기용 큐 어드레스를 증가시키고 상기 패킷 데이터의 끝을 감지하는 제3 단계(ST17,ST18)와; 상기 패킷 데이터의 끝이 감지되지 않으면 상기 제2 단계(ST13-ST16)로 진행하고, 상기 패킷 데이터의 끝이 감지되면 상기 메모리의 지정된 큐의 지정 셀에 상기 패킷 데이터의 크기를 저장하고 쓰기용 큐 어드레스를 증가시켜 다음 큐에서의 다음 패킷 데이터 쓰기를 대기하는 제4단계(ST19,ST20)와; 해당 패킷 데이터 크기를 상기 메모리의 지정된 큐의 지정 셀로부터 읽어오고, 읽기용 큐 어드레스와 읽기용 셀 어드레스에 따라 상기 메모리의 해당 큐로부터 패킷 데이터 크기만큼 패킷 데이터를 읽어와서 전송하는 제5 단계를 수행한다.A first step (ST11, ST12) of detecting the start of a packet when serial packet data is input; A second step (ST13-ST16) of adding the size of the packet data, converting the input packet data into a parallel form, storing the corresponding packet data in a corresponding cell in the memory, and checking whether all the cells of the corresponding queue are full; A third step (ST17, ST18) of increasing the write queue address and detecting the end of the packet data if all cells of the corresponding queue are full as a result of the check; If the end of the packet data is not detected, the process proceeds to the second step (ST13-ST16). If the end of the packet data is detected, the size of the packet data is stored in a designated cell of the designated queue of the memory. A fourth step (ST19, ST20) of increasing the address to wait for writing of the next packet data in the next queue; A fifth step of reading the packet data size from a designated cell of a designated queue of the memory, and reading and transmitting the packet data as much as the packet data size from the corresponding queue of the memory according to a read queue address and a read cell address; do.

상기 메모리(40)는, 크기가 시스템 내의 최소 패킷 크기로 설정된 큐가 복수개로 이루어지고, 상기 큐는 다수개의 셀로 이루어진다.The memory 40 has a plurality of queues whose size is set to the minimum packet size in the system, and the queue consists of a plurality of cells.

상기 읽기용 큐 어드레스는, 상기 읽기용 셀 어드레스가 상기 큐의 최대크기값이 되면 1씩 증가되고, 상기 읽기용 셀 어드레스는 하나의 큐를 이루는 셀의 개수만큼 순환모드로 발생된다.The read queue address is increased by one when the read cell address reaches the maximum size value of the queue, and the read cell address is generated in the cyclic mode by the number of cells forming one queue.

상기와 같은 본 발명에 의한 다중 큐를 이용한 HDLC 라우터 및 그 제어 방법을 설명하면 다음과 같다.The HDLC router and its control method using multiple queues according to the present invention as described above are as follows.

직렬 데이터가 입력되면 데이터 쓰기부(10)는 우선 패킷 시작을 감지하고 패킷 입력이 있으면 직렬 데이터를 병렬로 정렬하면서 하나의 단위(Byte/Word/Long Word/..등)가 끝날 때마다 데이터 수를 가산해 나간다(ST11,ST12,ST13,ST14). 패킷 입력 시작이 감지되지 않으면 계속 대기 상태로 있게 된다(ST13).When serial data is input, the data writing unit 10 first detects the start of a packet, and when there is a packet input, the data writing unit 10 sorts the serial data in parallel and counts the number of data each time one unit (Byte / Word / Long Word / ..) ends. Add to this (ST11, ST12, ST13, ST14). If the start of packet input is not detected, the state remains in the waiting state (ST13).

병렬 데이터 정렬이 끝난 데이터는 메모리에 저장되는 데 저장 순서는, 메모리(40)의 제1큐의 두번째 셀(셀1)부터가 된다. 첫번째 셀(셀0)은 나중에 최종 패킷 크기가 저장되기 때문이다.The parallel data sorted data is stored in the memory, and the storage order is from the second cell (cell 1) of the first queue of the memory 40. This is because the first cell (cell 0) is later stored the final packet size.

데이터 저장 후, 쓰기용 셀 어드레스를 증가시키고(ST15), 제1큐가 모두 찼는 지를 검사한다(ST16). 그 결과 차지 않았으면, ST14로 진행하여 병렬 변환된 패킷 데이터를 제1큐의 해당 셀에 저장한다.After storing the data, the write cell address is increased (ST15), and it is checked whether the first queue is full (ST16). As a result, if not occupied, the process proceeds to ST14 and stores the packet data converted in parallel in the corresponding cell of the first queue.

그러나 제1큐가 모두 찼으면, 쓰기용 셀 어드레스 발생부(20)는 캐리 신호를 발생하고, 이에 쓰기용 큐 어드레스 발생부(30)는 쓰기용 큐 어드레스를 1 증가시켜 다음 큐를 가리키도록 한다(ST17). 쓰기용 셀 어드레스는 하나의 큐를 이루는 셀 개수를 가리키는 어드레스로서, 0부터 최대 셀 개수까지 순환하여 카운팅된다.However, when the first queue is full, the write cell address generation unit 20 generates a carry signal, and the write queue address generation unit 30 increases the write queue address by one to indicate the next queue. (ST17). The write cell address is an address indicating the number of cells constituting one queue, and is cyclically counted from 0 to the maximum number of cells.

한편 데이터쓰기부(10)는 상기 패킷의 끝을 감지하는데(ST18), 여기서 패킷의 끝이 감지되지 않으면 ST14로 진행하며, 패킷의 끝이 감지되면 하나의 패킷 쓰기 작업을 중단하고 쓰기한 패킷데이터의 크기를 제1큐의 첫번째 셀(셀0)에 저장한다(ST19). 이렇게 하나의 패킷 데이터가 메모리(40)의 해당 큐에 기록되는 작업이 끝나면 쓰기용 큐 어드레스 발생부(30)는 쓰기용 큐 어드레스를 1 증가시켜 그 다음 큐에서의 쓰기 작업이 이루어질 수 있도록 한다(ST20).On the other hand, the data writing unit 10 detects the end of the packet (ST18). If the end of the packet is not detected, the process proceeds to ST14. The size of is stored in the first cell (cell 0) of the first queue (ST19). When one packet data is written to the corresponding queue of the memory 40, the write queue address generator 30 increases the write queue address by 1 so that the next write operation in the queue can be performed. ST20).

이렇게 하여 메모리(40)의 다중큐에 가변적인 패킷 데이터가 병렬로 변환된 후 저장되면, 데이터 읽기부(50)는 이 메모리(40)의 해당 큐로부터 패킷 데이터를 읽어오게 되는데, 먼저, 제1큐의 첫번째 셀(셀0)로부터 읽을 패킷 데이터 크기를 읽어온다.In this way, if the variable packet data in the multiple queue of the memory 40 is converted in parallel and stored, the data reading unit 50 reads the packet data from the corresponding queue of the memory 40. Read the packet data size to read from the first cell (cell 0) of the queue.

그리고 그 다음 셀부터 데이터를 읽어서 신호 처리를 해 나간다.The signal is then processed by reading data from the next cell.

메모리에 쓰기 과정과 동일한 방법으로, 읽기용 셀 어드레스 발생부(60)에서 읽기용 셀 어드레스를 증가시키면서 데이터를 읽어온다. 그리고 읽기용 셀 어드레스 발생부(60)는 읽기용 셀 어드레스의 값이 최대 값 즉 설정된 큐 크기에 도달하게 되면, 캐리신호를 발생한다. 이에 읽기용 큐 어드레스 발생부(70)는 읽기용 큐 어드레스를 하나 증가시킨다.In the same manner as the write to memory process, the read cell address generator 60 reads data while increasing the read cell address. The read cell address generation unit 60 generates a carry signal when the value of the read cell address reaches a maximum value, that is, a set queue size. Accordingly, the read queue address generator 70 increases the read queue address by one.

위의 작업은 맨 처음 제1큐의 첫번째 셀로부터 읽어 들인 패킷 데이터 크기와, 해당 큐로부터 읽어들인 패킷 데이터의 양을 비교해서 일치될 때까지 계속된다. 이 비교값이 일치하게 되면 읽기 작업을 중단하고 읽기용 큐 어드레스 발생부(60)에서 읽기용 큐 어드레스의 값을 하나 증가시켜서 다음 큐에서 대기한다.The above operation is continued until the packet data size read from the first cell of the first queue and the amount of packet data read from the queue are matched. If the comparison value is matched, the read operation is interrupted, and the read queue address generator 60 increases the value of the read queue address by one and waits in the next queue.

이상에서 살펴본 바와 같이, 본 발명 다중 큐를 이용한 HDLC 라우터 및 그 제어 방법은, 패킷 데이터의 크기가 가변적인 시스템에 적용되는 HDLC 라우터에서 직렬 데이터를 병렬 데이터로 변환해서 메모리에 쓰고 읽는 작업을 할 때, 이 메모리를 다중 큐로 나누고 큐의 크기를 시스템에서 사용되는 최소 패킷 크기로 설정하며 큐의 내부를 셀단위로 관리함으로써, 패킷 크기에 따라 많은 데이터를 큐에 저장시킬 수 있어 메모리 사용의 효율을 향상시키고 메모리 관리의 유연성을 높이도록 하는 효과가 있다.As described above, the HDLC router and its control method using the multi-queue of the present invention, when converting the serial data into parallel data to write and read in the memory in the HDLC router applied to a system having a variable packet data size By dividing this memory into multiple queues, setting the queue size to the minimum packet size used by the system, and managing the inside of the queue cell by cell, it is possible to store a lot of data in the queue according to the packet size, improving the efficiency of memory usage. To increase the flexibility of memory management.

그리고 시스템에서 가변적인 크기의 패킷에 대해 메모리를 효과적으로 사용함으로써 작은 크기의 메모리를 사용할 수가 있고, 패킷의 크기를 별도로 확인함으로써 데이터 처리 과정에서 혹시 발생할수 있는 패킷 에러를 확인할 수가 있어서 시스템에 에러 데이터가 유입되는 것을 방지하는 효과가 있다.In addition, by effectively using the memory for a variable sized packet in the system, a small sized memory can be used, and by checking the size of the packet separately, it is possible to check the packet error that may occur during data processing. It is effective to prevent inflow.

또한 똑같은 메모리(RAM) 크기이면 더 많은 양의 serial data를 보관할 수 있어 전송 속도를 올릴 수 있는 효과가 있다.In addition, the same amount of memory (RAM) can hold a larger amount of serial data, which can increase the transfer speed.

Claims (4)

패킷 길이가 가변적인 시스템에 적용되는 HDLC 라우터에 있어서,In an HDLC router applied to a system having a variable packet length, 직렬 형태로 입력되는 패킷 데이터의 시작과 끝을 감지하고, 병렬 형태의 데이터로 변환하여 쓰기용 셀 어드레스와 쓰기용 큐 어드레스에 따라 메모리에 쓰기하는 데이터쓰기부와;A data writing unit which senses the beginning and the end of packet data input in a serial form, converts the data into parallel data, and writes the data into a memory according to a write cell address and a write queue address; 패킷 데이터의 시작이 감지되면 동작하여 셀 단위의 어드레스를 발생하고 셀 어드레스가 설정된 큐 크기에 도달하면 캐리(carry) 신호를 발생하는 쓰기용 셀 어드레스 발생부 및 읽기용 셀 어드레스 발생부와;A write cell address generator and a read cell address generator that operate when a start of packet data is detected to generate an address in units of cells and to generate a carry signal when the cell address reaches a set queue size; 상기 쓰기용 셀 어드레스 발생부에서 발생된 캐리(carry) 신호에 따라 큐 단위의 어드레스를 발생하는 쓰기용 큐 어드레스 발생부와;A write queue address generator generating a queue address in accordance with a carry signal generated by the write cell address generator; 상기 읽기용 셀 어드레스 발생부에서 발생된 캐리 신호에 따라 큐 단위의 어드레스를 발생하는 읽기용 큐 어드레스 발생부와;A read queue address generator generating a queue unit address according to a carry signal generated by the read cell address generator; 크기가 시스템 내의 최소 패킷의 크기로 설정된 큐가 다중으로 이루어져, 패킷 데이터를 저장하기 위한 메모리와;A memory for storing packet data, the queue having multiple sizes set to the size of the minimum packet in the system; 상기 메모리내 지정된 큐로부터 패킷 데이터의 크기를 읽고, 읽기용 셀 어드레스와 읽기용 큐 어드레스에 따라 해당 큐로부터 패킷 데이터 크기만큼 패킷 데이터를 읽어내는 데이터 읽기부로 구성된 것을 특징으로 하는 다중 큐를 이용한 HDLC 라우터.And a data reading unit configured to read the packet data size from the designated queue in the memory and read the packet data by the packet data size according to the read cell address and the read queue address. . 패킷 길이가 가변적인 시스템에 적용되는 HDLC 라우터의 제어 방법에 있어서,In the control method of the HDLC router applied to a system having a variable packet length, 직렬 형태의 패킷 데이터가 입력되면 패킷 시작을 감지하는 제1단계와;Detecting a start of a packet when serial packet data is input; 입력된 패킷 데이터를 병렬 형태로 변환하면서 패킷 데이터의 크기를 가산하고 메모리내 해당 큐의 해당 셀에 저장한 후 상기 해당 큐의 모든 셀이 찼는 지를 검사하는 제2단계와;Converting the input packet data into a parallel form, adding a size of the packet data, storing the corresponding packet data in a corresponding cell in the memory, and checking whether all the cells of the corresponding queue are full; 상기 검사 결과, 상기 해당 큐의 모든 셀이 찼으면 쓰기용 큐 어드레스를 증가시키고 상기 패킷 데이터의 끝을 감지하는 제3 단계와;A third step of increasing a write queue address and detecting an end of the packet data when all cells of the corresponding queue are full as a result of the checking; 상기 패킷 데이터의 끝이 감지되지 않으면 상기 제2 단계로 진행하고, 상기 패킷 데이터의 끝이 감지되면 상기 메모리의 지정된 큐의 지정 셀에 상기 패킷 데이터의 크기를 저장하고 쓰기용 큐 어드레스를 증가시켜 다음 큐에서의 다음 패킷 데이터 쓰기를 대기하는 제4단계와;If the end of the packet data is not detected, the process proceeds to the second step. If the end of the packet data is detected, the size of the packet data is stored in a designated cell of the designated queue of the memory, and the write queue address is increased. Waiting for the next packet data write in the queue; 해당 패킷 데이터 크기를 상기 메모리의 지정된 큐의 지정 셀로부터 읽어오고, 읽기용 큐 어드레스와 읽기용 셀 어드레스에 따라 상기 메모리의 해당 큐로부터 패킷 데이터 크기만큼 패킷 데이터를 읽어온 후 전송하는 제5 단계를 수행함을특징으로 하는 다중 큐를 이용한 HDLC 라우터 제어 방법.A fifth step of reading the packet data size from the designated cell of the designated queue of the memory and reading and transmitting the packet data by the packet data size from the corresponding queue of the memory according to the read queue address and the read cell address; HDLC router control method using multiple queues characterized by performance. 제 2 항에 있어서, 상기 메모리는,The method of claim 2, wherein the memory, 크기가 시스템 내의 최소 패킷 크기로 설정된 큐가 복수개로 이루어지고, 상기 큐는 다수개의 셀로 이루어지는 것을 특징으로 하는 다중 큐를 이용한 HDLC 라우터 제어 방법.And a plurality of queues having a size set to a minimum packet size in the system, wherein the queue comprises a plurality of cells. 제 2 항에 있어서,The method of claim 2, 상기 읽기용 큐 어드레스는, 상기 읽기용 셀 어드레스가 큐의 최대크기값이 되면 1씩 증가되고, 상기 읽기용 셀 어드레스는 하나의 큐를 이루는 셀의 개수만큼 순환모드로 발생되는 것을 특징으로 하는 다중 큐를 이용한 HDLC 라우터 제어 방법.The read queue address is increased by one when the read cell address becomes the maximum size value of the queue, and the read cell address is generated in a cyclic mode by the number of cells forming one queue. How to control HDLC router using queue.
KR1020000047719A 2000-08-18 2000-08-18 HDLC router using multi-queue and control method therefor KR100344025B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020000047719A KR100344025B1 (en) 2000-08-18 2000-08-18 HDLC router using multi-queue and control method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020000047719A KR100344025B1 (en) 2000-08-18 2000-08-18 HDLC router using multi-queue and control method therefor

Publications (2)

Publication Number Publication Date
KR20020014439A KR20020014439A (en) 2002-02-25
KR100344025B1 true KR100344025B1 (en) 2002-07-20

Family

ID=19683715

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000047719A KR100344025B1 (en) 2000-08-18 2000-08-18 HDLC router using multi-queue and control method therefor

Country Status (1)

Country Link
KR (1) KR100344025B1 (en)

Also Published As

Publication number Publication date
KR20020014439A (en) 2002-02-25

Similar Documents

Publication Publication Date Title
US7752349B2 (en) Apparatus and method for performing DMA data transfer
US7536488B2 (en) Buffer controller and management method thereof
JP4936506B2 (en) Memory control circuit and memory control method
WO2021209051A1 (en) On-chip cache device, on-chip cache read/write method, and computer readable medium
US7352766B2 (en) High-speed memory having a modular structure
US7126959B2 (en) High-speed packet memory
JPS62297952A (en) Storage system for variable length data
CN113791994B (en) DDR controller based on AXI protocol wrap access and processing method
JP4855864B2 (en) Direct memory access controller
US20080028108A1 (en) DMA transfer control apparatus
CN111181874B (en) Message processing method, device and storage medium
CN212364988U (en) First-in first-out memory and storage device
CN1166134C (en) Stream line-type R/W method for shared memory
KR100344025B1 (en) HDLC router using multi-queue and control method therefor
CN114610231A (en) Control method, system, equipment and medium for large-bit-width data bus segmented storage
JP2007172129A (en) Nonvolatile memory access control device and nonvolatile memory control system
JP2006510083A (en) Configurable memory partitioning in hardware
US20190391840A1 (en) Memory module
US20030018867A1 (en) Method to manage multiple communication queues in an 8-bit microcontroller
CN113672530B (en) Server and sequencing equipment thereof
JP7457342B2 (en) Data Storage Devices
CN115658566B (en) Method and system for realizing multichannel data stream equalization
JP4715645B2 (en) Buffer memory
CN117440273A (en) System and method for splicing upstream data of XGSPON OLT
EP1526753B1 (en) Method for accessing data segments having arbitrary alignment

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

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee