KR100403620B1 - Communication system and method for raising coefficient of utilization of channels - Google Patents

Communication system and method for raising coefficient of utilization of channels Download PDF

Info

Publication number
KR100403620B1
KR100403620B1 KR10-2001-0010356A KR20010010356A KR100403620B1 KR 100403620 B1 KR100403620 B1 KR 100403620B1 KR 20010010356 A KR20010010356 A KR 20010010356A KR 100403620 B1 KR100403620 B1 KR 100403620B1
Authority
KR
South Korea
Prior art keywords
buffer descriptor
packet data
cpu
buffer
dma controller
Prior art date
Application number
KR10-2001-0010356A
Other languages
Korean (ko)
Other versions
KR20020069841A (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 KR10-2001-0010356A priority Critical patent/KR100403620B1/en
Priority to TW091101535A priority patent/TWI247215B/en
Priority to US10/062,873 priority patent/US6868458B2/en
Priority to JP2002052220A priority patent/JP2002351824A/en
Publication of KR20020069841A publication Critical patent/KR20020069841A/en
Application granted granted Critical
Publication of KR100403620B1 publication Critical patent/KR100403620B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Abstract

채널 활용율을 높이는 통신 시스템 및 그 방법이 개시된다. 다수개의 채널들로 이루어진 통신 채널을 통해 수신되는 데이터를 메모리에 저장하거나 또는 메모리에 저장된 팩킷 데이터를 상기 통신 채널을 통해 전송하는 본 발명에 따른 통신 시스템은 각각은, 통신 채널을 통해 수신 또는 송신할 팩킷 데이터에 대한 정보를 저장하고 있는 다수개의 버퍼 디스크립터들, 버퍼 디스크립터들 각각에 팩킷 데이터에 대한 정보를 저장하고, 버퍼 디스크립터들 각각에 표식 비트를 할당하여 버퍼 디스크립터가 구성중인가, 또는 통신 채널로 수신되는 팩킷 데이터에 에러가 발생되었는가 또는 버퍼 디스크립터의 구성이 완료되었는가를 표시하는 CPU(Central Processing Unit) 및 버퍼 디스크립터의 표식 비트를 확인하여 현재 액세스하고자 하는 버퍼 디스크립터의 처리를 중단하고 다음 버퍼 디스크립터를 액세스하거나, 또는 현재 액세스하는 버퍼 디스크립터에 정보가 저장된 팩킷 데이터를 처리하는 DMA(Direct Memory Access) 제어기를 포함함을 특징으로 하고, 다수개의 통신채널을 통해 팩킷 데이터를 송/수신하는 통신 시스템에서, 하나 또는 그 이상의 통신 채널에 오류가 발생되어도 DMA 제어기는 오류가 발생되지 않은 다른 채널로 수신되는 팩킷 데이터를 처리할 수 있어 채널 이용율을 높일 수 있다.A communication system and method for increasing channel utilization are disclosed. A communication system according to the present invention for storing data received through a communication channel composed of a plurality of channels in a memory or transmitting packet data stored in the memory through the communication channel, respectively, is to receive or transmit through a communication channel. A plurality of buffer descriptors storing information about the packet data, the packet data is stored in each of the buffer descriptors, and a marker bit is assigned to each of the buffer descriptors, so that the buffer descriptor is configured or received on the communication channel. Check the marker bits of the central processing unit (CPU) and buffer descriptors to indicate whether an error has occurred in the packet data being processed or the configuration of the buffer descriptor is completed, and then stop processing the buffer descriptor that you want to access and access the next buffer descriptor. Or A direct memory access (DMA) controller for processing packet data in which information is stored in a buffer descriptor that is currently accessed, and in a communication system for transmitting / receiving packet data over a plurality of communication channels, one or more Even if an error occurs in the communication channel, the DMA controller can process packet data received on another channel in which the error does not occur, thereby increasing channel utilization.

Description

채널 활용율을 높이는 통신 시스템 및 그 방법{Communication system and method for raising coefficient of utilization of channels}Communication system and method for raising channel utilization rate {Communication system and method for raising coefficient of utilization of channels}

본 발명은 통신 시스템에 관한 것으로, 특히, 두 개 이상의 통신 채널들을 통해 데이터를 송/수신하는 통신 시스템에서 통신 채널의 활용율을 높이기 위한 통신 시스템 및 그 방법에 관한 것이다.The present invention relates to a communication system, and more particularly, to a communication system and a method for increasing the utilization of the communication channel in a communication system for transmitting and receiving data through two or more communication channels.

일반적으로, 통신 시스템에서 빠른 데이터 송/수신을 위해 중앙 처리 장치(Central Processing Unit:CPU, 이하, CPU라 칭함)의 간섭없이 직접 메모리 접근(Direct Memory Access:DMA, 이하, DMA라 칭함) 제어기를 이용한다. 즉, DMA 제어기가 통신 채널들을 통해 팩킷(packet) 단위로 수신되는 데이터를 메모리로 저장하거나 또는 메모리에 저장된 데이터를 팩킷 단위로 통신 채널들로 송신한다. 이처럼, DMA 제어기를 이용하여 통신 채널로 수신되는 데이터를 메모리에 저장하거나 또는 메모리에 저장된 데이터를 통신 채널로 송신하는 것은 DMA 제어기가 메모리내의 버퍼 디스크립터(buffer descriptor)를 액세스함으로써 이루어질 수 있다. 버퍼 디스크립터는 CPU가 메모리 내에 통신 채널을 통해 송/수신할 팩킷들에 대한 정보를 미리 구성해놓은 것이다. 여기서, 하나의 버퍼 디스크립터에는 하나의 팩킷에 대한 정보를 저장하고 있다.In general, a direct memory access (DMA) controller is called without interference from a central processing unit (CPU) for fast data transmission / reception in a communication system. I use it. That is, the DMA controller stores data received in a packet unit through the communication channels into the memory or transmits data stored in the memory to the communication channels in the packet unit. As such, storing data received in the communication channel in the memory using the DMA controller or transmitting data stored in the memory in the communication channel may be accomplished by the DMA controller accessing a buffer descriptor in the memory. Buffer descriptors preconfigure information about packets that the CPU will send / receive over a communication channel in memory. Here, information about one packet is stored in one buffer descriptor.

DMA 제어기에는 CPU에 의해 설정되는 시작 버퍼 디스크립터 포인터가 있으며, 시작 버퍼 디스크립터 포인터가 지시하는 버퍼 디스크립터를 시작으로 하여 연속되는 버퍼 디스크립터들을 액세스하면서 팩킷 데이터를 처리하게 된다.The DMA controller has a start buffer descriptor pointer set by the CPU, and processes packet data while accessing consecutive buffer descriptors starting from the buffer descriptor indicated by the start buffer descriptor pointer.

도 1은 CPU에 의해 구성되는 버퍼 디스크립터 구조의 일예를 나타내는 도면이다.1 is a diagram illustrating an example of a buffer descriptor structure configured by a CPU.

도 1을 참조하면, 하나의 버퍼 디스크립터는 데이터 포인터(Data Pointer, DP), 오너 비트(Ownership bit, O), 커맨드 비트(Command, C), 상태 비트(Status, S), 다음 버퍼 디스크립터 포인터(Next Buffer Descriptor Pointer, NBDP)로 이루어진다.Referring to FIG. 1, one buffer descriptor includes a data pointer (Data Pointer, DP), an owner bit (Ownership bit, O), a command bit (Command, C), a status bit (Status, S), and a next buffer descriptor pointer ( Next Buffer Descriptor Pointer, NBDP).

여기서, 데이터 포인터(DP)는 DMA 제어기가 통신 채널로부터 수신되는 팩킷 데이터가 저장될 메모리의 어드레스 또는 통신 채널로 전송할 팩킷 데이터가 기록되어 있는 메모리의 어드레스를 나타낸다. 오너 비트(O)는 버퍼 디스크립터가 CPU에 의해 사용 가능한 CPU 모드인가 또는 DMA 제어기에 의해 사용 가능한 DMA 모드인가를 나타내는 비트이다. 커맨드 비트(C)는 팩킷 데이터 처리 커맨드를 나타내는 비트이다. 상태 비트(S)는 팩킷 데이터 송/수신 후 그 결과 상태 및 에러 발생시 에러 유형을 나타내는 비트이다. 다음 버퍼 디스크립터 포인터(NDBP)는 DMA 제어기가 액세스할 다음 버퍼 디스크립터를 지시한다.Here, the data pointer DP indicates an address of a memory in which the packet data received from the communication channel is stored or an address of a memory in which packet data to be transmitted to the communication channel is recorded. The owner bit (O) is a bit indicating whether the buffer descriptor is a CPU mode usable by the CPU or a DMA mode usable by the DMA controller. The command bit C is a bit representing a packet data processing command. The status bit S is a bit that indicates the status and the type of error when an error occurs as a result of packet data transmission / reception. The next buffer descriptor pointer (NDBP) indicates the next buffer descriptor to be accessed by the DMA controller.

이제, 도 1에 도시된 버퍼 디스크립터를 이용한 DMA 제어기의 팩킷 데이터 처리 방법을 설명한다.Now, a packet data processing method of the DMA controller using the buffer descriptor shown in FIG. 1 will be described.

DMA 제어기에는 전술된 바와 같이 CPU에 의해 설정된 버퍼 디스크립터 시작 포인터가 있으며, 설명의 편의를 위해 DMA 제어기의 버퍼 디스크립터 시작 포인터는 제1버퍼 디스크립터를 지시한다고 가정한다. DMA 제어기는 시작 포인터가 지시하는 제1버퍼 디스크립터(10)를 액세스하고, 버퍼 디스크립터(10)의 모드는 오너 비트(O)를 통해 제1버퍼 디스크립터(10)가 CPU 모드인가 또는 DMA 모드인가를 확인한다.The DMA controller has a buffer descriptor start pointer set by the CPU as described above, and for convenience of explanation, it is assumed that the buffer descriptor start pointer of the DMA controller indicates the first buffer descriptor. The DMA controller accesses the first buffer descriptor 10 indicated by the start pointer, and the mode of the buffer descriptor 10 indicates whether the first buffer descriptor 10 is the CPU mode or the DMA mode through the owner bit O. Check it.

여기서, 버퍼 디스크립터가 CPU 모드라는 것은 CPU가 데이터 송/수신을 위한 버퍼 디스크립터를 구성 중인 모드이며, 버퍼 디스크립터의 구성이 완료되면 CPU는 오너 비트(O)를 셋시켜 버퍼 디스크립터의 모드를 DMA 모드로 변환한다. DMA 제어기는 제1버퍼 디스크립터(10)의 오너 비트(O)를 확인하여 오너 비트(O)가 셋(또는 리셋)되어 있으면 통신 채널로부터 수신되는 팩킷 데이터를 데이터 포인터(DP)가 지시하는 메모리에 전송한 후, 오너 비트(O)를 리셋시켜 버퍼 디스크립터의 모드를 CPU 모드로 전환시킨다. 이처럼, 버퍼 디스크립터가 CPU 모드가 되면 CPU는 새로운 팩킷에 대한 정보로 버퍼 디스크립터를 구성할 수 있다.Here, the buffer descriptor is a CPU mode in which the CPU is configuring a buffer descriptor for data transmission / reception. When the configuration of the buffer descriptor is completed, the CPU sets the owner bit (O) to change the mode of the buffer descriptor to the DMA mode. To convert. The DMA controller checks the owner bit O of the first buffer descriptor 10, and if the owner bit O is set (or reset), the packet data received from the communication channel is stored in the memory indicated by the data pointer DP. After the transfer, the owner bit O is reset to switch the mode of the buffer descriptor to the CPU mode. As such, when the buffer descriptor enters CPU mode, the CPU can construct a buffer descriptor with information about the new packet.

계속해서, DMA 제어기는 다음 버퍼 디스크립터 포인터(NBDP)를 확인하여 다음 버퍼 디스크립터 포인터가 지시하는 버퍼 디스크립터를 액세스한다. 이 때, 제1버퍼 디스크립터(10)의 다음 버퍼 디스크립터 포인터가 어드레스 "104h"를 지시하면, DMA 제어기는 시작 어드레스가 "104h"인 버퍼 디스크립터(20)를 액세스하여 데이터 처리를 한다.Subsequently, the DMA controller checks the next buffer descriptor pointer (NBDP) and accesses the buffer descriptor indicated by the next buffer descriptor pointer. At this time, if the next buffer descriptor pointer of the first buffer descriptor 10 indicates the address "104h", the DMA controller accesses the buffer descriptor 20 whose start address is "104h" and performs data processing.

만약, DMA 제어기가 액세스하고자 하는 제1버퍼 디스크립터(10)의 오너 비트(O)가 셋되어 있지 않으면 즉, CPU 모드이면 DMA 제어기는 버퍼 디스크립터(10)가 DMA 모드로 될 때까지 기다린다.If the owner bit O of the first buffer descriptor 10 to be accessed by the DMA controller is not set, that is, in the CPU mode, the DMA controller waits until the buffer descriptor 10 becomes the DMA mode.

도 2는 CPU에 의해 구현되는 버퍼 디스크립터의 다른 구조를 나타내는 도면이다.2 is a diagram showing another structure of the buffer descriptor implemented by the CPU.

도 1에 도시된 구조와 비교하면, 도 2에 도시된 버퍼 디스크립터에는 다음 버퍼 디스크립터가 없음을 알 수 있다. 도 2에 도시된 바와 같은 버퍼 디스크립터를 액세스하기 위한 DMA 제어기에는 처음 액세스할 버퍼 디스크립터를 지시하는 버퍼 디스크립터 시작 포인터와 현재 액세스하는 버퍼 디스크립터를 지시하는 현재 버퍼 디스크립터 포인터를 가지고 있다. 그리고, 현재 버퍼 디스크립터 포인터의 초기값은 버퍼 디스크립터 시작 포인터와 같은 값을 가진다.Compared with the structure shown in FIG. 1, it can be seen that there is no next buffer descriptor in the buffer descriptor shown in FIG. 2. The DMA controller for accessing a buffer descriptor as shown in FIG. 2 has a buffer descriptor start pointer indicating a buffer descriptor to be accessed first and a current buffer descriptor pointer indicating a buffer descriptor currently accessed. And, the initial value of the current buffer descriptor pointer has the same value as the buffer descriptor start pointer.

도 2를 참조하여, DMA 제어기의 시작 포인터는 100h를 지시한다고 가정하면, DMA 제어기는 제1 버퍼 디스크립터(20)를 액세스하여 먼저 제1버퍼 디스크립터(10)가 CPU 모드인가 또는 DMA 모드인가를 확인한다. DMA 제어기가 제1버퍼 디스크립터(20)에 대한 데이터 처리를 완료하면, DMA 제어기는 현재 포인터의 값에 버퍼 디스크립터의 크기에 해당되는 어드레스를 가산하여 현재 포인터의 값을 바꾼다. 이에 따라, DMA 제어기의 현재 포인터 값은 100h에서 102h로 바뀌게 되며, DMA 제어기는 현재 포인터에 의해 제2버퍼 디스크립터(22)를 액세스한다.Referring to FIG. 2, assuming that the start pointer of the DMA controller indicates 100h, the DMA controller accesses the first buffer descriptor 20 and first confirms whether the first buffer descriptor 10 is in the CPU mode or the DMA mode. do. When the DMA controller completes the data processing for the first buffer descriptor 20, the DMA controller adds an address corresponding to the size of the buffer descriptor to the value of the current pointer to change the value of the current pointer. Accordingly, the current pointer value of the DMA controller is changed from 100h to 102h, and the DMA controller accesses the second buffer descriptor 22 by the current pointer.

이처럼, 도 2에 도시된 버퍼 디스크립터의 경우 DMA 제어기는 현재 포인터에 버퍼 디스크립터의 크기만큼의 어드레스를 증가하여 다음에 액세스할 포인터를 알 수 있다. 순차적으로 제n버퍼 디스크립터(28)까지 처리가 완료되면 DMA 제어기의 현재 포인터는 다시 시작 포인터로 되며, 시작 포인터가 지시하는 제1버퍼 디스크립터(20)를 액세스하여 제1버퍼 디스크립터(20)에 의한 데이터 처리를 한다.As such, in the case of the buffer descriptor shown in FIG. 2, the DMA controller increases the address by the size of the buffer descriptor to the current pointer so that the pointer to be accessed next can be known. When the processing up to the n-th buffer descriptor 28 is completed sequentially, the current pointer of the DMA controller becomes a start pointer again, and the first buffer descriptor 20 is accessed to access the first buffer descriptor 20 indicated by the start pointer. Do data processing.

이상에서 설명된 바와 같이, 도 1 및 도 2에 도시된 버퍼 디스크립터 각각에는 DMA 제어기가 사용가능한지의 여부를 나타내는 오너 비트(O)가 있다. DMA 제어기가 오너 비트(O)를 확인한 결과 현재 액세스하고자 하는 버퍼 디스크립터가 CPU 모드이면 DMA 제어기는 버퍼 디스크립터가 DMA 모드로 될 때까지 통신 채널을 통해송/수신할 팩킷 데이터를 처리하지 못하고 대기하게 된다.As described above, each of the buffer descriptors shown in FIGS. 1 and 2 has an owner bit (O) indicating whether a DMA controller is available. If the DMA controller checks the owner bit (O) and the buffer descriptor currently being accessed is in CPU mode, the DMA controller will not be able to process the packet data to be transmitted / received through the communication channel until the buffer descriptor is in DMA mode. .

만약, 두 개 또는 그 이상의 채널을 가지고 팩킷 데이터를 수신하는 통신 시스템에서, 하나의 채널에 오류가 발생하여 수신되는 팩킷 데이터에 오류가 발생되었다면, CPU는 버퍼 디스크립터의 오너 비트를 리셋(또는 셋)시킨다. 이처럼, 버퍼 디스크립터의 오너비트(O)를 리셋(또는 셋)시켜 버퍼 디스크립터의 모드를 CPU 모드로 하면, DMA 제어기는 버퍼 디스크립터를 사용하지 못한다. 따라서, 오류가 발생된 채널에서 수신된 팩킷 데이터가 DMA 제어기를 통해 메모리에 전송되지 않도록 할 수 있다. 이 때, DMA 제어기는 버퍼 디스크립터가 사용 가능해질 때까지 즉, 버퍼 디스크립터가 DMA 모드가 될 때까지 계속해서 대기한다. 이처럼, DMA 제어기가 대기 상태인 동안 오류가 발생되지 않는 다른 채널들을 통해 송신 또는 수신할 팩킷 데이터 역시 처리되지 못한다.In a communication system having two or more channels and receiving packet data, if an error occurs in one packet due to an error in one channel, the CPU resets (or sets) the owner bit of the buffer descriptor. Let's do it. In this way, when the owner bit O of the buffer descriptor is reset (or set) to set the mode of the buffer descriptor to the CPU mode, the DMA controller cannot use the buffer descriptor. Therefore, it is possible to prevent packet data received on an error channel from being transmitted to the memory through the DMA controller. At this time, the DMA controller continues to wait until the buffer descriptor becomes available, that is, until the buffer descriptor is in the DMA mode. As such, packet data to be transmitted or received over other channels that do not fail while the DMA controller is idle is also not processed.

결국, 두 개 이상의 통신 채널을 통해 팩킷 데이터를 송/수신하는 통신 시스템에서, 하나의 채널에 오류가 발생되어 DMA 제어기가 대기상태가 되면, DMA 제어기는 오류가 발생되지 않은 다른 채널을 통해 송신 또는 수신할 팩킷 데이터도 처리하지 못하게 된다는 문제점이 있다.As a result, in a communication system that transmits / receives packet data through two or more communication channels, when an error occurs in one channel and the DMA controller becomes idle, the DMA controller transmits or transmits through another channel in which no error occurs. The problem is that the packet data to be received cannot be processed.

본 발명이 이루고자 하는 기술적 과제는 다채널 통신 시스템에서 하나 또는 그 이상의 채널에 오류가 발생되어도 DMA 제어기가 오류가 발생되지 않는 다른 채널들을 통해 송/수신되는 팩킷 데이터를 처리할 수 있어 채널 이용율이 높은 통신 시스템을 제공하는 데 있다.The technical problem to be achieved by the present invention is that the channel utilization rate is high because the DMA controller can process packet data transmitted / received through other channels which do not cause an error even if an error occurs in one or more channels in a multi-channel communication system. The present invention provides a communication system.

본 발명이 이루고자 하는 다른 기술적 과제는 상기 통신 시스템에서 이루어지는 통신 방법을 제공하는 데 있다.Another object of the present invention is to provide a communication method made in the communication system.

도 1은 CPU에 의해 구성되는 버퍼 디스크립터 구조의 일예를 나타내는 도면이다.1 is a diagram illustrating an example of a buffer descriptor structure configured by a CPU.

도 2는 CPU에 의해 구현되는 버퍼 디스크립터의 다른 구조를 나타내는 도면이다.2 is a diagram showing another structure of the buffer descriptor implemented by the CPU.

도 3은 본 발명에 따른 채널의 이용율을 높이는 통신 시스템을 개략적으로 나타내는 블록도이다.3 is a block diagram schematically illustrating a communication system for increasing the utilization of a channel according to the present invention.

도 4는 도 3에 도시된 통신 시스템에서 수행되는 통신 방법의 일실시예에 따른 흐름도이다.4 is a flowchart according to an embodiment of a communication method performed in the communication system shown in FIG. 3.

도 5는 도 3에 도시된 DMA 제어기(64)의 다른 실시예를 나타내는 도면이다. 설명의 편의를 위해 도 5에는 버퍼 디스크립터들(66)과 시스템 버스(68)를 함께 도시한다.FIG. 5 is a diagram showing another embodiment of the DMA controller 64 shown in FIG. For convenience of description, FIG. 5 shows the buffer descriptors 66 and the system bus 68 together.

도 6은 도 3에 도시된 버퍼 디스크립터(66)의 다른 구성예와, 이를 액세스하는 DMA 제어기 나타내는 도면이다.FIG. 6 is a diagram showing another example of the configuration of the buffer descriptor 66 shown in FIG. 3 and a DMA controller that accesses it.

상기 과제를 이루기 위해, 다수개의 채널들로 이루어진 통신 채널을 통해 수신되는 데이터를 메모리에 저장하거나 또는 메모리에 저장된 팩킷 데이터를 상기 통신 채널을 통해 전송하는 본 발명에 따른 통신 시스템은 각각은, 통신 채널을 통해 수신 또는 송신할 팩킷 데이터에 대한 정보를 저장하고 있는 다수개의 버퍼 디스크립터들, 버퍼 디스크립터들 각각에 팩킷 데이터에 대한 정보를 저장하고, 버퍼 디스크립터들 각각에 표식 비트를 할당하여 버퍼 디스크립터가 구성중인가, 또는 통신 채널로 수신되는 팩킷 데이터에 에러가 발생되었는가 또는 버퍼 디스크립터의 구성이 완료되었는가를 표시하는 CPU(Central Processing Unit) 및 버퍼 디스크립터의 표식 비트를 확인하여 현재 액세스하고자 하는 버퍼 디스크립터의 처리를 중단하고 다음 버퍼 디스크립터를 액세스하거나, 또는 현재 액세스하는 버퍼 디스크립터에 정보가 저장된 팩킷 데이터를 처리하는 DMA(Direct Memory Access) 제어기를 포함한다.In order to achieve the above object, the communication system according to the present invention for storing the data received through the communication channel consisting of a plurality of channels in the memory or the packet data stored in the memory through the communication channel, each communication channel Store the packet data in each of the plurality of buffer descriptors and the buffer descriptors that store the information about the packet data to be received or transmitted through the system, and assign a marker bit to each of the buffer descriptors to configure the buffer descriptor. Or stop the processing of the buffer descriptor that you are currently accessing by checking the marker bits of the central processing unit (CPU) and buffer descriptors to indicate whether an error occurred in the packet data received on the communication channel or the configuration of the buffer descriptor is completed. And then buffer disk Accessing the site, or include a DMA (Direct Memory Access) controller that processes paekkit data information is stored in a buffer descriptor to the current access.

상기 다른 과제를 이루기 위해, CPU가 통신 채널을 통해 수신 또는 송신할 팩킷 데이터에 대한 정보를 저장하고 있는 버퍼 디스크립터를 구성하고, DMA 제어기가 버퍼 디스크립터를 통해 다수개의 통신 채널들을 통해 수신되는 팩킷 데이터를 메모리에 저장하거나 또는 메모리에 저장된 팩킷 데이터를 다수개의 통신 채널들을 통해 전송하는 통신 시스템에서 이루어지는 본 발명에 따른 통신 방법은 CPU는 버퍼 디스크립터를 구성시, 표식 비트를 이용하여 버퍼 디스크립터의 현재 상태를 표시하는 (a)단계, DMA 제어기는 표식 비트를 확인하여, 현재 처리하고자 하는 버퍼 디스크립터가 CPU에 의해 구성중인가 또는 통신 채널에 에러가 발생되었는가 또는 버퍼 디스크립터의 구성이 완료되어 DMA 제어기가 사용 가능한 DMA 모드인가를 확인하는 (b)단계, (b)단계에서 현재 액세스하고자 하는 버퍼 디스크립터가 CPU에 의해 구성중이면 버퍼 디스크립터의 구성이 완료될 때까지 표식 비트를 계속적으로 확인하는 (c)단계, (b)단계에서 통신 채널에 에러가 발생된 것으로 확인되면, 현재 액세스하고자 하는 버퍼 디스크립터를 스킵하고 다음 버퍼 디스크립터를 처리하기 위해 상기(b)단계로 진행하는 (d)단계, (b)단계에서 현재 액세스하고 있는 버퍼 디스크립터가 DMA 모드라고 판단되면, DMA 제어기는 액세스하고 있는 버퍼 디스크립터에 정보가 저장된 팩킷 데이터를 처리하는 (e)단계 및 팩킷 데이터의 처리가 완료되면, DMA 제어기는 (e)단계에서 처리한 버퍼 디스크립터를 CPU가 사용할 수 있는 CPU 모드로 변환한 후, 다음 처리할 버퍼 디스크립터로 이동하는 (f)단계로 이루어진다.In order to achieve the above another task, the CPU configures a buffer descriptor that stores information on packet data to be received or transmitted through a communication channel, and the DMA controller stores packet data received through a plurality of communication channels through the buffer descriptor. A communication method according to the present invention, which is performed in a communication system for storing in a memory or transmitting packet data stored in a memory through a plurality of communication channels, when the CPU constructs a buffer descriptor, indicates the current state of the buffer descriptor using marker bits. In step (a), the DMA controller checks the marker bit to determine whether the buffer descriptor to be processed is being configured by the CPU, an error has occurred in the communication channel, or the configuration of the buffer descriptor is completed. In steps (b) and (b) If the buffer descriptor to be accessed is being configured by the CPU, if it is confirmed that an error has occurred in the communication channel in steps (c) and (b) of continuously checking the marker bit until the configuration of the buffer descriptor is completed, If it is determined in step (d) and step (b) that the currently accessed buffer descriptor is skipped in step (b) to skip the buffer descriptor to be currently accessed and process the next buffer descriptor, the DMA controller When (e) processing the packet data in which the information is stored in the buffer descriptor being accessed and the processing of the packet data is completed, the DMA controller converts the buffer descriptor processed in step (e) into a CPU mode that the CPU can use. Thereafter, step (f) moves to the next buffer descriptor to be processed.

이하, 본 발명에 따른 채널 이용율이 높은 통신 시스템 및 그 방법을 첨부한 도면들을 참조하여 다음과 같이 설명한다.Hereinafter, a communication system having a high channel utilization rate and a method thereof according to the present invention will be described with reference to the accompanying drawings.

도 3은 본 발명에 따른 채널의 이용율을 높이는 통신 시스템을 개략적으로 나타내는 블록도이다. 본 발명에 따른 통신 시스템은 CPU(60), DMA 제어기(64) 및 다수개의 버퍼 디스크립터들(66)을 포함하여 구성된다. 여기서, 버퍼 디스크립터들(66)은 도시되지는 않았지만 팩킷 데이터가 저장되는 메모리의 일부영역을 차지한다. 도 3에는 시스템 버스(68)가 함께 도시되어 있으며, CPU(60), DMA 제어기(64) 및 버퍼 디스크립터들(66) 간의 데이터 전송은 시스템 버스(68)를 통해 이루어진다.3 is a block diagram schematically illustrating a communication system for increasing the utilization of a channel according to the present invention. The communication system according to the present invention comprises a CPU 60, a DMA controller 64 and a plurality of buffer descriptors 66. Although not shown, the buffer descriptors 66 occupy a part of the memory where the packet data is stored. 3 shows a system bus 68 together, with data transfer between the CPU 60, the DMA controller 64 and the buffer descriptors 66 via the system bus 68.

도 3을 참조하여, 버퍼 디스크립터들(66)에는 통신 채널(62)을 통해 팩킷 단위로 수신 또는 송신되는 팩킷 데이터에 대한 정보가 CPU(60)에 의해 저장된다. 그리고, 각 버퍼 디스크립터에는 하나의 팩킷 데이터에 대한 정보가 저장된다. 그리고, 버퍼 디스크립터들(66) 각각은 데이터 포인터(DP), 커맨드 비트(C) 및 상태 비트(S)와, 오너 비트(O) 및 스킵비트(SK)로 이루어진 표식 비트로 구성된다.Referring to FIG. 3, the buffer descriptors 66 store information about the packet data received or transmitted in packet units through the communication channel 62 by the CPU 60. Each buffer descriptor stores information about one packet data. Each of the buffer descriptors 66 is composed of a data pointer DP, a command bit C and a status bit S, and a marker bit composed of an owner bit O and a skip bit SK.

CPU(60)는 팩킷 데이터를 저장하는 메모리의 일부영역에 버퍼 디스크립터들(66)을 구성한다. 여기서, CPU(60)가 버퍼 디스크립터를 구성한다는 것은 CPU(60)가 통신 채널(62)을 통해 송/수신하는 팩킷 데이터에 대한 정보를 저장한다는 것이다. 이 때, CPU(60)는 각 버퍼 디스크립터에 표식 비트를 할당하고, 표식비트를 이용하여 버퍼 디스크립터들(66)의 현재 상태를 표시한다. 즉, CPU(60)는 표식비트를 이용하여 버퍼 디스크립터가 CPU(66)에 의해 구성중인가, 또는 통신 채널(62)로 수신되는 팩킷 데이터에 에러가 발생되었는가 또는 버퍼 디스크립터의 구성이 완료되었는가 등의 상태를 표시한다.The CPU 60 configures the buffer descriptors 66 in a partial region of the memory for storing the packet data. Here, the CPU 60 constructs a buffer descriptor means that the CPU 60 stores information about packet data transmitted / received through the communication channel 62. At this time, the CPU 60 assigns a marker bit to each buffer descriptor, and displays the current state of the buffer descriptors 66 using the marker bit. That is, the CPU 60 uses the marker bit to determine whether the buffer descriptor is being configured by the CPU 66, whether an error has occurred in the packet data received through the communication channel 62, or the configuration of the buffer descriptor is completed. Display the status.

CPU(60)는 표식비트로 2비트를 할당하며, 그 중 한 비트는 오너비트(O)로 나머지 한 비트는 스킵비트(SK)로 각각 할당한다.The CPU 60 allocates 2 bits as marker bits, one of which is assigned to the owner bit (O) and the other to the skip bit (SK).

오너비트(O)는 버퍼 디스크립터가 CPU 모드인가 또는 DMA 모드인가를 나타낸다. 즉, CPU(60)는 버퍼 디스크립터를 구성중이거나 또는 통신 채널(62)로 수신되는 팩킷 데이터에 에러가 발생된 경우, 오너비트(O)를 셋(또는 리셋, 이하, 셋인 것으로 가정한다)하여 버퍼 디스크립터가 현재 CPU 모드임을 나타낸다. 이처럼, 버퍼 디스크립터가 CPU 모드이면 DMA 제어기(64)는 버퍼 디스크립터를 사용하지 못한다. 또한, CPU(60)는 버퍼 디스크립터의 구성이 완료되면 오너비트(O)를 리셋(또는 셋, 이하, 리셋인 것으로 가정한다)하여 버퍼 디스크립터가 DMA 제어기(64)에 의해 사용 가능한 DMA 모드임을 나타낸다.The owner bit (O) indicates whether the buffer descriptor is in CPU mode or DMA mode. That is, the CPU 60 buffers the owner bit O by setting (or resetting, hereinafter, assumed to be set) when the buffer descriptor is configured or an error occurs in the packet data received through the communication channel 62. Indicates that the descriptor is currently in CPU mode. As such, if the buffer descriptor is in CPU mode, the DMA controller 64 cannot use the buffer descriptor. Further, when the configuration of the buffer descriptor is completed, the CPU 60 resets the owner bit O (or assumes to be three, or less, reset) to indicate that the buffer descriptor is a DMA mode available by the DMA controller 64. .

스킵 비트(SK)는 CPU(60)가 버퍼 디스크립터를 구성중인가 또는 통신 채널(62)로 수신되는 팩킷 데이터에 에러가 발생되었는가를 표시한다. 즉, CPU(60)는 버퍼 디스크립터를 구성중이면 스킵 비트(SK)를 리셋(또는 셋, 이하 리셋인 것으로 가정한다)한다. 반면, 통신 채널(62)에 오류가 발생되어 통신 채널(62)로 수신되는 패킷에 오류가 발생되면, CPU(60)는 스킵 비트(SK)를 셋(또는 리셋, 이하, 리셋인 것으로 가정한다)한다.The skip bit SK indicates whether the CPU 60 is constructing a buffer descriptor or if an error has occurred in the packet data received on the communication channel 62. That is, the CPU 60 resets the skip bit SK (or assumes to be three or less resets) when configuring the buffer descriptor. On the other hand, when an error occurs in the communication channel 62 and an error occurs in the packet received through the communication channel 62, the CPU 60 assumes that the skip bit SK is set (or reset, hereinafter, reset). )do.

DMA 제어기(64)는 버퍼 디스크립터의 시작 포인터와 현재 포인터를 가지고 있다. 시작 포인터(64a)는 CPU(60)에 의해 설정되며, DMA 제어기(64)가 처음으로 액세스하는 버퍼 디스크립터를 지시한다. 현재 포인터(64b)는 DMA 제어기(64)가 현재 액세스하고 있는 버퍼 디스크립터를 지시하며, 초기적으로 시작 포인터와 같은 값을 가진다. 현재 포인터(64b)는 이전에 처리된 버퍼 디스크립터의 포인터 값에 단위 버퍼 디스크립터의 크기에 해당되는 어드레스를 증가하여 그 값을 얻는다. 따라서, DMA 제어기(64)의 현재 포인터(64b)의 값은 처음에는 시작 포인터(64a)의 값과 같은 제1버퍼 디스크립터(70)를 지시하며, 순차적으로 제2, 제3, ..., 제n버퍼 디스크립터(72,74,...,78)를 지시한다. DMA 제어기(64)는 현재 포인터(64b)에 따라 제1, 제2, 제3, ..., 제n버퍼 디스크립터(70,72,74,...,78)를 순차적으로 처리한다.The DMA controller 64 has a start pointer and a current pointer of the buffer descriptor. The start pointer 64a is set by the CPU 60 and indicates the buffer descriptor that the DMA controller 64 accesses for the first time. The current pointer 64b indicates the buffer descriptor that the DMA controller 64 is currently accessing, and initially has the same value as the start pointer. The current pointer 64b obtains the value by increasing the address corresponding to the size of the unit buffer descriptor to the pointer value of the previously processed buffer descriptor. Thus, the value of the current pointer 64b of the DMA controller 64 initially indicates the first buffer descriptor 70 equal to the value of the start pointer 64a, and in turn, the second, third, ..., The nth buffer descriptors 72, 74, ..., 78 are indicated. The DMA controller 64 processes the first, second, third, ..., n-th buffer descriptors 70, 72, 74, ..., 78 sequentially according to the current pointer 64b.

DMA 제어기(64)는 버퍼 디스크립터들(66) 각각의 표식 비트를 확인하여, 현재 액세스하고 있는 버퍼 디스크립터의 처리를 중단하고 다음 버퍼 디스크립터를 액세스하거나, 또는 현재 액세스하고 있는 버퍼 디스크립터에 저장된 정보를 이용하여 통신 채널(62)을 통해 송/수신할 팩킷 데이터를 처리한다. 여기서, 팩킷 데이터 처리는 버퍼 디스크립터를 통해 통신 채널(62)로부터 수신되는 팩킷 데이터를 메모리로 전송하거나 또는 메모리에 저장된 팩킷 데이터를 통신 채널(62)로 전송한다는 것이다.The DMA controller 64 checks the marker bit of each of the buffer descriptors 66 to stop processing the buffer descriptor that is currently being accessed and to access the next buffer descriptor or to use the information stored in the buffer descriptor that is currently being accessed. Packet data to be transmitted / received through the communication channel 62. Here, the packet data processing is to transmit the packet data received from the communication channel 62 through the buffer descriptor to the memory or the packet data stored in the memory to the communication channel 62.

도 4는 도 3에 도시된 통신 시스템에서 수행되는 통신 방법의 일실시예에 따른 흐름도이다.4 is a flowchart according to an embodiment of a communication method performed in the communication system shown in FIG. 3.

이제, 도 3 내지 도 4를 참조하여 도 3에 도시된 시스템에서 수행되는 본 발명에 따른 통신 방법을 설명한다.Now, a communication method according to the present invention performed in the system shown in FIG. 3 will be described with reference to FIGS. 3 to 4.

도 3 및 도 4를 참조하여, CPU(60)는 n개의 채널로 이루어진 통신 채널(62)로 송/수신되는 팩킷 데이터에 대한 정보를 버퍼 디스크립터들(66)에 저장한다(제98단계). 이 때, 하나의 버퍼 디스크립터에는 하나의 팩킷 데이터에 대한 정보가 저장되며, CPU(60)는 각 버퍼 디스크립터에는 버퍼 디스크립터의 상태를 표시하는 2비트의 표식비트를 할당한다. CPU(60)는 표식 비트를 이용하여, 버퍼 디스크립터에 팩킷 데이터에 대한 정보를 저장중인가, 현재 저장중인 팩킷 데이터를수신한 통신 채널(62)에 오류가 발생되었는가 또는 팩킷 데이터에 대한 정보 저장이 완료되었는가를 나타낸다.3 and 4, the CPU 60 stores information on the packet data transmitted / received on the communication channel 62 composed of n channels in the buffer descriptors 66 (step 98). At this time, information about one packet data is stored in one buffer descriptor, and the CPU 60 allocates two bits of marker bits indicating the status of the buffer descriptor to each buffer descriptor. The CPU 60 uses the marker bit to store information about the packet data in the buffer descriptor, has an error occurred in the communication channel 62 that has received the currently stored packet data, or does not store the information about the packet data. Indicates that it is complete.

제98단계 후에, DMA 제어기(64)는 현재 포인터(64b)가 지시하는 버퍼 디스크립터를 액세스한다(제100단계). 설명의 편의를 위해, 현재 포인터(64b)는 제i버퍼 디스크립터(76)를 지시하고 있는 것으로 한다.After step 98, the DMA controller 64 accesses the buffer descriptor indicated by the current pointer 64b (step 100). For convenience of explanation, it is assumed that the current pointer 64b points to the i-th buffer descriptor 76.

DMA 제어기(64)는 액세스하고자 하는 제i버퍼 디스크립터(76)의 표식비트를 확인하여 현재 액세스하고 있는 제i버퍼 디스크립터(76)의 현재 상태를 확인한다(제175단계). 즉, DMA 제어기(64)는 표식비트를 확인하여, 제i버퍼 디스크립터(76)에 팩킷 데이터에 대한 정보가 저장되는 중인가, 팩킷 데이터를 송/수신하는 통신 채널에 오류가 발생되었는가 또는 팩킷 데이터에 대한 정보 저장이 완료되었는가를 확인한다.The DMA controller 64 checks the marking bit of the i-th buffer descriptor 76 to be accessed to confirm the current state of the i-th buffer descriptor 76 currently being accessed (step 175). That is, the DMA controller 64 checks the marker bit, and is the information on the packet data being stored in the ith buffer descriptor 76, has an error occurred in the communication channel for transmitting / receiving the packet data, or the packet data? Check whether the information storage is completed.

구체적으로, DMA 제어기(64)는 표식 비트의 오너 비트(O)를 확인하여 현재 액세스하고 있는 제i버퍼 디스크립터(76)의 모드가 CPU 모드인가 또는 팩킷 데이터에 대한 정보 저장이 완료된 DMA 모드인가를 판단한다(제110단계). 예컨대, 오너 비트(O)가 셋되어 있으면 DMA 제어기(64)는 제i버퍼 디스크립터(76)가 CPU 모드인 것으로 판단하고, 리셋되어 있으면 DMA 모드인 것으로 판단한다.Specifically, the DMA controller 64 checks the owner bit O of the marker bit to determine whether the mode of the i-buffer descriptor 76 currently being accessed is the CPU mode or the DMA mode in which information storage for the packet data is completed. Determination (step 110). For example, if the owner bit O is set, the DMA controller 64 determines that the i-th buffer descriptor 76 is in the CPU mode, and if it is reset, determines that the DMA mode is in the DMA mode.

제110단계에서, 제i버퍼 디스크립터(76)가 CPU 모드라고 판단되면, 스킵비트(SK)를 확인하여 통신 채널(62)로 수신되는 팩킷 데이터에 대한 정보가 제i버퍼 디스크립터(76)에 저장되는 중인가 또는 팩킷 데이터를 수신하는 통신 채널(62)에 오류가 발생되었는가를 확인한다(제150단계). 예컨대, DMA 제어기(64)는스킵 비트(SK)가 셋되어 있으면 통신 채널(62)에 오류가 발생된 것으로 판단하고, 리셋되어 있으면 통신 채널(62)로 수신되는 팩킷 데이터에 대한 정보가 제i버퍼 디스크립터(76)에 저장되는 중인 것으로 판단한다.In operation 110, when it is determined that the i-th buffer descriptor 76 is in the CPU mode, the skip bit SK is checked and information about the packet data received through the communication channel 62 is stored in the i-buffer descriptor 76. It is checked whether or not an error has occurred in the communication channel 62 that receives the packet data (step 150). For example, if the skip bit SK is set, the DMA controller 64 determines that an error has occurred in the communication channel 62. If the DMA controller 64 is reset, the information on the packet data received in the communication channel 62 is i. It is determined that the buffer descriptor 76 is being stored.

계속해서, 제175단계에서 DMA 제어기(64)가 액세스하고 있는 제i버퍼 디스크립터(76)가 DMA 모드라고 확인되면, 제i버퍼 디스크립터(76)에 정보가 저장된 팩킷 데이터에 대한 처리를 한다(제120단계). 여기서, 팩킷 데이터를 처리한다는 것은, DMA 제어기(64)가 제i버퍼 디스크립터(76)의 데이터 포인터(DP)가 지시하는 메모리의 어드레스로 팩킷 데이터를 저장하거나 또는 데이터 포인터(DP)가 지시하는 메모리의 어드레스에 저장된 팩킷 데이터를 통신 채널(62)로 전송한다는 것이다.Subsequently, when it is confirmed in step 175 that the i-buffer descriptor 76 accessed by the DMA controller 64 is in the DMA mode, the packet data in which the information is stored in the i-buffer descriptor 76 is processed. Step 120). Here, processing the packet data means that the DMA controller 64 stores the packet data at the address of the memory indicated by the data pointer DP of the i-th buffer descriptor 76 or the memory indicated by the data pointer DP. Packet data stored at an address of P is transmitted to the communication channel 62.

제i버퍼 디스크립터(76)에 정보가 저장된 팩킷 데이터의 처리가 완료되면, DMA 제어기(64)는 제i버퍼 디스크립터(76)의 모드를 CPU 모드로 변환하고, 다음에 처리할 버퍼 디스크립터를 액세스한다(제130단계). 즉, DMA 제어기(64)는 제i버퍼 디스크립터(76)에 정보가 저장된 팩킷 데이터의 처리가 완료되면, 표식 비트의 오너 비트(O)를 셋시켜, 제i버퍼 디스크립터(76)의 모드를 CPU 모드로 변환한다. 이처럼, 오너 비트(O)가 셋되면 CPU(60)는 제i버퍼 디스크립터(76)에 새로운 팩킷 데이터에 대한 정보를 저장한다. 또한, 제i버퍼 디스크립터(76)에 정보가 저장된 팩킷 데이터의 처리가 완료되면, DMA 제어기(64)의 현재 포인터(64b)는 제(i+1) 버퍼 디스크립터를 지시한다. DMA 제어기(64)는 현재 포인터(64b)를 참조하여 제(i+1)버퍼 디스크립터를 액세스한다.When the processing of the packet data in which the information is stored in the ith buffer descriptor 76 is completed, the DMA controller 64 converts the mode of the ith buffer descriptor 76 into the CPU mode, and accesses the buffer descriptor to be processed next. (Step 130). That is, when the processing of the packet data in which the information is stored in the i-th buffer descriptor 76 is completed, the DMA controller 64 sets the owner bit O of the marker bit to change the mode of the i-th buffer descriptor 76 to CPU. Switch to mode. As such, when the owner bit O is set, the CPU 60 stores information on new packet data in the ith buffer descriptor 76. Further, when the processing of the packet data in which the information is stored in the i-th buffer descriptor 76 is completed, the current pointer 64b of the DMA controller 64 indicates the (i + 1) th buffer descriptor. DMA controller 64 accesses the (i + 1) th buffer descriptor with reference to current pointer 64b.

한편, 제175단계에서 CPU(60)가 통신 채널(62)중 하나의 채널로 송/수신할팩킷 데이터에 대한 정보를 제i버퍼 디스크립터(76)에 저장중이라고 판단되면, DMA 제어기(64)는 버퍼 디스크립터에 팩킷 데이터 정보에 대한 저장이 완료될 때까지 대기한다(제160단계).On the other hand, if it is determined in step 175 that the CPU 60 is storing information on the packet data to be transmitted / received in one of the communication channels 62 in the i-buffer descriptor 76, the DMA controller 64 The storage waits for the packet data information to be completed in the buffer descriptor (step 160).

반면, 제175단계에서 현재 그 정보를 저장중인 팩킷 데이터에 오류가 발생되었다고 판단되면 DMA 제어기(64)는 현재 액세스하고 있는 제i버퍼 디스크립터(76)의 처리를 중단하고 다음 버퍼 디스크립터인 제(i+1)버퍼 디스크립터를 액세스한다(제170단계). 즉, DMA 제어기(64)는 스킵 비트(SK)를 확인하여 현재 처리하고자 하는 팩킷 데이터를 송/수신하는 통신 채널(62)에 오류가 발생되었다면, 현재 액세스하고 있는 버퍼 디스크립터의 처리를 중단한다. 그리고, 오류가 발생되지 않은 통신 채널로 송/수신하는 팩킷 데이터에 대한 정보를 저장하고 있는 다른 버퍼 디스크립터를 액세스하여 팩킷 데이터를 처리한다.On the other hand, if it is determined in step 175 that an error has occurred in the packet data currently storing the information, the DMA controller 64 stops processing of the i-buffer descriptor 76 that is currently being accessed and the next buffer descriptor, i (i). +1) Access the buffer descriptor (step 170). That is, the DMA controller 64 checks the skip bit SK, and if an error occurs in the communication channel 62 that transmits / receives the packet data to be processed currently, the DMA controller 64 stops processing the buffer descriptor currently being accessed. Then, the packet data is processed by accessing another buffer descriptor that stores information on packet data transmitted / received on the communication channel where no error occurred.

이상에서와 같이, 본 발명에 따른 통신 시스템에서는 CPU(60)가 버퍼 디스크립터를 구성시 통신 채널에 오류 발생 여부를 나타내는 스킵 비트(SK)를 할당한다. DMA 제어기(64)는 이 스킵 비트(SK)를 통해 처리하고자 하는 팩킷 데이터를 송/수신하는 통신 채널에 오류가 발생되었는가의 여부를 확인할 수 있다. 즉, DMA 제어기(64)는, 처리하고자 하는 팩킷 데이터를 송/수신하는 통신 채널에 오류가 발생되었다면, 오류가 발생되지 않은 다른 통신 채널을 통해 송/수신할 팩킷 데이터를 먼저 처리함으로써, 통신 채널의 이용율을 효과적으로 높일 수 있다.As described above, in the communication system according to the present invention, the CPU 60 allocates a skip bit SK indicating whether an error occurs in the communication channel when configuring the buffer descriptor. The DMA controller 64 can confirm whether an error has occurred in a communication channel for transmitting / receiving packet data to be processed through this skip bit SK. That is, if an error occurs in the communication channel for transmitting / receiving the packet data to be processed, the DMA controller 64 first processes the packet data to be transmitted / received through another communication channel in which the error has not occurred. It can effectively increase the utilization rate of.

도 5는 도 3에 도시된 DMA 제어기(64)의 다른 실시예를 나타내는 도면이다. 설명의 편의를 위해 도 5에는 버퍼 디스크립터들(66)과 시스템 버스(68)를 함께 도시한다.FIG. 5 is a diagram showing another embodiment of the DMA controller 64 shown in FIG. For convenience of description, FIG. 5 shows the buffer descriptors 66 and the system bus 68 together.

DMA 제어기(200)는 시작 포인터(200a)와 어드레스 카운터(200b)를 구비한다. 시작 포인터(200a)는 CPU(60)에 의해 설정되며, DMA 제어기(64)가 처음으로 액세스하는 버퍼 디스크립터를 지시한다. 그리고, 어드레스 카운터(200b)는 DMA 제어기(200)가 현재 액세스하고 있는 버퍼 디스크립터의 시작 어드레스를 카운트하며, 시작 포인터(200a)가 지시하는 값으로 초기화된다. 즉, 어드레스 카운터(200b)는 이전에 처리된 버퍼 디스크립터의 시작 어드레스에 단위 버퍼 디스크립터의 크기에 해당되는 어드레스를 가산하여 다음에 액세스할 버퍼 디스크립터의 시작 어드레스를 얻는다.The DMA controller 200 has a start pointer 200a and an address counter 200b. The start pointer 200a is set by the CPU 60 and indicates the buffer descriptor that the DMA controller 64 accesses for the first time. The address counter 200b counts the start address of the buffer descriptor that the DMA controller 200 is currently accessing, and is initialized to the value indicated by the start pointer 200a. That is, the address counter 200b adds the address corresponding to the size of the unit buffer descriptor to the start address of the previously processed buffer descriptor to obtain the start address of the next buffer descriptor to be accessed.

구체적으로, DMA 제어기(200)는 시작 포인터(200a)가 지시하는 제1버퍼 디스크립터(80)를 처음 액세스한다. 예를 들어, 시작 포인터(200a)가 100h를 지시 한다고 하면, DMA 제어기(200)는 어드레스 100h를 액세스하여 팩킷 데이터 처리를 한다. 제1버퍼 디스크립터(80)에 대한 팩킷 데이터의 처리가 완료되면, 어드레스 카운터(200b)는 현재 카운터 값에 단위 버퍼 디스크립터의 크기에 해당되는 어드레스(예컨대, 004h)를 가산하여 다음에 액세스할 버퍼 디스크립터의 시작 어드레스 104h를 카운트한다. DMA 제어기(200)는 어드레스 카운터(200b)를 참조하여 제2버퍼 디스크립터(82)를 액세스한다.Specifically, the DMA controller 200 first accesses the first buffer descriptor 80 indicated by the start pointer 200a. For example, if the start pointer 200a indicates 100h, the DMA controller 200 accesses the address 100h to process packet data. When the processing of the packet data for the first buffer descriptor 80 is completed, the address counter 200b adds an address (for example, 004h) corresponding to the size of the unit buffer descriptor to the current counter value, and the next buffer descriptor to be accessed. Start address 104h is counted. The DMA controller 200 accesses the second buffer descriptor 82 with reference to the address counter 200b.

이처럼, DMA 제어기(200)가 어드레스 카운터(200b)를 이용하여 다음에 액세스할 버퍼 디스크립터의 시작 어드레스를 얻는 경우, DMA 제어기(200)가 소프트웨어적으로 관리해야 하는 포인터가 시작 포인터 하나이므로 포인터 처리를 위한 프로그래밍이 간단해질 수 있다.As such, when the DMA controller 200 obtains the start address of the buffer descriptor to be accessed next by using the address counter 200b, the pointer processing that the DMA controller 200 needs to manage in software is one start pointer. Programming can be simplified.

DMA 제어기(200)가 버퍼 디스크립터들(66)을 이용하여 팩킷 데이터를 처리하는 방법은 도 4를 참조하여 설명된 것과 같으므로, 여기서는 그 상세한 설명을 생략한다.Since the DMA controller 200 processes the packet data using the buffer descriptors 66 is the same as that described with reference to FIG. 4, the detailed description thereof is omitted here.

도 6은 도 3에 도시된 버퍼 디스크립터(66)의 다른 구성예와, 이를 액세스하는 DMA 제어기 나타내는 도면이다.FIG. 6 is a diagram showing another example of the configuration of the buffer descriptor 66 shown in FIG. 3 and a DMA controller that accesses it.

도 3 및 도 6을 참조하여, 하나의 버퍼 디스크립터는 데이터 포인터(DP), 커맨드 비트(C), 상태 비트(S), 다음 버퍼 디스크립터 포인터(NBDP)와, 오너 비트(O) 및 스킵 비트(SK)로 이루어진 표식 비트로 이루어진다. 여기서, 다음 버퍼 디스크립터 포인터(NBDP)는 DMA 제어기(64)가 액세스할 다음 버퍼 디스크립터를 지시한다. 즉, 각 버퍼 디스크립터에 다음 버퍼 디스크립터 포인터를 구비하고 있으므로, DMA 제어기(300)에는 처음 액세스할 버퍼 디스크립터를 지시하는 시작 포인터(300a)만 있으면 되며, 이는 CPU(60)에 의해 설정된다.3 and 6, one buffer descriptor includes a data pointer DP, a command bit C, a status bit S, a next buffer descriptor pointer NBDP, an owner bit O, and a skip bit It consists of a marker bit consisting of SK). Here, the next buffer descriptor pointer NBDP indicates the next buffer descriptor to be accessed by the DMA controller 64. That is, since each buffer descriptor is provided with a next buffer descriptor pointer, the DMA controller 300 only needs a start pointer 300a indicating the buffer descriptor to be first accessed, which is set by the CPU 60.

DMA 제어기(200)가 버퍼 디스크립터들(66)을 이용하여 팩킷 데이터를 처리하는 방법은 도 4를 참조하여 설명된 것과 같으므로, 여기서는 그 상세한 설명을 생략한다.Since the DMA controller 200 processes the packet data using the buffer descriptors 66 is the same as that described with reference to FIG. 4, the detailed description thereof is omitted here.

다음 표 1은 오류 확률이 각각 5%, 10%인 통신 채널에서 연속적인 프레임 수신 확률을 나타낸다.Table 1 below shows the probability of continuous frame reception in a communication channel having an error probability of 5% and 10%, respectively.

연속 프레임 수Number of consecutive frames 오류 확률 5%인 통신채널의 수신 확률Reception probability of communication channel with 5% error probability 오류 확률 10%인 통신채널의 수신 확률Reception probability of communication channel with 10% error probability 1010 60%60% 35%35% 2020 36%36% 12.3%12.3% 5050 8%8% 0.5%0.5% 100100 0.64%0.64% 0.003%0.003%

표 1을 참조하면, 통신 채널에서 오류 확률이 5% 또는 10%인 경우 연속해서 수신할 수 있는 프레임의 수가 많아질수록 연속된 프레임을 정상적으로 수신할 확률이 매우 작아진다. 이는 통신 채널을 통해 수신되는 팩킷 데이터에 오류가 발생될 확률이 그만큼 높다는 것을 나타낸다.Referring to Table 1, when the probability of error in the communication channel is 5% or 10%, as the number of frames that can be continuously received increases, the probability of normally receiving the continuous frames becomes very small. This indicates that the probability of error occurring in packet data received over a communication channel is as high.

다음 표 2는 10프레임을 연속적으로 수신하고, 각 통신 채널이 5%의 오류 확률이 있을 경우, 종래 기술과 본 발명에 따른 채널 이용율을 나타낸다.Table 2 below shows channel utilization rates according to the prior art and the present invention when 10 frames are continuously received and each communication channel has a 5% error probability.

채널 수Number of channels 채널 이용률(종래)Channel utilization (conventional) 채널 이용율(본 발명)Channel utilization (invention) 22 36%36% 84%84% 33 22%22% 93%93% 55 8%8% 99%99% 1010 0.64%0.64% 100%100%

표 2를 참조하면, 종래에는 채널 수가 많아도 한 채널에 오류가 발생되면 오류가 발생된 채널로 인해 오류가 발생되지 않은 다른 채널들 모두를 이용할 수 없다. 따라서, 채널 수가 많아질수록 채널 이용율이 급격히 떨어진다. 그러나, 본 발명에서는 하나 또는 그 이상의 통신 채널에 오류가 발생되어도 오류가 발생되지 않은 다른 채널로 수신되는 팩킷 데이터를 처리할 수 있음으로써, 채널 수가 많아질수록 채널 이용율을 높일 수 있다.Referring to Table 2, even when a number of channels is conventionally used, if an error occurs in one channel, all of the other channels in which the error does not occur due to the error channel cannot be used. Therefore, as the number of channels increases, the channel utilization drops sharply. However, in the present invention, even if an error occurs in one or more communication channels, it is possible to process packet data received through another channel that does not generate an error, thereby increasing channel utilization as the number of channels increases.

이상 도면과 명세서에서 최적 실시예들이 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.The best embodiments have been disclosed in the drawings and specification above. Although specific terms have been used herein, they are used only for the purpose of describing the present invention and are not used to limit the scope of the present invention as defined in the meaning or claims. Therefore, those skilled in the art will understand that various modifications and equivalent other embodiments are possible from this. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.

상술한 바와 같이, 본 발명에 따른 채널 이용율을 높이는 통신 시스템 및 그 방법에 따르면, 다수개의 통신채널을 통해 팩킷 데이터를 송/수신하는 통신 시스템에서, 하나 또는 그 이상의 통신 채널에 오류가 발생되어도 DMA 제어기는 오류가 발생되지 않은 다른 채널로 수신되는 팩킷 데이터를 처리할 수 있어 채널 이용율을 높일 수 있다.As described above, according to the communication system and method for increasing the channel utilization rate according to the present invention, in a communication system for transmitting / receiving packet data through a plurality of communication channels, even if an error occurs in one or more communication channels, the DMA The controller can process the packet data received on another channel where no error has occurred, thereby increasing channel utilization.

Claims (11)

다수개의 채널들로 이루어진 통신 채널을 통해 수신되는 데이터를 메모리에 저장하거나 또는 메모리에 저장된 팩킷 데이터를 상기 통신 채널을 통해 전송하는 통신 시스템에 있어서,A communication system for storing data received through a communication channel consisting of a plurality of channels in a memory or transmitting packet data stored in a memory through the communication channel, 각각은, 상기 통신 채널을 통해 수신 또는 송신할 팩킷 데이터에 대한 정보를 저장하고 있는 다수개의 버퍼 디스크립터들;Each comprising: a plurality of buffer descriptors storing information about packet data to be received or transmitted via the communication channel; 상기 버퍼 디스크립터들 각각에 상기 팩킷 데이터에 대한 정보를 저장하고, 상기 버퍼 디스크립터들 각각에 표식 비트를 할당하여 상기 버퍼 디스크립터가 구성중인가, 또는 상기 통신 채널로 수신되는 팩킷 데이터에 에러가 발생되었는가 또는 상기 버퍼 디스크립터의 구성이 완료되었는가를 표시하는 CPU(Central Processing Unit); 및Store information about the packet data in each of the buffer descriptors, and assign a marker bit to each of the buffer descriptors to configure the buffer descriptor, or whether an error occurs in the packet data received through the communication channel. A central processing unit (CPU) indicating whether the configuration of the buffer descriptor is completed; And 상기 버퍼 디스크립터의 표식 비트를 확인하여 현재 액세스하고자 하는 버퍼 디스크립터의 처리를 중단하고 다음 버퍼 디스크립터를 액세스하거나, 또는 현재 액세스하는 버퍼 디스크립터에 정보가 저장된 팩킷 데이터를 처리하는 DMA(Direct Memory Access) 제어 제어기를 포함하는 것을 특징으로 하는 통신 시스템.Direct Memory Access (DMA) control controller that checks the marker bit of the buffer descriptor and stops processing of the buffer descriptor to be accessed currently, accesses the next buffer descriptor, or processes packet data whose information is stored in the buffer descriptor that is currently accessed. Communication system comprising a. 제1항에 있어서, 상기 표식 비트는The method of claim 1, wherein the marker bit is 상기 CPU가 상기 버퍼 디스크립터를 구성중이거나 또는 상기 통신 채널로 수신되는 팩킷 데이터에 에러가 발생되면 상기 버퍼 디스크립터가 CPU 모드이고, 상기 CPU에 의해 상기 버퍼 디스크립터의 구성이 완료되면 상기 DMA 제어기가 사용 가능한 DMA 모드임을 나타내는 오너 비트; 및DMA that is available to the DMA controller when the CPU is configuring the buffer descriptor or an error occurs in the packet data received on the communication channel, and the buffer descriptor is in CPU mode and the configuration of the buffer descriptor is completed by the CPU. Owner bit indicating mode; And 상기 CPU가 상기 버퍼 디스크립터를 구성중인가 또는 상기 통신 채널로 수신되는 팩킷 데이터에 에러가 발생되었는가를 표시하는 스킵 비트로 이루어지는 것을 특징으로 하는 통신 시스템.And a skip bit indicating whether the CPU is configuring the buffer descriptor or whether an error has occurred in the packet data received on the communication channel. 제1항에 있어서,The method of claim 1, 상기 CPU는 상기 버퍼 디스크립터에 다음 버퍼 디스크립터 포인터를 할당하고, 상기 DMA 제어기는 상기 버퍼 디스크립터에 구성되는 다음 버퍼 디스크립터 포인터를 확인하여 다음에 처리할 버퍼 디스크립터를 액세스하는 것을 특징으로 하는 통신 시스템.And the CPU allocates a next buffer descriptor pointer to the buffer descriptor, and the DMA controller identifies a next buffer descriptor pointer configured in the buffer descriptor and accesses a buffer descriptor to be processed next. 제1항에 있어서,The method of claim 1, 상기 DMA 제어기는 현재 액세스하고 있는 버퍼 디스크립터의 처리가 완료되면, 현재 액세스하고 있는 버퍼 디스크립터를 지시하는 현재 포인터의 값에 상기 버퍼 디스크립터의 크기에 해당되는 어드레스를 가산하여 현재 포인터값을 갱신하는 것을 특징으로 하는 통신 시스템.When the processing of the currently accessed buffer descriptor is completed, the DMA controller updates the current pointer value by adding an address corresponding to the size of the buffer descriptor to the value of the current pointer indicating the currently accessed buffer descriptor. Communication system. 제1항에 있어서, 상기 DMA 제어기는The method of claim 1, wherein the DMA controller is 처음 액세스할 버퍼 디스크립터를 지시하는 시작 포인터; 및A start pointer indicating a buffer descriptor to first access; And 상기 시작 포인터의 값으로 초기화되고, 상기 버퍼 디스크립터의 시작 어드레스를 카운팅하는 어드레스 카운터를 구비하고,An address counter initialized to a value of the start pointer and counting a start address of the buffer descriptor, 상기 어드레스 카운터는 현재 어드레스 카운터의 값에 단위 버퍼 디스크립터의 크기에 해당되는 어드레스를 가산하여 현재 어드레스 카운터의 값을 갱신하는 것을 특징으로 하는 통신 시스템.And the address counter adds an address corresponding to the size of the unit buffer descriptor to a value of the current address counter to update the value of the current address counter. CPU가 통신 채널을 통해 수신 또는 송신할 팩킷 데이터에 대한 정보를 저장하고 있는 버퍼 디스크립터를 구성하고, DMA 제어기가 상기 버퍼 디스크립터를 통해 다수개의 통신 채널들을 통해 수신되는 팩킷 데이터를 메모리에 저장하거나 또는 메모리에 저장된 팩킷 데이터를 상기 다수개의 통신 채널들을 통해 전송하는 통신 시스템에서 이루어지는 통신 방법에 있어서,The CPU configures a buffer descriptor that stores information about packet data to be received or transmitted through a communication channel, and the DMA controller stores the packet data received through a plurality of communication channels through the buffer descriptor in a memory or memory. A communication method in a communication system for transmitting packet data stored in a plurality of communication channels, (a)상기 CPU는 상기 버퍼 디스크립터를 구성시, 표식 비트를 이용하여 상기 버퍼 디스크립터의 현재 상태를 표시하는 단계;(a) when the CPU configures the buffer descriptor, displaying a current state of the buffer descriptor by using a marker bit; (b)DMA 제어기는 상기 표식 비트를 확인하여, 현재 처리하고자 하는 버퍼 디스크립터가 상기 CPU에 의해 구성중인가 또는 상기 통신 채널에 에러가 발생되었는가 또는 상기 버퍼 디스크립터의 구성이 완료되어 상기 DMA 제어기가 사용 가능한 DMA 모드인가를 확인하는 단계;(b) The DMA controller checks the marker bit to determine whether the buffer descriptor to be processed is currently being configured by the CPU or if an error has occurred in the communication channel or the configuration of the buffer descriptor is completed so that the DMA controller can be used. Checking whether it is in DMA mode; (c)상기 (b)단계에서 현재 액세스하고자 하는 버퍼 디스크립터가 상기 CPU에 의해 구성중이면 버퍼 디스크립터의 구성이 완료될 때까지 상기 표식 비트를 계속적으로 확인하는 단계;(c) if the buffer descriptor to be accessed currently in step (b) is being configured by the CPU, continuously checking the marker bit until the configuration of the buffer descriptor is completed; (d)상기 (b)단계에서 상기 통신 채널에 에러가 발생된 것으로 확인되면, 현재 액세스하고자 하는 버퍼 디스크립터를 스킵하고 다음 버퍼 디스크립터를 처리하기 위해 상기(b)단계로 진행하는 단계;(d) if it is determined in step (b) that an error occurs in the communication channel, skipping the buffer descriptor to be accessed and proceeding to step (b) to process the next buffer descriptor; (e)상기 (b)단계에서 현재 액세스하고 있는 버퍼 디스크립터가 DMA 모드라고 판단되면, 상기 DMA 제어기는 액세스하고 있는 버퍼 디스크립터에 정보가 저장된 팩킷 데이터를 처리하는 단계; 및(e) if it is determined in step (b) that the buffer descriptor currently being accessed is the DMA mode, the DMA controller processes packet data in which information is stored in the buffer descriptor being accessed; And (f)팩킷 데이터의 처리가 완료되면, 상기 DMA 제어기는 상기 (e)단계에서 처리한 버퍼 디스크립터를 CPU가 사용할 수 있는 CPU 모드로 변환한 후, 다음 처리할 버퍼 디스크립터로 이동하는 단계로 이루어지는 것을 특징으로 하는 통신 방법.(f) when the processing of the packet data is completed, the DMA controller converts the buffer descriptor processed in step (e) into a CPU mode available to the CPU, and then moves to the next buffer descriptor to be processed. A communication method characterized by the above. 제6항에 있어서, 상기 표식 비트는The method of claim 6, wherein the marker bit is 상기 CPU가 상기 버퍼 디스크립터를 구성중이거나 또는 상기 통신 채널로 수신되는 팩킷 데이터에 에러가 발생되면 상기 버퍼 디스크립터가 상기 CPU 모드이고, 상기 CPU에 의해 상기 버퍼 디스크립터의 구성이 완료되면 상기 DMA 모드임을 나타내는 오너 비트; 및An owner indicating that the buffer descriptor is in the CPU mode when the CPU is configuring the buffer descriptor or an error occurs in the packet data received through the communication channel, and the DMA mode when the configuration of the buffer descriptor is completed by the CPU. beat; And 상기 CPU가 상기 버퍼 디스크립터를 구성중인가 또는 상기 통신 채널로 수신되는 팩킷 데이터에 에러가 발생되었는가를 표시하는 스킵 비트로 이루어지는 것을 특징으로 하는 통신 방법.And a skip bit indicating whether the CPU is configuring the buffer descriptor or whether an error has occurred in the packet data received on the communication channel. 제7항에 있어서, 상기 (b)단계는The method of claim 7, wherein step (b) (b1)상기 DMA 제어기는 상기 오너 비트를 통해 현재 처리하고자 하는 버퍼 디스크립터의 모드가 상기 CPU 모드인가 또는 상기 DMA 모드인가를 확인하는 단계;(b1) checking, by the DMA controller, whether the mode of the buffer descriptor to be processed currently is the CPU mode or the DMA mode through the owner bit; (b2)상기 (b1)단계에서 처리하고자 하는 버퍼 디스크립터의 모드가 상기 DMA 모드라고 확인되면 상기 (e)단계로 진행하고, 처리하고자 하는 버퍼 디스크립터의 모드가 상기 CPU 모드라고 확인되면 상기 스킵 비트를 확인하는 단계; 및(b2) If the mode of the buffer descriptor to be processed in step (b1) is determined to be the DMA mode, the process proceeds to step (e). If the mode of the buffer descriptor to be processed is determined to be the CPU mode, the skip bit is skipped. Confirming; And (b3)상기 스킵 비트를 확인하여, 상기 통신 채널에 에러가 발생된 것이 확인되면 상기 (d)단계로 진행하고, 상기 CPU에 의해 구성중인 것으로 확인되면 상기 (c)단계로 진행하는 것을 특징으로 하는 통신 방법.(b3) checking the skip bit, if it is confirmed that an error occurs in the communication channel, proceeds to the step (d); if it is determined that the configuration is performed by the CPU, the process proceeds to the step (c) Communication method. 제6항에 있어서,The method of claim 6, 상기 CPU는 상기 버퍼 디스크립터에 다음 버퍼 디스크립터 포인터를 할당하고, 상기 DMA 제어기는 상기 버퍼 디스크립터에 구성되는 다음 버퍼 디스크립터 포인터를 확인하여 다음에 처리할 버퍼 디스크립터를 액세스하는 것을 특징으로 하는 통신 시스템.And the CPU allocates a next buffer descriptor pointer to the buffer descriptor, and the DMA controller identifies a next buffer descriptor pointer configured in the buffer descriptor and accesses a buffer descriptor to be processed next. 제6항에 있어서,The method of claim 6, 상기 DMA 제어기는 현재 액세스하고 있는 버퍼 디스크립터의 처리가 완료되면, 현재 액세스하고 있는 버퍼 디스크립터를 지시하는 현재 포인터의 값에 상기 버퍼 디스크립터의 크기에 해당되는 어드레스를 가산하여 현재 포인터값을 갱신하는 것을 특징으로 하는 통신 시스템.When the processing of the currently accessed buffer descriptor is completed, the DMA controller updates the current pointer value by adding an address corresponding to the size of the buffer descriptor to the value of the current pointer indicating the currently accessed buffer descriptor. Communication system. 제1항에 있어서, 상기 DMA 제어기는The method of claim 1, wherein the DMA controller is 처음 액세스할 버퍼 디스크립터를 지시하는 시작 포인터; 및A start pointer indicating a buffer descriptor to first access; And 상기 시작 포인터의 값으로 초기화되고, 상기 버퍼 디스크립터의 시작 어드레스를 카운팅하는 어드레스 카운터를 구비하고,An address counter initialized to a value of the start pointer and counting a start address of the buffer descriptor, 상기 어드레스 카운터는 현재 어드레스 카운터의 값에 단위 버퍼 디스크립터의 크기에 해당되는 어드레스를 가산하여 현재 어드레스 카운터의 값을 갱신하는 것을 특징으로 하는 통신 시스템.And the address counter adds an address corresponding to the size of the unit buffer descriptor to a value of the current address counter to update the value of the current address counter.
KR10-2001-0010356A 2001-02-28 2001-02-28 Communication system and method for raising coefficient of utilization of channels KR100403620B1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR10-2001-0010356A KR100403620B1 (en) 2001-02-28 2001-02-28 Communication system and method for raising coefficient of utilization of channels
TW091101535A TWI247215B (en) 2001-02-28 2002-01-30 Communication system for raising channel utilization rate and communication method thereof
US10/062,873 US6868458B2 (en) 2001-02-28 2002-01-31 Communication system for raising channel utilization rate and communication method thereof
JP2002052220A JP2002351824A (en) 2001-02-28 2002-02-27 Communication system and communication method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0010356A KR100403620B1 (en) 2001-02-28 2001-02-28 Communication system and method for raising coefficient of utilization of channels

Publications (2)

Publication Number Publication Date
KR20020069841A KR20020069841A (en) 2002-09-05
KR100403620B1 true KR100403620B1 (en) 2003-10-30

Family

ID=19706357

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0010356A KR100403620B1 (en) 2001-02-28 2001-02-28 Communication system and method for raising coefficient of utilization of channels

Country Status (4)

Country Link
US (1) US6868458B2 (en)
JP (1) JP2002351824A (en)
KR (1) KR100403620B1 (en)
TW (1) TWI247215B (en)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7155576B1 (en) * 2003-05-27 2006-12-26 Cisco Technology, Inc. Pre-fetching and invalidating packet information in a cache memory
KR100544188B1 (en) * 2003-06-19 2006-01-23 삼성전자주식회사 Apparatus and method interfacing a data for a network electronic device
US7406559B2 (en) * 2004-08-23 2008-07-29 Macronix International Co., Ltd. In-circuit programming architecture with processor, delegable flash controller, and code generator
US7694061B2 (en) * 2004-09-08 2010-04-06 Fisher-Rosemount Systems, Inc. Discarding a partially received message from a data queue
EP1647894A3 (en) * 2004-10-12 2007-11-21 NEC Electronics Corporation Information processing apparatus with parallel DMA processes
CN100361093C (en) * 2004-12-07 2008-01-09 华为技术有限公司 Method for using buffer memory area in processor
JP2006338538A (en) * 2005-06-03 2006-12-14 Nec Electronics Corp Stream processor
JP2007034392A (en) * 2005-07-22 2007-02-08 Nec Electronics Corp Information processor and data processing method
WO2007091128A1 (en) * 2006-02-09 2007-08-16 Freescale Semiconductor, Inc. A method for exchanging information with physical layer component registers
US8009673B2 (en) * 2006-03-13 2011-08-30 Freescale Semiconductor, Inc. Method and device for processing frames
US20090083392A1 (en) * 2007-09-25 2009-03-26 Sun Microsystems, Inc. Simple, efficient rdma mechanism
US9396159B2 (en) * 2007-09-25 2016-07-19 Oracle America, Inc. Simple, reliable, connectionless communication mechanism
US8190794B2 (en) * 2009-10-21 2012-05-29 Texas Instruments Incorporated Control function for memory based buffers
KR101861744B1 (en) 2013-02-28 2018-05-29 삼성전자주식회사 Integrated circuit for computing target entry address of buffer descriptor based on data block offset and system having the same
JP6176058B2 (en) 2013-10-29 2017-08-09 株式会社ソシオネクスト Direct memory access control device, control method thereof, and information processing system
US20150124704A1 (en) * 2013-11-06 2015-05-07 Qualcomm Incorporated Apparatus and methods for mac header compression
DE102014207417A1 (en) * 2014-04-17 2015-10-22 Robert Bosch Gmbh Interface unit
US9633748B2 (en) * 2015-08-17 2017-04-25 Micron Technology, Inc. Multi-channel testing
US20170147517A1 (en) * 2015-11-23 2017-05-25 Mediatek Inc. Direct memory access system using available descriptor mechanism and/or pre-fetch mechanism and associated direct memory access method
KR20180020706A (en) * 2016-08-19 2018-02-28 에스케이하이닉스 주식회사 Memory system and operating method for the same

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61156953A (en) * 1984-12-27 1986-07-16 Toshiba Corp Reception buffer control system
JPH04235656A (en) * 1991-01-10 1992-08-24 Fujitsu Ltd Channel device control system
KR930015462A (en) * 1991-12-17 1993-07-24 경상현 Redundant packet bus control circuit of packet call control processor
KR930007253Y1 (en) * 1990-12-12 1993-10-15 전갑종 Automobile toys
US5809334A (en) * 1996-09-24 1998-09-15 Allen-Bradley Company, Llc Receive packet pre-parsing by a DMA controller
US6138184A (en) * 1989-11-03 2000-10-24 Compaq Computer Corporation System for parallel port with direct memory access controller for developing signal to indicate packet available and receiving signal that packet has been accepted

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0453863A2 (en) * 1990-04-27 1991-10-30 National Semiconductor Corporation Methods and apparatus for implementing a media access control/host system interface
DE69128565T2 (en) * 1990-06-25 1998-06-04 Nec Corp Microcomputer equipped with a DMA controller
US5379381A (en) * 1991-08-12 1995-01-03 Stratus Computer, Inc. System using separate transfer circuits for performing different transfer operations respectively and scanning I/O devices status upon absence of both operations
US5260942A (en) * 1992-03-06 1993-11-09 International Business Machines Corporation Method and apparatus for batching the receipt of data packets
US5742760A (en) * 1992-05-12 1998-04-21 Compaq Computer Corporation Network packet switch using shared memory for repeating and bridging packets at media rate
KR950013112B1 (en) 1993-06-18 1995-10-25 임창수 Electronic book apparatus and its driving method
US5859853A (en) * 1996-06-21 1999-01-12 International Business Machines Corporation Adaptive packet training
US6260081B1 (en) 1998-11-24 2001-07-10 Advanced Micro Devices, Inc. Direct memory access engine for supporting multiple virtual direct memory access channels
US6330623B1 (en) 1999-01-08 2001-12-11 Vlsi Technology, Inc. System and method for maximizing DMA transfers of arbitrarily aligned data

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61156953A (en) * 1984-12-27 1986-07-16 Toshiba Corp Reception buffer control system
US6138184A (en) * 1989-11-03 2000-10-24 Compaq Computer Corporation System for parallel port with direct memory access controller for developing signal to indicate packet available and receiving signal that packet has been accepted
KR930007253Y1 (en) * 1990-12-12 1993-10-15 전갑종 Automobile toys
JPH04235656A (en) * 1991-01-10 1992-08-24 Fujitsu Ltd Channel device control system
KR930015462A (en) * 1991-12-17 1993-07-24 경상현 Redundant packet bus control circuit of packet call control processor
KR950001517B1 (en) * 1991-12-17 1995-02-25 한국전기통신공사 Dualized packet bus control circuit in the packet call control processor
US5809334A (en) * 1996-09-24 1998-09-15 Allen-Bradley Company, Llc Receive packet pre-parsing by a DMA controller

Also Published As

Publication number Publication date
TWI247215B (en) 2006-01-11
US20020161943A1 (en) 2002-10-31
US6868458B2 (en) 2005-03-15
JP2002351824A (en) 2002-12-06
KR20020069841A (en) 2002-09-05

Similar Documents

Publication Publication Date Title
KR100403620B1 (en) Communication system and method for raising coefficient of utilization of channels
US5864680A (en) Method and system for distributing data in a real time data imaging network
US5477541A (en) Addressing technique for storing and referencing packet data
US7315550B2 (en) Method and apparatus for shared buffer packet switching
US8364873B2 (en) Data transmission system and a programmable SPI controller
KR100605657B1 (en) Method and apparatus for processing received data, and receiving device for receiving data from one or more remote devices
US7113516B1 (en) Transmit buffer with dynamic size queues
US6647439B1 (en) Arrangement with a plurality of processors sharing a collective memory
KR100821125B1 (en) Apparatus and method for buffer management and processing of receiving interrupt between MAC hardware and software
US6785284B1 (en) Interleavement for transport of frames and cells
JPH06274463A (en) Data communication system
AU624745B2 (en) Packet/fast packet switch for voice and data
JPS5955657A (en) Scanning method of circuit
JPH0225579B2 (en)
US5875299A (en) disk access apparatus for performing a stride processing of data
CN102693206B (en) WUSB (wireless universal serial bus) isochronous buffer management in endpoint
EP1459191B1 (en) Communication bus system
JPS615647A (en) Polling control system
JPH04282938A (en) Communication controller
KR960004058B1 (en) Memory reading method
CN112383491A (en) Method, device and equipment for determining broadcast time slot and storage medium
JP2552025B2 (en) Data transfer method
JPH02211741A (en) Access system for slotted ring
JPS63234749A (en) Message transmitting equipment
JPS63107251A (en) Time slot assigning system for loop communication system

Legal Events

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

Payment date: 20120925

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20130930

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee