KR100861931B1 - 패킷 수집에 적합한 버퍼 디스크립터 구성 장치 및 방법 - Google Patents

패킷 수집에 적합한 버퍼 디스크립터 구성 장치 및 방법 Download PDF

Info

Publication number
KR100861931B1
KR100861931B1 KR1020050049624A KR20050049624A KR100861931B1 KR 100861931 B1 KR100861931 B1 KR 100861931B1 KR 1020050049624 A KR1020050049624 A KR 1020050049624A KR 20050049624 A KR20050049624 A KR 20050049624A KR 100861931 B1 KR100861931 B1 KR 100861931B1
Authority
KR
South Korea
Prior art keywords
packet data
frame
tid
information
buffer
Prior art date
Application number
KR1020050049624A
Other languages
English (en)
Other versions
KR20060128297A (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 KR1020050049624A priority Critical patent/KR100861931B1/ko
Priority to US11/451,969 priority patent/US7636368B2/en
Publication of KR20060128297A publication Critical patent/KR20060128297A/ko
Application granted granted Critical
Publication of KR100861931B1 publication Critical patent/KR100861931B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9042Separate storage for different parts of the packet, e.g. header and payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9084Reactions to storage capacity overflow
    • H04L49/9089Reactions to storage capacity overflow replacing packets in a storage arrangement, e.g. pushout
    • H04L49/9094Arrangements for simultaneous transmit and receive, e.g. simultaneous reading/writing from/to the storage element

Abstract

패킷 수집(Packet Aggregation)을 위한 버퍼 장치 및 방법은, 상기 패킷들의 위치정보를 비트맵으로 구성하고 있는 수집 생성기와, 상기 패킷들의 위치 정보를 이용하여 패킷을 수집하는 수집 제어기에서, 비트맵으로 구성된 프레임 디스크립터(Frame Descriptor)들의 위치정보를 이용하여 패킷들을 수집하는 과정과, 상기 수집된 패킷들을 하나의 수집 PSDU(PHY Service Data Unit)으로 구성하여 목적지로 전송하는 과정과, 상기 전송한 결과를 상기 프레임 디스크립터의 상태 정보에 기록하는 과정을 포함하여, 수집(Aggregation)시 TID(Traffic ID) 검색에 따른 오버헤드가 줄기 때문에 상기 수집에 따른 검색 시간을 단축할 수 있고, 상기 비트맵을 통하여 같은 종류의 트래픽은 상기 TID가 같기 때문에 대략적인 지연 시간 예상이 가능하므로 상기 TID별로 선택적인 프레임의 폐기가 가능하여 QoS를 향상 시킬 수 있는 이점이 있다.
패킷 수집(Packet Aggregation), 버퍼 디스크립터(Buffer Descriptor), 프레임 디스크립터(Frame Descriptor), 비트맵(Bitmap)

Description

패킷 수집에 적합한 버퍼 디스크립터 구성 장치 및 방법{BUFFER DESCRIPTOR CONSTITUTION APPARATUS AND METHOD FOR PACKET AGGREGATION}
도 1은 IEEE 802.11e에서의 접근 카테고리(Access Category)를 이용하여 패킷을 수집하는 BD(Buffer Descriptor)구조를 도시하는 도면,
도 2는 종래 기술에 따른 RX/TX 버퍼 디스크립터의 구조를 도시하는 도면,
도 3a는 종래 기술에 따른 동일 TID를 갖는 FD(Frame Descriptor)를 수집(TID Aggregation)하는 구조를 도시하는 도면,
도 3b는 종래 기술에 따른 동일 AC를 갖는 FD를 수집(AC Aggregation)하는 구조를 도시하는 도면,
도 3c는 종래 기술에 따른 동일 목적지를 갖는 FD를 수집(Terminal Aggregation)하는 구조를 도시하는 도면,
도 4는 본 발명의 실시 예에 따른 패킷을 수집하기 위한 블록 구성을 도시하는 도면,
도 5a는 본 발명의 실시 예에 따른 송신 시 BD를 관리하기 위한 구조를 도시하는 도면,
도 5b는 본 발명의 실시 예에 따른 AC 디스크립터의 구조를 도시하는 도면,
도 5c는 본 발명의 실시 예에 따른 송신 프레임 디스크립터의 구조를 도시하는 도면,
도 6a는 본 발명의 실시 예에 따른 수신 시 BD를 관리하기 위한 구조를 도시하는 도면,
도 6b는 본 발명의 실시 예에 따른 수신 프레임 디스크립터의 구조를 도시하는 도면,
도 7은 본 발명의 실시 예에 따른 송신 시 패킷을 수집하는 절차를 도시하는 도면,
도 8은 본 발명의 실시 예에 따른 수신 시 패킷을 수집하는 절차를 도시하는 도면,
도 9는 본 발명의 실시 예에 따른 새로운 FD가 추가되는 구조를 도시하는 도면,
도 10은 본 발명의 실시 예에 따른 BA를 수신한 FD를 초기화하는 구조를 도시하는 도면,
도 11은 본 발명의 실시 예에 따른 동일 TID를 갖는 FD를 수집하는 구조를 도시하는 도면,
도 12는 본 발명의 실시 예에 따른 동일 AC를 갖는 FD를 수집하는 구조를 도시하는 도면,
도 13은 본 발명의 실시 예에 따른 BA의 수신을 확인하는 구조를 도시하는 도면, 및
도 14는 본 발명의 실시 예에 따른 동일 TID에서 다음 프레임의 지연시간을 예측하기 위한 구조를 도시하는 도면.
본 발명은 패킷 수집(Packet Aggregation)에 적합한 버퍼 디스크립터(Buffer Descriptor : 이하, BD라 칭함) 구성 장치 및 방법에 관한 것으로서, 특히 AC 디스크립터(Access Category Descriptor)에 포함된 프레임 디스크립터(Frame Descriptor : 이하 FD라 칭함)들의 인덱스들을 비트맵(Bitmap)으로 구성하여 상기 FD들의 위치를 쉽게 접근하기 위한 버퍼 디스크립터 장치 및 방법에 관한 것이다.
무선랜 이동 매체 접근 제어(Wireless LAN Mobile Medium Access Control)의 LMAC(Lower MAC)은 상기 무선랜 관련 IEEE(Institute of Electrical and Electronics Engineers) 802.11 계열의 여러 기준들을 지원하는 하드와이어드 MAC(Hardwired MAC)이다. 상기 LMAC은 소프트웨어의 융통성(Flexibility)을 유지하는 범위에서 상기 무선랜 MAC 프로토콜을 하드웨어로 구현함으로써 여러 가지 장점을 갖는다.
만약, 상기 무선랜 MAC 프로토콜을 소프트웨어로 수행하게 되면, 상기 소프트웨어를 수행하고 저장할 메모리가 필요하게 된다. 이때 상기 메모리 크기가 수백 Kbyte 단위로서 설계자에게는 커다란 부담이다. 따라서, 상기 LMAC에서는 호스트 메모리에 저장되는 송·수신 패킷들을 관리하기 위해 상기 버퍼 디스크립터 제어 엔진(Buffer Descriptor Control Engine)을 이용하고 있다.
상기 BD에는 송수신을 위한 각 프레임(Frame)의 컨트롤 정보 및 상태 정보들이 담겨 있다. 따라서, 여러 프레임들을 연속해서 송수신하고자 할 경우에는 상기 BD를 이용한 링크드 리스트(Linked List)를 작성한다.
상기 IEEE 802.11n에서는 높은 처리율(High Throughput : 이하 HT라 칭함)과 전체적인 시스템의 성능 향상 등 MAC에서의 효율을 향상시키기 위하여 프레임 수집(Frame Aggregation), 전력 관리(Power Management), 양방향 데이터 흐름(Bi-directional Data Flow), 채널 관리(Channel Management) 와 피드백 기법(Feedback Mechanism), 및 전송률 적응(Rate Adaptation)의 다섯 가지 특징을 가지고 있다.
상술한 다섯 가지 특징 중, 상기 프레임 수집은 높은 처리율을 보장하기 위한 중요한 방법이다. 즉, 프레임들을 전송할 경우, 상기 프레임들을 각각 전송하게 되면 하나하나의 프레임마다 오버헤드가 추가되어 전송시간이 늘어나고 자원 적으로도 낭비가 심하게 된다. 따라서, 동일한 조건을 갖는 프레임들을 수집(Aggregation)하여 한 번에 수집 PSDU(Aggregated Physical Service Data Unit)를 생성하여 전송하면, 상기 오버헤드를 줄이면서 상기 프레임들을 전송할 수 있다.
하지만, 종래의 IEEE 802.11 기반의 LMAC에서는 상기 프레임 수집을 위한 상기 BD구조를 갖고 있지 못하기 때문에, 종래 기술에 따라서 패킷 수집을 수행할 경우, 각 접근 카테고리(Access Category : 이하, AC라 칭함)별로 각각 BD를 따로 두고 수집을 위한 새로운 BD를 생성하여야 한다.
도 1은 IEEE 802.11e에서의 접근 카테고리를 이용하여 패킷 수집을 위한 BD구조를 도시하고 있다.
상기 도 1을 참조하면, 상기 IEEE 802. 11e에서는 상기 AC(104, 106, 108, 110)별로 BD 리스트(100)와 데이터 버퍼(102)가 분리된 메모리 영역을 갖는다. 여기서, 상기 AC는 상기 무선랜에서 QoS(Quality of Service)를 지원하기 위해 MAC계층에 대해 새로운 메커니즘(Mechanism)을 규정한 것이다. 상기 AC는 높은 우선순위(Prioritization)를 가지는 트래픽은 낮은 우선순위 트래픽보다 매체 접근에 대한 상대적 우선권을 가지므로, 상기 트래픽의 우선순위를 위해 상기 단말은 트래픽의 종류를 4가지(예 : AC0(104), AC1(106), AC2(108), AC3(110))로 구분한다.
상기 AC별로 구분된 상기 BD 리스트(100)는 상기 데이터 버퍼(102)에 저장된 패킷의 포인터주소, 제어 정보 및 상태 정보 등을 포함하는 프레임 디스크립터(Frame Descriptor)로 구성된다. 또한, 상기 AC0에 포함된 BD리스트(104)는 상기 데이터 버퍼(105), 상기 AC1에 포함된 BD리스트(106)는 상기 데이터 버퍼(107), 상기 AC2에 포함된 BD리스트(108)는 상기 데이터 버퍼(109), 상기 AC3에 포함된 BD리스트(110)는 상기 데이터 버퍼(111) 등 각 해당 데이터 버퍼영역을 관리하는 기능을 수행한다.
상기 데이터 버퍼(102)는 전송할 패킷이나 수신된 패킷이 저장되어있는 메모리 영역을 나타낸다.
도 2는 종래 기술에 따른 RX/TX 프레임 디스크립터의 구조를 도시하고 있다. 이하 설명에서, 도 2a는 송신기(Transmitter : 이하 TX라 칭함)의 프레임 디스크립 터의 구조를 도시하고, 도 2b는 수신기(Receiver : 이하 RX라 칭함)의 프레임 디스크립터의 구조를 도시한다.
먼저 상기 도 2a를 참조하면, 상기 TX 프레임 디스크립터는 소유자(Owner) 필드(201), 데이터 길이(Data Length) 필드(203), 헤더길이(Header Length) 필드(205), 버퍼 포인터(Buffer Pointer) 필드(207), 제어 정보(Control Information) 필드(209), 상태 정보(Status Information) 필드(211)로 구성된다.
상기 소유자 필드(201)는 상기 프레임 디스크립터가 제어하는 메모리 영역을 사용하는 사용자의 동작 상태를 나타낸다. 즉, 상기 메모리에 데이터를 저장하는 사용자인가, 상기 메모리에 저장된 데이터를 읽는 사용자인가를 구분한다. 상기 데이터의 길이 필드(203)는 전송할 패킷의 데이터의 길이를 나타내며, 상기 헤더 길이 필드(205)는 상기 전송할 패킷의 헤더의 길이를 나타낸다. 상기 버퍼 포인터 필드(207)는 상기 전송할 패킷에 할당된 메모리 공간에 대한 포인터정보, 즉 상기 전송할 패킷이 할당된 상기 데이터 버퍼(102)의 주소를 갖는다. 상기 제어 정보 필드(209)는 상기 패킷을 전송하기 위한 전송률, 프로토콜(Protocol)정보, 등을 나타내며, 상기 상태 정보 필드(211)는 상기 패킷을 전송한 결과를 저장한다.
상기 도 2b를 참조하면, 상기 RX 프레임 디스크립터는 소유자 필드(221), 패킷 길이(Packet Length) 필드(223), 버퍼 포인터 필드(225), 상태 정보 필드(227)로 구성된다.
상기 소유자 필드(221)는 상기 프레임 디스크립터가 제어하는 메모리 영역을 사용하는 사용자의 동작 상태를 나타낸다. 즉, 상기 메모리에 데이터를 저장하는 사용자와 상기 메모리에 저장된 데이터를 읽는 사용자인가를 구분한다. 상기 패킷 길이 필드(223)는 수신된 패킷의 길이 정보를 저장하고, 상기 버퍼 포인터 필드(225)는 상기 수신된 패킷이 저장된 메모리 공간에 대한 포인터 정보 즉, 상기 수신된 패킷이 저장된 상기 데이터 버퍼(102)의 주소를 갖는다. 상기 상태 정보 필드(227)는 상기 패킷을 수신한 결과를 저장한다.
즉, 상기 도 1과 같은 논리적 버퍼 구조에서 상기 도 2에 도시된 TX/RX 프레임 디스크립터의 구조를 사용하여, MPDU(MAC Protocol Data Unit)를 수집(Aggregation)하기 위해 상기 BD리스트를 원하는 조건별로 검색한다. 여기서, 상기 MPDU는 전송할 하나의 패킷을 의미한다.
도 3a는 종래 기술에 따른 동일 TID를 갖는 FD를 수집하는 구조를 도시하고 있다.
상기 도 3a에 도시된 바와 같이, 상기 AC0영역의 프레임 디스크립터들 중, 동일 TID(Traffic ID)(예 : "TID : 2")를 갖는 패킷들을 수집하는 구조를 나타낸다.
먼저, 상기 TID 2(301)를 갖는 패킷들을 수집하기 위해 상기 AC0 전체를 검색하여, 상기 TID 2(301)를 갖는 프레임 디스크립터들을 수집한다(303). 상기 수집된 프레임 디스크립터들에 연결된 패킷들을 하나의 Aggregation PSDU(Physica Service Data Unit)으로 만들어, 상기 수집된 패킷들을 목적지에 전송한다.
이후, 상기 전송한 수집된 패킷들에 대한 블럭 ACK을 상기 목적지에 요청(Block ACK Request: 이하 BAR이라 칭함)하여, 상기 목적지로부터 상기 요청한 BAR 에 대한 응답으로 블록 ACK(Block ACK : 이하 BA라 칭함)를 수신 받는다(305). 여기서, 상기 BA는 상기 수집하여 전송한 패킷들이 상기 목적지에 정확히 도착되었는지 확인하는 신호로, 상기 프레임 디스크립터가 패킷을 전송한 후, 상기 목적지로 상기 BAR을 요청하면, 상기 목적지는 상기 BAR에 대한 응답으로 상기 BA를 전송한다.
도 3b는 종래 기술에 따른 동일 AC를 갖는 FD를 수집하는 구조를 도시하고 있다.
상기 도 3b에 도시된 바와 같이, 상기 BD리스트에서 동일 AC(Access Category)(예 : "AC0")별로 패킷들을 수집하는 구조를 나타낸다.
먼저, 상기 AC0 전체를 검색하여, 상기 AC0에 포함된 패킷들을 수집하여, 상기 수집된 패킷들을 목적지에 전송한다(311). 이후 상기 전송한 패킷들에 대한 블록 ACK을 상기 목적지에 요청(BAR)하고, 상기 목적지로부터 상기 BAR에 대한 BA를 수신한다(313). 여기서, 상기 BA 수신시, 상기 BA는 상기 패킷들이 갖는 TID별로 시퀀스(Sequence)가 다르기 때문에 상기 패킷들의 TID별로 상기 BA을 수신해야 한다. 따라서, 상기 BA를 수신한 후, 다시 BD리스트를 검색하여 각 패킷들의 TID를 확인하여 각 TID별로 BA를 수신한다.
도 3c는 종래 기술에 따 동일 목적지를 갖는 FD를 수집하는 구조를 도시하고 있다.
상기 도 3c에 도시된 바와 같이, 상기 BD리스트 전체에서 상기 목적지(예 : "Dest :2")별로 패킷을 수집하는 구조를 나타낸다.
먼저, 상기 BD리스트 전체를 검색하여 상기 수집하고자 하는 동일 목적지를 갖는 패킷들을 수집한다(317). 상기 수집된 패킷들을 목적지에 전송한 후, 상기 전송한 패킷들에 대해 블록 ACK을 상기 목적지에 요청(BAR)하고, 상기 목적지로부터 상기 요청에 대한 BA를 수신한다(319). 여기서, 상기 BA 수신시, 상기 BA는 상기 패킷들의 TID별로 시퀀스(Sequence)가 다르기 때문에 상기 패킷들의 TID별로 상기 BA를 수신해야 한다. 따라서, 상기 BA를 수신한 후, 다시 BD리스트를 검색하여 각 패킷들의 TID를 확인하여 각 TID별로 BA를 수신한다.
상술한 바와 같이 종래의 IEEE 802.11 기반의 LMAC에서는 상기 프레임 수집을 위한 상기 BD구조를 갖고 있지 못하기 때문에 상기 AC를 이용하여 상기 BD를 지원한다. 상기와 같이 종래의 BD기술은 상기 특정 패킷을 수집( 예 : TID별, AC별, 목적지별)할 경우, 수집 디스크립터는 특정부분만을 검색하는 것이 아니라 상기 BD리스트 전체를 검색해야하기 때문에 상기 검색에 소비되는 오버헤드가 증가하는 문제와, 상기 BAR/BA를 상기 TID별로 주고받기 때문에 상기 BA를 요청·수신할 때마다 상기 BD리스트 전체 검색하여 상기 TID를 찾아야하는 문제점이 있다.
따라서, 본 발명의 목적은 프레임 디스크립터들을 AC(Access Category)에 따라 그룹화하지 않고 버퍼를 유연하게 사용하기 위한 장치 및 방법을 제공함에 있다.
본 발명의 다른 목적은 비트맵을 사용하여 정보 검색에 따르는 오버헤드를 줄이기 위한 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 비트맵을 사용하여 다음 프레임의 지연시간을 예측할 수 있는 장치 및 방법을 제공함에 있다.
상기 목적들을 달성하기 위한 본 발명의 제 1견지에 따르면, 패킷 수집(Packet Aggregation)을 위한 버퍼 장치는, 전송할 패킷들을 프레임단위로 저장하는 버퍼와, 상기 버퍼에 저장된 패킷들의 위치 정보를 AC(Access Category)별 및 TID(Traffic ID)별로 구분하여 비트맵으로 구성하며, 상기 패킷들의 수집 조건에 따라, 수집할 패킷들의 위치정보를 수집 제어기에 제공하는 수집 생성기와, 상기 수집 생성기로부터 제공받은 상기 비트맵으로 구성된 수집할 패킷들의 위치정보를 제공받아, 상기 제공받은 위치정보의 패킷들을 수집하여 하나의 수집 PSDU(PHY Service Data Unit)로 구성하여 목적지로 전송하는 수집 제어기를 포함하는 것을 특징으로 한다.
본 발명의 제 2견지에 따르면, 송신모드 시 패킷 수집(Packet Aggregation)하기 위한 버퍼의 동작 방법은, 비트맵으로 구성된 프레임 디스크립터(Frame Descriptor)들의 위치정보를 이용하여 패킷들을 수집하는 과정과, 상기 수집된 패킷들을 하나의 수집 PSDU(PHY Service Data Unit)으로 구성하여 목적지로 전송하는 과정과, 상기 전송한 결과를 상기 프레임 디스크립터의 상태 정보에 기록하는 과정을 포함하는 것을 특징으로 한다.
본 발명의 제 3견지에 따르면, 패킷 수집(Packet Aggregation)을 위한 버퍼 디스크립터(Buffer Descriptor)에서 패킷들의 위치 정보를 비트맵으로 구성하는 방 법은, 전송할 패킷이 발생할 경우, 상기 패킷을 메모리의 빈공간에 할당하는 과정과, 프레임 디스크립터를 생성하여, 상기 프레임 디스크립터와 상기 패킷에 할당된 메모리 주소를 연결하는 과정과, 상기 프레임 디스크립터의 AC(Access Category)정보와 TID(Traffic ID)정보를 확인하는 과정과, 상기 확인된 AC정보와 TID정보를 이용하여 프레임 디스크립터가 포함된 AC의 버퍼 디스크립터의 비트맵 정보를 갱신하는 과정을 포함하는 것을 특징으로 한다.
이하 본 발명의 바람직한 실시 예를 첨부된 도면의 참조와 함께 상세히 설명한다. 그리고, 본 발명을 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단 된 경우 그 상세한 설명은 생략한다.
이하 본 발명은 패킷을 수집(Aggregation) 할 경우, 검색에 따르는 오버헤드를 비트맵을 이용하여 줄이기 위한 새로운 BD(Buffer Descriptor)관리방법에 대해 설명할 것이다.
도 4는 본 발명의 실시 예에 따른 패킷을 수집하기 위한 블록 구성을 도시하고 있다.
상기 도 4에 도시된 바와 같이, HCF제어기(High Cycle Fatigue Controller)(401), Aggregation 제어기(403), Aggregation 생성기(409). 버퍼 제어 엔진(Buffer Control Engine : 이하, BCE라 칭함)(405), DMA 제어기(Direct Memory Access Controller)(407)로 구성된다.
상기 HCF 제어기(401)는 AP(Access Pointer)에서 스케줄링하여 수집(Aggregation)하는데 할당된 시간(TXOP(Transmitter Opportunity) Limit)을 상기 Aggregation 제어기(403)에 제공한다.
상기 Aggregation 제어기(403)는 상기 HCF 제어기(401)로부터 TXOP Limit를 제공받아 수집에 할당된 시간동안 보낼 수 있는 패킷을 길이를 결정하여 상기 패킷을 수집하는 기능을 수행한다. 또한, 패킷 수집(Packet Aggregation)에 관한 전반적인 동작을 제어한다. 여기서, 상기 패킷의 개수는, 상기 Aggregation 제어기(403)는 상기 Aggregation 생성기(405)에 수집 시작 신호를 전송하여 상기 패킷을 수집을 수행함을 알리면, 상기 수집 시작 신호를 수신한 상기 Aggregation 생성기(405)는 비트맵으로 구성된 수집할 패킷들의 위치 정보를 상기 Aggregation 제어기(403)에 제공한다. 상기 수집할 패킷들의 위치 정보를 제공받은 상기 Aggregation 제어기(403)는 상기 수집할 패킷들의 위치 정보를 상기 BCE(407)에 전송한다. 상기 BCE(407)는 상기 수집할 패킷들의 위치 정보를 제공받아, 상기 패킷들의 상태 정보(Status Information)와 제어 정보(Control Information)를 상기 Aggregation 제어기(403)에 제공한다. 상기 제공받은 해당패킷들의 상태 정보와 제어정보( 예 : 패킷 길이, 전송률)를 이용하여 상기 Aggregation 제어기(403)는 상기 할당된 시간동안 보낼 수 있는 패킷을 개수를 결정한다.
즉, 상기 Aggregation 생성기(405)는 비트맵을 이용하여 상기 패킷들의 위치 정보를 구성하고 있다. 여기서, 상기 패킷들의 위치 정보는, 상기 패킷들이 저장된 메모리 주소를 가리키는 프레임 디스크립터(Frame Descriptor)들의 인덱스들을 비트맵으로 구성한 것이다.
더욱이, 상기 Aggregation 생성기(405)는 임의의 패킷이 메모리에 추가되거나 삭제될 경우, 상기 Aggregation 제어기(403)의 제어에 따라 상기 임의의 패킷에 할당된 프레임 디스크립터의 인덱스를 이용하여 상기 비트맵을 갱신한다.
상기 DMA 제어기(409)는 상기 BCE(407)가 요청한 패킷들을 저장되어있는 메모리로 연결해주는 역할을 수행한다.
도 5a는 본 발명의 실시 예에 따른 송신시 BD를 관리하기 위한 구조를 도시하고 있다.
상기 도 5a에 도시된 바와 같이 새로운 BD관리 구조는 AC디스크립터(Access Category Descriptor)(501), 프레임 디스크립터(Frame Descriptor : 이하, FD라 칭함)(503), 프레임 본문(Frame Body)(505)로 구성된다.
먼저, 상기 AC 디스크립터(501)는 해당 AC(Access Category : 이하, AC라 칭함)에 포함된 FD들의 위치를 나타내는 비트맵을 포함하여 상기 FD를 쉽게 검색할 수 있게 한다. 예를 들어, 상기 AC디스크립터(501)는 도 5b에 도시된 바와 같은 구조를 갖는다.
WR 플래그 필드(511)는 상기 AC 디스크립터(501)의 내용을 갱신할 것인지, 상기 AC디스크립터(501)의 내용을 읽을 것인지를 나타내고, MAX.NUM of FD필드(513)는 메모리에 있는 상기 프레임 디스크립터(503)의 최대 개수를 나타낸다. 또한, 상기 프레임 디스크립터(503)의 최대 개수는 FD 비트맵(FD bitmap)필드(517)와 FD 비트맵 확인(Confimed FD bitmap)필드(519)의 길이(비트수)를 나타내며, AC.NUM of FD필드(515)는 특정 AC(예 : AC0, AC1, AC2, AC3)에 포함되는 FD의 개수를 나타낸다.
FD 비트맵필드(517)는 특정 AC에 포함되는 FD들의 위치를 비트맵을 이용하여 표시한다. 여기서, 상기 비트맵은, 메모리에 있는 모든 FD들의 개수만큼의 비트수를 가지며, 특정 AC에 포함되는 FD들의 인덱스 위치의 비트만을 1로 설정하여 위치를 표현한다.
FD 비트맵 확인필드(519)는 패킷들을 수집하여 송신한 후, 각 패킷들의 BA를 수신하는 것을 확인하기 위하여, 상기 BA가 수신된 패킷들의 FD의 인덱스를 1로 설정하여 상기 BA가 수신된 FD를 쉽게 찾을 수 있게 한다(이하, 도 13에서 상세히 설명한다).
TID의 개수(NUM of TID)(521)필드는 상기 특정 AC에 포함되는 TID 종류(예 : TID 1, TID 2, TID 3 )의 개수를 나타낸다. TID필드(523)은 해당 TID의 인덱스를 나타내며, TID 비트맵필드(525)는 상기 특정 AC에 포함되면 상기 TID필드(523)의 인덱스를 갖는 FD 인덱스를 나타낸다. 마지막으로 Reserved 필드(527)는 여유 공간을 나타낸다.
다음으로 프레임 디스크립터(503)는, 상기 패킷이 저장된 메모리 영역을 연결하는 기능을 수행하며, 링구조로 궤환적인 어레이(Array)구조를 갖는다. 예를 들어, 상기 프레임 디스크립터(503)는, 도 5c에 도시된 바와 같은 구조를 갖는다.
소유자(Owner)필드(531)는 상기 프레임 디스크립터(503)에 할당된 메모리 영 역을 사용하는 사용자의 동작을 나타낸다. 즉, 상기 메모리에 데이터를 저장하는 사용자일 경우 Host로 설정하고, 상기 메모리에 저장된 데이터를 읽는 사용자일 경우, LMAC로 설정한다. 데이터 길이(Data Length) 필드(533)는 전송할 패킷의 데이터의 길이를 나타내며, 헤더 길이(Header Length) 필드(535)는 상기 전송할 패킷의 헤더의 길이를 나타낸다.
헤더(Header) 필드(537)는 상기 전송할 패킷의 헤더를 나타내며, 버퍼 포인터(Buffer Pointer) 필드(539)는 상기 전송할 패킷에 할당된 메모리 공간에 대한 포인터정보 즉, 상기 전송할 패킷이 할당된 메모리 주소를 갖는다.
MD(MPDU Delimiter) 필드(541)는 상기 전송할 패킷들을 동일한 조건으로 수집하여 하나의 Aggregation PSDU(Physical Service Data Unit)로 구성하여 전송하는데, 상기 Aggregation PSDU내에서 각각의 패킷들을 구분하는 기능을 수행한다.
제어 정보(Control Information) 필드(543)는 상기 패킷을 전송하기 위한 전송률, 프로토콜(Protocol)정보, 등을 나타내며, 상태 정보(Status Information) 필드(545)는 상기 패킷을 전송한 결과를 저장하고, Reserved 필드(527)는 여유 공간을 나타낸다.
마지막으로 프레임 본문(505)은 송신할 패킷이 저장되어있는 메모리 영역으로 상기 프레임 디스크립터(503)의 버퍼 포인터(539)에 저장된 포인터 정보에 의해 연결된다.
도 6a는 본 발명의 실시 예에 따른 RX시 BD를 관리하기 위한 구조를 도시하고 있다.
상기 도 6a에 도시된 바와 같이 RX 버퍼 관리를 위해서 프레임 디스크립터(Frame Descriptor)(601)과 프레임 본문(603)만을 포함한다.
먼저, 상기 프레임 디스크립터(601)는 링구조를 갖으며, 상기 RX버퍼를 관리하는 기능을 수행한다. 예를 들어, 상기 프레임 디스크립터(601)는 도 6b에 도시된 바와 같은 구조를 갖는다.
소유자(Owner)(611)는 메모리를 사용하는 사용자의 동작을 나타낸다. 즉, 상기 메모리에 데이터를 저장하는 사용자일 경우 LMAC로 설정하고, 상기 메모리에 저장된 데이터를 읽는 사용자일 경우, Host로 설정한다. 데이터 길이(Data Length)(613)은 수신된 데이터의 길이를 저장하고, 버퍼 포인터(Buffer Pointer)(615)는 상기 수신된 데이터가 저장된 메모리 공간에 대한 포인터 정보 즉, 상기 수신된 패킷의 메모리 주소를 갖는다. 상태 정보(Status Information)(617)는 상기 패킷을 수신한 결과를 저장한다.
도 7은 본 발명의 실시 예에 따른 송신시 패킷을 수집하는 절차를 도시하고 있다.
상기 도 7을 참조하면, 먼저 Aggregation 제어기(403)는 전송할 패킷이 발생할 경우, 상기 패킷을 메모리의 빈 공간에 저장한다(701단계). 상기 패킷을 상기 메모리의 빈 공간에 저장한 후, 상기 Aggregation 제어기(403)는 상기 저장된 패킷을 관리하기 위한 프레임 디스크립터(Frame Descriptor)를 작성한다. 즉, 상기 도 5c에 도시된 바와 같은 구조를 갖는 프레임 디스크립터에 상기 패킷이 포함된 버퍼의 메모리 주소를 링크시키고, 상기 패킷에 대한 제어 정보(예 : 전송률, 프로토콜 (Protocol)정보, 등)를 작성한다(703단계).
이후, 상기 Aggregation 제어기(403)는 상기 패킷의 AC(Access Category)와 TID(Traffic ID)를 확인하여(705단계), 해당 AC의 AC 디스크립터에 상기 FD를 적용시킨다(707단계). 예를 들어, 상기 AC 디스크립터에 하나의 FD를 적용하는 것은 도 9에 도시된 바와 같은 구조를 갖는다.
이하 설명은 AC0 디스크립터에 하나의 패킷이 추가될 경우, 상기 추가되는 패킷의 FD가 추가되는 구조(900)와, 상기 FD가 추가될 경우의 상기 AC0 디스크립터의 구조(902)를 나타낸다.
먼저, 상기 AC0 디스크립터에 하나의 패킷이 추가되는 구조(900)는, 상기 AC0 디스크립터에 포함된 FD들 중, 첫 번째 FD(911)의 인덱스를 헤더(Head) 인덱스로 하고, 마지막 FD(913)의 인덱스를 테일(Tail)인덱스로 한다. 이때, 상기 TID 1을 갖는 FD(915)가 추가될 경우, 장치 드라이버(Device Driver)는 테일 레지스터(Tail Register)를 통해 상기 마지막 FD(913)를 가리키던 BD 어레이의 테일 인덱스를 아래로 이동시켜 새로 추가된 FD(915)의 인덱스를 상기 테일 인덱스로 한다.
상기 FD가 추가될 경우, 상기 AC0 디스크립터의 구조(902)는, 상기 FD(915)가 추가되면, 상기 AC0에 포함되는 상기 FD가 5개로 증가하므로 상기 AC.NUM of FD필드(515)는 5가 되고(921), 상기 FD 비트맵필드(517)의 비트맵의 마지막에 1을 추가한다(923)(101001…1 → 101001…11). 또한, 상기 추가된 FD를 전송하여 BA를 수신하였을 경우, 상기 FD 비트맵 확인필드(519)의 비트맵의 마지막을 1을 추가한다(925)(101001…1 → 101001…11).
또한, 상기 추가된 FD가 TID 1을 가지므로 상기 TID 1의 TID 비트맵필드(927)의 비트맵의 마지막에 1을 추가하며(001001…0 → 001001…01), TID 2의 TID 비트맵 필드(929)의 비트맵의 마지막은 0을 추가한다(100000…1 → 100000…10).
상기 707단계에서 상기 전송할 패킷의 FD를 상기 AC에 적용한 후, 상기 Aggregation 제어기(403)는 수집하고자 하는 조건을 갖는 패킷들을 상기 AC 디스크립터의 비트맵을 이용하여 수집한다(이하 도 11과 도 12에서 상세히 설명한다)(709단계).
이후, 상기 Aggregation 제어기(403)는 상기 수집한 패킷들을 하나의 Aggregation PSDU(Physical Service Data Unit)로 합성하여 물리계층을 통해 목적지로 전송한 후(711단계), 상기 FD의 상태 정보 필드(545)에 상기 Aggregation PSDU의 전송 결과, 즉 각 패킷들의 전송결과를 작성한다(713단계).
이후 미 도시되었지만, 상기 패킷들에 대한 BA(Block ACK)가 수신되면, 상기 BA를 수신한 패킷을 FD를 초기화시킨다. 예를 들어, 상기 BA를 수신한 FD를 초기화하는 것은 도 10에 도시된 바와 같은 구조를 갖는다.
이하 설명은 AC0 디스크립터에서 BA를 수신한 FD를 초기화할 경우, 상기 FD를 초기화하는 구조(1000)와, 상기 FD가 초기화될 경우의 상기 AC0 디스크립터의 구조(1002)를 나타낸다.
먼저, 상기 FD를 초기화하는 구조(1000)를 참조하면, 상기 AC0 디스크립터에 포함되는 FD들 중, 첫번째 FD(1111)를 헤더(Head) 인덱스로 하고, 마지막 FD(1115)를 테일(Tail) 인덱스로 한다. 이때, 상기 첫번째 FD(1111)에 대한 BA가 수신되면, 장치 드라이버(Device Driver)는 상기 FD(1111)를 초기화하고, 상기 FD(1111)이 헤더(Head) 인덱스이므로, 상기 TX/헤더 레지스터를 한단계 아래로 이동시켜 다음 FD(1113)를 헤더 인덱스로 한다.
다음으로 상기 FD가 초기화될 경우의 상기 AC0 디스크립터의 구조(1002)는, 상기 FD(1111)이 초기화 되었으므로, 상기 AC0에 포함되는 상기 FD의 개수가 4개로 감소하므로, 상기 AC.NUM of FD필드(515)는 4가 되고(1021), 상기 FD 비트맵필드(517)의 비트맵의 첫번째 1을 0으로 갱신하고(011001…11 → 001001…11) 헤더 인덱스를 FD(1113)으로 한다(1123). 또한, 상기 FD 비트맵 확인필드(519)의 비트맵의첫번째 1을 0으로 갱신한다(011001…11 → 001001…11)(1125).
또한, 상기 초기화된 FD(1111)의 TID가 2이므로 상기 TID 2의 TID 비트맵 필드(1027)의 비트맵의 상기 FD(1111) 인덱스의 비트를 0으로 갱신한다(010000…10 → 000000…10).
이후, 상기 Aggregation 제어기(403)는 상기 패킷을 전송하는 알고리즘을 종료한다.
도 8은 본 발명의 실시 예에 따른 수신시 패킷을 수집하는 절차를 도시하고 있다.
상기 도 8을 참조하면, 먼저 Aggregation 제어기(403)는 물리계층으로부터 패킷이 수신되면(801단계), 상기 수신된 패킷을 메모리의 빈 공간에 저장한 후, 상기 메모리에 저장된 패킷을 관리하기 위한 프레임 디스크립터(Frame Descriptor)를 작성한다. 즉, 상기 프레임 디스크립터에 상기 패킷이 포함된 버퍼 메모리 주소를 링크시킨다(803). 이후, 상기 Aggregation 제어기(403)는 상기 패킷이 수신된 결과를 상기 상태 정보 필드(617)에 기록한다(805).
이후, 상기 Aggregation 제어기(403)는 상기 패킷이 수신되는 알고리즘을 종료한다.
도 11은 본 발명의 실시 예에 따른 동일 TID별로 FD를 수집하기 위한 구조를 도시하고 있다. 이하 설명은, AC0 디스크립터(1101)에서 TID(Traffic ID)가 1인 프레임 디스크립터(Frame Descriptor)만을 검색하는 경우를 나타낸다.
상기 도 11을 참조하면, 상기 AC0 디스크립터(1101)에서 TID가 1을 갖는 FD의 위치 정보를 나타내는 TID 비트맵(1103)을 확인하여, 상기 비트맵이 1인 부분의 인덱스를 갖는 FD만을 수집한다(1105, 1107).
도 12는 본 발명의 실시 예에 따른 동일 AC별로 FD를 수집하기 위한 구조를 도시하고 있다. 이하 설명은, AC0디스크립터의 프레임 디스크립터(Frame Descriptor)를 검색하는 경우를 나타낸다.
상기 도 12를 참조하면, 상기 AC0 디스크립터(1201)에 속한 FD의 위치 정보를 나타내는 비트맵(1203)을 확인하여, 상기 비트맵이 1인 부분의 FD 인덱스를 갖는 FD(1205~1211)만을 수집한다.
도 13은 본 발명의 실시 예에 따른 BA의 수신을 확인하는 구조를 도시하고 있다. 이하 설명은, TID 1을 갖는 프레임 디스크립터(Frame Descriptor)의 BA(Block Ack)를 확인하기 위한 것을 가정하여 설명한다.
상기 도 13을 참조하면, 송신한 프레임 디스크립터들 중 BA를 수신한 상기 프레임 디스크립터의 인덱스를 1로 설정한 Confimed FD bitmap(1301)과 TID 1을 갖는 프레임 디스크립터의 위치를 나타낸 TID 1 Bitmap(1303)을 AND논리 연산을 수행하여 상기 TID 1을 갖는 프레임 디스크립터의 BA수신을 확인한다(1305).
도 14는 본 발명의 실시 예에 따른 동일 TID에서 다음 프레임의 지연시간을 예측하기 위한 구조를 도시하고 있다. 이하 설명에서 각 패킷들의 전송시간은 동일한 것으로 가정한다.
상기 도 14에 도시된 바와 같이, TID 1을 갖는 프레임 디스크립터의 비트맵 필드에서 1로 표시된 부분 사이의 비트수를 알 수 있기 때문에, 즉, 상기 TID 1을 갖는 프레임 사이에 포함된 프레임수를 알 수 있기 때문에, 상기 TID 1을 갖는 프레임 디스크립터사이의 지연 시간을 알수 있다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
상술한 바와 같이, BD리스트(Buffer Descriptor List)의 프레임 디스크립터(Frame Descriptor)들을 AC(Access Category)별로 그룹화하지 않고 비트맵을 이용하여 상기 AC별로 상기 프레임 디스크립터들의 위치를 구성하여, 수집 (Aggregation)시 TID(Traffic ID) 검색에 따른 오버헤드가 줄기 때문에 상기 수집에 따른 검색 시간을 단축할 수 있고, 상기 비트맵을 통하여 같은 종류의 트래픽은 상기 TID가 같기 때문에 대략적인 지연 시간 예상이 가능하므로 상기 TID별로 선택적인 프레임의 폐기가 가능하여 QoS를 향상 시킬 수 있는 이점이 있다.

Claims (18)

  1. 패킷 데이터 수집(Packet Data Aggregation)을 위한 버퍼 장치에 있어서,
    전송할 패킷 데이터들을 프레임단위로 저장하는 버퍼와,
    상기 버퍼에 저장된 패킷 데이터들의 위치 정보를 AC(Access Category)별 및 TID(Traffic ID)별로 구분하여 비트맵으로 구성하며, 상기 패킷 데이터들의 수집 조건에 따라, 수집할 패킷 데이터들의 위치정보를 수집 제어기에 제공하는 수집 생성기와,
    상기 수집 생성기로부터 제공받은 상기 비트맵으로 구성된 수집할 패킷 데이터들의 위치정보를 제공받아, 상기 제공받은 위치정보의 패킷 데이터들을 수집하여 하나의 수집 PSDU(PHY Service Data Unit)로 구성하여 목적지로 전송하는 수집 제어기를 포함하는 것을 특징으로 하는 장치.
  2. 제 1항에 있어서,
    상기 비트맵은,
    상기 패킷 데이터들이 할당된 메모리 주소를 관리하는 프레임 디스크립터(Frame Descriptor)들의 인덱스와 일대일 매핑되며, 상기 AC 및 TID별로 상기 AC 및 TID 각각에 포함되는 상기 프레임 디스크립터들의 인덱스 위치를 1로 세팅하는 것을 특징으로 하는 장치.
  3. 제 1항에 있어서,
    상기 수집할 패킷 데이터들의 위치 정보를 제공받아, 상기 패킷 데이터들의 제어정보를 상기 수집 제어기로 제공하는 버퍼 제어엔진을 더 포함하여,
    상기 수집 제어기는 상기 버퍼 제어엔진으로부터 제공받은 패킷 데이터들의 제어정보를 이용하여 수집패킷 데이터의 길이를 결정하는 것을 더 포함하는 것을 특징으로 하는 장치.
  4. 제 3항에 있어서,
    상기 제어정보는, 상기 수집할 패킷 데이터들의 길이 및 전송률을 포함하는 것을 특징으로하는 장치.
  5. 송신모드 시 패킷 데이터 수집(Packet Data Aggregation)하기 위한 버퍼의 동작 방법에 있어서,
    비트맵으로 구성된 프레임 디스크립터(Frame Descriptor)들의 위치정보를 이용하여 패킷 데이터들을 수집하는 과정과,
    상기 수집된 패킷 데이터들을 하나의 수집 PSDU(PHY Service Data Unit)으로 구성하여 목적지로 전송하는 과정과,
    상기 전송한 결과를 상기 프레임 디스크립터의 상태 정보에 기록하는 과정을 포함하는 것을 특징으로 하는 방법.
  6. 제 5항에 있어서,
    상기 프레임 디스크립터는, 상기 패킷 데이터에 할당된 버퍼 주소를 관리하는 것을 특징으로 하는 방법.
  7. 제 5항에 있어서,
    상기 프레임 디스크립터들의 위치정보는, 상기 프레임 디스크립터들 각각의 AC(Access Category)정보와 TID(Traffic ID)정보를 이용하여 구성한 특정 AC에 포함되는 상기 프레임 디스크립터들의 위치를 나타내는 프레임 디스크립터 비트맵 정보와, 상기 특정 AC에 포함되는 프레임 디스크립터들을 상기 TID별로 구분하여 나타내는 TID 비트맵 정보를 포함하는 것을 특징으로 하는 방법.
  8. 제 7항에 있어서,
    상기 프레임 디스크립터 비트맵정보는, 상기 버퍼에 포함된 전체 프레임 디 스크립터들의 인덱스와 일대일 매핑되며, 상기 전체 프레임 디스크립터들 중 상기 AC에 포함된 상기 프레임 디스크립터들의 인덱스만을 1로 세팅하는 것을 특징으로 하는 방법.
  9. 제 7항에 있어서,
    상기 TID 비트맵정보는, 상기 버퍼에 포함된 전체 프레임 디스크립터들의 인덱스와 일대일 매핑되며, 상기 AC에 포함되는 프레임 디스크립터들을 TID별로 구분하여 해당 TID를 갖는 상기 프레임 디스크립터들의 인덱스만을 1로 세팅한 TID 비트맵정보를 포함하는 것을 특징으로 하는 방법.
  10. 패킷 데이터 수집(Packet Data Aggregation)을 위한 버퍼 디스크립터(Buffer Descriptor)에서 패킷 데이터들의 위치 정보를 비트맵으로 구성하는 방법에 있어서,
    전송할 패킷 데이터들을 버퍼의 빈공간에 할당하는 과정과,
    프레임 디스크립터를 생성하여, 상기 프레임 디스크립터와 상기 패킷 데이터에 할당된 메모리 주소를 연결하는 과정과,
    상기 프레임 디스크립터의 AC(Access Category)정보와 TID(Traffic ID)정보를 확인하는 과정과,
    상기 확인된 AC정보와 TID정보를 이용하여 프레임 디스크립터가 포함된 AC 버퍼 디스크립터의 비트맵 정보를 갱신하는 과정을 포함하는 것을 특징으로 하는 방법.
  11. 제 10항에 있어서,
    상기 프레임 디스크립터는, 상기 패킷 데이터에 할당된 상기 버퍼의 주소를 관리하는 것을 특징으로 하는 방법.
  12. 제 10항에 있어서,
    상기 AC 버퍼 디스크립터의 비트맵 정보의 갱신은, 상기 AC에 포함된 상기 프레임 디스크립터들의 위치를 나타내는 프레임 디스크립터 비트맵정보와 상기 AC에 포함되는 프레임 디스크립터들을 TID(Traffic ID)별로 나타내는 TID 비트맵정보를 갱신하는 것을 특징으로 하는 방법.
  13. 제 12항에 있어서,
    상기 프레임 디스크립터 비트맵정보는, 상기 버퍼에 포함된 전체 프레임 디 스크립터들의 인덱스와 일대일 매핑되며, 상기 전체 프레임 디스크립터들 중 상기 AC에 포함된 상기 프레임 디스크립터들의 인덱스만을 1로 세팅하는 것을 특징으로 하는 방법.
  14. 제 12항에 있어서,
    상기 TID 비트맵정보는, 상기 버퍼에 포함된 전체 프레임 디스크립터들의 인덱스와 일대일 매핑되며, 상기 AC에 포함되는 프레임 디스크립터들을 TID(Traffic ID)별로 구분하여 해당 TID를 갖는 상기 프레임 디스크립터들의 인덱스만을 1로 세팅한 TID 비트맵정보를 포함하는 것을 특징으로 하는 방법.
  15. 패킷 데이터 수집(Packet Data Aggregation)을 위한 통신 시스템에 있어서,
    전송할 패킷 데이터들을 프레임단위로 저장하는 버퍼와,
    상기 버퍼에 저장된 패킷 데이터들의 위치 정보를 AC(Access Category)별 및 TID(Traffic ID)별로 구분하여 비트맵으로 구성하며, 상기 패킷 데이터들의 수집 조건에 따라, 수집할 패킷 데이터들의 위치정보를 수집 제어기에 제공하는 수집 생성기와,
    상기 수집 생성기로부터 제공받은 상기 비트맵으로 구성된 수집할 패킷 데이터들의 위치정보를 제공받아, 상기 제공받은 위치정보의 패킷 데이터들을 수집하여 하나의 수집 PSDU(PHY Service Data Unit)로 구성하여 목적지로 전송하는 수집 제어기를 포함하는 것을 특징으로 하는 시스템.
  16. 제 15항에 있어서,
    상기 비트맵은,
    상기 패킷 데이터들이 할당된 메모리 주소를 관리하는 프레임 디스크립터(Frame Descriptor)들의 인덱스와 일대일 매핑되며, 상기 AC 및 TID별로 상기 AC 및 TID 각각에 포함되는 상기 프레임 디스크립터들의 인덱스 위치를 1로 세팅하는 것을 특징으로 하는 시스템.
  17. 제 15항에 있어서,
    상기 수집할 패킷 데이터들의 위치 정보를 제공받아, 상기 패킷 데이터들의 제어정보를 상기 수집 제어기로 제공하는 버퍼 제어엔진을 더 포함하여,
    상기 수집 제어기는 상기 버퍼 제어엔진으로부터 제공받은 패킷 데이터들의 제어정보를 이용하여 수집패킷 데이터의 길이를 결정하는 것을 더 포함하는 것을 특징으로 하는 시스템.
  18. 제 17항에 있어서,
    상기 제어정보는, 상기 수집할 패킷 데이터들의 길이 및 전송률을 포함하는 것을 특징으로 하는 시스템.
KR1020050049624A 2005-06-10 2005-06-10 패킷 수집에 적합한 버퍼 디스크립터 구성 장치 및 방법 KR100861931B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020050049624A KR100861931B1 (ko) 2005-06-10 2005-06-10 패킷 수집에 적합한 버퍼 디스크립터 구성 장치 및 방법
US11/451,969 US7636368B2 (en) 2005-06-10 2006-06-12 Apparatus and method for configuring buffer descriptor suitable for packet aggregation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050049624A KR100861931B1 (ko) 2005-06-10 2005-06-10 패킷 수집에 적합한 버퍼 디스크립터 구성 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20060128297A KR20060128297A (ko) 2006-12-14
KR100861931B1 true KR100861931B1 (ko) 2008-10-09

Family

ID=37524058

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050049624A KR100861931B1 (ko) 2005-06-10 2005-06-10 패킷 수집에 적합한 버퍼 디스크립터 구성 장치 및 방법

Country Status (2)

Country Link
US (1) US7636368B2 (ko)
KR (1) KR100861931B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101327867B1 (ko) 2011-12-12 2013-11-12 주식회사 시큐아이 패킷 전송 방법 및 패킷 전송 장치

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8724485B2 (en) 2000-08-30 2014-05-13 Broadcom Corporation Home network system and method
AU2001288532A1 (en) 2000-08-30 2002-03-13 Tiaris, Inc. A home network system and method
US9094226B2 (en) 2000-08-30 2015-07-28 Broadcom Corporation Home network system and method
KR100767314B1 (ko) * 2005-12-08 2007-10-17 한국전자통신연구원 무선 랜의 집합 프레임 처리를 위한 수신 스테이션, 수신처리 장치 및 방법
US7742495B2 (en) 2006-11-20 2010-06-22 Broadcom Corporation System and method for retransmitting packets over a network of communication channels
US7782850B2 (en) 2006-11-20 2010-08-24 Broadcom Corporation MAC to PHY interface apparatus and methods for transmission of packets through a communications network
US7697522B2 (en) * 2006-11-20 2010-04-13 Broadcom Corporation Systems and methods for aggregation of packets for transmission through a communications network
US8090043B2 (en) 2006-11-20 2012-01-03 Broadcom Corporation Apparatus and methods for compensating for signal imbalance in a receiver
US8345553B2 (en) 2007-05-31 2013-01-01 Broadcom Corporation Apparatus and methods for reduction of transmission delay in a communication network
US7574539B2 (en) 2007-08-30 2009-08-11 Intel Corporation Dynamic A-MSDU enabling
US20090165070A1 (en) * 2007-12-19 2009-06-25 Broadcom Corporation SYSTEMS AND METHODS FOR PROVIDING A MoCA COMPATABILITY STRATEGY
US8559306B2 (en) * 2008-02-13 2013-10-15 Cisco Technology, Inc. End-to-end packet aggregation in mesh networks
US8098770B2 (en) 2008-05-06 2012-01-17 Broadcom Corporation Unbiased signal-to-noise ratio estimation for receiver having channel estimation error
US9112717B2 (en) 2008-07-31 2015-08-18 Broadcom Corporation Systems and methods for providing a MoCA power management strategy
US8213309B2 (en) 2008-12-22 2012-07-03 Broadcom Corporation Systems and methods for reducing latency and reservation request overhead in a communications network
US8238227B2 (en) 2008-12-22 2012-08-07 Broadcom Corporation Systems and methods for providing a MoCA improved performance for short burst packets
US8254413B2 (en) 2008-12-22 2012-08-28 Broadcom Corporation Systems and methods for physical layer (“PHY”) concatenation in a multimedia over coax alliance network
US8553547B2 (en) 2009-03-30 2013-10-08 Broadcom Corporation Systems and methods for retransmitting packets over a network of communication channels
US20100254278A1 (en) 2009-04-07 2010-10-07 Broadcom Corporation Assessment in an information network
US8730798B2 (en) 2009-05-05 2014-05-20 Broadcom Corporation Transmitter channel throughput in an information network
US8867355B2 (en) 2009-07-14 2014-10-21 Broadcom Corporation MoCA multicast handling
US8942250B2 (en) 2009-10-07 2015-01-27 Broadcom Corporation Systems and methods for providing service (“SRV”) node selection
US8611327B2 (en) 2010-02-22 2013-12-17 Broadcom Corporation Method and apparatus for policing a QoS flow in a MoCA 2.0 network
US8514860B2 (en) 2010-02-23 2013-08-20 Broadcom Corporation Systems and methods for implementing a high throughput mode for a MoCA device
US9325640B2 (en) 2012-07-27 2016-04-26 Hewlett-Packard Development Company, L.P. Wireless network device buffers
KR101861744B1 (ko) 2013-02-28 2018-05-29 삼성전자주식회사 데이터 블록 오프셋에 기초하여 버퍼 디스크립터의 타겟 엔트리 어드레스를 계산할 수 있는 집적 회로와 상기 집적 회로를 포함하는 시스템
KR101697392B1 (ko) * 2013-10-30 2017-01-17 한국전자통신연구원 데이터 전송 장치 및 방법
US9949236B2 (en) 2014-12-12 2018-04-17 Qualcomm Incorporated Traffic advertisement in neighbor aware network (NAN) data path
US10827484B2 (en) 2014-12-12 2020-11-03 Qualcomm Incorporated Traffic advertisement in neighbor aware network (NAN) data path
US10075950B2 (en) 2014-12-12 2018-09-11 Qualcomm Incorporated Traffic advertisement in neighbor aware network (NAN) data path
US10820314B2 (en) 2014-12-12 2020-10-27 Qualcomm Incorporated Traffic advertisement in neighbor aware network (NAN) data path
US11178568B2 (en) * 2016-02-17 2021-11-16 Lg Electronics Inc. Method for uplink transmission in wireless LAN system and wireless terminal using same

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6367045B1 (en) 1999-07-01 2002-04-02 Telefonaktiebolaget Lm Ericsson (Publ) Bandwidth efficient acknowledgment/negative acknowledgment in a communication system using automatic repeat request (ARQ)
KR20030077292A (ko) * 2002-03-26 2003-10-01 한정보통신 주식회사 주소 분할에 의한 다중필드 분류시스템
KR20050066807A (ko) * 2003-12-27 2005-06-30 한국전자통신연구원 라우팅 시스템에서의 패킷 분류 장치 및 그를 이용한 룰구축 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001060967A (ja) * 1999-08-23 2001-03-06 Fujitsu Ltd パケットスイッチ装置
US6888848B2 (en) * 2000-12-14 2005-05-03 Nortel Networks Limited Compact segmentation of variable-size packet streams
US7366194B2 (en) * 2001-04-18 2008-04-29 Brocade Communications Systems, Inc. Fibre channel zoning by logical unit number in hardware
US6957281B2 (en) * 2002-01-15 2005-10-18 Intel Corporation Ingress processing optimization via traffic classification and grouping
TWI257790B (en) * 2004-10-29 2006-07-01 Ind Tech Res Inst System for protocol processing engine

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6367045B1 (en) 1999-07-01 2002-04-02 Telefonaktiebolaget Lm Ericsson (Publ) Bandwidth efficient acknowledgment/negative acknowledgment in a communication system using automatic repeat request (ARQ)
KR20030077292A (ko) * 2002-03-26 2003-10-01 한정보통신 주식회사 주소 분할에 의한 다중필드 분류시스템
KR20050066807A (ko) * 2003-12-27 2005-06-30 한국전자통신연구원 라우팅 시스템에서의 패킷 분류 장치 및 그를 이용한 룰구축 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
한국통신학회 2004년도 하계종합학술발표회논문초록집, 2004년, pp.407-407 , "Mobile-IP 환경에서 캐쉬 버퍼를 이용한 신뢰적인 멀티캐스트 데이터 전송방법"

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101327867B1 (ko) 2011-12-12 2013-11-12 주식회사 시큐아이 패킷 전송 방법 및 패킷 전송 장치

Also Published As

Publication number Publication date
US20060280194A1 (en) 2006-12-14
KR20060128297A (ko) 2006-12-14
US7636368B2 (en) 2009-12-22

Similar Documents

Publication Publication Date Title
KR100861931B1 (ko) 패킷 수집에 적합한 버퍼 디스크립터 구성 장치 및 방법
KR100561393B1 (ko) 무선 네트워크에 있어서 매체 접근 제어 방법 및 시스템
KR101529862B1 (ko) 상향링크 다중 사용자 다중 입력 다중 출력 스케쥴링을 위한 컴퓨터 구현 방법 및 장치
US7505483B2 (en) Apparatus for transmitting WPAN MAC frames and method thereof
EP1655912B1 (en) Method and apparatus for supporting multiple wireless universal serial bus (USB) hosts in coordinator-based wireless network
CN100418382C (zh) 分组通信系统
JP3607632B2 (ja) 無線通信装置及び無線通信制御方法
KR101495065B1 (ko) 효율적인 스케줄링을 보조하기 위한 bsr 정보의 전달 방법 및 디바이스
US20060034317A1 (en) Method and apparatus for transmitting ACK frame
EP2629485B1 (en) A radio receiving apparatus
US20040151126A1 (en) Communication system, communication control method and communication control method
KR20110126359A (ko) 단말기 및 그 단말기에서 테더링 서비스 수행 방법
MXPA06002910A (es) Metodo y aparato de comunicacion inalambrica que transfiere datos de enlace ascendente mejorado con memoria intermedia desde una estacion movil a un nodo b.
KR101264767B1 (ko) 다중 채널을 이용한 무선랜 서비스 장치 및 그 방법.
CN1578305A (zh) 在无线局域网中高速率发送帧的方法
CN101668314A (zh) 用于无线分布系统的数据传输方法和装置
US10356596B2 (en) Data transmission system using vehicle and method of controlling same
EP1659741B1 (en) Wireless access control station for shifting connection modes
KR20090114806A (ko) 채널본딩형 무선랜 시스템에서의 트래픽 동적분배방법 및장치
JP2009117891A (ja) 無線通信装置
US7477630B2 (en) Transmission controller used in media access control processing apparatus and transmission controlling method thereof
US11528640B2 (en) Base station device, and method for transmitting data and signal
KR100921022B1 (ko) 무선 근거리 통신망에서 매체접속제어 방법 및 이를 이용한데이터 전송 방법
KR100678933B1 (ko) 조정자 기반의 무선 네트워크 통신 방법과, 백본네트워크와 연결된 조정자 기반의 무선 네트워크들간의통신 방법
KR20050064267A (ko) 액세스 포인트를 이용한 무선 네트워크에서의 데이터 전송방법

Legal Events

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

Payment date: 20120830

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20130829

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140828

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150828

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160830

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170830

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee