KR20060045489A - 구성가능 pci 익스프레스 스위치 및 그 제어 방법 - Google Patents

구성가능 pci 익스프레스 스위치 및 그 제어 방법 Download PDF

Info

Publication number
KR20060045489A
KR20060045489A KR1020050028032A KR20050028032A KR20060045489A KR 20060045489 A KR20060045489 A KR 20060045489A KR 1020050028032 A KR1020050028032 A KR 1020050028032A KR 20050028032 A KR20050028032 A KR 20050028032A KR 20060045489 A KR20060045489 A KR 20060045489A
Authority
KR
South Korea
Prior art keywords
pci
cpu
bus
downstream
controller
Prior art date
Application number
KR1020050028032A
Other languages
English (en)
Other versions
KR100796419B1 (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 KR20060045489A publication Critical patent/KR20060045489A/ko
Application granted granted Critical
Publication of KR100796419B1 publication Critical patent/KR100796419B1/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/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • 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
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • 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/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • 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 THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)
  • Stored Programmes (AREA)
  • Oscillators With Electromechanical Resonators (AREA)
  • Electronic Switches (AREA)

Abstract

다수의 CPU가 단일 스위치를 통해 다수의 I/O 디바이스에 연결될 수 있게 하는 구성가능 스위치. 이 스위치는 보다 많은 CPU 및/또는 보다 많은 I/O 디바이스가 트리 내에서 인에이블링되도록 종속접속될 수 있다. 이 구성은 버스 및 종단점 디바이스의 열거에 투명하다. 하드웨어 스트래핑 또는 SM 버스와 같은 단순 관리 입력을 사용하여 디바이스들을 CPU들에 할당하는 것을 설정한다. 관리자 및 PCI 익스프레스 핫 플러그(hot plug) 제어기 레지스터를 사용하면, 디바이스 트리를 스위치 내의 PCI 버스를 통해 CPU 간에 스위치되는 디바이스로서 핫-플러그 재구성할 수 있다.
핫-플러그, 구성가능 스위치

Description

구성가능 PCI 익스프레스 스위치 및 그 제어 방법{CONFIGURABLE PCI EXPRESS SWITHCH}
도 1은 종래 개인용 컴퓨터를 나타내는 블럭도.
도 2는 본 발명에 따라 구성가능 PCI 익스프레스 스위치를 사용하여 컴포넌트를 공유하기 위한 일반 시스템의 블럭도.
도 3은 구성가능 PCI 익스프레스 스위치의 블럭도.
도 4는 구성가능 PCI 익스프레스 스위치를 구성하기 위한 제어 인터페이스 및 코맨드 논리의 블럭도.
도 5는 본 발명에 따라 컴포넌트를 공유하는 예시적인 시스템의 블럭도.
도 6-8은 구성가능 PCI 익스프레스 스위치를 사용해 공유되는 컴포넌트의 일부 실시예를 도시하는 블럭도.
<도면의 주요 부분에 대한 부호의 설명>
101: 호스트 브릿지
102: CPU
103: 메모리
104: 종단점
110: 스위치
본 발명은 일반적으로 컴퓨팅 디바이스의 분야에 관한 것이다. 특히, 본 발명은 다수의 업스트림 포트(upstream port)를 다수의 다운스트림 포트(downstream port)에 연결시킬 수 있는 PCI 익스프레스에서 사용하도록 구성가능한 스위치에 관한 것이다.
1990년대 초에, PCI(Peripheral Component Interconnect) 표준이 도입되었다. PCI는 접속된 디바이스에게 시스템 메모리로의 직접 액세스를 제공했지만, 프론트사이드 버스 및 CPU에 연결하기 위해서는 브릿지를 사용한다. PCI는 다수의 컴포넌트를 연결할 수 있다. PCI 브릿지 칩은 CPU 속도에 독립적으로 PCI 버스의 속도를 조절하여, 보다 높은 신뢰도를 제공하며, PCI 하드웨어 제조자가 일관된 설계 제약을 갖게 한다. PCI는 디바이스 또는 카드가 컴퓨터에 삽입되어 자동적으로 인식되고 시스템에서 작동되도록 구성되게 하는 플러그 앤드 플레이(Plug and Play)를 지원한다.
오늘날의 소프트웨어 어플리케이션은 플랫폼 하드웨어, 특히 I/O 하부시스템에게 요구하는게 많아졌다. 현재, 데스크탑 및 모바일 기기 상에서 다양한 비디오 및 오디오 소스로부터 데이터를 스트리밍하는 것은 일반적이 되어버렸다. 주문형 비디오 및 오디오 재배포와 같은 어플리케이션은 또한 서버에 대해서는 실시간 제약을 두고 있다. PCI 아키텍처는 더이상 이러한 요구들을 만족시키지 못하므로, PCI 익스프레스라고 불리는 새로운 표준이 제안되고있다.
도 1에 컴퓨팅 디바이스에 포함될 수 있는 PCI 익스프레스 토폴로지(100)가 예시된다. 이 토폴로지는 CPU(102)와 메모리(103) 외에 호스트 브릿지(101)와 몇몇 종단점(104-109)(즉, I/O 디바이스)을 포함한다. 다수의 점대점 연결(point-to-point connection)은 스위치(110)에 의해 이루어진다. 스위치(110)는 PCI에 의해 사용되는 다중-드롭 버스(multi-drop bus)를 대신하며, I/O 버스를 위한 팬-아웃(fan-out)을 제공하기 위해 사용된다. 스위치(110)는 서로 다른 종단점(104-109)들 간에 피어-투-피어 통신을 제공할 수 있으며, 이러한 트래픽이 캐시-코히런트(cache-coherent) 메모리 전송에 관련되지 않으면, 호스트 브릿지(101)에 포워드될 필요가 없다. 스위치(110)를 개별적 논리 구성요소로 나타냈지만, 호스트 브릿지(101)에 통합할 수도 있다.
이것은 종래 PCI 아키텍처를 개선시킨 것이지만, 다른 컴퓨팅 디바이스들 사이의 종단점을 연결 및 공유하기 위한 방식은 제공하지 않는다. 따라서, 종단점을 공유하는 시스템 및 방법이 필요하다. 이러한 시스템은 컴퓨팅 디바이스의 융통성을 매우 향상시킬뿐만 아니라 전력 소비를 감소시키기 위한 방법도 제공한다. 본 발명은 이러한 해결책을 제공한다.
본 발명은 다수의 CPU가 하나의 스위치를 통해 다수의 I/O 디바이스에 연결 될 수 있게 한다. 이 스위치들이 보다 많은 CPU 및/또는 보다 많은 I/O 디바이스가 트리 내에서 인에이블링되도록 종속접속될 수 있다. 이 구성 방법은 버스 및 종단점 디바이스의 열거에 투명하다. 하드웨어 스트래핑 또는 SMBus와 같은 단순 관리 입력이 디바이스들을 CPU들로 할당하는 것을 설정하는데 필요로되는 전부이다.
본 발명의 양상에 따르면, 복수의 업스트림 PCI-대-PCI 포트, 복수의 다운스트림 PCI-대-PCI 포트, 업스트림 포트에 고유하게 관련된 내부 PCI 버스, 및 어느 업스트림 포트가 어느 다운스트림 포트와 통신할지를 구성하는 제어기를 포함하는 구성가능한 PCI 익스프레스 스위치가 제공된다.
본 발명의 또다른 양상에 따르면, 구성가능 PCI 익스프레스 스위치를 제어하는 방법이 제공된다. 이 방법은 PCI 구성 공간 레지스터를 판독하는 단계, 복수의 업스트림 PCI-대-PCI 브릿지 중 하나를 발견하는 단계, 복수의 업스트림 PCI-대-PCI 브릿지 중 하나에 관련된 버스를 위한 제어 인터페이스를 발견하는 단계, 및 버스 상에서 발견된 디바이스들을 열거하는 단계를 포함한다.
본 발명의 또다른 양상에 따르면, 복수의 CPU 복합물(complexes)을 연결하는 구성가능 PCI 익스프레스 스위치가 제공된다. 이 스위치는 CPU 복합물 중 하나에 각각 고유하게 연결된 복수의 업스트림 PCI-대-PCI 브릿지, 복수의 다운스트림 PCI-대-PCI 브릿지, 고유(또는 단일) 업스트림 포트에 각각 연결된 복수의 내부 PCI 버스, 및 어느 업스트림 포트가 어느 다운스트림 포트와 통신할지를 구성하는 제어기를 포함한다. 각각의 다운스트림 포트는 각각의 내부 PCI 버스에 연결되지만, 하나의 내부 PCI 버스에만 응답한다. 또한 제어기는 각각의 CPU 복합물에 관련된 인터페이스를 통해 발견 요구를 수신한다.
본 발명의 추가적인 특징 및 이점은 첨부된 도면을 참조하는 예시적인 실시예에 대한 다음의 상세한 설명에 의해 명백해질 것이다.
상술된 요약뿐만 아니라 바람직한 실시예에 대한 다음의 상세한 설명은 첨부된 도면에 관련하여 판독될때 더 잘 이해된다. 본 발명을 예시하기 위해, 본 발명의 예시적인 구조를 도면에 나타냈지만, 본 발명은 공개된 특정한 방법 및 수단에 한정된 것은 아니다.
도 2를 참조하면, 컴포넌트를 공유하기 위한 시스템(200)의 개요가 도시된다. PCI 익스프레스가 PCI를 대신하고 다수의 CPU가 컴퓨팅 디바이스 내에서 표준 구현이 되면, 표준 시스템 컴포넌트의 융통적인 구성은 매우 바람직한 특징이 될 것이다. 하드웨어 이용가능성 및 어플리케이션 요건에 기초하여 하드웨어 자원 세트를 동적으로 재구성하는 능력은 클라이언트 데스크탑 PC에 선호되는 특징이다. 본 발명은 사용자 및 어플리케이션이 요구하는 시스템 구성을 구성하기 위한 간단한 제어 방법을 제공한다. 그러나, 본 발명은 데이스탑 설계에만 한정되는 것이 아니라, PCI 익스프레스 및 이와 유사한 아키텍처를 사용하는 서버 및 다른 컴퓨팅 디바이스에도 적용할 수 있다.
도 2는 참조번호(201 및 215)로 지정된 2개의 업스트림 CPU 토폴로지를 지원하는 구성가능 스위치 설계를 나타낸다. 제1 시스템 토폴로지(201)는 CPU(202), 그래픽 카드(203), 시스템 버스, 메모리(204), 칩셋[노스브릿지(205) 및 사우스브릿지(206)], 저장 디바이스(207)(예를 들어, 하드 디스크, 플래시 메모리 등), 통 신 디바이스(210)[예를 들어, 모뎀, 통신망 인터페이스 카드(NIC) 등], 및 마우스(210), 키보드(211), 및 플로피 디스크 드라이브(213)에 연결된 수퍼 I/O 제어기(208)를 포함할 수 있는 전형적인 PC 컴퓨터로 예시된다. PCI 익스프레스 버스[214(1)]는 구성가능 PCI 스위치(227)에 연결된다. 마찬가지로, 제2 시스템 토폴로지(215)는 CPU(216), 그래픽 카드(217), 시스템 버스, 메모리(218), 칩셋[노스브릿지(219) 및 사우스브릿지(220)], 저장 디바이스(222), 통신 디바이스(221), 및 마우스(224), 키보드(225), 및 플로피 디스크 드라이브(226)에 연결된 수퍼 I/O 제어기(223)를 포함한다. PCI 익스프레스 버스[214(2)]는 PCI 스위치(227)에 연결된다. PCI 익스프레스 스위치는 I/O 디바이스들(228-230)에 연결된다.
도 3 및 4에 구성가능 PCI 스위치(227)가 보다 상세하게 예시되어있다. 도면에서, "u"는 업스트림 포트를 나타내고, "P"는 PCI-대-PCI(P2P)를 나타내며, "d"는 다운스트림 포트를 나타내고, "B0", "B1","B2"는 업스트림 포트에 관련된 PCI 익스프레스 내부 PCI 버스들을 나타내며, "0", "1", "2" 및 "n"는 신호 경로 또는 포트를 나타낸다.
PCI 익스프레스 명세에 정의된 바와 같이, PCI 익스프레스 스위치는 PCI-대-PCI(P2P) 브릿지 디바이스 세트의 모델이다. 업스트림 P2P 브릿지(호스트 제어기 또는 또다른 PCI 버스에 연결됨)는 공통 PCI 버스에 연결되며, 이 버스에서 해당 (내부) PCI 버스 상에서 찾아진 디바이스들은 오직 출력 상의 PCI 디바이스에 연결될 (다운스트림) PCI-대-PCI 브릿지이다. 따라서, 전형적인 PCI 익스프레스 스위치는 CPU/칩셋 호스트 제어기에 연결된 하나의 업스트림 P2P 브릿지, 내부 PCI 버 스, 및 다운스트림 P2P 브릿지의 세트만을 포함할 것이다.
본 발명은 유리하게도 PCI 익스프레스 점대점 아키텍처의 팬-아웃을 확장하기 위해 업스트림 PCI-대-PCI 브릿지의 세트를 이롭게 구현한다. 도 3에 예시된 바와 같이, B0 및 B1으로 표시된 자신의 개별적 내부 PCI 버스를 각각 가진 n개의 업스트림 P2P 브릿지는 uP0(231) 및 uP1(233)으로 표시되고, 복수의 다운스트림 P2P 브릿지는 dP0(232), dP1(235), 및 dPn(234)으로 표시된다. 각각의 다운스트림 P2P 브릿지는 각각의 내부 PCI 버스에 연결되는 것이 바람직하다. 종래 PCI 익스프레스 스위치와 달리, 각각의 다운스트림 P2P 브릿지는 내부 PCI 버스 B0 또는 B1 중 하나의 열거 활동(enumeration exercise)에 응답하도록 구성될 수 있다.
제어 방법은 내부 구성 제어 레지스터, 외부 하드웨어 스트랩, 또는 다른 외부 구성 관리 인터페이스인 외부 제어(242)로 이루어진다. 제어 방법은 다운스트림 P2P 브릿지(232, 234, 및 235)가 응답해야할 버스를 정의한다. 다른 PCI 버스로부터의 통신은 무시된다. 예를 들어, 파워-업 시퀀스(power-up sequence)의 단부에서, 임의의 방법론은 자원(I/O 및 dPx)을 버스 B0 또는 B1에 할당함으로써, 구성을 개시한다. 이처럼, 다운스트림 포트(dPx)는 양쪽 둘다가 아닌 내부 버스 B0 또는 B1 중 하나로부터의 사이클에만 응답한다. 물리적인 연결은 존재하지만, 응답은 버스 B0 또는 버스 B1 상의 사이클에 대해서만 발생한다.
도 4는 자신의 관련 외부 버스를 갖는 브릿지 제어 논리(236), PCI 열거 및 발견을 위한 구성 인터페이스(237), 버스(0)에 대한 내부 PCI 버스 구성 인터페이스(238), 및 버스(1)에 대한 내부 PCI 버스 구성 인터페이스(239)를 상세히 나타낸 다. 디바이스를 열거 및 구성하는 동안, CPU0(202) 상에서 동작하는 오퍼레이팅 시스템은 PCI 구성 공간 레지스트리 컨텐츠를 판독함으로써 디바이스를 발견한다. CPU0(202)는 uP0(231)에서 찾은 PCI-대-PCI 브릿지를 발견할 것이다. 오퍼레이팅 시스템은 버스 B0 상에서 찾은 디바이스를 열거하고, 스위치 내부 버스 B0에 관련된 제어 인터페이스 Ifc_B0(238)를 발견할 것이다. 이 디바이스는 자신을 구성가능 PCI 익스프레스 스위치로 식별하는 고유 브릿지 ID 번호를 가진다. 따라서, 인터페이스 Ifc_B0(238)는 스위치의 내부 버스 B0에 관련된다. 이것이 B0 상의 I/O 사이클 및 구성의 마스터 또는 목표일 수 있다. CPU0(202)는 그후 버스 B0 상에서 발견되는 모든 디바이스를 열거할 것이다.
종료할 때, CPU0(202)는 인터페이스 Ifc_B0(238)를 통해 스위치 제어기에대해 발견 요구를 개시시킬 것이다. 그러면, 제어기는 구성 요구를 개시시켜 버스 B1 상의 각각의 디바이스에 대한 구성 공간을 판독하거나, Ifc_B1(239)를 통해 CPU1(216)에 대해 버스 B1 상에 열거된 디바이스를 요구하는 요청을 개시시킨다. CPU0(202)가 요구한 정보를 모은 후에, 스위치 제어기는 Ifc_B0(238)를 통해 CPU0(202)으로의 응답을 개시시키고 요구된 정보를 반환할 것이다. 따라서, 이 메커니즘은 CPU0(202) 및 CPU1(216)이 어느 디바이스가 요구에 대해 사용가능한지를 결정할 수 있도록 한다.
외부 제어(237)에 의해 제공되는 외부 제어 인터페이스는 감독을 수행하는 버스 관리자가 다운스트림 자원(I/0)을 CPU0(202) 또는 CPU1(216)에 할당하는 것을 가능하게 한다. 외부 제어(237)는 브릿지 제어기 논리(236)에게 구성가능 스위치 의 외부 버스 B0 및 B1로부터 어느 디바이스가 사용가능한지를 물어봄으로써 이 기능을 수행한다. 이 특징은 특히, CPU/오퍼레이팅 시스템 응답가능성에 기초하여 자원을 할당할 때 및 태스크가 각각의 업스트림 서버 엔티티에 할당될 때, 서버 아키텍처에 바람직하다.
CPU0(202)가 CPU1(216)에 할당된 자원를 원하면, CPU0(202)는 Ifc_B0(238)를 통해 현재 다운스트림(dPx) 포트 또는 종단점(I/O)에 대해 요구를 개시시킬 것이다. 브릿지 제어기 논리(236)는 그후 다운스트림 포트를 해제(release)하기 위한 요구를 CPU1(216)에게 개시시킨다. 요구가 수락되면, CPU1(216)는 종단점을 묵인(acquiesce)하고 다운스트림 포트(dPx)를 해제하기 위한 수락을 Ifc_B1(239)를 통해 브릿지 제어기 논리(236)에게 개시시킨다. 브릿지 제어기 논리(236)는 그후 스위치 포트 제어 인터페이스를 통해 B1으로부터의 PCI 익스프레스 분리 시퀀스를 수행할 것을 다운스트림 포트(dPx)에게 명령할 것이다. 분리되면, 브릿지 제어기 논리(236)는 스위치 포트 제어 인터페이스를 통해 B0로의 연결 시퀀스를 수행할 것을 다운스트림 포트(dPx)에게 명령할 것이다. 연결되면, CPU0(202)는 PCI 아키텍처 명세에 정의된 핫-플러그 이벤트(hot-plug event)를 수신할 것이다. 이벤트가 통지되면, CPU0(202)는 디바이스를 열거하고 이에 관련된 적절한 드라이버를 로드하여, 전이(transition)을 완료할 것이다.
CPU1(216)이 수락 요구를 거절하면, CPU1(216)은 Ifc_B1(239)을 통해 CPU0(202)에게 거절된 요구의 발신자를 알려주는 메시지를 개시시킨다. 브릿지 제어기 논리(236)는 B0를 거치는 CPU0(202)로의 인터페이스 Ifc_B0(238)를 통해 CPU0(202)로의 응답을 개시시켜, 거절 시퀀스를 완료한다.
도 5는 도킹된(docked) 랩탑 PC[시스템(201)]와 강화 도킹 스테이션[시스템(215)]이 구성가능 스위치를 통해 관련된 자원를 공유하는 예를 예시한다. 어플리케이션이 랩탑에 로드되고 사용자가 현재 강화 도킹 스테이션 토폴로지에 의해 구성된 스캐너를 사용하여 사진을 획득하길 원한다면, 랩탑 PC는 스캐너의 소유권을 요구할 것이다. 사용자가 스캐너를 통해 획득되고 스캔 및 조정된 사진을 프린트하길 원하면, 랩탑 PC 토폴로지는 강화 도킹 스테이션에 관련된 사진 품질 프린터의 소유권을 요구할 것이다. 랩탑 PC가 도킹되지 않았으면, 구성가능 스위치를 통해 랩탑 PC에 관련되는 모든 자원들은 관련되지 않게 되고, 구성가능 스위치는 그후 자원를 강화 도킹 스테이션에 재할당하여 이 토폴로지 내에서 사용한다.
도 6은 다수의 PCI 익스프레스 버스를 가진 CPU 복합물이 어떻게 다수의 구성가능 PCI 익스프레스 스위치를 통해 I/O 디바이스를 사용하도록 구성될 수 있는지를 예시한다. 이 예에서, CPU1(216)은 스위치 SW0[227(1)] 및 SW1[227(2)]과 인터페이스한다. SW0 및 SW1에 연결된 어떠한 I/O 디바이스도 그후 CPU1(216)에 할당될 수 있다. 이 구성에서, SW0 내의 다운스트림 P2P 브릿지만이 CPU0(202)에 할당될 수 있으며, SW1 내의 다운스트림 P2P 브릿지만이 CPU2(241)에 할당될 수 있다.
도 7은 도 6의 변형이다. 도 7는 다수의 스위치 간의 공유 대역폭 보다는 CPU1(216)으로부터 양 스위치까지의 사용가능한 전체 대역폭을 사용할 수 있는 능력을 나타낸다.
도 8은 2개의 스위치 SW0 및 SW1 내의 모든 자원에의 액세스를 갖는 3개의 CPU 복합물(202, 216 및 241)의 또다른 예이다. 도 8은 또다른 스위치 확장의 예이지만, 업스트림 CPU 복합물을 추가한 관련된 내부 스위치 복합성을 나타내는데도 또한 유용하다. 또한 도 8은 이런 구현의 다수의 업스트림 P2P 브릿지가 다운스트림 브릿지를 사용함을 나타낼 수 있지만, 이것은 다운스트림 P2P 브릿지가 업스트림 브짓지보다 설계에 더욱 용이하게 추가되는 경우는 아니다.
본 발명이 다양한 도면의 바람직한 실시예에 관련하여 설명되었지만, 본 발명을 벗어나지 않고 본 발명과 동일한 기능을 수행하기 위해 설명된 실시예와 유사한 실시예가 사용되거나 변형 및 추가가 행해질 수 있다. 예를 들어, 당업자는 본 출원에 설명된 본 발명이 임의의 컴퓨팅 디바이스 또는 환경에 적용될 수 있으며, 무선 또는 유선에 상관없이, 통신 네트워크를 통해 연결되고 네트워크를 통해 대화하는 임의의 수의 이러한 컴퓨팅 디바이스에 적용될 수 있음을 인식할 것이다. 또한, 무선 네트워킹 디바이스의 수가 계속 증가함에 따라, 핸드헬드 디바이스 오퍼레이팅 시스템 및 다른 어플리케이션 특정 오퍼레이팅 시스템을 포함한, 다양한 컴퓨터 플랫폼도 고려됨을 유념해야 한다. 또한, 본 발명은 복수의 프로세싱 칩 또는 디바이스에서 또는 이를 이들에 걸쳐 구현될 수 있으며, 저장장치는 마찬가지로 복수의 디바이스를 통해 실형될 수 있다. 따라서, 본 발명은 임의의 단일 실시예에 한정되지 않으며, 첨부된 청구항에 따른 영역 및 취지 내에 구성되야 한다.
본 발명은 다수의 CPU가 단일 스위치를 통해 다수의 I/O 디바이스에 연결될 수 있게 하는 구성가능 스위치를 제공한다.

Claims (20)

  1. 구성가능 PCI 익스프레스 스위치로서,
    복수의 업스트림 PCI-대-PCI 포트;
    복수의 다운스트림 PCI-대-PCI 포트;
    각각의 업스트림 포트에 관련된 내부 PCI 버스; 및
    어느 업스트림 포트가 어느 다운스트림 포트와 통신할지를 구성하는 제어기
    를 포함하는 스위치.
  2. 제1항에 있어서, 상기 업스트림 포트들 중 소정의 하나와 통신하는 CPU는 상기 다운스트림 포트 중 임의의 것과 통신하도록 구성가능한 스위치.
  3. 제2항에 있어서, 각각의 상기 내부 PCI 버스는 각각의 다운스트림 포트에 연결되는 스위치.
  4. 제2항에 있어서, 상기 CPU는 PCI 구성 공간 레지스트리를 판독함으로써 디바이스를 발견하고, 상기 CPU에 관련된 PCI 버스 상에서 찾은 디바이스를 열거하고,
    상기 디바이스는 상기 업스트림 포트 중 상기 소정의 하나와 통신하는 다운스트림 포트에 연결된 스위치.
  5. 제4항에 있어서, 제2 CPU가 상기 CPU에 열거된 디바이스에의 액세스를 요구하면, 상기 제어기는 상기 디바이스가 연결된 다운스트림 포트를 해지하기 위한 요청을 상기 CPU에 대해 개시시키고,
    상기 요구가 수락되면, 상기 CPU는 상기 디바이스를 묵인하고, 상기 제어기에게 상기 다운스트림 포트의 해제를 위한 수락을 개시시키는 스위치.
  6. 제5항에 있어서, 상기 제어기는 상기 다운스트림 포트에게 상기 CPU에 관련된 상기 버스에서부터의 분리 시퀀스를 수행할 것을 명령하고,
    상기 제어기는 상기 제2 CPU에 관련된 버스로의 연결 시퀀스를 수행할 것을 명령하는 스위치.
  7. 제1항에 있어서, 내부 구성 제어 레지스터를 사용하여 각각의 상기 다운 스트림 포트가 어느 내부 버스에 응답해야하는지를 정의하는 스위치.
  8. 제1항에 있어서, 하드웨어 스트랩(strap)을 사용하여 각각의 상기 다운스트림 포트가 어느 내부 버스에 응답하는지를 정의는 스위치.
  9. 제1항에 있어서, 외부 구성 관리 엔티티에 의한 구성 제어를 위해 외부 구성 관리 인터페이스가 제공되는 스위치.
  10. 제1항에 있어서, 각각의 다운스트림 포트는 각각의 내부 PCI 버스에 연결되며,
    각각의 다운스트림 포트는 하나의 내부 PCI 버스에만 응답하는 스위치.
  11. 구성가능 PCI 익스프레스 스위치를 제어하는 방법으로서,
    PCI 구성 공간 레지스트리를 판독하는 단계;
    복수의 다운스트림 PCI-대-PCI 브릿지 중 하나를 발견하는 단계;
    상기 복수의 업스트림 PCI-대-PCI 브릿지 중 상기 하나에 관련된 버스를 위한 제어 인터페이스를 발견하는 단계; 및
    상기 버스 상에서 발견된 디바이스들을 열거하는 단계
    를 포함하는 방법.
  12. 제11항에 있어서,
    인터페이스를 통해 제어기로의 발견 요구를 개시시키는 단계;
    상기 버스 상의 각각의 디바이스에 대한 구성 공간을 판독하는 단계; 및
    상기 발견 요구에 의해 요청된 정보를 반환하기 위해 상기 인터페이스를 통해 응답하는 단계
    를 더 포함하는 방법.
  13. 제11항에 있어서,
    다운스트림 자원(resource)을 상기 복수의 CPU 중 하나에 할당하는 단계를 더 포함하며,
    상기 각각의 CPU들은 상기 복수의 업스트림 PCI-대-PCI 브릿지 중 상기 하나에 관련된 방법.
  14. 제13항에 있어서,
    어느 디바이스가 상기 복수의 업스트림 PCI-대-PCI 브릿지 중 상기 하나에 관련된 상기 버스에 할당되는지를 결정하기 위해 제어기에게 질의(query)하는 단계를 더 포함하는 방법.
  15. 제11항에 있어서,
    제1 CPU가 제2 CPU에 열거된 디바이스에의 액세스를 요구하면, 제어기는 상기 디바이스가 연결된 다운스트림 포트를 해제시키려는 요구를 상기 제2 CPU에 대해 개시시키고,
    상기 요구가 수락되면, 상기 제2 CPU는 상기 디바이스를 묵인하고 상기 다운스트림 포트의 해제를 위한 수락을 상기 제어기에 대해 개시시키는 방법.
  16. 제15항에 있어서, 상기 제어기는 상기 다운스트림 포트에게 상기 CPU에 관련된 상기 버스로부터의 분리 시퀀스를 수행할 것을 명령하며,
    상기 제어기는 상기 다운스트림 포트에게 상기 CPU에 관련된 버스로의 연결 시퀀스를 수행할 것을 명령하는 방법.
  17. 복수의 CPU 복합물들(complexes)을 연결하는 구성가능 PCI 익스프레스 스위치로서,
    각각이 상기 CPU 복합물중 하나에 연결된 복수의 업스트림 PCI-대-PCI 포트;
    복수의 다운스트림 PCI-대-PCI 포트;
    각각이 개별적인 업스트림 포트에 연결된 복수의 내부 PCI 버스; 및
    어느 업스트림 포트가 어느 다운스트림 포트와 통신할지를 구성하는 제어기
    를 포함하고,
    각각의 다운스트림 포트는 각각의 PCI 버스에 연결되고, 각각의 다운스트림 포트는 하나의 내부 PCI 버스에만 응답하며,
    상기 제어기는 각각의 CPU 복합물에 관련된 인터페이스를 통해 발견 요구를 수신하는 스위치.
  18. 제17항에 있어서, 상기 업스트림 포트 중 소정의 하나와 통신하는 CPU는 상기 다운스트림 포트 중 어느 것과도 통신하도록 구성될 수 있는 스위치.
  19. 제17항에 있어서, CPU가 제2 CPU에 열거된 디바이스에의 액세스를 요구하면, 상기 제어기는 상기 디바이스가 연결된 다운스트림 포트를 해제하기 위한 요구를 상기 제2 CPU에 대해 개시시키며,
    상기 요구가 수락되면, 상기 제2 CPU는 상기 디바이스를 묵인하고 상기 다운스트림 포트의 해제를 위한 수락을 상기 제어기에 대해 개시시키는 스위치.
  20. 제19항에 있어서, 상기 제어기는 상기 다운스트림 포트에게 상기 제2 CPU에 관련된 상기 버스에서부터의 분리 시퀀스를 수행할 것을 명령하며,
    상기 제어기는 상기 다운스트림 포트에게 상기 CPU에 관련된 버스로의 연결 시퀀스를 수행할 것을 명령하는 스위치.
KR1020050028032A 2004-04-28 2005-04-04 구성가능 pci 익스프레스 스위치 및 그 제어 방법 KR100796419B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/834,138 US7058738B2 (en) 2004-04-28 2004-04-28 Configurable PCI express switch which allows multiple CPUs to be connected to multiple I/O devices
US10/834,138 2004-04-28

Publications (2)

Publication Number Publication Date
KR20060045489A true KR20060045489A (ko) 2006-05-17
KR100796419B1 KR100796419B1 (ko) 2008-01-21

Family

ID=34939244

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050028032A KR100796419B1 (ko) 2004-04-28 2005-04-04 구성가능 pci 익스프레스 스위치 및 그 제어 방법

Country Status (8)

Country Link
US (1) US7058738B2 (ko)
EP (1) EP1591910B1 (ko)
JP (1) JP4095078B2 (ko)
KR (1) KR100796419B1 (ko)
CN (1) CN100573481C (ko)
AT (1) ATE421727T1 (ko)
DE (1) DE602005012453D1 (ko)
TW (1) TWI364663B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101401874B1 (ko) * 2010-02-22 2014-05-29 닛본 덴끼 가부시끼가이샤 통신제어 시스템, 스위칭 노드, 통신제어 방법, 및 통신제어용 프로그램

Families Citing this family (121)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8037224B2 (en) 2002-10-08 2011-10-11 Netlogic Microsystems, Inc. Delegating network processor operations to star topology serial bus interfaces
US8176298B2 (en) * 2002-10-08 2012-05-08 Netlogic Microsystems, Inc. Multi-core multi-threaded processing systems with instruction reordering in an in-order pipeline
US7924828B2 (en) 2002-10-08 2011-04-12 Netlogic Microsystems, Inc. Advanced processor with mechanism for fast packet queuing operations
US7984268B2 (en) 2002-10-08 2011-07-19 Netlogic Microsystems, Inc. Advanced processor scheduling in a multithreaded system
US9088474B2 (en) 2002-10-08 2015-07-21 Broadcom Corporation Advanced processor with interfacing messaging network to a CPU
US8478811B2 (en) 2002-10-08 2013-07-02 Netlogic Microsystems, Inc. Advanced processor with credit based scheme for optimal packet flow in a multi-processor system on a chip
US7334086B2 (en) 2002-10-08 2008-02-19 Rmi Corporation Advanced processor with system on a chip interconnect technology
US7627721B2 (en) 2002-10-08 2009-12-01 Rmi Corporation Advanced processor with cache coherency
US8015567B2 (en) 2002-10-08 2011-09-06 Netlogic Microsystems, Inc. Advanced processor with mechanism for packet distribution at high line rate
US7961723B2 (en) 2002-10-08 2011-06-14 Netlogic Microsystems, Inc. Advanced processor with mechanism for enforcing ordering between information sent on two independent networks
US7346757B2 (en) * 2002-10-08 2008-03-18 Rmi Corporation Advanced processor translation lookaside buffer management in a multithreaded system
US8732644B1 (en) 2003-09-15 2014-05-20 Nvidia Corporation Micro electro mechanical switch system and method for testing and configuring semiconductor functional circuits
US8775997B2 (en) 2003-09-15 2014-07-08 Nvidia Corporation System and method for testing and configuring semiconductor functional circuits
US8775112B2 (en) 2003-09-15 2014-07-08 Nvidia Corporation System and method for increasing die yield
US8711161B1 (en) 2003-12-18 2014-04-29 Nvidia Corporation Functional component compensation reconfiguration system and method
US20050248584A1 (en) * 2004-05-10 2005-11-10 Koji Takeo Imaging system and image processing apparatus
US20050256977A1 (en) * 2004-05-14 2005-11-17 Dehaemer Eric J Integrated circuit having processor and switch capabilities
US20050270988A1 (en) * 2004-06-04 2005-12-08 Dehaemer Eric Mechanism of dynamic upstream port selection in a PCI express switch
US8723231B1 (en) 2004-09-15 2014-05-13 Nvidia Corporation Semiconductor die micro electro-mechanical switch management system and method
US7370224B1 (en) * 2005-02-17 2008-05-06 Alcatel Usa Sourcing, Inc System and method for enabling redundancy in PCI-Express architecture
US8711156B1 (en) 2004-09-30 2014-04-29 Nvidia Corporation Method and system for remapping processing elements in a pipeline of a graphics processing unit
US20060092928A1 (en) * 2004-10-15 2006-05-04 Dell Products L.P. System and method for providing a shareable input/output device in a PCI express environment
JP2006195871A (ja) * 2005-01-17 2006-07-27 Ricoh Co Ltd 通信装置、電子機器、及び画像形成装置
US20060168377A1 (en) * 2005-01-21 2006-07-27 Dell Products L.P. Reallocation of PCI express links using hot plug event
JP4398386B2 (ja) * 2005-01-28 2010-01-13 富士通株式会社 複数の処理ノードをシリアルバスにより相互接続する装置
JP4509827B2 (ja) 2005-03-04 2010-07-21 富士通株式会社 シリアルコネクトバスを使用したコンピュータシステム及び複数cpuユニットのシリアルコネクトバスによる接続方法
US7765357B2 (en) * 2005-03-24 2010-07-27 Fujitsu Limited PCI-express communications system
JP4410190B2 (ja) * 2005-03-24 2010-02-03 富士通株式会社 PCI−Express通信システム
US7643495B2 (en) * 2005-04-18 2010-01-05 Cisco Technology, Inc. PCI express switch with encryption and queues for performance enhancement
US7356636B2 (en) * 2005-04-22 2008-04-08 Sun Microsystems, Inc. Virtualized PCI switch
US9606795B1 (en) * 2005-05-05 2017-03-28 Alcatel-Lucent Usa Inc. Providing intelligent components access to an external interface
US7644219B2 (en) * 2005-06-30 2010-01-05 Dell Products L.P. System and method for managing the sharing of PCI devices across multiple host operating systems
US7484032B2 (en) * 2005-06-30 2009-01-27 Smith Roger A Fault tolerant computer system
US20070028152A1 (en) * 2005-08-01 2007-02-01 Mishra Kishore K System and Method of Processing Received Line Traffic for PCI Express that Provides Line-Speed Processing, and Provides Substantial Gate-Count Savings
US8189603B2 (en) 2005-10-04 2012-05-29 Mammen Thomas PCI express to PCI express based low latency interconnect scheme for clustering systems
US8417838B2 (en) * 2005-12-12 2013-04-09 Nvidia Corporation System and method for configurable digital communication
US8412872B1 (en) 2005-12-12 2013-04-02 Nvidia Corporation Configurable GPU and method for graphics processing using a configurable GPU
US7447822B2 (en) * 2005-12-12 2008-11-04 Inventec Corporation Hot-plug control system and method
US7340557B2 (en) * 2005-12-15 2008-03-04 Via Technologies, Inc. Switching method and system for multiple GPU support
US8189573B2 (en) * 2005-12-22 2012-05-29 Intel Corporation Method and apparatus for configuring at least one port in a switch to be an upstream port or a downstream port
US20070165596A1 (en) * 2006-01-18 2007-07-19 Boyd William T Creation and management of routing table for PCI bus address based routing with integrated DID
JP4670676B2 (ja) * 2006-02-17 2011-04-13 日本電気株式会社 スイッチ及びネットワークブリッジ装置
US7516263B2 (en) * 2006-02-27 2009-04-07 Emerson Network Power - Embedded Computing, Inc. Re-configurable PCI-Express switching device
JP4877482B2 (ja) * 2006-04-11 2012-02-15 日本電気株式会社 PCIExpressリンク、マルチホストコンピュータシステム、およびPCIExpressリンクの再構成方法
JP4998469B2 (ja) * 2006-08-09 2012-08-15 日本電気株式会社 インターコネクション用スイッチおよびシステム
US7594060B2 (en) * 2006-08-23 2009-09-22 Sun Microsystems, Inc. Data buffer allocation in a non-blocking data services platform using input/output switching fabric
US7676625B2 (en) * 2006-08-23 2010-03-09 Sun Microsystems, Inc. Cross-coupled peripheral component interconnect express switch
US20080052403A1 (en) * 2006-08-23 2008-02-28 Sun Microsystems, Inc. Input/output routers with dual internal ports
JP4501916B2 (ja) * 2006-09-20 2010-07-14 日本電気株式会社 I/o機器の共有システムと情報処理装置共有システム及びそれらに用いる方法
US7519761B2 (en) * 2006-10-10 2009-04-14 International Business Machines Corporation Transparent PCI-based multi-host switch
US8819326B1 (en) * 2006-12-12 2014-08-26 Spansion Llc Host/client system having a scalable serial bus interface
US8271604B2 (en) 2006-12-19 2012-09-18 International Business Machines Corporation Initializing shared memories for sharing endpoints across a plurality of root complexes
US7991839B2 (en) * 2006-12-19 2011-08-02 International Business Machines Corporation Communication between host systems using a socket connection and shared memories
US7860930B2 (en) * 2006-12-19 2010-12-28 International Business Machines Corporation Communication between host systems using a transaction protocol and shared memories
US7836129B2 (en) * 2006-12-19 2010-11-16 International Business Machines Corporation Communication between host systems using a queuing system and shared memories
US7813366B2 (en) 2006-12-19 2010-10-12 International Business Machines Corporation Migration of a virtual endpoint from one virtual plane to another
US7836238B2 (en) * 2006-12-19 2010-11-16 International Business Machines Corporation Hot-plug/remove of a new component in a running PCIe fabric
US7984454B2 (en) * 2006-12-19 2011-07-19 International Business Machines Corporation Migration of single root stateless virtual functions
JP4429331B2 (ja) 2007-03-08 2010-03-10 エヌイーシーコンピュータテクノ株式会社 Pciデバイスのホットプラグにおけるモード設定方法及びpciバスを有するシステム
JP4839484B2 (ja) * 2007-04-06 2011-12-21 日本電気株式会社 バス接続デバイス、バス接続方法およびバス接続用プログラム
KR101143684B1 (ko) * 2007-04-20 2012-05-09 인터내셔널 비지네스 머신즈 코포레이션 어댑터 카드 장애극복 장치, 시스템 및 방법
US7966440B2 (en) * 2007-05-14 2011-06-21 Ricoh Company, Limted Image processing controller and image forming apparatus
US8050290B2 (en) 2007-05-16 2011-11-01 Wilocity, Ltd. Wireless peripheral interconnect bus
US7930462B2 (en) * 2007-06-01 2011-04-19 Apple Inc. Interface controller that has flexible configurability and low cost
US9075926B2 (en) * 2007-07-19 2015-07-07 Qualcomm Incorporated Distributed interconnect bus apparatus
US20090037617A1 (en) * 2007-07-30 2009-02-05 Riley Dwight D Middle management of input/output in server systems
TW200907639A (en) * 2007-08-09 2009-02-16 Asustek Comp Inc Docking station and expandable computer system
WO2009025381A1 (ja) 2007-08-23 2009-02-26 Nec Corporation I/oシステムおよびi/o制御方法
US20090063894A1 (en) * 2007-08-29 2009-03-05 Billau Ronald L Autonomic PCI Express Hardware Detection and Failover Mechanism
US8316377B2 (en) * 2007-09-06 2012-11-20 Hewlett-Packard Development Company, L.P. Sharing legacy devices in a multi-host environment
JP5244362B2 (ja) * 2007-10-09 2013-07-24 株式会社アキブシステムズ 高速ネットワークシステム及び関連装置
US8724483B2 (en) 2007-10-22 2014-05-13 Nvidia Corporation Loopback configuration for bi-directional interfaces
US8453019B2 (en) * 2007-11-06 2013-05-28 Nvidia Corporation Method and system for a free running strobe tolerant interface
US7711886B2 (en) * 2007-12-13 2010-05-04 International Business Machines Corporation Dynamically allocating communication lanes for a plurality of input/output (‘I/O’) adapter sockets in a point-to-point, serial I/O expansion subsystem of a computing system
US7877536B2 (en) * 2007-12-26 2011-01-25 Texas Instruments Incorporated Scalable distributed routing scheme for PCI express switches
JP5154238B2 (ja) * 2008-01-18 2013-02-27 株式会社日立製作所 複合型計算機システムの管理方法及び複合型計算機システム
US9596324B2 (en) 2008-02-08 2017-03-14 Broadcom Corporation System and method for parsing and allocating a plurality of packets to processor core threads
US8416803B1 (en) 2008-02-14 2013-04-09 Wilocity, Ltd. Low latency interconnect bus protocol
US8626976B2 (en) * 2008-02-26 2014-01-07 Hewlett-Packard Development Company, L.P. Method and apparatus for performing a host enumeration process
JP5074274B2 (ja) * 2008-04-16 2012-11-14 株式会社日立製作所 計算機システム及び通信経路の監視方法
JP5360607B2 (ja) 2008-05-16 2013-12-04 日本電気株式会社 Pciエクスプレススイッチ、pciエクスプレスシステム、及びネットワーク制御方法
US20090292849A1 (en) * 2008-05-22 2009-11-26 Khoo Ken Adaptable pci express controller core
US9477615B1 (en) * 2008-08-26 2016-10-25 Qualcomm Incorporated Bi-directional low latency bus mode
JP5280135B2 (ja) * 2008-09-01 2013-09-04 株式会社日立製作所 データ転送装置
JP5272265B2 (ja) 2008-09-29 2013-08-28 株式会社日立製作所 Pciデバイス共有方法
US8806258B2 (en) 2008-09-30 2014-08-12 Intel Corporation Platform communication protocol
JP5332000B2 (ja) * 2008-12-17 2013-10-30 株式会社日立製作所 複合型計算機装置、複合型計算機の管理方法及び管理サーバ
JP5401679B2 (ja) * 2009-02-19 2014-01-29 株式会社日立製作所 計算機システム、管理方法及び管理サーバ
US8687639B2 (en) * 2009-06-04 2014-04-01 Nvidia Corporation Method and system for ordering posted packets and non-posted packets transfer
JP5294324B2 (ja) * 2009-06-22 2013-09-18 日本電気株式会社 ネットワークシステム
JP5266590B2 (ja) * 2009-09-18 2013-08-21 株式会社日立製作所 計算機システムの管理方法、計算機システム及びプログラム
JP5069732B2 (ja) * 2009-10-05 2012-11-07 株式会社日立製作所 計算機装置、計算機システム、アダプタ承継方法
US9176909B2 (en) 2009-12-11 2015-11-03 Nvidia Corporation Aggregating unoccupied PCI-e links to provide greater bandwidth
CN102104557A (zh) * 2009-12-18 2011-06-22 上海贝尔股份有限公司 基带电路及其应用方法
JPWO2011105303A1 (ja) 2010-02-23 2013-06-20 日本電気株式会社 遠隔制御システム、遠隔制御方法、及び遠隔制御用プログラム
US9331869B2 (en) 2010-03-04 2016-05-03 Nvidia Corporation Input/output request packet handling techniques by a device specific kernel mode driver
JP2012048546A (ja) 2010-08-27 2012-03-08 Hitachi Ltd 計算機システム、i/oデバイス制御方法、及びi/oドロワ
US8443126B2 (en) * 2010-09-22 2013-05-14 Wilocity, Ltd. Hot plug process in a distributed interconnect bus
JP5483020B2 (ja) * 2010-10-13 2014-05-07 日本電気株式会社 通信制御装置、ネットワーク、及びネットワークシステム
JP5110156B2 (ja) * 2010-12-03 2012-12-26 日本電気株式会社 スイッチ及びネットワークブリッジ装置
WO2012137265A1 (en) 2011-04-08 2012-10-11 Hitachi, Ltd. Computer, computer system, and data communication method
CN102819517A (zh) * 2011-06-08 2012-12-12 鸿富锦精密工业(深圳)有限公司 Pcie接口卡
US20120324139A1 (en) * 2011-06-14 2012-12-20 Advanced Micro Devices, Inc. Wireless communication for point-to-point serial link protocol
US8943257B2 (en) 2011-09-30 2015-01-27 Intel Corporation Protocol neutral fabric
US8719480B2 (en) 2011-11-30 2014-05-06 International Business Machines Corporation Automated network configuration in a dynamic virtual environment
US9330031B2 (en) 2011-12-09 2016-05-03 Nvidia Corporation System and method for calibration of serial links using a serial-to-parallel loopback
CN103003806B (zh) * 2012-09-07 2015-12-02 华为技术有限公司 一种配置pcie端口的方法、装置和设备
US8843688B2 (en) * 2012-09-11 2014-09-23 International Business Machines Corporation Concurrent repair of PCIE switch units in a tightly-coupled, multi-switch, multi-adapter, multi-host distributed system
EP3032787B1 (en) 2012-10-27 2018-08-29 Huawei Technologies Co., Ltd. Method, device, system and storage medium for implementing packet transmission in pcie switching network
CN103036817A (zh) * 2012-12-14 2013-04-10 华为技术有限公司 一种服务器单板、服务器单板实现方法及主处理器
JP6230258B2 (ja) * 2013-04-19 2017-11-15 キヤノン株式会社 画像処理装置及び画像処理方法
US9319349B2 (en) 2013-06-20 2016-04-19 Micron Technology, Inc. Encapsulation enabled PCIE virtualisation
US9152591B2 (en) * 2013-09-06 2015-10-06 Cisco Technology Universal PCI express port
KR102147629B1 (ko) * 2013-11-18 2020-08-27 삼성전자 주식회사 플렉시블 서버 시스템
US9563591B2 (en) * 2014-03-06 2017-02-07 International Business Machines Corporation Peripheral component interconnect express (PCIe) ping in a switch-based environment
US20170010996A1 (en) * 2015-07-09 2017-01-12 Hong Fu Jin Precision Industry (Shenzhen) Co., Ltd. System for expansion of input/output ports of a computer
US10437762B2 (en) * 2018-01-16 2019-10-08 Dell Products, L.P. Partitioned interconnect slot for inter-processor operation
US10956353B1 (en) * 2018-02-26 2021-03-23 Amazon Technologies, Inc. Connector configurations for printed circuit boards
WO2019207586A1 (en) * 2018-04-24 2019-10-31 Technion Research & Development Foundation Limited Multiple processor computing device with configurable electrical connectivity to peripherals
US11023402B2 (en) * 2019-07-02 2021-06-01 National Instruments Corporation Switch pruning in a switch fabric bus chassis
WO2022007644A1 (zh) * 2020-07-10 2022-01-13 华为技术有限公司 多处理器系统及配置多处理器系统的方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5297260A (en) * 1986-03-12 1994-03-22 Hitachi, Ltd. Processor having a plurality of CPUS with one CPU being normally connected to common bus
AU650242B2 (en) * 1989-11-28 1994-06-16 International Business Machines Corporation Methods and apparatus for dynamically managing input/output (I/O) connectivity
US5771387A (en) * 1996-03-21 1998-06-23 Intel Corporation Method and apparatus for interrupting a processor by a PCI peripheral across an hierarchy of PCI buses
US6324613B1 (en) * 1999-01-05 2001-11-27 Agere Systems Guardian Corp. Port router
US20020049878A1 (en) * 2000-10-23 2002-04-25 Giora Biran Data communications interfaces
PL363432A1 (en) * 2001-01-31 2004-11-15 International Business Machines Corporation Method and apparatus for transferring interrupts from a peripheral device to a host computer system
US20040015638A1 (en) * 2002-07-22 2004-01-22 Forbes Bryn B. Scalable modular server system
US7802049B2 (en) * 2002-10-30 2010-09-21 Intel Corporation Links having flexible lane allocation
DE60327357D1 (de) * 2002-10-31 2009-06-04 Ring Technology Entpr S Llc Verfahren und systeme für ein speichersystem
US7415551B2 (en) * 2003-08-18 2008-08-19 Dell Products L.P. Multi-host virtual bridge input-output resource switch
US7421532B2 (en) * 2003-11-18 2008-09-02 Topside Research, Llc Switching with transparent and non-transparent ports
US20050125590A1 (en) * 2003-12-09 2005-06-09 Li Stephen H. PCI express switch

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101401874B1 (ko) * 2010-02-22 2014-05-29 닛본 덴끼 가부시끼가이샤 통신제어 시스템, 스위칭 노드, 통신제어 방법, 및 통신제어용 프로그램
US9047416B2 (en) 2010-02-22 2015-06-02 Nec Corporation Communication control system, switching node, communication control method and communication control program including PCI express switch and LAN interface

Also Published As

Publication number Publication date
US7058738B2 (en) 2006-06-06
US20050246460A1 (en) 2005-11-03
EP1591910B1 (en) 2009-01-21
KR100796419B1 (ko) 2008-01-21
TW200602880A (en) 2006-01-16
DE602005012453D1 (de) 2009-03-12
JP4095078B2 (ja) 2008-06-04
ATE421727T1 (de) 2009-02-15
JP2005317021A (ja) 2005-11-10
EP1591910A1 (en) 2005-11-02
CN1694079A (zh) 2005-11-09
TWI364663B (en) 2012-05-21
CN100573481C (zh) 2009-12-23

Similar Documents

Publication Publication Date Title
KR100796419B1 (ko) 구성가능 pci 익스프레스 스위치 및 그 제어 방법
US7099969B2 (en) Dynamic reconfiguration of PCI Express links
US6065085A (en) Bus bridge architecture for a data processing system capable of sharing processing load among a plurality of devices
US20040068602A1 (en) Apparatus, method and system for accelerated graphics port bus bridges
CA2558360A1 (en) Pvdm (packet voice data module) generic bus protocol
GB2485701A (en) Using a central interface and a core specific shim to connect a computer bus to a core using an on chip protocol
WO2013032712A1 (en) Integrating intellectual property (ip) blocks into a processor
US20140280960A1 (en) Methods and apparatus for dynamically allocating devices between multiple controllers
EP3716084A1 (en) Apparatus and method for sharing a flash device among multiple masters of a computing platform
US10846256B2 (en) Multi-endpoint device sideband communication system
US7096306B2 (en) Distributed system with cross-connect interconnect transaction aliasing
CN112202600B (zh) 一种多节点单主机与多主机通信自动切换装置及方法
US11093422B2 (en) Processor/endpoint communication coupling configuration system
EP3813308A1 (en) Message forwarding method, intermediate device and computer device
TW202343237A (zh) 資料中心安全控制模組及其控制方法
US6636916B1 (en) Assigning PCI device interrupts in a computer system
US20200327091A1 (en) Device communication control module and device communication control method
US11003612B2 (en) Processor/endpoint connection configuration system
IL134969A (en) Dynamic i/o allocation in a partitioned computer system
CN117971135B (zh) 存储设备的访问方法、装置、存储介质和电子设备
US11829466B2 (en) Device access control system
CN117978759B (zh) 一种互联装置、高性能交换装置及大模型一体机

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: 20121227

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20131227

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20141230

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20151217

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20161220

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20171219

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20181226

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20191217

Year of fee payment: 13