KR101238622B1 - 통합된 커넥터 아키텍처 - Google Patents

통합된 커넥터 아키텍처 Download PDF

Info

Publication number
KR101238622B1
KR101238622B1 KR1020107016587A KR20107016587A KR101238622B1 KR 101238622 B1 KR101238622 B1 KR 101238622B1 KR 1020107016587 A KR1020107016587 A KR 1020107016587A KR 20107016587 A KR20107016587 A KR 20107016587A KR 101238622 B1 KR101238622 B1 KR 101238622B1
Authority
KR
South Korea
Prior art keywords
host controller
protocol
router
integrated connector
connector port
Prior art date
Application number
KR1020107016587A
Other languages
English (en)
Other versions
KR20100101677A (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 KR20100101677A publication Critical patent/KR20100101677A/ko
Application granted granted Critical
Publication of KR101238622B1 publication Critical patent/KR101238622B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/387Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Abstract

시스템, 장치, 및 방법이 개시된다. 하나의 실시예에서 시스템은 제1 프로토콜을 이용하는 제1 호스트 컨트롤러를 포함한다. 시스템은 또한 제2 프로토콜을 이용하는 제2 호스트 컨트롤러를 포함한다. 시스템은 또한 통합된 커넥터 포트를 포함한다. 마지막으로 시스템은 제1 호스트 컨트롤러, 제2 호스트 컨트롤러, 및 통합된 커넥터 포트에 연결되는 라우터를 포함한다. 라우터는 기능적으로 제1 호스트 컨트롤러로부터의 물리층 패킷을 제1 통합된 커넥터 프로토콜 프레임으로 캡슐화하고 나서, 그 새로운 제1 프레임을 통합된 커넥터 포트에 송신할 수 있다. 라우터는 또한 그것이 제2 호스트 컨트롤러로부터 수신하는 물리층 패킷을 제2 통합된 커넥터 프로토콜 프레임으로 캡슐화하고 나서, 그 제2 프레임을 통합된 커넥터 포트에 송신할 수 있다. 제1 및 제2 프로토콜들은 동일한 프로토콜이 아니다.

Description

통합된 커넥터 아키텍처{UNIFIED CONNECTOR ARCHITECTURE}
본 발명은 컴퓨터 시스템에 걸쳐서 통합된 커넥터 아키텍처의 구현에 관한 것이다.
현재의 컴퓨터 플랫폼 아키텍처는 컴퓨터 플랫폼들과 그 플랫폼들에 연결되어 있는 주변 장치들 사이에 다수의 상이한 유형의 I/O를 구현하는 다양한 호스트 컨트롤러들을 갖는다. 예를 들면, 그래픽 호스트 컨트롤러는 잠재적으로 대응하는 연결 인터페이스들을 갖는 아날로그 및 디지털 포트들을 갖는다(즉, 디스플레이 장치를 컴퓨터 플랫폼에 연결하는 케이블들의 끝에 있는 플러그들). 플랫폼 내의 LAN(local area network) 컨트롤러들은 일반적으로 하나 이상의 이더넷 잭들을 갖는다. USB(Universal Serial Bus) 서브시스템은 다수의 연관된 USB 플러그 인터페이스들을 갖는다. IEEE 1394 파이어와이어(Firewire)도 하나 이상의 플러그 인터페이스들을 가질 수 있다. 주변 장치들을 컴퓨터 플랫폼에 플러그인하는 개별적인 별개의 포트들의 목록 및 연관된 하드웨어 인터페이스들은 계속해서 진행되고 있다. 모든 이러한 인터페이스들 및 대응하는 하드웨어 잭들/플러그들을 갖는 컴퓨터 플랫폼들은 모든 이 하드웨어를 하나의 장소에 두기 위해 많은 양의 마더보드 및 케이스 리얼 에스테이트(real estate)에 대한 상당한 요건을 갖는다. 이것은 모바일 컴퓨터들이 이러한 인터페이스들의 전량(full complement)을 갖는 능력을 제한하였고 다수의 데스크톱 시스템들의 후방 주변 장치 인터페이스 패널도 유감스럽게도 사이즈가 증가하였다.
본 발명은 도면들에 의해 예로서 도시되고 도면들에 의해 제한되지는 않으며, 도면들에서 같은 참조 번호들은 유사한 구성 요소들을 나타낸다.
도 1은 통합된 커넥터 아키텍처의 시스템-레벨 구현의 하나의 실시예를 묘사한다.
도 2는 통합된 커넥터 아키텍처(unified connector architecture; UCA) 라우터 및 수반하는 통합된 커넥터 아키텍처 로직의 하나의 실시예를 묘사한다.
도 3은 개별 그래픽 및 LAN(local area network) 카드들에 대한 통합된 커넥터 아키텍처 슬롯 커넥터의 실시예를 묘사한다.
도 4는 주변 장치로 확장된 통합된 커넥터 아키텍처의 하나의 실시예를 묘사한다.
도 5는 통합된 커넥터 아키텍처 환경에서 데이터 패킷들을 라우팅하는 프로세스의 하나의 실시예의 흐름도이다.
컴퓨터 플랫폼 상에 통합된 커넥터 아키텍처를 구현하는 시스템, 장치, 및 방법의 실시예들이 설명된다. 다음의 설명에서는, 다수의 특정한 상세들이 제시된다. 그러나, 실시예들은 이러한 특정한 상세들 없이 실시될 수 있다는 것은 물론이다. 다른 예들에서, 잘 알려진 구성 요소들, 명세들, 및 프로토콜들은 본 발명을 불명료하게 하는 것을 피하기 위하여 상세히 설명되지 않았다.
도 1은 통합된 커넥터 아키텍처의 시스템-레벨 구현의 하나의 실시예를 묘사한다. 많은 실시예들에서, 시스템은 중앙 처리 장치(CPU)(100)와 같은 하나 이상의 프로세서들을 포함한다. 상이한 실시예들에서, CPU(100)는 하나의 코어 또는 다수의 코어들을 포함할 수 있다. 일부 실시예들에서, 시스템은 프로세서들 각각이 하나의 코어 또는 다수의 코어들을 갖는 멀티프로세서 시스템(도시되지 않음)이다.
CPU(100)는 하나 이상의 고속 링크들(즉, 인터커넥트들(interconnects), 버스들 등)을 통하여 시스템 메모리(102)에 연결된다. 시스템 메모리(102)는 CPU(100)가 프로그램들 및 운영 체제들을 운전하고 실행하기 위해 이용하는 정보를 저장할 수 있다. 상이한 실시예들에서, 시스템 메모리(102)는 DRAM(dynamic random access memory)의 한 형태와 같은 임의의 사용 가능한 유형의 판독 가능하고 기입 가능한 메모리일 수 있다.
일부 실시예들에서, CPU(100)는 또한 추가적인 고속 링크를 통하여 개별 그래픽 컨트롤러(104)에 연결된다. 개별 그래픽 컨트롤러(104)는 슬롯 커넥터를 통하여 마더보드 또는 다른 그러한 인쇄 회로 기판에 물리적으로 연결될 수 있다. 많은 실시예들에서, 개별 그래픽 컨트롤러는 PCI Express? 그래픽 슬롯 커넥터에 플러그인되는 PCI Express? 그래픽 컨트롤러/카드일 수 있다. 이 경우, PCI Express? 그래픽 컨트롤러/카드는 2006년 12월 20일에 발표된 PCI Express? Base Specification, Rev. 2.0과 같은 명세의 개정에 따를 수 있다. 다른 실시예들에서, 개별 그래픽 컨트롤러는 PCI Express? 이외의 프로토콜을 이용한다. 일부 실시예들에서, CPU(100)는 다수의 개별 그래픽 컨트롤러들에 연결된다(다수의 개별 그래픽 컨트롤러들을 갖는 실시예들은 도시되지 않는다).
CPU(100)는 또한 많은 실시예들에서 I/O 콤플렉스(I/O complex)(106)에 연결된다. I/O 콤플렉스(106)는 하나 이상의 I/O 호스트 컨트롤러들을 수납(house)할 수 있는데, 각 I/O 호스트 컨트롤러는 CPU(100)가 컴퓨터 시스템에 부착된 I/O 주변 장치들과 통신하는 것을 허용하는 하나 이상의 I/O 링크들을 제어한다. 디스플레이(108), 디스플레이(110), 및 무선 라우터(112)와 같은 I/O 주변 장치들은 컴퓨터 시스템에 부착될 수 있는 I/O 주변 장치들의 예들이다.
I/O 콤플렉스(106)는 많은 실시예들에서 개별 네트워크 인터페이스 컨트롤러(NIC)(114)에 연결된다. 개별 NIC(114)는 컴퓨터 시스템과 컴퓨터 시스템의 외부의 하나 이상의 네트워크들 사이의 인터페이스를 제공할 수 있다. 이러한 네트워크들은 컴퓨터가 그 안에 위치하는 영역 내의 무선 및 유선 인트라넷 네트워크들과 같은 네트워크들을 포함할 수 있고 또는 그것들은 또한 인터넷 자체를 포함할 수 있다.
많은 실시예들에서, 도 1의 시스템은 하나 이상의 고속 링크에 의해 하나 이상의 통합된 커넥터 포트에 연결되는 통합된 커넥터 아키텍처(unified connector architecture; UCA) 라우터(116)를 포함한다. 여기서는 4개의 통합된 커넥터 포트, 즉, 포트(118), 포트(120), 포트(122), 및 포트(124)가 도시되어 있다. UCA 라우터(116)는 또한 위에서 언급한 바와 같이 하나 이상의 I/O 링크를 통해 I/O 콤플렉스(106)에 연결된다. 이것들은 USB(Universal Serial Bus) 및/또는 임의의 다른 잠재적인 I/O 링크들과 같은 I/O 링크들을 포함한다. 도 1은 3개의 그러한 링크들, 즉, I/O 링크(126), I/O 링크(128), 및 I/O 링크(130)를 도시한다.
많은 실시예들에서, UCA 라우터(116)는 컴퓨터 시스템 내의 마더보드(136) 상의 개별 컴포넌트이다. 다른 실시예들에서, UCA 라우터는 I/O 콤플렉스(106) 내로 통합될 수 있다(이 실시예들은 도시되지 않는다).
이전에 구현된 컴퓨터 시스템들에서, I/O 콤플렉스(106)의 반대편에 있는 I/O 링크의 종점은 호환가능한 주변 장치가 포트에 부착될 수 있게 하는 프로토콜 특정 포트이다(즉, USB 키보드 디바이스는 USB 포트에 플러그인되고, 무선 라우터 디바이스는 LAN/이더넷 포트에 플러그인되는 등등). 임의의 단일 포트는 호환가능한 플러그 및 호환가능한 프로토콜을 갖는 디바이스들로 한정될 것이다. 일단 호환가능한 디바이스가 포트에 플러그인되면, I/O 콤플렉스와 주변 장치 사이에 통신 링크가 구축될 것이다.
도 1에 도시된 실시예에서 설명된 바와 같은 컴퓨터 시스템에서, I/O 링크들(126-130)은 I/O 콤플렉스(106)를 UCA 라우터(116)와 연결하고, 라우터는 그 다음에 원래 특정 호스트 컨트롤러 프로토콜 데이터 패킷 포맷으로 전송된 데이터 패킷들을 통합된 커넥터 프로토콜 데이터 패킷 포맷으로 캡슐화한다(encapsulate). UCA 라우터(116)는 그 다음에 통합된 커넥터 프로토콜 데이터 패킷을 부착된(즉, 연결된, 플러그인된) 타겟 주변 장치를 갖는 통합된 커넥터 포트로 라우팅한다. 그러므로, 이 실시예들에서, 디스플레이(108), 디스플레이(110), 및 무선 라우터(112)와 같은 I/O 주변 장치들 모두가 통합된 커넥터 프로토콜과 호환가능하며, 통합된 커넥터 포트들(118-124) 중 어느 하나로 플러그인하기 위해 통합된 커넥터 폼 팩터 플러그들을 갖는다.
또한, UCA 라우터(116)는 접속된 주변장치들 중 임의의 것으로부터 나오는 통합된 커넥터 프로토콜 데이터 패킷들을 I/O 콤플렉스 내의 타겟으로 된 I/O 호스트 컨트롤러에 네이티브(native)인 프로토콜로 변환한다.
그러므로, 컴퓨터 시스템으로부터 주변 장치로 전송되고 또한 주변 장치로부터 컴퓨터 시스템으로 전송되는 I/O 데이터(예를 들어, 디스플레이, 네트워킹, USB 등)는 각각의 통합된 커넥터 프로토콜 데이터 패킷 내부의 물리층에서 패킷화되고 캡슐화된다. 개별 그래픽 및 개별 NIC 컨트롤러들과 관련하여, 이들 컨트롤러들은 그들 각자의 프로토콜 스택들에 의해 정의된 물리층들에 따라 포맷화되는 I/O 데이터를 생성하고 수신한다. 이 데이터가 통합된 커넥터 포트를 통해 운반될 때, 데이터는 통합된 커넥터 데이터 프로토콜에 의해 정의된 패킷 포맷(즉, 프레임 포맷) 내에 더 캡슐화된다. UCA 라우터(116)가 어떻게 캡슐화 및 패킷화를 실현하는지에 대한 특정 구현은 도 2를 참조하여 이하에서 상세하게 설명한다.
도 1로 돌아가면, 많은 실시예들에서, 개별 그래픽 컨트롤러(104)와 개별 NIC(114)를 UCA 라우터(116)에 직접 연결하는 부가적인 전용 링크들이 도시되어 있다. 이 링크들은 점선 링크들(132 및 134)로서 각각 도시된다. 디스플레이 및 네트워크 점선 링크들은 디스플레이 디바이스 및/또는 네트워크 디바이스가 통합된 커넥터 포트(예를 들어, 통합된 커넥터 포트들(118-124) 중 하나)를 통해 컴퓨터 시스템으로 플러그인될 수 있게 한다. 링크들(132 및 134)은 개별 카드들에 직접 부착된 포트들로부터 이전에 필요한 디스플레이 및 네트워크 연결 위치들을 제거한다. 예를 들어, 이전에 디스플레이 주변 장치는 그래픽 카드 상의 디스플레이 포트로 직접 플러그인되었다. 통합된 커넥터 아키텍처 구현에 의하면, 디스플레이 및 네트워크 디바이스(들)는 개별 그래픽 컨트롤러(104) 카드 대신에 시스템 마더보드(136) 상에 위치하는 통합된 커넥터 포트에 부착된다.
도 2는 통합된 커넥터 아키텍처(UCA) 라우터 및 수반하는 통합된 커넥터 아키텍처 로직의 하나의 실시예를 묘사한다. UCA 라우터(116)는 도 1에서와 같이, 여러 개의 호스트 컨트롤러들(디스플레이 컨트롤러들(200, 202, 및 204), NIC들(206 및 208), 및 USB 호스트 컨트롤러(210))에 연결되는 것으로 도시되어 있다. 또한, UCA 라우터(116)도 여러 개의 통합된 커넥터 포트들(포트들(212-220))에 연결된다. 또한, 다수의 주변 장치가 여러 개의 포트에 부착된다. 주변 장치 1(P1) 웹 카메라(222)가 주변 장치 2(P2) 디스플레이 모니터(224)에 연결되고, 주변 장치 2(P2) 디스플레이 모니터(224)는 통합된 커넥터 포트(212)에 연결된다. 주변 장치 3(P3) 디스플레이 모니터(226)가 통합된 커넥터 포트(214)에 연결된다. 주변 장치 4(P4) 무선 라우터(228)가 통합된 커넥터 포트(218)에 연결된다. 마지막으로, 주변 장치 5(P5) USB 프린터(230)가 통합된 커넥터 포트(220)에 연결된다.
많은 실시예들에서, 통합된 커넥터 아키텍처는 패킷 스위칭 통신을 이용하여 호스트 컨트롤러들(200-210)과 부착된 주변 장치들(222-230) 사이에 데이터를 교환한다. 패킷 스위칭은 호스트 컨트롤러와 주변 장치 사이로부터의 일반적인 패킷 송신 방법이다. 일반적인 발견(discovery) 프로토콜을 이용하여, 플랫폼에 접속된 주변 장치들을 열거하고 또한 주변 장치들의 임의의 핫-플러그(hot-plug)를 검출한다. 일단 주변 장치들이 열거되면, 데이터 전송 프로토콜을 이용하여 특정 호스트 컨트롤러와 특정 주변 장치 사이에 애플리케이션 I/O 데이터를 교환한다. 일부 실시예들에서, 통합된 커넥터 아키텍처 발견 및 데이터 전송 프로토콜들은 (2000년 4월 27일에 발표된 USB 명세의 개정 2.0에 정의된 바와 같은) 각자의 USB 2.0 프로토콜 대응물들의 확장들일 수 있다. 다른 실시예들에서, 통합된 커넥터 아키텍처 발견 및 데이터 전송 프로토콜들은 임의의 다른 유형의 이용가능한 실행할 수 있는 디바이스 발견 및 데이터 전송 프로토콜의 확장일 수 있다.
부착된 주변 장치들(222-230)의 열거는 접속 관리자(232)에 의해 수행된다. 상이한 실시예들에서, 접속 관리자(232)는 저레벨 펌웨어의 일부분으로서, UCA 라우터(116) 내의 로직으로서, 시스템 BIOS(기본 입력/출력 시스템)의 일부로서, 또는 컴퓨터 시스템 상에서 실행되는 운영 체제 내에서 구현될 수 있다. 접속 관리자(232)는 통합된 커넥터 포트에 접속된 주변 장치의 유형(예를 들어, 디스플레이, 네트워크 디바이스, USB 디바이스 등)을 식별하고 그 주변 장치에 고유 어드레스를 할당하는 것을 담당한다. 많은 실시예들에서, 다-기능(multi-function) 디바이스들에는 복수의 어드레스들이 할당된다.
많은 실시예들에서, 각각의 주변 장치(P1-P5)와 그 주변 장치의 I/O 데이터를 처리하는 특정 호스트 컨트롤러(200-210 중 하나) 사이의 연관(association)은 바인딩 테이블(234)에 정의된다. 바인딩 테이블은 시스템 메모리, 캐시, 버퍼 등과 같은 시스템 내의 임의 유형의 메모리에 구현될 수 있다. UCA 라우터(116)는 바인딩 테이블을 이용하여 정확한 데이터 패킷(즉, 프레임) 송신 타겟을 찾는다. 바인딩 테이블을 이용하면, 송신 타겟은 전송되는 패킷/프레임의 배향(origination)에 의존한다. 라우터가 호스트 컨트롤러(즉, 디스플레이 컨트롤러, 네트워크 컨트롤러, I/O 컨트롤러 등)로부터 데이터 패킷을 수신하는 경우, 타겟은 의도된 타겟 주변 장치가 연결되는(즉, 플러그인되는) 포트이다. 라우터가 통합된 커넥터 포트로부터 통합된 커넥터 프로토콜 데이터 패킷을 수신하는 경우(즉, 데이터 패킷이 포트에 연결된 주변 장치로부터 개시하는 경우), 타겟은 그 주변 장치에 바인딩된 호스트 컨트롤러이다. 예를 들어, 디스플레이 컨트롤러(200)는 P2 디스플레이(224)를 타겟으로 하는 디스플레이 데이터의 패킷을 송신하고, UCA 라우터(116)는 그 패킷을 수신하고, 바인딩 테이블을 이용하여 타겟 주변 장치(P2)를 판정하고(예를 들어, P2는 디스플레이 컨트롤러(200)에 연결되는 A 링크에 바인딩됨), 데이터 패킷을 통합된 커넥터 프로토콜 데이터 패킷 내로 캡슐화하고, 패킷을 통합된 커넥터 포트(212)를 통해 P2에 송신한다. 많은 실시예들에서, 주변 장치들은 P1이 통합된 커넥터 포트(212)에 연결되는 P2에 체인 모양으로 연결되는 것과 같이, 단일 포트에서 함께 체인 모양으로 연결될 수 있다. 도 2는 P1은 링크 F(USB 호스트 컨트롤러(210))에 바인딩되고, P2는 링크 A(디스플레이 컨트롤러(200))에 바인딩되고, P3은 링크 C(디스플레이 컨트롤러(204))에 바인딩되고, P4는 링크 D(네트워크 인터페이스 컨트롤러(206))에 바인딩되고, P5는 또한 링크 F(USB 호스트 컨트롤러(210))에 바인딩됨을 명확히 하는 바인딩 테이블의 예를 도시한다.
많은 실시예들에서, 바인딩 테이블은 처음에 시스템 부트에서(즉, 시스템 파워가 순환될 때, 또는 제어하는 운영 체제가 컴퓨터의 소프트 재시작을 수행할 때) 접속 관리자에 의해 셋업된다. 이것은 또한 시스템 I/O 흐름들의 동적 스위칭에 기초하여 변화하는 이용 모델들(changing usage models)을 구현하기 위해 시스템 소프트웨어(운영 체제 또는 가상 머신 관리자)에 의해 런타임 동안 재맵핑될 수 있다. 예를 들어, 모바일 플랫폼에서, 디스플레이 주변 장치는 시스템이 플러그인될 때 개별 그래픽 컨트롤러와 연관될 수 있고, 바인딩 정보를 재맵핑함으로써 시스템이 배터리로 실행되고 있을 때 통합 그래픽 컨트롤러에 동적으로 스위칭될 수 있다.
UCA 라우터(116)는 또한 디스플레이 및 네트워크 I/O 데이터의 패킷화 및 캡슐화를 담당한다. 많은 실시예들에서, UCA 라우터(116)는 통합된 커넥터 프로토콜 데이터 패킷(즉, 프레임)을 구축하면서 디스플레이 데이터의 연속 스트림을 유지하기 위해 하나 이상의 내부 버퍼를 갖는다. 그러므로, UCA 라우터(116) 내의 로직은 버퍼에 스트림을 저장할 수 있고, 저장된 스트림 정보로부터 개별 프레임들을 구축할 수 있고, 완성되면 프레임들을 전송할 수 있다. 다른 실시예들에서, 호스트 컨트롤러(200-210) 중 하나 이상은 UCA 라우터(116) 및 통합된 커넥터 프로토콜 포맷을 알고 있다. 호스트 컨트롤러들이 UCA 라우터(116)에 대해 알고 있는 이러한 실시예들에서, 알고 있는 호스트 컨트롤러들이 통합된 커넥터 프로토콜 데이터 패킷들 그 자체를 구성하고 UCA 라우터(116)와 네이티브 통합된 커넥터 프로토콜 프레임들을 교환할 수 있어, UCA 라우터(116)에게서 변환/스위칭 듀티를 덜어줄 수 있다. 이러한 시나리오에서, UCA 라우터(116)는 단지 이들 캡슐화 전(pre-encapsulated) 데이터 패킷 프레임들을 타겟으로 된 주변 장치(들)에 전달하도록 요구될 수 있다.
많은 실시예들에서, UCA 라우터(116)는 또한 통합된 커넥터 프로토콜 데이터 패킷들을 대응하는 네이티브 호스트 컨트롤러 포맷 데이터 패킷들로 분해하는 것을 담당한다. 이것은 특정 호스트 컨트롤러에 바인딩된 주변 장치가 호스트 컨트롤러를 타겟으로 하는 통합된 커넥터 프로토콜 데이터 패킷을 전송할 때 발생한다. 이 패킷은 주변 장치로부터 통합된 커넥터 포트에 도달하며, 여기서 UCA 라우터(116)는 그 패킷을 취하고, 그 패킷을 호스트 컨트롤러를 위해 네이티브 포맷으로 분해하고 나서, 분해된 네이티브 데이터 패킷을 타겟으로 된 호스트 컨트롤러에 전송한다.
도 3은 개별 그래픽 및 LAN(local area network) 카드들에 대한 통합된 커넥터 아키텍처 슬롯 커넥터의 실시예를 묘사한다. 현재의 개별 그래픽 및 LAN 카드들에 대한 변형들을 예시하기 위하여, 도 3은 각 카드의 현재의 버전을 각 카드의 통합된 커넥터 아키텍처(UCA) 버전과 나란히 보여준다. 도 3에 도시된 예들은 PCI Express?를 이용하지만, 임의의 다른 관련된 프로토콜이 이용될 수 있다.
PCI Express? 개별 그래픽 카드(300)의 현재의 버전이 도시되어 있다. 그래픽 카드(300)는 도시된 바와 같이 슬롯 커넥터 핀들(302)을 포함한다. 또한, 그래픽 카드(300)는 외부 디스플레이 주변 장치 커넥터(304)를 갖는다. 현재의 PCI Express? 개별 그래픽 시나리오들에서는, 컴퓨터 시스템 마더보드 상의 PCI Express? 그래픽 카드 슬롯에 그래픽 카드(300)가 플러그인될 때 CPU 및 시스템 메모리로부터의 데이터가 슬롯 커넥터 핀들(302)에 물리적으로 연결되는 PCI Express? 링크를 가로질러 그래픽 카드(300)에 송신된다. 그래픽 카드(300)는 그 후 이 수신된 데이터에 작용하고 그것을 외부 디스플레이 주변 장치 커넥터(304)에 플러그인된 디스플레이 주변 장치에 송신한다.
이제 도 3에 도시된 실시예에서, UCA를 갖는 개별 그래픽 카드(306)를 살펴보면, UCA 가능한 그래픽 카드(306)는, 현재의 버전 그래픽 카드(300)와 유사하게, 슬롯 커넥터 핀들(308)을 포함한다. 그러나, 외부 디스플레이 주변 장치 커넥터를 갖는 대신에, UCA를 갖는 개별 그래픽 카드(306)는 여분의 슬롯 커넥터 핀들(310)을 갖는다. 일단 UCA를 갖는 개별 그래픽 카드(306)가 (슬롯 커넥터 핀들(308)로부터) PCI Express? 링크로부터의 데이터를 수신하고 그 수신된 데이터에 작용하였다면, UCA 가능한 그래픽 카드(306)는 그 데이터를 마더보드 상의 통합된 커넥터 포트에 플러그인된 디스플레이 주변 장치에 송신한다. 구체적으로, 그 데이터는 슬롯 커넥터로부터 시스템 내의 UCA 라우터로 라우팅되는 추가적인 PCI Express? 링크 레인들(link lanes)을 가로질러 송신된다(이것은 도 1에서 링크(132)로서 도시되어 있다). 이러한 추가적인 링크 레인들은 여분의 슬롯 커넥터 핀들(310)에 물리적으로 연결된다.
다음으로, 도 3은 (카드에 통합된 NIC를 갖는) PCI Express? 개별 LAN 카드(312)의 현재의 버전을 보여준다. LAN 카드(312)는 도시된 바와 같이 슬롯 커넥터 핀들(314)을 포함한다. 또한, LAN 카드(312)는 외부 LAN/이더넷 커넥터(316)를 갖는다. 현재의 PCI Express? 개별 LAN 카드 시나리오들에서는, 컴퓨터 시스템 마더보드 상의 PCI Express? LAN 카드 슬롯에 LAN 카드(312)가 플러그인될 때 CPU 및 시스템 메모리로부터의 데이터가 슬롯 커넥터 핀들(314)에 물리적으로 연결되는 PCI Express? 링크를 가로질러 LAN 카드(312)에 송신된다. LAN 카드(312)는 그 후 이 수신된 데이터를 패킷화(packetize)하고 그것을 LAN/이더넷 커넥터(316)가 플러그인되어 있는 네트워크를 가로질러 송신한다.
마지막으로, 이제 도 3에 도시된 실시예에서, UCA를 갖는 개별 LAN 카드(318)를 살펴보면, UCA 가능한 LAN 카드(318)는, 현재의 버전 LAN 카드(312)와 유사하게, 슬롯 커넥터 핀들(320)을 포함한다. 그러나, 외부 LAN/이더넷 커넥터를 갖는 대신에, UCA를 갖는 개별 LAN 카드(318)는 여분의 슬롯 커넥터 핀들(322)을 갖는다. 일단 UCA를 갖는 개별 LAN 카드(318)가 (슬롯 커넥터 핀들(320)로부터) PCI Express? 링크로부터의 데이터를 수신하고 그 수신된 데이터를 패킷화하였다면, UCA 가능한 LAN 카드(318)는 그 데이터를 마더보드 상의 통합된 커넥터 포트에 플러그인된 이더넷 케이블에 송신한다. 구체적으로, 추가적인 PCI Express? 링크 레인들을 가로질러 송신된 데이터는 슬롯 커넥터로부터 시스템 내의 UCA 라우터로 라우팅된다(이것은 도 1에서 링크(134)로서 도시되어 있다). 이러한 추가적인 링크 레인들은 여분의 슬롯 커넥터 핀들(322)에 물리적으로 연결된다.
도 4는 주변 장치로 확장된 통합된 커넥터 아키텍처의 하나의 실시예를 묘사한다. 많은 실시예들에서, 통합된 커넥터 아키텍처를 채용하는 컴퓨터 시스템(400)은 도 1-3에서 설명된 특정한 컴포넌트들 모두를 포함한다. 구체적으로, UCA 라우터(116)가 존재하고 하나 이상의 호스트 컨트롤러들(잠재적으로 I/O 호스트 컨트롤러들, 디스플레이 컨트롤러들, 네트워크 컨트롤러들 등을 포함함)에 또한 하나 이상의 유니버설 커넥터 포트(universal connector port)(이 예에서는 4개의 포트, 즉, 유니버설 커넥터 포트들(402, 404, 406, 및 408)이 존재함)에 연결된다.
많은 실시예들에서는, 주변 장치(410)가 유니버설 커넥터 포트(404)에 플러그인된 케이블(412)을 통하여 컴퓨터 시스템(400)에 연결된다. 주변 장치(410) 측에서, 케이블(412)이, 유니버설 커넥터 포트(404)와 동일한 폼 팩터를 가질 수 있는, 유니버설 커넥터 포트(414)에 플러그인된다. 주변 장치(410)는 집적된 UCA 로직 디바이스(416)를 갖는다. 일부 실시예들에서, UCA 로직 디바이스(416)는 (예를 들어, USB 포트들을 갖는 다-기능 디스플레이 내와 같은) 컴퓨터 시스템(400) 내의 UCA 라우터(116)와 동일한 기능을 갖는다. 다른 실시예들에서, UCA 로직 디바이스(416)는 통합된 커넥터 프로토콜 데이터 패킷들을 주변 장치의 네이티브 프로토콜의 데이터 패킷들로 변환하고, 그리고 그 반대로 변환하는 간단한 프로토콜 변환기이다.
주변 장치(410) 내의 UCA 로직 디바이스(416)는 주변 장치를 타겟으로 하는 컴퓨터 시스템(400) 내의 UCA 라우터(116)로부터 송신된 통합된 커넥터 프로토콜 데이터 패킷들을 수신한다. 일부 실시예들에서, UCA 로직 디바이스(416)는 또한 주변 장치 내부 로직(418)으로부터 네이티브 주변 장치 포맷의 데이터 패킷들을 수신한다. 다른 실시예들에서, 주변 장치 내부 로직(418)은 통합된 커넥터 프로토콜 데이터 패킷 포맷을 네이티브로 파악하여, 내부 로직이 통합된 커넥터 프로토콜 데이터 패킷들을 구성하여 그것들을 그 포맷으로 UCA 로직 디바이스(416)에 송신할 수 있게 한다. 이 실시예들에서, UCA 로직 디바이스(416)는 어느 한 방향으로(즉, 주변 장치 내부 로직(418)으로부터 컴퓨터 시스템(400)으로 그리고 그 반대로) 이동하는 데이터 패킷들(즉, 프레임들)을 위한 임의의 캡슐화 작업을 수행하도록 요구되지 않는다. 오히려, 이 실시예들에서, UCA 로직 디바이스(416)는 데이터 패킷들을 수신하였을 때 단순히 데이터 패킷들을 적절한 타겟으로 전달한다.
도 5는 통합된 커넥터 아키텍처 환경에서 데이터 패킷들을 라우팅하는 프로세스의 하나의 실시예의 흐름도이다. 이 프로세스는 하드웨어, 소프트웨어, 또는 양쪽의 조합에 의해 수행될 수 있다. 이제 도 5를 살펴보면, 프로세스는 주변 장치가 통합된 커넥터 포트에 플러그인되었는지를 결정하는 처리 로직에 의해 시작된다(처리 블록(500)). "플러그인"(plugging in)은 주변 장치가 통합된 커넥터 포트에 연결되거나 접속되는 것을 나타낸다. 상이한 실시예들에서, "플러그인"은 핫-플러깅(hot-plugging)이 허용되는 때 완전한 시스템 동작(full system operation) 동안에 또는 부팅 전과 같은, 임의의 시간에 일어날 수 있다. 만약 주변 장치가 플러그인되지 않았다면, 처리 블록(500)이 반복된다(즉, 통합된 커넥터 포트가 폴링(polling)된다 - 연속적으로 또는 폴링은 설정된 시간 주기마다 한번 일어날 수 있다).
다음으로, 일단 처리 로직이 장치가 플러그인된 것을 검출하면, 처리 로직은 주변 장치를 열거한다(처리 블록(502)). 그 후 처리 로직은 주변 장치를 시스템에 존재하는 호스트 컨트롤러에 바인딩한다(처리 블록(504)). 주변 장치는 호환가능한 호스트 컨트롤러에 바인딩된다(즉, 이들은 동일한 프로토콜을 공유한다).
바인딩 후에, 처리 로직은 데이터 패킷이 수신되었는지를 결정한다(처리 블록(506)). 만약 데이터 패킷이 수신되지 않았다면, 처리 로직은 주변 장치에 변화/수정이 있었는지를 결정한다(처리 블록(508)). 예를 들면, 제1 주변 장치가 플러그 분리(unplug)되었고 제2 주변 장치가 동일한 통합된 커넥터 포트에 플러그인되었다. 만약 주변 장치의 상태에 변화가 없다면, 처리 로직은 처리 블록(506)으로 되돌아가고 다시 데이터 패킷이 수신되었는지를 조사한다. 그렇지 않고, 만약 주변 장치에 변화가 검출되었다면, 처리 로직은 처리 블록(500)으로 되돌아가서 주변 장치가 통합된 커넥터 포트에 플러그인되었는지를 재조사한다.
처리 블록(506)으로 되돌아가서, 만약 데이터 패킷이 수신되었다면, 처리 로직은 데이터 패킷이 주변 장치로부터 수신되었는지 호스트 컨트롤러로부터 수신되었는지를 결정한다(처리 블록(510)). 만약 데이터 패킷이 주변 장치로부터 수신되었다면, 그 데이터 패킷은 통합된 커넥터 프로토콜 데이터 패킷이고, 처리 로직은 통합된 커넥터 프로토콜 데이터 패킷을 호스트 컨트롤러의 프로토콜과 호환가능한 하나 이상의 네이티브 호스트 컨트롤러 데이터 패킷들로 분해하기 시작한다(처리 블록(512)). 처리 로직이 통합된 커넥터 프로토콜 데이터 패킷을 네이티브 호스트 컨트롤러 프로토콜 데이터 패킷(들)으로 분해한 후에, 처리 로직은 그 후 네이티브 호스트 컨트롤러 데이터 패킷(들)을 호스트 컨트롤러에 송신한다(처리 블록(514)). 그 후 처리 로직은 처리 블록(506)으로 되돌아가서 다른 데이터 패킷이 수신되었는지를 조사한다.
처리 블록(510)으로 되돌아가서, 만약 데이터 패킷이 호스트 컨트롤러로부터 수신되었다면 그 데이터 패킷은 호스트 컨트롤러의 네이티브 프로토콜 포맷으로 되어 있고, 처리 로직은 네이티브 호스트 컨트롤러 데이터 패킷을 통합된 커넥터 프로토콜 데이터 패킷으로 캡슐화하기 시작한다(처리 블록(516)). 일단 통합된 커넥터 프로토콜 데이터 패킷이 생성되었다면, 처리 로직은 그 후 통합된 커넥터 프로토콜 데이터 패킷을 포트에 플러그인된 주변 장치를 타겟으로 하는 통합된 커넥터 포트에 송신한다(처리 블록(518)). 마지막으로, 처리 로직은 처리 블록(506)으로 되돌아가서 다른 데이터 패킷이 수신되었는지를 조사하고, 프로세스는 종료된다.
이렇게, 컴퓨터 플랫폼 상에 통합된 커넥터 아키텍처를 구현하는 시스템, 장치, 및 방법의 실시예들이 설명되었다. 이 실시예들은 그것의 특정한 예시적인 실시예들에 관하여 설명되었다. 이 명세서의 수혜자들에게는 여기에 설명된 실시예들의 보다 폭넓은 정신 및 범위로부터 일탈하지 않고 이들 실시예들에 다양한 수정들 및 변경들이 이루어질 수 있다는 것이 명백할 것이다. 따라서, 본 명세서 및 도면들은 제한적인 점보다는 예시적인 점에서 간주되어야 한다.

Claims (23)

  1. 통합된 커넥터 아키텍처를 구현하기 위한 시스템으로서,
    제1 프로토콜을 이용하는 제1 호스트 컨트롤러;
    제2 프로토콜을 이용하는 제2 호스트 컨트롤러 - 상기 제1 및 제2 프로토콜들은 상이함 -;
    플러그에 물리적으로 결합하도록 구성된 폼 팩터를 갖는 통합된 커넥터 포트(unified connector port); 및
    상기 제1 호스트 컨트롤러 및 상기 제2 호스트 컨트롤러로부터의 패킷들을 통합된 프로토콜 프레임들 내에 선택적으로 캡슐화하고(encapsulate) 상기 프레임들 중 적어도 일부를 상기 통합된 커넥터 포트로 송신하는 라우터
    를 포함하고,
    (1) 상기 라우터가 상기 플러그를 통해 제1 장치에 결합되면, 상기 라우터는 상기 제1 호스트 컨트롤러로부터의 캡슐화된 패킷들을 상기 통합된 커넥터 포트에 제공하고 - 상기 제1 장치는 상기 제1 프로토콜을 갖는 신호들을 인식함 -, (2) 상기 라우터가 상기 플러그를 통해 제2 장치에 결합되면, 상기 라우터는 상기 제2 호스트 컨트롤로부터의 캡슐화된 패킷들을 상기 통합된 커넥터 포트에 제공하는 - 상기 제2 장치는 상기 제2 프로토콜을 갖는 신호들을 인식함 -, 통합된 커넥터 아키텍처를 구현하기 위한 시스템.
  2. 제1항에 있어서,
    (1) 상기 라우터가 제1 플러그를 통해 제1 장치에 결합되면, 상기 제1 장치를 상기 제1 호스트 컨트롤러와 연관시키고 - 상기 제1 장치는 상기 제1 프로토콜을 갖는 신호들을 인식함 -, (2) 상기 라우터가 제2 플러그를 통해 제2 장치에 결합되면, 상기 제2 장치를 상기 제2 호스트 컨트롤러와 연관시키는 - 상기 제2 장치는 상기 제2 프로토콜을 갖는 신호들을 인식함 - 접속 관리자 로직
    을 더 포함하고,
    상기 제1 플러그 및 상기 제2 플러그는 동일한 폼 팩터를 갖는, 통합된 커넥터 아키텍처를 구현하기 위한 시스템.
  3. 제2항에 있어서,
    바인딩 테이블(binding table)을 저장하는 메모리를 더 포함하고,
    상기 라우터는, 실행 중에 상기 통합된 커넥터 포트에 결합된 제3 장치를 검출하고 상기 제3 장치를 상기 제1 호스트 컨트롤러 또는 상기 제2 호스트 컨트롤러와 연관시키기 위해 상기 바인딩 테이블을 수정하도록 더 동작가능한, 통합된 커넥터 아키텍처를 구현하기 위한 시스템.
  4. 제3항에 있어서, 상기 접속 관리자 로직은 시스템 부트에서 상기 바인딩 테이블을 파퓰레이트(populate)하도록 더 동작 가능한, 통합된 커넥터 아키텍처를 구현하기 위한 시스템.
  5. 제1항에 있어서, 상기 라우터는,
    데이터의 스트림을 저장하는 버퍼를 더 포함하고, 상기 스트림 내의 복수의 패킷은 하나의 통합된 커넥터 프로토콜 프레임을 포함하는, 통합된 커넥터 아키텍처를 구현하기 위한 시스템.
  6. 제1항에 있어서,
    상기 라우터는, 상기 제1 호스트 컨트롤러 및 상기 제2 호스트 컨트롤러와 떨어진 하나 이상의 부가의 호스트 컨트롤러들로부터의 패킷들을 하나 이상의 부가의 통합된 프로토콜 프레임들 내에 선택적으로 캡슐화하고, 상기 하나 이상의 부가의 프레임들 중 적어도 일부를 상기 통합된 커넥터 포트에 송신하도록 구성되고, 상기 하나 이상의 부가의 호스트 컨트롤러들은 상기 제1 프로토콜 및 상기 제2 프로토콜과 상이한 하나 이상의 프로토콜들을 갖는, 통합된 커넥터 아키텍처를 구현하기 위한 시스템.
  7. 통합된 커넥터 아키텍처를 구현하기 위한 장치로서,
    제1 호스트 컨트롤러 및 제2 호스트 컨트롤러로부터의 패킷들을 통합된 프로토콜 프레임들 내에 선택적으로 캡슐화하고, 상기 프레임들 중 적어도 일부를 통합된 커넥터 포트에 송신하기 위한 라우터 - 제1 프로토콜과 제2 프로토콜은 상이함 -
    를 포함하고,
    (1) 상기 라우터가 플러그를 통해 제1 장치에 결합되면, 상기 라우터는 상기 제1 호스트 컨트롤러로부터의 캡슐화된 패킷들을 상기 통합된 커넥터 포트에 제공하고 - 상기 제1 장치는 상기 제1 프로토콜을 갖는 신호들을 인식함 -, (2) 상기 라우터가 상기 플러그를 통해 제2 장치에 결합되면, 상기 라우터는 상기 제2 호스트 컨트롤러로부터의 캡슐화된 패킷들을 상기 통합된 커넥터 포트에 제공하는 - 상기 제2 장치는 상기 제2 프로토콜을 갖는 신호들을 인식함 -, 통합된 커넥터 아키텍처를 구현하기 위한 장치.
  8. 제7항에 있어서, 상기 라우터는 접속 관리자 로직을 저장하는 펌웨어를 더 포함하고, 상기 접속 관리자 로직은,
    상기 통합된 커넥터 포트에 연결된 상기 제1 장치의 유형을 식별하고,
    상기 제1 장치에 고유 어드레스를 할당하는, 통합된 커넥터 아키텍처를 구현하기 위한 장치.
  9. 제8항에 있어서, 상기 라우터는,
    바인딩 테이블을 저장하는 메모리를 더 포함하고,
    상기 라우터는 상기 바인딩 테이블을 이용하여 상기 제1 호스트 컨트롤러와 상기 제1 장치 사이의 연관을 결정하도록 더 동작 가능하고, 상기 연관은 상기 제1 장치로부터 수신된 패킷들을 상기 제1 호스트 컨트롤러에 송신하도록 상기 라우터에 알리는, 통합된 커넥터 아키텍처를 구현하기 위한 장치.
  10. 제9항에 있어서, 상기 접속 관리자 로직은 시스템 부트에서 상기 바인딩 테이블을 파퓰레이트하도록 더 동작 가능한, 통합된 커넥터 아키텍처를 구현하기 위한 장치.
  11. 제7항에 있어서, 상기 라우터는,
    데이터의 스트림을 저장하는 버퍼를 더 포함하고, 상기 스트림 내의 복수의 패킷은 하나의 통합된 프로토콜 프레임을 포함하는, 통합된 커넥터 아키텍처를 구현하기 위한 장치.
  12. 제7항에 있어서, 상기 라우터는 제2 호스트 컨트롤러에 연결되고, 상기 제1 호스트 컨트롤러와 상기 제2 호스트 컨트롤러는 상이한 프로토콜들을 이용하고,
    상기 라우터는 상기 제2 호스트 컨트롤러로부터 수신된 패킷들을 제2 통합된 프로토콜 프레임으로 캡슐화하고 그 제2 프레임을 상기 통합된 커넥터 포트에 송신하도록 더 동작 가능한, 통합된 커넥터 아키텍처를 구현하기 위한 장치.
  13. 통합된 커넥터 아키텍처를 구현하기 위한 방법으로서,
    (a) 제1 프로토콜을 사용하는 제1 호스트 컨트롤러 및 제2 프로토콜을 사용하는 제2 호스트 컨트롤러를 제공하는 단계 - 상기 제1 프로토콜과 상기 제2 프로토콜은 상이하고, 통합된 커넥터 포트는 플러그를 물리적으로 결합하도록 구성된 폼 팩터를 가짐 -;
    (b) 상기 제1 호스트 컨트롤러 및 상기 제2 호스트 컨트롤러로부터의 패킷들을 통합된 프로토콜 프레임들 내에 선택적으로 캡슐화하고, 상기 프레임들 중 적어도 일부를 상기 통합된 커넥터 포트에 송신하는 라우터를 제공하는 단계;
    (c) 상기 라우터가 상기 플러그를 통해 제1 장치에 결합되면, 상기 제1 호스트 컨트롤러로부터 상기 라우터에 의해 캡슐화된 패킷들을 상기 통합된 커넥터 포트에 제공하는 단계 - 상기 제1 장치는 상기 제1 프로토콜을 갖는 신호들을 인식함 -; 및
    (d) 상기 라우터가 상기 플러그를 통해 제2 장치에 결합되면, 상기 제2 호스트 컨트롤러로부터의 캡슐화된 패킷들을 상기 통합된 커넥터 포트에 제공하는 단계 - 상기 제2 장치는 상기 제2 프로토콜을 갖는 신호들을 인식함 -
    를 포함하는, 통합된 커넥터 아키텍처를 구현하기 위한 방법.
  14. 제13항에 있어서,
    (e) 상기 통합된 커넥터 포트에 결합된 제3 장치에 대한 유형을 식별하는 단계; 및
    (f) 상기 제3 장치에 고유 어드레스를 할당하는 단계
    를 더 포함하는, 통합된 커넥터 아키텍처를 구현하기 위한 방법.
  15. 제14항에 있어서,
    (g) 상기 제1 호스트 컨트롤러와 상기 제2 호스트 컨트롤러 중 하나와 상기 제3 장치 사이의 연관을 결정하는 단계를 더 포함하고,
    상기 연관은 송신 타겟 호스트 컨트롤러를 구축하는, 통합된 커넥터 아키텍처를 구현하기 위한 방법.
  16. 제15항에 있어서,
    (h) 상기 제3 장치가 상기 통합된 커넥터 포트에 플러그인(plug into)될 때 상기 연관을 결정하는 단계를 더 포함하는, 통합된 커넥터 아키텍처를 구현하기 위한 방법.
  17. 제13항에 있어서,
    (e) 그래픽 컨트롤러로부터 생성된 데이터의 스트림 내의 복수의 패킷으로부터 통합된 커넥터 디스플레이 프레임을 구축하는 단계를 더 포함하는, 통합된 커넥터 아키텍처를 구현하기 위한 방법.
  18. 제13항에 있어서,
    (e) 상기 통합된 커넥터 포트와 네트워크 인터페이스 컨트롤러 중 하나로부터 생성된 데이터의 스트림 내의 복수의 네트워크 데이터 패킷으로부터 통합된 커넥터 네트워크 데이터 프레임을 구축하는 단계를 더 포함하는, 통합된 커넥터 아키텍처를 구현하기 위한 방법.
  19. 제14항에 있어서,
    (g) 상기 통합된 커넥터 포트로부터 수신된 제3 통합된 프로토콜 프레임을 하나 이상의 결과로 생긴 물리층 패킷으로 분해하는 단계;
    (h) 상기 분해된 제3 프레임으로부터의 상기 하나 이상의 결과로 생긴 물리층 패킷을 상기 제1 호스트 컨트롤러에 송신하는 단계;
    (i) 상기 통합된 커넥터 포트로부터 수신된 제4 통합된 프로토콜 프레임을 하나 이상의 결과로 생긴 물리층 패킷으로 분해하는 단계; 및
    (j) 상기 분해된 제4 프레임으로부터의 상기 하나 이상의 결과로 생긴 물리층 패킷을 상기 제2 호스트 컨트롤러에 송신하는 단계
    를 더 포함하는, 통합된 커넥터 아키텍처를 구현하기 위한 방법.
  20. 제19항에 있어서,
    (k) 제3 장치가 상기 제3 프로토콜 프레임을 송신하는 단계 - 상기 제3 장치는 상기 제1 호스트 컨트롤러의 프로토콜과 호환가능함 -; 및
    (l) 제4 장치가 상기 제4 프로토콜 프레임을 송신하는 단계 - 상기 제4 장치는 상기 제2 호스트 컨트롤러의 프로토콜과 호환가능함 -
    를 더 포함하고,
    상기 제3 장치는, 상기 제3 프로토콜 프레임을 송신한 후에, 상기 통합된 커넥터 포트로부터 분리되고, 상기 제4 장치는, 상기 제4 프로토콜 프레임을 송신하기 전에, 상기 통합된 커넥터 포트에 후속하여 연결되는, 통합된 커넥터 아키텍처를 구현하기 위한 방법.
  21. 제1항에 있어서,
    상기 통합된 커넥터 포트는 제1 통합된 커넥터 포트이고, 상기 시스템은 상기 폼 팩터를 갖는 제2 통합된 커넥터 포트를 더 포함하고, 상기 라우터는 상기 제1 호스트 컨트롤러 및 상기 제2 호스트 컨트롤러로부터의 패킷들을 통합된 프로토콜 프레임들 내에 선택적으로 캡슐화하고 상기 프레임들 중 적어도 일부를 상기 제2 통합된 커넥터 포트로 송신하도록 구성되는, 통합된 커넥터 아키텍처를 구현하기 위한 시스템.
  22. 제1항에 있어서,
    상기 통합된 커넥터 포트는 I/O 링크를 통해 상기 통합된 프로토콜 프레임들을 송신하도록 구성되는, 통합된 커넥터 아키텍처를 구현하기 위한 시스템.
  23. 제1항에 있어서,
    상기 라우터가 상기 플러그를 통해 제3 장치 및 상기 제3 장치에 결합된 제4 장치에 결합되면, 상기 라우터는 상기 제1 호스트 컨트롤러로부터의 캡슐화된 패킷들 및 상기 제2 호스트 컨트롤러로부터의 캡슐화된 패킷들을 상기 통합된 커넥터 포트에 제공하고, 상기 제3 장치는 상기 제1 프로토콜을 갖는 신호들을 인식하고, 상기 제4 장치는 상기 제2 프로토콜을 갖는 신호들을 인식하는, 통합된 커넥터 아키텍처를 구현하기 위한 시스템.
KR1020107016587A 2007-12-26 2008-11-25 통합된 커넥터 아키텍처 KR101238622B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/964,666 2007-12-26
US11/964,666 US8407367B2 (en) 2007-12-26 2007-12-26 Unified connector architecture
PCT/US2008/084621 WO2009085494A1 (en) 2007-12-26 2008-11-25 Unified connector architecture

Publications (2)

Publication Number Publication Date
KR20100101677A KR20100101677A (ko) 2010-09-17
KR101238622B1 true KR101238622B1 (ko) 2013-03-04

Family

ID=40799945

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107016587A KR101238622B1 (ko) 2007-12-26 2008-11-25 통합된 커넥터 아키텍처

Country Status (8)

Country Link
US (1) US8407367B2 (ko)
EP (2) EP3009940B1 (ko)
JP (2) JP5054201B2 (ko)
KR (1) KR101238622B1 (ko)
CN (1) CN101911609B (ko)
BR (1) BRPI0819473B1 (ko)
TW (1) TWI410808B (ko)
WO (1) WO2009085494A1 (ko)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8407367B2 (en) 2007-12-26 2013-03-26 Intel Corporation Unified connector architecture
US7877507B2 (en) * 2008-02-29 2011-01-25 Red Hat, Inc. Tunneling SSL over SSH
US8700821B2 (en) * 2008-08-22 2014-04-15 Intel Corporation Unified multi-transport medium connector architecture
EP2391042B1 (en) * 2010-05-27 2015-07-29 Telefonaktiebolaget L M Ericsson (publ) Efficient error handling on a link using ARQ and multiple NACKs associated with multiple error thresholds
US9734108B2 (en) 2011-04-25 2017-08-15 Apple Inc. Universal connector
US8953644B2 (en) 2011-12-27 2015-02-10 Intel Corporation Multi-protocol I/O interconnect time synchronization
US9565132B2 (en) 2011-12-27 2017-02-07 Intel Corporation Multi-protocol I/O interconnect including a switching fabric
US9252970B2 (en) 2011-12-27 2016-02-02 Intel Corporation Multi-protocol I/O interconnect architecture
US8856420B2 (en) 2011-12-27 2014-10-07 Intel Corporation Multi-protocol I/O interconnect flow control
US9697159B2 (en) 2011-12-27 2017-07-04 Intel Corporation Multi-protocol I/O interconnect time synchronization
US8775713B2 (en) 2011-12-27 2014-07-08 Intel Corporation Multi-protocol tunneling over an I/O interconnect
US8782321B2 (en) 2012-02-08 2014-07-15 Intel Corporation PCI express tunneling over a multi-protocol I/O interconnect
US8880923B2 (en) 2012-03-29 2014-11-04 Intel Corporation Link power management in an I/O interconnect
US9430414B2 (en) 2013-03-16 2016-08-30 Intel Corporation Bus independent platform for sensor hub peripherals to provide coalescing of multiple reports
US9542347B2 (en) * 2013-03-16 2017-01-10 Intel Corporation Host interface crossbar for sensor hub
US9734106B2 (en) * 2013-05-31 2017-08-15 Dell Products L.P. Systems and methods for providing connections to an information handling system
US9288656B2 (en) 2014-01-13 2016-03-15 Industrial Technology Research Institute Device to device discovery method for user equipment and network entity and user equipment and network entity using the same
US9799302B2 (en) * 2014-10-29 2017-10-24 Icron Technologies Corporation Systems and methods for transmitting video, network, and USB signals over extension media
WO2018151731A1 (en) 2017-02-17 2018-08-23 Visa International Service Association Unified smart connector
CN108462679B (zh) * 2017-02-21 2021-06-04 杭州海康威视数字技术股份有限公司 数据传输方法及装置
US10855518B2 (en) * 2018-11-07 2020-12-01 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Computer having an embedded switch
CN111007998B (zh) * 2019-12-24 2021-07-16 联想(北京)有限公司 一种处理方法、系统及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030208652A1 (en) 2002-05-02 2003-11-06 International Business Machines Corporation Universal network interface connection
US20050102682A1 (en) 2003-11-12 2005-05-12 Intel Corporation Method, system, and program for interfacing with a network adaptor supporting a plurality of devices

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4767168A (en) * 1986-12-24 1988-08-30 Prestolite Wire Corporation Hybrid connector cable system
DE4118096A1 (de) * 1991-06-03 1992-12-10 Airbus Gmbh Vorrichtung zur verbindung von leitungen
US5242315A (en) * 1992-05-21 1993-09-07 Puritan-Bennett Corporation Electrical-optical hybrid connector plug
US5664231A (en) * 1994-04-29 1997-09-02 Tps Electronics PCMCIA interface card for coupling input devices such as barcode scanning engines to personal digital assistants and palmtop computers
US5419717A (en) * 1994-08-15 1995-05-30 The Whitaker Corporation Hybrid connector between optics and edge card
US5535036A (en) * 1995-01-18 1996-07-09 Lighthouse Digital Systems, Inc. Input/output module providing mixed optical and electrical signal connectivity in data communications equipment
US6108782A (en) * 1996-12-13 2000-08-22 3Com Corporation Distributed remote monitoring (dRMON) for networks
JP3392314B2 (ja) 1997-02-20 2003-03-31 株式会社日立インフォメーションテクノロジー データ伝送方法
US6272551B1 (en) * 1998-04-08 2001-08-07 Intel Corporation Network adapter for transmitting network packets between a host device and a power line network
GB2350212B (en) * 1999-02-09 2003-10-08 Adder Tech Ltd Data routing device and system
KR100317991B1 (ko) 2000-01-25 2001-12-22 오길록 기가비트 이더넷 기반 라우터에서의 병렬처리형 3계층패킷 포워딩 처리 방법 및 장치
US6839771B1 (en) * 2000-04-13 2005-01-04 Hewlett-Packard Development Company, L.P. Method and system for using a universal serial bus (USB) as a peer-to-peer network
US6478625B2 (en) * 2000-07-11 2002-11-12 Bernard R. Tolmie Electrical-optical hybrid connector
US6588938B1 (en) * 2000-10-18 2003-07-08 Fitel Usa Corp. Optical/electrical plug connector
US20020049862A1 (en) * 2000-10-23 2002-04-25 Gladney Glenn A. Method and apparatus for providing optical internetworking to wide area networks, metropolitan area networks, and local area networks using modular components
JP4494668B2 (ja) * 2001-04-27 2010-06-30 古河電気工業株式会社 コネクタ
US7283481B2 (en) * 2002-03-21 2007-10-16 Broadcom Corporation Auto detection of copper and fiber mode
JP4140334B2 (ja) * 2002-10-04 2008-08-27 富士ゼロックス株式会社 光分配器及び光分配システム
US7269348B1 (en) * 2002-11-18 2007-09-11 At&T Corp. Router having dual propagation paths for packets
US7330468B1 (en) * 2002-11-18 2008-02-12 At&T Corp. Scalable, reconfigurable routers
TWI263425B (en) * 2003-01-14 2006-10-01 Admtek Inc Router and packet transmission method
TWM251361U (en) * 2003-07-25 2004-11-21 Hon Hai Prec Ind Co Ltd Connector assembly
TWI239171B (en) * 2003-10-07 2005-09-01 Handlink Technologies Inc Method of updating registration packet information of session initiation protocol
US7646981B2 (en) * 2004-03-01 2010-01-12 Adc Telecommunications, Inc. WDM systems and methods
US7412544B2 (en) * 2004-06-18 2008-08-12 International Business Machines Corporation Reconfigurable USB I/O device persona
TWI253818B (en) * 2004-10-29 2006-04-21 Benq Corp Transparent address translation methods
US8281031B2 (en) * 2005-01-28 2012-10-02 Standard Microsystems Corporation High speed ethernet MAC and PHY apparatus with a filter based ethernet packet router with priority queuing and single or multiple transport stream interfaces
US20070005867A1 (en) * 2005-06-30 2007-01-04 Nimrod Diamant Virtual peripheral device interface and protocol for use in peripheral device redirection communication
US20070249193A1 (en) * 2006-04-04 2007-10-25 Applied Optical Systems, Inc. Universal hybrid electrical/fiber optic insert cap and hybrid connector and methods
US7587536B2 (en) * 2006-07-28 2009-09-08 Icron Technologies Corporation Method and apparatus for distributing USB hub functions across a network
JP4687621B2 (ja) * 2006-09-08 2011-05-25 日立電線株式会社 スイッチ機能付通信モジュール及び通信装置
US8051217B2 (en) * 2007-01-12 2011-11-01 Dell Products L.P. System and method for providing PCIe over displayport
EP2003477B1 (de) * 2007-06-15 2012-05-23 Trumpf Laser Marking Systems AG Elektro-optische Hybrid-Steckverbindung zur Übertragung von hohen optischen Leistungen und elektrischen Signalen
US8407367B2 (en) * 2007-12-26 2013-03-26 Intel Corporation Unified connector architecture
US8700821B2 (en) 2008-08-22 2014-04-15 Intel Corporation Unified multi-transport medium connector architecture

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030208652A1 (en) 2002-05-02 2003-11-06 International Business Machines Corporation Universal network interface connection
US20050102682A1 (en) 2003-11-12 2005-05-12 Intel Corporation Method, system, and program for interfacing with a network adaptor supporting a plurality of devices

Also Published As

Publication number Publication date
EP3009940A1 (en) 2016-04-20
TWI410808B (zh) 2013-10-01
BRPI0819473B1 (pt) 2020-03-17
EP3009940B1 (en) 2017-10-04
JP2011508563A (ja) 2011-03-10
KR20100101677A (ko) 2010-09-17
US8407367B2 (en) 2013-03-26
BRPI0819473A2 (pt) 2015-09-29
EP2241068A4 (en) 2011-10-05
EP2241068B1 (en) 2015-11-25
CN101911609A (zh) 2010-12-08
TW200941230A (en) 2009-10-01
WO2009085494A1 (en) 2009-07-09
JP2012200027A (ja) 2012-10-18
JP5475069B2 (ja) 2014-04-16
EP2241068A1 (en) 2010-10-20
CN101911609B (zh) 2013-12-04
JP5054201B2 (ja) 2012-10-24
US20090172185A1 (en) 2009-07-02

Similar Documents

Publication Publication Date Title
KR101238622B1 (ko) 통합된 커넥터 아키텍처
JP5917474B2 (ja) 統合マルチ転送媒体コネクタを利用するシステム及びルーティング方法
US8904079B2 (en) Tunneling platform management messages through inter-processor interconnects
JP6400714B2 (ja) Usbハブを有する自動車システムとの柔軟なモバイルデバイス接続性
US8347008B2 (en) Method and system for hardware based implementation of USB 1.1 over a high speed link
US20150347345A1 (en) Gen3 pci-express riser
EP3042297A1 (en) Universal pci express port
JP2013541742A (ja) 動的マルチリンク編集パーティション分割システム及び方法
JP4444101B2 (ja) バスシステム、バスシステム内で用いるためのステーション、及びバスインタフェース
US8799519B2 (en) Network-to-network bridge
US20170344511A1 (en) Apparatus assigning controller and data sharing method
CN101867510A (zh) 板级双系统互联方法
CN114968860A (zh) 高速外围组件互连接口装置以及包括该接口装置的系统

Legal Events

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

Payment date: 20160127

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170201

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180201

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190129

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20200129

Year of fee payment: 8