KR20070065525A - Hybrid automatic repeat request apparatus using single port memory in a high data-rate wireless communication system and memory allocation method thereof - Google Patents

Hybrid automatic repeat request apparatus using single port memory in a high data-rate wireless communication system and memory allocation method thereof Download PDF

Info

Publication number
KR20070065525A
KR20070065525A KR1020050126064A KR20050126064A KR20070065525A KR 20070065525 A KR20070065525 A KR 20070065525A KR 1020050126064 A KR1020050126064 A KR 1020050126064A KR 20050126064 A KR20050126064 A KR 20050126064A KR 20070065525 A KR20070065525 A KR 20070065525A
Authority
KR
South Korea
Prior art keywords
arq
memory
burst
memory bank
data
Prior art date
Application number
KR1020050126064A
Other languages
Korean (ko)
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 KR1020050126064A priority Critical patent/KR20070065525A/en
Publication of KR20070065525A publication Critical patent/KR20070065525A/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/04Error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1812Hybrid protocols; Hybrid automatic repeat request [HARQ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/04Wireless resource allocation
    • H04W72/044Wireless resource allocation based on the type of the allocated resource
    • H04W72/0446Resources in time domain, e.g. slots or frames

Abstract

A hybrid automatic repeat request apparatus using a single port memory in a high data-rate wireless communication system and a memory allocation method thereof are provided to improve a data process rate by reducing process speed lowering caused by a memory clear time. A hybrid automatic repeat request apparatus using a single port memory in a high data-rate wireless communication system includes a plurality of memory banks(310-340), an H-ARQ controller(350), a plurality of registers(301-303), a demultiplexer(360), and a multiplexer(370). The plurality of memory banks(310-340) operates as a buffer for storing H-ARQ bursts which consist of information data(Systematic A,B) and a parity data(Parity Y,W). The H-ARQ controller(350) generally controls the apparatus according to dynamic memory allocation algorithm. The plurality of registers(301-303) stores information for a dynamic memory allocation. The demultiplexer(360) demultiplexes the H-ARG burst inputted for each ACQ channel. The multiplexer(370) multiplexes H-ARQ processed data and outputs the H-ARQ processed data to a decoder.

Description

고속 패킷 데이터 시스템에서 싱글 포트 메모리를 이용하는 복합 자동 재전송 요구 장치와 그 메모리 할당 방법{HYBRID AUTOMATIC REPEAT REQUEST APPARATUS USING SINGLE PORT MEMORY IN A HIGH DATA-RATE WIRELESS COMMUNICATION SYSTEM AND MEMORY ALLOCATION METHOD THEREOF}HYBRID AUTOMATIC REPEAT REQUEST APPARATUS USING SINGLE PORT MEMORY IN A HIGH DATA-RATE WIRELESS COMMUNICATION SYSTEM AND MEMORY ALLOCATION METHOD THEREOF}

도 1은 종래 H-ARQ 방식의 처리 과정을 나타낸 도면1 is a view showing a conventional H-ARQ processing process

도 2는 종래 고속 패킷 데이터 시스템에서 이동 단말의 H-ARQ 장치(200)의 구성을 도시한 블록도2 is a block diagram illustrating a configuration of an H-ARQ apparatus 200 of a mobile terminal in a conventional high speed packet data system.

도 3은 본 발명의 실시 예에 따른 고속 패킷 데이터 시스템에서 이동 단말의 H-ARQ 장치의 구성을 도시한 블록도3 is a block diagram illustrating a configuration of an H-ARQ apparatus of a mobile terminal in a high speed packet data system according to an exemplary embodiment of the present invention.

도 4는 본 발명의 실시 예에 따라 도 3의 H-ARQ 장치에서 수행되는 동적 메모리 할당 알고리즘을 나타낸 순서도4 is a flowchart illustrating a dynamic memory allocation algorithm performed in the H-ARQ apparatus of FIG. 3 according to an embodiment of the present invention.

도 5는 본 발명의 실시 예에 따른 H-ARQ 장치에서 수행되는 동적 메모리 할당 과정의 일 예를 나타낸 도면5 is a diagram illustrating an example of a dynamic memory allocation process performed in an H-ARQ apparatus according to an embodiment of the present invention.

도 6은 종래 H-ARQ 장치의 메모리 뱅크 구조의 일 예를 도시한 블록도6 is a block diagram illustrating an example of a memory bank structure of a conventional H-ARQ device;

도 7은 본 발명의 실시 예에 따른 H-ARQ 장치의 메모리 뱅크 구조의 일 예를 도시한 블록도7 is a block diagram illustrating an example of a memory bank structure of an H-ARQ device according to an embodiment of the present invention.

도 8은 본 발명의 실시 예에 따라 도 7의 메모리 뱅크로 입력되는 데이터와 주소, 제어신호의 타이밍도8 is a timing diagram of data, an address, and a control signal input to a memory bank of FIG. 7 according to an exemplary embodiment of the present invention.

본 발명은 이동통신 시스템에서 패킷 데이터 수신 장치 및 그 방법에 대한 것으로서, 특히 고속 패킷 데이터 시스템의 이동 단말에 구비되는 복합 자동 재전송 요구(Hybrid Automatic Repeat reQuest : H-ARQ) 장치 및 그 운용 방법에 대한 것이다.The present invention relates to a packet data receiving apparatus and method thereof in a mobile communication system, and more particularly to a hybrid automatic repeat request (H-ARQ) apparatus and a method of operating the mobile terminal of a high speed packet data system. will be.

일반적으로 이동통신 시스템은 하나의 주파수 채널을 다수의 가입자가 시간을 나누어 사용하는 시분할 다중접속 방식(Time Division Multiple Access : TDMA)과, 다수의 가입자가 동일한 주파수 대역을 동일한 시간대에 사용하되 가입자마다 다른 코드를 할당하여 통신을 하는 부호분할 다중접속 방식(Code Division Multiple Access : CDMA) 등으로 구분된다. 이러한 이동통신 시스템은 현재 통신 기술의 급격한 발전에 따라 일반적인 음성통화 서비스는 물론 이동 단말로 동영상과 같은 고속, 고품질의 디지털 데이터 전송 및 멀티 미디어 서비스가 가능한 패킷(Packet) 데이터 서비스를 제공하는 단계에 이르고 있다. 상기 고속 패킷 데이터 시스템의 대표적인 예로는 3GPP(Third Generation Partnership Project)에서 제안한 HSDPA 시스템과, 3GPP2에서 제안한 EV-DO, EV-DV 시스템과, 휴대 인터넷 서비스를 제공하는 광대역 무선통신 시스템인 와이브로(WiBro) 등이 있으며, 현재 각 시 스템들에 대한 상용화 준비가 활발하게 진행되고 있다.In general, a mobile communication system uses a time division multiple access (TDMA) system in which a plurality of subscribers share time in one frequency channel, and a plurality of subscribers use the same frequency band in the same time zone, but different subscribers. Code Division Multiple Access (CDMA), etc., which allocate codes and communicate with each other. Such a mobile communication system has reached the stage of providing a packet data service capable of high-speed, high-quality digital data transmission and multimedia services such as video to a mobile terminal as well as a general voice call service according to the rapid development of current communication technology. have. Representative examples of the high-speed packet data system include the HSDPA system proposed by the Third Generation Partnership Project (3GPP), the EV-DO and EV-DV systems proposed by the 3GPP2, and WiBro, a broadband wireless communication system that provides a mobile Internet service. In addition, preparation for commercialization of each system is actively progressing.

상기 고속 패킷 데이터 시스템에서는 기지국으로부터 패킷을 수신한 이동 단말이 패킷의 성공적인 수신 여부를 기지국에 알려 주고, 이동 단말은 수신된 패킷에 오류가 있는 경우 기지국에 해당 패킷의 재전송을 요청하여 시스템의 전송 처리율(transmission throughput)을 증가시키는 링크 제어 프로토콜로서 H-ARQ를 사용한다. 또한 상기 고속 패킷 데이터 시스템에서는 통신 채널의 상태 변화가 심하고 다중 접속을 지원하는 특징을 가지므로 수신 데이터의 신뢰성을 높이기 위해 터보 코드(Turbo code)와 함께 H-ARQ 방식을 사용한다.In the fast packet data system, a mobile terminal receiving a packet from a base station informs the base station whether the packet has been successfully received, and the mobile terminal requests the base station to retransmit the packet when there is an error in the received packet. H-ARQ is used as a link control protocol to increase transmission throughput. In addition, the high-speed packet data system uses the H-ARQ method together with a turbo code to increase the reliability of received data since the state of the communication channel is severe and supports multiple access.

예를 들어 현재 휴대 인터넷의 새로운 규격인 WiBro 시스템을 보면, 기지국이 이동 단말로 데이터를 전송할 때 일반적으로 CRC를 첨부하고 길쌈터보인코딩(convolutional turbo-encoding)을 수행한다. 이동 단말은 수신 데이터를 터보 디코딩한 후 CRC 검사를 수행하여 에러가 없으면 수신 데이터를 물리계층에서 상위계층으로 보내고 에러가 발생하면 기지국으로 재전송을 요구한다.For example, in the WiBro system, which is a new standard of the current mobile Internet, when a base station transmits data to a mobile terminal, it generally attaches a CRC and performs convolutional turbo-encoding. The mobile terminal turbo decodes the received data and then performs CRC check, and if there is no error, transmits the received data from the physical layer to the upper layer and requests retransmission to the base station if an error occurs.

또한 H-ARQ의 효율을 높이기 위해 하나의 전송 패킷만 처리하지 않고, 복수 채널을 통한 전송/재전송을 지원하여 기지국이 응답을 기다리는 시간 지연을 줄일 수 있다. 이와 같이 복수 채널을 동시에 처리하기 위해 이동 단말은 수신한 데이터를 채널별로 저장해 놓을 메모리가 필요하고, 이 메모리는 전송 패킷의 크기가 커짐에 따라 단말의 크기를 증가시키는 주요 원인이 된다. 또한 재전송된 수신 데이터는 동일 채널의 기수신한 데이터와 결합(combining)하는 과정을 거친다.In addition, in order to increase the efficiency of H-ARQ, the transmission / retransmission through multiple channels is supported without processing only one transport packet, thereby reducing the time delay for the base station waiting for a response. In order to simultaneously process a plurality of channels, the mobile terminal needs a memory to store the received data for each channel, and this memory is a major cause of increasing the size of the terminal as the size of the transport packet increases. In addition, the retransmitted received data is combined with the received data of the same channel.

통상적으로 이동 단말이 무선망을 통해 전송되는 패킷을 아무런 왜곡이나 잡 음이 섞이지 않는 상태로 수신한다는 것은 현실적으로 불가능하므로 H-ARQ에서는 이러한 문제를 해결하도록 다양한 패킷 재전송 기법이 제안되어 있다. 이러한 재전송 기법들 중 예컨대 IR(Incremental Redundancy) 방식의 H-ARQ를 사용하면 새로운 전송 시 H-ARQ 버스트를 저장하는 버퍼를 Nep(encoder packet size)만큼 널심볼(null symbol)로 초기화하는 과정이 요구된다. In general, since it is practically impossible for a mobile terminal to receive a packet transmitted through a wireless network without any distortion or noise, various packet retransmission schemes have been proposed in H-ARQ to solve this problem. Among these retransmission schemes, for example, using an incremental redundancy (IR) type H-ARQ requires a process of initializing a buffer that stores an H-ARQ burst with a null symbol as much as Nep (encoder packet size) during a new transmission. do.

왜냐하면 인코더 패킷(Encoder packet)의 부호율(code rate)이 1/3이하일 경우 하나의 버스트 내에서도 자체결합(self-combining)이 이뤄져야 하기 때문에 이동 단말의 결합기(combiner)는 항상 동작해야 하며, 이런 이유로 해당하는 ARQ 채널 버퍼를 읽고 결합한 후, 동일 위치에 쓰는 과정이 반복된다. 따라서 새로운 전송에 따라 H-ARQ 버스트가 입력되면 버퍼를 읽기 전에 해당 ARQ 채널이 할당되어 있는 버퍼를 클리어하는 과정이 필요하며, 이러한 버퍼 클리어 동작은 고속 패킷 데이터 시스템의 처리율(throughput)을 감소시키는 문제점을 발생시킨다.Because the code rate of the encoder packet is less than 1/3, self-combining must be performed even within one burst. Therefore, the combiner of the mobile station should always operate. After reading and combining the corresponding ARQ channel buffer, the process of writing to the same position is repeated. Therefore, when a H-ARQ burst is input according to a new transmission, a process of clearing a buffer allocated with the corresponding ARQ channel is required before reading the buffer, and this buffer clear operation reduces the throughput of a high-speed packet data system. Generates.

도 1은 종래 H-ARQ 방식의 처리 과정을 나타낸 도면으로서, 상기 설명한 바와 같이 새로운 H-ARQ 버스트가 입력되면, 해당 버퍼를 클리어하는 과정(11)과, 버퍼를 읽고, 결합을 수행한 후, 버퍼내 동일 위치에 데이터를 쓰는 일련의 과정(13)과, 저장된 데이터를 디코딩하는 과정(15)이 연속적으로 진행된다.FIG. 1 is a diagram illustrating a conventional H-ARQ method. When a new H-ARQ burst is input as described above, the process of clearing the corresponding buffer (11), reading a buffer, and performing combining, A series of steps 13 of writing data at the same position in the buffer and 15 steps of decoding the stored data proceed in succession.

도 2는 종래 고속 패킷 데이터 시스템에서 이동 단말의 H-ARQ 장치(200)의 구성을 도시한 블록도로서, 이는 4개의 채널을 사용하는 고속 패킷 데이터 시스템을 가정한 것이다.FIG. 2 is a block diagram illustrating a configuration of an H-ARQ apparatus 200 of a mobile terminal in a conventional high speed packet data system, which assumes a high speed packet data system using four channels.

도 2의 H-ARQ 장치는 각 ARQ 채널(채널0~채널3)에 대응되며, 정보 데이터 (Systematic A, B)와 패리티 데이터(Parity Y, W)로 구성된 H-ARQ 버스트들이 저장되는 다수의 버퍼들(210~240)을 구비한다. 상기 버퍼들(210~240)은 각 ARQ 채널(채널0~채널3)에 고정되어 있다. 제어기(250)는 MAP 정보를 통해 전달되는 ARQ 채널의 번호(ACID)에 따라 입력되는 LLR(즉, H-ARQ 버스트)을 역다중화기(260)를 통해 역다중화하고, 해당 채널에 대해 버퍼(210~240)의 데이터를 읽은 후 H-ARQ 버스트와 결합(combining)하여 저장한 후, 출력시킨다. 각 버퍼(210~240)로부터 출력된 데이터는 다중화기(270)를 통해 다중화되고, 도시되지 않은 채널 디코더로 전달된다.The H-ARQ device of FIG. 2 corresponds to each ARQ channel (channels 0 to 3) and stores a plurality of H-ARQ bursts including information data (Systematic A, B) and parity data (Parity Y, W). Buffers 210 to 240 are provided. The buffers 210 to 240 are fixed to each ARQ channel (channels 0 to 3). The controller 250 demultiplexes the LLR (ie, H-ARQ burst) input through the demultiplexer 260 according to the ARQ channel number (ACID) transmitted through the MAP information, and buffers 210 for the corresponding channel. After reading the data of ˜240), the data is stored after being combined with the H-ARQ burst. Data output from each of the buffers 210 to 240 are multiplexed through the multiplexer 270 and transferred to a channel decoder (not shown).

고속 패킷 데이터 시스템에서는 패킷 데이터를 고속으로 처리해야 하며, 이를 위해 H-ARQ 데이터 심볼을 동작 클럭당 하나씩 처리해야하는 요구가 발생한다. 이를 위해 기존 H-ARQ 장치는 버퍼들(210~240)의 읽기(Read)/결합(Combine)/쓰기(Write) 동작을 연속적으로 수행하기 위해 듀얼 포트(Dual Port) 메모리(DPSRAM)를 사용하였다. 그러나 듀얼 포트 메모리(DPSRAM)를 사용하는 경우 싱글 포트(Single port) 메모리(SPRAM)에 비해 요구되는 메모리 점유 면적이 50~70% 정도 증가하는 문제점이 있다. 또한 기존 H-ARQ 장치는 새로운 H-ARQ 버스트가 입력되면 버퍼들(210~240)에 저장되어 있는 기존 데이터를 삭제해야만 새로운 H-ARQ 버스트를 자체 결합(self-combining) 할 수 있기 때문에 버퍼 클리어 동작이 선행되어야 하며, 이로 인한 처리 시간이 많이 소모된다.In a high speed packet data system, packet data must be processed at high speed, and for this purpose, there is a demand for processing one H-ARQ data symbol per operation clock. To this end, the existing H-ARQ device uses dual port memory (DPSRAM) to continuously perform read / combine / write operations of the buffers 210 to 240. . However, when the dual port memory (DPSRAM) is used, the required memory occupancy area increases by 50 to 70% compared to the single port memory (SPRAM). In addition, since the existing H-ARQ device can self-combine the new H-ARQ burst only when the new H-ARQ burst is input, the existing data stored in the buffers 210 to 240 must be deleted. The operation must be preceded, which results in a large amount of processing time.

본 발명은 고속 패킷 데이터 시스템에서 데이터 처리율을 향상시킬 수 있는 이동 단말의 H-ARQ 장치 및 메모리 할당 방법을 제공한다.The present invention provides an H-ARQ apparatus and a memory allocation method of a mobile terminal capable of improving data throughput in a high speed packet data system.

또한 본 발명은 메모리의 점유 용적을 줄일 수 있는 싱글 포트 메모리를 이용하는 이동 단말의 H-ARQ 장치 및 메모리 할당 방법을 제공한다.The present invention also provides an H-ARQ device and a memory allocation method of a mobile terminal using a single port memory that can reduce the occupied volume of the memory.

또한 본 발명은 동적인 메모리 할당을 수행하여 버퍼의 클리어 시간을 줄일 수 있는 이동 단말의 H-ARQ 장치 및 메모리 할당 방법을 제공한다.In addition, the present invention provides an H-ARQ device and a memory allocation method of a mobile terminal capable of reducing the clear time of a buffer by performing dynamic memory allocation.

본 발명의 장치는 고속 패킷 데이터 시스템의 복합 자동 재전송 요구(H-ARQ) 장치에 있어서, 짝수번째 심볼과 홀수번째 심볼의 읽기 동작과 쓰기 동작을 교번하여 수행하는 다수의 메모리 뱅크들과, 각 메모리 뱅크의 현재 사용 여부 정보와 사용 가능 여부 정보 및 각 ARQ 채널의 버스트가 어느 메모리 뱅크에 저장되어 있는 지 지시하는 정보를 저장하는 다수의 레지스터들과, 상기 레지스터들에 저장된 정보를 근거로 입력된 H-ARQ 버스트를 현재 사용 가능한 메모리 뱅크에 쓰는 동작과 다음 입력될 H-ARQ 버스트를 저장할 메모리 뱅크를 클리어 하는 동작이 동시에 수행되도록 상기 다수의 메모리 뱅크들의 동작을 제어하는 제어기를 포함함을 특징으로 한다.The apparatus of the present invention is a compound automatic retransmission request (H-ARQ) apparatus of a high-speed packet data system, comprising: a plurality of memory banks alternately performing read and write operations of even and odd symbols, and each memory; A plurality of registers that store information on bank current availability and availability, and information indicating which memory bank a burst of each ARQ channel is stored in, and an H input based on the information stored in the registers. And a controller for controlling the operation of the plurality of memory banks such that an operation of writing an ARQ burst to a currently available memory bank and an operation of clearing a memory bank to store the next input H-ARQ burst are performed at the same time. .

본 발명의 방법은 고속 패킷 데이터 시스템에서 다수의 메모리 뱅크들을 구비하는 복합 자동 재전송 요구(H-ARQ) 장치의 메모리 할당 방법에 있어서, H-ARQ 버스트를 수신하고 상기 수신된 H-ARQ 버스트가 새로운 버스트인지 확인하는 과정과, 상기 새로운 버스트인 경우 상기 H-ARQ 버스트가 버퍼링되는 각 메모리 뱅크의 현재 사용 여부를 확인하는 과정과, 상기 H-ARQ 버스트를 현재 사용 가능한 메모리 뱅크에 쓰는 동작과 다음 입력될 H-ARQ 버스트를 저장할 메모리 뱅크를 클리어 하 는 동작을 동시에 수행하는 과정을 포함함을 특징으로 한다.The method of the present invention is a memory allocation method of a compound automatic retransmission request (H-ARQ) device having a plurality of memory banks in a high-speed packet data system, wherein the received H-ARQ burst is received and the received H-ARQ burst is new. Checking whether it is a burst, checking whether the H-ARQ burst is currently used in each memory bank in which the H-ARQ burst is buffered, writing the H-ARQ burst into a currently available memory bank, and inputting the next input. And simultaneously performing an operation of clearing a memory bank to store an H-ARQ burst to be performed.

이하 첨부된 도면을 참조하여 본 발명의 실시 예를 설명하기로 한다. 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명은 생략하기로 한다.Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings. In the following description of the present invention, if it is determined that a detailed description of a related known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted.

먼저 본 발명의 기본 개념을 설명하면, 본 발명에서는 단말내 메모리의 점유 용적을 줄이도록 H-ARQ 장치에서 버퍼 메모리로 듀얼 포트 메모리(DPSRAM) 대신 싱글 포트 메모리(SPSRAM)를 사용한다. 그리고 상기 싱글 포트 메모리(SPSRAM)의 사용을 위해 H-ARQ 버스트를 짝수번째 데이터와 홀수번째 데이터로 구분하고, 짝수번째 데이터와 홀수번째 데이터를 저장할 메모리를 구분하여 짝수번째 데이터를 읽을때 홀수번째 데이터를 쓰는 방식을 제안한다.First, the basic concept of the present invention will be described. In the present invention, a single port memory (SPSRAM) is used as a buffer memory instead of a dual port memory (DPSRAM) in the H-ARQ device to reduce the occupied volume of the memory in the terminal. In order to use the single port memory (SPSRAM), the H-ARQ burst is divided into even-numbered data and odd-numbered data, and the odd-numbered data is read when the even-numbered data is read by distinguishing the memory for storing the even-numbered data and the odd-numbered data. Suggest a way to write.

또한 본 발명의 H-ARQ 장치는 데이터 처리율을 향상시키도록 각 메모리 뱅크를 ARQ 채널별로 고정하지 않고, 동적인 메모리 할당을 수행하여 하나의 메모리 뱅크에서 쓰기 동작이 수행되는 경우 동시에 다음 버스트가 저장되는 다른 메모리 뱅크에서는 클리어 동작을 수행하여 종래 클리어 동작의 개별 수행에 따른 시간 지연을 감소시킨다.In addition, the H-ARQ apparatus of the present invention does not fix each memory bank for each ARQ channel to improve data throughput, and performs a dynamic memory allocation so that the next burst is simultaneously stored when a write operation is performed in one memory bank. In other memory banks, a clear operation is performed to reduce time delays caused by individual performance of the conventional clear operation.

도 3은 본 발명의 실시 예에 따른 고속 패킷 데이터 시스템에서 이동 단말의 H-ARQ 장치(300)의 구성을 도시한 블록도이다.3 is a block diagram illustrating a configuration of an H-ARQ apparatus 300 of a mobile terminal in a high speed packet data system according to an exemplary embodiment of the present invention.

도 3의 구성은 설명의 편의상 4개의 ARQ 채널을 사용하는 고속 패킷 데이터 시스템을 가정한 것으로 본 발명의 내용이 4개의 ARQ 채널에 제한되는 것이 아님을 유의하여야 할 것이다. 따라서 본 발명은 다수의 ARQ 채널을 사용하는 EV-DO, EV-DV 시스템이나 HSDPA 시스템 또는 와이브로 시스템 등 다양한 고속 패킷 데이터 시스템에 적용가능하다.The configuration of FIG. 3 assumes a high speed packet data system using four ARQ channels for convenience of description, and it should be noted that the contents of the present invention are not limited to four ARQ channels. Therefore, the present invention is applicable to various high speed packet data systems such as EV-DO, EV-DV system, HSDPA system or WiBro system using a plurality of ARQ channels.

도 3의 장치는 정보 데이터(Systematic A, B)와 패리티 데이터(Parity Y, W)로 구성된 H-ARQ 버스트들을 저장하기 위한 버퍼로서 동작하는 다수의 메모리 뱅크들(310~340)과, 본 발명의 동적 메모리 할당 알고리즘에 따라 장치 전반을 제어하는 H-ARQ 제어기(350), 동적 메모리 할당을 위한 정보들을 저장하는 다수의 레지스터들(301, 302, 303) 그리고 입력된 LLR(H-ARQ 버스트)를 ARQ 채널별로 역다중화하는 역다중화기(360)와, H-ARQ 처리된 데이터를 다중화하여 채널 디코더로 출력하는 다중화기(370)를 포함한다.The apparatus of FIG. 3 includes a plurality of memory banks 310 to 340 which act as a buffer for storing H-ARQ bursts composed of information data System A and Parity data Parity Y and W, and the present invention. H-ARQ controller 350 to control the overall device according to the dynamic memory allocation algorithm of the plurality of registers for storing information for dynamic memory allocation, and the input LLR (H-ARQ burst) The demultiplexer 360 demultiplexes each ARQ channel, and the multiplexer 370 multiplexes the H-ARQ processed data and outputs the same to the channel decoder.

먼저 본 발명의 설명을 위해 사용되는 용어들을 다음과 같이 정의한다.First, terms used for describing the present invention are defined as follows.

1. MUM(Memory Usage Map) : 메모리 사용 맵으로 현재 사용중인 메모리 뱅크를 나타냄.1. Memory Usage Map (MUM): A memory usage map that indicates the memory bank currently in use.

2. NAM(Next Available Memory) : 사용 가능 메모리 정보로 새로운 버스트가 입력되었을 때 현재 사용 가능한 메모리 뱅크를 나타냄.2. NAM (Next Available Memory): Indicates the memory bank currently available when a new burst is entered as available memory information.

3. ACMP(ARQ Channel Memory Pointer) : 각 ARQ 채널이 어느 메모리 뱅크에 할당되어 있는지를 나타냄.3. ACQ (ARQ Channel Memory Pointer): Indicates to which memory bank each ARQ channel is assigned.

4. ACID(ARQ Channel ID) : 각 ARQ 채널의 번호(ID)를 나타냄.4. ACID (ARQ Channel ID): It indicates the number (ID) of each ARQ channel.

상기 MUM, NAM, ACMP의 값은 각각 도 3의 제1 내지 제3 레지스터들(301, 302, 303)에 저장된다.The values of the MUM, NAM, and ACMP are stored in the first to third registers 301, 302, and 303 of FIG. 3, respectively.

도 2의 종래 H-ARQ 장치의 경우 각 버퍼(210~240)는 지정된 ARQ 채널의 버스트만 버퍼링하였으나 본 발명에서는 ARQ 채널에 대해 "ACID"가 고정되어 있지 않고 H-ARQ 제어기(350)가 ARQ 채널별 H-ARQ 버스트를 버퍼링하는 메모리 뱅크(310~340)를 동적으로 할당한다. 또한 도 3에서 메모리 뱅크들(310~340)은 각각 짝수번째 데이터를 저장할 메모리 블록들(310a~340a)과, 홀수번째 데이터를 저장할 메모리 블록들(310b~340b)로 분리되어 있다. 따라서 본 발명의 H-ARQ 장치는 버퍼로 듀얼 포트 메모리(DPSRAM)대신 싱글 포트 메모리(SPSRAM)를 사용할 수 있고, 칩의 크기와 전력소모를 줄일 수 있다.In the conventional H-ARQ apparatus of FIG. 2, each buffer 210 to 240 buffers only a burst of a designated ARQ channel. However, in the present invention, “ACID” is not fixed to the ARQ channel, and the H-ARQ controller 350 is ARQ. Memory banks 310 to 340 that buffer H-ARQ bursts per channel are dynamically allocated. 3, the memory banks 310 to 340 are divided into memory blocks 310a to 340a to store even-numbered data and memory blocks 310b to 340b to store odd-numbered data, respectively. Therefore, the H-ARQ device of the present invention can use a single port memory (SPSRAM) instead of the dual port memory (DPSRAM) as a buffer, and can reduce the size and power consumption of the chip.

본 발명의 레지스터들을 살펴보면, 제1 레지스터(301)에는 현재 각 메모리 뱅크(310~340)의 사용 여부를 나타내는 메모리 사용 맵(MUM) 정보가 저장되며, 상기 MUM 정보는 사용된 ARQ 채널 개수만큼의 비트로 구성되고, MUM 정보의 각 비트는 메모리 뱅크(310~340)의 사용 여부를 나타낸다. 예를 들어 4 개의 ARQ 채널(Ch#0~Ch#3)을 가정하면, MUM 정보는 4 비트로 구성되며, "0001"은 Ch#0이 사용중임을 나타내고, "0010"은 Ch#1이 사용중임을 나타내고, "0011"은 Ch#0과 Ch#1이 사용중임을 나타낸다.Looking at the registers of the present invention, the first register 301 stores memory usage map (MUM) information indicating whether each of the memory banks 310 to 340 is currently used, and the MUM information corresponds to the number of ARQ channels used. It consists of bits, and each bit of the MUM information indicates whether the memory banks 310 to 340 are used. For example, assuming four ARQ channels (Ch # 0 to Ch # 3), MUM information consists of 4 bits, "0001" indicates that Ch # 0 is in use, and "0010" indicates that Ch # 1 is in use. "0011" indicates that Ch # 0 and Ch # 1 are in use.

제2 레지스터(302)에는 새로운 H-ARQ 버스트가 입력되었을 때 현재 할당이 가능한 메모리 뱅크(310~340)를 가리키는 사용 가능 메모리(NAM) 정보가 저장되며, 예를 들어 4 개의 ARQ 채널(Ch#0~Ch#3)을 가정하면, 각 채널에 대응되게 0부터 3의 값을 갖는다. 제3 레지스터(303)에는 각 ARQ 채널의 버스트가 어느 메모리 뱅크에 할당되어(저장되어) 있는지를 나타내는 메모리 포인터(ACMP) 정보가 저장된다. 따라서 ACMP[ACID]를 참조하면 해당 H-ARQ 버스트가 저장된 메모리 뱅크(310~340)를 알 수 있다. 여기서 "ACID"는 각 ARQ 채널의 아이디(번호)를 의미하며, 예컨대 4 개의 ARQ 채널(Ch#0~Ch#3)을 가정하면, 각 채널에 대응되게 0부터 3의 값을 갖는다.The second register 302 stores available memory (NAM) information indicating memory banks 310 to 340 currently allocated when a new H-ARQ burst is input. For example, four ARQ channels (Ch #) are stored. Assuming 0 to Ch # 3), each channel has a value of 0 to 3 corresponding to each channel. The third register 303 stores memory pointer (ACMP) information indicating in which memory bank the burst of each ARQ channel is allocated (stored). Therefore, referring to ACMP [ACID], it can be seen that memory banks 310 to 340 in which corresponding H-ARQ bursts are stored. Here, "ACID" means ID (number) of each ARQ channel. For example, assuming four ARQ channels (Ch # 0 to Ch # 3), each of the ARQ channels has a value of 0 to 3 corresponding to each channel.

도 3에서 H-ARQ 제어기(350)의 역할은 앞서 설명한 제1 내지 제3 레지스터(301, 302, 303)의 값을 설정 및 참조하여 현재 비어있는 메모리 뱅크(310~340)에 새로운 버스트를 할당하고, 다음 버스트를 위해 사용할 메모리 뱅크(310~340)를 클리어시키며, 결합 동작을 수행하기 위해 해당 메모리 뱅크(310~340)의 읽기(Read)/쓰기(Write) 주소를 생성한다. 또한 H-ARQ 장치의 출력단에 위치하는 터보 복호기(도시되지 않음) 등과 디코딩을 위한 인터페이스 신호를 주고받는다.The role of the H-ARQ controller 350 in FIG. 3 is to set and refer to the values of the first to third registers 301, 302, and 303 described above to allocate a new burst to the currently empty memory banks 310 to 340. The memory banks 310 to 340 are cleared to be used for the next burst, and a read / write address of the corresponding memory banks 310 to 340 is generated to perform a combining operation. In addition, it transmits and receives an interface signal for decoding, such as a turbo decoder (not shown) located at the output of the H-ARQ device.

본 발명에서 메모리 뱅크의 클리어 동작을 간략히 설명하면, H-ARQ 제어기(350)가 메모리 뱅크0(310)에 데이터를 쓰는 경우 메모리 뱅크1(320)은 다음 입력되는 버스트를 위해 클리어되며, 이때 메모리 뱅크0(310)의 쓰기 동작과 메모리 뱅크1(320)의 클리어 동작은 동시에 진행되어 클리어 동작의 개별 진행에 따라 시간 지연을 감소시키게 된다.In the present invention, the clear operation of the memory bank is briefly described. When the H-ARQ controller 350 writes data to the memory bank 0 310, the memory bank 1 320 is cleared for the next input burst. The write operation of the bank 0 310 and the clear operation of the memory bank 1 320 may be simultaneously performed to reduce the time delay according to the individual progress of the clear operation.

이하 도 4의 순서도를 참조하여 도 3의 구성으로 된 H-ARQ 장치의 동작을 설명하기로 한다.Hereinafter, an operation of the H-ARQ device having the configuration of FIG. 3 will be described with reference to the flowchart of FIG. 4.

도 4는 본 발명의 실시 예에 따라 도 3의 H-ARQ 장치에서 수행되는 동적 메 모리 할당 알고리즘을 나타낸 것으로 먼저 도 4의 401 단계에서 이동 단말의 전원이 온(on)되어 H-ARQ 장치가 리셋되면, 제1 내지 제3 레지스터들(301, 302, 303)은 초기화가 되고, 403 단계에서 H-ARQ 제어기(350)는 메모리 뱅크0(310)을 클리어 시키고, 새로운 H-ARQ 버스트가 입력되었을 때 사용 가능한 메모리 뱅크를 나타내는 "NAM"을 0으로 설정한다. 본 실시 예에서는 바람직하게 상기 403 단계에서 현재 H-ARQ 버스트가 저장되는 하나의 메모리 뱅크만을 클리어 시키도록 하였으나, 전체 또는 하나 이상의 메모리 뱅크를 클리어 시키는 것도 가능하다.FIG. 4 illustrates a dynamic memory allocation algorithm performed in the H-ARQ apparatus of FIG. 3 according to an embodiment of the present invention. First, in step 401 of FIG. 4, the power of the mobile terminal is turned on. When reset, the first to third registers 301, 302, 303 are initialized, and in step 403, the H-ARQ controller 350 clears the memory bank 0 310, and a new H-ARQ burst is input. Is set to 0, which indicates the available memory bank. In the present embodiment, in step 403, only one memory bank in which the current H-ARQ burst is stored is cleared, but all or one or more memory banks may be cleared.

405 단계에서 H-ARQ 버스트(LLR)가 수신되어 역다중화기(360)로 입력되면, H-ARQ 제어기(350)는 407 단계에서 현재 입력된 H-ARQ 버스트가 새로운 버스트인지 아니면 메모리 뱅크에 기저장된 H-ARQ 버스트와 결합을 시켜야할 연속된 버스트인지를 판별한다. 상기 407 단계의 판단 결과 만약 새로운 버스트라면 제2 레지스터(302)의 "NAM"이 가리키는 메모리 뱅크에 저장할 수 있으므로 H-ARQ 제어기(350)는 409 단계로 진행하여 제1 레지스터(301)의 4 비트 정보인 MUM[NAM]의 해당 비트를 '1'로 설정하여 비어있던 메모리 뱅크가 사용중이라는 표시를 한다. 예를 들어 "NAM"이 2인 경우 메모리 뱅크2에 해당하므로 "MUM"은 "0100"으로 설정된다.(나머지 메모리 뱅크도 사용중이 아닌 것으로 가정한 경우)When the H-ARQ burst LLR is received in step 405 and input to the demultiplexer 360, the H-ARQ controller 350 determines whether the currently input H-ARQ burst is a new burst or previously stored in the memory bank. Determines whether a burst is to be combined with an H-ARQ burst. As a result of the determination in step 407, if it is a new bus, it can be stored in the memory bank indicated by " NAM " Set the corresponding bit in the MUM [NAM] information to '1' to indicate that an empty memory bank is in use. For example, if "NAM" is 2, it corresponds to memory bank 2, so "MUM" is set to "0 1 00" (assuming that the remaining memory banks are not in use).

또한 H-ARQ 버스트는 ARQ 채널의 번호인 "ACID"가 지정되어 있으므로 H-ARQ 제어기(350)는 상기 409 단계에서 "ACID"를 참조하여 제3 레지스터(303)에 ACMP[ACID]을 "NAM"으로 설정한다. ACMP[ACID]을 "NAM"으로 설정하는 이유는 이후에 연속된 버스트가 입력되었을 때 "ACID"에 해당하는 버스트가 어느 메모리 뱅크 에 저장되어 있는지 찾기 위해서이다.In addition, since the H-ARQ burst is designated as "ACID", which is the number of the ARQ channel, the H-ARQ controller 350 refers to "ACID" in step 409, and sets "ACM [ACID]" to the third register 303. Set to "." The reason for setting ACMP [ACID] to "NAM" is to find in which memory bank the burst corresponding to "ACID" is stored when subsequent bursts are entered.

입력된 H-ARQ 버스트가 새로운 버스트인지 연속된 버스트인지는 아래와 방법으로 확인할 수 있다. 예를 들어 와이브로 시스템의 경우 "AI_SN"이라는 H-ARQ 시퀀스 번호(Sequence number)가 MAP 정보에 포함되어 수신된다. 상기 "AI_SN"은 기지국에서 새로운 H-ARQ 버스트를 전송할 때마다 토글시키는 1비트 정보이다. 즉 연속된 H-ARQ이면 기지국은 "AI_SN"를 같은 값으로 전송하고, 단말이 H-ARQ 버스트를 처리하여 ACK 정보를 보낸 후, 기지국이 새로운 H-ARQ 버스트를 전송할 때는 이전 "AI_SN"과 다른 "AI_SN"을 전송하여 새로운 버스트를 구분할 수 있다. 이 "AI_SN"은 각 채널별로 하나씩 존재하며, 단말에서는 H-ARQ 채널의 해당 "AI_SN"을 저장하고 있다가, 이전 "AI_SN"과 값이 다르면 새로운 버스트로 판단한다.Whether the input H-ARQ burst is a new burst or a continuous burst can be confirmed by the following method. For example, in the WiBro system, an H-ARQ sequence number called "AI_SN" is included in MAP information and received. The "AI_SN" is 1-bit information to be toggled every time a base station transmits a new H-ARQ burst. That is, if the consecutive H-ARQ, the base station transmits the "AI_SN" to the same value, the terminal processes the H-ARQ burst and sends ACK information, when the base station transmits a new H-ARQ burst is different from the previous "AI_SN" A new burst can be identified by sending "AI_SN". One "AI_SN" exists for each channel, and the terminal stores the corresponding "AI_SN" of the H-ARQ channel. If the value is different from the previous "AI_SN", it is determined as a new burst.

이후 411 단계에서 H-ARQ 제어기(350)는 제1 레지스터(301)로부터 메모리 뱅크의 현재 사용 여부를 나타내는 "MUM" 값을 확인하고, "MUM"으로부터 다음 새로운 버스트가 입력되었을 때 할당 가능한 메모리 뱅크의 번호를 구해서 제2 레지스터(302)에 저장되는 "NAM" 값을 갱신한다. 그리고 바람직하게 413 단계에서 H-ARQ 제어기(350)는 "NAM"이 가리키는 메모리 뱅크는 다음 H-ARQ 버스트의 저장을 위해 클리어 시키며, 이와 동시에 415 단계에서 현재 입력된 H-ARQ 버스트를 MEM[ACMP[ACID]]에 대응되는 메모리 뱅크에 버퍼링하고, 자체 결합하여 저장한다. 즉 본 발명의 H-ARQ 장치를 실제 하드웨어로 구현하면, 상기 413 단계의 클리어 동작과 415 단계의 결합 동작을 동시에 수행할 수 있어서 기존의 H-ARQ 장치 구조 보다 처리속도를 향상시킬 수 있다.Thereafter, in step 411, the H-ARQ controller 350 checks a value of “MUM” indicating whether the memory bank is currently used from the first register 301, and allocates a memory bank that can be allocated when the next new burst is input from “MUM”. Is obtained, and the " NAM " value stored in the second register 302 is updated. Preferably, in step 413, the H-ARQ controller 350 clears the memory bank indicated by "NAM" for storage of the next H-ARQ burst, and at the same time MEM [ACMP] the H-ARQ burst currently input in step 415. It is buffered in a memory bank corresponding to [ACID]] and stored in a self-combining manner. That is, if the H-ARQ device of the present invention is implemented in real hardware, the clear operation of step 413 and the combined operation of step 415 can be simultaneously performed, thereby improving the processing speed of the conventional H-ARQ device structure.

한편 상기 407 단계에서 H-ARQ 제어기(350)는 연속된 버스트가 입력되었다고 판단되었으면 417 단계로 진행하여 바로 MEM[ACMP[ACID]]에 대응되는 메모리 뱅크를 읽은 후, 입력된 H-ARQ 버스트과 결합시킨 후, 다시 저장(write back)한다. 그리고 상기한 과정에 따라 새로운 버스트나 연속된 버스트가 해당 메모리 뱅크에 전부 저장되면, 419 단계에서 H-ARQ 제어기(350)는 터보 복호기 등의 채널 복호기를 통해 데이터 복호가 이루어지도록 메모리 뱅크에 저장된 데이터의 출력을 제어한다. 그리고 421 단계에서 H-ARQ 제어기(350)는 데이터의 복호가 제대로 되었는지 CRC를 수행하여 CRC 결과가 정상(good)이면 복호된 정보를 상위 계층으로 전송하고, CRC 결과가 오류(bad)이면, 기지국에 재전송을 요구하고, 405 단계로 진행하여 H-ARQ 버스트를 다시 수신한다.On the other hand, if it is determined in step 407 that the consecutive bursts are input, the H-ARQ controller 350 proceeds to step 417 and immediately reads a memory bank corresponding to MEM [ACMP [ACID]], and then combines them with the input H-ARQ bursts. After doing so, write back. According to the above process, when all new bursts or consecutive bursts are stored in the corresponding memory bank, in step 419, the H-ARQ controller 350 stores the data stored in the memory bank such that data decoding is performed through a channel decoder such as a turbo decoder. To control the output. In operation 421, the H-ARQ controller 350 performs a CRC to decode data correctly and transmits the decoded information to a higher layer if the CRC result is good, and if the CRC result is bad, the base station. Retransmission is requested, and the flow proceeds to step 405 to receive the H-ARQ burst again.

또한 H-ARQ 제어기(350)는 상기 421 단계에서 CRC 결과가 정상(good)인 경우 423 단계에서 MUM[ACMP[ACID]]를 0으로 설정하여 해당 메모리 뱅크를 다른 버스트에 할당할 수 있도록 한다. 본 발명의 H-ARQ 장치는 상기한 동작을 매 버스트마다 반복 수행하여 본 발명이 이루고자 하는 처리속도의 향상을 이룰 수 있다.In addition, when the CRC result is good in step 421, the H-ARQ controller 350 sets MUM [ACMP [ACID]] to 0 in step 423 to allocate the corresponding memory bank to another burst. The H-ARQ apparatus of the present invention may repeatedly perform the above operation every burst to improve the processing speed of the present invention.

도 5는 본 발명의 실시 예에 따른 H-ARQ 장치에서 수행되는 동적 메모리 할당 과정의 일 예를 나타낸 것이다.5 illustrates an example of a dynamic memory allocation process performed in an H-ARQ apparatus according to an embodiment of the present invention.

도 5에서 가로축은 시간을 나타내며 시간의 흐름에 따라 제1 내지 제3 레지스터(301, 302, 303)에 저장된 "MUM", "NAM", "ACMP[ACID]" 값이 변화하는 과정을 나타낸 것이다.In FIG. 5, the horizontal axis represents time and illustrates a process of changing the values of "MUM", "NAM", and "ACMP [ACID]" stored in the first to third registers 301, 302, and 303 as time passes. .

도 5의 Wi, Ri, Ci(0≤i≤3, i는 정수)는 i 번째 메모리 뱅크에서 각각 쓰기 (Wi), 읽기(Ri), 클리어(Ci) 동작을 나타낸다. 도 5에서 "MUM"인 "0001"이고, "NAM"은 1인 경우를 살펴보면, 메모리 뱅크0(310)은 현재 사용중인 메모리 뱅크로서, Ch#0의 버스트가 입력되면 메모리 뱅크0(310)에 대한 쓰기(W0) 동작과, 메모리 뱅크1(320)에 대한 클리어(C1) 동작이 동시에 수행되고, 이후 메모리 뱅크0(310)에 대한 읽기(R0) 동작이 수행된다. 이때 "ACMP"의 ACID="0"이고, ACMP[0]=0이므로 현재 Ch#0의 버스트는 메모리 뱅크0(310)에 할당되어 있음을 알 수 있다.Wi, Ri, Ci (0≤i≤3, i is an integer) of FIG. 5 indicate write (Wi), read (Ri), and clear (Ci) operations in the i-th memory bank, respectively. Referring to the case in which “MUM” is “0001” and “NAM” is 1 in FIG. 5, memory bank 0 310 is a memory bank currently being used, and when a burst of Ch # 0 is input, memory bank 0 310 is input. A write (W0) operation and a clear (C1) operation for the memory bank 1 320 are performed at the same time, and then a read (R0) operation for the memory bank 0 310 is performed. At this time, since ACID of "ACMP" is "0" and ACMP [0] = 0, it can be seen that a burst of Ch # 0 is currently allocated to memory bank 0 310.

이후 도 5에서 "MUM"인 "0010"이고, "NAM"은 0인 경우를 살펴보면, 메모리 뱅크1(320)은 현재 사용중인 메모리 뱅크로서, Ch#1의 버스트가 입력되면 메모리 뱅크1(320)에 대한 쓰기(W1) 동작과, 메모리 뱅크0(310)에 대한 클리어(C0) 동작이 동시에 수행되고, 다음으로 메모리 뱅크1(320)에 대한 읽기(R1) 동작이 수행된다. 이때 ACMP[0]=0, ACMP[1]=1이므로 현재 Ch#1의 버스트는 메모리 뱅크1(320)에 할당되어 있음을 알 수 있다.Subsequently, in FIG. 5, "MUM" is "0010" and "NAM" is 0. The memory bank 1 320 is a memory bank currently being used, and when a burst of Ch # 1 is input, the memory bank 1 320 is input. ) And a clear (C0) operation for memory bank 0 310 are performed at the same time, and a read (R1) operation for memory bank 1 320 is performed at the same time. At this time, since ACMP [0] = 0 and ACMP [1] = 1, it can be seen that a burst of Ch # 1 is currently allocated to memory bank 1 320.

그리고 도 5에서 "MUM"인 "0011"이고, "NAM"은 2인 경우를 살펴보면, 메모리 뱅크0(310)과 메모리 뱅크1(320)은 현재 사용중인 메모리 뱅크로서, Ch#2의 버스트가 입력되면 메모리 뱅크0(310)에 대한 쓰기(W1) 동작과, 메모리 뱅크2(330)에 대한 클리어(C2) 동작이 동시에 수행되고, 메모리 뱅크0(310)에 대한 읽기(R0) 동작이 수행된다. 이때 ACMP[0]=0, ACMP[1]=1, ACMP[2]=0이므로 현재 Ch#0의 버스트는 메모리 뱅크0(310)에 할당되어 있고, Ch#2의 버스트는 메모리 뱅크0(310)에 할당되어 있음을 알 수 있다.Referring to the case where “MUM” is “0011” and “NAM” is 2 in FIG. 5, the memory bank 0 310 and the memory bank 1 320 are currently used memory banks, and the burst of Ch # 2 is When input, a write (W1) operation for the memory bank 0 310 and a clear (C2) operation for the memory bank 2 330 are simultaneously performed, and a read (R0) operation for the memory bank 0 310 is performed. do. At this time, since ACMP [0] = 0, ACMP [1] = 1, and ACMP [2] = 0, the burst of Ch # 0 is currently allocated to memory bank 0 (310), and the burst of Ch # 2 is allocated to memory bank 0 ( It can be seen that it is assigned to (310).

이하 도 5의 설명은 상기와 동작과 유사하므로 그 상세한 설명은 생략하기로 한다. 도 5와 같은 동적 메모리 할당을 수행하면, 서로 다른 메모리 뱅크에서 클리어 동작과, 쓰기 동작을 각각 동시에 수행할 수 있기 때문에 H-ARQ 처리 시 클리어 동작으로 인한 시간낭비를 줄일 수 있다. 또한 메모리 뱅크의 동적 할당을 통해 H-ARQ의 처리 속도를 높일 수 있지만 기존의 H-ARQ 방식의 경우 듀얼 포트 메모리(DPSRAM)을 사용해야 하기 때문에 메모리가 차지하는 면적과 전력 소모가 증가하여 고속 패킷 데이터 시스템에는 적합하지 않다.Hereinafter, since the description of FIG. 5 is similar to the above operation, a detailed description thereof will be omitted. By performing dynamic memory allocation as shown in FIG. 5, since the clear operation and the write operation can be performed simultaneously in different memory banks, time waste due to the clear operation during H-ARQ processing can be reduced. In addition, the H-ARQ processing speed can be increased by dynamically allocating memory banks, but the conventional H-ARQ method requires the use of dual port memory (DPSRAM), which increases the memory occupied area and power consumption. Not suitable for

도 6은 종래 H-ARQ 장치의 메모리 뱅크(600) 구조의 일 예를 도시한 블록도로서, 예를 들어 와이브로 시스템의 표준에서 제시하는 최대 H-ARQ 버스트를 처리하기 위해서는 도 6과 같이 예컨대, 하나의 ARQ 채널 당 2400x8 비트 듀얼 포트 메모리(DPSRAM) 2개(610, 620)와 4800x8 비트 듀얼 포트 메모리(DPSRAM) 2개(630, 640)가 필요하다.FIG. 6 is a block diagram illustrating an example of a structure of a memory bank 600 of a conventional H-ARQ device. For example, in order to process the maximum H-ARQ burst proposed by the WiBro system standard, for example, as shown in FIG. Two 2400x8 bit dual port memory (DPSRAM) (610, 620) and two 4800x8 bit dual port memory (DPSRAM) (630, 640) are required per ARQ channel.

도 7은 본 발명의 실시 예에 따른 H-ARQ 장치의 메모리 뱅크(700) 구조의 일 예를 도시한 블록도로서, 이는 H-ARQ 버스트 처리 속도를 고속으로 유지하면서 메모리가 차지하는 면적을 줄일 수 있는 구조를 제안한 것이다.7 is a block diagram illustrating an example of a structure of a memory bank 700 of an H-ARQ device according to an exemplary embodiment of the present invention, which may reduce an area occupied by a memory while maintaining a high H-ARQ burst processing speed. The structure is proposed.

도 7에서는 듀얼 포트 메모리(DPSRAM) 대신 짝수/홀수번째 심벌을 나누어 처리하는 싱글 포트 메모리(SPRAM)를 사용한다. 이 경우 도 7과 같이 한 채널 당 짝수번째 심벌을 처리하는 1200x8비트 싱글 포트 메모리(SPSRAM) 4개(710~740)와, 홀수번째 심벌을 처리하는 2400x8비트 싱글 포트 메모리(SPSRAM) 4개(750~780)가 필요하다. 그리고 도 7에서 각 다중화기(MUX)는 제어기에서 제어신호를 만들어 준다.In FIG. 7, instead of dual port memory (DPSRAM), a single port memory (SPRAM) for dividing and processing even / odd symbols is used. In this case, as shown in FIG. 7, four 1200x8-bit single port memory (SPSRAM) for processing even-numbered symbols per channel (710 to 740) and four 2400x8-bit single-port memory (SPSRAM) for processing odd-numbered symbols (750 ~ 780) is required. In addition, in FIG. 7, each multiplexer MUX generates a control signal at the controller.

한편 도면상에서는 도 7의 구조가 한 채널당 요구되는 메모리 개수가 더 많 은 것으로 보이지만 실제 H-ARQ 장치를 구현하는 경우 본 발명의 메모리 뱅크 사이즈가 더 작음에 유의하여야 할 것이다.On the other hand, although the structure of FIG. 7 seems to require more memory per channel, it should be noted that the memory bank size of the present invention is smaller when the actual H-ARQ device is implemented.

도 8은 본 발명의 실시 예에 따라 도 7의 메모리 뱅크(700)로 입력되는 데이터와 주소, 제어신호의 타이밍도를 나타낸 것이다.8 is a timing diagram of data, an address, and a control signal input to the memory bank 700 of FIG. 7 according to an exemplary embodiment of the present invention.

도 8에서 "Even WE"와 "Odd WE"는 각각 짝수번째 심벌과 홀수번째 심벌에 대해 클럭마다 토글되어 Read하는 시점과 Write하는 시점을 제어한다. 먼저 짝수번째 심벌에 대해 처음 입력인 A0와 L0가 들어오면 A0에 해당하는 데이터 D0가 다음 클럭부터 출력되고, 이 D0와 L0를 결합시키기 위해 L0를 한 클럭 지연시킨 값인 L'0를 사용하여 결합한 결과 C0를 얻는다. C0가 생성된 시점은 Read 동작 중이기 때문에 이것을 한 클럭 지연시킨 C'0를 A'0에 저장하면 한 심벌에 대한 처리가 완료된다. 상기한 동작을 홀수번째도 동일하게 수행하면 도 8과 같은 결과를 볼 수 있다.In FIG. 8, "Even WE" and "Odd WE" are toggled per clock for even-numbered symbols and odd-numbered symbols, respectively, and control a read point and a write point. When A0 and L0, which are the first inputs for the even symbol, are inputted, the data D0 corresponding to A0 is output from the next clock, and L'0, which is a value obtained by delaying L0 by one clock to combine D0 and L0, is combined. Get the result C0. Since C0 is generated during the read operation, storing C'0, which is delayed by one clock, in A'0 completes processing of one symbol. If the above operation is performed in the odd numbered manner, the result as shown in FIG. 8 can be seen.

이상 설명한 바와 같이 본 발명에 의하면, 고속 패킷 데이터 시스템의 이동 단말에 구비되는 H-ARQ 장치에서 메모리 클리어 시간으로 인한 처리 속도 저하를 절감하여 데이터 처리율을 향상시킬 수 있다.As described above, according to the present invention, the H-ARQ apparatus provided in the mobile terminal of the high speed packet data system can reduce the processing speed due to the memory clear time, thereby improving the data throughput.

또한 본 발명에 의하면, H-ARQ 장치의 버퍼로 듀얼 포트 메모리 대신 싱글 포트 메모리를 사용하여 장치내 메모리 면적과 전력소모를 동시에 줄일 수 있다. 실제 구현하였을 때 메모리면적이 약 40%정도 줄어드는 효과가 있었다.In addition, according to the present invention, the memory area and power consumption of the device can be simultaneously reduced by using a single port memory as a buffer of the H-ARQ device instead of the dual port memory. In practice, the memory area was reduced by about 40%.

Claims (7)

고속 패킷 데이터 시스템의 복합 자동 재전송 요구(H-ARQ) 장치에 있어서,In a compound automatic retransmission request (H-ARQ) apparatus of a high speed packet data system, 짝수번째 심볼과 홀수번째 심볼의 읽기 동작과 쓰기 동작을 교번하여 수행하는 다수의 메모리 뱅크들과,A plurality of memory banks alternately performing read and write operations on even and odd symbols; 각 메모리 뱅크의 현재 사용 여부 정보와 사용 가능 여부 정보 및 각 ARQ 채널의 버스트가 어느 메모리 뱅크에 저장되어 있는 지 지시하는 정보를 저장하는 다수의 레지스터들과,A plurality of registers for storing information on the current availability and availability of each memory bank and information indicating which memory bank a burst of each ARQ channel is stored in; 상기 레지스터들에 저장된 정보를 근거로 입력된 H-ARQ 버스트를 현재 사용 가능한 메모리 뱅크에 쓰는 동작과 다음 입력될 H-ARQ 버스트를 저장할 메모리 뱅크를 클리어 하는 동작이 동시에 수행되도록 상기 다수의 메모리 뱅크들의 동작을 제어하는 제어기를 포함함을 특징으로 하는 동적 메모리 할당을 수행하는 복합 자동 재전송 요구 장치.Writing the input H-ARQ burst to the currently available memory bank based on the information stored in the registers and clearing the memory bank to store the next H-ARQ burst to be performed simultaneously. And a controller for controlling the operation. 제 1 항에 있어서,The method of claim 1, 상기 제어기는 초기 리셋 동작 시 상기 다수의 메모리 뱅크들 중 적어도 하나를 클리어 시킴을 특징으로 하는 동적 메모리 할당을 수행하는 복합 자동 재전송 요구 장치.And the controller clears at least one of the plurality of memory banks during an initial reset operation. 제 1 항에 있어서,The method of claim 1, 상기 다수의 메모리 뱅크들은 각각 상기 짝수번째 심볼을 처리하는 제1 메모리 블록과 상기 홀수번째 심볼을 처리하는 제2 메모리 블록을 구비함을 특징으로 하는 동적 메모리 할당을 수행하는 복합 자동 재전송 요구 장치.And each of the plurality of memory banks comprises a first memory block for processing the even-numbered symbols and a second memory block for processing the odd-numbered symbols. 제 1 항에 있어서,The method of claim 1, 상기 다수의 메모리 뱅크들은 각각 다수의 싱글 포트 메모리를 이용함을 특징으로 하는 동적 메모리 할당을 수행하는 복합 자동 재전송 요구 장치.And the plurality of memory banks each use a plurality of single port memories. 제 1 항에 있어서,The method of claim 1, 상기 다수의 레지스터들은The plurality of registers 상기 각 메모리 뱅크의 현재 사용 여부를 나타내는 메모리 사용 맵(MUM) 정보를 저장하는 제1 레지스터와,A first register for storing MUM information indicating whether the respective memory banks are currently used; 상기 각 메모리 뱅크의 사용 가능 여부를 나타내는 사용 가능 메모리(NAM) 정보를 저장하는 제2 레지스터와,A second register for storing usable memory (NAM) information indicating whether the respective memory banks are available; 각 ARQ 채널의 버스트가 어느 메모리 뱅크에 저장되어 있는 지 지시하는 메모리 포인터(ACMP) 정보를 저장하는 제3 레지스터를 포함함을 특징으로 하는 동적 메모리 할당을 수행하는 복합 자동 재전송 요구 장치.And a third register for storing memory pointer (ACMP) information indicating in which memory bank a burst of each ARQ channel is stored. 고속 패킷 데이터 시스템에서 다수의 메모리 뱅크들을 구비하는 복합 자동 재전송 요구(H-ARQ) 장치의 메모리 할당 방법에 있어서,A memory allocation method of a compound automatic retransmission request (H-ARQ) device having a plurality of memory banks in a high speed packet data system, H-ARQ 버스트를 수신하고 상기 수신된 H-ARQ 버스트가 새로운 버스트인지 확인하는 과정과,Receiving an H-ARQ burst and checking whether the received H-ARQ burst is a new burst; 상기 새로운 버스트인 경우 상기 H-ARQ 버스트가 버퍼링되는 각 메모리 뱅크의 현재 사용 여부를 확인하는 과정과,Determining whether the H-ARQ burst currently uses each memory bank buffered in the case of the new burst; 상기 H-ARQ 버스트를 현재 사용 가능한 메모리 뱅크에 쓰는 동작과 다음 입력될 H-ARQ 버스트를 저장할 메모리 뱅크를 클리어 하는 동작을 동시에 수행하는 과정을 포함함을 특징으로 하는 복합 자동 재전송 요구(H-ARQ) 장치의 동적 메모리 할당 방법.Simultaneously performing an operation of writing the H-ARQ burst into a currently available memory bank and an operation of clearing the memory bank to store the next input H-ARQ burst (H-ARQ). ) Dynamic memory allocation of the device. 제 6 항에 있어서,The method of claim 6, 상기 다수의 메모리 뱅크들은 각각 다수의 싱글 포트 메모리를 이용함을 특징으로 하는 복합 자동 재전송 요구(H-ARQ) 장치의 동적 메모리 할당 방법.And the plurality of memory banks each use a plurality of single port memories.
KR1020050126064A 2005-12-20 2005-12-20 Hybrid automatic repeat request apparatus using single port memory in a high data-rate wireless communication system and memory allocation method thereof KR20070065525A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050126064A KR20070065525A (en) 2005-12-20 2005-12-20 Hybrid automatic repeat request apparatus using single port memory in a high data-rate wireless communication system and memory allocation method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050126064A KR20070065525A (en) 2005-12-20 2005-12-20 Hybrid automatic repeat request apparatus using single port memory in a high data-rate wireless communication system and memory allocation method thereof

Publications (1)

Publication Number Publication Date
KR20070065525A true KR20070065525A (en) 2007-06-25

Family

ID=38364793

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050126064A KR20070065525A (en) 2005-12-20 2005-12-20 Hybrid automatic repeat request apparatus using single port memory in a high data-rate wireless communication system and memory allocation method thereof

Country Status (1)

Country Link
KR (1) KR20070065525A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101489191B1 (en) * 2008-11-28 2015-02-09 삼성전자주식회사 Method and apparatus for variably receiving packet in communication system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101489191B1 (en) * 2008-11-28 2015-02-09 삼성전자주식회사 Method and apparatus for variably receiving packet in communication system

Similar Documents

Publication Publication Date Title
US6795435B1 (en) Method for transmitting data transmission flows
US6937864B2 (en) Transmission apparatus and method for multimedia service in mobile communication system
JP5315250B2 (en) Wireless communication apparatus and circular buffer control method
RU2210185C2 (en) Coding/decoding facility and procedure to process frame data in correspondence with quality of servicing
CN100426717C (en) Hybrid ARQ schemes with soft combining in variable rate packet data transmission
US7720017B2 (en) Parallel turbo decoders with multiplexed output
CN101217352B (en) A buffering setting method of phase rate matching
EP0771092A1 (en) A method for transmitting packet data with hybrid FEC/ARQ type II
US20040190552A1 (en) Apparatus and method for controlling an output buffer in a Hybrid Automatic Repeat Request (HARQ) mobile communication system
US7340669B2 (en) Memory efficient streamlined transmitter with a multiple instance hybrid ARQ
US7327709B2 (en) Data transmitting and receiving method in a mobile communication system
US8488662B2 (en) Receiver bit rate processing
US8595599B2 (en) Data decoding method and apparatus and receiver and communication system applying the same
US7505535B2 (en) Method and apparatus for controlling turbo decoder input
US20100122138A1 (en) Radio Communication Device and Radio Communication Method
US20080092008A1 (en) Buffer compression in automatic retransmisson request (ARQ) systems
KR20070065525A (en) Hybrid automatic repeat request apparatus using single port memory in a high data-rate wireless communication system and memory allocation method thereof
US6988234B2 (en) Apparatus and method for memory sharing between interleaver and deinterleaver in a turbo decoder
EP2323302A1 (en) Improved HARQ
JPH1118086A (en) Image communication method and system
JPH10135985A (en) Parallel-type error detection circuit
RU196572U1 (en) FUNCTIONAL PROTOTYPE ON PROGRAMMABLE LOGIC INTEGRAL DIAGRAM OF DIGITAL ULTRA LARGE INTEGRAL DIAGRAM FOR RADIO SYSTEMS
AU2004226932B2 (en) Receiver and method for receiving different types of service data
CN102065484A (en) Data storage method and device for combining hybrid automatic retransmission requests

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination