KR102569498B1 - 메모리 분할을 구비한 하이브리드 자동 반복 요청 인접 메모리 관리를 위한 방법 및 시스템 - Google Patents

메모리 분할을 구비한 하이브리드 자동 반복 요청 인접 메모리 관리를 위한 방법 및 시스템 Download PDF

Info

Publication number
KR102569498B1
KR102569498B1 KR1020160016468A KR20160016468A KR102569498B1 KR 102569498 B1 KR102569498 B1 KR 102569498B1 KR 1020160016468 A KR1020160016468 A KR 1020160016468A KR 20160016468 A KR20160016468 A KR 20160016468A KR 102569498 B1 KR102569498 B1 KR 102569498B1
Authority
KR
South Korea
Prior art keywords
harq
memory
buffer
partitions
transport block
Prior art date
Application number
KR1020160016468A
Other languages
English (en)
Other versions
KR20160100258A (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 삼성전자주식회사
Publication of KR20160100258A publication Critical patent/KR20160100258A/ko
Application granted granted Critical
Publication of KR102569498B1 publication Critical patent/KR102569498B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0615Address space extension
    • G06F12/0623Address space extension for memory modules
    • 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/1829Arrangements specially adapted for the receiver end
    • H04L1/1835Buffer management
    • 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
    • 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
    • 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/1822Automatic repetition systems, e.g. Van Duuren systems involving configuration of automatic repeat request [ARQ] with parallel processes
    • 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/1829Arrangements specially adapted for the receiver end
    • H04L1/1861Physical mapping arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/0001Arrangements for dividing the transmission path
    • H04L5/0003Two-dimensional division
    • H04L5/0005Time-frequency
    • H04L5/0007Time-frequency the frequencies being orthogonal, e.g. OFDM(A), DMT
    • H04L5/001Time-frequency the frequencies being orthogonal, e.g. OFDM(A), DMT the frequencies being arranged in component carriers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/003Arrangements for allocating sub-channels of the transmission path
    • H04L5/0053Allocation of signaling, i.e. of overhead other than pilot signals
    • H04L5/0055Physical resource allocation for ACK/NACK

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은 사용자 장치에 관한 것이다. 본 발명의 사용자 장치는, 활성 컴포넌트 캐리어들 중에서 적어도 하나가 변화할 때에, HARQ 프로세스들의 개수 또는 사이즈가 변화할 때에, 전송 모드가 변화할 때에, 그리고 HARQ 프로세싱이 개시될 때 중 적어도 하나의 때에, 미리 분할을 수행하는 HARQ 버퍼 제어기를 포함하는 모뎀 칩을 포함한다. 미리 분할은, 파티션들의 수를 활성 컴포넌트 캐리어들의 수와 동일하게 설정하는 단계, 파티션들의 상대적인 사이즈들을 대응하는 컴포넌트 캐리어들의 용량에 비례하게 설정하는 단계, 하나 또는 그보다 많은 기준을 이용하여 각 파티션에 대한 압축 레벨들 및 HARQ 프로세스들의 수를 선택하는 단계, 그리고 HARQ 버퍼 메모리의 전체를 설정된 상대적인 사이트들을 갖는 HARQ 버퍼 파티션들의 설정된 수로 할당하는 단계에 의해 수행된다. 각 파티션은 HARQ 프로세스들의 수와 동일한 서브 파티션들을 갖는다.

Description

메모리 분할을 구비한 하이브리드 자동 반복 요청 인접 메모리 관리를 위한 방법 및 시스템{METHOD AND SYSTEM FOR CONTIGUOUS HYBRID AUTOMATIC REPEAT REQUEST MEMORY MANAGEMENT WITH MEMORY SPLITTING}
본 발명은 부분-정적 메모리 분할 및 온-칩 및 오프-칩 메모리들의 효율적인 메모리 관리에 관한 것으로, 더 상세하게는 캐리어 어그리게이션(CA, Carrier Aggregation)을 사용하는 LTE (Long Term Evolution)의 사용자 장치(UE, User Equipment)를 위한 다운링크 HARQ (Hybrid Automatic Repeat reQuest) 버퍼 메모리 관리에 관한 것이다.
HARQ 시스템에서, 패킷의 수신기는 패킷에서 에러 검출을 수행하고, 송신기에게 결과를 통보한다. 더 상세하게는, 수신기는 에러가 검출되지 않으면 ACK를 송신하고, 에러가 검출되면 NACK를 송신한다. 송신기가 NACK를 수신하면, 송신기는 동일한 패킷을 수신기에게 재전송한다. 소프트 조합(soft combining)이라 불리는 기술을 이용하여, 수신기는 패킷의 정확한 콘텐츠를 판별하기 위하여 재전송된 패킷을 원래 전송된 패킷과 조합한다. 그러나, 이는 에러가 검출된 경우 에러 검출이 수행된 후에도 재전송된 패킷이 수신될 때까지 수신기가 수신된 패킷을 저장하여야 함을 필요로 한다. 이러한 저장소는 HARQ 버퍼, HARQ 메모리 또는 소프트 버퍼라 불린다.
꾸준히 증가하는 데이터 속도 그리고/또는 스루풋은 사용자 장치(UE) 내의 HARQ 버퍼가 꾸준히 증가하는 양의 데이터를 저장할 수 있어야 함을 의미한다. LTE에서, 사용자 장치(UE)의 역량들에 대한 다양한 카테고리들이 정의되어 왔다. 카테고리 5, 6 및 7에서, 사용자 장치(UE)는 다운링크(DL, downlink) HARQ 버퍼에 대해 대략 3백 7십만 소프트 비트들을 저장할 수 있어야 한다. LTE-어드밴스의 카테고리 8은 대략 3천 6백만 소프트 비트들을 필요로 한다. 일반적으로, 사용자 장치(UE, 예를 들어 모바일 터미널)에 대한 HARQ 버퍼는 온-칩으로, 즉 RF/기저대역 모뎀 칩 또는 시스템 온 칩(SoC) 내에 메모리로 구현된다. 그러나, 대용량의 HARQ 버퍼 사이지는 온-칩으로 유지되기 어렵다. 하나의 해법은 HARQ 버퍼의 일부를 오프-칩으로, 즉 외부 메모리로 유지하는 것이다. 그러나, 외부 메모리를 액세스하는 것은 온-칩에 저장된 데이터를 액세스하는 것보다 매우 긴 시간이 소요되므로, 이는 데이터 가용성의 문제를 유발한다.
현재, HARQ 버퍼 메모리의 필요 조건은 소프트 비트들을 압축함으로써 기존에 비해 효과적으로 감소되고 있다. 양자화된 소프트 비트들은 수신된 다운링크 신호의 채널 측정의 결과이며, 로그 우도비(LLR, Log Likelihood Ratio)의 형태를 가지며, 많은 구현들에서 4 또는 5비트들을 사용하지만 하나의 소프트 비트는 정확하게 8비트들로 표현될 수 있다. 압축은 4 내지 8 소프트 비트들을 단일 비트만큼 작게 감소시킬 수 있다. 그러나, 압축의 비용은 정확도 및 원래 LLR 값의 정확도의 소실이다.
사용자 장치(UE)의 다운링크(DL) HARQ 버퍼의 메모리 할당은 복잡하고 일부 예측 불가능하다. LTE-어드밴스에서, 사용자 장치(UE)는 5개까지의 컴포넌트 캐리어들(CC, Component Carriers)을 수신하며, 이들 각각의 대역폭은 1.4 내지 20 MHz이며, 이들 각각은 8개까지의 병렬 HARQ 프로세스들을 갖는다. HARQ 프로세스들은 스루풋을 최대화하기 위하여 병렬로 수행된다. 하나의 HARQ 프로세스가 중지하고 패킷 재전송을 대기하면, 다른 HARQ 프로세스들은 지속될 수 있다. 사용자 장치(UE)의 다운링크(DL) HARQ 버퍼 할당을 더 복잡하게 하는 것은, HARQ 프로세스들의 사이즈들이 다를 수 있다는 사실이다. 또한, HARQ 프로세스들 및 컴포넌트 캐리어들(CC)은 지속적으로 활성화 및 비활성화하며, 지속적으로 저장소 요구를 변경한다.
일부 사용자 장치(UE)의 다운링크(DL) HARQ 버퍼 메모리 할당 시스템들은 이러한 지속적으로 변화하는 복잡도를 변화가 발생할 때에 동적으로 메모리를 할당(그리고 해제 및 재할당)함으로써 해결한다. 다시 말하면, 새로운 HARQ 프로세스가 활성화될 때, HARQ 버퍼에서 메모리의 적절한 영이 할당된다. HARQ 프로세스가 비활성화될 때, 그것에 할당된 메모리가 해제된다. 즉, 시스템은 해제된 메모리가 비어 있고 할당될 준비가 된 것으로 간주한다. 시간이 흐름에 따라, HARQ 프로세스들의 수들이 변화하는 컴포넌트 캐리어들(CC)이 활성화 및 비활성화됨에 따라 그리고 각 컴포넌트 캐리어 내의 변화하는 사이즈들을 갖는 HARQ 프로세스들이 활성화 및 비활성화(그리고 재전송을 위해 중지)함에 따라, 무엇이 할당되는지 그리고 어느 위치가 더 복잡해지는지의 추적이 유지된다. 또한, 이러한 HARQ 버퍼들은 때때로 수신된 각 서브프레임에 대해 완전히 재할당된다.
이러한 동적 HARQ 버퍼 시스템들은 복잡한 링크드 리스트(linked list) 메모리 관리 스킴들을 사용하여, HARQ 메모리를 지속적으로 재할당하고 재분할한다. 링크드 리스트 메모리 관리 시스템을 유지하는 데에 필요한 자원들에 더하여, 이러한 시스템에 의해 유지되는 HARQ 버퍼는 필연적으로 메모리 조각화(또는 파편화)를 경험하며, 이는 치명적이거나 또는 치명적이지 않더라도 데이터의 이동을 속도를 늦추고, HARQ 프로세스의 중단을 유발할 수 있다. 예를 들어, 데이터가 있어야 할 때에 있어야 할 곳에 존재하지 않으므로, HARQ 프로세스가 중단될 수 있다.
HARQ 프로세스 내의 데이터는 수송 블록들(transport blocks)로 분할되며, 이들은 차례로 코드 블록들(code blocks)로 분할된다. 업링크(UL, uplink)와 달리 다운링크(DL)가 비동기식이라는 사실에 의해 복잡도의 또 다른 레벨이 사용자 장치(UE)의 다운링크(DL) HARQ 버퍼에 더해진다. 이는, 특정한 HARQ 프로세스의 다음 수송 블록이 언제 도착할지를 사용자 장치(UE)의 다운링크(DL) HARQ 버퍼가 알 수 없다는 것을 의미한다. 재전송될 수송 블록과 이전에 전송된 수송 블록이 결합기에 대해 동시에 즉시 사용 가능해야 하므로, 이러한 점은 재전송될 수송 블록이 이전에 전송된 수송 블록과 조합될 필요가 있을 때에 문제가 된다.
HARQ 버퍼가 부분적으로 오프-칩에 저장된 시스템이 통상적인 링크드 리스트 메모리 관리를 사용할 때, 새로운 각 프로세스는 도착한 때에 할당되고, 온-칩 또는 오프-칩으로 저장된다. 다운링크(DL) HARQ 프로세스들의 비동기 속성과 결합되어, HARQ 프로세스들은 속도가 저하되거나 또는 수신된 재전송 수송 블록과 결합될 필요가 있을 때에 이전에 전송된 수송 블록(에러를 갖는)을 액세스하는 데에 필요한 추가 시간으로 인해 중지될 수 있다.
따라서, 효과적이고 효율적인 사용자 장치(UE)의 다운링크(DL) HARQ 버퍼 메모리 관리를 위한 장치, 시스템 및 방법이 요구되고 있다.
따라서, 본 발명은 적어도 상술된 문제들 그리고/또는 단점들을 극복하고, 적어도 후술되는 장점들을 제공한다.
본 발명의 실시 예들에 따르면, HARQ 버퍼는 다중의 상이한 압축 그리고/또는 변환 모드들을 사용하여, HARQ 버퍼 사용 및 HARQ 결합 효율을 최대화한다. 본 발명의 실시 예들에 따르면, HARQ 버퍼는 미리 분할되어, 인접 메모리 할당을 최적화하고, 그리고 HARQ 버퍼 및 HARQ 결합기의 효율 및 사용을 최대화한다.
본 발명의 실시 예들에 따르면, HARQ 버퍼 메모리는 시간 규칙 및 HARQ 재전송 규칙을 만족하며 오프-칩(외부) 및 온-칩(내부) 메모리들 사이에서 분할된다. 본 발명의 실시 예들에 따르면, HARQ 버퍼의 일부가 외부 메모리에 저장되고, 외부 메모리에 저장된 것은 필요할 때에 사용 가능하다. 따라서, 동작 성능을 최대화하고, 저장소 압축/변환을 채택함으로써 전력 사용을 최소화하고, 그리고 외부 메모리에 대한 쓰기들을 최소화하며, 비동기식 다운링크(DL) HARQ 전송의 표준 필요 조건이 만족된다.
본 발명의 실시 예들에 따르면, 사용자 장치(UE)가 제공된다. 사용자 장치(UE)는, 상기 사용자 장치에 할당된 활성 컴포넌트 캐리어들 중에서 적어도 하나가 변화할 때에, HARQ 프로세스들의 개수 그리고/또는 사이즈가 변화할 때에, 전송 모드가 변화할 때에, 그리고 HARQ 프로세싱이 개시될 때 중 적어도 하나의 때에, 미리 분할을 수행하는 다운링크 하이브리드 자동 반복 요청(HARQ, Hybrid Automatic Repeat reQuest) 버퍼 제어기를 포함하는 모뎀 칩을 포함한다. 상기 미리 분할은, 파티션들의 수를 활성 컴포넌트 캐리어들의 수와 동일하게 설정하는 단계, 상기 파티션들의 상대적인 사이즈들을 대응하는 컴포넌트 캐리어들의 용량에 비례하게 설정하는 단계, 하나 또는 그보다 많은 기준을 이용하여 각 파티션에 대한 압축 레벨들 및 HARQ 프로세스들의 수를 선택하는 단계, 그리고 HARQ 버퍼 메모리의 전체를 상기 설정된 상대적인 사이트들을 갖는 HARQ 버퍼 파티션들의 상기 설정된 수로 할당하는 단계에 의해 수행된다. 각 파티션은 상기 HARQ 프로세스들의 수와 동일한 서브 파티션들을 갖는다.
본 발명의 실시 예들에 따른 사용자 장치의 다운링크 하이브리드 자동 반복 요청(HARQ, Hybrid Automatic Repeat reQuest) 버퍼를 할당하는 방법은, 상기 HARQ 버퍼를 미리 분할하는 단계를 포함한다. 상기 미리 분할하는 단계는, 파티션들의 수를 활성 컴포넌트 캐리어들의 수와 동일하게 설정하는 단계, 상기 파티션들의 상대적인 사이즈들을 대응하는 컴포넌트 캐리어들의 용량에 비례하게 설정하는 단계, 하나 또는 그보다 많은 기준을 이용하여 각 파티션에 대한 압축 레벨들 및 HARQ 프로세스들의 수를 선택하는 단계, 그리고 HARQ 버퍼 메모리의 전체를 상기 설정된 상대적인 사이트들을 갖는 HARQ 버퍼 파티션들의 상기 설정된 수로 할당하는 단계를 포함한다. 각 파티션은 상기 HARQ 프로세스들의 수와 동일한 서브 파티션들을 갖고, 상기 미리 분할하는 단계는, 활성 컴포넌트 캐리어들의 수가 변화할 때, 상기 HARQ 프로세스들의 수 그리고/또는 사이즈가 변화할 때, 전송 모드가 변화할 때, 그리고 HARQ 프로세싱이 개시될 때 중 적어도 하나의 때에 수행된다.
본 발명의 실시 예들에 따른 사용자 장치의 다운링크 하이브리드 자동 반복 요청(HARQ, Hybrid Automatic Repeat reQuest) 버퍼를 할당하는 방법은, HARQ 버퍼에 사용 가능한 내부 메모리 대 상기 HARQ 버퍼에 사용 가능한 외부 메모리의 비율을 결정하는 단계, 그리고 상기 HARQ 버퍼의 각 파티션 및 서브 파티션을 상기 내부 메모리 및 상기 외부 메모리에서 상기 결정된 비율에 따라 할당하는 단계를 포함한다.
본 발명의 실시 예들에 따른 사용자 장치를 위한 모뎀 칩은, 상기 사용자 장치에 할당된 활성 컴포넌트 캐리어들 중에서 적어도 하나가 변화할 때에, HARQ 프로세스들의 개수 그리고/또는 사이즈가 변화할 때에, 전송 모드가 변화할 때에, 그리고 HARQ 프로세싱이 개시될 때 중 적어도 하나의 때에, 미리 분할을 수행하는 다운링크 하이브리드 자동 반복 요청(HARQ, Hybrid Automatic Repeat reQuest) 버퍼 제어기를 포함한다. 상기 미리 분할은, 파티션들의 수를 활성 컴포넌트 캐리어들의 수와 동일하게 설정하는 단계, 상기 파티션들의 상대적인 사이즈들을 대응하는 컴포넌트 캐리어들의 용량에 비례하게 설정하는 단계, 하나 또는 그보다 많은 기준을 이용하여 각 파티션에 대한 압축 레벨들 및 HARQ 프로세스들의 수를 선택하는 단계, 그리고 HARQ 버퍼 메모리의 전체를 상기 설정된 상대적인 사이트들을 갖는 HARQ 버퍼 파티션들의 상기 설정된 수로 할당하는 단계에 의해 수행된다. 각 파티션은 상기 HARQ 프로세스들의 수와 동일한 서브 파티션들을 갖는다.
본 발명의 실시 예들에 따른 사용자 장치를 위한 모뎀 칩은, 버스에 대한 연결, 내부 메모리, 그리고 다운링크 하이브리드 자동 반복 요청(HARQ, Hybrid Automatic Repeat reQuest) 버퍼 제어기를 포함한다. 상기 HARQ 버퍼 제어기는, HARQ 버퍼에 사용 가능한 상기 내부 메모리 대 상기 HARQ 버퍼에 사용 가능한 외부 메모리의 비율을 결정하고, 그리고 상기 HARQ 버퍼의 각 파티션 및 서브 파티션을 상기 내부 메모리 및 상기 외부 메모리에서 상기 결정된 비율에 따라 할당한다.
본 발명의 실시 예들은, 활성 컴포넌트 캐리어들의 용량들 및 수에 따라 사용자 장치의 다운링크 HARQ 버퍼 메모리의 전체 공간을 미리 분할함으로써, 그리고 사용자 장치의 다운링크 HARQ 버퍼를 온-칩 및 오프-칩 메모리 사이에서 최적의 비율로 분할함으로써, 효과적으로 효율적인 사용자 장치의 다운링크 HARQ 버퍼 메모리 관리에 대한 장치들(사용자 장치들 및 사용자 장치를 위한 모뎀 칩들을 포함하지만 한정되지 않는), 시스템들, 그리고 방법들을 제공한다. 각 파티션 및 서브파티션은 최적 비율에 따라 온-칩 및 오프-칩 메모리들 사이에서 할당된다.
본 발명의 실시 예들에 따르면, 메모리 조각화로부터 자유롭고, 모든 서브프레임에 대해 메모리 재분할이 필요하지 않은, 더 효율적인 메모리 관리 스킴이 사용자 장치(UE)의 다운링크(DL) HARQ 버퍼에 대해 제공된다.
본 발명의 실시 예들의 상술된 그리고 다른 측면들, 특징들, 그리고 장점들이 첨부의 도면들을 참조하여 더 상세하게 설명된다.
도 1a는 본 발명의 실시 예들에 따른 초기 인접 HARQ 메모리 할당의 방법을 보여주는 순서도이다.
도 1b는 본 발명의 실시 예들에 따른 전역 HARQ 메모리 최적화의 순서도이다.
도 2a는 본 발명의 실시 예들에 따른 HARQ 버퍼 메모리 분할 방법의 순서도이다.
도 2b는 본 발명의 실시 예들에 따라 내부 HARQ 메모리 및 외부 HARQ 메모리 사이에서 분할되는 수송 블록을 보여준다.
도 3은 본 발명의 실시 예들에 따라 두 개의 코드 블록들을 저장할 수 있는 스크래치 버퍼의 동작들을 보여주는 개념도이다.
도 4는 본 발명의 실시 예들에 따른 스크래치 버퍼를 구비한 HARQ 메모리 장치의 블록도이다.
도 5는 인접 HARQ 메모리 할당을 HARQ 메모리 분할과 결합하는 본 발명의 실시 예의 순서도이다.
본 발명의 다양한 실시 예들이 첨부된 도면들을 참조하여 설명된다. 아래의 설명에서, 상세한 구성 및 구성 요소들과 같은 구체적인 상세가 본 발명의 실시 예들의 이해를 돕기 위하여 제공된다. 본 발명의 실시 예들의 다양한 변경 및 응용이 본 발명의 기술적 사상으로부터 괴리되지 않고 이루어질 수 있음이 이 분야에 통상적인 기술을 가진 자들에게 자명할 것이다. 또한, 잘 알려진 기능들 및 구조들의 설명은 간결한 설명을 위하여 생략된다.
다양한 실시 예들은 하나 또는 그보다 많은 구성 요소들을 포함한다. 구성 요소는 특정한 동작을 수행하도록 배치된 구조를 포함한다. 실시 예들이 예시적은 방법으로 특정한 배치에서 한정된 수의 구성 요소들로 설명되나, 실시 예들은 주어진 구현에 대한 필요에 따라 다른 배치에서 더 많거나 더 적은 수의 구성 요소들을 포함할 수 있다. '실시 예'는 해당 실시 예가 포함된 적어도 하나의 실시 예와 연관하여 설명된 구체적인 특징, 구조 또는 특성을 의미하는 것으로 해석된다. '예시적으로' 또는 '실시 예로서'의 표현은 동일한 실시 예를 참조하는 것으로 한정되지 않는다.
본 발명의 실시 예들에 따른 인접 HARQ (Hybrid Automatic Repeat reQuest) 메모리 할당은, 활성 다운링크(DL) 컴포넌트 캐리어들(CC, component carriers)의 용량들에 따라 사용자 장치(UE, User Equipment)의 다운링크(DL, downlink)의 HARQ 버퍼를 미리 분할한다. 이후에, 각 파티션에 대한 압출 레벨들 및 각 파티션 내의 서브 파티션들의 수 및 사이즈들을 선택하기 위해 최적화가 수행된다. 전체 HARQ 버퍼 메모리가 할당된다. 이러한 메모리 할당을 사용하는 HARQ 프로세싱은 전송 모드 그리고/또는 활성 컴포넌트 캐리어들(CC)의 수 그리고/또는 대역폭이 변화할 때까지 지속되고, 이 때에 인접 HARQ 메모리 할당이 다시 수행된다. HARQ 버퍼에 저장된 활성 데이터(예를 들어, 활성 HARQ 프로세스의 수송 블록)이 존재할 때에 인접 HARQ 메모리 할당이 수행되면, 끊김없는 HARQ 재분할이 수행되어 데이터의 손실 없음이 보장된다.
본 발명의 실시 예들에 따른 HARQ 메모리 분할은 온-칩 및 오프-칩 메모리 사이에서 효율적이고 효과적으로 사용자 장치(UE)의 다운링크(DL) HARQ 버퍼를 할당하는 방법들, 시스템들 및 장치들을 제공한다. 본 발명의 실시 예들에 따른 HARQ 메모리분할은 HARQ 프로세스들을 온-칩 또는 오프-칩 중 하나에 할당하지 않고, 각 HARQ 프로세스(또는 각 HARQ 프로세스의 각 수송 블록)을 온-칩 및 오프-칩 메모리 사이에서 분할한다. HARQ 프로세스가 중지하는 것을 방지하기 위하여, 스크래치 버퍼(scratch buffer)가 온-칩에 제공된다.
본 발명의 실시 예들로부터 초래되는 장점들의 일부는 다음과 같다.
- 사용자 장치(UE)의 다운링크(DL) HARQ 버퍼에 더 적은 칩 면적이 필요함
- 사용자 자치(UE)의 다운링크(DL) HARQ 버퍼 동작들에 의해 더 적은 전력이 소비됨
- 비동기 HARQ 수신의 필요 조건들을 만족하며 외부 버퍼에 오프로드 HARQ 메모리를 제공
- 더 효율적인 HARQ 메모리 관리 및 HARQ 메모리의 채용을 통한 더 많은 프로세스들의 저장에 의한 더 높은 데이터 스루풋의 달성
- 새로 수신되는 프로세스들에 따라 동적으로 HARQ 메모리를 재할당하고 재분할하는 데에 필요한 복잡한 링크드 리스트 메모리 관리의 회피
- HARQ 프로세스들의 비동기 속성으로 인해 다음 수신될 프로세스의 지식의 부재로 인한 HARQ 결합 중지의 회피
본 발명의 실시 예들에 따른 인접(contiguous) HARQ 메모리 할당 및 HARQ 메모리 분할은 함께 또는 개별적으로 구현될 수 있다. 설명의 편의를 위하여, 인접 HARQ 메모리 할당은 첫 번째로 개별적으로 설명되고, 이후에 HARQ 메모리 분할, 그리고 끝으로 둘 모두를 채용한 방법이 설명된다.
Ⅰ. 인접 HARQ 메모리 할당
상술된 바와 같이, 사용자 장치(UE)는 다중 컴포넌트 캐리어들(CC)에 할당될 수 있다. 다중 컴포넌트 캐리어들(CC) 각각은 상이한 수의 병렬 HARQ 프로세스들을 가질 수 있다. HARQ 프로세스들 각각은 다른 사이즈를 가질 수 있다. 새로운 HARQ 프로세스가 수신되는 때에, 통상적인 HARQ 버퍼 메모리 할당 시스템은HARQ 버퍼 메모리에서 빈 공간을 검색하여 새로 수신되는 프로세스를 할당하고, 이는 메모리 조각화(또는 파편화), 미사용 메모리 및 비효율을 유발한다.
본 발명의 실시 예들에서, 전체 HARQ 버퍼는 미리 분할된다. 논리적 HARQ 버퍼 파티션들의 수는 사용자 장치(UE)에 할당된 컴포넌트 캐리어들(CC)의 수와 동일하게 설정된다. 각 파티션의 사이즈들은 대응하는 컴포넌트 캐리어들(CC)의 용량, 예를 들어 컴포넌트 캐리어들(CC)에서 가용한 병렬 HARQ 프로세스들의 수, 컴포넌트 캐리어들(CC)에 할당된 대역폭, HARQ 프로세스 당 전송되는 수송 블록들(TB, Transport Blocks)의 수, 전송 모드(또는, 더 정확하게는, 전송 모드로 인해 가용한 사이즈들 및 수들) 등에 기반하여 초기에 설정된다. 예시적으로, 각 파티션의 사이즈는 각 전송 모드의 표준의 요구에 따라, 대응하는 컴포넌트 캐리어들(CC)에 대한 HARQ 프로세스들의 최소 개수를 저장하는 데에 필요한 사이즈에 비례하게 설정될 수 있다. HARQ 프로세스들 각각은 최대 대역폭 할당 및 전송 모드에 의해 결정되는 가용한 최대 수송 블록 할당을 갖는다. 실제 수송 블록 할당은 수신 장치의 채널 품질 및 다중 사용자 스케줄러에 의해 결정되며 장치에 할당되는 대역폭의 부분(fraction)을 포함하는 다양한 요인들에 기반할 수 있다. 다른 예로서, 논리적 HARQ 파티션들의 개수 및 사이즈는 동작 전송 모드에서 허용되는 HARQ 프로세스들의 최대 개수 및 각 HARQ 프로세스의 최대 사이즈에 따라 초기에 설정될 수 있다.
이후에, 적어도 압축 레벨들 및 각 파티션에 대한 서브 파티션들의 수의 선택을 유발하는 전체적인 HARQ 버퍼 최적화가 수행된다. 실시 예에 따라, 논리적 HARQ 파티션들/서브 파티션들의 개수/사이즈 그리고/또는 논리적 HARQ 파티션들/서브 파티션들 각각, 일부 또는 모두에 대한 압축/변환 스킴은 자원의 사용 그리고/또는 소비를 최적화하도록 응용될 수 있다. 미리 분할한 후에, 파티션들 전부의 통합된 사이즈는 HARQ 버퍼에 대해 가용한 메모리 전체의 사이즈와 동일하고, 각 파티션에서 서브 파티션들 전부의 통합된 사이즈는 해당 파티션의 전체 메모리와 동일하다. 즉, HARQ 버퍼는 초기화 시에 완전히 할당된다. 이 모든 것이 완료되면, 버퍼 할당 테이블을 연산함으로써 메모리가 실제로 할당된다.
예시적으로, 전체적인 HARQ 버퍼 최적화는, 버퍼 점유(즉, 가가 파티션에 쌓는) 를 최대화하고 각 컴포넌트 캐리어(CC)에 대한 HARQ 프로세스들의 최소 개수를 보정하면서, 컴포넌트 캐리어들(CC)(또는 파티션들) 각각에 대한 압축 레벨들 및 각 컴포넌트 캐리어(CC)에 저장될 HARQ 프로세스들의 수(즉, 각 파티션의 버스 파티션들의 수)를 연대하여 최적화한다. 압축 레벨 및 HARQ 프로세스들(또는 서브 파티션들)의 수는, HARQ 버퍼의 사용을 최대화하고 미사용 메모리를 최소화하는 규칙과 함께, HARQ 버퍼에 저장된 HARQ 프로세스들의 가장 많은 수에 기반하여 각 파티션/컴포넌트 캐리어(CC)에 대해 선택될 수 있다. 다른 예로서, 서브 파티션들의 수는 동시에 저장될 수 있는 컴포넌트 캐리어들(CC)의 HARQ 프로세스들의 수와 동일할 수 있다.
도 1a는 본 발명의 실시 예들에 따른 초기 인접 HARQ 메모리 할당의 방법을 보여주는 순서도이다. 103 단계에서, HARQ 버퍼 파티션들의 수가 사용자 장치(UE)에 할당된 컴포넌트 캐리어들(CC)의 수로 설정된다. 107 단계에서, 각 파티션의 초기 사이즈가 대응하는 컴포넌트 캐리어에 대한 HARQ 프로세스들의 최소 필요 개수를 저장하는 데에 필요한 사이즈에 비례하게 설정된다. 각 HARQ 프로세스는 수송 블록들(TB)의 가용한 최대 할당을 가질 수 있다. 수송 블록들(TB)의 최대 개수는 캐리어 대역폭에 의존한다.
110 단계에서, (i) 각 파티션/컴포넌트 캐리어(CC)에 대한 최적의 압축 레벨 및 (ii) 각 파티션/컴포넌트 캐리어(CC)에 저장되는 HARQ 프로세스들의 최적의 개수가 선택된다. 실시 예로서, 각 파티션/컴포넌트 캐리어들(CC)에 대한 압축 레벨들 및 HARQ 프로세스들의 수는, 파티션/컴포넌트 캐리어(CC) 당 저장되는 HARQ 프로세스들의 전체 개수 및 HARQ 버퍼 점유를 최대화하도록 연대하여 최적화한다. 물론, 캐리어 당 저장된 프로세스들의 필요한 최소 개수 또한 보장된다. 압축 레벨들 및 파티션/컴포넌트 캐리어(CC) 당 HARQ 프로세스들의 개수의 두 개의 상이한 조합들이 동일한 (그리고 가장 큰) HARQ 프로세스들의 통합 개수를 도출하면, 가장 큰 HARQ 버퍼 점유 및 프라이머리(primary) 캐리어에 대한 더 큰 할당을 갖는 조합이 선택된다.
아래에 후술되는 도 1b는 본 발명의 실시 예들에 따라 도 1a의 103/107/110 단계들로 수행될 수 있는 전역 최적화의 방법의 순서도이다.
115 단계에서, HARQ 버퍼의 메모리 할당이 이전 계산들에 기반하여 수행된다. 103 단계에서 계산된 개수의 파티션들이 107 단계에서 계산된 사이즈들을 갖고 할당된다. 각 파티션은 110 단계에서 계산된 HARQ 프로세스들의 최적의 개수로 할당된다. 실시 예로서, 각 파티션은 HARQ 프로세스들의 결정된 최적의 개수들에 의해 균등하게 분할되고, 서브 파티션들 모두는 동일한 사이즈를 가질 수 있다. 다른 예로서, 서브 파티션들의 사이즈들은 파티션 내에서 가변적이며, 최적화의 일부에 따라 선택될 수 있다.
도 1a에 도시된 바와 같이, HARQ 버퍼 메모리 할당이 HARQ 프로세싱 도중에 수행되면, 즉 HARQ 프로세싱 할당이 실질적으로 컴포넌트 캐리어들(CC)의 활성화 또는 비활성화로 인한 재할당이면, 115 단계 및 117 단계 모두에서 끊김없는 HARQ 재분할 또는 재할당이 수행된다. 현재 할당된 HARQ 버퍼는 유지되어야 하는 "살아있는(live)" HARQ 프로세스들의 수송 블록들을 가질 가능성이 높으므로, 115 단계에서 새로운 할당은 이를 고려한다. 끊김없는 HARQ 재할당으로, 115 단계에서 새로운 할당에 따른 새로운 메모리 맵은 "살아있는" HARQ 프로세스들이 우선 새로운 위치들로 이동하도록 설계된다. 이러한 새로운 메모리 위치들과 기존의 메모리 위치들이 중복되지 않아야 한다는 요구는, 아래에서 117 단계를 참조하여 더 상세하게 설명된다. 115 단계에서 끝으로, 버퍼 할당 테이블이 계산된다.
117 단계는 101, 107, 110 및 115 단계들이 수행될 때 활성 컴포넌트 캐리어들(CC)이 이미 '살아있는' 데이터를 갖는 파티션들을 갖는 경우(동작 시간 동안의 대부분의 경우)에만 수행됨을 가리키기 위하여 점선의 박스도 도시되어 있다. 상술된 바와 같이, 본 발명의 실시 예들에 따르면, 끊김없는 HARQ 버퍼 재할당(또는 재분할)이 115 단계 및 117 단계에서 수행되어, 기존 파티션들의 '살아있는' 데이터가 보존된다. 117 단계에서, 기존 HARQ 프로세스들은 HARQ 버퍼로부터 읽히고, 새로운 HARQ 메모리 할당이 요구하면 수정되고, 새로 할당된 메모리 위치들에 가장 먼저(즉, 새로운 HARQ 프로세스들이 저장되기 전에) 저장된다. 따라서, 117 단계는 정규적인 HARQ 프로세싱이 지속(도 1a에서 회색으로 표시된)되기 전에 수행된다. 정규적인 HARQ 프로세싱이 지속되면, 117 단계 이후에, 새로운 HARQ 프로세스들이 저장되고, 새로운 HARQ 버퍼 메모리 할당 스킴에 따라 기존의 파티션들/메모리 할당들이 재할당/재분할된다. 다시 말하면, 새로운 HARQ 버퍼 메모리 할당 스킴에 따라 기존의 위치들의 '살아있는' 콘텐츠가 새로운 위치들에 저장된 후에, 새로운 HARQ 버퍼 메모리 할당 스킴에 따라 기존의 메모리 위치들은 유효적으로 소거되고 대체된다. '지속'의 용어가 사용되었지만, 이는 103, 107, 110 및 115 단계들 또는 부가적으로 117 단계가 수행되는 동안 HARQ 프로세싱이 필요적으로 중단됨을 의미하지 않으며, 이들 동작들이 병렬적으로 또는 당업자에 의해 이해되는 바에 따라 지속적인 프로세싱을 허용하도록 구현됨으로 해석되어야 한다.
115 단계에서 사용자 장치(UE)의 다운링크(DL) HARQ 버퍼 메모리가 할당되면(그리고 필요한 경우 117 단계가 수행되면), 사용자 장치(UE)는 110 단계에서 각 컴포넌트 캐리어(CC)에 대해 선택된 최적의 레벨들에 따라 압축되어 수신되는 수송 블록들(TB)의 HARQ 프로세싱을 수행한다. 도 1a의 103, 107, 110 및 115 단계들에서 결정된 초기의 인접 HARQ 메모리 할당은, 전송 모드의 변경, 캐리어 활성/비활성 그리고/또는 대역폭 재할당 등에 의해 변경될 수 있는 사용자 장치(UE)에 할당된 대역폭, 사용자 장치(UE)에 할당된 컴포넌트 캐리어들(CC)의 수, HARQ 프로세스들의 개수 또는 최대 사이즈에 변화가 없는 한 유지된다.
도 1a의 결정 마름모(120)에 의해 도시되는 바와 같이, 103, 107, 110 및 115 단계들에서 사용자 장치(UE)에 할당된 대역폭, 사용자 장치(UE)에 할당된 컴포넌트 캐리어들(CC)의 수, HARQ 프로세스들의 개수 또는 최대 사이즈에 변화가 있으면, HARQ 메모리 버퍼의 개시 및 할당이 다시 수행된다.
예시적으로, 옵션인 도 1a의 112A 및 122B 단계들에 도시된 바와 같이, 다양한 수정들이 103, 107, 110 및 115 단계들 또는 부가적으로 117 단계의 재개시/재할당을 수행하는 것을 필요로 하지 않고 HARQ 프로세싱 도중에 HARQ 버퍼 메모리 할당을 적응적으로 만들 수 있다.
옵션인 122A 단계는 결정 마름모(120)로부터의 '아니오' 루프 상의 위치에 도시된 바와 같이, 정상 HARQ 프로세싱 도중(즉, 대역폭, 컴포넌트 캐리어들(CC)의 수 등에 변화가 없는 경우에)에 수행된다. 옵션인 122A 단계는, 예시적으로, 수신된 각 서브프레임에 대해 다음을 수행하는 것을 포함한다. 스케줄된 수송 블록(TB)이 연관된 HARQ 프로세스의 최대 사이즈(즉, 서브 파티션의 사이즈)보다 작으면, 수송 블록(TB)이 서브 파티션을 모두 점유하도록 압축 변환이 변경된다. 이 방법으로, HARQ 프로세스는 더 충실하게 저장되며, 결합 이득 향상이 실현된다.
옵션인 122B 단계는 결정 마름모(120)로부터의 '예'의 루프 상에 도시된 바와 같이, 대역폭, 사용자 장치(UE)에 할당된 컴포넌트 캐리어들(CC)의 수, HARQ 프로세스들의 개수 또는 최대 사이즈에 변화가 있는 때에 수행된다. 예시적으로, 옵션인 122B 단계는 컴포넌트 캐리어(CC)에서 HARQ 프로세스들의 수가 해당 컴포넌트 캐리어(CC)에 할당된 서브 파티션들의 수룰 초과하는 때에 수행된다. 예를 들어, 해당 컴포넌트 캐리어(CC)의 프로세스에 대응하는 각 서브 프레임, 각 캐리어 및 각 수송 블록(TB)에 대해, 디코딩 결과 및 에러 검출 결과가 수송 블록(TB)이 올바름을 가리키면, 해당 수송 블록(TB)에 대응하는 메모리 서브 파티션은 가용한 것으로 표시된다. 그리고, HARQ 버퍼에서 할당된 서브 파티션을 갖지 않는 캐리어 내의 수신된 각 프로세스가 서브 파티션 사이즈들을 변경하지 않고 가용한 메모리 서브 파티션들 중 하나에 할당된다. 물론, 해당 서브 파티션은 점유된 것으로 표시된다. 서브 파티션과 연관되지 않은 수송 블록(TB)이 수신되고 가용한 서브 파티션이 존재하지 않으면, 수신된 수송 블록(TB)은 디코딩되고, 에러가 체크되지만, 이후의 가능한 결합을 이해 저장되지 않는다. 다른 예로서, 컴포넌트 캐리어(CC) 내의 HARQ 프로세스들의 수가 컴포넌트 캐리어(CC)에 할당된 서브 파티션들의 수를 초과하면, 기존 서브 파티션들의 압축 레벨들이 증가되고, 다른 서브 파티션들을 위한 충분한 공간이 생성될 수 있다. 이러한 예에서, 재할당을 수행할 필요 없이, 즉 103, 107, 110 및 115 단계들 또는 부가적은 117 단계를 반복하지 않고, 파티션들이 유지되는 동안 각 파티션에서 서브 파티션들의 수가 시간의 흐름에 따라 변경될 수 있다.
도 1b는 도 1a의 103/107/110 단계들의 가능한 구현의 순서도이다. 도 상세하게는, 도 1b는 본 발명의 실시 예들에 따른 전역 HARQ 메모리 최적화의 순서도이다. 도 1b의 103-A 단계에서, 컴포넌트 캐리어들(CC)의 수(N)가 판별된다. 107-A 단계에서, 각 컴포넌트 캐리어(C_i)의 대역폭(B_i), 컴포넌트 캐리어(CC) 당 코드 블록들의 최대 수(C_i), 그리고 컴포넌트 캐리어(CC) 당 HARQ 프로세스들의 수(M_i)가 판별된다. 107-B 단계에서, HARQ 버퍼가 N개의 파티션들로 초기화된다. 각 파티션의 사이즈는 대응하는 컴포넌트 캐리어(CC)의 최대 대역폭에 상대적으로 비례하며(N_cb*C_i*M_i), N_cb는 코드 블록 당 저장될 비트들의 수를 가리킨다. 110-010 단계에서, 압축 모드들의 수의 N승의 길이(L)의 모든 압축 모드들의 리스트가 생성된다.
110-022/110-023/110-025/110-027/110-029 단계들에서, 설정 규칙에 따르는 유효한 모든 압축 모드들의 리스트를 생성하기 위하여, 가용한 모든 압축 모드들을 통해 루프가 진행한다. 110-021 단계에서, 변수(j)가 1로 초기화된다. 110-022 단계에서, 변수(j)가 압축 모드들 모두의 길이(L)와 같거나 그보다 작은지 판별된다. 110-023 단계에서, 110-010 단계를 통해 생성된 압축 모드들의 리스트로부터 j번째 압축 모드가 선택되어, j번째 압축 레벨로 i번째 컴포넌트 캐리어/파티션(i의 범위는 1 내지 N)에 저장될 수 있는 HARQ 프로세스들의 개수(m_ji)가 계산된다.
110-025 단계에서, 110-013 단계를 통해 계산된 j번째 압축 레벨에서 i번째 컴포넌트 캐리어(CC)/파티션에 저장될 수 있는 HARQ 프로세스들의 개수(m_ji)가, M_i 및 8 중에서 가장 작은 수(min{M_i, 8})에 해당하는, i번째 컴포넌트 캐리어(CC)/파티션에 대해 필요한 HARQ 프로세스들의 최소 개수와 같거나 그보다 큰지 판별된다. 이는, i번째 컴포넌트 캐리어(CC)/파티션에 대해 각각 수행되며, i는 1 내지 N의 범위에 속한다. HARQ 프로세스들의 계산된 개수(m_ji)가 i번째 컴포넌트 캐리어(CC)/파티션에서 필요한 HARQ 프로세스들의 최소 개수와 같거나 그보다 크면, j번째 압축 모드는 유효하며, 따라서 110-027 단계에서 유효한 압축 리스트에 추가된다. 110-027 단계 이후에, 또는 110-025 단계에서 HARQ 프로세스들의 계산된 개수(m_ji)가 i번째 컴포넌트 캐리어(CC)/파티션에서 필요한 HARQ 프로세스들의 최소 개수보다 작으면, 110-029 단계에서 변수(j)가 1 증가되고, 110-022 단계가 수행된다.
프로세스가 중지되면, 즉 110-022 단계에서 변수(j)가 길이(L)보다 커지면, 110-030 단게에서, 유효한 압축 모드 리스트로부터 저장되는 HARQ 프로세스들의 개수 및 HARQ 버퍼 점유를 최대화하는 압축 모드가 선택된다.
도 1b를 참조하여 설명된 실시 예에서, HARQ 메모리 활용을 최대화하고 HARQ 결합 효율을 최대화하는 HARQ 메모리 분할의 전역 최적화가 제공된다. 전역 최적화는 HARQ 버퍼에 저장되는 HARQ 프로세스들의 개수를 최대화하는 압축 레벨들의 조합을 모든 파티션들에 걸쳐 검색하는 것에 의해 수행된다. 그러나, 일부 컴포넌트 캐리어들(CC)은 더 적은 수의 파티션들 그리고/또는 더 높은 압축 레벨들과 할당되어 더 낮은 HARQ 결합 효율을 유발하므로, 전역 최적화는 더 적은 수의 HARQ 프로세스들 또는 서브프레임당 비트 수를 갖는 일부 컴포넌트 캐리어들(CC)의 비용을 통해 더 많은 HARQ 프로세스들 또는 서브프레임 당 비트 수들을 갖는 유리한 컴포넌트 캐리어들(CC)을 유발할 수 있다. 다른 실시 예는 컴포넌트 캐리어들(CC)에 걸쳐 파티션들을 균일하게 할당하고 압축 레벨을 지역적으로 최적화하여, 각 컴포넌트 캐리어(CC)에 대한 HARQ 결합 효율을 최대화하고 대응하는 메모리 파티션의 버퍼 활용을 최대화할 수 있다. 이 예에서, 110 단계의 최적화는 전역 최적화 절차, 지역 최적화 절차 또는 이들의 조합에 따라 각 파티션에 대해 비트 압축 변환을 선택하는 것을 포함할 수 있다. 최적화 이후에 각 파티션에 대해 이러한 할당의 버퍼 점유가 100%보다 적은 경우, 파티션의 압축 모드를 변경하지 않고 파티션에 할당된 미사용 메모리가 HARQ 프로세스들을 드롭(drop)하는 다른 캐리어에 할당될 수 있다. 드롭되는 프로세스들이 존재하지 않으면, 남겨진 전체 메모리가 논리적으로 다른 파티션에 재할당 및 통합되어 캐리어의 HARQ 효율을 향상시킬 수 있다.
상술된 바와 같이, HARQ 프로세싱 도중에, 컴포넌트 캐리어들(CC)의 HARQ 프로세스들의 수는 프로세스들의 필요한 최소 개수를 초과할 수 있다. 즉, HARQ 프로세스들의 개수는 LTE-어드밴스 표순 스펙에 따라 사용자 장치(UE)에 의해 저장될 필요가 있는 최소 개수보다 클 수 있다. 이러한 경우, 추가 프로세스들이 HARQ 결합 이득을 제공하고 더 높은 데이터 스루풋 및 더 나은 동작 성능을 제공함에도, 추가 프로세스들에 대해 메모리라 할당되지 않을 수 있다. 달리, HARQ 제어기는 각 서브 파티션이 더 적은 메모리를 필요로 하도록 더 강력한 압축으로 로그 우도비(LLR)의 소프트 비트들을 변환함으로써 더 많은 HARQ 프로세스들을 저장하는 것을 선택할 수 있다. 상술된 스킴은 각 캐리어에 대한 압축 레벨들을 연대하여 최적화하며, 상이한 컴포넌트 캐리어들(CC)은 상이한 압축 레벨들을 사용할 수 있다.
Ⅱ. HARQ 메모리 분할
HAQR 메모리가 온-칩(내부) 메모리 및 오프-칩(외부) 메모리로 분할될 때에, 여러 가지 도전들이 존재한다. 한 가지 도전은 다운링크(DL) HARQ 프로세스들의 비동기 특성으로 인한 하드웨어의 엄격한 타이밍이다. 또한, 재전송된 수송 블록이 수신될 때에, 해당 프로세스에 대해 HARQ 결합 동작을 수행하기 위한 제한된 시간 구간이 존재한다. 또 다른 도전은, 각 HARQ 프로세스가 HARQ 결합 동작 이전에 내부적으로 가용해야 한다는 점이다. 그러나, 일부 HARQ 프로세스들이 내부 메모리에 저장되고 다른 HARQ 프로세스들이 외부 메모리에 저장(즉, 버스를 통한 읽기/쓰기가 필요)된 때에, HARQ 프로세스들은 필요한 때에 즉시 가용하지 않으며, 시간 요구에 부합하는 것에 실패하거나 또는 적어도 HARQ 결합 효율의 손실을 유발할 수 있다.
HARQ 버퍼를 본 발명의 실시 예들에 따라 온-칩 및 오프-칩 사이에 분할할 때에, 각 HARQ 프로세스가 분할된다. 즉, HARQ 프로세스의 일부는 내부적으로 저장되고, 각 HARQ 프로세스의 다른 일부는 외부적으로 저장된다. 후술되는 실시 예들에서, HARQ 프로세스 내의 각 수송 블록은 온-칩 및 오프-칩 메모리 사이에서 분할된다. 수술되는 실시 예들의 일부는 두 개의 메모리들(온-칩 메모리 및 오프-칩 메모리) 사이에서 분할되는 사용자 장치(UE)의 다운링크(DL) HARQ 버퍼를 구비하지만, 본 발명은 다중 온-칩 그리고/또는 오프-칩 메모리들이 포함된 상황에도 동일하게 적용될 수 있다. 예를 들어, 두 개의 외부 메모리들을 사용하는 예에서, 수송 블록은 세 개로 분할되고, 가장 큰 레이턴시를 갖는 외부 메모리가 수송 블록의 가장 마지막을 저장함으로써, 이러한 코드 블록들은 HARQ 결합기로 전송되는 가장 큰 시간을 갖는다(즉, 수송 블록의 앞선 두 부분들이 결합되는 동안의 시간).
도 2a는 본 발명의 실시 예들에 따른 HARQ 버퍼 메모리 분할 방법의 순서도이다. 210 단계에서, HARQ 버퍼를 내부 및 외부 메모리 사이에서 분할할지 판별된다. 이 단계는 실제로 어느 때에나 발생할 수 있으며, 판별은 임의의 규칙에 기반할 수 있다. 예시적으로, 210 단계는 초기 HARQ 버퍼 메모리 할당 시에 발생할 수 있으며, 판별은 온-칩 메모리가 필요한 HARQ 프로세스들에 적합한 충분히 큰 큰지에 기반할 수 있다. 다른 예로서, 이 단계는 정규 HARQ 프로세스 도중에 발생할 수 있으며, 모바일 장치의 하나 또는 그보다 많은 현재 동작 상태들, 전체 시스템의 현재 동작 상태들, 모바일 장치의 전력/자원 관리 스킴 등의 하나 또는 그보다 많은 것들에 기반할 수 있다. 다른 예로서, HARQ 버퍼를 분할할지의 판별은, 모든 HARQ 프로세스들을, 결과적인 서브 파티션들의 전채 개수 등을 내부 메모리에 저장(최대 스루풋으로) 하는 데에 필요한 압축 기술들, 그리고/또는 휴리스틱 모델들에 의존할 수 있다. 예시적으로, 이 단계는 HARQ 프로세스가 활성화될 때, 비활성화될 때, 메모리 요구가 변화할 때 등에 언제든지 발생할 수 있다. 다른 예로서, 기본 설정은 HARQ 버퍼 메모리 분할이며, 210 단계는 존재하지 않고, 코드 블록, 수송 블록, HARQ 프로세스, 컴포넌트 캐리어들(CC)/파티션, 그리고/또는 전체 HARQ 버퍼를 온-칩으로 저장할 지를 판별하는 다른 단계가 제공될 수 있다.
도 2a에 도시된 실시 예에서, 단계들은 HARQ 버퍼 메모리 할당 도중에 발생할 수 있으며, 210 단계는 HARQ 프로세스들 전부가 주어진 캐리어 어그리게이션 및 대역폭 결합에서 내부 메모리에 저장될 수 있는지에 의존할 수 있다. HARQ 프로세스들 전부가 내부 메모리에 저장될 수 있으면(210 단계의 아니오), HARQ 버퍼 메모리 할당은 내부 메모리만을 이용하여 지속될 수 있다. HARQ 프로세스들 모두가 내부 메모리에 저장될 수 없으면, 분할이 필요한 것으로 판별되고(210 단계의 예), 220 단계가 수행된다.
220 단계에서, HARQ 프로세스들 모두를 저장하는 데에 필요한 추가 외부 메모리가 계산된다. 이러한 계산은 현재 대역폭 및 캐리어 어그리게이션 할당에서 가능한 최대 스루풋을 가정하여 수행된다. 다른 예로서, 다른 가정들이 사용되고, 외부 메모리 용량이 제한되고, 외부 메모리가 정해진 값 또는 적응적일 수 있고, 동작 상태 등에 의존할 수 있다. 다른 예로서, 220 단계의 계산은, 가용한 외부 메모리(하나보다 많은 외부 메모리가 사용되고 그리고/또는 메모리가 다중 용도인 경우를 가정), 가용한 압축 스킴들, 모바일 장치의 현재 동작 상태들, 전체 시스템의 현재 동작 상태들, 모바일 장치의 전력/자원 관리 스킴 등과 같은 요인들을 포함하여 더 복잡할 수 있다. 대부분의 경우, 210 단계에서 분할의 원인은 220 단계에서 계산/판별에 의해 생성되는 것과 직접적으로 연관된다.
230 단계에서, 내부 메모리 대 필요한 외부 메모리의 비율이 계산된다. 계산된 비율은 220 단계에서 계산된 것에 의존하며, 실시 예들 또는 구현들에 따라 변경될 수 있다. 다른 예로서, 비율은 미리 정해지거나, 이산 값들의 집합으로 제한되거나, 값들의 범위 내로 제한될 수 있다. 예시적으로, 비율은 적어도 부분적으로 가용한 외부 메모리의 총량(하나보다 많은 외부 메모리가 사용되고 그리고/또는 다중 용도임을 가정하여), 가용한 압축 스킴들, 모바일 장치의 현재 동작 조건들, 전체 시스템의 현재 동작 조건들, 모바일 장치의 전력/자원 관리 스킴 등에서 하나 또는 그보다 많은 것들에 의존할 수 있다.
240 단계에서, 메모리 할당은 230 단계를 통해 계산된 비율에 따라 분할된다. 따라서, 오프-칩 메모리의 파티션들 및 서브 파티션들은, 온-칩 메모리의 파티션들 및 서브 파티션들과 비교하여, 동일한 분할들 및 동일한 상대적인 비율들을 갖고 서로 다른 절대 사이즈들을 가질 수 있다. 계산된 비율이 'Y%:1-Y%'이면, HARQ 버퍼의 전체 온-칩 사이즈는 HARQ 버퍼의 전체 오프-칩 사이즈에 대해 'Y%:1-Y%'의 비율을 가질 수 있고, 온-칩 부분의 각 파티션은 오프-칩 부분의 각 파티션에 대해 'Y%:1-Y%'의 비율을 가질 수 있고, 온-칩 부분의 각 서브 파티션은 오프-칩 부분의 각 서브 파티션에 대해 'Y%:1-Y%'의 비율을 가질 수 있다. 두 부분으로 분할되었어도, 동일한 단일 메모리 할당으로 유지될 수 있다.
도 2a의 250 단계는 정상 HARQ 프로세싱 동안 수송 블록이 수신된 때에 발생할 수 있다. 구체적으로, 수송 블록은 코드 블록들의 Y%가 내부 메모리의 적절한 서브 파티션에 저장되고 코드 블록들의 나머지 1-Y%가 외부 메모리의 대응하는 서브 파티션에 저장되도록 분할된다. 이는 도 2b에 도시되어 있으며, n번째 수송 블록(280)은 내부 HARQ 메모리(260) 및 외부 HARQ 메모리(270) 사이에서 분할된 HARQ 버퍼에 저장된다. 따라서, n번째 수송 블록(280)의 Y%를 포함하는 제1 부분(282)은 내부 HARQ 메모리260)에 저장되고, n번째 수송 블록(280)의 1-Y%를 포함하는 나머지 제2 부분(284)은 외부 HARQ 메모리(270)에 저장된다.
상술된 단계에서, HARQ 프로세스의 수송 블록이 최대 스루풋을 달성하는 대역폭 조합에서 C 코드 블록들로 구성되면, 수송 블록의 코드 블록들 중에서 'Y%*C'를 내림한 값을 감한 값(Floor(Y%*C))이 내부 메모리에 저장되고, 수송 블록의 코드 블록들 중에서 C로부터 'Y%*C'를 내림한 값을 감한 값(C-Floor(Y%*C))이 외부 메모리에 저장된다.
실제 HARQ 프로세싱 도중에, 각 서브 프레임의 수송 블록 사이즈는 가변된다. 본 발명의 실시 예들에 따른 HARQ 분할에서, 수신된 서브 프레임에서 수송 블록의 사이즈가 수송 블록에 할당된 전체 내부 메모리보다 작으면(즉, 대역폭 조합(내부 메모리의 대역폭과 외부 메모리의 대역폭의 조합)에 대해 최대 사이즈의 Y%보다 작으면), 전체 수송 블록이 내부 메모리에 저장될 수 있으며, 수송 블록의 HARQ 결합을 수행할 때에 외부 메모리의 액세스가 불필요하다.
전체 HARQ 메모리가 2개의 물리 부분들로 분할되는 것으로 가정하면, 내부 메모리가 전체 HARQ 메모리의 X%이고 외부 메모리가 전체 HARQ 메모리의 1-X%, 발명의 실시 예들에 따라, 온-칩 메모리의 1-X%까지 다른 용도를 위해 남겨지거나 그리고/또는 제거될 수 있다. 상술된 실시 예에서, 할당된 스루풋 및 HARQ 메모리 할당이 최대값이면, 캐리어 및 대역폭 할당에 대해 허용된 최대 스루풋에 의해 결정되는 바와 같이, Y%는 X%와 같다. 그러나, 장치의 실제 채널 품질 및 다중 사용자 스케줄링 규칙을 포함하는 파라미터들에 기반한 기지국에 의해 결정되는 바와 같이, 할당된 스루픗이 허용된 최대 스루풋보다 작으면, Y%는 X%보다 크고, 더 많은 HARQ 프로세스들이 내부 메모리에 저장될 수 있다.
HARQ 메모리 분할의 다른 예로서, 고성능 모드 및 전력 효율 모드가 제공될 수 있다. 고성능 모드에서, 최고의 성능을 위해 최적의 압축 레벨들이 활용되며, 더 많은 외부 메모리들이 사용된다. 전력 효율 모드에서, 압축 레벨들이 증가되고, 각 HARQ 프로세스의 더 많은 부분이 온-칩에 저장되고, 원본의 소프트 비트들의 정확도가 감소하지만 온-칩에 더 저장하고, 오프-칩에 더 적게 저장하여, 외부 메모리가 액세스되는 회수가 감소되고 전력 소비가 감소될 수 있다.
다른 예로서, 프라이머리 컴포넌트 캐리어에 더 높은 우선 순위를 부여하고 더 큰 스토리지 분할 비율을 부여하는 것과 같은 디자인 기준에 따라, 각 수송 블록에 대한 외부 메모리 및 내부 메모리 사이의 스토리지 분할 비율이 가변적으로 선택될 수 있다. 수송 블록들에 걸친 이러한 스토리지 분할 비율의 가변은, 도 2a의 250 단계를 참조하여 설명된 바와 같이, 평균 분할 비율이 Y%로 유지되도록 수행될 수 있다.
HARQ 메모리 분할에 대한 다른 예로서, HARQ 분할 비율이 코드 블록들의 정수 개수를 도출하지 않을 때에, 따라서 수송 블록에 대해 점유되지 않고 낭비되는 내부 메모리 조각이 존재할 때에, 일부 수송 블록들이 다른 수송 블록들보다 하나 더 많은 코드 블록을 내부적으로 저장하도록 허용함으로써, 평균 분할 비율을 Y%로 유지하면서 스토리지 분할 비율이 수송 블록 마다 가변될 수 있다. 아래에서, NT는 컴포넌트 캐리어에 대해 HARQ 버퍼에 저장될 수송 블록들의 전채 개수이고, L은 외부 메모리에 저장될 수송 블록들의 개수이고, NT-L은 내부 메모리에 저장되는 수송 블록들의 개수이고, C는 수송 블록의 코드 블록들의 개수이다. '(1-Y%)C'가 정수가 아닌 것으로 가정하면, 각 수송 블록에 할당된 서브 파티션들은 수학식 1에 해당하는 개수의 수송 블록들이 수학식 2에 해당하는 개수의 코드 블록들을 외부적으로 저장하고, 수학식 3에 해당하는 수송 블록들은 수학식 4에 해당하는 코드 블록들을 외부적으로 저장하도록 조절될 수 있다.
Figure 112016014201290-pat00001
Figure 112016014201290-pat00002
Figure 112016014201290-pat00003
Figure 112016014201290-pat00004
수학식 1 내지 4에서,
Figure 112016014201290-pat00005
는 x보다 큰 가장 작은 정수를 가리키고,
Figure 112016014201290-pat00006
는 x의 내림값, 즉 x보다 작은 가장 큰 정수를 가리킨다. 이에 따르면, 수학식 5의 코드 블록들이 외부 메모리에 저장되고, 전력 소비가 절감된다.
Figure 112016014201290-pat00007
HARQ 메모리 분할의 다른 예로서, 전체 코드 블록들을 저장한 후에 일부 내부 파티션이 완전히 점유되지 않으면, 그리고 수송 블록의 일부 코드 블록들이 외부 메모리에 저장되어 있으면, 코드 블록이 외부 및 내부 부분들로 분할될 수 있다.
A. HARQ 메모리 분할을 위한 스크래치 버퍼
적절한 타이밍을 보장하고 HARQ 결합 중지를 방지하기 위하여, 본 발명의 실시 예들에 따른 HARQ 분할은 스크래치 버퍼라 불리는 상대적으로 작은 내부 메모리를 필요로 한다. 스크래치 버퍼는 외부 메모리에 저장된 정보의 적절한 시간에서의 가용성을 보정한다. 스크래치 버퍼의 사이즈는, 당업자에 의해 이해되는 바와 같이, 구체적인 실시 예 그리고/또는 구현에 의존하는 또 다른 최적화 요인이다. 그러나, 많은 경우, 추가적인 스크래치 버퍼의 사이즈는 HARQ 버퍼 분할에 의해 제공되는 온-칩 HARQ 사용의 감소보다 매우 적다.
도 3은 본 발명의 실시 예들에 따라 두 개의 코드 블록들을 저장할 수 있는 스크래치 버퍼의 동작들을 보여주는 개념도이다. 간결한 설명을 위하여, 스크래치 버퍼(308)는 '스크래치 A (308A)' 및 '스크래치 B (308B)'의 두 부분들로 참조되며, 이들 각각은 단일 코드 블록을 저장할 수 있다. 이 실시 예의 스크래치 버퍼는 두 개의 코드 블록들을 저장하지만, 이러한 최소 사이즈는 간결한 설명을 위한 것이며, 본 발명을 한정하지 않는다. 구현에 따른 구체적인 요구 및 필요에 의해서만 제한되는 더 많은 사이즈들이 사용될 수 있음이 당업자에게 이해될 것이다.
도 3에서, 수송 블록이 재전송되고, 새로 수신된 수송 블록이 이전에 저장된 수송 블록과 결합된다. 더 상세하게는, t0 시간에, 내부 메모리에 저장된 수송 블록의 코드 블록들이 모두 결합 및 저장되고, 외부 메모리에 저장된 수송 블록의 코드 블록들의 첫 번째 코드 블록(CBm)아 재전송되어 수신된 수송 블록의 대응하는 코드 블록(CBm)과 결합될 필요가 있다.
따라서, 도 3에서 t0 시간에, 코드 블록(CBm)이 외부 메모리(330)로부터 스크래치 버퍼 A (308A)로 로드된다. 도 3에 도시되지 않았지만, t0 시간에서 온-칩의 결합 버퍼(306)는 내부 메모리에 마지막 코드 블록을 결합하고 저장할 수 있다. 도 3에서, 다름 시간 구간에 대해 참조 번호들은 반복되지 않는다.
t1 시간에, 도 3의 상단에 도시된 바와 같이, 코드 블록(CBm)이 스크래치 버퍼 A (308A)로부터 결합 버퍼(306)에 로드되고, 재전송된 수송 블록의 대응하는 코드 블록(새로운 CBm)과 결합되고, 그 결과(CBm*)가 스크래치 버퍼 A (308A)에 다시 저장된다. 동시에, 도 3의 하단에 도시된 바와 같이, 다음 코드 블록(CBm + 1)이 외부 메모리(330)로부터 스크래치 버퍼 B (308B)에 로드된다. 도 3에서 t1 시간의 하단보다 상단에서 더 많은 활동이 발생하는 것으로 보여지지만, 스크래치 버퍼 A (308A), 스크래치 버퍼 B (308B), 그리고 결합 버퍼(306)가 온-칩에 위치하고 상대적으로 빠르게 액세스되거나 데이터가 이동될 수 있는 반면, 외부 메모리(330)는 오프-칩에 위치하고 외부 메모리로부터 온-칩의 스크래치 버퍼 B (308B)로 로드(또는 쓰기)하는 것이 상대적으로 긴 시간을 필요로 하므로, 상단과 하단의 활동들은 거의 동시에 수행된다.
t2 시간에, 도 3의 상단에 도시된 바와 같이, 결합된 코드 블록(CBm*)이 스크래치 버퍼 A (308A)로부터 이동되어 외부 메모리(330)에 저장되고, 다음 코드 블록(CBm+2)이 외부 메모리(330)로부터 스크래치 버퍼 A (308A)에 로드된다. 동시에, 도 3의 하단에 도시된 바와 같이, 코드 블록(CBm + 1)이 스크래치 버퍼 B (308B)로부터 결합 버퍼(306)로 로드되고, 재전송된 수송 블록의 대응하는 코드 블록(새로운 CBm+1)과 결합되고, 그 결과(CBm +1*)가 스크래치 버퍼 B (308B)에 다시 저장된다.
도 3에서 시간(t2)은 매 클럭 사이클에서 무엇이 수행되는 지를 보여준다. 하나의 스크래치 버퍼의 콘텐츠가 결합되는 동안, 다른 스크래치 버퍼의 콘텐츠는 다음 코드 블록으로 저장 및 로드된다. 따라서, t3 시간에, 코드 블록(CBm + 2)이 코드 블록(새로운 CBm + 2)과 결합되고, 그 결과(CBm +2*)가 스크래치 버퍼 A (308A)에 저장되는 동안, 다음 코드 블록(CBm + 3)이 스크래치 버퍼 B (308B)에 로드되고 코드 블록(CBm+1*)이 외부 메모리(330)에 로드될 수 있다. 간결한 설명을 위하여 도 3에 도시되지 않았지만, 유사한 동시 동작들이 t0 시간 및 t1 시간에 수행될 수 있다. 상술된 바와 같이, t0 시간의 결합 버퍼(306)는 내부 메모리로부터의 이전 코드 블록(CBm-1)을 결합하고, 그 결과(CBm -1*)가 내부 메모리에 다시 저장될 수 있다. 결합 버퍼(306) 및 내부 메모리가 모두 온-칩 이므로, 코드 블록(CBm -1*)은 스크래치 버퍼에 저장되지 않을 수 있다. 즉, 코드 블록(CBm -1*)은 결합 버퍼(306)로부터 내부 메모리로 직접 로드될 수 있다. 그럼에도 불구하고, 코드 블록(CBm-1*)를 스크래치 버퍼에 저장하는 것이 유익하거나 그리고/또는 필요한 경우, t1 시간에 코드 블록(CBm+1)이 스크래치 버퍼 B (308B)에 로드될 때에 내부 메모리로 이동될 수 있다. 도 3의 예에 도시된 바와 같이, 외부 메모리에 저장된 코드 블록들은 결합을 위해 필요한 때에(즉, 재전송된 수송 블록이 존재할 때에) 본 발명의 실시 예들에 따라 적절하게 가용해질 수 있다.
간결한 설명을 위하여, 도 3에서 전체 스크래치 버퍼(스크래치 A 및 스크래치 B)는 두 개의 코드 블록들을 포함하는 것으로 설명되었으나, 본 발명은 한정되지 않으며, 다른 실시 예들은 더 많거나 또는 더 적은 코드 블록들을 저장하는 데에 적합한 스크래치 버퍼 사이즈들을 가질 수 있다. 예시적으로, 스크래치 버퍼는 소프트 버퍼 정보의 활용을 위한 충분한 선행 타이밍을 허용하도록 구현될 수 있다. 다른 예로서, 스크래치 버퍼는 병렬 프로세싱에 유리하도록, 상이한 수송 블록들로부터의 코드 블록들이 동시에 액세스될 수 있도록 구현될 수 있다.
예시적으로, 스크래치 버퍼는 초기 스토리지로 기능할 수 있으며, 외부 메모리는 재전송이 필요한 때에만(즉, 에러가 검출된 때에만) 사용될 수 있다. 이러한 예에서, 외부 메모리에 할당된 수송 블록의 코드 블록들은 초기에 스크래치 버퍼에 저장될 수 있다. 에러 검출이 전체 수송 블록(내부 메모리의 코드 블록들 및 스크래치 버퍼의 코드 블록들)에 대해 수행될 수 있다. 에러가 검출되지 않으면, 코드 블록들을 외부 메모리에 저장할 필요가 없으며, 따라서 전력 및 자원 소비를 크게 줄일 수 있다. 에러가 검출되면, 스크래치 버퍼의 코드 블록들은 재전송될 수송 블록과의 차후 결합을 위해 외부 메모리에 로드될 수 있다. 다른 예로서, 초기 스토리지는 오프-칩으로 구현되나, 외부 메모리보다 용이하게 액세스 가능할 수 있다.
다른 예로서, 스크래치 버퍼 그리고/또는 외부 메모리는 다른 데이터를 저장하는 데에 사용될 수 있다. 예를 들어, 경판정 비트들 또는 디코딩 결과들과 같은 소프트 비트들의 파생물들이 스크래치 버퍼 또는 외부 메모리에 저장되어, 전력 소비를 절감하거나 또는 동작 성능을 향상시킬 수 있다.
도 4는 본 발명의 실시 예들에 따른 스크래치 버퍼를 구비한 HARQ 메모리 장치의 블록도이다. 도 4는 간결한 설명을 위하여 단순화되고 요약된 형태이다. 따라서, 도 4에서 구성 요소들의 상대적인 위치들 및 사이즈들은 중요하지 않으며 그리고/또는 별도의 의미를 갖지 않는다. 설명에 도움을 주는 구성 요소들만이 도시되며, 당업자에게 이해되는 바와 같이, 더 많은 구성 요소들이 본 발명의 실시 예들을 구현하는 데에 필요할 수 있다. 마찬가지로, 구성 요소들이 별도로 도시되어 있지만, 본 발명의 기술적 사상에 따라 하나 또는 그보다 많은 것들이 결합될 수 있으며, 서브 구성 요소들로 분리될 수 있다.
도 4에서, 점선 박스(400)는 온-칩의 구성 요소들을 가리키고, 점선 박스(400) 밖의 구성 요소들은 오프-칩 이다. 따라서, 데이터 버스(420) 및 외부 HARQ 메모리430)는 오프-칩 이다. 로그 우도비(LLR) 소프트 비트들(410)은 HARQ 버퍼에 대한 입력을 나타내며, 소프트 비트들을 적절한 구성 요소들에 제공하는 것의 실제 구현은 다양한 형태들을 가지므로, 온-칩 및 오프-칩 모두에 속하는 것으로 도시된다. 예를 들어, 필수적으로 온-칩으로 가지 않고 외부 메모리로 직접 전달되도록 의도되는 수송 블록/코드 블록이 존재할 수 있으며, 속도 그리고/또는 효율을 위해 온-칩의 특수 데이터 경로가 제공될 수 있다.
도 4의 온-칩(400)에서, HARQ 제어기(402)는 적어도 본 발명의 실시 예들에 부합하는 HARQ 메모리 동작들을 제어할 수 있다. 따라서, HARQ 제어기(402)는 온-칩 HARQ 기증들 모두를 제어할 수 있다. HARQ 제어기(402)를 소프트웨어, 펌웨어, 하드웨어, 그리고/또는 이들의 조합으로 구현할 수 있지만, 이 예에서 HARQ 제어기(402)는 펌웨어로부터 로드되는 명령들을 구동하는 하드웨어로 구현된다. HARQ 제어기는 내부 및 외부 HARQ 메모리들로부터의 데이터의 저장 및 획득뿐 아니라, HARQ 메모리 관리와 연관된 모든 기능들을 결정할 수 있다.
HARQ 제어기(402)는, 도 4에서 HARQ 제어기(402)로의 또는 로부터의 점선으로 도시되는, 로그 우도비(LLR) 소프트 비트들(410), 내부 HARQ 메모리(404), 결합 버퍼(406), 스크래치 버퍼(408), 그리고 외부 HARQ 메모리(430)로의 및 로부터의 제어, 상태, 그리고 데이터 신호들을 전송 및 수신하기 위한 연결들을 갖는다. 수송 블록들이 수신됨에 따라, 이미 메모리 할당을 수행한 HARQ 제어기(402)는 수송 블록들/코드 블록들을 온-칩 또는 오프-칩으로 전달하는 제어 신호들을 송신한다. 더 상세하게는, 수송 블록들/코드 블록들은 내부 HARQ 메모리(404) 및 외부 HARQ 메모리(430) 사이의 메모리 할당에 따라 분할된다. 외부 HARQ 메모리(430)를 목표로 하는 수송/코드 블록들은 버스(420)를 통해 전송되어야 한다. 또한, HARQ 제어기(402)는 수신되는 수송/코드 블록들을 위한 메모리 공간들을 적절하게 초기화 및 할당하는 제어 신호들을 내부 HARQ 메모리(404) 및 외부 HARQ 메모리(430) 양측에 전송한다.
소프트 비트들의 압축 그리고/또는 변환은 통상 저장 이전에 바로 수행되며, 때때로 저장 프로세스의 내부 파트로 수행된다. 그러나, 본 발명의 실시 예들에 따른 압축/변환의 위치는 한정되지 않으며, 다양한 위치들에서 수행될 수 있다. 또한, 이러한 기능들은 분할 그리고/또는 파이프라인 되고 다수의 위치들에서 수행될 수 있다. 예를 들어, 외부 HARQ 메모리(430)를 목표로 하는 소프트 비트들은 버스(420)를 통해 전송되기 이전에, 외부 메모리(430)에 저장되는 것의 일부로서 압축/변환될 수 있다.
수송 블록이 재전송되면(즉, HARQ 버퍼에 현재 저장되어 있으며 이전에 수신된 수송 블록에서 에러가 검출되면), 새로운 수송 블록이 기존의 수송 블록과 결합되어야 한다. 기존의 수송 블록이 내부 HARQ 메모리(402)에 모두 저장되어 있으며, 하나 또는 그보다 많은 새로운 그리고 기존의 코드 블록들(결합 버퍼(406)의 사이즈에 따라)이 결합 버퍼(406)에서 결합되고 다시 저장되기 위해 온-칩 내에서만 이동할 수 있다. 예를 들어, 저장된/기존 수송 블록이 내부 HARQ 메모리(404) 및 외부 HARQ 메모리(430) 사이에서 분할되어 있으면, 온-칩 코드 블록들은 결합 및 재저장되고, 도 3을 참조하여 설명된 바와 같이, 오프-칩 코드 블록들은 결합되고 재저장된다. 따라서, 오프-칩 코드 블록들은 결합 버퍼(406)에서 결합되기 위해 버스(420)를 통해 외부 HARQ 메모리(430)로부터 스크래치 버퍼(408)로 전달된다. 도 3에 도시된 바와 같이, 스크래치 버퍼(408)를 사용하여, 적어도 하나의 코드 블록이 외부 HARQ 메모리(430)로부터 업로드/다운로드됨과 동시에, 적어도 하나의 코드 블록이 결합되고 스크래치 버퍼(408)에 저장되며, HARQ 결합 중지가 감소된다.
도 3에 의해 도시된 동일한 원리를 이용하여, 추가적인 파이프라인 그리고/또는 메모리 계층이 구현되어, 다수의 오프-칩의 코드 블록들이 필요한 때에 온-칩 결합을 위해 가용하게 보장될 수 있다. 예를 들어, 외부 HARQ 메모리(430)로부터 코드 블륵들을 읽음으로 인해 발생하는 레이턴시를 감소시키는 외부 HARQ 메모리(430) 및 버스(420) 사이의 캐시, 또는 버스(420) 및 스크래치 버퍼(408) 사이의 유사한 캐시(온-칩 또는 오프-칩)와 같은 하나 또는 그보다 많은 중간 캐시들이 외부 HARQ 메모리(430)로부터 스크래치 버퍼(408)로의 데이터 경로에 구현될 수 있다.
당업자에게 이해되는 바와 같이, 내부 HARQ 메모리(404), 결합 버퍼(406), 그리고 스크래치 버퍼(408)와 같은 온-칩 메모리들은 SRAM (Static Random Access Memory), DRAM (Dynamic RAM) 등으로 구현될 수 있다. 마찬가지로, 당업자에게 이해되는 바와 같이, 외부 HARQ 메모리(430)는 SRAM, DRAM, SDRAM (Synchronous DRAM), DDR (Double Date Rate) SDRAM 등으로 구현될 수 있다. 요약하면, 외부 및 내부 메모리들은 당업자에게 이해되는 바와 같이 데이터가 저장되고 획득될 수 있는 임의의 시스템일 수 있다. 버스(420)는, 예를 들어 ARM, AXI (Advanced eXtendible Interface)와 같은 적절한 인터페이스이며, 당업자에 의해 이해되는 바와 같이 다양한 방법들로 구현될 수 있다.
Ⅲ. 인접 HARQ 메모리 할당 및 HARQ 분할을 모두 이용한 실시 예
상술된 바와 같이, 본 발명의 실시 예들은 인접 HARQ 메모리 할당의 실시 예들을 HARQ 메모리 분할의 실시 예들과 결합한다.
도 5는 인접 HARQ 메모리 할당을 HARQ 메모리 분할과 결합하는 본 발명의 실시 예의 순서도이다.
501 단계에서, HARQ 버퍼 파티션들의 수가 활성 컴포넌트 캐리어들(CC)의 수와 동일하게 설정되고, 파티션들의 상대적인 사이즈들이 대응하는 컴포넌트 캐리어들(CC)의 대역폭들에 비례하게 초기에 설정된다. 503 단계에서, 파티션들에 대한 파티션 사이즈들 및 압축 레벨들이 최적화된다. 이 예에서, 최적화의 기준은 HARQ 버퍼에서 최소한의 미사용 메모리를 가지면서 HARQ 버퍼에 저장될 수 있는 가장 많은 수의 수송 블록들이다. 505 단계에서, 503 단계를 통해 결정된 최적 사이즈들에 따라 파티션들이 메모리 위치들에 할당된다. 상술된 바와 같이, 저장된 활성 HARQ 프로세스들이 존재하면, 끊김없는 HARQ 분할이 수행된다. 507 단계에서, 각 캐리어에 대해 최적화된 HARQ 프로세스들의 수에 따라, 각 파티션 내에서 동일 사이즈의 서브 파티션들이 할당된다. 최적화 절차는, 예를 들어, 도 1a 및 도 1b를 참조하여 설명된 전역 최적화 절차에 따라 수행될 수 있다.
510 단계에서, HARQ 버퍼 메모리 할당에 대해 외부 메모리가 가용한지 판별된다. 가용하지 않으면, 절차는 202 단계로 진행한다. 외부 메모리가 HARQ 버퍼 메모리로 가용한 것으로 판별되면, 115 단계에서 HARQ 버퍼의 각 서브 파티션이 내부 및 외부 메모리들 사이에서 분할된다. 501, 503, 505 및 507 단계들에서 할당되는 파티션들/서브 파티션들의 상대적인 사이즈들 및 위치들은 선택된 'Y%:1-Y%'의 비율로 외부 메모리로 복제된다. 각 파티션/서브 파티션의 Y%는 온0칩이고, 나머지 1-Y%는 오프-칩 이다. 이 절차는 도 2a에서 240 및 250 단계들을 참조하여 설명된 것에 따라 수행된다.
520 단계에서, 수신된 수송 블록이 새로운 HARQ 프로세스로부터인지 판별된다. 새로운 HARQ 프로세스로부터가 아니면, 수신된 수송 블록은 530 단계를 통해 이전에 결정된 서브 파티션 할당, 메모리 분할 비율, 그리고 압축 레벨에 부합하는 서브 활성 서브 파티션에 저장된다. 새로운 HARQ 프로세스로부터이면, 525 단계에서 HARQ 프로세스가 할당된 서브 파티션을 갖는지 판별된다. 525 단계에서 HARQ 프로세스가 할당된 서브 파티션을 갖지 않으면, 540 단계에서 대응하는 컴포넌트 캐리어(CC)의 파티션에서 가용한 서브 파티션이 존재하는지 판별된다. 가용한 서브 파티션이 존재하면, 수송 블록은 그곳에 저장된다. 가용한 서브 파티션이 존재하지 않으면, 수송 블록은 HARQ 버퍼에 저장되지 않는다.
525 단계에서 HARQ 프로세스가 할당된 서브 파티션을 가지면, 수신된 수송 블록을 저장하기 위한 압축 레벨이 최적화되고, 550 단계에서 수송 블록이 HARQ 버퍼에 저장된다. HARQ 버퍼가 분할되어 있으면, 내부 대 외부 메모리 분할 비율이 최적화되고, 수송 블록의 적절한 부분이 내부 및 외부 메모리들에 저장된다. 실제 스루풋 할당이 허용된 최대 스루풋보다 작으면, 수송 블록은 더 적은 메모리를 필요로 하고, 수송 블록에 대해 비트 압축이 다시 최적화되어, 해당 수송 블록에 할당된 서브 파티션에서 메모리 활용을 최소화하면서 더 높은 신뢰성으로 저장이 허용된다. 550 단계에서 수송 블록이 저장된 후에, 절차는 555 단계로 진행한다.
555 단계에서, 수송 블록이 에러를 갖지 않으면, 즉 CTC (Cyclic Redundancy Check)를 통과하면, 560 단계에서, 서브 파티션은 다른 수송 블록을 저장할 수 있게 된다. 이후에, 절차는 다른 HARQ 프로세스 그리고/또는 HARQ 프로세스가 다중 수송 블록들로 구생될 때에 새로운 수송 블록이 도달할 것을 기다린다. 560 단계에서 HARQ 프로세스가 도착하면, 570 단계에서, 캐리어가 활성화 또는 비활성화되는지 판별된다. 캐리어가 활성화/비활성화되면, 501, 503, 505, 507. 510 및 515 단계들의 초기화 절차들이 다시 수행된다. 캐리어가 활성화/비활성화 되지 않으면, 520, 525, 530, 540, 550, 555 단계들의 HARQ 절차가 다시 수행된다.
본 발명의 실시 예들에 따르면, 단계들 그리고/또는 동작들은 다른 순서로, 병렬로, 또는 동시에 수행될 수 있다. 마찬가지로, 당업자에 의해 이해되는 바와 같이, 도 1, 도 2a 및 도 5는 수행되는 동작들의 간결화된 표현이며, 실제 구현들은 도 1a의 120 단계, 도 2a의 210 단계 및 도 5의 510, 520 525, 560 및 570 단계들에 제시된 바와 같은 "결정"을 수행하지 않을 수 있다. 마찬가지로, 단순화된 표현으로서, 도 1, 도 2a 및 도 5는 당업자에 의해 이해될 수 있는 다른 필요한 단계들을 도시하지 않는다.
본 발명의 실시 예들에 따라, 일부 또는 모든 단계들 그리고/또는 동작들은, 적어도 부분적으로 포터블 장치에서 구현되거나 수행될 수 있다. 포터블 장치는, 무선 신호를 수신할 수 있으며, 멀티미디어 플레이어, 통신 장치, 컴퓨팅 장치, 항법 장치 등을 포함하지만 한정되지 않는 포터블, 모바일, 또는 이동 가능한 전자 장치이다. 따라서, 모바일 장치는 랩톱, 태블릿 컴퓨터, PDA, MP3 플레이어, 핸드헬드 PC, IMD (Instant Messaging Device), 셀룰러 폰, GNSS (Global Navigation Satellite System) 수신기, 시계, 카메라 또는 사람에 의해 입혀지거나 이동될 수 있는 장치를 포함하며 한정되지 않는다.
본 발명의 실시 예들에 따르면, 일부 또는 모든 단계들 그리고/또는 동작들은, 명령, 프로그램, 상호적인 데이터 구조, 클라이언트 그리고/또는 서버 구성 요소들을 구동하는 하나 또는 그보다 많은 프로세서들을 적어도 부분적으로 사용하여 구현 또는 수행될 수 있다. 명령, 프로그램, 상호적인 데이터 구조, 클라이언트 그리고/또는 서버 구성 요소는 하나 또는 그보다 많은 비임시 컴퓨터 독출 가능 매체에 저장될 수 있다. 하나 또는 그보다 많은 비임시 컴퓨터 독출 가능 매체는 소프트웨어, 펌웨어, 하드웨어, 그리고/또는 이들의 조합으로 실시될 수 있다. 또한, 모듈의 기능은 소프트웨어, 펌웨어, 하드웨어, 그리고/또는 이들의 조합으로 구현될 수 있다.
본 발명의 실시 예들에 따른 하나 또는 그보다 많은 동작들/단계들/모듈들을 구현/수행하는 하나 또는 그보다 많은 비임시 컴퓨터 독출 가능 매체 그리고/또는 수단들은, 한정되지 않으며, ASICs (Application-Specific Integrated Circuits), 표준 집적 회로들, 적절한 명령들을 실행하는 제어기들(마이크로제어기 그리고/또는 실장 제어기를 포함), FPGAs (Field-Programmable Gate Arrays), CPLDs (Complex Programmable Logic Devices) 등을 포함할 수 있다. 시스템 구성 그리고/또는 데이터 구조의 일부 또는 전부는 비임시 컴퓨터 독출 가능 매체(예를 들어, 하드 디스크 드라이브, 메모리, 컴퓨터 네트워크 또는 셀룰러 무선 네트워크 또는 다른 데이터 전송 매체, 또는 DVD 또는 플래시 메모리 장치와 같은 적절한 드라이브 또는 적절한 연결을 통해 독출되는 포터블 매체)에 콘텐츠(예를 들어, 실행 가능한 또는 다른 비임시 기계 독출 가능 소프트웨어 명령들 또는 구조 데이터)로 저장되어, 컴퓨터 독출 가능 매체 그리고/또는 하나 또는 그보다 많은 연관된 컴퓨팅 시스템들 또는 장치들이 콘텐츠를 실행 또는 사용하여 상술된 기술들의 적어도 일부를 수행하도록 구성할 수 있다. 시스템 구성들 및 데이터 구조들의 일부 또는 모두는 무선 기반 및 유선/케이블 기반 매체들을 포함하는 읽혀질 수 있고 전송될 수 있는 다양한 비임시 컴퓨터 독출 가능 전송 매체들에 데이터 신호들로 저장될 수 있으며, 다양한 형태들(예를 들어, 단일 또는 다중화된 아날로그 신호들 또는 다중 이산 디지털 패킷들 또는 프레임들)을 가질 수 있다. 컴퓨터 프로그램 제품들은 다른 실시 예들에서 다른 형태들을 가질 수 있다. 따라서, 본 발명의 실시 예들은 임의의 컴퓨터 시스템 구성에서 실시될 수 있다.
따라서, 비임시 컴퓨터 독출 가능 매체는 성능/구현을 위해 하나 또는 그보다 많은 프로세서들에 제공되는 프로그램들 그리고/또는 고레벨 명령들(비임시 메모리에 저장되는 명령들과 같은)을 포함하는 실제 동작의 수행(하드웨어 회로와 같은)을 포함하고, 그리고/또는 펌웨어 또는 불휘발성 메모리에 저장되는 기계 레벨 명령을 포함할 수 있다. 비임시 컴퓨터 독출 가능 매체는 플로피 디스크, 플렉서블 디스크, 하드 디스크, RAM, PROM, EPROM, 플래시 EPROM, EEPROM, 메모리 칩 또는 카트리지, 자기 테이프, 또는 컴퓨터 명령이 읽힐 수 있는 자기 매체, CD-ROM, DVD, 또는 컴퓨터 명령이 읽힐 수 있는 광학 매체, 또는 컴퓨터 명령이 읽힐 수 있는 다른 비임시 매체를 포함하지만 한정되지는 않는 불휘발성 및 휘발성 매체와 같은 다양한 형태들을 가질 수 있다.
본 발명의 실시 예들이 설명되었지만, 당업자는 본 발명의 기술적 사상으로부터 괴리되지 않은 채로 다양한 변형들이 가능함이 이해될 것이다. 즉, 본 발명은 상술된 실시 예들에 한정되지 않고, 후술되는 청구 범위와 균등하게 해석되어야 한다.
306; 결합 버퍼
308; 스크래치 버퍼
330; 외부 메모리
400; 온-칩
402; HARQ 제어기
404; 내부 HARQ 메모리
406; 결합 버퍼
408; 스크래치 버퍼
410; 로그 우도비 소프트 비트들
420; 버스
430; 외부 HARQ 메모리

Claims (20)

  1. 사용자 장치에 있어서:
    상기 사용자 장치에 할당된 활성 컴포넌트 캐리어들 중에서 적어도 하나가 변화할 때에, HARQ 프로세스들의 개수 그리고/또는 사이즈가 변화할 때에, 전송 모드가 변화할 때에, 그리고 HARQ 프로세싱이 개시될 때 중 적어도 하나의 때에, 미리 분할을 수행하는 다운링크 하이브리드 자동 반복 요청(HARQ, Hybrid Automatic Repeat reQuest) 버퍼 제어기를 포함하는 모뎀 칩을 포함하고,
    상기 미리 분할은,
    파티션들의 수를 상기 활성 컴포넌트 캐리어들의 수와 동일하게 설정하는 단계;
    상기 파티션들의 상대적인 사이즈들을 대응하는 컴포넌트 캐리어들의 용량에 비례하게 설정하는 단계;
    하나 또는 그보다 많은 기준을 이용하여 각 파티션에 대한 압축 레벨들 및 HARQ 프로세스들의 수를 고정적으로 선택하는 단계; 그리고
    HARQ 버퍼 메모리의 전체를 상기 설정된 상대적인 사이트들을 갖는 HARQ 버퍼 파티션들의 상기 설정된 수로 할당하는 단계에 의해 수행되고,
    각 파티션은 상기 HARQ 프로세스들의 수와 동일한 서브 파티션들을 갖는 사용자 장치.
  2. 제1 항에 있어서,
    상기 모뎀 칩은 온-칩 메모리를 더 포함하고,
    상기 사용자 장치는:
    오프-칩 메모리; 그리고
    상기 오프-칩 메모리를 상기 모뎀 칩과 연결하는 버스를 더 포함하고,
    상기 HARQ 버퍼 제어기는 상기 HARQ 버퍼 메모리에 대해 가용한 상기 온-칩 메모리 대 상기 HARQ 버퍼 메모리에 대해 가용한 상기 오프-칩 메모리의 비율을 결정하고, 그리고 상기 결정된 비율에 따라 상기 HARQ 버퍼 메모리의 각 파티션 및 서브 파티션을 상기 온-칩 메모리 및 상기 오프-칩 메모리에 할당하는 사용자 장치.
  3. 사용자 장치의 다운링크 하이브리드 자동 반복 요청(HARQ, Hybrid Automatic Repeat reQuest) 버퍼를 할당하는 방법에 있어서:
    상기 HARQ 버퍼를 미리 분할하는 단계를 포함하고,
    상기 미리 분할하는 단계는,
    파티션들의 수를 활성 컴포넌트 캐리어들의 수와 동일하게 설정하는 단계;
    상기 파티션들의 상대적인 사이즈들을 대응하는 컴포넌트 캐리어들의 용량에 비례하게 설정하는 단계;
    하나 또는 그보다 많은 기준을 이용하여 각 파티션에 대한 압축 레벨들 및 HARQ 프로세스들의 수를 고정적으로 선택하는 단계; 그리고
    HARQ 버퍼의 전체를 상기 설정된 상대적인 사이트들을 갖는 HARQ 버퍼 파티션들의 상기 설정된 수로 할당하는 단계를 포함하고,
    각 파티션은 상기 HARQ 프로세스들의 수와 동일한 서브 파티션들을 갖고,
    상기 미리 분할하는 단계는, 활성 컴포넌트 캐리어들의 수가 변화할 때, 상기 HARQ 프로세스들의 수 그리고/또는 사이즈가 변화할 때, 전송 모드가 변화할 때, 그리고 HARQ 프로세싱이 개시될 때 중 적어도 하나의 때에 수행되는 방법.
  4. 사용자 장치의 다운링크 하이브리드 자동 반복 요청(HARQ, Hybrid Automatic Repeat reQuest) 버퍼를 할당하는 방법에 있어서:
    HARQ 버퍼에 사용 가능한 내부 메모리 대 상기 HARQ 버퍼에 사용 가능한 외부 메모리의 비율을 결정하는 단계; 그리고
    상기 HARQ 버퍼의 각 파티션 및 서브 파티션을 상기 내부 메모리 및 상기 외부 메모리에서 상기 결정된 비율에 따라 할당하는 단계를 포함하고,
    상기 내부 메모리 및 상기 외부 메모리는 동일한 상대적인 비율들을 갖는 동일한 파티션들 및 서브 파티션들을 포함하는 방법.
  5. 제4 항에 있어서,
    상기 비율은, 상기 HARQ 버퍼에 사용 가능한 전체 내부 메모리 대비 현재 대역폭 및 컴포넌트 캐리어 할당에서 최대 스루풋을 가정하여 모든 HARQ 프로세스들을 저장하는 데에 필요한 추가 메모리의 비율을 포함하는 방법.
  6. 제4 항에 있어서,
    상기 내부 메모리 대 외부 메모리의 비율을 결정하는 단계는, 사용 가능한 상기 내부 메모리의 사이즈, 사용 가능한 상기 외부 메모리의 사이즈, 압축 레벨들, 현재 동작 상태들, 전력/자원 관리 스킴, 그리고 현재 통신 설정들 그리고/또는 상태들 중 적어도 하나에 적어도 부분적으로 기반하는 방법.
  7. 제4 항에 있어서,
    HARQ 프로세스의 수신된 수송 블록을 상기 내부 및 외부 메모리들에 모두 저장하는 단계를 더 포함하고,
    상기 내부 메모리의 상기 수송 블록의 부분 및 상기 외부 메모리의 상기 수송 블록의 부분은 상기 결정된 비율을 갖는 방법.
  8. 제4 항에 있어서,
    HARQ 프로세스의 수신된 수송 블록을 상기 내부 및 외부 메모리들에 저장하는 단계를 더 포함하고,
    상기 내부 메모리의 상기 수송 블록의 부분 및 상기 외부 메모리의 상기 수송 블록의 부분은 상기 결정된 비율이 모든 수송 블록들이 저장되는 동안 평균이 되도록 결정되는 방법.
  9. 제4 항에 있어서,
    상기 내부 메모리에서 할당된 서브 파티션의 부분보다 작은 수송 블록이 수신될 때, 상기 수송 블록이 상기 내부 메모리에 완전히 저장될 수 있는지 판별하는 단계를 더 포함하는 방법.
  10. 제4 항에 있어서,
    상기 내부 메모리는 온-칩 메모리를 포함하고, 상기 외부 메모리는 오프-칩 메모리를 포함하는 방법.
  11. 사용자 장치를 위한 모뎀 칩에 있어서:
    상기 사용자 장치에 할당된 활성 컴포넌트 캐리어들 중에서 적어도 하나가 변화할 때에, HARQ 프로세스들의 개수 그리고/또는 사이즈가 변화할 때에, 전송 모드가 변화할 때에, 그리고 HARQ 프로세싱이 개시될 때 중 적어도 하나의 때에, 미리 분할을 수행하는 다운링크 하이브리드 자동 반복 요청(HARQ, Hybrid Automatic Repeat reQuest) 버퍼 제어기를 포함하고,
    상기 미리 분할은,
    파티션들의 수를 활성 컴포넌트 캐리어들의 수와 동일하게 설정하는 단계;
    상기 파티션들의 상대적인 사이즈들을 대응하는 컴포넌트 캐리어들의 용량에 비례하게 설정하는 단계;
    하나 또는 그보다 많은 기준을 이용하여 각 파티션에 대한 압축 레벨들 및 HARQ 프로세스들의 수를 고정적으로 선택하는 단계; 그리고
    HARQ 버퍼 메모리의 전체를 상기 설정된 상대적인 사이트들을 갖는 HARQ 버퍼 파티션들의 상기 설정된 수로 할당하는 단계에 의해 수행되고,
    각 파티션은 상기 HARQ 프로세스들의 수와 동일한 서브 파티션들을 갖는 모뎀 칩.
  12. 제11 항에 있어서,
    상기 미리 분할하는 단계가 수행될 때에 활성 HARQ 프로세스들이 상기 HARQ 버퍼 메모리에 저장되어 있으면, 상기 HARQ 버퍼 제어기는 상기 활성 HARQ 프로세스들이 기존 메모리 위치들로부터 새로운 메모리 위치들로 이동하도록 적어도 상기 파티션들 및 상기 서브 파티션들을 할당하는 것에 의해 상기 HARQ 버퍼 메모리 전체를 할당하는 모뎀 칩.
  13. 제11 항에 있어서,
    상기 HARQ 버퍼 메모리에서, 컴포넌트 캐리어의 활성 HARQ 프로세스들의 수가 상기 컴포넌트 캐리어에 할당된 서브 파티션들의 수를 초과하면, 상기 HARQ 버퍼 제어기는, 상기 컴포넌트 캐리어의 다른 HARQ 프로세스에 대해 수신되고 할당된 서브 파티션에 저장된 수송 블록이 디코딩되고 에러가 검출되지 않은 때에, 할당된 서브 파티션을 추가 HARQ 프로세스의 수송 블록을 저장하는 데에 사용 가능하게 하는 모뎀 칩.
  14. 제11 항에 있어서,
    상기 HARQ 버퍼 메모리에서, 컴포넌트 캐리어의 활성 HARQ 프로세스들의 수가 상기 컴포넌트 캐리어에 할당된 서브 파티션들의 수를 초과하면, 상기 HARQ 버퍼 제어기는, 서브 파티션들에 할당되는 상기 활성 HARQ 프로세스들의 전체 수가 증가하도록, 해당 파티션에서 하나 또는 그보다 많은 서브 파티션들에 대한 압축 레벨들을 증가하는 모뎀 칩.
  15. 사용자 장치를 위한 모뎀 칩에 있어서:
    버스에 대한 연결;
    내부 메모리; 그리고
    다운링크 하이브리드 자동 반복 요청(HARQ, Hybrid Automatic Repeat reQuest) 버퍼 제어기를 포함하고,
    상기 HARQ 버퍼 제어기는, HARQ 버퍼에 사용 가능한 상기 내부 메모리 대 상기 HARQ 버퍼에 사용 가능한 외부 메모리의 비율을 결정하고, 그리고 상기 HARQ 버퍼의 각 파티션 및 서브 파티션을 상기 내부 메모리 및 상기 외부 메모리에서 상기 결정된 비율에 따라 할당하고,
    상기 내부 메모리 및 상기 외부 메모리는 동일한 상대적인 비율들을 갖는 동일한 파티션들 및 서브 파티션들을 포함하는 모뎀 칩.
  16. 제15 항에 있어서,
    재전송된 수송 블록의 하나 또는 그보다 많은 코드 블록들을 상기 HARQ 버퍼에 저장되어 있으며 기존에 전송된 수송 블록의 하나 또는 그보다 많은 코드 블록들과 결합하는 HARQ 결합기를 더 포함하고,
    상기 내부 메모리에 저장되며 상기 기존에 전송된 수송 블록의 코드 블록들은 상기 외부 메모리에 저장되며 상기 기존에 전송된 수송 블록의 코드 블록들보다 먼저 결합되는 모뎀 칩.
  17. 제16 항에 있어서,
    상기 외부 메모리에 저장되고 상기 버스를 통해 상기 모뎀 칩으로 전송되는 상기 기존에 전송된 수송 블록의 코드 블록들을 저장하고, 상기 코드 블록들이 상기 HARQ 결합기에 의해 사용 가능하도록 하는 스크래치 버퍼를 더 포함하는 모뎀 칩.
  18. 제15 항에 있어서,
    상기 HARQ 버퍼 제어기는 상기 내부 메모리 대 외부 메모리의 비율을 사용 가능한 상기 내부 메모리의 사이즈, 사용 가능한 상기 외부 메모리의 사이즈, 압축 레벨들, 현재 동작 상태들, 전력/자원 관리 스킴, 그리고 현재 통신 설정들 그리고/또는 상태들 중 적어도 하나에 적어도 부분적으로 기반하여 결정하는 모뎀 칩.
  19. 제15 항에 있어서,
    상기 HARQ 버퍼 제어기는 HARQ 프로세스의 수신된 수송 블록을 상기 내부 및 외부 메모리들에 모두 저장하고,
    상기 내부 메모리의 상기 수송 블록의 부분 및 상기 외부 메모리의 상기 수송 블록의 부분은 상기 결정된 비율을 갖는 모뎀 칩.
  20. 제15 항에 있어서,
    상기 HARQ 버퍼 제어기는 HARQ 프로세스의 수신된 수송 블록을 상기 내부 및 외부 메모리들에 저장하고, 상기 내부 메모리의 상기 수송 블록의 부분 및 상기 외부 메모리의 상기 수송 블록의 부분은 상기 결정된 비율이 모든 수송 블록들이 저장되는 동안 평균이 되도록 결정되는 모뎀 칩.
KR1020160016468A 2015-02-13 2016-02-12 메모리 분할을 구비한 하이브리드 자동 반복 요청 인접 메모리 관리를 위한 방법 및 시스템 KR102569498B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201562116094P 2015-02-13 2015-02-13
US62/116,094 2015-02-13
US14/847,320 2015-09-08
US14/847,320 US10862630B2 (en) 2015-02-13 2015-09-08 Method and system for contiguous HARQ memory management with memory splitting

Publications (2)

Publication Number Publication Date
KR20160100258A KR20160100258A (ko) 2016-08-23
KR102569498B1 true KR102569498B1 (ko) 2023-08-22

Family

ID=56622590

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160016468A KR102569498B1 (ko) 2015-02-13 2016-02-12 메모리 분할을 구비한 하이브리드 자동 반복 요청 인접 메모리 관리를 위한 방법 및 시스템

Country Status (4)

Country Link
US (2) US10862630B2 (ko)
KR (1) KR102569498B1 (ko)
CN (1) CN105893271B (ko)
TW (1) TWI666893B (ko)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018059004A1 (en) * 2016-09-30 2018-04-05 Telefonaktiebolaget Lm Ericsson (Publ) Method for hybrid automatic repeat request process, network device and terminal device
KR20180073229A (ko) * 2016-12-22 2018-07-02 삼성전자주식회사 Harq 처리를 수행하는 모뎀 칩, 이를 포함하는 어플리케이션 프로세서 및 모뎀 칩의 동작방법
US10652169B2 (en) * 2017-02-10 2020-05-12 Qualcomm Incorporated Hybrid automatic repeat request management for differing types of hybrid automatic repeat request processes
US10615923B2 (en) * 2017-02-24 2020-04-07 Electronics And Telecommunications Research Institute Method and apparatus for processing hybrid automatic repeat request process in communication system
EP3633896B1 (en) * 2017-03-08 2022-10-05 LG Electronics Inc. Method and apparatus for transmitting and receiving radio signals in a wireless communication system
US10524264B2 (en) 2017-03-20 2019-12-31 Samsung Electronics Co., Ltd. Wireless communication device including memory de-allocator for efficient memory usage and method of operating the same
CN109302353B (zh) * 2017-07-24 2022-03-25 深圳市中兴微电子技术有限公司 一种分配报文缓存空间的方法及装置
US11601223B2 (en) * 2017-08-18 2023-03-07 Qualcomm Incorporated Systems and methods for HARQ transmission and retransmission using multiple code words
TWI628543B (zh) * 2017-09-07 2018-07-01 群聯電子股份有限公司 解碼方法、記憶體儲存裝置及記憶體控制電路單元
CN109475002B (zh) * 2017-09-08 2020-10-20 电信科学技术研究院 一种下行数据传输的缓存方法、终端及基站
CN111133700B (zh) * 2017-09-22 2021-06-29 华为技术有限公司 高速率接收电路
US11005602B2 (en) * 2017-10-02 2021-05-11 Mediatek Inc. HARQ buffer size design for communication systems
US10979182B2 (en) * 2017-10-30 2021-04-13 Qualcomm Incorporated Managing hybrid automatic repeat request (HARQ) memory for radio tune-away
KR102640344B1 (ko) * 2017-12-21 2024-02-22 삼성전자주식회사 Harq 처리를 수행하는 모뎀 칩 및 수신기
CN110134322B (zh) * 2018-02-02 2022-05-31 建兴储存科技(广州)有限公司 运用dram的储存装置及其相关数据处理方法
KR20200046264A (ko) * 2018-10-24 2020-05-07 삼성전자주식회사 호스트 메모리 버퍼를 이용하는 데이터 스토리지 장치 및 그 동작 방법
CN111290875B (zh) * 2018-12-10 2023-06-09 深圳市中兴微电子技术有限公司 Harq数据存储管理方法、装置和harq数据缓存器
US11121823B2 (en) 2018-12-10 2021-09-14 Electronics And Telecommunications Research Institute Method and apparatus for hybrid automatic repeat request in non-terrestrial network
US11930484B2 (en) 2019-03-26 2024-03-12 Charter Communications Operating, Llc Methods and apparatus for system information management in a wireless system
US11113007B2 (en) 2019-05-13 2021-09-07 Micron Technology, Inc. Partial execution of a write command from a host system
US11412406B2 (en) * 2020-02-13 2022-08-09 Charter Communications Operating, Llc Apparatus and methods for user device buffer management in wireless networks
US11564155B2 (en) 2020-04-07 2023-01-24 Charter Communications Operating, Llc Apparatus and methods for interworking in wireless networks
US11057865B1 (en) 2020-05-20 2021-07-06 Charter Communications Operating, Llc Apparatus and methods for enhanced paging in wireless networks
CN113132068B (zh) * 2021-03-03 2022-05-24 杭州红岭通信息科技有限公司 一种基于物联网场景下的基站harq进程内存分配方法
US20230079699A1 (en) * 2021-09-10 2023-03-16 Sequans Communications Sa Systems and methods for efficient harq for nr using limited ddr throughput interface

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120331241A1 (en) * 2011-06-22 2012-12-27 Renesas Mobile Corporation Adaptive Control For Efficient HARQ Memory Usage
US20130272192A1 (en) * 2011-01-07 2013-10-17 Mediatek Inc. Apparatuses and Methods for Hybrid Automatic Repeat Request (HARQ) Buffering Optimization

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6567895B2 (en) 2000-05-31 2003-05-20 Texas Instruments Incorporated Loop cache memory and cache controller for pipelined microprocessors
KR100946894B1 (ko) 2006-09-13 2010-03-09 삼성전자주식회사 무선 통신 시스템에서 복합 자동 재전송버퍼를 동적으로 할당하는 방법 및 장치
US9160496B2 (en) 2007-06-29 2015-10-13 Qualcomm Incorporated Methods and apparatus for H-ARQ process memory management
CN101505212B (zh) 2008-02-04 2012-11-07 上海贝尔股份有限公司 操作harq缓冲器的方法
KR101450759B1 (ko) 2008-07-07 2014-10-16 삼성전자주식회사 무선 통신시스템에서 복합 재 전송 데이터를 결합하는 방법및 장치
EP2380301A2 (en) * 2008-12-18 2011-10-26 Telefonaktiebolaget LM Ericsson (publ) Dynamic harq buffer management
CN102362460A (zh) * 2009-04-24 2012-02-22 诺基亚公司 用于delta数据存储的方法和装置
ATE540498T1 (de) 2009-04-27 2012-01-15 Ericsson Telefon Ab L M Verfahren zur durchführung einer schicht 2 verarbeitung unter verwendung einer verteilten speicherarchitektur
CN102208966B (zh) 2010-03-30 2014-04-09 中兴通讯股份有限公司 一种harq合并器和harq数据存储方法
CN102214144B (zh) 2010-04-02 2014-03-12 中兴通讯股份有限公司 一种harq存储器的分层管理方法和系统
CN102447550B (zh) * 2010-09-30 2014-07-16 上海贝尔股份有限公司 混合自动重传请求进程处理的方法及设备
US8724742B2 (en) * 2010-10-06 2014-05-13 Motorola Mobility Llc Method and apparatus for soft buffer management for carrier aggregation
KR101605843B1 (ko) * 2010-11-02 2016-03-23 퀄컴 인코포레이티드 스케줄링 요청 자원들을 이용한 다중 요소 반송파 통신 시스템에서의 하이브리드 자동 재전송 요청 피드백 송신
KR20140023259A (ko) * 2010-11-05 2014-02-26 블랙베리 리미티드 캐리어 집성을 위한 harq 소프트 비트 버퍼 분할
US8885525B2 (en) * 2011-08-24 2014-11-11 Industrial Technology Research Institute Method and apparatus for soft buffer partitioning in time-division duplexing system
CN102541808A (zh) 2011-12-06 2012-07-04 苏州希图视鼎微电子有限公司 Soc芯片系统及实现Soc芯片中可配置缓冲器的方法
US9521669B2 (en) * 2012-04-16 2016-12-13 Blackberry Limited HARQ for dynamic change of the TDD UL/DL configuration in LTE TDD systems
CN103580830B (zh) * 2012-07-18 2018-11-27 北京三星通信技术研究有限公司 一种发送harq-ack反馈信息的方法
US9197365B2 (en) * 2012-09-25 2015-11-24 Nvidia Corporation Decoding a coded data block
US9204437B2 (en) * 2013-02-27 2015-12-01 Qualcomm Incorporated Methods and apparatus for conditional offload of one or more log-likelihood ratios (LLRs) or decoded bits
US9648350B2 (en) * 2013-07-22 2017-05-09 Texas Instruments Incorporated Method and apparatus for decoding a progressive JPEG image
WO2015022750A1 (ja) * 2013-08-15 2015-02-19 富士通株式会社 無線通信システムにおける通信装置および通信方法
KR102064889B1 (ko) * 2013-10-22 2020-01-10 삼성전자 주식회사 데이터 압축 레벨을 최적화하는 harq 신호 처리 장치 및 그 처리 방법
US9674845B2 (en) 2013-11-04 2017-06-06 Qualcomm Incorporated Soft buffer management
KR101792167B1 (ko) * 2014-01-29 2017-10-31 후아웨이 테크놀러지 컴퍼니 리미티드 데이터 전송 방법, 장치 및 시스템
WO2015120907A1 (en) * 2014-02-14 2015-08-20 Telefonaktiebolaget L M Ericsson (Publ) Technique for storing softbits
CN106576266A (zh) * 2014-07-29 2017-04-19 日本电气株式会社 用于处理载波聚合中的下行链路harq过程的方法和装置
US9577793B2 (en) * 2014-09-23 2017-02-21 Intel Corporation Soft buffer management
EP3221987A1 (en) * 2014-11-21 2017-09-27 Telefonaktiebolaget LM Ericsson (publ) Signal processing apparatus and method
US9819454B2 (en) * 2014-12-11 2017-11-14 Nxp Usa, Inc. Wireless communication apparatus and method for HARQ buffer management
US20160227540A1 (en) * 2015-01-30 2016-08-04 Qualcomm Incorporated Soft buffer management for enhanced carrier aggregation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130272192A1 (en) * 2011-01-07 2013-10-17 Mediatek Inc. Apparatuses and Methods for Hybrid Automatic Repeat Request (HARQ) Buffering Optimization
US20120331241A1 (en) * 2011-06-22 2012-12-27 Renesas Mobile Corporation Adaptive Control For Efficient HARQ Memory Usage

Also Published As

Publication number Publication date
TWI666893B (zh) 2019-07-21
CN105893271B (zh) 2021-03-19
US20160241362A1 (en) 2016-08-18
TW201640855A (zh) 2016-11-16
KR20160100258A (ko) 2016-08-23
CN105893271A (zh) 2016-08-24
US20210083809A1 (en) 2021-03-18
US11784760B2 (en) 2023-10-10
US10862630B2 (en) 2020-12-08

Similar Documents

Publication Publication Date Title
KR102569498B1 (ko) 메모리 분할을 구비한 하이브리드 자동 반복 요청 인접 메모리 관리를 위한 방법 및 시스템
US8694731B2 (en) Hybrid automatic repeat request combiner and method for storing hybrid automatic repeat request data
US11005602B2 (en) HARQ buffer size design for communication systems
US10489204B2 (en) Flexible in-order and out-of-order resource allocation
EP3105873B1 (en) Technique for storing softbits
CN102214144A (zh) 一种harq存储器的分层管理方法和系统
US10680762B2 (en) Modem chip for performing hybrid automatic repeat request processing, application processor including the modem chip, and operating method of the modem chip
US20110038341A1 (en) Uplink Scheduling in a Cellular System
US11576190B2 (en) Systems and methods for application aware slicing in 5G layer 2 and layer 1 using fine grain scheduling
JP2021013190A (ja) データ伝送のための制御リソースの使用
US11323209B2 (en) Modem chips and receivers for performing hybrid automatic repeat request processing
CN108089994B (zh) 存储装置以及数据保存方法
CN110679106A (zh) 由无线设备执行的用于处理校正的传输块的方法
CN113645662B (zh) 业务处理方法及装置
CN107567095B (zh) 一种物理上行链路控制信道pucch资源分配方法和基站
CN113395733B (zh) 基于优化harq缓存利用率的提升基站用户容量的方法
CN118251953A (zh) 基于频谱利用在资源受限环境中复用多种无线技术的系统和方法
US20160353464A1 (en) Scheduling method and apparatus of wireless communication system
US10420136B2 (en) Predictive downlink scheduling
CN117931416A (zh) 资源分配方法、装置、存储介质及程序产品
JP2022178213A (ja) 通信制御装置、通信制御方法、及び通信制御プログラム
JP2022112964A (ja) 制御装置、プログラム、及び制御方法
JP2013126077A (ja) スケジューリング装置、スケジューリング方法およびスケジューリングプログラム
CN115189822A (zh) 数据传输方法、装置、ue及可读存储设备

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