KR100655290B1 - 통신 시스템에서 송신 큐 데이터의 이동 방법 및 장치 - Google Patents
통신 시스템에서 송신 큐 데이터의 이동 방법 및 장치 Download PDFInfo
- Publication number
- KR100655290B1 KR100655290B1 KR1020050008677A KR20050008677A KR100655290B1 KR 100655290 B1 KR100655290 B1 KR 100655290B1 KR 1020050008677 A KR1020050008677 A KR 1020050008677A KR 20050008677 A KR20050008677 A KR 20050008677A KR 100655290 B1 KR100655290 B1 KR 100655290B1
- Authority
- KR
- South Korea
- Prior art keywords
- frame
- descriptor
- transmission
- queue
- priority
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/12—Wireless traffic scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/50—Allocation or scheduling criteria for wireless resources
- H04W72/56—Allocation or scheduling criteria for wireless resources based on priority criteria
- H04W72/566—Allocation or scheduling criteria for wireless resources based on priority criteria of the information or information source or recipient
- H04W72/569—Allocation or scheduling criteria for wireless resources based on priority criteria of the information or information source or recipient of the traffic information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2408—Traffic characterised by specific attributes, e.g. priority or QoS for supporting different services, e.g. a differentiated services [DiffServ] type of service
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/02—Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
- H04W8/04—Registration at HLR or HSS [Home Subscriber Server]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/12—Protocol engines
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Small-Scale Networks (AREA)
- Communication Control (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
본 발명에 의한 무선랜 시스템은 메모리와; 전송할 데이터를 프레임 단위로 분할하는, 상기 분할된 프레임들 각각으로부터 상기 메모리 내에서의 주소와 길이를 포함하는 디스크립터를 생성하는, 송신 우선순위에 따라 상기 분할된 프레임들 및 상기 디스크립터들을 상기 메모리에 저장하는 중앙처리장치와; 상기 송신 우선순위와 상기 디스크립터를 참조하여 상기 메모리로부터 상기 전송할 데이터의 프레임들을 호출하고 일시적으로 저장하는 매체 접근 제어기와; 그리고 상기 매체 접근 제어기에 저장된 프레임을 전송하는 송신기를 포함한다. 이와 같은 구성을 통해서 본 발명은 서비스 품질(QoS)을 만족하는 데이터의 전송 속도와 제어를 가능하게 한다.
Description
도 1은 본 발명에 따른 개략적인 송신 시스템 블록도.
도 2는 본 발명에 따른 송신 큐(Queue)의 구현 예를 도시한 메모리맵.
도 3은 본 발명에 따른 큐 패치 엔진(QFE)의 구성을 도시한 블록도.
도 4는 상기 도 3의 큐 패치 엔진(QFE)에 포함된 큐 컨트롤 유닛(QCU)의 구성을 도시한 블록도.
도 5는 상기 큐 컨트롤 유닛(QCU)의 동작을 설명하는 흐름도.
도 6은 큐 컨트롤 유닛(QCU) 두개 이상의 프레임을 처리할 때의 동작을 설명하는 흐름도.
*도면의 주요부분에 대한 부호의 설명*
100 : CPU 110 : 큐 패치 엔진
111 : QCU 아비터 112 : QCU 셀
113 : 멀티플랙서 114 : DMA 제어기
115 : 버스 인터페이스 116 : 송신기 인터페이스
120 : 송신기 130 : 메모리
200 : 각 AC 프레임의 메모리에서의 구성
210 : 프레임 디스크립터의 구성맵 220 : 프레임 헤더의 구성맵
230 : 프레임 바디의 구성맵
240 : 프리임 디스크립터의 내부 구성요소를 도시한 맵
300 : 디스크립터 해독기 310 : 디스크립터 어드레스 선택기
320 : DMA 메니저 330 : 큐 제어기
340 : 프리버퍼(Pre-Buffer)
본 발명은 무선랜 시스템에서 우선순위가 주어진 데이터의 송신 방법에 관한 것으로, 더욱 상세하게는 IEEE802.11e 표준에서 규정된 우선순위에 따라 송신 큐(Queue)에 저장된 데이터를 전송하여 서비스 품질(Quality of Service, 이하 QoS라 칭함)을 향상하기 위한 매체 접근 제어(Medium Access Control, MAC)장치와 방법을 제공하기 위한 것이다.
일반적으로, 무선 랜(Wireless LAN)은 홈네트워크, 기업 무선 네트워크 그리고 핫스팟 등과 같이 다양한 무선 사용자 환경에서 광범위하게 사용되고 있다. 기존 상용 무선랜은 이더넷의 확장으로서 1999년에 표준화된 IEEE 802.11b를 근간으로 베스트 에포트(Best Effort) 서비스만을 제공하고 있다. 그러나 무선 LAN 사용자들은 전송 데이터의 손실 없이 완전한 멀티미디어 스트림의 전달을 원하고 있다. 특히 비디오 또는 멀티미디어 스트리밍과 같은 새로운 애플리케이션은 무선 랜 환 경에서도 우수한 서비스 품질(Quality of Service, 이하 QoS라 칭함)의 보장이 필수적이다. 대역폭 확장에 대한 끊임없는 사용자의 요구는 전체 무선 네크워크의 혼잡도 증가와 상대적인 전송 속도의 감소를 유발하고 있다. 따라서 네트워크 관리자는 높은 혼잡도의 네트워크에서도 엄격한 QoS를 요구하는 애플리케이션의 서비스를 보장하기 위해 새로운 메커니즘이 필요하게 됐으며, 이런 요구 사항은 결국 기존의 무선랜에서 보다 향상된 매체 접근 제어(Medium Access Control; MAC)프로토콜을 연구하는 계기가 되었다.
IEEE802.11 무선 랜 시스템에서는 상위 계층에서 내려오는 프레임들의 우선순위가 정의되어 있지 않기 때문에 매체 접근 제어(Medium Access Control, 이하 MAC라 칭함) 계층에서는 도착하는 순서에 따라 하나의 FIFO를 이용한 큐잉을 통해 전송한다. 이 경우 MAC 프레임의 이용빈도나 특성을 고려하지 않은 프레임 전송으로 음성이나 화상데이터와 같은 QoS가 요구되는 프레임 전송에는 적합하지 않았다. 이러한 단점을 보완하고 MAC 계층에서의 QoS 향상을 위해 IEEE802.11e 표준안에서는 상위 계층에서 내려오는 프레임에 대해 억세스 카테고리(Access Category)별로 우선순위를 부여하여 데이터를 분류하였다. 다음의 표 1은 IEEE802.11e 표준에서 규정한 억세스 카테고리(AC)별 분류를 정의하고 있다. 상위 계층의 프로토콜인 IEEE802.1D의 우선순위를 IEEE802.11e에서는 4개의 억세스 카테고리(AC)로 구분한다.
우선순위정도 | 우선순위 (IEEE802.1D) | Designation (IEEE802.1D) | Access Category (IEEE802.11e) | Designation (IEEE802.11e) |
가장 낮음 | 1 | BK | AC_BK | Background |
2 | - | AC_BK | Background | |
0 | BE | AC_BE | Best Effort | |
3 | EE | AC_BE | Best Effort | |
4 | CL | AC_VI | Video | |
5 | VI | AC_VI | Video | |
6 | VO | AC_VO | Voice | |
가장 높음 | 7 | NC | AC_VO | Voice |
상기 표 1에서 알 수 있는 바와 같이 IEEE802.11e 표준에서는 QoS의 향상을 위해 음성(Voice)이 가장 높은 우선순위를 가지며 백그라운드(Background)가 가장 낮은 우선순위를 갖는다. MAC 계층에서는 억세스 카테고리(AC)별로 구분되어진 프레임을 각각의 억세스 카테고리별 송신 큐(Queue)를 사용하여 메모리에 저장한다. 이렇게 저장된 프레임들은 QoS를 만족하는 우선 순위에 따라 전송되어야 하는데 본 발명에서는 메모리에서의 억세스 카테고리(AC)별 송신 큐의 구성과, 우선순위에 따라 프레임을 송신기로 전송할 수 있는 하드웨어를 제안하고자 한다.
본 발명은 상술한 문제점을 해결하기 위하여 제안된 것으로, 본 발명의 목적은 규정된 우선순위에 따른 메모리에서의 큐(Queue) 구현과, 우선순위에 따라 메모리에 저장돼 큐 프레임을 송신기로 전송하는 방법과 장치를 제공하여 MAC 계층에서의 전송속도와 효율을 높여 무선랜 시스템의 QoS 향상을 보장하는데 있다.
상술한 목적을 만족하기 위한 본 발명에 따른 무선랜에서의 송신 시스템은, 프레임을 억세스 카테고리(AC)의 우선순위에 따라 여러 개의 큐로 구성하는 메모리와; 상기 큐에 저장된 프레임을 송신기로 우선순위를 고려하여 전송하기 위한 QFE(Queue Fetch Engine, 이하 QFE라 칭함)와; 상기 QFE의 제어에 따라 우선순위별로 이동되는 프레임을 전송하는 송신기를 포함하는 것을 특징으로 한다.
바람직한 실시예에 있어서 상기 메모리는 여러 개의 송신 큐(Queue)로 구성되어 있고 각각의 송신 큐(Queue)는 메모리의 특정영역을 차지한다. 본 발명에 의한 큐 구성은 전송될 프레임을 3개의 영역인 디스크립터와; 프레임 헤더와; 프레임 바디 영역으로 구분하며, 하나의 송신 큐 영역에는 송신 우선순위가 동일한 여러 개의 프레임과 프레임을 표현하는 디스크립터가 저장된다. 상술한 메모리의 구성을 통해서 IEEE802.11e의 억세스 카테고리(AC) 송신 지원을 위한 큐를 구현한다.
바람직한 실시예에 있어서 상기 QFE는 상기 송신기에게 메모리에서 구현한 큐에 저장된 프레임의 이동 및 송신요청을 하며 송신기의 송신 확인 및 기타 송신 상태에 대한 정보를 교환한다. 또한 여러 개의 송신 우선순위가 있는 큐에 대한 프레임의 이동을 제어하는 기능을 포함한다.
바람직한 실시예에 있어서 상기 송신기는 상기 QFE가 요청하는 프레임을 송신하며 송신 결과를 또다시 QFE에 통보하여 오류가 발생했을 때 QFE가 적절한 조치를 취할 수 있도록 구성된다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 가장 바람직한 실시예를 첨부된 도면을 참조하여 설명하기로 한다.
한편, 후술하게 되는 구체적인 메모리에서의 큐 구성 방법 및 장치블록 등이 많은 특정 사항들을 나타내고 있는데, 이는 본 발명의 전반적인 이해를 돕기 위해 서 제공된 것일 뿐 이러한 특정 사상들이 없이도 본 발명이 실시될 수 있음은 이 기술 분야에서 통상적인 지식을 가진 자에게는 자명하다 할 것이다.
도 1은 본 발명의 바람직한 실시예를 개략적으로 보여주는 블록도이다. 도 1을 참조하면 본 발명에 따른 송신 큐 데이터를 이동하는 송신 시스템은 소프트웨어에 따라 송신 시스템을 운영하는 중앙처리장치(100)와; 송신될 프레임을 여러 개의 큐로 구성한 메모리(130)와; 메모리에 구성된 큐 데이터를 IEEE802.11e 표준에 의한 QoS를 만족하는 우선순위에 따라 대기중인 프레임을 송신기로 전송하는 QFE(110)와; 상기 QFE에 의해 전달되는 프레임을 전송하는 무선물리계층의 송신기(120)를 포함하는 것을 특징으로 한다.
중앙처리장치(Central Processing Unit)(100)는 제공되는 소프트웨어나 무선랜 드라이버에 의해서 데이터의 송수신을 포괄적으로 제어하는 블록이다. 전송할 데이터를 우선순위별로 분류하여 본발명에 의한 송신 큐를 구성하여 도 2에서와 같이 메모리에 저장한다. 또한 무선랜의 각 계층에서 이루어지는 신호처리 과정을 포함하는 기타의 연산을 수행하고 판단하는 역할을 수행한다. 상술한 중앙처리장치의 동작을 위해 별도의 RISC 프로세서나 강력한 DMA 제어기를 통하여서도 구성할 수 있음은 물론이다. 또한 중앙처리장치(100)의 동작이 여기에 개시된 내용에 국한되지 않음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다.
메모리(130)는 송신할 프레임들을 억세스 카테고리(AC)별로 구분한 송신 큐(Queue)로 구성되어 저장하는 블록이다. 전송할 데이터를 상기 중앙처리장치의 제어에 따라, 세개의 영역으로 구분한다. 전송하고자 하는 프레임별로 각각을 특징짓 는 프레임 디스크립터와 실제로 전송하고자 하는 프레임의 수신부에서의 합성을 위한 데이터에 해당하는 프레임 헤더와 실제 전송할 데이터를 담고 있는 프레임 바디(Body)가 저장된다. 본 발명에 의한 송신 큐의 구성은 후술하게 되는 도 2에서 그 구조를 상세하게 설명하기로 한다.
QFE(110)는 큐에 저장된 프레임을 IEEE802.11e의 표준을 만족하는 우선순위에 의해 송신기로 전달하는 제반 동작을 수행한다. QFE(110)이 송신기에게 큐에 저장된 프레임의 이동 및 송신요청을 하면, 송신기와 송신확인 및 기타 송신상태에 대한 정보를 교환한다. 특히, 동시에 여러 큐에 프레임이 준비되어 있는 경우에 송신 우선순위를 고려하여 우선순위가 높은 프레임을 먼저 송신기에 전달함으로써 서비스 품질(QoS)의 향상을 달성하는 장치이다.
상술한 장치들을 포함하는 시스템 구성과, 메모리(130)에서의 본 발명에 의한 프레임 디스크립터(Descriptor)를 포함하는 우선순위별 큐 구성을 참조하여, QFE(110)는 데이터 송신 시에 우선순위가 높은 프레임을 먼저 송신하도록 설정하여 IEEE802.11e에서 규정한 QoS를 만족하는 매체 접근 제어장치를 구성할 수 있다.
도 2는 본 발명에 의한 우선순위에 따라 분류한 억세스 카테고리(AC)별 송신지원을 위한 큐 구현의 일 예를 나타낸 메모리맵이다. 도 2를 참조하면, 기본적으로 메모리에는 상기 중앙처리장치(100)에 의해 분류된 세 개의 영역으로 구성된다. 중앙 처리장치(100)는 송신될 데이터를 억세스 카테고리별 우선순위에 따라 구분하고 구분된 데이터를 디스크립터 영역과 프레임 헤더 영역, 그리고 프레임 바디 영역에 해당하는 우선순위 큐에 저장한다. 상기의 세 영역은 프레임 데이터의 메모리 내에서의 주소, 길이와 그리고 같은 우선순위를 가지는 다음 프레임의 위치 및 제어와 상태정보를 가진 프레임 디스크립터 영역과; 저장된 프레임에 대한 논리적이나 물리적으로 그것과 관계 있는 다른 프레임의 존재 여부 등을 규정하는 프레임 헤더(Header) 영역과; 전송하고자 하는 데이터의 본체인 프레임 바디(Body) 영역으로 이루어진다. 본 발명의 실시예에서는 프레임 디스크립터 영역과 프레임 헤더 영역과 프레임 바디 영역은 모두 억세스 카테고리(AC)별 우선순위를 고려하여 네 가지로 분류되어 있다. 우선순위별 4개의 카테고리에서는 각 영역별 4개의 큐 구성이 가능하다.(200)
디스크립터 영역에서는 비디오신호에 해당하는 프레임에 대한 정보를 담고 있는 AC_VI 디스크립터와, 음성신호에 해당하는 데이터 프레임에 대한 정보를 담고있는 AC_VO 디스크립터와, 일반 데이터 해당하는 베스트 에포트 프레임에 대한 정보를 담고있는 AC_BE 디스크립터와, 그 이외의 정보에 해당하는 백그라운드 프레임에 대한 정보를 담고 있는 AC_BK 디스크립터로 구성된다. 한편, 데이터의 이러한 우선순위별 구성은 프레임 헤더영역과 프레임 바디영역에서도 도시한 바와 같이 상기 디스크립터 영역에서와 동일한 방식으로 구성된다.
상기 디스크립터(210)영역은 각 억세스 카테고리(AC)별 우선순위에 따라 네 가지로 분류되며, 그림에서는 AC_VO 디스크립터의 구성을 더욱 상세하게 설명하였으나 기타 디스크립터도 동일한 형태로 구성하였다. 이러한 디스크립터의 구성은 본 발명에서의 송신 큐 구성의 핵심이기 때문이다. 이와 같은 큐 구성은 다른 우선순위를 갖는 프레임의 디스크립터의 구성에도 동일하게 적용된다. 본 발명에 따른 실시예에서는 큐 상에 대기중인 하나의 디스크립터에는 다음 순서로 대기중인 프레임의 디스크립터를 지시하는 "1. 다음 프레임의 디스크립터 주소"와; "2. 프레임 헤더의 주소"와; 디스크립터가 지시하는 프레임의 본체부분인 "3. 프레임 바디의 주소"와; 지시하는 프레임의 송신을 제어하기 위한 "4.제어정보"와; 송신결과를 저장하는 "5. 상태정보"로 구성된다(240).
상기 디스크립터는 메모리 내에 저장된 프레임 헤더(220)와 프레임 바디(230)를 송신기로 이동하기 위한 정보들로 구성되어 있다. 상술한 디스크립터의 구성을 통해서 용량이 큰 프레임 바디의 분할된 세그먼트의 주소와 길이정보를 가지고 있어 디스크립터를 해독하는 것만으로도 프레임의 호출 및 이동에 대한 제어를 쉽게 할 수 있도록 하였다. 또한 각각의 큐에서 디스크립터, 프레임 헤더, 프레임 바디를 추가하거나 삭제하는 큐 제어는 무선랜 드라이버에 해당하는 소프트웨어를 통해서 이루어지며, 이 소프트웨어에 의해서 메모리 내에서 각각의 큐가 배열되고 QFE(110)에게 송신 명령을 내린다.
상술한 큐 구성을 통해서 QFE(110)에서는 큐의 디스크립터만을 먼저 읽어와 전송에 관한 일련의 판단을 하며, 대기하고 있는 차기 디스크립터에 대한 주소를 가지고 있으므로 한 프레임에 대한 정보를 모두 이동하지 않고 디스크립터만을 이동하고 저장함으로 우선순위에 따른 큐이동의 상태를 판단하고 제어할 수 있다.
도 3은 본 발명에 따른 큐 송신 제어를 위한 큐 패치 엔진(Queue Fetch Engine : 이하 QFE라 칭함)의 개략적인 구성을 나타내는 블록도이다. 도 3을 참조하면, 각 큐의 송신을 제어하기 위한 4개의 큐 제어 유닛(Queue Control Unit : 이 하 QCU라 칭함) 블록(112)과; 상기 4개의 각 QCU 셀에서 발생하는 독립적인 송신요청 신호를 억세스 카테고리(AC)별 우선순위에 따라 선정하여 송신을 요청하는 QCU 아비터(QCU Arbiter)(111)와; 상기 QCU 아비터(111)의 송신요청을 받아들여 요청한 큐를 메모리(130)로부터 읽어들이는 시스템 버스와의 직접적인 인터페이스를 담당하는 DMA 제어기(114)와; QCU 아비터(111)의 결정에 따라 각 큐의 프레임에 대한 정보를 선택하여 DMA 제어기(114)로 보내주는 멀티플랙서(113)로 구성된다.
QCU 블록(112)은 각 큐에 대한 송신을 제어하는 QCU가 각 큐마다 독립적인 송신을 보장하기 위해서 메모리(130)에 구성된 억세스 카테고리별 큐의 개수만큼 포함된 블록이다. 예를 들면 IEEE802.11e의 억세스 카테고리별 우선순위에 따라 송신을 지원하기 위해서는 네 개의 QCU가 필요하다. 또한 QCU는 각 송신 큐에 대한 소프트웨어와의 인터페이스를 담당하는 블록이며 운영체제나 무선랜 드라이버에 해당하는 소프트웨어의 응답하여 해당 큐에 대한 송신 요청신호를 생성한다. QCU에 대한 자세한 구성과 동작은 후술하게 되는 도 4에서 상세하게 설명하기로 한다. 도 3에 도시한 QCU 블록(112)은 4개의 QCU로 구성되며, 각각 해당하는 큐에 대한 송신 요청신호 QTX_REQ_0, QTX_REQ_1, QTX_REQ_2, QTX_REQ_3를 생성하여 QCU 아비터에게로 요청한다. 또한 각 큐에 저장된 프레임과 프레임에 대한 정보인 디스크립터의 주소를 소프트웨어로부터 제공받아 메모리(130)로부터 각 억세스 카테고리(AC)별 프레임의 주소와 길이정보를 출력한다.
QCU 아비터(111)는 상기 QCU 블록(112)에서 개별적으로 동시에 생성되어 요청되는 QTX_REQ 신호들 중에서 엑세스 카테고리별 우선순위에 의해 하나를 선정하 는 기능을 수행한다. 이러한 작용은 본 발명에 의한 다수개의 QCU가 동시에 DMA를 공유할 수 없기 때문에 DMA 사용권한을 조정하기 위한 구성이다. 상기 QCU블록에서는 각 큐별로 디스크립터나 프레임의 이동이나 송신 필요에 따라 QCU 아비터(111)에게 각각의 송신요청신호(QTX_REQ_x)를 전달하고, QCU 아비터(111)는 전달받은 송신 요청신호 QTX_REQ_x들과 현재 송신기(120)에서 전송중인 큐를 체크하여 전달하는 TX_QID를 참조하여 가장 우선순위가 높은 신호를 DMA 제어기(114)로 전달한다. 한편, 전송 요청한 디스크립터나 프레임의 메모리 내에서의 주소와 길이를 선택하여 출력하도록 멀티플랙서(113)로 QCU_SEL 신호를 전달하여 멀티플랙서(113)를 제어한다.
DMA 제어기(114)는 상기 QCU 아비터(111)에서 우선순위에 의해 선택하여 전달한 큐 전송 요청신호(QTX_REQ)를 받아서 시스템 버스에 버스 사용권을 요청하고 해당 QCU로부터 메모리 내의 프레임의 위치와 길이정보에 해당하는 DMA_ADDR과 DMA_LEN 정보를 받아서 해당 디스크립터나 프레임의 이동을 위한 DMA 동작을 진행한다. 해당 디스크립터와 프레임의 이동이 완료되면 해당 QCU에게 DMA 동작이 완료 되었음을 통보하는 신호(DMA_DONE)를 전송한다.
멀티플랙서(113)는 각각의 개별적으로 생성되는 QCU들의 메모리 내에서의 주소와 프레임 길이정보인 DMA_ADDR_x 및 DMA_LEN_x를 입력으로 하고, 상기 QCU 아비터(111)에서 우선순위에 의한 선택된 큐에 대한 정보(QCU_SEL)정보를 참조하여 주소와 길이정보를 상기 DMA 제어기(114)로 전송한다.
시스템 버스 인터페이스(115)는 요청하는 디스크립터나 프레임을 메모리에 구성한 큐로부터 전달받기 위한 시스템 버스와의 통신을 담당하는 블록이다. 시스템 버스의 동작은 개시한 부분에 국한되지 아니함은 이 분야의 통상적인 지식을 습득한 자들에게는 자명하다.
송신기 인터페이스(116)은 QFE(110)으로 부터 전달되는 전송할 데이터 프레임을 송신기로 전달하고, 송신기에서 현재 전송중인 프레임에 대한 정보(TX_QID), 송신확인신호(TX_CONFIRM), 재전송신호(RELOAD)를 QFE(110)로 전달한다. 전송할 데이터를 전달받아 송신기로 전송하고, 송신기의 전송상태 정보를 QFE로 전달하는 송신기와 QFE와의 일련의 인터페이스 동작을 수행한다.
이상의 구성을 통한 본 발명은, 메모리에 구성된 큐 송신을 위해서 각 큐의 송신을 제어하는 QCU가 독립적으로 송신요청신호(QTX_REQ_x; x=0,1,2,3)를 각각 생성하고, 이렇게 생성된 4개 각각의 송신요청신호(QTX_REQ_x)들 가운데서 큐의 전송우선순위와 현재 전송중인 큐를 고려하여 QCU 아비터(111)가 조정하여 선택한다. IEEE802.11e 표준에서는 각 억세스 카테고리(AC) 별로 무선 채널 사용의 우선 순위에 차등을 두어 높은 우선순위의 AC가 많은 전송 기회를 갖도록 정의되어 있다. 본 발명에서는 DMA 사용 권한을 선정하는 QCU 아비터의 설정에서 AC별 우선순위를 적용하여 메모리로 부터 높은 우선순위의 AC 큐 데이터를 빨리 옮길 수 있도록 하였다. 즉 높은 우선순위의 억세스 카테고리(AC)를 제어하는 QCU와 낮은 우선순위의 억세스 카테고리(AC)를 제어하는 QCU가 동시에 송신요청신호(QTX_REQ)를 발생한 경우 높은 우선순위의 억세스 카테고리(AC)에게 DMA 사용을 허락한다. 따라서 높은 우선순위의 억세스 카테고리(AC)는 보다 빠르게 프레임을 옮길 수 있어 서비스 품 질(QoS) 향상이 가능하다. 또한 송신기에서 현재 송신 중인 큐에 대해서는 억세스 카테고리별로 할당된 우선순위와는 무관하게 해당 프레임의 전송이 완료될 때까지 가장 높은 우선순위를 보장한다.
도 4는 상기 QCU 블록(112)을 구성하는 각각의 QCU의 구성을 개략적으로 설명하는 블록도이다. 도 4를 참조하면, 전달받은 디스크립터 데이터를 프레임의 전송을 위한 정보로 분석하여 해당 회로로 전달하는 디스크립터 해독기(300)와; 현재 처리중인 프레임에 대한 디스크립터의 메모리 상에서의 위치를 기억하여 계속 유지하는 디스크립터 어드레스 선택기(310)와; 상기 디스크립터 해독기로부터 입력되는 정보를 기초로 DMA 제어기로 프레임의 주소와 길이정보를 출력하는 DMA 메니저(320)와; 모든 블록들의 데이터와 상태정보를 기초로 메모리로부터 송신기로 프레임을 전달하는 과정을 진행하는 큐 제어기(330)와; QCU 셀 내에 일시적으로 송신요청을 하여 전달받은 프레임을 일시적으로 저장하여 송신기로 전송하는 FIFO 레지스터로 구성된 프리버퍼(Pre-Buffer)(340)를 포함한다.
디스크립터 해독기(300)는 입력되는 디스크립터를 해독하여 상기 도 2에서 구현한 바와 같이 큐에 저장된 다음 프레임의 디스크립터 주소(NEXT_D_PTR)와; 프레임 헤더와 바디의 주소(FRAME_PTR)와; 현재의 디스크립터의 길이정보(D_LEN)와; 현재 프레임의 길이정보(FRAME_LEN)를 추출한다. 또한 해당 큐에 대기하고 있는 다음 프레임의 존재 여부를 큐 제어기로 전송한다.
디스크립터 어드레스 선택기(310)는 현재 전송 요청한 프레임의 디스크립터의 메모리 내에서의 주소(D_PTR)를 기억하고 후술하게 될 DMA 메니저에게 알려주는 기능을 담당한다. 이러한 구성과 기능은 상기 디스크립터 해독기(300)가 디스크립터를 처리하는 속도와 소프트웨어에서 디스크립터 및 프레임을 준비하는 속도가 다르므로 QFE(110)에 의한 순차적인 디스크립터 및 프레임 송신 처리가 가능하도록 디스크립터의 주소를 유지하는 기능을 담당하기 위한 구성이다. 또한 차기 프레임의 디스크립터 주소를 입력받아 저장하고, 현재의 송신처리중인 프레임의 모든 과정이 정상적으로 완료되고 다음 프레임의 전송이 확인되었을 때 송신 확인 신호(TX_CONFIRM)를 송신기로부터 전달받아 저장된 디스크립터 주소를 곧바로 DMA 메니저에게로 전달하여 신속한 큐이동이 가능하도록 하였다. 이것은 디스크립터만을 가지고 모든 프레임의 이동과정을 제어할 수 있도록 하여 속도와 효율을 극대화시킬 수 있는 큐 구성이다.
DMA 메니저(320)는 큐의 송신을 위해서 DMA제어기(114)에게 통보해야 할 프레임의 메모리 상에서의 주소(DMA_ADDR)와 프레임의 길이(DMA_LEN)를 생성하는 블록이다. 우선 상기 디스크립터 해독기로부터 프레임의 주소(FRAME_PRT)와 프레임의 길이(FRAME_LEN), 그리고 디스크립터의 길이(D_LEN)를 전달받고 상기 디스크립터 어드레스 선택기(310)로부터 디스크립터의 주소(D_PTR)를 전달받아 DMA 메니저에게 송신 요청할 프레임의 주소(DMA_ADDR)와 프레임의 길이(DMA_LEN) 데이터를 전송한다. 한편, DMA 제어기(114)에 요청할 길이데이터(DMA_LEN)를 설정할 때 DMA 메니저(320)는 소프트웨어가 규정한 DMA 최장 프레임 길이(DMA_MAX_LEN)보다 같거나 작게 설정한다. 가령 예를 들어 FRAME_LEN가 200 바이트(Byte)이고 DMA_MAX_LEN가 128 바이트(Byte) 라면 첫 번째 DMA를 할 때는 128 바이트(Byte)로 설정하고, 두 번째 DMA를 할 때는 프레임의 나머지 사이즈인 72 바이트(Byte)로 설정한다. DMA를 FRAME_LEN에 맞추어 한 번에 프레임의 전 부분을 모두 전송하지 않는 이유는 후술하게 될 프리버퍼(Pre-Buffer)가 스펙에서 정의하고 있는 프레임 사이즈 보다 작은 이유도 있지만, 보다 중요한 이유는 특정 QCU가 긴 시간 DMA 제어기(114)를 독점하는 것을 방지하기 위한 목적이 있다. 이러한 DMA 길이 설정에 의해 QCU 아비터(111)의 우선순위 결정 회수가 증가하여 높은 우선순위의 AC가 보다 빨리 데이터를 전송할 수 있다.
프리버퍼(Pre-Buffer)(340)는 송신 요청된 프레임을 송신기의 전송준비가 완료될 때까지 일시적으로 저장하는 FIFO(First-In First-Out) 레지스터로 구성된 버퍼 메모리이다. 저장된 메모리를 송신기로 출력하고, 버퍼내의 데이터 저장상태(FULL, EMPTY)를 후술하게 될 큐 제어기로 보내준다.
큐 제어기(330)는 QCU내의 모든 디스크립터와 프레임의 이동과 상태를 제어하는 상태제어기이다. 큐 제어기(330)의 입력은 네 가지로 분류할 수 있다. 소프트웨어에서 입력하는 정보(QCU_EN), 프리버퍼(340)에서 오는 정보(FULL, EMPTY), DMA 제어기에서 오는 정보(DMA_DONE), 송신기에서 오는 정보(TX_CONFIRM, RELOAD)로 이루어진 입력신호를 가진다. 이상의 입력신호를 통해서 전체 디스크립터와 프레임의 이동상태를 파악하고, DMA를 통해서 이동해야 할 프레임이 무엇인지 판단해 DMA 메니저에게 해당 정보(QCU_STATE)를 통보해 주고, QCU 아비터(111)에게 큐 전송요청신호(QTX_REQ)를 보내는 기능을 담당한다. 큐 제어기(330)의 자세한 상태제어 동작은 후술하게 되는 도 5와 도 6의 흐름도를 통해서 자세하게 설명하기로 한다.
이상의 구성을 통한 QCU 블록(112)에 포함된 억세스 카테고리별(AC)별 우선순위를 갖는 각각의 QCU 셀은 독립적으로 메모리에서 디스크립터와 프레임을 읽어와 디스크립터를 해독하여 해당하는 프레임과 차기 프레임의 디스크립터를 전송 요청한다. 또한 전송 받은 프레임은 일시적으로 프리버퍼(340)에 저장하여 송신기에서 현재 전송중인 프레임의 송신이 완료되었을 때 송신기로 출력한다. 한편, 송신 오류로 프레임을 재전송 받아야 할 경우에는 디스크립터 어드레스 선택기(310)에 저장된 현재 전송처리가 진행되는 프레임의 디스크립터를 이용하여 DMA 제어기(114)로 재전송 요청할 수 있다. 이러한 개별적인 QCU 셀의 각각의 동작은 디스크립터와 프레임의 이중 영역으로 구분한 큐 구성을 통해서 서비스 품질(QoS)을 만족시킬 수 있는 효과적인 프레임 전송을 보장한다. 또한 QCU 아비터(111)를 이용한 억세스 카테고리(AC)별 우선순위에 의한 매체 전송 제어는 이중적인 QoS 지원을 가능하게 하는 특징이 있다.
도 5 및 도 6은 상기 큐 제어기(330)의 제어 동작을 설명하기 위한 흐름도이다. 도 5와 도 6을 참조하면, QCU가 디스크립터를 처리하고 이와 관련된 프레임을 읽어서 프리버퍼를 거처 송신기로 전송하는 과정을 진행하고 이 과정이 종료되었을 때에 소프트웨어에게 전송 결과를 통보하기까지의 처리과정을 보여준다.
소프트웨어가 메모리에 디스크립터와 프레임을 상기의 도 2와 같은 큐를 구성하여 준비가 완료된 후에 QFE(110)내의 각 QCU에 QCU의 동작 시작을 알리는 QCU_EN 신호를 전달하는 것으로 QCU의 구동이 시작된다(S10).
QCU는 먼저 소프트웨어에 의해 지정된 주소에서 디스크립터를 읽어온다 (S20). 읽어온 디스크립터에서 디스크립터 해독기(300)가 프레임을 메모리로부터 프리버퍼(340)로 이동하기 위해 필요한 정보인 프레임의 주소와 프레임의 길이를 추출한다(S30). 추출된 프레임에 대한 메모리 내에서의 정보를 기초로 먼저 프레임 헤더를 메모리로부터 프리버퍼(340)로 이동한다(S40). QCU는 송신기에게 프레임의 전송을 위한 전송 채널의 확보를 요청한다. 이 요청에 의해 송신기의 채널 설정기능이 시작된다(S50). QCU는 이번에는 프레임의 바디 세그먼트를 프리버퍼(340)로 이동한다. 이때 프레임의 바디 전체를 한꺼번에 DMA하지 않는다. 소프트웨어에 의해 지정된 프레임을 세그먼트 단위로 DMA 요청한다. 각각의 DMA 요청에 대해서 QCU 아비터(111)는 억세스 카테고리(AC)별 우선순위를 결정하고 DMA제어기(114)를 통해서 분할된 프레임 세그먼트를 프리버퍼(340)로 이동한다(S60). 프레임 세그먼트가 프리버퍼(340)에 이동된 후 프레임의 마지막 세그먼트의 이동이 완료되었는지 검사한다. 이 단계는 소프트웨어에서 요청한 프레임의 전체가 프리버퍼(340)로 이동되었는지 확인한다(S70). 만일 프레임의 마지막 세그먼트의 이동이 완료되지 않았다면, 프리버퍼(340)의 여유공간을 점검한다. 프리버퍼가 풀(FULL)이라면 프리버퍼에 프레임 세그먼트를 옮길 수 있는 공간이 생길 때까지 기다린다. 프리버퍼(340)에 여유가 있어 풀(FULL)이 아닌 상태라면 남은 프레임들을 계속 이동하여 프리버퍼(340)에 저장한다(S80). 만일 프레임의 최종 세그먼트의 이동이 완료된 경우 프리버퍼(340)의 모든 프레임이 송신기로 전송되고 프리버퍼(340)가 비어있는 지를 확인한다. 만일 프리버퍼(340)가 비어있지 않다면 모두 송신기로 전송되어 비어 있는 상황이 될 때까지 기다린다(S90). 모든 세그먼트가 송신기로 전송되고 프리버퍼 (340)가 비어있게 되면, 큐 제어기(330)는 차기 디스크립터의 존재여부를 점검하고, 존재하는 경우에는 도 6에서 후술하게 되는 단계인 B 단계로 넘어간다. 차기 디스크립터가 존재하지 않는다면, 송신기로부터의 송신확인신호(TX_CONFIRM)를 기다린다(S110). 송신 확인 신호는(TX_CONFIRM) 송신에 대한 응답을 요하는 통신 시스템인 경우 송신한 프레임에 대한 응답을 프레임의 수신기로부터 수신한 후에 송신기가 전달하는 송신 응답을 의미한다. 송신 확인 신호가 도착하면 송신 상태 정보를 메모리에 저장하고 다음 디스크립터를 입력받을 때까지 기다린다(S120).
도 6은 큐에 둘 이상의 연속되는 디스크립터와 프레임들이 존재하는 경우 이에 대한 큐 전송방법을 설명하는 흐름도이다. 도 6을 참조하면, QCU는 송신기에게 전송된 프레임의 올바른 송신 여부에 관계없이 다음 디스크립터의 처리와 프레임의 이동을 수행함으로써 송신 대기시간을 최소화한다. 그러나 다음 프레임을 프리버퍼(340)에 이동시키는 도중 현재 프레임의 송신이 완료되었거나 또는 실패한 경우 이에 대한 복구가 필요하며 그 과정 또한 도 6에서 설명하고자 한다.
QCU(112)는 지정된 다음 디스크립터를 읽어오고(S130), 다음 디스크립터를 해독하여 다음 프레임의 메모리 내에서의 주소와 프레임 길이정보를 추출한다(S140). 추출된 디스크립터의 정보를 통해서 메모리에서 구성한 큐로부터 다음 프레임의 헤더를 읽어와 프리버퍼에 저장한다(S150). QCU는 다음 프레임의 바디 세그먼트를 DMA 제어기(114)를 통해서 프리버퍼(340)로 이동한다(S160). 다음 프레임이 마지막 세그먼트가 이동되어 프리버퍼(340)에 저장되었는지 확인한다(S170). 이동한 세그먼트가 마지막 세그먼트가 아니라면 단계 S220~S270을 수행한다. 이동한 세 그먼트가 마지막 세그먼트라면 현재 프레임의 송신상태정보가 이미 씌어 있는지 확인한다(S180).송신 상태 정보를 송신기로부터 받았다면 프리버퍼(340)의 상태를 확인하고 기다리는 단계(C)로 복귀한다. 이것은 프레임 세그먼트를 프리버퍼(340)로 옮기는 중간에 전송확인 신호가 도착하여 송신상태를 이미 메모리에 쓴 경우를 확인하기 위한 단계이다. 송신 상태가 이미 씌어진 경우라면 송신기가 프리버퍼(340)에 있는 마지막 세그먼트를 송신할 때까지 기다린다(S190). 송신기로부터 현재 프레임의 송신 확인 신호가 도착하기도 전에 다음 프레임의 마지막 세그먼트가 프리버퍼(340)로 옮겨진 경우에는 송신기가 프리버퍼(340)에 있는 마직막 세그먼트를 송신할 때가지 기다린다(S190). 송신 확인신호가 도착하면, 송신 상태정보를 메모리에 저장하고(S200) 현재 프리버퍼(340)에 있는 다음 프레임에 대한 송신 요청을 송신기에 전달한다(S210).
만일 단계 S170 에서 최종 세그먼트가 아닌 경우에는, 단계 S220 에서 단계 S270을 진행한다. 우선 프레임의 전송이 실패한 경우는 송신기로부터 현재의 프레임을 프리버퍼(340)로 처음부터 다시 옮기라는 명령(RELOAD)을 내리게 된다(S220). 이러한 경우 QCU(112)는 다음 프레임에 대한 프리버퍼로의 이동을 중지하고, 송신기가 전송 중이던 프레임을 다시 프리버퍼(340)로 이동해 오는 동작을 시작한다. 이를 위해서 현재 전송 중이던 프레임에 대한 디스크립터에 대한 주소를 복구하여 처음단계에 해당하는 도 5의 D 단계로 복귀하여 프레임 이동을 계속한다(S270).
정상적으로 프레임이 전송되고 있다면 송신기로부터 RELOAD 명령을 받지 않았을 것이고, 현재 프레임에 대한 송신 확인 신호의 도착여부를 검사한다(S230). 현재 프레임에 대한 송신 확인 신호가 없다면, 단계 S260으로 넘어가 프리버퍼(340)의 상태를 점검한다. 송신확인 신호가 도착하면 송신 상태 정보를 메모리에 저장한 후(S240) 다음 프레임에 대한 송신 요청을 송신기로 전달한다(S250). QCU는 현재 프리버퍼(340)에 있는 프레임에 대한 송신요청을 한 후 프리버퍼(340)의 상태가 FULL인지 점검한다. 프리버퍼(340)가 FULL인 경우에는 송신기가 프리버퍼(340)에 저장된 프레임을 가져갈 때까지 기다린다. 프리버퍼(340)가 FULL이 아닌 경우에는 다음 프레임의 세그먼트를 프리버퍼(340)로 이동한다(S160).
상술한 큐 제어기(330)의 제어동작을 포함하는, 우선순위에 따라 구성된 4개의 각각 QCU는 독립적으로 메모리에 구성한 큐로부터 디스크립터와 프레임을 읽어와 프리버퍼에 저장하고 송신기로 전송요청을 하게 된다. 디스크립터와 프레임이라는 구조의 큐 구성을 통해서 전송오류로 인한 프레임의 재호출을 보다 신속하게 하며, 프리버퍼에 항상 전송할 프레임의 세그먼트를 저장하고 송신승인이 떨어지게 되면 즉시 송신할 수 있도록 하였다. 우선순위는 각각의 QCU가 송신 요청 신호를 개별적으로 출력하면, QCU 아비터가 4개의 요청신호 중에서 우선순위가 높은 신호를 선택하여 큐를 이동하는 것으로 이루어진다.
한편, 본 발명의 상세한 설명에서는 구체적인 실시예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 상술한 실시예에 국한되어 정해져서는 안되며 후술하는 특허청구범위 뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.
상술한 바와 같이 본 발명에서는 디스크립터와 프레임영역의 송신 큐 구성을 통하여 보다 용이한 프레임의 이동과 전송 및 재호출을 가능하도록 하였으며, 독립적인 각각의 QCU는 디스크립터의 해석을 통해서 상기의 기능들을 효과적이고 고속으로 수행하도록 제어할 수 있다. 또한 QCU 아비터는 각각의 QCU들이 수행하는 프레임의 이동동작에 우선순위를 부과하여 IEEE802.11e 표준에서 요구하는 서비스 품질을 만족할 수 있는 수단을 제공하였다.
한편, 본 발명에서는 프레임의 전송 제어장치가 QCU와 QCU 아비터에 분산되어 구현되었으며, 이러한 분산제어방식의 구성은 각 큐 송신에 대한 서비스 품질(QoS)향상 알고리즘과 큐간의 송신 우선순위 결정 알고리즘을 분리하여 구현할 수 있도록 하여, 큐의 개수와 큐의 우선순위 변화에 융통성 있게 대처할 수 있다는 장점을 동시에 갖출 수 있다.
Claims (17)
- 메모리와;전송할 데이터를 프레임 단위로로 분할하는, 상기 분할된 프레임들 각각으로부터 상기 메모리 내에서의 주소와 길이를 포함하는 디스크립터를 생성하는, 송신 우선순위에 따라 상기 분할된 프레임들 및 상기 디스크립터들을 상기 메모리에 저장하는 중앙처리장치와;상기 송신 우선순위와 상기 디스크립터를 참조하여 상기 메모리로부터 상기 전송할 데이터의 프레임들을 호출하고 일시적으로 저장하는 매체 접근 제어기와; 그리고상기 매체 접근 제어기에 저장된 프레임을 전송하는 송신기를 포함하는 무선랜 시스템.
- 제 1 항에 있어서,상기 메모리는 같은 우선순위의 디스크립터들을 입력순서에 따라 하나의 대기열로 구성한, 상기 디스크립터 대기열이 서비스 품질(QoS)에 의한 우선순위의 개수만큼 이루어진 디스크립터 영역과;수신기에서의 프레임 제어에 관한 정보를 담은 프레임 헤더 영역과; 그리고송신하는 데이터의 본체에 해당하는 프레임 바디 영역으로 구분된 것을 특징으로 하는 무선랜 시스템.
- 제 1 항에 있어서,상기 디스크립터는 상기 매체 접근 제어기가 상기 프레임 헤더와 프레임 바디의 이동을 연쇄적으로 제어할 수 있도록 대기중인 차기 디스크립터의 위치정보와; 해당 프레임의 송신 결과 상태를 알려주는 상태정보를 더 포함하는 데이터인 것을 특징으로 하는 무선랜 시스템.
- 제 2 항에 있어서,상기 프레임 헤더 영역은 같은 우선순위를 가지는 프레임 헤더의 대기열이 상기 우선순위별 복수개의 영역으로 구성된 것을 특징으로 하는 무선랜 시스템.
- 제 2 항에 있어서,상기 프레임 바디 영역은 같은 우선순위를 가지는 프레임 헤더의 대기열이 우선순위별 복수개의 영역으로 구성된 것을 특징으로 하는 무선랜 시스템.
- 제 1 항에 있어서,상기 매체 접근 제어기는 상기 복수개의 전송요청 신호를 출력하는 큐 제어 블록과;상기 복수개의 전송요청 신호 중 높은 우선순위의 전송요청 신호만을 선택하여 출력하는 큐 선택기와;상기 큐 선택기에 의해 선택된 전송요청 신호에 따라 상기 메모리로부터 해당하는 프레임을 읽어오는 디엠에이(DMA) 제어기를 포함하는 것을 특징으로 하는 무선랜 시스템.
- 제 6 항에 있어서,상기 큐 제어 블록은 상기 메모리로부터 해당하는 우선순위의 디스크립터를 읽어와 해독하여 프레임의 주소와 길이정보를 포함하는 전송요청 신호를 출력하는, 상기 우선순위에 대응하는 상기 복수개의 독립적으로 동작하는 큐 제어 유닛을 포함하는 것을 특징으로 하는 무선랜 시스템.
- 제 7 항에 있어서,상기 큐 제어 유닛은 입력되는 상기 디스크립터를 해독하여 해당하는 프레임의 상기 메모리 내에서의 주소와, 길이 정보와, 대기중인 동일한 우선순위의 차기 디스크립터의 존재 여부와, 차기 디스크립터의 존재 시 상기 차기 디스크립터의 상기 메모리 내 주소를 출력하는 디스크립터 해독기와;상기 디스크립터 해독기의 프레임 주소 및 길이 정보를 디엠에이(DMA) 제어기에게 전달하는 디엠에이(DMA) 메니저와;상기 디스크립터 해독기로부터 출력되는 차기 디스크립터 주소를 기억하여 송신 오류 시 상기 디엠에이(DMA) 메니저에게 차기 디스크립터의 주소를 입력하여 재전송을 보장하는 디스크립터 어드레스 선택기와;전송 요청한 프레임을 상기 디엠에이(DMA) 제어기로부터 전달받아 일시적으로 저장하고 버퍼상태신호를 출력하는 프리 버퍼(Pre-Buffer)와; 그리고상기 중앙 처리장치의 전송개시 신호와 송신기의 송신 상태신호와 상기 프리버퍼의 버퍼상태신호를 입력으로 하여, 프레임의 이동 상태를 감지하고, 감지된 상태에 따라 상기 메모리로부터 상기 송신기로의 프레임의 이동을 순차적으로 제어하는 큐 전송 제어기를 포함하는 것을 특징으로 하는 무선랜 시스템.
- 제 8 항에 있어서,상기 큐 전송 제어기는 송신기로부터 해당하는 프레임의 송신 완료 신호와 차기 디스크립터의 존재 확인 신호를 받아 차기 프레임의 전송 요청 신호를 출력하는 것을 특징으로 하는 무선랜 시스템.
- 제 8 항에 있어서,상기 큐 전송 제어기는 송신기로부터 전송중인 프레임의 재전송 요청을 받았을 때, 현재 전송중인 프레임의 디스크립터 주소를 상기 디스크립터 어드레스 선택기로부터 상기 디엠에이(DMA) 메니저로 출력하도록 제어하여 프레임을 초기 세그먼트부터 재전송 하도록 제어하는 것을 특징으로 하는 무선랜 시스템.
- 제 8 항에 있어서,상기 큐 제어 유닛은 초기에 주어진 상기 디스크립터의 해독만으로 메모리 내에 구성된 상기 큐 제어 유닛에 대응되는 우선 순위의 차기 디스크립터의 위치를 알기 때문에 더 이상 전송할 대기열이 존재하지 않을 때까지 프레임의 이동을 연속적으로 제어할 수 있는 것을 특징으로 하는 무선랜 시스템.
- 제 6 항에 있어서,상기 매체 접근 제어기는 복수개의 상기 큐 제어 장치들이 독립적으로 발생시키는 전송요청 신호에, 우선순위에 따라 응답하여 상기 메모리로부터 프레임을 읽어와 상기 버퍼에 저장하고 송신함으로서 서비스 품질(QoS)을 만족하는 매체 접근 제어동작을 보장하는 것을 특징으로 하는 무선랜 시스템.
- 전송할 데이터를 전송 단위 프레임별로 분할하는 단계와;상기 분할된 프레임으로부터 메모리 내에서의 주소와 길이를 포함하는 디스크립터를 생성하는 단계와;상기 프레임과 디스크립터를 우선순위별로 복수개의 송신 대기열을 구성하여 저장하는 단계와;상기 송신 대기열 구성이 완료된 후 지정된 프레임의 복수개의 우선순위별 초기 디스크립터를 읽어오는 단계와;상기 복수개의 우선순위별 초기 디스크립터를 해독하여 획득한 복수개의 송신 프레임의 메모리 상에서의 주소와 길이를 참조하여 상기 프레임에 대한 복수개의 전송 요청신호를 발생하는 단계와;복수개의 전송요청 신호 중에 우선순위가 높은 요청 신호에 먼저 응답하여 해당 프레임을 상기 메모리로부터 읽어 일시 저장하는 단계와;일시 저장된 프레임을 송신 가능한 시점에 송신하는 단계를 포함하는 것을 특징으로 하는 무선랜 시스템의 매체 제어 방법.
- 제 13 항에 있어서,상기 디스크립터는 해당 프레임의 다음 순서로 대기중인 프레임의 디스크립터 위치와; 송신 결과를 알려주는 상태정보를 더 포함하는 것을 특징으로 하는 무선랜 시스템의 매체 제어 방법.
- 제 13 항에 있어서,상기 메모리에 구성한 디스크립터의 송신 대기열은 같은 우선순위의 디스크립터들을 입력순서에 따라 하나의 대기열로 구성하고, 상기 대기열이 각각의 프레임 종류별로 구분한 우선순위의 개수만큼 이루어진 것을 특징으로 하는 무선랜 시스템의 매체 제어 방법.
- 제 13 항에 있어서,상기 디스크립터는 대기중인 차기 디스크립터의 송신에 필요한 정보가 포함되어 있어, 초기 디스크립터의 해독으로 준비된 같은 우선순위의 대기열이 모두 전송될 때까지 프레임의 제어가 연쇄적으로 이루어지도록 하는 것을 특징으로 하는 무선랜 시스템의 매체 제어 방법.
- 제 13 항에 있어서,상기 송신 과정에서 오류가 발생하여 송신기로부터 프레임의 재전송 요청이 있을 시, 해당하는 프레임의 디스크립터를 복구하는 동작만으로도 재전송에 필요한 모든 정보를 확보하여 신속히 재전송 동작을 수행하는 것을 특징으로 하는 무선랜 시스템의 매체 제어 방법.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050008677A KR100655290B1 (ko) | 2005-01-31 | 2005-01-31 | 통신 시스템에서 송신 큐 데이터의 이동 방법 및 장치 |
US11/341,265 US20060174027A1 (en) | 2005-01-31 | 2006-01-26 | Method and apparatus for transmission queue in communication system |
JP2006019683A JP2006217600A (ja) | 2005-01-31 | 2006-01-27 | 通信システムにおける送信キューデータの移動方法及び装置 |
TW095103401A TW200644541A (en) | 2005-01-31 | 2006-01-27 | Method and apparatus for transmission queue in communication system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050008677A KR100655290B1 (ko) | 2005-01-31 | 2005-01-31 | 통신 시스템에서 송신 큐 데이터의 이동 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060087825A KR20060087825A (ko) | 2006-08-03 |
KR100655290B1 true KR100655290B1 (ko) | 2006-12-11 |
Family
ID=36757991
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050008677A KR100655290B1 (ko) | 2005-01-31 | 2005-01-31 | 통신 시스템에서 송신 큐 데이터의 이동 방법 및 장치 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20060174027A1 (ko) |
JP (1) | JP2006217600A (ko) |
KR (1) | KR100655290B1 (ko) |
TW (1) | TW200644541A (ko) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100858158B1 (ko) * | 2006-12-01 | 2008-09-10 | 한국전자통신연구원 | 무선 랜 시스템의 메모리 제어 장치와 그의 데이터 송수신방법 |
US20170118631A1 (en) * | 2015-10-22 | 2017-04-27 | Qualcomm Incorporated | Pre-fetch scheduler for multi-station basic service set (bss) |
KR102256670B1 (ko) * | 2019-11-06 | 2021-05-27 | (주)로보티즈 | 효율적인 통신 버스 중재 시스템 및 방법 |
CN112306928B (zh) * | 2020-11-19 | 2023-02-28 | 山东云海国创云计算装备产业创新中心有限公司 | 一种面向流传输的直接内存访问方法以及dma控制器 |
CN117675720B (zh) * | 2024-01-31 | 2024-05-31 | 井芯微电子技术(天津)有限公司 | 消息报文传输方法、装置、电子设备和存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6496869B1 (en) * | 1998-03-26 | 2002-12-17 | National Semiconductor Corporation | Receiving data on a networked computer in a reduced power state |
US6810520B2 (en) * | 1999-12-17 | 2004-10-26 | Texas Instruments Incorporated | Programmable multi-standard MAC architecture |
US20020089927A1 (en) * | 2001-01-11 | 2002-07-11 | Fischer Michael A. | System and method for synchronizing data trasnmission across a variable delay interface |
US20020089959A1 (en) * | 2001-01-11 | 2002-07-11 | Fischer Michael A. | System and method for providing a selectable retry strategy for frame-based communications |
AU2003245257A1 (en) * | 2002-05-04 | 2003-11-17 | Atheros Communications, Inc. | Flexible scheduling architecture for queues in a packet switched network |
US7421273B2 (en) * | 2002-11-13 | 2008-09-02 | Agere Systems Inc. | Managing priority queues and escalation in wireless communication systems |
JP4391316B2 (ja) * | 2003-07-31 | 2009-12-24 | 富士通マイクロエレクトロニクス株式会社 | ワイヤレスlan用のメディア・アクセス・コントロール装置 |
-
2005
- 2005-01-31 KR KR1020050008677A patent/KR100655290B1/ko not_active IP Right Cessation
-
2006
- 2006-01-26 US US11/341,265 patent/US20060174027A1/en not_active Abandoned
- 2006-01-27 JP JP2006019683A patent/JP2006217600A/ja not_active Withdrawn
- 2006-01-27 TW TW095103401A patent/TW200644541A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
KR20060087825A (ko) | 2006-08-03 |
US20060174027A1 (en) | 2006-08-03 |
JP2006217600A (ja) | 2006-08-17 |
TW200644541A (en) | 2006-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101027356B1 (ko) | 고속 미디어 액세스 제어를 위한 메모리 관리를 위한 방법, 장치, 무선 통신 디바이스 및 프로그램을 기록한 컴퓨터 판독 가능 매체 | |
EP2654341B1 (en) | Priority Queues Starvation Avoidance In Wireless Communication Systems | |
US8929363B1 (en) | Apparatus and method for allocating buffers of a memory including tracking a number of buffers used to store a received frame | |
US8059686B2 (en) | Method, apparatus and system for guaranteed packet delivery times in asynchronous networks | |
US20040184470A1 (en) | System and method for data routing | |
US8750323B2 (en) | Method for switching data and structure for switching data | |
JP2009105989A (ja) | ワイヤレスローカルエリアネットワーク(WLANs)に対する、選択的通信速度とスケジューリング制御および関連方法を有するアクセスポイント | |
JP2002125271A (ja) | 無線通信システムにおいてアップリンクトラフィックチャネルを取得する装置および方法 | |
KR100655290B1 (ko) | 통신 시스템에서 송신 큐 데이터의 이동 방법 및 장치 | |
US20070047563A1 (en) | Priority queuing of frames in a TDMA network | |
WO2006036124A1 (en) | Improved handling of atm data | |
CN114615206A (zh) | 数据传输方法、接入网设备、用户面功能网元和存储介质 | |
EP3487132B1 (en) | Packet processing method and router | |
US7035273B1 (en) | Quality of service queueing system for a network switch | |
WO2023226716A1 (zh) | 数据包发送方法、转发节点、发送端及存储介质 | |
US20050094658A1 (en) | Method and apparatus for multicast packet transmission | |
CN111711994B (zh) | 一种多通道LoRaWAN网关下行调度方法 | |
US6360278B1 (en) | FIFO queued entry point circuit for a network interface card | |
US10601736B2 (en) | Repeater transmission performance improvement regardless of number of buffers | |
JPH10117213A (ja) | パケット通信装置 | |
US20040156381A1 (en) | Partial queuing using an interface with bounded latency | |
JP2000101591A (ja) | セルスケジューラ | |
JP2003092590A (ja) | 無線伝送装置 | |
JPH06232878A (ja) | 構内網通信システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |