KR100429911B1 - 가변길이 패킷 다중화 및 역다중화 장치와 방법 - Google Patents

가변길이 패킷 다중화 및 역다중화 장치와 방법 Download PDF

Info

Publication number
KR100429911B1
KR100429911B1 KR10-2002-0027595A KR20020027595A KR100429911B1 KR 100429911 B1 KR100429911 B1 KR 100429911B1 KR 20020027595 A KR20020027595 A KR 20020027595A KR 100429911 B1 KR100429911 B1 KR 100429911B1
Authority
KR
South Korea
Prior art keywords
buffer
frame
data
block
port
Prior art date
Application number
KR10-2002-0027595A
Other languages
English (en)
Other versions
KR20030089748A (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 KR10-2002-0027595A priority Critical patent/KR100429911B1/ko
Publication of KR20030089748A publication Critical patent/KR20030089748A/ko
Application granted granted Critical
Publication of KR100429911B1 publication Critical patent/KR100429911B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. local area networks [LAN], wide area networks [WAN]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40032Details regarding a bus interface enhancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/04Distributors combined with modulators or demodulators
    • H04J3/047Distributors with transistors or integrated circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. local area networks [LAN], wide area networks [WAN]
    • H04L12/40Bus networks
    • H04L12/407Bus networks with decentralised control
    • H04L12/413Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection (CSMA-CD)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems
    • H04L12/56Packet switching systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. local area networks [LAN], wide area networks [WAN]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40039Details regarding the setting of the power status of a node according to activity on the bus
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THIR OWN ENERGY USE
    • Y02D50/00Techniques for reducing energy consumption in wire-line communication networks
    • Y02D50/40Techniques for reducing energy consumption in wire-line communication networks by operating in low-power or sleep mode
    • Y02D50/42Techniques for reducing energy consumption in wire-line communication networks by operating in low-power or sleep mode specifically suitable for Ethernet, e.g. IEEE802.3az

Abstract

본 발명은 가변 길이(variable-length)의 고속 패킷(high-speed packet)을 다중화하고 역다중화하는 방법 및 장치에 관한 것으로, 특히 다수의 1기가비트 이더넷 프레임(1 gigabit ethernet frame)을 하나의 10기가비트 이더넷 프레임(10 gigabit ethernet frame)으로 다중화(multiplex)하고 반대로 역다중화(demultiplex)하는 방법 및 장치에 관한 것이다.
이러한 방식은 가변 길이의 고속 패킷을 단순한 시분할 다중화(TDM) 방식이 아닌 패킷 다중화(packet multiplexing) 방식을 사용하고 출력 대역폭(output bandwidth)보다 입력 대역폭(input bandwidth)을 크게 함으로써 통계적 다중화(statistical multiplex) 효과를 지니며 또한 입력과 출력 인터페이스 방식에 표준 인터페이스를 사용함으로써 기존의 범용 칩(chip)들을 사용할 수 있는 효과가 있다.

Description

가변길이 패킷 다중화 및 역다중화 장치와 방법{Apparatus of variable length packets multiplexing and demultiplexing and method thereby}

본 발명은 가변 길이(variable-length)의 고속 패킷(high-speed packet)을 다중화하고 역다중화 하는 방법 및 장치에 관한 것으로, 특히 다수의 1기가비트 이더넷 매체접근제어 프레임(1 gigabit ethernet MAC frame)을 하나의 10기가비트 이더넷 프레임(10 gigabit ethernet frame)으로 다중화(multiplex)하고 반대로 역다중화(demultiplex)하는 방법 및 장치에 관한 것이다.

패킷 다중화기술은 송신부에서 다수의 패킷들을 보다 높은 속도의 고속 패킷으로 변환하여 전송하고 수신부에서는 이러한 고속 패킷을 수신하여 원래의 저속 패킷으로 변환한 후에 원하는 목적지로 전달하는 기술이다.

이와 같은 기술의 구현에 대한 간단한 내용은 저속의 입력 스트림(stream)을 보다 높은 속도의 데이터 스트림으로 시분할 다중화(TDM, Time Division Multiplex)하는 방식이 가장 현실적으로 보일 수 있다. 그러나 시분할 다중화(TDM)의 경우에는 각각의 입력포트(port)를 인식하도록 프레임 구성을 하여야 하며, 시분할 다중화(TDM) 특성 때문에 전용 채널을 사용하여야 하므로 대역폭 사용 효율이 낭비된다는 점을 단점으로 들 수 있다.

이와 같은 단점을 극복하기 위하여 종래에도 여러 가지 방법과 장치가 제안되었다.

버스트(burst) 특징을 가진 다양한 길이의 데이터 스트림을 다중화 하여 전송하기 위하여 제안된 미국특허 US Pat No. 6009108(December, 1999)는 다양한 데이터 소스(source)로부터 입력되는 서로 다른 길이의 버스트(burst) 데이터 스트림을 평균 전송률(average transport rate)을 유지하는 고정 길이의 패킷 스트림(fixed-length packet stream)으로 변환하는 다중화 방식이다.

이와 같은 방식은 버퍼에 저장된 데이터들 중에서 이러한 설정 값보다 큰 것이 없는 경우에는 스터핑 데이터 생성기(stuffing data generator)에 연결하여 스터핑 데이터를 송출하게 된다. 이와 같은 방법으로 고정길이 패킷의 평균 전송률을 같도록 동작함으로써 버스트(burst) 형태로 발생하는 데이터에 대한 수신측의 버퍼 오버플로우(overflow) 및 언더플로우(underflow)의 발생을 감소시킨다는 이점이 있다. 반면에, 고정 길이의 패킷을 생성하기 때문에 이더넷과 같이 다양한 길이를 갖는 데이터의 경우에는 별도의 변환장치가 필요하다는 번거로운 점이 있고 아울러 전송효율을 저하시킨다는 문제점이 있다.

또한 사용자가 특별히 요청하지 않더라도 자동으로 전송효율을 최적화시키는 미국특허 US Pat No. 6282211 B1(August, 2001) 는, 사용하지 않는 타임슬롯(time slot)에 동적으로(dynamically) 채널을 할당하며 컷 스루우(cut-through) 기능을 다중화기 내부에서 수행한다. 따라서, 다중화기 출력부 외부까지 사용자 평면(user plane)이 연결되고 이에 필요한 시그널링(signaling) 기능을 외부에서도 수행함으로써 발생하는 비용을 절감시킬 수 있는 장점이 있다.

그러나 이러한 방식은 기존 시분할 다중화(TDM) 채널을 사용하여 패킷을 전송하는 방식이므로 시분할 다중화(TDM)의 단점인 대역폭 사용 효율 저하를 가져오며, 저속의 이더넷 패킷을 고속의 이더넷 패킷으로 다중화 하는 방식에 적용할 수 없다.

그리고 미국특허 US Pat No. 6269107 B1(July, 2001) 는 연속되는 데이터 스트림을 특정 길이의 기본 패킷을 분할하고, 다시 이러한 기본 패킷(PES, Packetized Elementary Stream)을 트랜스포트 스트림(transport stream)으로 다시 재분할하는 방식을 사용한다.

이 방식은 개별 패킷별로 직렬(serial) 처리하는 경우에 필요한 고속 회로와 같은 오버헤드(overhead)를 절감하기 위하여 복수의 입력버퍼를 두고, 동일한 특성을 지닌 입력 스트림인 경우에는 한번의 처리로 모든 최종 패킷에 적용하도록 함으로써 고속 회로의 필요성 및 개별 패킷마다 처리를 해야 하는 필요성을 절감하는 기법이다.

이와 같은 패킷 처리의 기법은 비디오 신호와 같이 연속되는 스트림의 길이가 길고, 이에 따라 생성되는 개별 패킷의 특성이 동일한 경우에 유용한 방식이지만, 이더넷과 같이 서로 다른 길이의 패킷 길이를 지니며 또한 패킷마다 목적지(destination)가 다를 수 있는 경우에는 다중화 방식을 사용하는 것은 무리가 있다. 또한 이더넷과 같이 길이의 변화가 매우 심한 경우에는 역다중화기에 직접 적용하기에 곤란하다.

미국특허 US Pat No. 6262990 B1(July, 2001) 는 서로 다른 속도를 갖고 또한 속도의 차이가 큰 데이터(영상, 음성 및 저속의 데이터)이면서 특히 버스트(burst)한 특성을 지닌 저속의 데이터들을 고정길이의 패킷으로 다중화 하여 전송하되 전송지연을 감소하기 위한 것이다.

이 방식은 가변길이의 저속 데이터를 고속의 고정길이의 패킷으로 변환하는방식이지만 이더넷과 같이 출력 패킷 자체도 가변 길이가 되는 경우에는 사용이 곤란할 뿐만 아니라, 스터핑(stuffing)에 의한 고정 패킷 생성시 10기가비트와 같이 고속의 패킷을 처리하여야 하는 경우에 수신측에서 이러한 스터핑 데이터를 인식하고 삭제하며 이더넷 패킷으로 재구성하는 기능이 필요하다.

이와 같이 기존의 시분할 다중화(TDM) 방식은 대역폭 사용 효율 저하가 발생하고, 고정 길이의 패킷으로 변환 및 다중화 하는 방식은 기가비트 이더넷과 같이 최저 64 바이트에서 최대 1522 바이트까지 변화하는 가변길이의 고속 패킷을 다중화 하는 경우에는 그대로 적용할 수 없고 별도의 고속 스위치와 함께 변환된 고속 패킷을 원래의 이더넷 패킷으로 재변환 시키는 프로토콜 변환기가 필요하며, 또한 기존의 칩 셋(Chip set)과의 접속을 위한 별도의 인터페이스 회로가 필요한 문제점들이 있다.

상기한 문제를 해결하기 위해 본 발명에서는 다중화 장치와 역다중화 장치에서 표준 인터페이스를 사용함으로써 범용의 칩(chip) 사용에 따른 비용 절감 효과를 가져오고 패킷 다중화를 함으로써 채널의 효율을 극대화 할 수 있는 이점을 지니도록 다중화 장치 및 역다중화 장치를 제공하고 다중화 및 역다중화 방법을 제공하는 것을 목적으로 한다.

발명의 관점에서 보면 기가비트 이더넷 매체 접근제어(MAC, Media Access Control) 블록과 10기가비트 이더넷 트랜시버 사이에 IEEE 802.3 표준 인터페이스인 기가비트 미디어 독립 인터페이스(GMII, Gigabit Media Independent Interface)및 10기가비트 미디어 독립 인터페이스(XGMII, 10 Gigabit Media Independent Interface)를 사용함으로써 범용의 칩(예를 들어 IBM NP4GS3, Broadcom BCM5633, Vitesse VSC7226, PMC-Sierra PMC8355, MARVEL 88X2040 등)을 사용할 수 있을 뿐만 아니라, 가변 길이의 이더넷 프레임을 프로토콜 변경 없이 그대로 다중화 및 역다중화 하여 전송할 수 있는 이점이 있다.

또한 패킷 분류(packet classification)나 트래픽 관리(traffic management) 등을 위한 코프로세서(co-processor)와 같은 고가의 복잡한 기능 블록을 사용하지 않고도 다이나믹(dynamic)하게 패킷을 다중화 하여 10기가 이더넷 프레임을 생성하여 전송할 수 있는 특징이 있다. 또한 기가비트 이더넷 프레임을 전송하는 경우에 10개 이상의 기가비트 이더넷 포트를 다중화 할 수 있는 장점을 제공한다.

도 1은 이더넷 프레임 구조를 나타낸 도면.

도 2는 기가비트 이더넷 표준 인터페이스인 GMII를 나타낸 도면.

도 3은 10기가비트 이더넷 표준 인터페이스인 XGMII를 나타낸 도면.

도 4는 본 발명의 다중화 장치의 간략한 블록도면.

도 5는 본 발명의 역다중화 장치의 간략한 블록도면.

도 6은 본 발명의 다중화 장치 상세 블록도면.

도 7은 데이터, 프레임 시작 및 종료 처리과정에서 사용되는 내부 테이블 구조를 나타낸 도면.

도 8은 본 발명의 다중화 방법의 흐름도면.

도 9는 본 발명의 역다중화 장치 상세 구성도면.

도 10은 본 발명의 역다중화 방법의 흐름도면.

도 11은 본 발명의 의한 다중화 장치와 역다중화 장치를 사용한 시스템의 일실시예 도면.

상기한 목적을 이루기 위하여 본 발명에서는, 기가비트 미디어 독립 인터페이스(GMII)의 형식에 따라서 입력되는 기가비트 이더넷 매체접근제어 프레임을 저장하는 복수의 입력버퍼블록; 10기가비트 이더넷 매체접근제어 프레임의 관리 정보 및 상태 정보에 의하여 상기 입력버퍼 블록의 동작방식을 결정하는 다중화부 상태 모니터 블록; 상기 복수의 입력버퍼 중에서 하나를 선택하도록 하는 제어신호를 발생시키는 선택제어블록; 및 상기 입력된 복수의 기가비트 이더넷 매체접근제어 프레임 중에서 하나를 상기 선택제어블록의 제어신호에 의하여 순차적으로 선택하여 10기가비트 미디어 독립 인터페이스 데이터로 변환하고 이 변환된 프레임을 10기가비트 미디어 독립 인터페이스(XGMII)의 형식에 따라서 출력하는 선택 및 변환블록을 포함하는 가변길이 패킷 다중화 장치를 제공한다.

상기한 목적을 이루기 위하여 본 발명에서는, 복수의 입력버퍼블록이 기가비트 미디어 독립 인터페이스(GMII)의 형식에 따라서 입력되는 기가비트 이더넷 매체접근제어 프레임을 저장하는 단계; 다중화부 상태 모니터 블록이 10기가비트 이더넷 매체접근제어 프레임의 관리 정보 및 상태 정보에 의하여 상기 입력버퍼 블록의 동작방식을 결정하는 단계; 선택제어블록이 상기 복수의 입력버퍼 중에서 하나를 선택하도록 하는 제어신호를 발생시키는 단계; 및 선택 및 변환블록이 상기 입력된 복수의 기가비트 이더넷 매체접근제어 프레임 중에서 하나를 상기 선택제어블록의 제어신호에 의하여 순차적으로 선택하여 10기가비트 미디어 독립 인터페이스 데이터로 변환하고 이 변환된 프레임을 10기가비트 미디어 독립 인터페이스(XGMII)의 형식에 따라서 출력하는 단계를 포함하는 가변길이 패킷 다중화 방법을 제공한다.

상기한 목적을 이루기 위하여 본 발명에서는, 10기가비트 미디어 독립 인터페이스(XGMII)의 형식에 따라서 입력되는 10기가비트 미디어 독립 인터페이스 데이터를 저장하고 기가비트 이더넷 매체접근제어 데이터로 변환시키는 버퍼 및 변환블록; 상기 버퍼 및 변환블록에서 변환된 기가비트 이더넷 프레임을 특정포트로 전달하는 포트 선택 블록; 상기 변환된 기가비트 이더넷 프레임의 도착지와 수신상태를 분석하여 출력되는 포트를 선택하는 포트분석 및 제어블록; 각각의 기가비트 이더넷 포트가 전이중 방식으로 동작하는지 반이중 방식으로 동작하는지를 판단하여 상기 포트분석 및 제어블록으로 알려주는 역다중화부 상태 모니터 블록; 및 상기 포트 선택 블록에서 선택된 다수의 기가비트 이더넷 프레임을 저장하고 출력하는 복수의 출력버퍼 블록을 포함하는 가변길이 패킷 역다중화 장치를 제공한다.

상기한 목적을 이루기 위하여 본 발명에서는, 버퍼 및 변환블록이 10기가비트 미디어 독립 인터페이스(XGMII)의 형식에 따라서 입력되는 10기가비트 미디어 독립 인터페이스 데이터를 저장하고 기가비트 이더넷 매체접근제어 데이터로 변환시키는 단계; 포트분석 및 제어블록이 상기 변환된 기가비트 이더넷 프레임의 도착지와 수신상태를 분석하여 출력되는 포트를 선택하는 단계; 역다중화부 상태 모니터 블록이 각각의 기가비트 이더넷 포트가 전이중 방식으로 동작하는지 반이중 방식으로 동작하는지를 판단하여 상기 포트분석 및 제어블록으로 알려주는 단계; 포트 선택 블록이 상기 버퍼 및 변환블록에서 변환된 기가비트 이더넷 프레임을 특정포트로 전달하는 단계; 및 복수의 출력버퍼 블록이 상기 포트 선택 블록에서 선택된 다수의 기가비트 이더넷 프레임을 저장하고 출력하는 단계를 포함하는 가변길이 패킷 역다중화 방법을 제공한다.

상기한 목적을 이루기 위하여 본 발명에서는, 기가비트 미디어 독립 인터페이스(GMII)의 형식에 따라서 입력되는 복수의 기가비트 이더넷 매체접근제어 프레임을 10기가비트 이더넷 미디어 독립 인터페이스 데이터로 변환시키고, 이 변환된 데이터를 10기가비트 미디어 독립 인터페이스(XGMII)의 형식에 따라서 출력하는 가변길이 패킷 다중화 장치; 및 10기가비트 미디어 독립 인터페이스(XGMII)의 형식에 따라서 입력되는 10기가비트 이더넷 미디어 독립 인터페이스 데이터를 복수의 기가비트 이더넷 매체접근제어 프레임으로 변환시켜 출력하는 가변길이 패킷 역다중화 장치를 포함하는 가변길이 패킷 전송장치를 제공한다.

이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.

도 1은 이더넷 프레임 구조를 나타낸 도면이다.

도 1을 통해서 이더넷 프레임의 구성 및 동작을 IEEE 802.3에서 정의된 규격의 관점에서 살펴보면 다음과 같다.

도 1의 (a)는 일반적인 매체접근제어(MAC, Media Access Control) 프레임을 가진 이더넷의 구성을 나타낸 도면이다.

즉 10101010으로 이어지는 7 바이트의 프리앰블(preamble) 이후에 프레임 디리미터의 시작(SFD, start of frame delimiter)인 10101011 이 되면 SFD로 인식하여 매체접근제어(MAC) 프레임이 시작됨을 의미한다. 다음에는 6 바이트의 도착지 주소(DA, Destination Address)와 6 바이트의 출발지 주소(SA, Source Address)가 이어지며 가상사설망(VLAN, Virtual Local Area Network)으로 사용되는 경우에는 다음 2 바이트가 가상사설망 태그(VLAN tag)임을 나타내는 2 바이트의 0x8100 값과 2 바이트의 VLAN tag가 이어진다.

다음의 2 바이트에는 종류 및 길이(type/length) 정보가 나타나고, 계속해서 46 ~ 1500 바이트의 가변길이를 지닌 데이터 및 패드(pad)가 나타나고, 마지막으로 4 바이트의 체크섬(checksum) 정보가 추가된다. 이더넷의 최소 길이(minimum length)는 64 바이트로 규정되어 있으므로 데이터의 길이가 이보다 짧을 경우에 64 바이트로 맞추기 위하여 패드(pad)가 추가된다. 이러한 프레임의 구조는 이더넷을 전이중(FDX, Full Duplex) 또는 반이중(HDX, Half Duplex) 방식으로 전송하는 경우에 모두 사용 가능한 구조이다.

도 1의 (b)는 캐리어 확장 MAC 프레임(carrier extended MAC frame)의 구조를 나타낸 것이고, (c)는 프레임 버스트(frame burst)의 구조를 나타낸 것이다. 이 프레임의 구조는 기가비트 이더넷을 반이중(HDX) 방식으로 사용하는 경우에 기존의 10메가 또는 100메가 비트 이더넷과의 호환성 유지하고, 전송 효율을 높이기 위한 것이다.

캐리어 확장은 CSMA/CD(Carrier Sense Multiple Access/Collision Detection)의 최소 캐리어 접속시간(slot time)을 기존의 64 바이트 시간에서 512 바이트 시간으로 확장하였으며, 실제 송신하여야 할 이더넷 프레임의 최소 길이인 64 바이트는 그대로 두고 프레임 끝에 캐리어 확장이라는 일종의 패딩을 추가한다. 다시 말하면 패딩은 프레임이 512 바이트가 되도록 추가하는 길이 조정용 바이트이므로 0 ~ 448 바이트를 이에 맞추어 추가하는 것이다.

또한 캐리어 확장에 의하여 512 바이트 미만의 프레임을 전송하는 경우에는 패드(pad)를 추가하기 때문에 전송 효율이 크게 저하된다. 따라서 이러한 전송 효율의 저하를 보상하기 위한 방법으로 프레임 버스트(frame burst)를 사용한다. 즉 하나의 송신 단말에서 최초의 프레임 송신을 충돌 없이 완료한 후에 캐리어를 해방(release)하지 않고 다음 프레임을 계속하여 송신하는 방식이다.

이 경우, 다른 단말에서는 캐리어 해방(carrier release) 대기 상태가 계속되므로 충돌은 발생하지 않는다. 이러한 버스트(burst) 송신은 최초의 프레임 송신에서 버스트 리미트(burst limit)의 송신 타이머 종료시점까지 계속하여 송신이 가능하다.

즉, 계속하여 데이터를 송신하는 경우, 최초로 송신하는 프레임의 길이가 512 바이트 미만일 경우에는 앞서 거론된 바와 같이 캐리어 확장(carrier extension)을 하여 512 바이트로 맞추어서 송신하여야 하므로 캐리어 확장이 필요하고, 최초로 송신하는 프레임의 길이가 512 바이트 이상인 경우에는 캐리어 확장이 필요하지 않다. 그러나 최초의 프레임 전송을 성공한 이후에는 캐리어 접속시간을 보장함으로써 프리앰블(preamble)과 인터프레임 갭(IFG, Inter Frame Gap)을 포함한 데이터를 최대 8192 바이트까지 연속하여 송신할 수 있으므로 연속하여 보내는 다음의 프레임들은 캐리어 확장이 필요하지 않다.

다음에는 기가비트 이더넷의 메체접근제어(MAC)가 조정 부계층(RS, Reconciliation Sublayer)을 통하여 물리계층과 접속하는 표준 인터페이스인 기가비트 미디어 독립 인터페이스(GMII)의 구성 및 동작을 IEEE 802.3에서 정의된 규격의 관점에서 살펴보면 다음과 같다.

도 2는 기가비트 이더넷 표준 인터페이스인 GMII를 나타낸 도면이다.

도 2에서 TxD<7:0>(201)는 1000BASE-X/T 매체접근제어 조정부계층(GbE MAC, 1000Base-X/T MAC RS)(250)에서 1000BASE-X/T 물리계층(GbE PHY)(260)으로 전달되는 전송 데이터로써 8 비트 병렬로 전송된다. GTX_CLK(202)는 이러한 TxD<7:0>(201) 데이터를 전송하기 위하여 GbE MAC(250)에서 GbE PHY(260)으로 전달하는 125MHz의 클럭(clock) 신호이다.

또한 RxD<7:0>(203)는 GbE PHY(260)가 수신한 데이터를 GbE MAC(250)에 전송하는 수신 데이터로써 8 비트 병렬로 전송된다. 또한 GRX_CLK(204)는 이러한 RxD<7:0>(203) 데이터를 전송하기 위하여 GbE PHY(260)에서 GbE MAC(250)으로 전송하는 125MHz의 클럭(clock) 신호이다.

Tx_EN(205)은 데이터 전송 기간 동안에 GbE MAC(250)에서 GbE PHY(260)으로 데이터를 전송한다는 내용을 알리는 신호이다. 즉 GbE MAC(250)에서 GbE PHY(260)으로 데이터를 보내는 동안에는 논리적 신호 1(Logical One, 이하 High로 약칭)이 되며, 데이터를 전송하지 않는 동안에는 논리적 신호 0(Logical Zero, 이하 Low로 약칭)으로 변한다. Tx_ER(206)은 실제의 데이터 전송 중에 오류가 발생하거나 캐리어 확장 및 캐리어 확장 오류 발생시에 High가 되며, 다른 경우에는 Low이다.

또한 Rx_DV(207)는 데이터 전송 기간 동안에 GbE PHY(260)에서 GbE MAC(250)으로 데이터를 전송한다는 내용을 알리는 신호이다. 즉 GbE PHY(260)에서 GbE MAC(250)으로 데이터를 보내는 동안에는 High가 되며, 데이터를 전송하지 않는 동안에는 Low로 변한다.

또한 COL(208)은 GbE PHY(260)에서 GbE MAC(250)에게 충돌이 발생하였음을 알리는 신호이다. GbE PHY(260)가 반이중(HDX) 동작 상태인 경우, GbE PHY(260)에서 GbE MAC(250)에게 송신 및 수신 매체(transmit receive medium)가 사용중일 때는 CRS(209)는 High가 되며 유휴 상태(idle state) 동안에는 Low로 변한다.

한편 중계기(Repeater)로 사용되는 경우에는 수신부의 GbE PHY(260)가 사용중일 때만 High가 되며 나머지 경우에는 Low로 된다. 따라서 이러한 CRS(209)와 COL(208)은 기가비트 이더넷이 반이중(HDX) 방식으로 동작하는 경우에 사용되는 신호이다. 그러나 GbE PHY(260)가 전이중(FDX) 방식으로 동작일 때는 GbE PHY(260)가 생성하는 CRS(209)와 COL(208) 신호를 GbE MAC(250)은 무시한다.

그리고, GbE MAC(250)와 스테이션 관리 엔터티(STA, Station Management Entity) 사이의 MDC(210) 및 MDIO(211) 신호는 GbE MAC(250)에서 GbE PHY(260)의 동작 제어(즉, FDX 또는 HDX 등) 및 상태 정보 등을 가져오기 위한 신호들이다.

도 3은 10기가비트 이더넷 표준 인터페이스인 XGMII를 나타낸 도면이다.

10기가비트 미디어 독립 인터페이스(XGMII)는 IEEE 802.3 에서 정의하는 MAC이 조정 부계층(RS)을 통하여 물리계층과 접속하는 표준 인터페이스 규격이다. 이러한 10기가비트 이더넷은 기가비트 이더넷과 달리 전이중(FDX) 방식만을 사용한다.

도 3에서 TxD<31:0>(301)는 10G BASE-X 매체접근제어 조정부계층(XGbE MAC, 10GBase-X MAC RS)(350)이 10G BASE-X PHY(XGbE PHY)(360)에게 전달하는 전송 데이터로서 32 비트 병렬로 전송하되, TxD<7:0>, TxD<15:8>, TxD<23:16>및 TxD<31:24>와 같이 8 비트씩 4개의 레인(lane)으로 구분하여 전송한다.

또한 TXC<3:0>(302)는 XGbE MAC(350)에서 XGbE PHY(360)으로 전달하는 4 비트의 병렬신호로서 TxD 신호가 데이터 신호인지 또는 제어 신호인지를 나타낸다. 즉, TXC<3:0>(302)의 각각의 신호선의 상태(High 또는 Low)에 따라, TXC<3:0>(302)중에서 TXC<0>는 TXD<7:0>, TXC<1>은 TXD<15:8>, TXC<2>은 TxD<23:16>, TXC<3>은 TxD<31:24>의 값들이 실제의 MAC 프레임 데이터인지 또는 MAC 프레임을 보내기 위한 프리앰블(preamble), SFD, 프레임의 종료(End of Frame)이거나 오류 표시 신호인지를 나타내는 역할을 수행한다.

또한 TX_CLK(303)는 이러한 TxD<31:0>(301) 데이터를 전송하기 위하여 XGbE MAC(350)에서 XGbE PHY(360)으로 전달하는 156.25MHz의 클럭(clock) 신호이며, TxD<31:0>(301)과 TXC<3:0>(302)의 전송 방식은 이 클럭 신호와 동기되어 이중 데이터 레이트(DDR, Double Data Rate)방식을 사용한다.

한편, RxD<31:0>(304)는 XGbE PHY(360)가 수신한 데이터를 XGbE MAC(350)에게 전달하는 전송 데이터로서 32 비트 병렬로 전송된다. 이때, RxD<7:0>, RxD<15:8>, RxD<23:16> 및 RxD<31:24>와 같이 8 비트씩 4개의 레인(lane)으로 구분하여 전송된다.

또한 RXC<3:0>(305)는 XGbE PHY(360)에서 XGbE MAC(350)으로 전달하는 4 비트의 병렬신호로서 RxD 신호가 데이터 신호인지 또는 제어 신호인지를 나타낸다. 즉, RXC<3:0>(305)의 각각의 신호선의 상태(High 또는 Low)에 따라, RXC<3:0>(305)중에서 RXC<0>는 RXD<7:0>, RXC<1>은 RXD<15:8>, RXC<2>은 RxD<23:16> 및 RXC<3>은 RxD<31:24>의 값들이 실제의 MAC 프레임 데이터인지 또는 MAC 프레임을 보내기 위한 프리앰블(preamble), SFD, 프레임의 종료(End of Frame)이거나 오류 표시 신호인지를 나타내는 역할을 수행한다.

그리고, RX_CLK(306)는 이러한 RxD<31:0>(304) 데이터를 전송하기 위하여 XGbE PHY(360)에서 XGbE MAC(350)으로 전달하는 156.25MHz의 클럭(clock) 신호이며, RxD<31:0>(304)와 RXC<3:0>(305)의 전송 방식은 이 클럭 신호와 동기되어 DDR 방식을 사용한다. 또한 XGbE MAC(350)와 STA 사이의 MDC(307) 및 MDIO(308) 신호는XGbE MAC(350)에서 XGbE PHY(360)의 동작 제어(속도 선택 등) 및 상태 정보 등을 가져오기 위한 신호들이다.

도 4는 본 발명의 다중화 장치의 간략한 블록도면이다.

도 4에서 GbE MAC RS(401)는 도 2의 1000BASE-X/T(250)중에서 송신 블록을 나타낸다. 그리고 GMII(450)은 도 2의 GMII 중에서 GbE MAC(250)이 GbE PHY(260)에게 데이터를 송신하는데 필요한 신호들인 TxD<7:0>, Tx_EN, Tx_ER, GTX_CLK, CRS, COL과 관리에 필요한 MDC, MDIO로 구성된다.

또한 XGbE PHY(402)은 도 3의 10G BASE-X PHY(360)중에서 송신 블록을 나타내며, XGMII(451)은 도 3의 XGMII 중에서 10G Base-X MAC RS(350)이 10G Base-X PHY(360)에게 데이터를 송신하는데 필요한 신호들인 TxD<31:0>, TXC<3:0>, TX_CLK과 관리에 필요한 MDC, MDIO로 구성된다.

다중화부 상태 모니터 블록(MUX STA)(403)은 GbE MAC(401)이 생성한 관리 정보 및 상태 정보의 모니터링(monitoring)에 의하여 GMII(450)에 연결된 각 포트의 동작 방식(즉, FDX 또는 HDX)을 파악하는데 사용된다.

MUX(400)은 다중화 장치의 간략한 구성도로서, 도 1에서 설명된 기가비트 이더넷 신호들을 GMII(450)을 통하여 다수의 입력 버퍼(input buffer)(404)에 저장하였다가 선택제어블록(select control)(405)과 선택 및 변환블록(select convert)(406)의 처리에 의하여 10기가비트 이더넷 신호로 변환하여 XGMII(451)를 통하여 출력한다. 이때 출력되는 10기가비트 이더넷의 전송은 FDX 방식만이 사용되므로 개별 프레임 형태는 도 1의 (a)와 같으며, 연속되는 프레임의 경우에는 개별프레임 사이에 10기가비트 이더넷 규격의 인터프레임 갭(IFG)을 삽입하게 된다.

그리고 광섬유(fiber)(410)는 10기가비트 이더넷 신호를 전송하는 전송 매체로서 광섬유를 나타낸다.

도 5는 본 발명의 역다중화 장치의 간략한 블록도면이다.

XGbE PHY(501)은 도 3의 10G BASE-X PHY(360)가 수신하는 블록을 나타내며, XGMII(550)은 도 3의 XGMII 중에서 GbE MAC이 GbE PHY로부터 데이터 수신에 필요한 신호들인 RxD<31:0>, RXC<3:0>, RX_CLK과 관리에 필요한 MDC, MDIO로 구성된다. 그리고, GbE MAC RS(502)는 도 2의 1000BASE-X/T(250) 중에서 수신 블록을 나타낸다.

또한 GMII(551)은 도 2의 GMII 중에서 GbE MAC(250)이 GbE PHY(260)으로부터 데이터 수신에 필요한 신호들인 RxD<7:0>, Rx_DV, Rx_ER, GRX_CLK, CRS, COL과 관리에 필요한 MDC, MDIO로 구성된다. 또한 역다중화부 상태 모니터 블록(DEMUX STA (503)은 GbE MAC이 생성한 관리 정보 및 상태 정보의 모니터링(monitoring)에 의하여 GMII(551)에 연결된 각 포트의 동작 방식(즉 FDX 또는 HDX)을 파악한다.

도 4에서 DEMUX(500)은 역다중화 장치의 간략한 구성도로서, XGMII(550)를 통하여 입력된 10기가비트 이더넷 신호를 버퍼 및 변환블록(buffer convert)(504)에 저장하였다가 포트분석 및 제어블록(port analysis control)(505)과 포트선택블록(port select)(506)의 처리에 의하여 도 1에서 설명한 기가비트 이더넷 신호로 변환하여 GMII(551)를 통하여 출력한다. 그리고 출력버퍼(output buffer)(507)는 도 2의 1000BASE-X/T(250)중에서 수신 블록을 나타낸다.

도 6은 본 발명의 다중화 장치 상세 블록도면이다.

도면에서 입력버퍼(input buffer)(610), 선택 및 변환블록(select convert)(620), 선택제어블록(select control)(630), 다중화부 상태모니터블록(MUX STA)(640)은 도 4의 MUX(400)내부에 표시한 입력버퍼(input buffer)(404), 선택 및 변환블록(select convert)(406), 선택제어블록(select control)(405), 다중화부 상태모니터블록(MUX STA)(403)과 동일한 기능 블록이다.

그리고, GMII(650), XGMII(651)는 도 4의 GMII(450), XGMII(451)와 같은 인터페이스이다. 다중화부의 동작 제어 과정에서 다중화부 상태모니터 블록(MUX STA)(640)의 상태 정보에 따라 각각의 #1, .. , #N 포트들이 FDX 또는 HDX로 결정된다. 이 과정에서 자동 절충(Auto-negotiation)이 필요한 경우에는 역다중화부 내부의 역다중화부 상태 모니터 블록과 연동하는 과정이 있을 수 있으나, 이러한 상세 내용은 실제 사용하는 칩에 따라 다를 수 있으며 본 발명의 범위가 아니다.

버스트 검출부(Burst detection)(617)는 다수의 이더넷 프레임을 한꺼번에 연속하여 전송하는 경우를 검출하는 것으로서, 프레임을 받지 않는 유휴(idle)상태에서는 Low이고 Tx_EN이 High로 변화함과 동시에 High로 변화하며, Tx_EN과 Tx_ER이 모두 Low일 때만 Low로 변화하는 방식으로 동작한다.

캐리어 확장부(Carrier extension)(616)는 캐리어 확장 검출부로서 Tx_ER이 High 이고 Tx_EN이 Low 동안에만 High인 값을 유지한다.

프레임 시작 및 종료처리부(SOF/EOF process)(618)는 타이머(Timer), 프레임의 시작(SOF, Start Of Frame) 주소, 프레임의 종료(EOF, End Of Frame) 주소로 이루어진 레지스터 트리플(triple)들로 구성된 라운드 로빈(round robin) 형태의 버퍼(buffer)와 현재 처리 대기 중인 레지스터 트리플(triple)의 수효를 나타내는 값, 또한 현재 처리 대기중인 레지스터 트리플(triple)들 중에서 가장 오래된 레지스터 트리플(triple)을 지시하는 포인터(pointer)로 구성된다.

위와 같은 레지스터 트리플(triple)이 라운드 로빈(round robin)형태의 버퍼(buffer)이므로 다수의 트리플(tripple)들이 존재하는 경우에는 현재 처리 대기중인 레지스터 트리플(triple)들 중에서 가장 오래된 레지스터 트리플(triple)을 지시하는 포인터(pointer)의 값을 증가시키면 자동적으로 다음 번의 타이머(Timer), SOF 주소, EOF 주소, 타이머(Timer)를 지시하는 포인터가 되도록 구성한다.

SOF 주소에는 인에이블 버퍼(enable buffer)(613)와 캐리어 확장부(Carrier extension)(616) 및 버스트 검출부(Burst detection)(617)가 모두 Low 상태에 있다가 인에이블 버퍼(enable buffer)(613)가 최초로 High인 시점에 데이터 버퍼(Data Buffer)(611)의 SOF 주소를 저장하며, 현재 대기중인 레지스터 트리플(triple)의 수효를 나타내는 레지스터의 값을 1 만큼 증가하고, 그 이후에는 인에이블 버퍼(enable buffer)(613)와 캐리어 확장부(Carrier extension)(616) 및 버스트 검출부(Burst detection)(617)의 신호가 모두 Low로 변화한 시점에서 데이터 버퍼(Data Buffer)(611)의 EOF 주소를 저장하고, 그 시점에서 타이머(timer)를 가동시키면 일정 시간마다 프레임 시작 및 종료처리부(SOF/EOF process)(618)내의 모든 타이머(timer)를 1씩 증가시킨다.

이와 같은 방식의 구성에서는 프레임을 처리하지 못하고 대기중인 상태가 길어져서 또한 SOF와 EOF가 여러 번 반복되더라도 데이터 버퍼(Data Buffer)(611)가 오버플로우(overflow)를 발생시키지 않는다면 다수의 분리된 프레임이 도착하여도 모두 처리 가능하다. 따라서 현재 처리 대기 중인 레지스터 트리플(triple)의 수효를 나타내는 레지스터의 값이 0인 경우에는 처리해야 할 이더넷 프레임이 없는 상태이거나 아직 수신 중이므로 그 포트(예를 들어 #1)는 처리할 필요가 없음을 나타낸다.

도 7은 데이터, 프레임 시작 및 종료 처리과정에서 사용되는 내부 테이블 구조를 나타낸 도면이다.

도 6의 데이터 버퍼(Data Buffer)(611)블록과 도 7의 데이터 버퍼(Data)(710)는 동일하며, 도 6의 프레임 시작 및 종료처리부(SOF/EOF process)(618)와 도 7의 프레임 시작 및 종료처리부(SOF/EOF process)(720)도 동일하다. 도 7의 데이터 버퍼(Data Buffer)(710)는 라운드 로빈(round robin) 형태의 버퍼(buffer)를 옆으로 펼쳐서 나타낸 그림이며, 이 경우에 오른쪽이 최근이며, t-now(711)은 현재 시점을 나타낸다.

타이머(timer)(721), SOF(722), EOF(723)는 타이머(Timer), SOF 주소, EOF 주소를 저장하는 레지스터 트리플(triple)들로서 라운드 로빈(round robin) 형태이지만 상하로 펼쳐서 나타낸 것이다. 이 경우에서는 아래쪽 레지스터 트리플(triple)이 최근임을 나타낸다.

SOF(722)의 내용은 SOF-1, SOF-2, SOF-3까지 있다. 타이머(timer)(721) 및EOF(723)에서 각각 Timer-1, Timer-2 및 EOF-2, EOF-2 까지만 있는 이유는 현 시점인 t-now(711)에서 GbE MAC으로부터 보내지는 세 번째 이더넷 프레임이 수신 중이기 때문이다.

Xtm(724)은 현재 처리 대기중인 레지스터 트리플(triple)들 중에서 가장 오래된 레지스터 트리플(triple)을 지시하는 포인터를 나타내므로, 이 도면에서는 timer-1을 지시하고 있다. 또한 Tnm(725)는 현재 처리 대기 중인 레지스터 트리플(triple)의 수효를 나타내는 값이므로 이 경우의 값은 2 이다.

도 6의 인에이블 버퍼(enable buffer)(613)와 캐리어 확장부(Carrier extension)(616) 및 버스트 검출부(Burst detection)(617)가 모두 Low로 변화한 시점에서의 데이터 버퍼(Data buffer)(611)의 EOF 주소를 저장하는 방식에 의하여 캐리어 확장(carrier extension) 뿐만 아니라 프레임 버스트(frame burst)와 같이 다수의 이더넷 프레임과 인터프레임 갭(IFG)이 포함된 버스트(burst) 기간 동안의 하나의 프레임으로 취급한다.

한편 데이터 버퍼(Data buffer)(611), 인에이블 버퍼(enable buffer)(613), 에러 버퍼(error buffer)(612)는 GbE MAC이 제공하는 GTX_CLK을 사용하여 TxD<7:0>, Tx_EN, Tx_ER 정보를 저장하는 라운드 로빈(round robin) 형태의 입력 버퍼이며, GTX_CLK와 동기되어 있어서 데이터 버퍼(Data buffer)(611)의 주소만 알면 인에이블 버퍼(enable buffer)(613), 에러버퍼(error buffer)(612)의 주소를 모두 알 수 있다.

CRS 생성부(CRS generation)(614)는 Tx_EN 이나 Tx_ER 또는 32비트변환 및레인생성부(8-bit to 32-bit Converter 4 lane generator)(622)의 출력 신호의 하나인 상태신호(status signal)(625)의 상태가 High이면 High를 유지한다.

충돌상태 생성부(COL generation)(615)는 충돌 발생 검출 및 생성신호로서 본 발명인 10기가비트 이더넷 다중화부 동작방식이 FDX이므로 항상 Low를 유지한다.

FDX 방식에서는 CRS 생성부(CRS generation)(614)와 충돌상태 생성부(COL generation)(615)에서 생성한 신호를 GMII(650)를 통하여 GbE MAC에 전달하더라도 GbE MAC은 이를 무시한다.

위와 같은 구성에서 GMII를 통하여 들어오는 TxD<7:0>, Tx_ER, Tx_EN의 신호를 데이터 버퍼(Data buffer)(611), 인에이블 버퍼(enable buffer)(613), 에러버퍼(error buffer)(612)에 저장하기 시작하면 프레임 시작 및 종료처리부(SOF/EOF process)(618)는 도 8의 Xtm(824), Tnm(825) 신호에 의하여 처리 대기중인 프레임 수효, 가장 오래된 프레임의 처리 대기 시간 정보를 선택제어블록(select control)(630)의 송신포트 선택제어부(xmit port select control)(633)에 알려준다.

마찬가지로 포트선택 및 저장부(port select store)(621)는 송신포트 선택제어부(xmit port select control)(633)의 요구에 의하여 입력버퍼(input buffer)(610) 들 중에서 특정 버퍼를 선택하여 프레임 시작 및 종료처리부(SOF/EOF process)(618)에 저장된 SOF 주소와 EOF 주소를 사용하여 데이터 버퍼(Data buffer)(611), 인에이블 버퍼(enable buffer)(613), 에러버퍼(error buffer)(612)에 내용을 저장한다.

또한 송신클럭 생성부(TX_CLK generation)(624)는 156.25 MHz 클럭(clock) 신호를 생성하여 인터프레임 갭(IFG) 삽입(insertion)블록(623)과, 신호변환 및 레인생성부(8-bit to 32-bit Converter 4 lane generator)(622) 및 XGMII(651) 인터페이스에 TX_CLK 신호를 공급한다.

신호변환 및 레인생성부(8-bit to 32-bit Converter 4 lane generator)(622)는 포트선택 및 저장부(port select store)(621)가 읽어 들인 내용 중에서 데이터 버퍼(Data buffer)(611)의 내용인 TxD<7:0>의 내용을 XGMII 규격인 TxD<31:0>의 4-레인(lane) 데이터로 변환한다.

즉, Tx_EN의 시작 시점은 프리앰블(preamble)신호 중에서 첫번째 바이트 신호이며 이 신호를 TxD<32:0>중에서 첫번째 레인(lane)인 TxD<7:0>에 시작(Start) 신호로 대체한다. 다음에 이어지는 6 바이트의 프리앰블(preamble)신호는 순서대로 레인1(lane1), 레인2(lane2), 레인3(lane3)인 TxD<15:8>, TxD<23:16>, TxD<31:24>에 옮긴다. 다음에는 다시 레인0(lane0), 레인1(lane1), 레인2(lane2)인 TxD<7:0>, TxD<15:8>, TxD<23:16>에 프리앰블(preamble) 신호를 옮긴 다음, SFD 정보를 레인3(lane3)인 TxD<31:24>에 옮긴다.

다음부터는 lane0에서부터 시작하여 lane1, lane2, lane3의 순서대로 라운드 로빈(round robin)방식으로 Tx_EN이 High에서 Low로 변할 때까지 옮긴 후에 다음 lane에는 종료(terminate) 신호(즉 0xFD)를 삽입하고, 해당되는 TXC<3:0>의 값을 생성한다(즉 lane2에 종료(terminate)신호를 삽입하는 경우에는 TXC<3:0>중에서 3번째 비트가 High이므로 TXC<3:0>의 값은 0x6 가 된다).

이와 같이 8 비트의 TxD<7:0>를 32 비트의 TxD<31:0>로의 병렬 데이터 변환하고 TXC<3:0> 정보를 생성하여 송신클럭 생성부(TX_CLK generation)(624)가 생성한 TX_CLK을 사용하여 XGMII(651)으로 출력시킨다. 또한 더 이상 출력할 데이터가 없는 lane들은 유휴 신호(즉 0x07)값을 넣으며, 해당되는 lane의 상태를 나타내는 TXC의 비트를 High로 변경시켜 TxD<31:0>, TXC<3:0>을 TX_CLK 클럭을 사용하여 XGMII(651)으로 출력시킨다. 예를 들어 모든 lane에 유휴 신호 값을 넣는 경우에는 TXC의 모든 비트가 high이므로 TXC<3:0>의 값은 0xF가 된다.

인터프레임 갭 삽입부(IFG insertion)(623)는 포트선택 및 저장부(port select store)(621)가 선택한 특정 입력포트(예: #1)의 프레임 시작 및 종료처리부(SOF/EOF process)(618)에 저장된 타이머(timer)(821), SOF(822), EOF(823) 트리플(triple)들 중에서 한 개의 트리플(triple)을 처리한 직후에 인터프레임 갭(IFG)을 삽입하여 XGMII(651)으로 출력시킨다.

이러한 과정에서 GMII의 Tx_ER 정보는 다음과 처리한다. 정상적인 MAC 프레임 내의 데이터 에러는 TX_EN의 High 동안에 Tx_ER이 High로 변화한다. 따라서 이 기간 동안의 TxD<7:0>를 XGMII의 TxD<32:0>로 변환하는 과정에서 Tx_ER에 해당하는 GMII의 TxD<7:0>가 속할 XGMII의 lane 값에 에러 값(즉 0xFE)을 넣고, TXC<3:0>중에서 그 lane에 해당하는 비트를 High로 하여 전송한다. 만약에 해당하는 lane이 0인 경우에는 GMII의 TxD<7:0>에 0xFE값, TXC<3:0>은 0x1로 변환하여 XGMII로 출력시킨다. TX_EN이 Low 상태에서는 Tx_ER 의 High 및 Low와 관계없이 XGMII의유휴(idle)신호 값인 0x07 값으로 변환하여 XGMII로 출력시킨다.

또한 위와 같이 신호변환 및 레인생성부(8-bit to 32-bit Converter 4 lane generator)(622)에서 포트선택 및 저장부(port select store)(621)에 저장된 GMII의 TxD<7:0>와 인터프레임 갭 삽입부(IFG insertion)(623)의 인터프레임 갭(IFG)을 XGMII(651)으로 출력시키는 동안에는 상태 신호(status signal)(625)는 High 상태이고 그 이외의 시간에는 Low를 유지하며, 이 신호를 선택제어블록(select control)(630)안의 송신상태저장부(xmit status)(631)와 CRS 생성부(CRS generation)(614)에 전달한다. 그러면 송신상태저장부(xmit status)(631)는 이 값을 송신포트 선택제어부(xmit port select control)(633)로 전달한다.

또한 송신테이블(xmit table)(632)에는 다중화부 상태모니터 블록(MUX STA)(640)을 통하여 얻은 각 입력포트(#1, #2, ... , #N)의 GbE 의 동작 종류(HDX 또는 FDX) 정보가 있으며, 이 정보로서 송신포트 선택제어부(xmit port select control)(633)에서 입력포트 선택시에 우선 순위를 결정하는데 사용하고, 요구에 의하여 송신포트 선택제어부(xmit port select control)(633)에게 전달한다.

송신포트 선택제어부(xmit port select control)(633)는 송신상태저장부(xmit status)(631)의 출력이 High 에서 Low로 변화하면 포트선택 및 저장부(port select store)(621)를 동작시키기 위하여 다음과 같이 수행한다.

먼저 GMII(650)에 연결된 모든 입력포트가 HDX 이거나 FDX의 경우에는 송신상태저장부(xmit status)(631)의 정보는 송신포트 선택제어부(xmit port selectcontrol)(633)의 우선순위 결정에는 사용하지 않는다. HDX와 FDX가 함께 혼합되어 있는 경우에는 다음과 같이 수행한다.

먼저 모든 입력버퍼(input buffer)(610)들에 있는 프레임 시작 및 종료처리부(SOF/EOF process)(618)들로부터 Tnm(825)의 값을 가져온다. Tnm(825)의 값은 현재 처리 대기 중인 레지스터 트리플(triple)의 수효를 나타내는 값(이 값을 편의상 X1으로 표시)이 1 이상인 경우에 한하여, Xtm(824)의 정보가 가리키는 타이머(timer)의 값(편의상 T1으로 표시)을 가져온다. 다음에는 우선 순위 결정 방법을 다음 순서로 수행한다.

1) 이렇게 수집된 T1의 값을 비교하여 T1의 값이 가장 큰 GMII의 입력포트 정보를 포트선택 및 저장부(Port select store)(621)에 알려준다.

2) T1 최대 값이 여러 개 존재하는 경우에는 X1의 값이 가장 큰 GMII의 입력포트 정보를 포트선택 및 저장부(Port select store)(621)에 알려준다.

3) X1의 최대 값이 여러 개 존재하는 경우에는 FDX인 경우의 GMII의 입력포트 정보를 포트선택 및 저장부(Port select store)(621)에게 알려준다.

4) 모두 FDX인 방식으로 동작하는 경우에는 임의의 GMII의 입력포트 정보를 포트선택 및 저장부(Port select store)(621)에 알려준다.

5) 마지막으로 위의 과정에서 선택된 입력단자의 T1값을 0으로 하고, X1값을 1만큼 감소한 다음에, 가장 오래된 레지스터 트리플(triple)을 지시하는 포인터(pointer)값을 증가하도록 한다.

위의 과정에서는 일례로서 FDX 방식에 대한 우선권을 3)번 과정에 주었으나,필요한 경우에는 1)번 과정에서 먼저 FDX인 T1 값을 선택하도록 하거나 또는 2)번 과정에서 X1 값 대신 FDX 방식을 우선권을 주도록 조정할 수도 있다.

도 8은 본 발명의 다중화 방법의 흐름도면이다.

우선 복수의 입력버퍼블록(input buffer)이 기가비트 미디어 독립 인터페이스(GMII)의 형식에 따라서 입력되는 기가비트 이더넷 매체접근제어(MAC) 프레임을 저장한다(810).

그리고, 다중화부 상태 모니터 블록(MUX STA)이 10기가비트 이더넷 매체접근제어(MAC) 프레임의 관리 정보 및 상태 정보에 의하여 상기 입력버퍼 블록(input buffer)의 동작방식을 결정한다(820).

선택제어블록(Select Control)은 상기 복수의 입력버퍼(input buffer) 중에서 하나를 선택하도록 하는 제어신호를 발생시켜 선택 및 변환블록(Select Convert)으로 입력한다(830).

그러면, 선택 및 변환블록(Select Control)은 상기 입력된 복수의 기가비트 이더넷 매체접근제어(MAC) 프레임 중에서 하나를 상기 선택제어블록(Select Control)의 제어신호에 의하여 순차적으로 선택하여 10기가비트 미디어 독립 인터페이스 데이터로 변환하고 이 변환된 프레임을 10기가비트 미디어 독립 인터페이스(XGMII)의 형식에 따라서 출력한다(840).

도 9는 본 발명의 역다중화 장치 상세 구성도면이다.

버퍼 및 변환블록(buffer convert)(910), 포트선택블록(port select)(920), 포트분석 및 제어블록(port analysis control)(930), 역다중화부 상태모니터 블록(DEMUX STA)(940), 출력버퍼(output buffer)(950)는 도 4의 DEMUX(500) 내부에 표시한 버퍼 및 변환블록(buffer convert)(504), 포트선택블록(port select)(506), 포트분석 및 제어블록(port analysis control)(505), 역다중화부 상태모니터 블록(DEMUX STA)(503), 출력버퍼(output buffer)(507)와 동일한 기능 블록이다.

또한 XGMII(980), GMII(981)는 도 4의 XGMII(550), GMII(551)과 같은 인터페이스이다.

DEMUX(900)의 동작 제어 과정에서는 역다중화부 상태모니터 블록(DEMUX STA)(940)의 상태 정보에 따라 각각의 #1, , #N 포트들이 FDX 또는 HDX로 결정된다. 이 과정에서 자동 절충(Auto-negotiation)이 필요한 경우에는 DEMUX(900) 내부의 역다중화부 상태모니터 블록(DEMUX STA)(940)과 연동하는 과정이 있을 수 있으나, 이러한 상세 내용은 실제 구현할 경우 사용하는 칩에 따라 다를 수 있으며 본 발명의 범위가 아니다.

앞에서 기술된 바와 같이 XGbE PHY(501)은 XGMII(550)을 통하여 버퍼 및 변환블록(buffer convert)(910)내부의 수신데이터버퍼(RD_buf)(911)와 수신상태버퍼(RC_buf)(912)에게 각각 RxD<31:0>, RXC<3:0>와 RX_CLK를 제공한다. RX_CLK 는 162.25MHz의 클럭신호이며, RxD<31:0>와 RXC<3:0>는 각각 32 비트와 4 비트의 병렬 신호이다.

수신데이터버퍼(RD_buf)(911)와 수신상태버퍼(RC_buf)(912)는 읽기(read)와 쓰기(write)가 독립적으로 수행 가능한 라운드 로빈(round robin) 형태의버퍼(buffer)이고, RxD<31:0>과 RXC<3:0>를 병렬로 저장하며, RX_CLK 정보에 따라 DDR 방식으로 동작하는 수신데이터버퍼 블록과 수신상태 버퍼 블록이다.

이 경우, 이더넷 프레임을 수신하지 않는 유휴(idle) 상태에서의 RxD<31:0>의 값은 유휴 데이터(idle data)(즉 RxD<7:0>, RxD<15:8>, RxD<23:16>, RxD<31:24>의 값이 모두 0x07)이며, RXC<3:0>의 값은 모두 High(즉 0xF)이다.

프레임시작 및 종료검출부(SOF/EOF detect)(913)의 입력은 수신데이터버퍼(RD_buf)(911)와 수신상태버퍼(RC_buf)(912)의 출력인 RxD<31:0>과 RXC<3:0>을 연속하여 검사하여 이더넷 프레임의 시작과 끝을 다음과 같은 방법으로 찾아낸다.

즉, RxD<31:0>의 값이 유휴 데이터(Idle data)이고 RXC<3:0>의 값이 모두 High인 상태에서 RxD<7:0>의 값이 프레임 시작 데이터(frame start data, 즉 0xFB)이고, RxD<15:8>, RxD<23:16>, RxD<31:24>의 값이 모두 프리앰블(preamble) 값(즉 0xAA)이며, TXC<3:0>의 값이 0x1이면 연속되는 다음의 RxD<7:0>, RxD<15:8>, RxD<23:16>, RxD<31:24>의 값이 각각 프리앰블(preamble) 값, 프리앰블(preamble) 값, 프리앰블(preamble) 값, 프레임 디리미터의 시작(SFD, Start of Frame Delimiter, 즉 0xFB)이면 다음 데이터부터는 정상적인 이더넷 MAC 프레임 데이터가 시작되는 것으로 판단하고, 4개의 출력 상태를 모두 Low에서 High로 변화시켜 역변환부(de-convert)(915)블록과 도착주소 검출블록(DA detect)(914) 및 카운터부(counter)(916)에게 다음의 RxD<31:0>들은 도착주소(Destination Address) 정보부터 시작되는 이더넷 MAC 프레임이라는 것을 알려준다.

프레임시작 및 종료검출부(SOF/EOF detect)(913)의 출력인 4개 신호는 RxD<7:0>, RxD<15:8>, RxD<23:16>, RxD<31:24>에 상응하는 신호로써 각각의 값이 체크섬(checksum)까지의 이더넷 프레임 정보(프레임내부의 Error 포함)이면 High, 나머지의 경우에는 Low로 변화한다.

예를 들어, 이더넷 프레임의 체크섬(checksum) 정보가 RxD<7:0>, RxD<15:8>까지 종료되고 RxD<23:16>에 10기가 이더넷 프레임 종료 신호(terminate, 즉 0xFD) 및 RxD<31:24>에 idle(즉 0x07) 값이면 이때의 수신상태버퍼(RC_buf)(912)의 출력은 0xC이고 프레임시작 및 종료검출부(SOF/EOF detect)(913)의 출력은 0x3을 출력하여 이더넷 프레임이 RxD<15:8>에서 종료되었음을 나타낸다.

그러므로 카운터부(counter)(916)는 프레임시작 및 종료검출부(SOF/EOF detect)(913)의 출력이 모두 Low(즉 0x0)에서 모두 High(즉 0xF)로 변한 시점부터 카운트 동작을 개시하여 0xF 가 아닌 값으로 변화한 시점에 카운트 동작을 완료함으로써 수신된 이더넷 프레임의 길이(frame length)를 계산하여 그 정보를 캐리어 확장 생성부(Ext gen)(922)에게 전달한다.

그리고 역변환부(de-convert)(915)는 수신데이터버퍼(RD_buf)(911)가 수신한 RxD<31:0> 을 4개의 RxD<7:0>로 변환하여 저장하는 8 바이트 이상의 라운드 로빈(round robin) 형태의 버퍼(buffer)를 지니고 있다. 따라서 프레임시작 및 종료검출부(SOF/EOF detect)(913)의 출력이 모두 Low에서 모두 High로 변화하면 역변환부(de-convert)(915)는 프레임 시작 데이터(frame start data) 즉 0xFB 값을 프리앰블(preamble) 값으로 변환한다.

또한 프레임시작 및 종료검출부(SOF/EOF detect)(913)의 출력이 모두 High인 상태에서 수신상태버퍼(RC_buf)(912)에 수신된 RXC<3:0>의 값이 0x0가 아닌 경우에는 역변환부(de-convert)(915)는 해당되는 RXC<0>, RXC<1>, RXC<2>, RXC<3>의 RxD 데이터를 검사하여 그 값이 에러(error) 신호(즉 0xFE) 이면 선택블록(selector)(921)을 통하여 선택된 에러버퍼(error buffer)(952)의 해당하는 위치의 비트를 High로 만든다.

그리고 역변환부(de-convert)(915)는 프레임시작 및 종료검출부(SOF/EOF detect)(913)의 정보에 의하여 프리앰블(preamble) 신호부터 체크섬(checksum)까지 기간동안 선택블록(selector)(921)을 통하여 선택된 인에이블 버퍼(enable buffer)(953)의 해당 위치들의 비트를 High로 만든다.

따라서, 선택블록(selector)(921)은 cp(922)가 지시하는 포트(port)를 선택하여 역변환부(de-convert)(915) 또는 캐리어 확장 생성부(Ext gen)(922)가 생성한 RxD<7:0>, Rx_DV, RX_ER, CRS 신호 정보들을 해당 버퍼(buffer)에 전달하는 역할을 하며, 여기에서는 편의상 첫 번째 버퍼블록이 선택되었다고 가정한다.

도착주소검출부(DA detect)(914)는 프레임시작 및 종료검출부(SOF/EOF detect)(913)의 출력이 모두 Low에서 모두 High로 변화하면 다음에 계속되는 6 바이트의 값을 포트비교 및 제어블록(port compare control)(931)에게 출력한다.

수신테이블 블록(recv table)(932)은 역다중화부 상태모니터 블록(DEMUX STA)(940)으로부터 GMII(981)와 연결된 GbE MAC RS의 수효, HDX 또는 FDX 동작 방식 및 MAC 주소 정보를 지니고 있다. 따라서 포트비교 및 제어블록(port comparecontrol)(931)은 도착주소검출부(DA detect)(914)로부터 얻은 6 바이트의 도착지 주소(Destination address)와 수신테이블 블록(recv table)(932)에 저장된 주소 테이블(address table)을 비교하여 동일 주소의 포트(port) 값을 cp(923)에 저장하고, 캐리어 확장 생성부(Ext gen)(922)에는 그 포트(port)의 동작 방식(HDX or FDX) 정보를 전달한 다음에는 도착주소검출부(DA detect)(914)의 값을 리셋(reset)시킨다.

포트이력테이블(port history table)은 cp(923), pp(924), rp(925)로 구성되어 있고, cp(923)는 현재의 이더넷 프레임을 전송할 포트(port)번호를 나타내고, pp(924)는 바로 이전의 이더넷 프레임을 전송했던 포트(port)번호를 나타내며, rp(925)는 2번째 이전에 이더넷 프레임을 전송했던 포트(port)번호를 각각 나타낸다.

포트비교 및 제어블록(port compare control)(931)이 특정 포트(port)값을 cp(923)에 입력시키면 원래 cp(923)에 있던 값은 pp(924)로 이동하고 동시에 pp(923)에 있던 값은 rp(924)로 이동하는 일종의 FIFO(First In First Out)이다.

그리고 캐리어 확장 생성부(Ext gen)(922)는 선택블록(Selector)(921)이 데이터 버퍼(Data buffer)(951)로 이더넷 프레임의 체크섬(checksum)까지 전달한 직후에 캐리어 확장 신호 또는 인터프레임 갭(IFG) 신호를 선택블록(Selector)(921)을 통하여 데이터 버퍼(Data buffer)(951), 에러버퍼(error buffer)(952) 및 인에이블 버퍼(enable buffer)(953)에 다음과 같이 추가하는 동작을 한다.

즉, cp(923)가 HDX 동작 방식이고 pp(924)의 포트(port)와 같으며 rp(925)의포트(port)와 다른 경우에는 카운터블록(counter)(916)으로부터 받은 프레임 길이(frame length)가 512보다 큰 경우에는 인터프레임 갭(IFG) 신호(RxD<7:0>값이 0x0)를 데이터 버퍼(Data buffer)(951)에 있는 이더넷 프레임의 체크섬(checksum) 다음에 추가하고, 이와 동일한 위치의 에러버퍼(error buffer)(952), 인에이블 버퍼(enable buffer)(953)값들을 각각 Low, High로 만든다.

또한 cp(923)가 HDX 동작 방식이고 pp(924)의 포트(port)와 같으며 rp(925)의 포트(port)와 다른 경우에는 카운터블록(counter)(916)으로부터 받은 프레임 길이(frame length)가 512보다 작은 경우에는 (512 - 프레임 길이) 만큼의 캐리어 확장 신호(즉 RxD<7:0>값이 0xF)와 인터프레임 갭(IFG) 신호를 데이터 버퍼(Data buffer)(951)에 있는 이더넷 프레임의 체크섬(checksum) 다음에 추가하고, 이와 동일한 위치의 에러버퍼(error buffer)(952), 인에이블 버퍼(enable buffer)(953)값들을 각각 Low, High로 만들고 동시에 CRS 생성부(CRS generation)(954)에게는 캐리어 확장 신호의 길이만큼 타이머(timer)값을 추가한다.

또한 cp(923)가 HDX 동작 방식이고 pp(924) 및 rp(925)의 포트(port)와 모두 같은 경우에는 인터프레임 갭(IFG) 신호를 데이터 버퍼(Data buffer)(951)에 있는 이더넷 프레임의 체크섬(checksum) 다음에 추가하고, 이와 동일한 위치의 에러버퍼(error buffer)(952), 인에이블 버퍼(enable buffer)(953)값들을 각각 Low, High로 만들고 동시에 CRS 생성부(CRS generation)(954)에게는. 인터프레임 갭(IFG) 신호의 길이만큼 타이머(timer)값을 추가한다.

마지막으로 cp(923)가 FDX동작 방식인 경우에는 인터프레임 갭(IFG) 신호를데이터 버퍼(Data buffer)(951)에 있는 이더넷 프레임의 체크섬(checksum) 다음에 추가하고, 이와 동일한 위치의 에러버퍼(error buffer)(952), 인에이블 버퍼(enable buffer)(953)값들을 각각 Low, Low로 만든다.

송신클럭생성블록(GRX_CLK gen)(955)은 125MHz의 GRX_CLK clock 을 생성하여 통하여 데이터 버퍼(Data buffer)(951), 에러버퍼(error buffer)(952), 인에이블 버퍼(enable buffer)(953), CRS 생성부(CRS generation)(954) 및 GMII(981)의 해당 GbE MAC RS에게 공급한다.

CRS 생성부(CRS generation)(954)는 일종의 타이머(timer)로써, 동작을 하는 동안의 값은 High, 동작을 멈추는 동안에는 Low를 유지하는 방식으로서 선택블록(selector)(921)을 통하여 얻은 카운터블록(counter)(916)의 값에 프리앰블(preamble)과 SFD 값이 추가된 값(즉 카운터블록(counter)(916)의 값 + 8)에 의하여 기가비트 이더넷의 프리앰블(preamble)부터 동작을 하되 항상 RX_DV보다 1 클럭(clock) 지연된 동작을 하며, 캐리어 확장 생성부(Ext gen)(922)에 의하여 데이터 버퍼(Data buffer)(951)에 캐리어 확장 신호가 추가되는 경우에는 캐리어 확장 신호의 길이만큼 타이머(timer)값이 더 추가된 동작을 하고, 인터프레임 갭(IFG)이 추가되는 경우에는 인터프레임 갭(IFG) 길이만큼 타이머(timer)값이 더 추가된 동작을 한다.

데이터 버퍼(Data buffer)(951), 에러버퍼(error buffer)(952), 인에이블 버퍼(enable buffer)(953)는 선택블록(selector)(921)을 통하여 RxD<7:0>, RX_DV, RX_ER을 저장하는 FIFO 형태의 버퍼이며, 송신클럭생성블록(GRX_CLK gen)(955)의GRX_CLK clock에 동기되어 동작하고, empty 상태에서는 항상 Low를 출력한다.

도 10은 본 발명의 역다중화 방법의 흐름도면이다.

우선 버퍼 및 변환블록(Buffer convert)이 10기가비트 미디어 독립 인터페이스(XGMII)의 형식에 따라서 입력되는 10기가비트 미디어 독립 인터페이스 데이터를 저장하고(1010), 기가비트 이더넷 매체접근제어(MAC) 데이터로 변환시킨다(1020).

그리고 나서, 포트분석 및 제어블록(Port Analysis Control)이 상기 변환된 기가비트 이더넷 프레임의 도착지와 수신상태를 분석하여 출력될 포트를 선택한다(1030).

역다중화부 상태 모니터 블록(DEMUX STA)은 각각의 기가비트 이더넷 포트가 전이중 방식(FDX)으로 동작하는지 반이중 방식(HDX)으로 동작하는지를 판단하여 상기 포트분석 및 제어블록(Port Analysis Control)으로 알려준다.

포트 선택 블록(Port Select)은 상기 버퍼 및 변환블록에서 변환된 기가비트 이더넷 프레임을 상기 포트분석 및 제어블록(Port Analysis Control)이 선택한 특정포트로 전달한다(1040).

마지막으로 복수의 출력버퍼 블록(Output buffer)이 상기 포트 선택 블록(Port Select)에서 선택된 다수의 기가비트 이더넷 프레임을 저장하고 출력한다(1050).

도 11은 본 발명의 의한 다중화 장치와 역다중화 장치를 사용한 시스템의 일실시예 도면이다.

도면에서 GbE MAC RS(1110), 다중화장치(MUX)(1111), XGbE PHY(1112), 역다중화장치(DEMUX)(1113), GbE MAC RS(1114)와, GMII(1120), XGMII(1121)는 도4의 GbE MAC RS(401), 다중화장치(MUX)(400), XGbE PHY(402) 및 도5의 역다중화장치(DEMUX)(500), GbE MAC RS(502), GMII(551), XGMII(550)와 동일하다. IEEE 802.3에서의 GbE MAC RS부분은 송신과 수신 신호가 통합된 형태의 GMII 신호를 사용한다.

따라서 다중화장치(MUX)(1111)의 출력 신호 CRS를 논리합 게이트(OR gate)(1130)를 사용하여 하나의 CRS로 신호로 합성하여 GbE MAC RS에 전달하는 모습을 보여 준다. 이 경우에 있어서 GbE MAC이 HDX가 아닌 FDX 방식의 동작을 하는 경우에는 GbE MAC에서는 CRS와 COL신호를 무시하므로 HDX와 FDX 모두 사용이 가능하다.

한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 디지털 컴퓨터에서 구현될 수 있다.

또한 상술한 본 발명의 실시예에서 사용된 데이터의 구조는 컴퓨터로 읽을 수 있는 기록매체에 여러 수단을 통하여 기록될 수 있다.

상기 컴퓨터로 읽을 수 있는 기록매체는 반도체 저장매체(예를 들면, 롬, 램, NVRAM, CAM 등), 마그네틱 저장매체(예를 들면, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 씨디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.

이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.

상술한 바와 같이 본 발명은, 가변 길이의 고속 패킷을 단순한 시분할 다중화(TDM) 방식이 아닌 패킷 다중화(packet multiplexing) 방식을 사용하고, 출력 대역폭(output bandwidth)보다 입력 대역폭(input bandwidth)을 크게 함으로써 통계적 다중화(statistical multiplex) 효과를 지니며 또한 입력과 출력 인터페이스 방식에 표준 인터페이스를 사용함으로써 범용성을 추구하는 효과가 있다.

발명의 원리에서 보면 기가비트 이더넷 MAC 블록과 10기가비트 이더넷 트랜시버 사이에 IEEE 802.3 표준 인터페이스인 GMII(Gigabit Media Independent Interface) 및 XGMII(10 Gigabit Media Independent Interface)를 사용함으로써 범용의 칩을 사용할 수 있을 뿐만 아니라, 가변 길이의 이더넷 프레임을 프로토콜 변경 없이 그대로 다중화 및 역다중화 하여 전송할 수 있는 장점이 있다. 또한 패킷분류(packet classification)나 트래픽 관리(traffic management) 등의 코프로세서(co-processor)와 같은 고가의 복잡한 기능 블록을 사용하지 않고 다이나믹(dynamic)하게 패킷을 다중화 하여 10기가 이더넷 프레임을 생성 전송할 수 있는 장점이 있다. 그리고, 기가비트 이더넷 프레임 전송의 경우에 10개 이상의 기가비트 이더넷 포트를 다중화 할 수 있는 장점을 제공한다.

Claims (34)

  1. 기가비트 미디어 독립 인터페이스(GMII)의 형식에 따라서 입력되는 기가비트 이더넷 매체접근제어 프레임을 저장하는 복수의 입력버퍼블록;
    10기가비트 이더넷 매체접근제어 프레임의 관리 정보 및 상태 정보에 의하여 상기 입력버퍼 블록의 동작방식을 결정하는 다중화부 상태 모니터 블록;
    상기 복수의 입력버퍼 중에서 하나를 선택하도록 하는 제어신호를 발생시키는 선택제어블록; 및
    상기 입력된 복수의 기가비트 이더넷 매체접근제어 프레임 중에서 하나를 상기 선택제어블록의 제어신호에 의하여 순차적으로 선택하여 10기가비트 미디어 독립 인터페이스 데이터로 변환하고 이 변환된 프레임을 10기가비트 미디어 독립 인터페이스(XGMII)의 형식에 따라서 출력하는 선택 및 변환블록을 포함하는 가변길이 패킷 다중화 장치.
  2. 제1항에 있어서, 상기 입력버퍼블록은,
    입력되는 기가비트 이더넷 매체접근제어 프레임 데이터를 8비트 병렬형태로 저장하는 데이터 버퍼;
    입력되는 데이터의 에러 발생상태를 저장하는 에러 버퍼;
    데이터의 전송 가능 여부를 저장하는 인에이블 버퍼;
    상기 에러버퍼 또는 상기 인에이블 버퍼의 상태를 나타내는 CRS 생성부;
    최소 캐리어 접속시간을 확장하는데 사용되는 캐리어 확장부;
    데이터의 충돌발생여부를 검출하는 충돌상태 생성부;
    다수의 이더넷 프레임을 한꺼번에 연속하여 전송하는 것을 검출하는 버스트 검출부; 및
    프레임의 시작과 끝을 나타내는 정보를 저장하고 처리하는 프레임 시작 및 종료처리부를 포함하는 것을 특징으로 하는 가변길이 패킷 다중화 장치.
  3. 제2항에 있어서, 상기 데이터 버퍼, 상기 에러 버퍼, 상기 인에이블 버퍼는,
    입력 클럭에 동기되어 동작하고 상기 3개의 버퍼를 합해서 라운드 로빈 형태를 이루는 것을 특징으로 하는 가변길이 패킷 다중화 장치.
  4. 제2항에 있어서, 상기 캐리어 확장부는,
    상기 에러 버퍼와 상기 인에이블 버퍼가 1 인 상태에서만 캐리어 확장 상태로 인식하도록 동작하는 것을 특징으로 하는 가변길이 패킷 다중화 장치.
  5. 제2항에 있어서, 상기 버스트 검출부는,
    기가비트 이더넷 매체접근제어 프레임을 받지 않는 유휴상태에서 0 이었다가상기 인에이블 버퍼가 1 로 변화함과 동시에 버스트의 시작을 인식하고 상기 인에이블 버퍼와 상기 에러 버퍼가 모두 0 으로 변화할 때를 버스트의 종료로 인식하도록 동작하는 것을 특징으로 하는 가변길이 패킷 다중화 장치.
  6. 제2항에 있어서, 상기 프레임 시작 및 종료처리부는,
    타이머와 프레임 시작 주소 및 프레임 종료 주소를 모아놓은 트리플로 구성된 라운드 로빈 형태의 버퍼; 및
    현재 처리 대기중인 상기 트리플의 수효 및 대기중인 버퍼 중에서 가장 오래된 트리플을 지시하는 포인터를 포함하는 것을 특징으로 하는 가변길이 패킷 다중화 장치.
  7. 제1항에 있어서, 상기 선택 및 변환블록은,
    상기 선택제어 블록의 정보에 의하여 입력버퍼 블록을 선택하고 그 입력버퍼 블록의 이더넷 매체접근제어 프레임 정보와 상태정보를 잠시 저장하는 포트선택 및 저장부;
    상기 포트선택 및 저장부에 저장된 기가비트 미디어 인터페이스 신호를 10기가비트 미디어 독립 인터페이스 데이터로 변환시키는 신호변환 및 레인생성부;
    인터프레임 갭 데이터를 만들어 상기 신호변환 및 레인생성부로 삽입하는 인터프레임 갭 삽입부; 및
    10기가비트 미디어 독립 인터페이스 송신 클럭을 생성시켜 상기 신호변환 및레인생성부와 상기 인터프레임 갭 삽입부로 공급하는 송신클럭 생성부를 포함하는 것을 특징으로 하는 가변길이 패킷 다중화 장치.
  8. 제7항에 있어서, 상기 인터프레임 갭 삽입부는,
    선택한 특정한 입력버퍼 블록의 상기 프레임 시작 및 종료처리부에 저장된 타이머, 프레임 시작 주소, 프레임 종료주소로 구성된 복수의 트리플 들 중에서 하나를 처리한 직후에 인터프레임 갭을 삽입하도록 동작하는 것을 특징으로 하는 가변길이 패킷 다중화 장치.
  9. 제1항에 있어서, 상기 선택제어블록은,
    송신상태정보를 받아 저장하는 송신상태저장부;
    각 입력포트의 주소를 저장하는 송신테이블 저장부; 및
    각 입력버퍼 블록내의 프레임 시작 및 종료처리부의 상태정보와 상기 송신상태저장부의 송신상태정보 및 상기 송신테이블 저장부의 정보에 의하여 특정한 입력버퍼 블록을 선택하는 송신포트 선택제어부를 포함하는 것을 특징으로 하는 가변길이 패킷 다중화장치.
  10. 제9항에 있어서, 상기 송신상태저장부는,
    상기 다중화부 상태모니터 블록으로부터 각 입력포트의 주소정보 및 동작방식정보를 받아 저장하고 상기 송신포트 선택제어부에게 그 정보를 전달하도록 하는송신테이블을 포함하는 것을 특징으로 하는 가변길이 패킷 다중화 장치.
  11. 제1항에 있어서, 상기 다중화부 상태 모니터 블록은,
    상기 송신상태저장부의 송신테이블에 각각의 기가비트 이더넷 포트가 반이중 방식 동작인지 전이중방식 동작인지의 동작상태를 알려주는 것을 특징으로 하는 가변길이 패킷 다중화장치.
  12. (a) 복수의 입력버퍼블록이 기가비트 미디어 독립 인터페이스(GMII)의 형식에 따라서 입력되는 기가비트 이더넷 매체접근제어 프레임을 저장하는 단계;
    (b) 다중화부 상태 모니터 블록이 10기가비트 이더넷 매체접근제어 프레임의 관리 정보 및 상태 정보에 의하여 상기 입력버퍼 블록의 동작방식을 결정하는 단계;
    (c) 선택제어블록이 상기 복수의 입력버퍼 중에서 하나를 선택하도록 하는 제어신호를 발생시키는 단계; 및
    (d) 선택 및 변환블록이 상기 입력된 복수의 기가비트 이더넷 매체접근제어 프레임 중에서 하나를 상기 선택제어블록의 제어신호에 의하여 순차적으로 선택하여 10기가비트 미디어 독립 인터페이스 데이터로 변환하고 이 변환된 프레임을 10기가비트 미디어 독립 인터페이스(XGMII)의 형식에 따라서 출력하는 단계를 포함하는 가변길이 패킷 다중화 방법.
  13. 제12항에 있어서, 복수의 입력버퍼블록이 기가비트 이더넷 매체접근제어 프레임을 저장하는 단계는,
    (a1) 데이터 버퍼가 입력되는 기가비트 이더넷 매체접근제어 데이터를 8비트 병렬로 저장하는 단계;
    (a2) 에러 버퍼가 전송되는 데이터의 에러 발생상태를 저장하고, 인에이블 버퍼가 데이터의 전송 가능 여부상태를 저장하는 단계;
    (a3) CRS 생성부가 상기 에러버퍼 또는 상기 인에이블 버퍼의 상태를 저장하는 단계;
    (a4) 버스트 검출부가 다수의 이더넷 프레임을 한꺼번에 연속하여 전송하는 버스트 신호를 검출하는 단계; 및
    (a5) 프레임 시작 및 종료처리부가 프레임의 시작과 끝을 나타내는 정보를 저장하고 처리하는 단계를 포함하는 가변길이 패킷 다중화 방법.
  14. 제13항에 있어서, 상기 프레임 시작 및 종료처리부가 프레임의 시작과 끝을 나타내는 정보를 저장하고 처리하는 단계는,
    (a5-1) 상기 인에이블 버퍼와 상기 캐리어 확장부와 상기 버스트 검출부의 출력신호가 모두 0 인 상태에 있다가 상기 인에이블 버퍼의 출력신호가 최초로 1 이 되는 시점에서 버퍼에 저장되는 이더넷 매체접근제어 프레임 시작 주소를 저장하는 단계;
    (a5-2) 현재 대기중인 타이머와 매체접근제어 프레임 시작 주소 및 매체접근제어 프레임 종료 주소를 1 만큼 증가시키는 단계;
    (a5-3) 상기 인에이블 버퍼와 상기 캐리어 확장부 및 상기 버스트 검출부의 출력신호가 모두 0 으로 변화한 시점에서 이더넷 매체접근제어 프레임의 시작 주소를 저장하는 단계; 및
    (a5-4) 타이머를 가동시켜 일정시간마다 처리 대기중인 모든 타이머들의 값을 1씩 증가시키는 단계를 포함하는 것을 특징으로 하는 가변길이 패킷 다중화 방법.
  15. 제12항에 있어서, 상기 선택 및 변환블록이 상기 입력된 복수의 기가비트 이더넷 매체접근제어 프레임 중에서 하나를 선택하여 10기가비트 미디어 독립 인터페이스 데이터로 변환시키는 단계는,
    상기 버스트 검출부가 다수의 기가비트 이더넷 매체접근제어 프레임을 버스트 송신하는 신호를 검출한 경우, 이러한 다수의 이더넷 매체접근제어 프레임과 인터 프레임 갭 데이터를 하나의 10기가비트 미디어 독립 인터페이스 데이터로 변환시켜 다중화 시키는 것을 특징으로 하는 가변길이 패킷 다중화 방법.
  16. 제12항에 있어서, 상기 선택 및 변환블록이 상기 입력된 복수의 기가비트 이더넷 매체접근제어 프레임 중에서 하나를 선택하여 10기가비트 미디어 독립 인터페이스 데이터로 변환시키는 단계는,
    (c1) 상기 포트선택 및 저장부가 상기 선택제어 블록의 정보에 의하여 입력버퍼 블록을 선택하고 그 입력버퍼 블록의 이더넷 매체접근제어 프레임 정보와 상태정보를 잠시 저장하는 단계;
    (c2) 신호변환 및 레인생성부가 상기 포트선택 및 저장부에 저장된 기가비트 이더넷 매체접근제어 데이터를 10기가비트 미디어 독립 인터페이스 데이터로 변환시키는 단계;
    (c3) 인터프레임 갭 삽입부가 인터프레임 갭 데이터를 만들어 상기 신호변환 및 레인생성부로 삽입하는 단계; 및
    (c4) 송신클럭 생성부가 10기가비트 미디어 인터페이스 송신 클럭을 생성시켜 상기 신호변환 및 레인생성부와 상기 인터프레임 갭 삽입부로 공급하는 단계를 포함하는 가변길이 패킷 다중화 방법.
  17. 제16항에 있어서, 상기 포트선택 및 저장부가 상기 선택제어 블록의 정보에 의하여 입력버퍼 블록을 선택하고 그 입력버퍼 블록의 이더넷 매체접근제어 프레임 정보와 상태정보를 잠시 저장하는 단계는,
    (c1-1) 상기 송신포트 선택제어부의 요구에 의하여 특정한 입력버퍼 블록을 선택하는 단계; 및
    (c1-2) 상기 프레임 시작 및 종료처리부가 매체접근제어 프레임의 시작주소와 종료주소를 사용하여 상기 입력버퍼 블록에 저장된 이더넷 매체접근제어 프레임 데이터와 상기 인에이블 버퍼와 에러버퍼의 데이터를 상기 신호변환 및 레인생성부로 전달하는 단계를 포함하는 가변길이 패킷 다중화 방법.
  18. 제12항에 있어서, 상기 선택제어블록이 상기 선택 및 변환블록으로 하여금 상기 복수의 입력버퍼 중에서 하나를 선택하도록 하는 제어신호를 발생하는 단계는,
    (d1) 송신상태저장부가 송신상태정보를 받아 저장하는 단계;
    (d2) 송신테이블 저장부가 각 입력포트의 주소를 저장하는 단계; 및
    (d3) 송신포트 선택제어부가 각 입력버퍼들의 프레임 시작 및 프레임 종료 처리 블록의 상태정보와 상기 송신상태저장부의 송신상태정보 및 상기 송신테이블 저장부의 정보에 의하여 특정한 입력버퍼 블록을 선택하는 단계를 포함하는 가변길이 패킷 다중화방법.
  19. 제18항에 있어서, 상기 송신포트 선택제어부가 특정한 입력버퍼 블록을 선택하는 단계는,
    (d3-1) 처리 대기중인 값이 1 이상이고 타이머의 값이 가장 큰 입력버퍼 블록이 1개만 존재하는 경우에는 그 입력버퍼 블록의 정보를 상기 포트선택 및 저장부에 알려주는 단계;
    (d3-2) 상기 타이머의 값이 가장 큰 입력버퍼 블록이 2개 이상인 경우에는 처리 대기중인 값이 가장 큰 입력버퍼 블록의 정보를 상기 포트선택 및 저장부에 알려주는 단계;
    (d3-3) 처리 대기중이 값이 가장 큰 경우가 다수 존재하는 경우에는 전이중방식으로 동작하는 입력버퍼블록의 정보를 상기 포트선택 및 저장부에 알려주는 단계;
    (d3-4) 만일 전이중 방식으로 동작하는 경우에는 임의의 입력버퍼 블록의 정보를 상기 포트선택 및 저장부에게 알려주는 단계;
    (d3-5) 상기 (d3-1) 내지 (d3-4)와 같은 입력버퍼 블록의 선택과정이 종료되면 상기와 같이 선택한 프레임 시작 및 종료처리부에 있던 타이머의 값을 0으로 하고 처리 대기중인 값을 1만큼 감소시키는 단계; 및
    (d3-6) 프레임 시작 및 종료처리부의 포인터를 두 번째로 오래된 타이머를 지시하도록 하는 단계를 포함하는 가변길이 패킷 다중화방법.
  20. 10기가비트 미디어 독립 인터페이스(XGMII)의 형식에 따라서 입력되는 10기가비트 미디어 독립 인터페이스 데이터를 저장하고 기가비트 이더넷 매체접근제어 데이터로 변환시키는 버퍼 및 변환블록;
    상기 버퍼 및 변환블록에서 변환된 기가비트 이더넷 프레임을 특정포트로 전달하는 포트 선택 블록;
    상기 변환된 기가비트 이더넷 프레임의 도착지와 수신상태를 분석하여 출력되는 포트를 선택하는 포트분석 및 제어블록;
    각각의 기가비트 이더넷 포트가 전이중 방식으로 동작하는지 반이중 방식으로 동작하는지를 판단하여 상기 포트분석 및 제어블록으로 알려주는 역다중화부 상태 모니터 블록; 및
    상기 포트 선택 블록에서 선택된 다수의 기가비트 이더넷 프레임을 저장하고 출력하는 복수의 출력버퍼 블록을 포함하는 가변길이 패킷 역다중화 장치.
  21. 제20항에 있어서, 상기 버퍼 및 변환블록은,
    표준 인터페이스인 10기가비트 이더넷 미디어 독립 인터페이스를 통하여 입력되는 10기가비트 이더넷 미디어 독립 인터페이스 데이터를 받아 저장하는 수신 데이터 버퍼;
    수신되는 이더넷 프레임 데이터의 상태를 저장하는 수신상태버퍼;
    10기가비트 이더넷 미디어 독립 인터페이스 데이터 프레임의 시작과 종료를 검출하는 프레임시작 및 종료검출부;
    수신되는 이더넷 프레임 도착지 주소를 검출하는 도착주소검출부;
    수신되는 이더넷 프레임의 길이를 측정하는 카운터부; 및
    32비트 병렬로 이루어진 10기가비트 이더넷 미디어 독립 인터페이스 데이터를 8비트 병렬의 기가비트 이더넷 매체접근제어 데이터로 변환시키는 역변환부를 포함하는 것을 특징으로 하는 가변길이 패킷 역다중화 장치.
  22. 제21항에 있어서, 상기 수신데이터 버퍼와 수신상태버퍼는,
    읽기와 쓰기를 독립적으로 수행할 수 있고 라운드 로빈 형태로 구성되어 있으며 165.25MHz 클럭에 따라 이중 데이터 레이트 방식으로 동작하는 것을 특징으로 하는 가변길이 패킷 역다중화 장치.
  23. 제20항에 있어서, 상기 포트 선택 블록은,
    상기 역변환부로부터 출력되는 데이터를 입력받아 복수의 출력버퍼블록 중의 하나를 선택하는 선택부;
    캐리어 확장 및 인터프레임 갭을 생성하여 상기 선택부로 전달하는 캐리어 생성 확장부; 및
    현재 선택된 포트를 포함하여 이전에 선택되었던 2개까지의 포트를 저장하는 포트이력테이블을 포함하는 것을 특징으로 하는 가변길이 패킷 역다중화 장치.
  24. 제20항에 있어서, 상기 포트 분석 및 제어블록은,
    출력포트의 동작방식정보 및 매체접근제어 주소를 저장하는 수신 테이블; 및
    도착지 주소를 비교하여 포트 선택을 하는 포트 비교 및 제어부를 포함하는 것을 특징으로 하는 가변길이 패킷 역다중화 장치.
  25. 제24항에 있어서, 상기 수신테이블은,
    상기 역다중화 상태 모니터 블록과 연결된 기가비트 이더넷 매체접근제어 프레임 수신부의 수 정보;
    반이중방식으로 동작하는지 또는 전이중방식으로 동작하는지의 여부에 대한 정보; 및
    매체접근제어 프레임 주소정보를 포함하는 것을 특징으로 하는 가변길이 패킷 역다중화 장치.
  26. 제20항에 있어서, 상기 출력버퍼 블록은,
    포트 선택 블록으로부터 받은 기가비트 이더넷 매체접근제어 프레임 데이터를 8비트 병렬로 저장하는 데이터 버퍼;
    상기 저장되는 데이터의 에러상태를 저장하는 에러 버퍼;
    상기 저장되는 데이터의 인에이블 상태를 저장하는 인에이블 버퍼;
    상기 에러 버퍼와 상기 인에이블 버퍼의 상태를 저장하는 CRS 생성부; 및
    클럭 신호를 생성하여 상기 데이터 버퍼, 상기 에러버퍼, 상기 인에이블 버퍼에 공급하는 송신클럭생성부를 포함하는 것을 특징으로 하는 가변길이 패킷 역다중화 장치.
  27. 제26항에 있어서, 상기 데이터 버퍼, 에러 버퍼, 인에이블 버퍼는,
    FIFO 형태로 구성되고, 기가비트 이더넷 송신 클럭에 동기되어 동작하는 것을 특징으로 하는 가변길이 패킷 역다중화 장치.
  28. 제26항에 있어서, 상기 CRS 생성부는,
    상기 기가비트 이더넷 송신 클럭에 동기되어 동작하고, 상기 인에이블 버퍼보다 항상 1클럭 지연되어 동작하는 것을 특징으로 하는 가변길이 패킷 역다중화 장치.
  29. 제20항에 있어서, 상기 역다중화부 상태 모니터 블록은,
    상기 포트분석 및 제어블록의 수신테이블에게 각각의 기가비트 이더넷 포트가 반이중 방식으로 동작하는지 전이중방식으로 동작하는지의 동작상태를 알려주는 것을 특징으로 하는 가변길이 패킷 역다중화장치.
  30. (a) 버퍼 및 변환블록이 10기가비트 미디어 독립 인터페이스(XGMII)의 형식에 따라서 입력되는 10기가비트 미디어 독립 인터페이스 데이터를 저장하고 기가비트 이더넷 매체접근제어 데이터로 변환시키는 단계;
    (b) 포트분석 및 제어블록이 상기 변환된 기가비트 이더넷 프레임의 도착지와 수신상태를 분석하여 출력되는 포트를 선택하는 단계;
    (c) 역다중화부 상태 모니터 블록이 각각의 기가비트 이더넷 포트가 전이중 방식으로 동작하는지 반이중 방식으로 동작하는지를 판단하여 상기 포트분석 및 제어블록으로 알려주는 단계;
    (d) 포트 선택 블록이 상기 버퍼 및 변환블록에서 변환된 기가비트 이더넷 프레임을 특정포트로 전달하는 단계; 및
    (e) 복수의 출력버퍼 블록이 상기 포트 선택 블록에서 선택된 다수의 기가비트 이더넷 프레임을 저장하고 출력하는 단계를 포함하는 가변길이 패킷 역다중화 방법.
  31. 제30항에 있어서, 상기 버퍼 및 변환블록이 기가비트 이더넷 매체접근제어 데이터로 변환시키는 단계는,
    (a1) 수신 데이터 버퍼가 표준 인터페이스인 10기가비트 이더넷 미디어 독립 인터페이스를 통하여 입력되는 10기가비트 이더넷 미디어 독립 인터페이스 데이터를 받아 저장하는 단계;
    (a2) 수신상태버퍼가 수신되는 이더넷 프레임 데이터의 상태를 저장하는 단계;
    (a3) 프레임시작 및 종료검출부가 10기가비트 이더넷 미디어 독립 인터페이스 데이터 프레임의 시작과 종료를 검출하는 단계;
    (a4) 도착주소검출부가 수신되는 이더넷 프레임 도착지 주소를 검출하는 단계;
    (a5) 카운터부가 수신되는 이더넷 프레임의 길이를 측정하는 단계; 및
    (a6) 역변환부가 32비트 병렬로 이루어진 10기가비트 이더넷 미디어 독립 인터페이스 데이터를 8비트 병렬의 기가비트 이더넷 매체접근제어 데이터로 변환시키는 단계를 포함하는 것을 특징으로 하는 가변길이 패킷 역다중화 방법.
  32. 제31항에 있어서, 상기 프레임시작 및 종료검출부가 10기가비트 이더넷 미디어 독립 인터페이스 데이터 프레임의 시작과 종료를 검출하는 단계는,
    (a3-1) 상기 수신데이터버퍼에 저장된 값이 유휴데이터인가를 판단하는 단계;
    (a3-2) 상기 수신상태버퍼에 저장된 값이 모두 1인가를 판단하는 단계;
    (a3-3) 상기 (a3-1) 단계와 상기 (a3-2) 단계의 판단 결과 수신데이터버퍼에 저장된 값이 유휴데이터이고 수신상태버퍼에 저장된 값이 모두 1이고, 수신데이터의 최하위 8비트의 값이 프레임 시작 데이터이고 나머지 값이 프리앰블이고 수신상태버퍼 값이 1인가를 판단하는 단계;
    (a3-4) 상기 (a3-3) 판단결과 맞으면, 수신데이터버퍼에 입력되는 다음 데이터의 최상위 8비트의 값이 프레임 시작 데이터이고 나머지 값이 프리앰블이면 그 이후에 수신데이터버퍼에 입력되는 데이터를 정상적인 이더넷 매체접근제어 프레임 데이터로 판단하는 단계를 포함하는 것을 특징으로 하는 가변길이 패킷 역다중화 방법.
  33. 기가비트 미디어 독립 인터페이스(GMII)의 형식에 따라서 입력되는 복수의 기가비트 이더넷 매체접근제어 프레임을 10기가비트 이더넷 미디어 독립 인터페이스 데이터로 변환시키고, 이 변환된 데이터를 10기가비트 미디어 독립 인터페이스(XGMII)의 형식에 따라서 출력하는 가변길이 패킷 다중화 장치; 및
    10기가비트 미디어 독립 인터페이스(XGMII)의 형식에 따라서 입력되는 10기가비트 이더넷 미디어 독립 인터페이스 데이터를 복수의 기가비트 이더넷 매체접근제어 프레임으로 변환시켜 출력하는 가변길이 패킷 역다중화 장치를 포함하는 가변길이 패킷 전송장치.
  34. 제33항에 있어서, 다중화부 입력측의 CRS 생성신호와 역다중화부 출력측의 CRS 생성신호를 논리합으로 연산하여 기가비트 이더넷 미디어 독립 인터페이스의 CRS 신호로 사용하는 것을 특징으로 하는 가변길이 패킷 전송장치.
KR10-2002-0027595A 2002-05-18 2002-05-18 가변길이 패킷 다중화 및 역다중화 장치와 방법 KR100429911B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2002-0027595A KR100429911B1 (ko) 2002-05-18 2002-05-18 가변길이 패킷 다중화 및 역다중화 장치와 방법

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2002-0027595A KR100429911B1 (ko) 2002-05-18 2002-05-18 가변길이 패킷 다중화 및 역다중화 장치와 방법
US10/228,073 US7230957B2 (en) 2002-05-18 2002-08-27 Method and apparatus for multiplexing and demultiplexing variable-length packets

Publications (2)

Publication Number Publication Date
KR20030089748A KR20030089748A (ko) 2003-11-28
KR100429911B1 true KR100429911B1 (ko) 2004-05-03

Family

ID=29417431

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0027595A KR100429911B1 (ko) 2002-05-18 2002-05-18 가변길이 패킷 다중화 및 역다중화 장치와 방법

Country Status (2)

Country Link
US (1) US7230957B2 (ko)
KR (1) KR100429911B1 (ko)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6963535B2 (en) * 2000-12-28 2005-11-08 Intel Corporation MAC bus interface
US7103038B1 (en) * 2001-07-02 2006-09-05 Juniper Networks, Inc. Systems and methods for converting a P packet/cycle datapath to a Q packet/cycle datapath
US7619975B1 (en) 2001-11-21 2009-11-17 Marvell International Ltd. Generalized auto media selector
US8660427B2 (en) 2002-09-13 2014-02-25 Intel Corporation Method and apparatus of the architecture and operation of control processing unit in wavelenght-division-multiplexed photonic burst-switched networks
US7848649B2 (en) 2003-02-28 2010-12-07 Intel Corporation Method and system to frame and format optical control and data bursts in WDM-based photonic burst switched networks
US7428383B2 (en) * 2003-02-28 2008-09-23 Intel Corporation Architecture, method and system of WDM-based photonic burst switched networks
US7298973B2 (en) * 2003-04-16 2007-11-20 Intel Corporation Architecture, method and system of multiple high-speed servers to network in WDM based photonic burst-switched networks
US7266295B2 (en) 2003-04-17 2007-09-04 Intel Corporation Modular reconfigurable multi-server system and method for high-speed networking within photonic burst-switched network
US7526202B2 (en) * 2003-05-19 2009-04-28 Intel Corporation Architecture and method for framing optical control and data bursts within optical transport unit structures in photonic burst-switched networks
US7266296B2 (en) * 2003-06-11 2007-09-04 Intel Corporation Architecture and method for framing control and data bursts over 10 Gbit Ethernet with and without WAN interface sublayer support
US7310480B2 (en) 2003-06-18 2007-12-18 Intel Corporation Adaptive framework for closed-loop protocols over photonic burst switched networks
US7272310B2 (en) * 2003-06-24 2007-09-18 Intel Corporation Generic multi-protocol label switching (GMPLS)-based label space architecture for optical switched networks
US7315693B2 (en) * 2003-10-22 2008-01-01 Intel Corporation Dynamic route discovery for optical switched networks
US7340169B2 (en) * 2003-11-13 2008-03-04 Intel Corporation Dynamic route discovery for optical switched networks using peer routing
US7102995B2 (en) * 2003-12-05 2006-09-05 Rumi Sheryar Gonda Supporting SDH/SONET APS bridge selector functionality for ethernet
US7734176B2 (en) 2003-12-22 2010-06-08 Intel Corporation Hybrid optical burst switching with fixed time slot architecture
KR100576715B1 (ko) 2003-12-23 2006-05-03 한국전자통신연구원 10기가비트 이더넷 프레임 다중화/역다중화 장치
US7729388B2 (en) * 2004-03-12 2010-06-01 Agere Systems Inc. Processor having split transmit and receive media access controller with reduced complexity interface
US20060004936A1 (en) * 2004-06-30 2006-01-05 Nokia Inc. Bridge for enabling communication between a FIFO interface and a PL3 bus for a network processor and an I/O card
KR100605609B1 (ko) * 2004-12-09 2006-07-31 한국전자통신연구원 기가비트 이더넷 스위칭 장치
US9106427B2 (en) * 2005-08-26 2015-08-11 Ziqiang He Local area network
US7706417B1 (en) * 2005-10-25 2010-04-27 Xilinx, Inc. Method of and circuit for generating a plurality of data streams
US20070242676A1 (en) * 2006-04-13 2007-10-18 Corrigent Systems Ltd. Interface between a synchronous network and high-speed ethernet
US7945164B2 (en) 2006-05-25 2011-05-17 Cisco Technology, Inc. Multiple fiber optic gigabit ethernet links channelized over single optical link
US7720068B2 (en) * 2006-08-23 2010-05-18 Solarflare Communications, Inc. Method and system for a multi-rate gigabit media independent interface
WO2008097001A1 (en) * 2007-02-05 2008-08-14 Samsung Electronics Co., Ltd. Method and apparatus for transmitting/receiving variable-sized packet in a mobile communication system
AT483292T (de) * 2007-07-09 2010-10-15 Nokia Siemens Networks Oy Verfahren und anordnung zur transparenten übertragung von ethernet-signalen über einen ethernet-switch
EP2045937B1 (en) * 2007-10-04 2019-06-19 Microchip Technology Germany GmbH System and method for real time synchronization through a communication system
US8346091B2 (en) * 2009-04-29 2013-01-01 Andrew Llc Distributed antenna system for wireless network systems
KR101250538B1 (ko) * 2009-06-26 2013-04-03 한국전자통신연구원 이더넷 장치 및 이더넷 장치의 레인 운용 방법
EP2288058B1 (en) * 2009-08-21 2012-05-23 SMSC Europe GmbH System and method for detection of multiple timing masters in a network
KR101229056B1 (ko) * 2011-07-28 2013-02-06 라이트웍스 주식회사 이더넷 프레임 다중화 및 역다중화 방법
KR102031630B1 (ko) 2012-10-31 2019-10-14 콤스코프 테크놀로지스, 엘엘씨 전기통신 분배 시스템 내 디지털 기저대역 전송
WO2014146271A1 (zh) * 2013-03-21 2014-09-25 华为技术有限公司 传输装置、连接机构和方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6009108A (en) * 1995-08-31 1999-12-28 Victor Company Of Japan, Ltd. Multiplexer system for converting variable-length burst data streams into averaged-transfer-rate fixed-length packets
US6108726A (en) * 1996-09-13 2000-08-22 Advanced Micro Devices. Inc. Reducing the pin count within a switching element through the use of a multiplexer
KR100232164B1 (ko) * 1997-02-05 1999-12-01 구자홍 트랜스포트 스트림의 다중.분리장치
US6108713A (en) * 1997-02-11 2000-08-22 Xaqti Corporation Media access control architectures and network management systems
JP3235655B2 (ja) * 1997-12-01 2001-12-04 日本電気株式会社 バースト性をもつ低速汎用データの固定長パケット多重装置
US6081523A (en) * 1997-12-05 2000-06-27 Advanced Micro Devices, Inc. Arrangement for transmitting packet data segments from a media access controller across multiple physical links
US6282211B1 (en) * 1998-09-24 2001-08-28 Nippon Telegraph And Telephone Corp. Packet multiplexer with automatic communication path optimization based on loop detection
US6690682B1 (en) * 1999-03-12 2004-02-10 Lucent Technologies Inc. Bit multiplexing of packet-based channels
US6873630B1 (en) * 1999-05-19 2005-03-29 Sun Microsystems, Inc. Method and apparatus for a multi-gigabit ethernet architecture
US6618395B1 (en) * 1999-05-27 2003-09-09 3Com Corporation Physical coding sub-layer for transmission of data over multi-channel media
US6781986B1 (en) * 1999-06-25 2004-08-24 Nortel Networks Limited Scalable high capacity switch architecture method, apparatus and system
US6718139B1 (en) * 1999-09-13 2004-04-06 Ciena Corporation Optical fiber ring communication system
US6920135B1 (en) * 2001-01-23 2005-07-19 Tau Networks Scalable switching system and method
US7006536B1 (en) * 2001-07-12 2006-02-28 Lighthouse Capital Partners Iv, Lp System and method for transporting multiple low-bit-rate signals over a single high-bit-rate medium
US7149226B2 (en) * 2002-02-01 2006-12-12 Intel Corporation Processing data packets
US20030161351A1 (en) * 2002-02-22 2003-08-28 Beverly Harlan T. Synchronizing and converting the size of data frames
US7376146B2 (en) * 2002-05-16 2008-05-20 Intel Corporation Bus conversion device, system and method

Also Published As

Publication number Publication date
US20030214979A1 (en) 2003-11-20
KR20030089748A (ko) 2003-11-28
US7230957B2 (en) 2007-06-12

Similar Documents

Publication Publication Date Title
US9323311B2 (en) Method and system for packet based signaling between A Mac and A PHY to manage energy efficient network devices and/or protocols
EP0830769B1 (en) Flow control method and apparatus for ethernet packet switched hub
US6957269B2 (en) Method and apparatus for performing priority-based flow control
JP4732594B2 (ja) 複数ギガビットイーサネット(r)アーキテクチャの方法および装置
US6058427A (en) Apparatus and method for generating a serial data stream carrying data for multiple network switch ports for use by a physical transceiver
US7860011B2 (en) Method and system for fault resilience in networks with Audio/Video Bridging aware Shortest Path Bridging
US5604867A (en) System for transmitting data between bus and network having device comprising first counter for providing transmitting rate and second counter for limiting frames exceeding rate
US5857075A (en) Method and integrated circuit for high-bandwidth network server interfacing to a local area network
CN100405344C (zh) 用于在交换结构中分发缓冲区状态信息的装置和方法
US9030937B2 (en) Backplane interface adapter with error control and redundant fabric
US7970019B2 (en) Low latency digital audio over packet switched networks
US7817659B2 (en) Method and apparatus for aggregating input data streams
US5598581A (en) Variable latency cut through bridge for forwarding packets in response to user&#39;s manual adjustment of variable latency threshold point while the bridge is operating
US6181699B1 (en) Apparatus and method of assigning VLAN tags
US7042891B2 (en) Dynamic selection of lowest latency path in a network switch
US6161138A (en) Media access control for isochronous data packets in carrier sensing multiple access systems
US7567620B2 (en) Data transmission scheme using channel group and DOCSIS implementation thereof
AU617928B2 (en) Queueing protocol
US6198722B1 (en) Flow control method for networks
US5560038A (en) Apparatus for translating frames of data transferred between heterogeneous local area networks
JP3412825B2 (ja) データネットワーク上でデータパケットをスイッチングする方法および装置
US6222825B1 (en) Arrangement for determining link latency for maintaining flow control in full-duplex networks
US5561669A (en) Computer network switching system with expandable number of ports
KR100880684B1 (ko) 스테이션들 간의 데이터 프레임들의 통신을 제어하는 네트워크 장치 및 제어 방법
US5673254A (en) Enhancements to 802.3 media access control and associated signaling schemes for ethernet switching

Legal Events

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

Payment date: 20110411

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee