KR101760001B1 - 구성 가능한 다중-모드 미디어 독립적 인터페이스 - Google Patents

구성 가능한 다중-모드 미디어 독립적 인터페이스 Download PDF

Info

Publication number
KR101760001B1
KR101760001B1 KR1020147029525A KR20147029525A KR101760001B1 KR 101760001 B1 KR101760001 B1 KR 101760001B1 KR 1020147029525 A KR1020147029525 A KR 1020147029525A KR 20147029525 A KR20147029525 A KR 20147029525A KR 101760001 B1 KR101760001 B1 KR 101760001B1
Authority
KR
South Korea
Prior art keywords
channels
mode
data
independent interface
transmission data
Prior art date
Application number
KR1020147029525A
Other languages
English (en)
Other versions
KR20140142306A (ko
Inventor
홍춘 유
Original Assignee
퀄컴 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20140142306A publication Critical patent/KR20140142306A/ko
Application granted granted Critical
Publication of KR101760001B1 publication Critical patent/KR101760001B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M9/00Parallel/series conversion or vice versa
    • 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
    • H04L25/00Baseband systems
    • H04L25/38Synchronous or start-stop systems, e.g. for Baudot code
    • H04L25/40Transmitting circuits; Receiving circuits
    • H04L25/49Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
    • H04L25/4906Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using binary codes
    • H04L25/4908Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using binary codes using mBnB codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0685Clock or time synchronisation in a node; Intranode synchronisation
    • H04J3/0697Synchronisation in a packet node

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Communication Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

집적 회로 디바이스에서 구성 가능한 미디어 독립적 인터페이스는 제 1 복수의 채널들 및 제 2 복수의 채널들을 포함하고, 제 1 및 제 2 복수의 채널들의 각각의 채널은 전송 경로를 포함한다. 인터페이스는 또한 제 1 모드에서 제 1 및 제 2 복수의 채널들에 대한 전송 데이터를 직렬화하도록 그리고 제 2 모드에서 제 1 복수의 채널들에 대한 전송 데이터를 직렬화하도록 구성 가능한 제 1 직렬화기 및 제 1 모드에서 디스에이블되도록 그리고 제 2 모드에서 제 2 복수의 채널들에 대한 데이터를 직렬화하도록 구성 가능한 제 2 직렬화기를 포함한다.

Description

구성 가능한 다중-모드 미디어 독립적 인터페이스{CONFIGURABLE MULTI-MODE MEDIA INDEPENDENT INTERFACE}
본 실시예들은 일반적으로 전자 통신들에 관한 것으로서, 특히 이더넷 통신 시스템들에 관한 것이다.
컴퓨터 및/또는 다른 네트워크 디바이스들이 LAN(local area network)을 형성하도록 허용하는 기술들 중에서, 이더넷은 주도적인 네트워킹 기술이 되었고 IEEE 802.3 표준군에서 표준화된다. 이더넷 표준은 시간에 걸쳐서 진화하여서, 이더넷 프로토콜의 상이한 변동물들이 더 높은 대역폭, 개선된 미디어 액세스 제어들, 상이한 물리적 미디어 채널들 및/또는 다른 기능들을 지원하기 위해 이제 존재하게 된다. 예를 들어, IEEE 802.3은 이제 10 Mbit/s, 100 Mbit/s, 1 Gbit/s로부터 10 Gbit/s 및 심지어 그 초과에 이르는 범위의 속도들(또는 전송 레이트들)을 커버하는 변동물들 가지며, 동축 케이블들, 광섬유들 및 미차폐/차폐 꼬임쌍선 케이블들과 같은 물리적 채널들을 관리하는 변동물을 갖는다.
이더넷 프로토콜을 이용하여 통신하는 시스템들 및 디바이스들에서, 인터페이스는 2개의 층들 간의 정보의 교환을 용이하게 하기 위해 MAC(media access control) 층과 물리층 간에 존재한다. 이 인터페이스는 미디어 독립적 인터페이스(MII)로서 지칭된다. MII이란 용어는 또한 전체 부류(genus)를 지칭하는 것 외에, 특정한 타입의 미디어 독립적 인터페이스들을 또한 지칭한다. 본 명세서에서 이용되는 바와 같이, "미디어 액세스 인터페이스" 및 "MII"라는 용어들은 달리 언급되지 않으면 이러한 인터페이스들의 전체 부류를 지칭할 것이다. MII들의 예들은 AUI(Attachment Unit Interface), MII, 감소된 MII, 기가비트 MII(GMII), 감소된 GMII, 직렬 GMII(SGMII), 쿼드 SGMII(QSGMII), 10GMII 및 소스 동기시 직렬 MII(S3MII)를 포함한다.
미디어 독립적 인터페이스들을 설계하는 것은 상당한 엔지니어링 도전과제를 제시한다. 이들 도전과제들의 예들은 EMI(electromagnetic interference), 전력 소비, 핀 카운트 및 회로 보드 복잡도를 감소하거나 최소화하는 것을 포함한다. 이에 따라, 보다 효율적인 MII 설계들에 대한 필요성이 있다. 또한, 제조를 단순화하기 위해 새로운 설계들이 기존의 MII 프로토콜들과의 역방향 호환성을 위해 구성 가능하게 될 필요가 있다.
본 실시예들은 예로서 예시되며 첨부 도면들의 도면들에 의해 제한되도록 의도되지 않는다.
도 1은 본 실시예들이 구현될 수 있는 통신 시스템의 블록도이다.
도 2는 도 1의 네트워크 디바이스를 나타내는 OSI(open system interconnection) 모델의 블록도이다.
도 3은 몇몇 실시예들에 따라 도 1의 네트워크 디바이스의 블록도이다.
도 4는 몇몇 실시예들에 따라 8개의 PHY 채널들 및 8개의 MAC 서브-층들 간에 단일의 직렬 듀얼-데이터-레이트 데이터 경로를 제공하는 미디어 독립적 인터페이스의 블록도이다.
도 5는 몇몇 실시예들에 따라 도 4의 미디어 독립적 인터페이스에서 채널들에 대한 기능적 블록의 블록도이다.
도 6a는 몇몇 실시예들에 따라 도 4의 미디어 독립적 인터페이스에서 데이터 인코딩을 위한 런닝 디스패리티 방식(running disparity scheme)을 예시하는 블록도이다.
도 6b는 몇몇 실시예들에 따라 도 4의 미디어 독립적 인터페이스에서 데이터를 인코딩하기 위한 다른 런닝 디스패리티 방식을 예시하는 블록도이다.
도 7a는 몇몇 실시예들에 따라 모드-구성 가능한 미디어 독립적 인터페이스의 블록도이다.
도 7b 및 도 7c는 몇몇 실시예들에 따라 인터페이스들의 Serdes(serializers/deserializers)를 포함하는 모드-구성 가능한 미디어 독립적 인터페이스들의 부분들의 블록도들이다.
도 8은 몇몇 실시예들에 따라 도 7a의 미디어 독립적 인터페이스에서 채널에 대한 기능적 블록의 블록도이다.
도 9는 몇몇 실시예들에 따라 도 7a의 미디어 독립적 인터페이스에서 데이터를 인코딩하기 위한 런닝 디스패리티 방식을 예시하는 블록도이다.
도 10은 몇몇 실시예들에 따라 구성 가능한 미디어 독립적 인터페이스를 동작하는 방법을 예시하는 흐름도이다.
동일한 참조 번호들은 도면 그림들 및 명세서 전체에 걸쳐서 대응하는 부분들을 지칭한다.
대응하는 클록 신호를 전송함 없이, 단일 직렬 데이터 경로(예를 들어, 직렬 듀얼-데이터 레이트 데이터 경로)를 통해 복수의 채널들에 대한 신호들을 전송하는, 물리층 디바이스들(PHY들) 및 미디어 액세스 제어기들(MAC들) 간에 통신하기 위한 방법들 및 장치들이 개시된다. 몇몇 실시예들에서, 복수의 채널들에 대한 신호들은 제 1 차동 쌍을 통해 PHY로부터 MAC로, 그리고 제 2 차동 쌍을 통해 MAC로부터 PHY로 전송된다. 다른 실시예들에서, 유사한 방법들 및 장치들이 2개의 MAC들 간의 직접 통신을 위해 이용된다.
다음의 설명에서, 본 개시의 완전한 이해를 제공하기 위해 특정한 컴포넌트들, 회로들 및 프로세스들의 예들과 같은 다수의 특정한 세부사항들이 제시된다. 또한, 다음의 설명에서 그리고 설명의 목적을 위해, 특정한 명명법이 본 실시예들의 완전한 이해를 제공하기 위해 제시된다. 그러나 이들 특정한 세부사항들이 본 실시예들을 실시하는데 요구되지 않을 수 있다는 것이 당업자에게 자명하게 될 것이다. 다른 인스턴스들에서, 잘-알려진 회로들 및 디바이스들은 본 개시를 모호하게 하는 것을 방지하기 위해 블록도 형태로 도시된다. 본 명세서에서 이용되는 바와 같은 "커플링된"이란 용어는 하나 이상의 개재 컴포넌트 또는 회로들을 통해 연결되거나 직접 연결되는 것을 의미한다. 본 명세서에서 설명되는 다양한 버스들을 통해 제공되는 신호들 중 임의의 것은 다른 신호들과 시간-멀티플렉싱되고 하나 이상의 공통 버스들을 통해 제공될 수 있다. 부가적으로, 회로 엘리먼트들 또는 소프트웨어 블록들 간의 상호연결은 단일 신호 라인들로서 또는 버스들로서 도시될 수 있다. 버스들 각각은 대안적으로 단일 신호 라인일 수 있으며, 단일 신호 라인들 각각은 대안적으로 버스들일 수 있고, 단일 라인 또는 버스는 컴포넌트들 간의 통신을 위해 무수히 많은 물리적 또는 논리적 매커니즘들 중 임의의 하나 이상을 표현할 수 있다. 본 실시예들은 본 명세서에서 설명되는 특정한 예들로 제한되는 것으로서 해석되는 것이 아니라, 오히려 첨부된 청구항들에 의해 정의되는 모든 실시예들을 본 발명의 범위 내에 포함하도록 해석된다.
도 1은 본 실시예가 구현될 수 있는 예시적인 통신 시스템(100)의 블록도이다. 통신 시스템(100)은 각각의 데이터 링크들(120)을 통해 복수의 네트워크 디바이스들(110(b) 및 110(c))에 커플링되는 네트워크 디바이스(예를 들어, 스위치 또는 라우터)(110(a))를 포함하는 것으로 도시된다. 네트워크 디바이스들(110(b) 및 110(c))은 각각의 데이터 링크들(120)을 통해 스위치/라우터(110(a))(그리고 이에 따라 서로)와 데이터를 교환할 수 있다. 네트워크 디바이스들(110(b) 및 110(c))은 예를 들어, 컴퓨터들, 스위치들, 라우터들, 허브들, 게이트웨이들, 액세스 포인트들 등을 포함하는 임의의 적합한 네트워크-인에이블 디바이스들일 수 있다. 또한, 본 실시예들에 따라, 네트워크 디바이스들(110(b) 및 110(c))은 예를 들어, 모바일 전화, 개인용 디지털 보조기기(PDA), 셋-톱 박스, 또는 게임 콘솔을 포함하는 유선 또는 무선 네트워크 중 어느 하나에 연결할 수 있는 임의의 전자 디바이스를 포함할 수 있다. 물론, 라우터/스위치(110(a)), 네트워크 디바이스들(110(b) 및 110(c)) 및 데이터 링크들(120)은, 네트워크가 예를 들어, 로컬 영역 네트워크(LAN), 광역 네트워크(WAN), 무선 LAN(WLAN)을 포함하는 더 큰 네트워크를 형성하도록 임의의 수의 적합한 디바이스들을 더 포함할 수 있기 때문에, 네트워크의 단지 예시적인 컴포넌트들이고, 및/또는 인터넷에 연결될 수 있다. 데이터 링크들(120)은 예를 들어, 동축 케이블들, 광섬유들 및/또는 미차폐/차폐 꼬임쌍선들을 포함하는 임의의 적합한 물리적 미디어 채널일 수 있다.
네트워크 디바이스들(110(a)-110(c))은 IEEE 802.3 표준군에서 설명되는 바와 같은 이더넷 기술들을 이용하여 서로 통신할 수 있다. 보다 구체적으로, 본 명세서에서 설명되는 예시적인 실시예들에 대해, 네트워크 디바이스들(110(a)-110(c)) 각각에는 예를 들어, 100 Mbit/s 및/또는 10 Mbit/s의 속도들로 데이터 패킷들을 전송 및 수신할 수 있는 이더넷-컴플라이언트 트랜시버들(Ethernet-compliant transceivers)(단순함을 위해 도 1에서 도시되지 않음)이 장착된다.
도 2는 각각 도 1의 네트워크 디바이스들(110(a) 및 110(b) 또는 110(c))을 나타내는 OSI(open system interconnection) 모델들(200(a) 내지 200(b))의 블록도이다. 도 1에서와 같이, 네트워크 디바이스들(110(a) 및 110(b) 또는 110(c))은 설정된 데이터 링크(또는 물리적 채널)(120)에 의해 서로 커플링된다. 도 2에서 도시된 바와 같이, OSI 모델(200)은 7개의 논리층들:(1) 애플리케이션 층(221); (2) 프리젠테이션 층(222); (3) 세션 층(223); (4) 전송층(224); (5) 네트워크 층(225); (6) 데이터 링크층(226); 및 (7) 물리층(227)으로 분할된다. OSI 모델(200)이 본 명세서에서의 논의를 위해 네트워크 디바이스들(110(a) 및 110(b)/110(c))을 표현하는데 이용될 수 있지만, 다른 적합한 모델들이 본 실시예들에 따라 구성되는 이더넷 디바이스들을 표현하는데 이용될 수 있다는 것이 주의된다.
OSI 층이 계층에서 더 높을수록, 그 OSI 층은 최종 사용자에게 더 근접하고, OSI 층이 계층에서 더 낮을수록, 그 OSI 층은 물리적 채널에 더 근접하다. 예를 들어, OSI 모델 계층의 최상위에는 최종 사용자의 소프트웨어 애플리케이션(단순함을 위해 도 2에서 도시되지 않음)과 직접 상호작용하는 애플리케이션 층(221)이 있다. 대조적으로, OSI 모델 계층의 최하위에는 이더넷 데이터 전송을 위한 꼬임쌍선들과 같은 물리적 통신 매체와 네트워크 디바이스 간의 관계를 정의하는 물리층(227)이 있다.
보다 구체적으로, 물리층(227)은 네트워크 디바이스(110)와 물리적 채널(120) 간의 상호작용들을 위해 핀 레이아웃들 및 신호 전압들과 같은 세부사항들을 포함하는 전기 및 물리적 규격들을 제공한다. 데이터링크 층(226)은 네트워크 디바이스들(110(a) 및 110(b)/110(c)) 간의 데이터 전송을 위해 어드레싱 및 채널 액세스 제어 매커니즘들과 같은 기능적 및/또는 절차적 세부사항들을 제공한다. 데이터링크 층(226)은 (계층의 견지에서) 최상위의 논리적 링크 제어(LLC) 층 및 최하위의 미디어 액세스 제어(MAC) 층인 2개의 서브-층들을 갖는다. 단순함을 위해, 데이터링크 층(226)은 다음의 논의에서 MAC 층으로서 본 명세서에서 때때로 지칭된다. 도 2에서 단순함을 위해 도시되지 않았지만, MAC 층(226)과 물리층(227) 간에 인터페이스가 있어서 그 2개의 층들 간의 정보의 교환을 용이하게 하다. 이 인터페이스는 미디어 독립적 인터페이스(MII)로서 지칭되는데, 그 이유는 MAC 층은 전송을 위해 이용되는 물리적 매체에 관해 알 수 없기(agnostic) 때문이다. (본 명세서에서 이용된 바와 같이, "미디어 액세스 인터페이스" 및 "MII"란 용어들은 달리 언급되지 않으면 동일한 명칭의 특정한 인터페이스가 아닌, 이러한 인터페이스들의 전체 부류를 지칭한다.) MII는 네트워크 디바이스들(110(a) 및/또는 110(b)/110(c))이 그의 MAC 디바이스들(226)들을 대체할 필요 없이 상이한 타입들의 물리적 채널들(120)과 인터페이스하도록 허용한다.
도 3은 도 1 및 도 2의 네트워크 디바이스들(110(a) 및/또는 110(b)/110(c))의 일 실시예인 네트워크 디바이스(310)의 기능적 블록도이다. 네트워크 디바이스(310)는 프로세서(320), 메모리(330) 및 도 2의 하나 이상의 물리적 채널들(120)에 커플링되는 이더넷 트랜시버 회로(340)를 포함한다. 몇몇 실시예들에서, 트랜시버 회로(340)는 복수의 채널들(예를 들어, 8개의 채널들)에 대한 트랜시버 회로를 포함하고, 이에 따라 복수의 포트들(예를 들어, 8개의 포트들)을 포함한다. 이더넷 트랜시버(340)가 PHY(360)에 포함되는 것으로서 도 3에서 예시되었지만, 다른 실시예들에 대해, 트랜시버(340)는 자립형 디바이스 또는 집적 회로일 수 있다. 메모리(330)는 예를 들어, EEPROM 또는 플래시 메모리를 포함하는 임의의 적합한 메모리 엘리먼트 또는 디바이스일 수 있다. 프로세서(320)는 예를 들어, 메모리(330)에 저장된 하나 이상의 소프트웨어 프로그램들의 스크립트들 또는 명령들을 실행할 수 있는 임의의 적합한 프로세서일 수 있다. 단순함을 위해 도 3에서 도시되지 않았지만, 네트워크 디바이스(310)는 또한 빈번하게 이용되는 명령들 및/또는 데이터를 저장하는 잘-알려진 캐시 메모리를 포함할 수 있다.
네트워크 디바이스(310)는 물리층 디바이스(PHY)(360) 및 MAC 층 디바이스(또는 MAC 디바이스)(350)를 포함한다. PHY(360) 및 MAC 디바이스(350)는 각각 신호 경로들(380)의 세트를 통해 그 2개의 디바이스들 사이에서 신호들을 전송하기 위한 미디어 독립적 인터페이스(370-1 및 370-2)를 각각 포함한다. 몇몇 실시예들에서, 신호 경로들(380)은 PHY(360)로부터 MAC 디바이스(350)로 신호들을 전송하기 위해 신호 라인들의 제 1 차동 쌍(예를 들어, 저-전압 차동 시그널링 쌍) 및 MAC 디바이스(350)로부터 PHY(360)로 신호들을 전송하기 위한 신호 라인들의 제 2 차동 쌍(예를 들어, 저-저전압 차동 시그널링 쌍)을 포함한다. 각각의 차동 쌍은 PHY(360)와 MAC 디바이스(350) 간에 1-비트 데이터 경로를 제공한다. 신호 경로들은 이에 따라 PHY(360)로부터 MAC 디바이스(350)로의 제 1 직렬 경로 및 MAC 디바이스(350)로부터 PHY(360)로의 제 2 직렬 경로를 포함한다. 몇몇 실시예들에서, 신호 경로들(380)은 PHY(360)와 MAC 디바이스(350) 간에 클록 신호들을 전송하기 위한 어떠한 신호 라인들도 포함하지 않는다. 예를 들어, 인터페이스들(370-1 및 370-2)은 소스-동기식이 아닐 수 있다.
MAC 디바이스(350)는 MAC 층(예를 들어, 도 2의 층(226))의 기능들을 구현하는 임의의 디바이스 또는 집적 회로일 수 있고, 자립형 디바이스일 수 있거나 네트워크 디바이스(310) 내로 통합될 수 있다. 유사하게, PHY(360)는 물리층(예를 들어, 도 2의 층(227))의 기능들을 구현하는 임의의 디바이스 또는 집적 회로일 수 있고, 자립형 디바이스일 수 있거나 네트워크 디바이스(310) 내로 통합될 수 있다. 몇몇 실시예들에서, PHY(360) 및 MAC 디바이스(350)는 회로 보드 상에 장착되는 집적 회로들에서 각각 구현되며 신호 경로들(380)은 회로 보드 상의 트래이스들로서 구현된다.
보통의 데이터 전송 동작들 동안, 네트워크 디바이스(310) 상의 최종-사용자 소프트웨어 애플리케이션이 네트워크를 통해 데이터를 (예를 들어, 인터넷으로) 전송할 때, 프로세서(320)는 OSI 모델의 상위층들에 따라 데이터를 프로세싱하고, 이어서 MAC 디바이스(350)를 통해 데이터를 PHY(360)에 전송한다. 이어서 PHY(360)는 트랜시버(340)를 통해 데이터를 물리적 채널(120)로 전송한다.
도 4는 미디어 독립적 인터페이스(370-1 또는 370-2)(도 3)의 예인 미디어 독립적 인터페이스(400)를 예시한다. 인터페이스(400)는 8개의 데이터 채널들(Ch0 내지 Ch7)을 포함하며, 이들 각각은 PHY(360)의 트랜시버 회로(340) 내의 각각의 포트에 그리고 MAC 디바이스(350)(도 3)의 각각의 포트에 대응한다. 인터페이스(400)는 이에 따라 8개의 포트 MAC에 8개의 포트 PHY를 링크한다. (보다 일반적으로, 인터페이스(400)는 다른 예들에서 복수의 채널들을 포함하며 그 수는 8개 초과 또는 8개 미만일 수 있다.) 몇몇 실시예들에서, 8개의 채널들 각각은 (8B/10B 인코딩 이전에) 둘 다 10/100 Mbps인 반- 및 전-듀플랙스(full-duplex) 모두로 동작할 수 있다. 8개의 채널들 각각은 이에 따라 10Mbps 또는 100Mbps 신호들(재차 8B/10B 인코딩 이전) 중 어느 하나에 대해 이용될 수 있고, 이에 따라 PHY(360)는 10/100Mbps 이더넷 PHY일 수 있다.
또한, 인터페이스(400)는 2개의 부가적인 채널들(414)(Ch8 및 Ch9)을 포함한다. 특별한 유휴 표시자 심볼들(예를 들어, Ch8에 대한 K28.3 또는 K28.7 및 Ch9에 대한 D29.1)이 직렬화된 출력에서 채널 번호들의 표시를 제공하기 위해 이들 채널들(414)로부터 전송된다. (보다 일반적으로, 인터페이스는 유휴 심볼들을 전송하기 위해 하나 이상의 부가적인 채널들(414)을 포함한다.) 예를 들어, 직렬화된 출력은 차례로(예를 들어, 라운드-로빈으로) 채널들(Ch0-Ch7)에 대한 데이터 다음에 Ch8 및 Ch9의 유휴 심볼들을 포함한다. 수신 인터페이스는 직렬화된 입력 내의 어느 데이터가 어느 채널들에 대응하는지 결정하기 위해, 이들 유휴 심볼들을 식별하고 채널 정렬을 위한 마커들(makers)로서 이들을 이용할 수 있다. (대안적으로, Ch0 또는 Ch4 상의 K28.1 또는 K28.5와 같이 다른 채널들 상의 미리 정의된 심볼들이 채널 정렬을 위해 이용된다.) 몇몇 실시예들에서, 이들 2개의 채널들(414)은 또한 100Mbps(8B/10B 인코딩 이전)에서 동작한다. 몇몇 실시예들에서, 유휴 심볼들은 다른 목적들을 위해 장비 제조자들에 의해 예약되거나 이용되지 않는 알려진 심볼들로부터 선택된다. 채널을 위해 이용된 심볼(예를 들어, Ch8이 K28.3 또는 K28.7을 전송하든지 간에)은 레지스터 비트에 의해 특정될 수 있다.
8개의 채널들(Ch0-Ch7) 각각은 전송 경로 및 수신 경로를 포함한다. 각각의 Ch0-Ch7에 대해, 전송 경로는 전송 레이트 어댑터(404)에서, 데이터 신호들, 데이터 유효 신호들 및 에러 신호들을 포함하는 병렬(예를 들어, 8-비트 길이(wide)) 신호들을 수신한다. 이들 신호들은 PCS 전송 상태 머신(408)에 의해 프로세싱되고 80B/100B 코덱(416)에 의해 (예를 들어, 10-비트 길이 신호들로) 인코딩된다. 80B/100B 코덱(416)의 동작의 예들은 도 6a 및 도 6b에 관하여 아래에서 설명된다. 각각의 채널에 대한 그리고 또한 Ch8-Ch9에 대한 인코딩된 신호들은 10:1 멀티플렉서(420)에 의해 함께 멀티플렉싱되고, 직렬화된 출력을 제 1 직렬 데이터 경로(예를 들어, 도 3의 신호 경로들(380)의 제 1 차동 쌍)로 구동하는 직렬화기(422)에 의해 직렬화된다. 따라서, 도 4의 예에서, 데이터의 8개의 채널들 및 유휴 심볼들의 2개의 채널들은 멀티플렉싱되고 직렬화된다. 몇몇 실시예들에서, 각각의 채널들에 대한 데이터 및 유휴 심볼들은, 자신의 출력이 제어 신호로서 mux(420)에 제공되는 4-비트 0-9 카운터(418)에 의해 결정된 바와 같은 라운드 로빈 순서로(데이터는 Ch0, 이어서 Ch1, 이런식으로 Ch9까지에 대한 출력이고, 그 이후, 데이터는 재차 Ch0에 대한 출력이며 프로세스는 반복함) 10:1 mux(420)에 의한(및 이에 따라 또한 직렬화기(422)에 의한) 출력이다. 도 4의 예에서, 10:1 mux(420)는 125MHz의 10비트들을 출력하고, 직렬화기(422)는 1.25Gbps의 직렬화된 출력을 제공한다. 몇몇 실시예들에서, 직렬화기(422)는 신호 경로들(380)(도 3)의 제 1 차동 쌍으로 직렬화된 출력을 구동한다.
수신 경로는 심볼 정렬을 또한 수행하는 역-직렬화기(426)에 의해 (예를 들어, 10비트 길이 신호들로) 역-직렬화되는 직렬화된 입력을 수신한다. 몇몇 실시예들에서, 역-직렬화기(426)는 클록 및 데이터 복구를 수행하기 위해 CDR 회로를 포함한다. 도 4의 예에서, 역-직렬화기(426)는 (예를 들어, 도 3의 신호 경로들(380)의 제 2 차동 쌍으로부터) 1.25GHz의 직렬화된 입력을 수신하고, 125MHz의 병렬 10-비트 워드들을 출력한다. 병렬 10-비트 워드들은 각각의 채널들로(예를 들어, 라운드-로빈 방식으로 채널들 Ch0-Ch9로) 10-비트 워드들을 디먹티플렉싱하는(demux) 1:10 디멀티플렉서(demux)(424)에 제공된다. 10-비트 워드들은 또한 채널 식별 및 정렬을 위해 이용된 Ch8 및 Ch9 상의 특별한 심볼들을 검출하는 데이터 검출기(428)에 제공된다. 데이터 검출기(428)는 Ch8 및 Ch9 상의 심볼들의 검출에 응답하여 4-비트 0-9 카운터(430)에 신호를 제공한다. 카운터(430)는 이에 따라 제어 신호로서 그의 출력을 1:10 demux(424)에 제공한다. 제어 신호는 demux(424)가 각각의 10-비트 워드들을 제공하는 채널들을 제어하고 이에 따라 데이터가 적절한 채널들에 제공된다고 보장한다.
Ch0-Ch7 각각의 전송 경로는 전송 레이트 어댑터(404)(예를 들어, Ch0에 대한 어댑터(404-0) 및 Ch7에 대한 어댑터(404-7))를 포함한다. MII 입력 프레임들이 채널을 위한 최대 가능 레이트 미만인 레이트에서 채널에 제공되는 경우, 전송 레이트 어댑터(404)는 프레임들을 복제함으로써 프레임들을 늘린다. 도 4의 예에서, 각각의 채널에 대한 최대 레이트는 100Mbps이다. 10Mbps 프레임들이 채널(예를 들어, 채널은 10Mbps 포트에 대응함)에 제공되는 경우, 레이트 어댑터(404)는 각각의 프레임을 10번 복제하여, 채널에 대해 100Mbps의 레이트가 되게 한다. 유사하게, Ch0-Ch7 각각의 수신 경로는 프로세스를 반전(reverse)하는 수신기 레이트 어댑터(402)(예를 들어, Ch0에 대해 어댑터(402-0) 및 Ch7에 대한 어댑터(402-7))를 포함하고, 이에 따라 100Mbps 채널이 그의 MII 출력으로서 10Mbps 출력 프레임들을 제공하도록 허용한다.
10Mbps 모드에서 MII 데이터는 이에 따라 레이트 어댑터를 통과한 이후 10번 복제된다. SPD(Start of Packet) 디리미터(delimiter)(/S/)는 프레임 당 한번만 나타난다. 내부 READ_EN 신호는 10Mbps 모드에서 매 10개의 데이터 세그먼트들마다 한번 특정한 데이터 세그먼트(예를 들어, 제 1 데이터 세그먼트 또는 다른 데이터 세그먼트)에서 시작하는 데이터의 샘플링을 가능케 하는데 이용된다.
도 4의 예에서, MII 신호들은 각각 10/100Mbps로 전송기 측에서 수신되고 2.5/25MHz에서 클로킹된다. 이들 신호들은, 12.5MHz 클록 도메인에서 8-비트 데이터를 출력하는 전송 레이트 어댑터(404)를 통과한다. 데이터는 이어서 추후의 인코딩을 위해 대응하는 제어 비트로 대체된 8-비트 데이터를 생성하도록 도 5에서 도시된 바와 같은 PCS 전송 상태 머신(408)에 송신된다. 몇몇 실시예들에서, PCS 층의 적절한 기능을 보장하기 위해 MII 프레임들은 적어도 2개의 프리엠블 심볼 다음의 SFD 심볼과 함께 시작한다. 수신 경로에서, 8-비트 데이터 및 대응하는 코드 그룹 정보는 12.5MHz 클록 도메인에서 80B/100B 코덱(416)으로부터 수신된다. 이 데이터 및 정보는 동기화 블록(412) 및 PCS 수신 상태 머신(406)에 의해 프로세싱된다. 동기화 블록(412)은 링크 파트너들 간의 동기화 상태를 결정하기 위해 그리고 동기화가 손실되었다고 그것이 결정한 경우 재-정렬하기 위해 코드 그룹 정보를 검사한다. PCS 수신 상태 머신(406)은 MII 신호들을 복구하고, 10 또는 100Mbps(예를 들어, 대응하는 포트 속도 정보에 따라)의 신호들을 출력하는 수신 레이트 어댑터(402)에 복구된 MII 신호들을 제공한다.
RX-DV의 어서션(assertion) 및 디어서션(deassertion)에 따라, 전송기는 SPD /S/(Start_of_Packet delimiter) 및 EPD /T/(End_of_Packet)를 인코딩하여 각각의 패킷의 시작과 끝을 시그널링한다. 수신기 측은 이들 2개의 디리미터들을 검출함으로써 RX_DV 신호를 복구한다. 전송기는 데이터 전송 에러를 표시하도록 Error_Propagation(/V/) 순서화된 세트를 인코딩한다. 수신기 측은 그것이 이 순서화된 세트를 검출할 때마다 RX_ER 신호를 어서트한다. CRS 및 COL은 직접 인코딩되는 것이 아니라, RX_DV 및 TX_EN을 이용하여 수신기 측 상에서 생성된다.
Ch0-Ch7 각각의 전송 PCS 회로는 8B/10B 인코딩(예를 들어, 8-비트 패킷 데이터 및 대응하는 제어 비트 k)과 호환 가능한 데이터로 MII 패킷들(예를 들어, 종래의 MII 데이터 신호들, 데이터 유효 신호들 및 에러 신호들을 포함함)을 변환하는 PCS 회로(예를 들어, PCS 전송 상태 머신(408))를 포함한다. 이 데이터는 인코딩을 위해 80B/100B 코덱(416)에 제공된다. 마찬가지로, Ch0-Ch7의 수신 PCS 회로는 수신 동기화 블록(412)에 의해 동기화될 때의 80B/100B 코덱(416)으로부터 디코딩된 데이터를 MII 패킷들로 변환하는 PCS 회로(예를 들어, PCS 수신 상태 머신(406))를 포함하며, 상기 MII 패킷들은 이어서 수신 레이트 어댑터(402)에 제공된다. 몇몇 실시예들에서, 전송 및 수신 데이터 경로들은 IEEE 802.3z 규격(clause 36)에서 정의된 1000BASE-X PCS를 레버리지한다.
몇몇 실시예들에서, QSGMII과 정렬하기 위해, 채널 0 및 채널 4 상의 K28.5의 이용은 K28.1로 대체된다. 이는 10 비트들보단 오히려 8 비트들 상에서 행해질 수 있다. K28.1 또는 K28.5가 이용되는지 여부는 레지스터에 의해 제어될 수 있다. 수신 경로는 K28.1 및 K28.5를 동일하게 취급하도록 구성될 수 있다. 몇몇 실시예들에 따라 채널 표시를 위해 인터페이스(400)가 의존하지 않는 K28.1 스와퍼(swapper)를 이용하지 않기 위한 몇 개의 옵션들이 있다. 예를 들어, 2개의 전용 제어 비트들은 스와핑이 수행되는지를 제어할 수 있다.
인코딩에 관하여, IEEE 802.3z는 /I1/ 및 /I2/로 지칭되는 2개의 IDLE 순서 세트들 중 하나를 송신함으로써 런닝 디스패리티(running disparity)를 처리하기 위한 규칙들을 제공한다. 그러나 인터페이스(400)에서, 80B/100B 인코더(416)가 PCS 전송 상태 머신(408)의 기능으로부터 분리되기 때문에, /I1/ 순서화된 세트만이 몇몇 실시예들에서 생성된다. 또한, 80B/100B 인코딩의 성질로 인해, 링크 상의 비트 에러들은 런닝 디스패리티 에러가 포트들에 걸쳐 전파되게 할 수 있다. 그러므로 이전의 심볼로부터의 런닝 디스패리티 값에 의존하는 디스패리티 검사들은 몇몇 실시예들에 따라 디스에이블된다.
프레임 늘림 이후에, Ch0-Ch7 각각의 데이터 레이트는 100Mbps이다. 인코딩 이후에, 이 데이터 레이트는 125Mbps로 증가하고, 1Gbps의 총 데이터 레이트를 발생시킨다. 채널 번호들의 표시로서 특별한 유휴 심볼들을 전송하는 2개의 채널들(414)(Ch8 및 Ch9)은 다른 0.25Gbps(즉, 25% 오버헤드)를 이용하여, 1.25Gbps의 결합된 모든 채널에 대한 총 데이터 레이트를 발생시킨다. 직렬화된 출력은 이에 따라 몇몇 실시예들에서 1.25Gbps의 데이터 레이트를 갖는다. 보다 일반적으로, 직렬화된 출력은 유휴 심볼들을 전송하는 채널들의 데이터 레이트들을 포함해서, 인코딩 이후 결합된 모든 채널들의 데이터 레이트와 동일한 데이터 레이트를 갖는다.
인터페이스(400)는 그것이 PHY(360)또는 MAC 디바이스(350)(도 3)에 안착되는지에 의존하여 PHY 모드 또는 MAC 모드로 구성될 수 있다. 자동-협상 회로(410)(예를 들어, Ch0에 대해 회로(410-0) 및 Ch7에 대해 회로(410-7)을 포함함)는 모드를 특정하는데 이용된다. 제어 정보(예를 들어, 아래의 표 1에서 특정된 바와 같음)는 (예를 들어, 제어 정보의 변경에 응답하여) PHY(360)로부터 MAC 디바이스(350)로 전달된다. 몇몇 실시예들에서, 이것은 802.3z clause 37에서 정의되는 자동-협상 매커니즘을 레버리지함으로써 달성된다. 몇몇 실시예들에서, 자동-협상 회로(410) 내의 링크-타이머는 링크 상태의 즉각적인 업데이트를 보장하기 위해 10ms로부터 1.6ms로 변경된다.
따라서 MAC 디바이스(350)의 인터페이스(400)는 로컬 PHY(360)(예를 들어, 로컬 구리 PHY) 및 원격 PHY(예를 들어, 원격 구리 PHY) 간의 자동-협상 결과들에 따른다. 로컬 PHY(360)는 링크 상태가 변경되었을 때 제어 정보를 업데이트한다. 로컬 PHY(360)가 링크 변경을 검출하는 경우, 그것은 그의 대응하는 자동-협상 회로(410)를 시작하고, "데이터" 상태로부터 "구성" 상태로 대응하는 채널을 구성하고, 구성의 값(registertx_config_reg[15:0])을 MAC 디바이스(350)에 전송함으로써 업데이트된 제어 정보를 송신한다. MAC 디바이스(350) 측 상의 대응하는 채널의 수신 경로는 제어 정보를 수신 및 디코딩하고 MAC의 자동-협상 회로(410)를 시작한다. MAC(350) 측은 tx_config_reg의 비트 14를 어서트하고 채널의 전송 경로를 통해 tx_config_reg를 로컬 PHY(360)에 전송함으로써 링크 상태의 업데이트를 확인응답한다. MAC(350)로부터 확인응답을 수신하면, PHY(360)는 자동-협상 프로세스를 완료하고 "데이터" 상태로(예를 들어, 보통의 데이터 전송 및 수신으로) 리턴한다. 몇몇 실시예들에서, 링크 상태의 업데이트의 예상된 레이턴시는 2개의 link_timer 시간들 및 확인응답 프로세스 시간(예를 들어, 총 3.4ms)에 대응한다.
몇몇 실시예들에서, 능력 광고(ability advertisement)를 수행하는 대신, PHY(360)의 자동-협상 회로(410)는 제어 정보가 변경될 때마다 표 1에서 도시된 바와 같이, 그의 tx_config_reg[15:0]에서 특정된 제어 정보(예를 들어, 구리 PHY/MAC 구성으로부터 획득됨)를 MAC 디바이스(350)의 자동-협상 회로(410)에 송신한다. 업데이트된 정보를 수신하면, MAC 디바이스(350)의 자동-협상 회로(410)는 이에 응답하여 표 1에서 특정된 바와 같이 그 자신의 tx_config_reg의 비트 14를 어서트하고 그의 tx_config_reg를 PHY(360)에 전송함으로써 확인응답을 수행한다. 전송된 정보는 링크 상태, 듀플렉스 모드 및 속도를 포함한다.
비트 번호 PHY로부터 MAC로 송신된 tx_config_reg[15:0] MAC로부터 PHY로 송신된 tx_config_reg[15:0]
15 링크: 1=링크 업, 0=링크 다운 0: 미래의 이용을 위해 예약됨
14 802.3z에서 특정된 바와 같이 자동-협상 확인응답을 위해 예약됨 1
13 0: 미래의 이용을 위해 예약됨 0: 미래의 이용을 위해 예약됨
12 듀플렉스 모드: 1=전 듀플렉스, 0=반 듀플렉스 0: 미래의 이용을 위해 예약됨
11:10 속도: 비트 11, 10:
11: 예약됨
01=100 Mbps: 1000BASE-TX, 100 BASE-FX
00=10 Mbps: 10BASET, 10BASE2, 10BASE5
10=1 Gbps: 1000BASE-T 등
0: 미래의 이용을 위해 예약됨
9:1 0: 미래의 이용을 위해 예약됨 0: 미래의 이용을 위해 예약됨
0 1 1
표 1: tx_config_reg[15:0]에서 제어 정보의 정의
몇몇 실시예들에서, 인터페이스(400)는 PHY(360)과 MAC 디바이스(350) 간의 IEEE 802.3az 저-전력 유휴 흐름(low-power idle flow) 및 이에 따른 PHY(360) 및 MAC 디바이스(350)에 대한 EEE(Energy Efficient Ethernet) 저 전력 모드를 지원한다. 예를 들어, 전송 PCS 상태 머신(408)은 MAC 디바이스(350)와 PHY(360) 간의 LPI 신호들의 투명한 흐름을 지원하기 위해 LPI 유휴에 대한 특별한 코드 그룹을 적용한다.
모든 8개의 데이터 채널들을 1.25 Gbps로 동작하는 단일 SerDes(예를 들어, 직렬화기(422) 및 역-직렬화기(426)의 결합)로 멀티플렉싱함으로써, 인터페이스(400)(도 5의 기능 블록들을 포함함)는 다른 옥탈(octal)-채널 MII 해결책보다 적은 전력을 이용하고 적은 EMI를 생성한다. 예를 들어, 옥탈 QSGMII는 4개의 채널들의 각각의 그룹에 대해 하나의 SerDes를 포함해서 2개의 SerDes를 요구할 것이며, 각각의 SerDes는 5Gbps에서 동작한다. 옥탈 SGMII는 각각의 채널에 하나씩 8개의 SerDes를 요구할 것이다. 인터페이스(400)는 또한 다른 해결책들보다 더 적은 핀들을 이용하며: 인터페이스(400)는 옥탈 QSGMII에 대한 8개의 핀들 및 옥탈 S3MII에 대한 20개의 핀들에 대조적으로 단지 4개의 핀들(각각의 직렬 데이터 경로에 대해 2개)을 이용한다. (본 명세서에서 이용된 바와 같은 핀 이란 용어는 반도체 패키지를 회로 보드에 전기적으로 연결하는데 이용되는 솔더 볼들, 랜드들 및 임의의 다른 구조들을 포함한다.) S3MII와 달리, 인터페이스(400)는 소스-동기식이 아니며; 인터페이스(400)는 클록 및 데이터 복구를 위해 CDR 기술을 이용한다. 인터페이스(400)는 또한 합당한 트래이스 길이들(예를 들어, 몇몇 실시예들에서 데이터 경로에 대한 3ns/45cm 트래이스들까지) 및 단순/저-비용 보드 설계(예를 들어, 몇몇 실시예들에서 2-층 보드들)를 허용한다. 또한, 인터페이스(400)는 부가적인 채널들을 위해 쉽게 연장될 수 있다.
도 5는 몇몇 실시예들에 따라 미디어 독립적 인터페이스(400)에서 하나의 채널에 대한 기능적 블록의 블록도이다. 도 5에서 도시된 회로는 도 4의 80B/100B 코덱 이전에 그리고 12.5MHz 클록 도메인에서 도시된 회로에 대응한다.
도 6a는 몇몇 실시예들에 따라 미디어 독립적 인터페이스(400)에서 데이터를 인코딩하기 위한 런닝 디스패리티 방식(600)을 예시하는 블록도이다. 런닝 디스패리티 방식(600)은 80B/100B 코덱(416)(도 4)의 몇몇 실시예들에서 이용된다. 10개의 채널들(Ch0-Ch9) 각각에 대해, 8 비트의 데이터(예를 들어, 8-비트 길이 데이터 워드)가 8B/10B 인코더(602)에 제공되는데: Ch0에 대한 8비트의 데이터는 제 1 인코더(602-0)에 제공되고, Ch1에 대한 8 비트의 데이터가 제 2 인코더(602-1)에 제공되는 식이다. 도 6a가 각각의 채널에 대한 별개의 8B/10B 인코더(602)를 도시하지만, 몇몇 실시예들에서, 동일한 8B/10B 인코더(602)가 각각의 채널에 대한 상태 정보의 적절한 저장과 더불어 모든 채널에 대해 이용된다. 각각의 채널에 대한 디스패리티는 다음 채널을 인코딩하는데 있어 이용하기 위해 다음 채널에 제공되며, 이에 따라 런닝 디스패리티를 표현한다. 예를 들어, Ch0에 대한 디스패리티는 Ch1 인코더(602-1)에 제공되고 Ch1에 대한 디스패리티는 Ch2 인코더(602-2)에 제공되는 식이며, Ch9에 대한 디스패리티는 Ch0 인코더(602-0)(예를 들어, 플립-플롭(604)을 통해)에 제공된다. 따라서 마지막 채널(예를 들어, Ch9)의 디스패리티는 제 1 채널(예를 들어, Ch0)에 대한 인코더에 제공된다. 디스패리티는 데이터가 (예를 들어, '1'의 디스패리티 값에 의해 표시된 바와 같이) 0들 보다 더 많은 1들을 갖는지 또는 (예를 들어, '0'의 디스패리티 값에 의해 표시되는 바와 같이) 1들보다 더 많은 0들을 갖는지 표시한다.
도 6b는 몇몇 실시예들에 따라 미디어 독립적 인터페이스(400)에서 데이터를 인코딩하기 위한 다른 런닝 디스패리티 방식(610)을 예시하는 블록도이다. 런닝 디스패리티 방식(610)은 코덱(416)(도 4)의 몇몇 실시예들에서 이용된다. 8개의 데이터 채널들(Ch0-Ch7) 각각에 대해, 8비트의 데이터(예를 들어, 8비트 길이 데이터 워드)가 8B/10B 인코더(602)에 제공되는데: Ch0에 대한 8비트의 데이터가 제 1 인코더(602-0)에 제공되고, Ch1에 대한 8비트의 데이터가 제 2 인코더(602-1)에 제공되는 식이다. 인코더들(602-0 내지 602-7)은 8개의 데이터 채널들(Ch0 내지 Ch7)에 대한 64B/80B 인코더를 구성한다. 도 6a가 각각의 데이터 채널에 대한 별개의 8B/10B 인코더(602)를 도시하지만, 몇몇 실시예들에서, 동일한 8B/10B 인코더(602)가 각각의 채널에 대한 상태 정보의 적절한 저장과 더불어 모든 채널에 대해 이용된다. 각각의 데이터 채널에 대한 디스패리티는 다음 데이터 채널을 인코딩하는데 있어 이용하기 위해 다음 데이터 채널에 제공된다. (데이터 채널이란 용어는 이 예에서, MII 데이터를 전송하는 것이 아니라 채널 식별 및 정렬을 위해 유휴 심볼들을 대신 전송하는 Ch들(8-9)이 아닌 Ch들(0-7)을 지칭한다.) 예를 들어, Ch0에 대한 디스패리티는 Ch1 인코더(602-1)에 제공되고 Ch1에 대한 디스패리티는 Ch2 인코더(602-2)에 제공되는 식이며, Ch7에 대한 디스패리티는 Ch0 인코더(602-0)(예를 들어, 플립-플롭(604)을 통해)에 제공된다. 마지막 데이터 채널(예를 들어, Ch7)의 디스패리티는 따라서 제 1 데이터 채널(예를 들어, Ch0)에 대한 인코더에 제공된다. 마지막 데이터 채널(예를 들어, Ch7)의 디스패리티는 또한 Ch8 및 Ch9에 대한 멀티플렉서들(612 및 614)에 제공된다. Ch8 및 Ch9에 대한 데이터는 이에 따라 Ch7로부터의 런닝 디스패리티에 따라 대응하는 심볼들을 선택함으로써 생성되는데: 멀티플렉서들(612 및 614)은 Ch7로부터의 런닝 디스패리티에 매칭하도록 Ch8 및 Ch9에 대한 출력 심볼을 선택한다. 이는 모든 채널들(Ch0-Ch9)에 대한 데이터가 함께 멀티플렉싱될 때 디스패리티가 정정된다는 것을 보장하면서 도 6a에 비해 런닝 디스패리티 체인에 따른 전파 지연을 감소시키고 설계를 단순하게 한다. 몇몇 실시예들에서, Ch8 및 Ch9 중 하나 또는 둘 다와 연관되는 이용 가능한 유휴 심볼들은 레지스터 세팅에 의해 특정될 수 있다. 예를 들어, Ch8은 K28.3을 전송하는 것으로서 도 6b에서 도시되지만, 다른 심볼(예를 들어, K28.7)을 전송하도록 (예를 들어, 레지스터 비트를 세팅함으로써) 구성될 수 있다. 유휴 심볼들은 심볼 경계들의 적절한 정렬을 허용하도록 선택된다.
몇몇 실시예들에서, 인터페이스(400)(도 4)와 같은 미디어 독립적 인터페이스는 예를 들어, 다수의 각각의 프로토콜들에 대응하는 다중 모드들로 동작하도록 구성 가능하다. 예를 들어, MII는 제 1 모드에서 도 4 내지 도 6b에 관하여 설명된 바와 같이 동작하도록 구성될 수 있다. 제 2 모드에서, 동일한 MII가 QSCMII 프로토콜에 따라 동작하도록 구성된다. 예를 들어, 4개의 채널들(예를 들어, Ch0-Ch3)의 제 1 그룹에 대한 직렬화된 데이터가 제 1 직렬 데이터 경로 상에서 전송 및 수신되고 4개의 채널들(예를 들어, Ch4-Ch7)의 제 2 그룹에 대한 직렬화된 데이터가 제 2 직렬 데이터 경로 상에서 전송되고 수신된다. 제 3 모드에서, 동일한 MII가 SGMII 프로토콜에 따라 동작하도록 구성된다. 예를 들어, 데이터 채널들(예를 들어, Ch0-Ch7 또는 그의 서브세트)(의 서브세트) 각각에 대한 직렬화된 데이터는 각각의 직렬 데이터 경로 상에서 전송되고 수신된다. 몇몇 실시예들에서, 각각의 직렬 데이터 경로는 데이터를 전송하기 위한 제 1 차동 쌍(예를 들어, 저-전압 차동 시그널링 쌍) 및 데이터를 수신하기 위한 제 2 차동 쌍(예를 들어, 저-전압 차동 시그널링 쌍)을 포함한다. 몇몇 실시예들에서, 모드는 인터페이스에 커플링되는 구성 레지스터(예를 들어, 도 7b 내지 도 7c에서 예시된 바와 같은 구성 레지스터(740))의 하나 이상의 모드 비트들을 이용하여 세팅된다.
몇몇 실시예들에서, 인터페이스(예를 들어, 아래의 도 7a에서 인터페이스(700))는 단일 인터페이스(400)(도 4), 단일 QSGMII 인터페이스, 듀얼 QSGMII 인터페이스, 단일 QSGMII 인터페이스 및 1-4 QSGMII 인터페이스들 및 1-8 QSGMII 인터페이스들로서 상이한 모드들에서 구성 가능하다.
도 7a는 몇몇 실시예들에 따라 모드-구성 가능한 미디어 독립적 인터페이스(700)의 블록도이다. MII(700)는 4개의 데이터 채널들(Ch0-Ch3)의 제 1 그룹에 대한 기능 블록들(702-1), 4개의 데이터 채널들(Ch4-Ch7)의 제 2 그룹에 대한 기능 블록들(702-2), 및 채널 식별 및 정렬을 위해 유휴 심볼들을 전송 및 수신하기 위해 이용되는 부가적인 2개의 채널들(Ch8-Ch9)에 대한 기능 블록들(704)을 포함한다. (대안적으로, 부가적인 2개의 채널들 중 하나 또는 둘 다는 부가적인 데이터 채널들이다.)
인터페이스(400)(도 4)에 대응하는 제 1 모드에서, 8개의 채널들(Ch0-Ch7)에 대한 전송 데이터는 기능적인 블록들(702-1 및 702-2)에 의해, 데이터를 인코딩하는 80B/100B 코덱(706)에 제공된다. Ch8 및 Ch9에 대한 유휴 심볼들은 기능 블록(704)에 의해, 이들을 또한 인코딩하는 80B/100B 코덱(706)에 제공된다. Ch0-Ch3에 대한 40비트들, Ch4-Ch7에 대한 40비트들 및 Ch8-Ch9에 대한 20비트들을 포함하는 인코딩된 데이터(유휴 심볼들을 포함함)는 mux(420) 및 demux(424)(도 4)의 결합에 대응하는 100B/10B mux/demux(716)에 제공된다. (mux들/demux들(714-1 및 714-2)은 또한 Ch0-Ch3 및 Ch4-Ch7에 대한 각각의 인코딩된 데이터를 수신하지만, 제 1 모드에서 디스에이블된다.) mux/demux(716)은 Ch0 내지 Ch9 각각에 대한 인코딩된 10비트 길이 데이터를 차례로 모드 mux/demux(718)에 포워딩하기 위해 제 1 모드에서 구성된다. 모드 mux/demux(718)은 몇몇 실시예들에 따라 도 7b에서 예시된 바와 같이 100B/10B mux/demux(716)로부터 제 1 SerDes(730)로 데이터를 포워딩하기 위해 제 1 모드에서 구성된다. 제 1 SerDes(730)는 데이터를 직렬화하고 이 데이터를 제 1 직렬 데이터 경로로 전송한다. mux/demux(714-1)에 커플링된 제 2 SerDes(732)(도 7b)는 제 1 모드에서 디스에이블된다.
또한 제 1 모드에서, 10개의 채널들(Ch0-Ch9)에 대한 직렬화된 수신 데이터(유휴 심볼들을 포함함)는 데이터를 역-직렬화하고 역-직렬화된 10비트 길이 데이터를 모드 mux/demux(718)에 포워딩하는 제 1 SerDes(730)(도 7b)에서 수신된다. 모드 mux/demux(718)는 역직렬화된 데이터를 디멀티플렉싱(demux)하고 디멀티플렉싱된 100비트 길이 데이터를 포워딩하도록 제 1 모드에서 구성되는 100B/10B mux/demux(716)로 역-직렬화된 데이터를 포워딩하도록 제 1 모드에서 구성된다. (단순함을 위해 도 7a에서 도시되지 않은 데이터 검출기(428) 및 카운터(430)는 도 4에 관하여 설명된 바와 같이 기능한다.) 100B/10B mux/demux(716)에 커플링되는 제 1 입력들을 갖는 mux들(712-1 및 712-2)은 100B/10B mux/demux(716)로부터 코덱(706)으로 데이터를 포워딩하도록 제 1 모드에서 구성된다. 100B/10B mux/demux(716)는 또한 Ch8 및 Ch9에 대한 인코딩된 유휴 심볼들을 코덱(706)으로 포워딩한다. 코덱(706)은 데이터를 디코딩한다. 디코딩된 데이터 및 유휴 심볼들은 기능 블록들(702-1, 702-2 및 704)에 제공된다.
제 1 모드에서, 코덱(706)과 mux/demux(716) 간에 통신되는 데이터는 이에 따라 제 1 폭(예를 들어, 100비트 길이)을 갖고, mux/demux(716)와 제 1 SerDes(730)(도 7b) 간에 통신되는 데이터는 제 2 폭(예를 들어, 10 비트 길이)을 갖는다. mux/demux(716)는 제 1 폭의 데이터(예를 들어, 100비트 길이 데이터)를 제 2 폭의 데이터(예를 들어, 10비트 길이 데이터)로 멀티플렉싱하고 제 2 폭의 데이터(예를 들어, 10비트 길이 데이터)를 제 1 폭의 데이터(예를 들어, 100비트 길이 데이터)로 디멀티플렉싱한다.
몇몇 실시예들에서, 제 1 SerDes(730)(도 7b)는 제 1 모드에서 1.25GBps로 동작하고; mux/demux(718)은 제 1 모드에서 125MHz로 동작하고; 기능 블록들(702-1, 702-2 및 704), 코덱(706) 및 mux들(712-1 및 712-2)은 12.5MHz로 동작한다. 코덱(706)에 커플링되는 mux/demux(716)의 입력들 및 출력은 12.5MHz로 동작하는 반면에, 모드 mux/demux(718)에 커플링되는 mux/demux(716)의 입력 및 출력은 125MHz로 동작한다. 몇몇 실시예들에서, 이들 클록들은 구성 가능한 클록 생성 로직에 의해 제공된다.
몇몇 실시예들에서 QSGMII 프로토콜에 대응하는 제 2 모드에서, 8개의 채널들(Ch0-Ch7)에 대한 전송 데이터는 기능 블록들(702-1 및 702-2)에 의해, 데이터를 인코딩하는 코덱(706)에 제공된다. 예를 들어, 코덱(706)의 제 1 32B/40B 코덱(710-1)은 Ch0-3에 대한 전송 데이터를 인코딩하고 코덱(706)의 제 2 32B/40B 코덱(710-2)은 Ch4-7에 대한 전송 데이터를 인코딩한다. Ch0-Ch3에 대한 인코딩된 데이터(예를 들어, 40비트들)는 40B/20B mux/demux(714-1)에 제공되고, Ch4-Ch7에 대한 인코딩된 데이터(예를 들어, 40비트들)는 40B/20B mux/demux(714-2)에 제공된다. (100B/10B mux/demux(716)는 또한 Ch0-Ch7에 대한 인코딩된 데이터를 수신하지만 제 2 모드에서 디스에이블된다.) mux/demux(714-2)는 Ch4-Ch7에 대한 인코딩된 데이터를, 데이터를 직렬화하고 그 데이터를 제 1 직렬 데이터 경로로 전송하는 제 1 SerDes(730)(도 7b)에 포워딩하도록 제 2 모드에서 구성되는 모드 mux/demux(718)로 Ch4-Ch7에 대한 인코딩된 데이터를 포워딩하도록 제 2 모드에서 구성된다. mux/demux(714-1)는 데이터를 직렬화하고 그 데이터를 제 2 직렬 데이터 경로로 전송하는 제 2 SerDes(732)(도 7b)로 Ch0-Ch3에 대한 인코딩된 데이터를 포워딩하도록 제 2 모드에서 구성된다.
또한 제 2 모드에서, Ch4-Ch7에 대한 직렬화된 수신 데이터는 데이터를 역-직렬화하고 역-직렬화된 데이터를 모드 mux/demux(718)에 포워딩하는 제 1 SerDes(730)(도 7b)에서 수신된다. 모드 mux/demux(718)은 역-직렬화된 데이터를 40B/20B mux/demux(714-2)에 포워딩하도록 제 2 모드에서 구성된다. 모드 mux/demux(718)는 이에 따라 제 2 모드에서 제 1 SerDes(730)(도 7b)에 mux/demux(714-2)를 커플링하고 제 1 모드에서 제 1 SerDes(730)(도 7b)에 mux/demux(716)을 커플링한다.
Ch0-Ch3에 대한 직렬화된 수신 데이터는, 데이터를 역-직렬화하고 역-직렬화된 데이터를 40B/20B mux/demux(714-1)에 포워딩하는 제 2 SerDes(732)(도 7b)에서 수신된다. 40B/20B mux들/demux들(714-1 및 714-2)은 데이터를 mux들(712-1 및 712-2)의 각각의 제 2 입력들에 포워딩한다. mux들(712-1 및 712-2)은 40B/20B mux들/demux들(714-1 및 714-2)로부터 코덱(706)으로 데이터를 포워딩하도록 제 2 모드에서 구성된다. 코덱(706)은 데이터를 디코딩하는데: 예를 들어, 코덱(706)의 제 1 32B/40B 코덱(710-1)은 Ch0-3에 대한 수신 데이터를 디코딩하고 코덱(706)의 제 2 32B/40B 코덱(710-2)은 Ch4-7에 대한 수신 데이터를 디코딩한다. 디코딩된 데이터는 기능 블록들(702-1 및 702-2)에 제공된다.
제 2 모드에서, 코덱(706)과 mux들/demux들(714-1 및 714-2) 간에 통신된 데이터는 이에 따라 제 3 폭(예를 들어, 40비트 길이)을 갖고, mux들/demux들(714-1 및 714-2)과 제 1 및 제 2 SerDes(730 및 732)(도 7b)간에 통신된 데이터는 제 4 폭(예를 들어, 20비트 길이)을 갖는다. mux들/demux들(714-1 및 714-2)은 제 3 폭의 데이터(예를 들어, 40비트 길이 데이터)를 제 4 폭의 데이터(예를 들어, 20비트 길이 데이터)로 멀티플렉싱하고, 제 4 폭의 데이터(예를 들어, 20비트 길이 데이터)를 제 3 폭의 데이터(예를 들어, 40비트 길이 데이터)로 디멀티플렉싱한다.
몇몇 실시예들에서, Ch8 및 Ch9은 제 2 모드에서 디스에이블된다. 몇몇 실시예들에서, 4개의 채널들의 각각의 그룹의 제 1 채널(예를 들어, Ch0 및 Ch4)은 k28.1 스와퍼 심볼(swapper symbol)(이는 제 1 모드에서 디스에이블될 수 있음)을 적용한다.
몇몇 실시예들에서, 4개의 채널들(예를 들어, Ch0-3 또는 Ch4-7)의 그룹이 제 2 모드에서 디스에이블된다. 대응하는 기능 블록(702-1 또는 702-2) 및 SerDes(예를 들어, 제 1 또는 제 2 Serdes(730 또는 732), 도 7b)는 디스에이블된 기능 블록을 디스에이블된 Serdes에 커플링하는 회로와 함께 디스에이블된다. 예를 들어, 인터페이스(700)는 4개의 채널들에 대한 단일의 QSGMII 인터페이스로서 작동하도록 구성된다.
몇몇 실시예들에서, 제 1 및 제 2 SerDes(730 및 732)(도 7b)는 제 2 모드에서 5Gbps로 동작한다. 제 1 SerDes(730)는 이에 따라 다수의 속도들(예를 들어, 제 1 모드에서 1.25Gbps 및 제 2 모드에서 5Gbps)로 동작하도록 구성 가능하다. 기능 블록들(702-1, 702-2 및 704), 코덱(706), 및 mux들(712-1 및 712-2)은 125MHz로 동작한다. 코덱(706)에 커플링되는 mux들/demux들(714-1 및 714-2)의 입력들 및 출력들은 125MHz로 동작하는 반면에, 제 1 또는 제 2 SerDes(730 또는 732)에 커플링되는 mux들/demux들(714-1 및 714-2)의 입력들 및 출력들은 250MHz로 동작한다. 이에 따라, 몇몇 실시예들에 따라 코덱(706)과 mux들/demux들(714-1 및 714-2) 간의 통신들은 40비트 길이인 반면에, mux들/demux들(714-1 및 714-2)과 SerDes(730 또는 732) 간의 통신은 20비트 길이이지만, 2배의 클록 레이트이다.
몇몇 실시예들에서 SGMII 프로토콜에 대응하는 제 3 모드에서, 각각의 채널들에 대한 데이터는 각각의 직렬 데이터 경로들을 통해 전송 및 수신되어서, 각각의 직렬 데이터 경로는 특정한 채널에 대응한다. 8개의 채널들(Ch0-Ch7)에 대한 전송 데이터는 기능 블록들(702-1 및 702-2)에 의해, 데이터를 인코딩하는 코덱(706)에 제공된다. 예를 들어, 코덱(706) 내의 별개의 8B/10B 코덱(예를 들어, 코덱들(708-1 및 708-2)을 포함함)은 Ch0-Ch7 각각에 대한 전송 데이터를 인코딩한다. Ch0-Ch3에 대한 인코딩된 데이터(예를 들어, 40비트들)는 40B/20B mux/demux(714-1)에 제공되고 Ch4-Ch7에 대한 인코딩된 데이터(예를 들어, 40비트들)은 40B/20B mux/demux(714-2)에 제공된다. 제 3 모드에서, mux들/demux들(714-1 및 714-2)은 (예를 들어, 4개의 SGMII 채널들 각각에 대한 10비트들의 통과를 표시하는, 도 7a의 표기(10B/SGMIP*4)에 의해 표시되는 바와 같이) 채널들 각각에 대해 10-비트 데이터를 통과시키도록 구성된다. mux들/demux들(714-1 및 714-2) 각각은 몇몇 실시예들에 따라 도 7c에서 예시된 바와 같이 4개의 SerDes에 커플링되고 각각의 SerDes에 각각의 채널들에 대한 10-비트 데이터를 통과시키도록 구성된다. 예를 들어, mux/demux(714-2)는 제 1 SerDes(730) 및 3개의 다른 SerDes(734)에 커플링되고 mux/demux(714-1)은 제 2 SerDes(732) 및 3개의 다른 SerDes(734)에 커플링된다. (제 2 SerDes(732) 및 모든 SerDes(734)는 제 1 모드에서 디스에이블되고, 모든 SerDes(734)는 제 2 모드에서 디스에이블된다.)
몇몇 실시예들에서, 100B/10B mux/demux(716)는 제 3 모드에서 디스에이블된다. mux/demux(714-2)는 모드 mux/demux(718)를 통해 그의 4개의 SerDes(730 및 734)에 커플링되고, 그 모드 mux/demux(718)는 Ch4-Ch7에 대한 인코딩된 데이터를 이들 4개의 SerDes로 포워딩하도록 제 3 모드에서 구성된다. 각각의 SerDes는 그 각각의 채널에 대한 데이터를 직렬화하고 그 데이터를 각각의 직렬 데이터 경로로 전송한다.
또한, 제 3 모드에서, 각각의 채널들에 대한 직렬화된 수신 데이터는 데이터를 역-직렬화하고 역-직렬화된 데이터를 mux들/demux들(714-1 및 714-2)에 포워딩하는 각각의 SerDes(730, 732 및/또는 734)(도 7c)에서 수신된다. mux/demux(714-2)에 대해, 역-직렬화된 데이터는, mux/demux(716)가 아니라 mux/demux(714-2)에 역-직렬화된 데이터를 포워딩하도록 제 3 모드에서 구성되는 모드 mux/demux(718)을 통해 포워딩된다. mux들(712-1 및 712-2)은 mux들/demux들(714-1 및 714-2)로부터 코덱(706)으로 데이터를 포워딩하도록 제 3 모드에서 구성된다. 코덱(706)은 데이터를 디코딩하는데: 예를 들어, 코덱(706) 내의 별개의 8B/10B 코덱들(예를 들어, 코덱들(708-1 및 708-2)을 포함함)은 Ch0-Ch7 각각에 대한 수신 데이터를 디코딩한다. 디코딩된 데이터는 기능 블록들(702-1 및 702-2)에 제공된다.
몇몇 실시예들에서, Ch8 및 Ch9는 제 3 모드에서 디스에이블된다.
몇몇 실시예들에서, 제 1 및 제 2 SerDes(730 및 732)(도 7c)는 제 3 모드에서 1.25Gbps로 동작한다. 제 2 SerDes(732)는 이에 따라 다수의 속도들(예를 들어, 제 3 모드에서 1.25Gbps 및 제 2 모드에서 5Gbps)에서 동작하도록 구성 가능하다. 제 1 SerDes(730)는 또한 다수의 속도들(예를 들어, 위에서 논의된 바와 같음)로 동작하도록 구성 가능하다. 그러나 다른 SerDes(734)는 제 3 모드에서만 이용되고, 이에 따라 몇몇 실시예들에서, 다수의 속도들로 동작하도록 구성 가능하지 않다(예를 들어, 이들은 1.25Gbps로만 동작함). 기능 블록들(702-1, 702-2 및 704), 코덱(706), mux들(712-1 및 712-2), mux들/demux들(714-1 및 714-2)은 예를 들어, 125MHz로 동작한다. 기능 블록들(702-1, 702-2 및 704) 및 코덱(706)은 이에 따라 몇몇 실시예들에 따라 다수의 클록 레이트들(예를 들어, 제 1 모드에서 12.5MHz 및 제 2 및 제 3 모드들에서 125MHz)로 동작하도록 구성 가능하다.
몇몇 실시예들에서, 인터페이스(700)는 제 2 및 제 3 모드들을 결합하는 제 4 모드에서 구성 가능하다. 4개의 채널들(예를 들어, Ch0-3 또는 Ch4-7)은 제 2 모드에서 구성되고, 잔여 채널들 중 일부 또는 모두 다는 제 3 모드에서 구성된다. 예를 들어, 인터페이스(700)는 단일의 QSGMII 인터페이스 및 1-4 SGMII 인터페이스들로서 작동하도록 제 4 모드에서 구성 가능하다.
도 8은 몇몇 실시예들에 따라, 도 7a의 미디어 독립적 인터페이스에서 채널에 대한 기능적 블록(800)의 블록도이다. 기능 블록(800)의 엘리먼트들은 도 4 및 도 5의 대응하는 엘리먼트들에 대해 설명된 바와 같이 기능하지만, 다수의 클록 레이트들로 동작하도록 구성 가능하다. 예를 들어, 수신 레이트 어댑터(802), 전송 레이트 어댑터(804), PCS 수신 상태 머신(806), 자동-협상 회로(808), PCS 전송 상태 머신(810), 및 동기화 블록(812)은 제 1 모드에서 제 1 작동 클록(예를 들어, 12.5MHz) 및 제 2 및/또는 제 3 모드들에서 제 2 작동 클록(예를 들어, 125MHz)으로 동작하도록 구성 가능하다. 주어진 모드에서, 수신 레이트 어댑터 블록(802) 및 전송 레이트 어댑터 블록(804)은 그 모드에서 수용될 수 있는 최대 레이트보다 더 느린 신호들에 대한 레이트 적응을 수행한다. 그러나 이 최대 레이트는 모드마다 변경될 수 있다. 일 예에서, 제 1 모드의 채널은 10Mbps 또는 100Mbps의 신호들을 수용할 수 있다. 전송 레이트 어댑터(802)는 프레임들을 복제함으로써 입력 신호들로서 제공된 10Mbps 프레임들을 늘리지만, 100Mbps 프레임들을 늘리지 않는다. 그러나 제 2 및 제 3 모드들에서, 채널은 10Mbps, 100Mbps 또는 1Gbps의 신호들을 수용할 수 있다. 전송 레이트 어댑터(804)는 프레임들을 복제함으로써 입력 신호들로서 제공된 10 또는 100Mbps 프레임들을 늘리지만, 1Gbps 프레임들을 늘리지 않는다. 이에 따라 주어진 레이트(예를 들어, 100Mbps)의 프레임들은 일 모드(예를 들어, 제 2 또는 제 3 모드)에서 연장되지만 다른 모드(예를 들어, 제 1 모드)에서 연장되지 않을 수 있다. 유사하게, 수신 레이트 어댑터(802)는 제 1 모드에서 10Mbps 출력들에 대한 출력 프레임들을 단축하지만 100Mbps 출력들에 대해서는 단축하지 않고, 제 2 및 제 3 모드들에서 10 또는 100Mbps에 대한 출력 프레임들을 단축하지만 1Gbps 출력들에 대해서 단축하지 않는다. 주어진 레이트의 프레임들은 이에 따라 일 모드(예를 들어, 제 2 또는 제 3 모드)에서 단축되지만 다른 모드(예를 들어, 제 1 모드)에서 단축되지 않을 수 있다.
도 9는 몇몇 실시예들에 따라 미디어 독립적 인터페이스(700)(도 7a)에서 데이터를 인코딩하기 위해 구성 가능한 런닝 디스패리티 방식(900)을 예시하는 블록도이다. 런닝 디스패리티 방식(700)은 코덱(706)(도 7a)에서 구현되고, 도 6b에 관해 설명된 바와 같이 Ch0-7에 대한 8B/10B 인코더(602-0 내지 602-7) 및 Ch8-9에 대한 mux들(612 및 614)을 포함한다. 다중-모드 구성력을 구현하기 위해 mux들(902 및 908)은 Ch7에 대한 인코더(602-7)의 디스패리티 출력과 플립-플롭(604)의 입력 간에 커플링되며, 플립-플롭(604)의 출력은 Ch0에 대한 인코더(602-0)의 디스패리티 입력에 커플링된다. 또한 인코더(602-7)의 디스패리티 출력은 플립-플롭(904)의 입력에 커플링된다. 플립 플롭(904)의 출력 및 인코더(602-3)의 디스패리티 출력은 mux(906)의 각각의 입력들에 커플링되며, mux(906)의 출력은 인코더(602-4)의 디스패리티 입력에 커플링된다.
제 1 모드에서, mux들(902, 906 및 908)은 디스패리티 방식(900)이 디스패리티 방식(610)(도 6b)으로서 기능하도록 구성된다. mux들(902 및 908)은 인코더(602-7)에 의해 출력된 바와 같은 Ch7로부터의 런닝 디스패리티를, 플립-플롭(604)을 통해 Ch0 인코더(602-0)에 제공하도록 구성된다. mux(906)는 인코더(602-3)에 의해 출력된 바와 같은 Ch3으로부터의 런닝 디스패리티를 Ch4 인코더(602-4)에 제공하도록 구성된다. 인코더들(602-0 내지 602-7) 및 mux들(612 및 614)의 10B 출력들은 예를 들어, 100B/10B mux/demux(716)(도 7a)에 제공된다. 이 구성에서, Ch0-Ch7에 대한 전송 데이터는 이에 따라 Ch0-Ch7에 대한 런닝 디스패리티에 따라 인코딩된다. Ch0-3은 제 1 복수의 채널들로 고려될 수 있고, Ch4-7은 제 2 복수의 채널들로 고려될 수 있고; 제 1 및 제 2 복수의 채널들에 대한 전송 데이터는 이에 따라 이 구성에서 제 1 및 제 2 복수의 채널들에 대한 런닝 디스패리티에 따라 인코딩된다.
제 2 모드(예를 들어, QSGMII 모드)에서, mux들(902 및 908)은 인코더(602-3)에 의해 출력된 바와 같은 Ch3으로부터의 런닝 디스패리티를, 플립-플롭(604)을 통해 Ch0 인코더(602-0)에 제공하도록 구성된다. 이 구성에서, 인코더들(602-0 내지 602-3)은 32B/40B 인코더(예를 들어, 인코더(710-1), 도 7a)를 구성한다. 인코더들(602-0 내지 602-3)의 10B 출력들은 예를 들어, 40B/20B mux/demux(714-1)(도 7a)에 제공된다. mux(906)는 인코더(602-7)에 의해 출력되고 플립-플롭(904)을 통해 수신된 바와 같은 Ch7로부터의 런닝 디스패리티를 Ch4 인코더(602-4)에 제공하도록 구성된다. 인코더들(602-4 내지 602-7)은 이에 따라 다른 32B/40B 인코더(예를 들어, 인코더(710-2), 도 7a)를 구성한다. 인코더들(602-4 내지 602-7)의 10B 출력들은 예를 들어, 40B/20B mux/demux(714-2)(도 7a)에 제공된다. 몇몇 실시예들에서, mux들(612 및 614)은 제 2 모드에서 디스에이블된다. 이 구성에서, Ch0-Ch3에 대한 전송 데이터는 이에 따라 Ch0-Ch3에 대한 런닝 디스패리티에 따라 인코딩되고, Ch4-Ch7에 대한 전송 데이터는 Ch4-Ch7에 대한 런닝 디스패리티에 따라 인코딩된다. Ch0-3은 제 1 복수의 채널들로 고려될 수 있고 Ch4-7은 제 2 복수의 채널들로 고려될 수 있으며; 제 1 복수의 채널들에 대한 전송 데이터는 이에 따라 제 1 복수의 채널들에 대한 런닝 디스패리티에 따라 인코딩되고, 제 2 복수의 채널들에 대한 전송 데이터는 이에 따라 이 구성에서 제 2 복수의 채널들에 대한 런닝 디스패리티에 따라 인코딩된다.
제 3 모드(예를 들어, SGMII 모드)에서, mux(908)는 인코더(602-0)에 의해 출력된 바와 같은 Ch0에 대한 디스패리티를, 플립-플롭(604)을 통해 인코더(602-0)로 피드백하도록 구성된다. 유사하게, 다른 채널들 각각에 대한 등가의 mux들 및 플립-플롭들(가시적인 단순함을 위해 도 9에서 도시되지 않음)은 그들의 각각의 채널의 인코더(602)에 그들의 각각의 채널에 대한 디스패리티를 피드백한다. 인코더들(602) 각각은 이에 따라 이 구성에서 독립적인 8B/10B 인코더(예를 들어, 인코더(708-1 또는 708-2), 도 7a)로서 작동하며, Ch0-Ch7 각각에 대한 전송 데이터는 독립적으로 인코딩된다. 인코더들(602-0 내지 602-7)의 10B 출력들은 예를 들어, 도 7a에 관하여 설명된 "10B/SGMIP*4" 통과 구성을 갖는 mux들/demux들(714-1)에 제공된다. 몇몇 실시예들에서, mux들(612 및 614)은 제 3 모드에서 디스에이블된다.
디스패리티 방식(900)은 이에 따라 제 1, 제 2, 제 3 및/또는 제 4 모드들 중 임의의 모드에 대해 구성 가능하다.
도 10은 몇몇 실시예들에 따라 구성 가능한 미디어 독립적 인터페이스를 동작하는 방법(1000)을 예시하는 흐름도이다. 방법(1000)에서, 미디어 독립적 인터페이스(예를 들어, 도 7a의 인터페이스(700))는 제 1 모드, 제 2 모드 및 제 3 모드(예를 들어, 도 7a 내지 도 7c에 관하여 설명된 제 1, 제 2 및 제 3 모드들)을 포함하는 복수의 모드들 중 하나에서 구성된다(1002).
제 1 모드에서, 제 1 복수의 채널들(예를 들어, Ch0-Ch3) 및 제 2 복수의 채널들(예를 들어, Ch4-Ch7) 둘 다에 대한 전송 데이터는 제 1 및 제 2 복수의 채널들에 대한 런닝 디스패리티에 따라 인코딩된다(1004). 예를 들어, Ch0-Ch7에 대한 전송 데이터는 디스패리티 방식(900)(도 9)에 따라 인코딩되며, mux(906)는 Ch3으로부터의 런닝 디스패리티를 Ch4에 대한 인코더(602-4)에 제공하도록 구성되고, mux들(902 및 908)은 Ch7로부터의 런닝 디스패리티를 Ch0에 대한 인코더(602-0)에 제공하도록 구성된다.
제 1 복수의 채널들 및 제 2 복수의 채널들에 대한 전송 데이터는 함께 멀티플렉싱되고 직렬화된 출력으로 직렬화된다(1010). 예를 들어, mux/demux(716)(도 7a 내지 도 7c)는 Ch0-Ch7에 대한 인코딩된 데이터를 멀티플렉싱하고 제 1 SerDes(730)(도 7b 내지 도 7c)의 직렬화기는 직렬화된 출력들로 멀티플렉싱된 데이터를 직렬화한다.
또한 제 1 모드에서, 직렬화된 입력은 역-직렬화되고 제 1 및 제 2 복수의 채널들에 대한 수신 데이터로 디멀티플렉싱된다(1016). 예를 들어, 제 1 SerDes(730)(도 7b-도 7c)의 역-직렬화기는 직렬화된 입력을 역-직렬화하고 mux/demux(716)(도 7a 내지 도 7c)는 역-직렬화된 입력을 Ch0-Ch7에 대한 인코딩된 수신 데이터로 디멀티플렉싱한다.
제 1 모드의 몇몇 실시예들에서, 제 3 복수의 채널들(예를 들어, Ch8-9)에 대한 유휴 심볼들은 제 1 및 제 2 복수의 채널들에 대한 전송 데이터로 (예를 들어, mux/demux(716)에 의해, 도 7a 내지 도 7c) 함께 멀티플렉싱되고 직렬화된 출력(예를 들어, 제 1 SerDes(730)의 직렬화기에 의해, 도 7b 내지 도7c)으로 직렬화된다.
제 2 모드에서, 제 1 복수의 채널들에 대한 전송 데이터는 제 1 복수의 채널들에 대한 런닝 디스패리티에 따라 인코딩된다(1006). 제 2 복수의 채널들에 대한 전송 데이터는 제 2 복수의 채널들에 대한 런닝 디스패리티에 따라 인코딩된다(1006). 예를 들어, Ch0-Ch7에 대한 전송 데이터는 디스패리티 방식(900)(도 9)에 따라 인코딩되며, mux(906)는 Ch7로부터의 런닝 디스패리티를 Ch4에 대한 인코더(602-4)에 제공하도록 구성되고, mux들(902 및 908)은 Ch3으로부터의 런닝 디스패리티를 Ch0에 대한 인코더(602-0)로 제공하도록 구성된다.
제 1 복수의 채널들에 대한 전송 데이터는 함께 멀티플렉싱되고 제 1 직렬화된 출력으로 직렬화된다(1012). 예를 들어, mux/demux(714-1)는 Ch0-Ch3에 대한 전송 데이터를 멀티플렉싱하고 제 2 SerDes(732)의 직렬화기는 멀티플렉싱된 전송 데이터를 직렬화한다. 제 2 복수의 채널들에 대한 전송 데이터는 함께 멀티플렉싱되고 제 2 직렬화된 출력으로 직렬화된다(1012). 예를 들어, mux/demux(714-2)는 Ch4-Ch7에 대한 전송 데이터를 멀티플렉싱하고 제 1 SerDes(730)의 직렬화기는 멀티플렉싱된 데이터를 직렬화한다.
또한, 제 2 모드에서, 제 1 직렬화된 입력은 역-직렬화되고 제 1 복수의 채널들에 대한 수신 데이터로 디멀티플렉싱(1018)된다. 예를 들어, 제 1 SerDes(730)의 역-직렬화기는 제 1 직렬화된 입력을 역-직렬화하고 mux/demux(714-2)는 역-직렬화된 데이터를 디멀티플렉싱한다. 제 2 직렬화된 입력은 역-직렬화되고 제 2 복수의 채널들에 대한 수신 데이터로 디-멀티플렉싱된다(1018). 예를 들어, 제 2 SerDes(732)의 역-직렬화기는 제 2 직렬화된 입력을 역-직렬화하고 mux/demux(714-1)는 역-직렬화된 데이터를 디멀티플렉싱한다.
제 2 모드의 몇몇 실시예들에서, 제 3 복수의 채널들(예를 들어, Ch8-Ch9)은 디스에이블된다.
제 3 모드에서, 제 1 및 제 2 복수의 채널들의 각각의 채널들의 전송 데이터는 독립적으로 인코딩된다(1008). 예를 들어, Ch0-Ch7에 대한 전송 데이터는 디스패리티 방식(900)(도 9)에 따라 인코딩되며, mux(908)는 Ch0으로부터의 디스패리티를 Ch0에 대한 인코더(602-0)로 역으로 제공하도록 구성되며, 다른 채널들에 대해서도 마찬가지다.
제 1 및 제 2 복수의 채널들의 각각의 채널들의 전송 데이터는 각각의 직렬화된 출력으로 직렬화된다(1014). 예를 들어, SerDes(730, 732 및 734) 중 일부 또는 모두 다는 Ch0-7의 각각의 것들에 대한 전송 데이터를 직렬화한다.
또한, 제 3 모드에서, 각각의 직렬화된 입력들은 제 1 및 제 2 복수의 채널들의 각각의 채널들에 대한 수신 데이터로 역-직렬화한다(1020). 예를 들어, SerDes(730, 732 및 734) 중 일부 또는 모두 다는 Ch0-7의 각각의 것들에 대한 수신 데이터를 역-직렬화한다.
제 3 모드의 몇몇 실시예들에서, 제 3 복수의 채널들(예를 들어, Ch8-Ch9)이 디스에이블된다.
방법(1000)은 이에 따라 동일한 미디어 독립적 인터페이스가 상이한 프로토콜들에 따라 동작하도록 구성되게 허용한다. 방법(1000)이 특정한 순서로 발생하는 것으로 보이는 다수의 동작들을 포함하지만, 방법(1000)은 직렬로 또는 병렬로 실행될 수 있는 더 많은 또는 더 적은 동작들을 포함할 수 있다는 것이 자명해야 한다. 2개 이상의 동작들의 순서가 변경될 수 있고, 2개 이상의 동작들은 단일의 동작으로 결합될 수 있다. 예를 들어, 주어진 모드에 대한 동작들 중 일부 또는 모두 다는 인터페이스의 동작 동안 진행중인 방식으로 동시에 수행된다.
위의 명세서에서, 본 실시예들은 본 실시예들의 특정한 예시적인 실시예들을 참조하여 설명되었다. 그러나 다양한 수정들 및 변경들이 첨부된 청구항들에서 제시된 바와 같은 본 개시의 더 넓은 사상 및 범위로부터 벗어남 없이 행해질 수 있다는 것이 자명할 것이다. 이에 따라 명세서 및 도면들은 제한적인 의미보단 오히려 예시적인 의미로 간주될 것이다.

Claims (20)

  1. 집적 회로 디바이스에서 구성 가능한 미디어 독립적 인터페이스로서,
    제 1 복수의 채널들 ― 상기 제 1 복수의 채널들의 각각의 채널은 전송 경로를 포함함 ―;
    제 2 복수의 채널들 ― 상기 제 2 복수의 채널들의 각각의 채널은 전송 경로를 포함함 ―;
    제 1 모드에서 상기 제 1 및 제 2 복수의 채널들에 대한 전송 데이터를 직렬화하도록 그리고 제 2 모드에서 상기 제 1 복수의 채널들에 대한 전송 데이터를 직렬화하도록 구성 가능한 제 1 직렬화기; 및
    상기 제 1 모드에서 디스에이블되도록 그리고 상기 제 2 모드에서 상기 제 2 복수의 채널들에 대한 전송 데이터를 직렬화하도록 구성 가능한 제 2 직렬화기를 포함하고,
    상기 제 1 모드는 제 1 프로토콜에 대응하고, 상기 제 2 모드는 제 2 프로토콜에 대응하는,
    미디어 독립적 인터페이스.
  2. 제 1 항에 있어서,
    상기 제 1 및 제 2 복수의 채널들의 각각의 채널은,
    수신 경로
    를 더 포함하고, 그리고
    상기 미디어 독립적 인터페이스는,
    상기 제 1 모드에서 상기 제 1 및 제 2 복수의 채널들에 대한 수신 데이터를 역-직렬화(de-serialize)하도록 그리고 상기 제 2 모드에서 상기 제 1 복수의 채널들에 대한 수신 데이터를 역-직렬화하도록 구성 가능한 제 1 역-직렬화기; 및
    상기 제 1 모드에서 디스에이블되도록 그리고 상기 제 2 모드에서 상기 제 2 복수의 채널들에 대한 수신 데이터를 역-직렬화하도록 구성 가능한 제 2 역-직렬화기
    를 더 포함하는,
    미디어 독립적 인터페이스.
  3. 제 1 항에 있어서,
    상기 제 1 모드에서 유휴 심볼들(idle symbols)을 전송하도록 그리고 상기 제 2 모드에서 디스에이블되도록 구성 가능한 제 3 복수의 채널들
    을 더 포함하는,
    미디어 독립적 인터페이스.
  4. 제 1 항에 있어서,
    상기 제 1 직렬화기는 제 3 모드에서 상기 제 1 복수의 채널들 중 하나의 개별 채널에 대한 데이터를 직렬화하도록 구성 가능하고, 그리고
    상기 미디어 독립적 인터페이스는,
    상기 제 3 모드에서 상기 제 1 복수의 채널들 중 다른 개별 채널들을 직렬화하도록 그리고 상기 제 1 및 제 2 모드들에서 디스에이블되도록 구성 가능한 제 1 부가적인 직렬화기들
    을 더 포함하는,
    미디어 독립적 인터페이스.
  5. 제 4 항에 있어서,
    상기 제 2 직렬화기는 상기 제 3 모드에서 상기 제 2 복수의 채널들 중 하나의 개별 채널에 대한 데이터를 직렬화하도록 구성 가능하고, 그리고
    상기 미디어 독립적 인터페이스는,
    상기 제 3 모드에서 상기 제 2 복수의 채널들 중 다른 개별 채널들을 직렬화하도록 그리고 상기 제 1 및 제 2 모드들에서 디스에이블되도록 구성 가능한 제 2 부가적인 직렬화기들
    을 더 포함하는,
    미디어 독립적 인터페이스.
  6. 제 4 항에 있어서,
    상기 제 1 및 제 2 복수의 채널들의 각각의 채널은 수신 경로를 더 포함하고, 그리고
    상기 미디어 독립적 인터페이스는,
    상기 제 1 모드에서 상기 제 1 및 제 2 복수의 채널들에 대한 수신 데이터를 역-직렬화하도록, 상기 제 2 모드에서 상기 제 1 복수의 채널들에 대한 수신 데이터를 역-직렬화하도록 그리고 상기 제 3 모드에서 상기 제 1 복수의 채널들 중 하나의 개별 채널에 대한 수신 데이터를 역-직렬화하도록 구성 가능한 제 1 역-직렬화기
    를 더 포함하는,
    미디어 독립적 인터페이스.
  7. 제 6 항에 있어서,
    상기 제 1 모드에서 디스에이블되도록, 상기 제 2 모드에서 상기 제 2 복수의 채널들에 대한 수신 데이터를 역-직렬화하도록 그리고 상기 제 3 모드에서 상기 제 2 복수의 채널들 중 하나의 개별 채널에 대한 수신 데이터를 역-직렬화하도록 구성 가능한 제 2 역-직렬화기
    를 더 포함하는,
    미디어 독립적 인터페이스.
  8. 제 4 항에 있어서,
    상기 제 1 모드에서 유휴 심볼들을 전송하도록 그리고 상기 제 2 및 제 3 모드들에서 디스에이블되도록 구성 가능한 제 3 복수의 채널들
    을 더 포함하는,
    미디어 독립적 인터페이스.
  9. 제 1 항에 있어서,
    상기 제 1 및 제 2 복수의 채널들에 대한 전송 데이터를 인코딩하도록, 상기 제 1 및 제 2 직렬화기들에 커플링되는 코덱
    을 더 포함하는,
    미디어 독립적 인터페이스.
  10. 제 9 항에 있어서,
    상기 코덱과 상기 제 1 및 제 2 직렬화기들 간에 통신되는 데이터를 멀티플렉싱 및 디멀티플렉싱하도록, 상기 코덱과 상기 제 1 및 제 2 직렬화기들 간에 커플링된 멀티플렉싱/디멀티플렉싱 회로
    를 더 포함하고,
    상기 제 1 모드에서, 상기 코덱과 상기 멀티플렉싱/디멀티플렉싱 회로 간에통신되는 데이터는 제 1 폭을 갖고, 그리고 상기 코덱과 상기 제 1 직렬화기 간에 통신되는 데이터는 상기 제 1 폭의 단편인 제 2 폭을 갖고, 그리고
    상기 제 2 모드에서, 상기 코덱과 상기 멀티플렉싱/디멀티플렉싱 회로 간에 통신되는 데이터는 제 3 폭을 갖고, 그리고 상기 코덱과 상기 제 1 및 제 2 직렬화기들 간에 통신되는 데이터는 상기 제 3 폭의 단편인 제 4 폭을 갖는,
    미디어 독립적 인터페이스.
  11. 제 10 항에 있어서,
    상기 멀티플렉싱/디멀티플렉싱 회로는,
    상기 코덱에 커플링된 제 1 멀티플렉서/디멀티플렉서;
    상기 코덱에 커플링된 제 2 멀티플렉서/디멀티플렉서; 및
    상기 제 1 모드에서 상기 제 1 직렬화기에 상기 제 1 멀티플렉서/디멀티플렉서를 커플링하고 그리고 상기 제 2 모드에서 상기 제 1 직렬화기에 상기 제 2 멀티플렉서/디멀티플렉서를 커플링하기 위한 제 3 멀티플렉서/디멀티플렉서
    를 포함하는,
    미디어 독립적 인터페이스.
  12. 제 9 항에 있어서,
    상기 코덱은,
    상기 제 1 모드에서, 상기 제 1 및 제 2 복수의 채널들에 대한 런닝 디스패리티(running disparity)에 따라 상기 제 1 및 제 2 복수의 채널들에 대한 전송 데이터를 인코딩하도록, 그리고
    상기 제 2 모드에서, 상기 제 1 복수의 채널들에 대한 런닝 디스패리티에 따라 상기 제 1 복수의 채널들에 대한 전송 데이터를 인코딩하도록 그리고 상기 제 2 복수의 채널들에 대한 런닝 디스패리티에 따라 상기 제 2 복수의 채널들에 대한 전송 데이터를 인코딩하도록
    구성 가능한,
    미디어 독립적 인터페이스.
  13. 제 12 항에 있어서,
    상기 코덱은,
    제 3 모드에서, 상기 제 1 및 제 2 복수의 채널들의 개별 채널들에 대한 전송 데이터를 독립적으로 인코딩하도록 구성 가능한,
    미디어 독립적 인터페이스.
  14. 집적 회로 디바이스에서 구성 가능한 미디어 독립적 인터페이스를 동작하는 방법으로서,
    제 1 모드 및 제 2 모드를 포함하는 복수의 모드들 중 하나에서 상기 미디어 독립적 인터페이스를 구성하는 단계
    를 포함하고,
    상기 제 1 모드에서, 제 1 복수의 채널들 및 제 2 복수의 채널들에 대한 전송 데이터는 함께 멀티플렉싱되고 그리고 직렬화된 출력으로 직렬화되고,
    상기 제 2 모드에서, 상기 제 1 복수의 채널들에 대한 전송 데이터는 함께 멀티플렉싱되고 그리고 제 1 직렬화된 출력으로 직렬화되고, 그리고 상기 제 2 복수의 채널들에 대한 전송 데이터는 함께 멀티플렉싱되고 그리고 제 2 직렬화된 출력으로 직렬화되고,
    상기 제 1 모드는 제 1 프로토콜에 대응하고, 그리고 상기 제 2 모드는 제 2 프로토콜에 대응하는,
    집적 회로 디바이스에서 구성 가능한 미디어 독립적 인터페이스를 동작하는 방법.
  15. 제 14 항에 있어서,
    상기 제 1 모드에서, 직렬화된 입력은 역-직렬화되고 그리고 상기 제 1 및 제 2 복수의 채널들에 대한 수신 데이터로 디-멀티플렉싱되고, 그리고
    상기 제 2 모드에서, 제 1 직렬화된 입력은 역-직렬화되고 그리고 상기 제 1 복수의 채널들에 대한 수신 데이터로 디-멀티플렉싱되고, 그리고 제 2 직렬화된 입력은 역-직렬화되고 그리고 상기 제 2 복수의 채널들에 대한 수신 데이터로 디-멀티플렉싱되는,
    집적 회로 디바이스에서 구성 가능한 미디어 독립적 인터페이스를 동작하는 방법.
  16. 제 15 항에 있어서,
    상기 복수의 모드들은 제 3 모드를 더 포함하고, 그리고
    상기 제 3 모드에서, 상기 제 1 및 제 2 복수의 채널들의 개별 채널들에 대한 전송 데이터는 개별적인 직렬화된 출력들로 직렬화되고, 그리고 개별적인 직렬화된 입력들은 상기 제 1 및 제 2 복수의 채널들의 개별적인 채널들에 대한 수신 데이터로 역-직렬화되는,
    집적 회로 디바이스에서 구성 가능한 미디어 독립적 인터페이스를 동작하는 방법.
  17. 제 14 항에 있어서,
    상기 제 1 모드에서, 제 3 복수의 채널들에 대한 유휴 심볼들은 상기 제 1 및 제 2 복수의 채널들에 대한 전송 데이터와 함께 멀티플렉싱되고 그리고 상기 직렬화된 출력으로 직렬화되고, 그리고
    상기 제 2 모드에서, 상기 제 3 복수의 채널들은 디스에이블되는,
    집적 회로 디바이스에서 구성 가능한 미디어 독립적 인터페이스를 동작하는 방법.
  18. 제 14 항에 있어서,
    상기 제 1 모드에서, 상기 제 1 및 제 2 복수의 채널들에 대한 전송 데이터는 상기 제 1 및 제 2 복수의 채널들에 대한 런닝 디스패리티에 따라 인코딩되고, 그리고
    상기 제 2 모드에서, 상기 제 1 복수의 채널들에 대한 전송 데이터는 상기 제 1 복수의 채널들에 대한 런닝 디스패리티에 따라 인코딩되고, 그리고 상기 제 2 복수의 채널들에 대한 전송 데이터는 상기 제 2 복수의 채널들에 대한 런닝 디스패리티에 따라 인코딩되는,
    집적 회로 디바이스에서 구성 가능한 미디어 독립적 인터페이스를 동작하는 방법.
  19. 제 18 항에 있어서,
    상기 복수의 모드들은 제 3 모드를 더 포함하고, 그리고
    상기 제 3 모드에서, 상기 제 1 및 제 2 복수의 채널들의 개별 채널들에 대한 전송 데이터는 독립적으로 인코딩되는,
    집적 회로 디바이스에서 구성 가능한 미디어 독립적 인터페이스를 동작하는 방법.
  20. 집적 회로 디바이스에서 구성 가능한 미디어 독립적 인터페이스로서,
    제 1 모드에서 제 1 복수의 채널들 및 제 2 복수의 채널들에 대한 전송 데이터를 함께 멀티플렉싱하고, 그리고 제 2 모드에서 개별적으로 상기 제 1 복수의 채널들에 대한 전송 데이터를 멀티플렉싱하고 그리고 상기 제 2 복수의 채널들에 대한 전송 데이터를 멀티플렉싱하기 위한 수단; 및
    상기 제 1 모드에서 상기 제 1 및 제 2 복수의 채널들에 대한 멀티플렉싱된 전송 데이터를 직렬화된 출력으로 직렬화하고, 상기 제 2 모드에서 상기 제 1 복수의 채널들에 대한 멀티플렉싱된 전송 데이터를 제 1 직렬화된 출력으로 직렬화하고, 상기 제 2 모드에서 상기 제 2 복수의 채널들에 대한 멀티플렉싱된 전송 데이터를 제 2 직렬화된 출력으로 직렬화하기 위한 수단을 포함하고,
    상기 제 1 모드는 제 1 프로토콜에 대응하고, 그리고 상기 제 2 모드는 제 2 프로토콜에 대응하는,
    미디어 독립적 인터페이스.
KR1020147029525A 2012-03-23 2012-03-23 구성 가능한 다중-모드 미디어 독립적 인터페이스 KR101760001B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2012/072898 WO2013139033A1 (en) 2012-03-23 2012-03-23 Configurable multi-mode media independent interface

Publications (2)

Publication Number Publication Date
KR20140142306A KR20140142306A (ko) 2014-12-11
KR101760001B1 true KR101760001B1 (ko) 2017-07-20

Family

ID=49221829

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147029525A KR101760001B1 (ko) 2012-03-23 2012-03-23 구성 가능한 다중-모드 미디어 독립적 인터페이스

Country Status (7)

Country Link
US (1) US9425824B2 (ko)
EP (1) EP2828975A4 (ko)
JP (1) JP5882530B2 (ko)
KR (1) KR101760001B1 (ko)
CN (1) CN104221290B (ko)
IN (1) IN2014MN01718A (ko)
WO (1) WO2013139033A1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9450743B1 (en) * 2013-11-26 2016-09-20 Marvell International Ltd. Duplex mode enabling frame header
CN104734998B (zh) * 2013-12-20 2018-11-06 华为技术有限公司 一种网络设备及信息传输方法
DE102015208607A1 (de) * 2015-05-08 2016-11-10 Minimax Gmbh & Co. Kg Gefahrensignalerfassungs- und Löschsteuerzentrale
CN106656872A (zh) * 2015-07-17 2017-05-10 深圳市中兴微电子技术有限公司 混合物理编码子层以及数据发送、接收方法
US10148597B1 (en) * 2016-01-06 2018-12-04 Marvell International Ltd. Systems and methods for providing a compatible backplane operation mechanism for 2.5-gigabit high-speed ethernet
CN107783922A (zh) * 2016-08-31 2018-03-09 深圳市中兴微电子技术有限公司 一种数据编解码方法和装置
US10412673B2 (en) * 2017-05-28 2019-09-10 Mellanox Technologies Tlv Ltd. Power-efficient activation of multi-lane ports in a network element
CN110875796B (zh) * 2018-08-30 2021-02-23 华为技术有限公司 物理层端口通道化的方法和装置
US10970248B2 (en) 2019-05-10 2021-04-06 Achronix Semiconductor Corporation Processing of ethernet packets at a programmable integrated circuit
EP4216516A1 (en) * 2022-01-25 2023-07-26 Schneider Electric Industries SAS Transmitter and receiver module, communication system for exchanging ethernet frames on a single m-lvds line

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7356047B1 (en) 2004-04-24 2008-04-08 Cisco Technology, Inc. 10/100/1000/2500 Mbps serial media independent interface (SGMII)
US8127164B2 (en) 2008-02-12 2012-02-28 Broadcom Corporation System and method for energy savings on a PHY/MAC interface for energy efficient ethernet

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6067585A (en) 1997-06-23 2000-05-23 Compaq Computer Corporation Adaptive interface controller that can operate with segments of different protocol and transmission rates in a single integrated device
US6330248B1 (en) * 1997-12-05 2001-12-11 Advanced Micro Devices, Inc. Arrangement for transmitting data packets from a media access controller across multiple physical links
WO2002030086A1 (en) * 2000-10-04 2002-04-11 Advanced Micro Devices, Inc. Arrangement for converting between a reduced media independent interface data stream and a media independent interface data stream
DE10100363A1 (de) * 2001-01-05 2002-08-01 Infineon Technologies Ag Ethernet-Anpaßvorrichtung
GB2372398B (en) * 2001-02-14 2003-04-23 3Com Corp Automatic detector of media interface protocol type
US7200153B2 (en) * 2001-09-20 2007-04-03 Intel Corporation Method and apparatus for autosensing LAN vs WAN to determine port type
US7362797B2 (en) 2002-03-21 2008-04-22 Broadcom Corporation Physical layer device having an analog SERDES pass through mode
WO2005018120A1 (en) * 2003-08-12 2005-02-24 Teknovus, Inc. Method and apparatus for multiplexing ethernet channels
JP3780419B2 (ja) 2004-03-09 2006-05-31 セイコーエプソン株式会社 データ転送制御装置及び電子機器
US7143218B1 (en) * 2004-08-27 2006-11-28 Xilinx, Inc. Network media access controller embedded in a programmable logic device-address filter
US7304498B2 (en) 2005-07-20 2007-12-04 Altera Corporation Clock circuitry for programmable logic devices
JP4852963B2 (ja) 2005-10-14 2012-01-11 株式会社日立製作所 伝送装置
US7835389B2 (en) 2006-09-20 2010-11-16 Broadcom Corporation Method and system for an extended range Ethernet line code using 4B/3B mapping
US7720068B2 (en) 2006-08-23 2010-05-18 Solarflare Communications, Inc. Method and system for a multi-rate gigabit media independent interface
US7492291B2 (en) 2006-10-20 2009-02-17 Agere Systems Inc. Methods and apparatus for interfacing a plurality of encoded serial data streams to a serializer/deserializer circuit
US8218567B2 (en) * 2007-03-12 2012-07-10 Broadcom Corporation Method and system for reducing transceiver power via a variable signal constellation
CN101309258B (zh) * 2007-05-18 2012-11-21 华为技术有限公司 高速以太网介质无关接口码块的分发和接收方法及装置
US7957391B1 (en) 2007-09-25 2011-06-07 Force 10 Networks, Inc Low overhead aggregation at the physical layer
JP4363477B2 (ja) * 2007-10-09 2009-11-11 沖電気工業株式会社 ネットワークシステム
CN101615912B (zh) 2008-06-26 2011-10-26 中兴通讯股份有限公司 并串转换器及其实现方法
US7995621B2 (en) 2008-10-01 2011-08-09 Nortel Netwoeks Limited Techniques for time transfer via signal encoding
US9071373B2 (en) * 2010-06-01 2015-06-30 Hewlett-Packard Development Company, L.P. Multiplexed serial media independent interface
CN101867430B (zh) 2010-06-21 2013-02-13 王珲 应用于低功耗串行数据传输的复用/解复用装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7356047B1 (en) 2004-04-24 2008-04-08 Cisco Technology, Inc. 10/100/1000/2500 Mbps serial media independent interface (SGMII)
US8127164B2 (en) 2008-02-12 2012-02-28 Broadcom Corporation System and method for energy savings on a PHY/MAC interface for energy efficient ethernet

Also Published As

Publication number Publication date
EP2828975A4 (en) 2015-11-25
WO2013139033A1 (en) 2013-09-26
US9425824B2 (en) 2016-08-23
US20150171892A1 (en) 2015-06-18
EP2828975A1 (en) 2015-01-28
JP2015517242A (ja) 2015-06-18
CN104221290A (zh) 2014-12-17
IN2014MN01718A (ko) 2015-05-29
CN104221290B (zh) 2017-11-07
KR20140142306A (ko) 2014-12-11
JP5882530B2 (ja) 2016-03-09

Similar Documents

Publication Publication Date Title
KR101760001B1 (ko) 구성 가능한 다중-모드 미디어 독립적 인터페이스
US7362797B2 (en) Physical layer device having an analog SERDES pass through mode
CA2561994C (en) 10/100/1000/2500 mbps serial media independent interface (sgmii)
US7721027B2 (en) Physical layer device having a SERDES pass through mode
KR101750053B1 (ko) 레거시 모드들에서 동작하는 기가비트 미디어 독립적인 인터페이스들을 위한 저전력 유휴 시그널링
TW200405964A (en) Protocol independent transmission using a 10 gigabit attachment unit interface
US9843538B2 (en) Multi-chip module with a high-rate interface
KR101695835B1 (ko) 멀티-포트 직렬 미디어 독립 인터페이스
CN201910048U (zh) 一种lvds节点模块
WO2015176303A1 (en) Auto-detection of fiber working modes
Slip et al. Low Latency Custom Configuration Channel Options
Devices Transceiver Protocol Configurations in
Pozniak et al. FPGA based, full-duplex, multi-channel, optical gigabit, synchronous data transceiver for TESLA technology LLRF control system
PHY Transceiver Configurations in Arria V GZ Devices
Serial 10GBASE-R

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right