KR101035832B1 - 집적 종단점 장치와, 집적 pci 익스프레스 종단점 장치및 pci 익스프레스 통신 시스템 - Google Patents

집적 종단점 장치와, 집적 pci 익스프레스 종단점 장치및 pci 익스프레스 통신 시스템 Download PDF

Info

Publication number
KR101035832B1
KR101035832B1 KR1020067019300A KR20067019300A KR101035832B1 KR 101035832 B1 KR101035832 B1 KR 101035832B1 KR 1020067019300 A KR1020067019300 A KR 1020067019300A KR 20067019300 A KR20067019300 A KR 20067019300A KR 101035832 B1 KR101035832 B1 KR 101035832B1
Authority
KR
South Korea
Prior art keywords
pci express
endpoint device
pci
integrated
endpoint
Prior art date
Application number
KR1020067019300A
Other languages
English (en)
Other versions
KR20070003954A (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=34961636&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR101035832(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 엔엑스피 비 브이 filed Critical 엔엑스피 비 브이
Publication of KR20070003954A publication Critical patent/KR20070003954A/ko
Application granted granted Critical
Publication of KR101035832B1 publication Critical patent/KR101035832B1/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
    • 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
    • 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

Abstract

계층적으로 부착된 2개의 개별적 하드웨어 서브시스템으로 간주되는 2개의 소프트웨어도를 제공하는 단일 하드웨어 서브시스템은 PCI 유형 구조와 함께 구현된다. 본 발명의 예시적인 실시 예에 따르면, 하드웨어 구조(100)는 단일 하드웨어 블럭(120)의 2개의 가상적으로 개별적인 계층적 서브시스템(121,146)을 애뮬레이트한다. 이러한 애뮬레이션은 PCI 익스프레스형 통신 링크를 장치들에 결합시키고, 그러한 장치에 대한 PCI 익스프레스형 링크 요건을 처리하는 것을 용이하게 한다.

Description

집적 종단점 장치와, 집적 PCI 익스프레스 종단점 장치 및 PCI 익스프레스 통신 시스템{SIMULATION CIRCUIT OF PCI EXPRESS ENDPOINT AND DOWNSTREAM PORT FOR A PCI EXPRESS SWITCH}
본 발명은 전반적으로 프로세싱 유형 애플리케이션을 위한 통신에 관한 것으로, 보다 구체적으로는, PCI 익스프레스(Express)형 링크를 이용한 통신 방법 및 구조에 관한 것이다.
PCI(Peripheral Component Interconnect)는 마이크로프로세서와, 고속 동작을 위해 확장 슬롯이 밀접하게 이격된 부속 장치간의 상호 접속 시스템이다. 컴퓨터는, PCI를 이용하여, 구 표준인 ISA(Industry Standard Architecture) 확장 카드를 계속적으로 지원하면서, 새로운 PCI 카드를 지원할 수 있다. PCI는 마이크로프로세서 고안과 무관하게 되고, 마이크로프로세서의 클럭 속도와 동기화되도록 고안된다. PCI는 (멀티-드롭 버스(multi-drop bus)상의)능동 경로를 이용하여 어드레스 및 데이터 신호를 전송하되, 한 클럭 사이클상에서 어드레스를 전송하고, 다음에 데이터를 전송한다. PCI 버스는 서로에 대한 고속 액세스를 필요로 하는 어댑 터 및/또는 메모리 시스템과 함께 장착되고, 호스트 프로세서에 의해 프로세서의 순 버스 속도에 근접한 속도로 액세스될 수 있다. PCI 버스트를 통한 판독 및 기록 전달은 제 1 사이클상의 어드레스 및 특정 수의 연속하는 사이클상의 데이터 전송 시퀀스와 함께 시작하여 전송될 수 있는 버스트 전달에 의해 구현된다. 버스트의 길이는 개시자(initiator)와 목표 장치간에 절충되는 임의 길이일 수 있다. PCI 유형 아키텍처는 폭넓게 구현되고, 현재에는 대부분 데스크탑 컴퓨터상에 설치된다.
PCI 익스프레스 아키텍처는 PCI 아키텍처를 특정하게 변경한 것과 유사한 점이 있다. PCI 익스프레스 아키텍처는, PCI 아키텍처의 멀티-드롭 버스를, 입력-출력(I/O) 버스에 팬-아웃(fan-out)을 제공하는 스위치로 대체한 스위치를 채용한다. 스위치의 팬-아웃 기능은 고성능의 애드-인(add-in) I/O에 대한 일련의 접속을 용이하게 한다. 그 스위치는 호스트 브리지(host bridge)를 포함하는 부품내에 구현될 수 있는 논리 소자이다. PCI 스위치는, 논리적으로는, 예를 들어, PCI-PCI 브리지의 집합으로 간주될 수 있는데, PCI-PCI 브리지에서는 추가의 PCI-PCI 브리지 그룹의 다운스트림(downstream)측을 통해 그의 업스트림측으로 향하는 개인 로컬 버스에 접속된 업스트림 브리지이다.
PCI 익스프레스는, 애플리케이션에 있어서, 일반적으로 내부 버스상에 존재하는 것이 허용되지 않은 종단점 유형의 장치(endpoint type device)로 제한된다. 특히, PCI 익스프레스가 요구하는 것은, 구성 소프트웨어에 대해 (유형 00h 구성 스페이스 헤더(Type 00h Configuration Space headers)에 의해 표시된) 종단점 장 치가, PCI 익스프레스 스위치의 내부 버스상에서 스위치 다운스트림 포트를 나타내는 가상 PCI-PCI 브리지의 피어(peers)로서 간주되지 않도록 하는 것이다. 또한, 스위치 다운스트림 포트를 나타내는 PCI-PCI 브리지만이 내부 버스상에 나타나고 유형 00h 구성 스페이스 헤더(Type 00h Configuration Space headers)에 의해 표시된 종단점은 내부 버스상에 나타나지 않는다.
이러한 제한 및 다른 제한은 PCI 익스프레스 통신을 하는 집적 회로를 구현하는데 있어서 어려움을 준다.
본 발명의 여러 측면은 상호 접속형 구조(예를 들어 PCI 구조)와 같은 다양한 컴퓨터 회로등을 위한 테스트 방식을 수반한다. 본 발명은 다수의 구현 및 애플리케이션에 예시되며, 그중 일부는 이하에 요약될 것이다.
본 발명의 예시적인 실시 예에 따르면, 종단점 장치는 PCI 익스프레스-순응(compliant) 링크를 통해 종단점 장치에 결합된 스위치의 다운스트림 포트를 애뮬레이트(emulate)하도록 구성되고 배열된다. 종단점 장치는 PCI 익스프레스 스위치의 버스에 결합되며, 그의 애뮬레이션은 종단점 장치가 버스상에 구현되지 못하게 하는 PCI 익스프레스 구현성과 부합한다. 이러한 방식에 따라, 전반적으로 추가되는 로직을 최소로 하되 전형적으로 집적 장치를 허용하지 않은 PCI 익스프레스로 구현된다는 규칙을 위반하지 않고도, 하나 이상의 장치가 PCI 익스프레스 HUB내에 존재할 수 있게 된다. 또한, 이러한 방식에 의해 PCI 익스프레스 요건을 전적으로 따르면서, PCI 익스프레스 허브내에 하나의 이상의 장치를 용이하게 구현할 수 있다.
본 발명의 다른 예시적인 실시 예에 따르면, PCI 익스프레스 통신 시스템은 PCI 익스프레스-순응 링크에 종단점 장치를 용이하게 직접 결합시킬 수 있다. 그 시스템은 중앙 프로세서 장치와, 호스트 브리지와 통신 가능하게 결합된 PCI 익스프레스 스위치를 포함한다. PCI 익스프레스 스위치는, 논리적으로, 업스트림 포트와, 버스 및 다수의 다운스트림 포트를 포함하되, 업스트림 포트는 호스트 브리지에 결합되고, 다운스트림 포트는 하나 이상의 PCI 익스프레스 유형 종단점 장치에 결합된다. PCI 익스프레스 종단점 장치 및 그 종단점 장치가 결합된 다운스트림 포트는 가상 링크를 통해 결합된 PCI 익스프레스 종단점 장치와 다운스트림 포트를 애뮬레이트하는 단일 회로에 포함된다.
본 발명의 상술한 요약은 본 발명의 각 실시 예 또는 모든 구현을 설명한 것은 아니다. 본 발명의 상술한 요약은 본 발명의 각각의 예시된 실시 예 및 모든 구현을 설명한 것은 아니다. 도면 및 이하의 상세한 설명은 이러한 실시 예를 보다 구체적으로 예시한다.
본 발명은 첨부된 도면과 관련하여 이하의 본 발명의 다양한 실시 예에 대한 상세한 설명으로부터 보다 완벽하게 이해하게 될 것이다.
도 1은 본 발명의 예시적인 실시 예에 따른, PCI 익스프레스 내부 버스와 관 련된 장치 종단점을 구현한 구조를 도시한 블럭도,
도 2는 본 발명의 예시적인 실시 예에 따른, PCI 익스프레스 내부 버스와 관련된 장치 종단점을 구현한 구조를 도시한 블럭도,
도 3은 본 발명의 예시적인 실시 예에 따른, PCI 익스프레스 내부 버스와 관련된 장치 종단점을 구현한 구조를 도시한 블럭도,
도 4a 내지 도 4c는 집적 PCI 익스프레스 종단점 장치의 소프트웨어를 나타낸 도면으로, 도 4a는 본 발명의 예시적인 실시 예에 따른, 가상 링크를 통해 결합된 2개의 블럭들을 시뮬레이션하는 단일 집적 회로의 블럭 레벨 소프트웨어 도면이고, 도 4b는 본 발명의 다른 예시적인 실시 예에 따른, 도 4a에 도시된 장치에 대한 다양한 레이아웃 및 레지스터의 세부적인 소프트웨어 도면이며, 도 4c는 본 발명의 다른 예시적인 실시 예에 따른, 도 4a에 도시된 장치에 대한 가상 링크 구성 레지스터를 구현한 도면,
도 5는 본 발명의 다른 예시적인 실시 예에 따른, 도 4a에 도시된 장치의 애물레이션 상태 머신을 이용한 가상 링크를 구현한 도면,
도 6은 본 발명의 다른 예시적인 실시 예에 따른, 집적 PCI 익스프레스 종단점 장치에 대한 레지스터 구조를 도시한 도면.
본 발명을 다양한 수정 및 대안적인 형태로 정정할 수 있지만, 그의 세부적인 것은 도면에 도시되고 상세하게 설명될 것이다. 그러나, 그러한 것이 본 발명 을 설명된 특정 실시 예로 제한하고자 하는 것이 아니라, 오히려, 첨부된 청구범위에 의해 정의된 본 발명의 범주 내의 수정, 등가 및 대안을 포함함을 알아야 한다.
본 발명은 전자 통신, 특히 종단점 유형 장치와 (예를 들어, PCI 익스프레스 HUB내의) 통신 버스간의 통신을 수반한 다양한 회로 및 방식에 적용될 수 있다. 본 발명은 그러한 애플리케이션에 제한되는 것이 아니라, 그러한 환경에서 예시적으로 설명한 것에 의해 본 발명의 다양한 측면이 가장 잘 획득된다.
본 발명의 예시적인 실시 예에 따르면, 집적 PCI 익스프레스 종단점 장치는 PCI 익스프레스 링크를 시뮬레이션하여, PCI 익스프레스-순응 링크를 통해 종단점 장치에 접속된 스위치의 다운스트림 포트를 애뮬레이트한다. PCI 익스프레스 링크는 PCI 익스프레스 버스가 통신하는 PCI 유형 링크(예를 들어, PCI간 익스프레스 브리지)를 애뮬레이트한다. 이러한 방식에 의해, PCI 익스프레스 종단점 장치는, 종단점 장치와 버스간에 PCI 익스프레스-순응 링크를 시뮬레이션하면서 PCI 익스프레스 버스에 접속될 수 있다. 또한, 이러한 방식에 의해 집적화된 PCI 익스프레스 종단점 장치가 용이하게 구현될 수 있으며, PCI 익스프레스 종단점 장치는 스위치의 다운스트림 포트를 통해 버스에 접속된다.
일 구현에 있어서, 집적 PCI 익스프레스 종단점 장치는 PCI 익스프레스 표준 요건을 충족시키면서, PCI 익스프레스 HUB의 내부 버스에 대한 접속을 용이하게 하는 레지스터를 가진다. 특히, PCI 익스프레스 장치는 레지스터들을 이용하여 가상적으로 2개의 개별적인 장치(다운스트림 스위치 포트 및 종단점 장치)로서 간주되도록 하여, 종단점 장치가 내부 버스상에 나타나지 못하게 하는 일반 금지(general prohibition)와 관련된 PCI 익스프레스 사양 요건에 부합하는 집적 종단점 장치이다.
그 레지스터들은, 실제 링크가 존재하는 것처럼 나타나도록 하기 위해 링크 애뮬레이션 로직을 최소로 하면서, 소프트웨어 측면에서, 각각의 가상 장치에 대해 유일한 레지스터, 가상 장치들간에 공유되는 레지스터, 올 제로(all zero)만을 판독하는 (기능적으로 구현되는 것이 아니라 소프트웨어 측면에서 존재하는) 레지스터 및 가상 장치들 사이의 가상 링크를 제어하는 레지스터를 애뮬레이트한다. 기능적으로 구현되지 않은 레지스터들은, 장치와 HUB 간의 가상 링크의 단순성을 해치지 않으면서, PCI 표준 요건을 처리하는 방식으로 PCI 익스프레스 장치를 용이하게 구현할 수 있게 한다. 예를 들어, 비 기능성 레지스터는 PCI 익스프레스 표준을 따르는 가상 링크를 애뮬레이트하도록 구현된다. 일부 예시에 있어서, 상술한 하나 이상의 레지스터들은 상술한 카테고리들의 조합을 나타내는 필드(field)를 포함한다. 그러한 예에 있어서, 단일 레지스터는 비 기능성 판독 전용 제로 필드/비트 및 기능적으로 이용되는 필드를 포함한다.
도면을 참조하면, 도 1에는 본 발명의 다른 예시적인 실시 예에 따른, 내부 PCI 익스프레스 버스와 집적화된 PCI 익스프레스 종단점 장치를 위해 구성된 PCI 익스프레스 구조(100)가 도시된다. 그 구조(100)는 버스(132)에 결합된 업스트림 포트(130)와 다수의 다운스트림 스위치 포트(140,142,144,146,148)를 가진 PCI 익스프레스 스위치(즉, 스위치의 논리적 구현)를 포함한다. 스위치의 업스트림 포트(130) 및 버스(132)는, 예를 들어, 호스트 브리지를 포함하는 부품내에 구현된 다. 집적 PCI 익스프레스 종단점 장치(120)는, 논리적 측면에서, 가상 링크(110)에 의해 PCI 익스프레스 종단점 장치(121)에 결합된 스위치(146)의 다운스트림 포트를 포함한다. 특히, 집적 PCI 익스프레스 종단점 장치(120)는 (가상 링크(110)에 의해) 계층적으로 부착된 2개의 개별 블럭(다운스트림 포트(146) 및 PCI 익스프레스 종단점 장치(120))을 시뮬레이션하기 위한 단일 블럭이다. 예를 들어, 도시된 다른 집적 PCI 익스프레스 종단점 장치(122)는 (가상 링크(112)를 통해 PCI 익스프레스 종단점 장치(123)에 결합된 다운스트림 포트(148)를 시뮬레이션하는) 집적 PCI 익스프레스 종단점 장치(120)와 유사한 특성을 갖는다.
소프트웨어 측면에서, PCI 익스프레스 종단점 장치(121)는 (내부 버스(132)에 접속된) 다운스트림 포트(146)에 대한 전용 PCI 익스프레스 링크(가상 링크(110))와 접속된 외부 블럭인 것으로 유효하게 간주된다. 전용 PCI 익스프레스 링크인 것으로 간주되는 가상 링크(110)는 전용 PCI 익스프레스 링크와는 다른 기능적 요건을 가진다. 예를 들어, 링크가 가상이기 때문에 가상 링크(110)를 가로지르는 접속을 차례로 나열할 필요가 없고, 에러 복구를 제공할 필요가 없으며, 물리적 논리 계층 또는 물리적 전기 계층 기능이 두 칩들간에 교차할 필요가 없다. 내부 가상 링크(110,112)를 이용하면, PCI 익스프레스 링크를 관리하고 제어하는데 통상적으로 요구되는 많은 기능에 대한 필요성이 완화된다.
일 구현에 있어서, 가상 링크(110)는 전용 PCI 익스프레스 링크를 이용하여 PCI 익스프레스 기능을 구현하는데 전형적으로 필요한 로직을 감소시키고/감소시키거나 제거한다. 예를 들어, 전형적으로 전용 PCI 익스프레스 링크에 필요한, 가상 링크(11)에 의해 서빙된 두 논리적 종단점들(다운스트림 포트(146) 및 PCI 익스프레스 종단점 장치(121))의 트랜잭션 층, 데이터 링크층 및 물리층에 관련된 기능이 필요치 않다. 전용 PCI 익스프레스 링크와 관련되어 구현된 상술한 기능과, "PCI-익스프레스 순응" 애플리케이션에 관한 추가적인 정보에 대해서는 오레곤의 포틀랜드의 PCI-SIG(PCI-특정 이익 단체)로부터 입수할 수 있는, 2003년 4월 "PCI-Express Base Specification Revision 1.0a"를 참조하면 된다. 이러한 PCI 익스프레스 표준 사양과 부합하는 방식이 "PCI 익스프레스-순응"으로 고려될 수 있다.
다른 구현에 있어서, 집적 PCI 익스프레스 종단점 장치(120)는 다운스트림 포트(146) 기능과 종단점(121) 기능을 위한 비트를 공유하는 구성 레지스터를 포함한다. 이러한 방식으로 비트를 공유하면, 2개의 개별적인 블럭들간의 실질적인 전용 PCI 익스프레스 링크를 이용하여 얻을 수 없는 효율성을 높일 수 있어서 그러한 전용 PCI 익스프레스 링크 구조에 의해 나타나는 것에 비해 복잡도가 감소된다. 이러한 방식으로 인해, PCI 익스프레스 통신을 위해 구현된 소프트웨어 드라이버와의 호환성을 유지하는 데 있어서 비교적 적은 수의 레지스터 비트가 요구된다. 도 4a 내지 도 6에는 부품 및 링크를 시뮬레이션하고 다른 목적을 위해 시뮬레이션하는 PCI 익스프레스 구조(100)와 관련하여 구현되는 레지스터 및 다른 부품이 도시된다.
도 2에는 본 발명의 다른 예시적인 실시 예에 따른 장치-PCI 익스프레스 집적을 위해 구성된 PCI 익스프레스 구조(200)가 도시된다. 도 2에 도시된 실시 예는 도 1에 도시된 것과 유사하며, 다수의 PCI 장치는 (버스를 단일 PCI 종단점 장 치에 결합시키는 각 가상 링크와는 다른) 단일 가상 링크(210)에 의해 버스에 결합된다. 스위치의 업스트림 포트(230)는 PCI 익스프레스 버스(232)에 의해 다운스트림 포트(240,242,244,246)에 결합되며, 다운스트림 포트(246)는 집적 PCI 익스프레스 종단점 구조(220)내에 집적화된다.
집적 PCI 익스프레스 종단점 구조(220)는 가상 링크(210)와 가상 (PCI) 버스(252)에 의해 결합된 별개의 부품을 시뮬레이션하는 회로 블럭을 포함한다. 특히, 장치(260,262,264)를 포함하는 다수의 PCI 장치는 가상 버스(252)에 의해 PCI 익스프레스- PCI 브리지 부품(250)에 결합된다. PCI 익스프레스-PCI 브리지(150)는 가상 링크(210)에 의해 다운스트림 포트(246)에 결합된다. 이러한 방식에 의해, 집적 PCI 익스프레스 종단점 구조(220)는 (내부) PCI 익스프레스 버스(232)상에 존재할 수 있게 되는데, 그 이유는, 시뮬레이션된 부품 및 가상 링크(및 버스)가 PCI 익스프레스 요건을 따르기 때문이다. 도 1과 관련하여 상술한 바와 같이, 도시된 시뮬레이션된 부품과 유사한 방식으로 PCI 익스프레스 버스에 결합된 별개의 부품들과 함께 요구되는 여러 부품들은 비교적 복잡하고, 따라서 집적 PCI 익스프레스 종단점 구조(220)보다 많은 리소스(resource)를 필요로 한다. 이러한 부품들을 단일 블럭으로 조합하면, 동일 장치를 개별적인 블럭으로 구현하는 것에 비해 보다 소수의 부품이 이용된다. 또한, PCI 익스프레스 구조(200)를 제어하기 위해 상대적으로 간단한 레거시 소프트웨어 모델(legacy software model)이 이용될 수 있으며, 다수의 PCI 장치가 이용되는 경우에 특히 유용하다.
도 3에는, 본 발명의 다른 예시적인 실시 예에 따른, 장치-PCI 익스프레스 집적화를 위해 구성된 PCI 익스프레스 구조(300)가 도시된다. 이러한 실시 예에 있어서, (가상 PCI 익스프레스 버스(332)를 가진)PCI 익스프레스 HUB는 계층에 있어서 PCI 익스프레스-PCI 브리지(380)보다 낮게 위치한다. 특히, PCI 익스프레스-PCI 브리지(380)는 PCI 버스(334)에 의해 집적 PCI 장치(372,374,376)와 집적 구조(320)에 결합된다.
집적 구조(320)는 가상 링크(310)와 PCI 익스프레스 버스(332)에 의해 결합된 개별 블럭들을 시뮬레이션하는 기능을 가진 단일 블럭이다. 특히, PCI-PCI 익스프레스 브리지(320)는 가상 링크(310)에 의해 스위치의 업스트림 포트(330)에 결합된다. 업스트림 포트(330)는 PCI 익스프레스 버스(332)에 의해 다운스트림 포트(340,342,344)에 결합된다. 이들 부품들은, 예를 들어, 도 1의 유사한 부품과 관련하여 설명한 것과 유사한 방식으로 구현될 수 있다. 예를 들어, 가상 링크(310)는 가상 링크(110)와 유사한 방식으로 구현될 수 있다. 또한 공유된 구성 레지스터는 도 1과 유사한 방식(또한 도 4a 내지 도 6과 관련하여 아래에서 설명할 방식)으로 구현될 수 있다. 이러한 방식에 의해, PCI 익스프레스-컴프라이언트 솔루션이 용이하게 되며, PCI 익스프레스형 소프트웨어는 구조를 성공적으로 열거할 것이다.
도 4a 내지 도 4c에는 본 발명의 다른 예시적인 실시 예에 따른, 집적 장치(420)의 구현도 및 소프트웨어가 도시된다. 집적 장치(420)는 가상 링크(410)를 통해 결합된 다운스트림 포트(446) 및 PCI 익스프레스 종단점(421)를 포함한 블럭을 시뮬레이션한다. 가상 링크(410)는, 예를 들어, 도 1 내지 도 3에 도시된, 가 상 링크(110,210,310) 및 그들이 접속된 시뮬레이션된 블럭과 관련하여 구현된다. 가상 링크(410)는 소프트웨어 측면에서 실제 PCI 익스프레스 링크인 것으로 간주되고, 다운스트림 포트(446)와 PCI 익스프레스 종단점(421)는 그에 대응하는 별개의 블럭인 것으로 간주된다. 가상 링크(410)는 저 전력 모드일 수 있으며, 2개의 완전한 구성 레지스터 세트를 가질 수 있으며, 소프트웨어에 대한 모든 방식으로 충분하게 기능하는 링크일 수 있다. 그러나, 트랜잭션, 데이터 링크 및 물리층을 포함하는 전형적인 PCI 익스프레스 부품이 구현되는 것은 아니다. 구성적 측면에서, 이들 기능부들의 동작을 애뮬레이션하는 작은 로직 블럭들이 배치된다.
소프트웨어 측면에서, 도 4b 및 도 4c에 도시된 PCI 익스프레스 링크의 계층들은 소프트웨어가 충분하게 동작하는 링크를 확인하는 정도까지 애뮬레이션된다. 이러한 애뮬레이션은, 예를 들어, 에러가 발생하지 않고 모든 블럭이 항상 준비되어 있다고 가정함으로서, 단순화될 수 있다. 일부 예시에 있어서, 그 시뮬레이션의 복잡성을 감소시키기 위해 최소한의 기능이 지원된다. 예를 들어, 슬롯 및 선택적 전력 관리는 미지원 상태로 유지되고, 선택적인 연장 레지스터는 이용할 수 없는 상태로 된다.
도 4b를 참조하면, 다운스트림 포트 구성 레지스터(472)와 PCI 익스프레스 종단점 구성 레지스터(474)를 가진, 도 4의 집적 장치(420)의 다운스트림 포트(446) 및 PCI 익스프레스 종단점 장치(410)에 대한 소프트웨어가 도시된다. 다운스트림 포트층은 어댑터(480), 트랜잭션층(481), 데이터 링크층(482) 및 물리층(483)을 포함한다. PCI 익스프레스 종단점층은 물리층(484), 데이터 링크 층(485), 트랜잭션층(486) 및 (비디오 장치, 오디오 장치 및 디스크 제어기와 같은 지적 소유의 애플리케이션 블럭) IP(488)에 결합된 어댑터(487)를 포함한다. 어댑터(480,487)는 IP의 버스 및 패킷 사이를 중계하며, 구성 레지스터에 대한 액세스를 제공하며, 인터럽트를 위한 메시지를 생성한다.
도 4c에는, 어댑터(490), I.P(498) 및 어댑터(490)에 결합된 가상 링크 구성 레지스터(476)를 가진, 집적 장치(420)의 가상 링크(410)에 대한 소프트웨어가 도시된다. 가상 링크 구성 레지스터(476)는 트랜잭션 애뮬레이션 레지스터(491), 데이터 링크 애뮬레이션 레지스터(492), 물리적 애뮬레이션 레지스터(493), 물리적 애뮬레이션 레지스터(494), 데이터 링크 애뮬레이션 레지스터(495) 및 트랜잭션 애뮬레이션 레지스터(496)를 포함한다.
트랜잭션, 데이터 링크 및 물리층의 각각은 구현되는 것이 아니라(예를 들어, 널 블럭(null block)임) PCI 익스프레스와의 호환성에 대해 시뮬레이션된다. 데이터 링크층(482,485)의 애뮬레이션을 위해, 어댑터(480,487)는 각각 링크 디스에이블 조건(link disable condition)이 어서트되는 것에 응답하여 디스에이블된다(임의의 새로운 사이클의 생성이 방지된다).
물리층(483,484)의 애뮬레이션을 위해, PME_TO_Ack 메시지가 생성되어, HUB가 모든 PME_TO_Ack들을 수집하는 것을 지원하고, 소프트웨어 도면에 도시된 계층에서 상위에 속하는 이러한 군집 버전의 리턴(return)을 완료한다. PME_TO_Ack 메시지를 가진 이러한 애뮬레이션은, 예를 들어, 계층에 있어서 최상위에 있는 프로세서에 의해 전송된 PME_Turn_Off 메시지에 의해 개시된 셧 다운 프로세스(shut- down process)를 수반한다. 각 종단점 장치는 턴-오프가 준비되면 PME_TO_Ack 메시지를 생성함에 의해 PME_Turn_Off 메시지에 응답한다. 이들 PME_TO_Ack 메시지는 HUB에서 수집되고, HUB의 모든 장치 다운스트림이 PME_TO_Ack 메시지로 응답했을 경우, HUB는 단일 PME_TO_Ack 메시지로 프로세서(또는 다른 업스트림 장치)에 응답한다.
일 구현에 있어서, PCI 익스프레스 HUB(예를 들어, 도 1과 함께 구현된 경우에 버스(132)를 포함함)는 가상 포트가 응답하지 못하고, 가상 포트에 대한 종속성이 없다는 가정하에 동작한다. 예를 들어, 비 기능성 장치를 위한 특정 포트가 있을 경우, 비 기능성 장치가 턴 오프를 준비하는 것을 기다릴 필요가 없는데, 그 이유는, 그 장치가 항상 턴 오프를 준비하고 있기 때문이다. 이 예시에 있어서, HUB는, 상술한 바와 같이, 업스트림 장치에 대한 PME_TO_Ack 메시지를 생성하기 전에 이 가상 포트가 응답하는 것을 기다리지 않는다. 물리층은 상술한 구성적 요약에서 소개된 많은 상수들이 정해져 있지 않은 준비 및 구성 상태에 대해 작동한다. 이와 관련하여, 전형적인 PCI 익스프레스 구현과 관련된 L1 배출 시간 기능(물리층이 저 전력 상태로부터 복구하는데 소요되는 시간)은 일반적으로 가상 장치를 위해 이용되는 것이 아니다. 실제 트레이닝 시간이 제로이기 때문에, 물리층은 어떠한 지연도 없이 트랜잭션을 한다. 소프트웨어가 자율적 능동 상태 전력 관리를 의도한 것이 아니기 때문에, 능동 상태 조건은 비실용적이며, 따라서, 능동 상태 조건은 무시되고 구조(470)의 작용에 대해 영향을 주지 않는다. PCI 익스프레스 "D" 상태("L" 하드웨어 상태를 설정한 소프트웨어 상태)는 판독/기록 레지스터로 구현 되며, 요청된 상태는 즉시 선택된다(D0 내지 D3 상태가 지원된다). 또한, 전형적으로 PCI 익스프레스형 요청 "PM_Active_State_Request_L1"이 생성되지 않는다.
도 5에는, 본 발명의 다른 실시 예에 따른, (예를 들어, 도 4c에 도시된 도면과 유사한) 가상 링크(410)의 다른 소프트웨어가 도시된다. 어댑터(590)와 I.P(598)는 가상 링크 구성 레지스터(576)와 함께 작용하여, 가상 링크(410)가 이격시킨 다운스트림 포트(446)와 PCI 익스프레스 종단점 장치(421)를 애뮬레이트한다. 업링크 및 다운링크 애뮬레이션 상태 머신(592,594)은 트랜잭션, 데이터 링크 및 물리층 기능을 애뮬레이션하는 구성 비트와 상호 작용한다. 일부 예시에 있어서, 업 링크 및 다운 링크 애뮬레이션 상태 머신(592,594)은 모든 계층에 대해 단일 애뮬레이션 블럭으로 집적화된다.
도면에 도시된 상술한 레지스터는 하나 이상의 여러 구조를 이용하여 구현된다. 본 발명의 하나의 예시적인 실시 예에 있어서, 하나 이상의 구성 레지스터가 조합된다. 도 4b를 예시적으로 참조하면, 트랜잭션층(481)과 데이터 링크층(482)의 레지스터들은 조합될 수 있다. 시뮬레이션을 위해 구현된 비 기능성 레지스터 및 비트는 고안에 의해 제로로 되고, 구현되지 않은 레지스터는 고안에 의해 제로를 리턴한다.
일 구현에 있어서, 레지스터 및 그에 수반된 회로들은, 선택이 이루어지지 않을 경우(즉, 미 정의되거나 선택된 것이 없으면), 제로 결과가 생성되도록 구성된다. 이러한 방식은, 예를 들어, 레지스터를 선택하기 위해, 표준 'AND''OR' 트리를 이용하여, 각 mux에 있는 입력에 0을 제공함에 의해 혹은 그보다 단순하게 구 현될 수 있다. 이러한 'AND''OR' 트리에 있어서, 하나의 레지스터는 AND 게이트를 통해 선택된 출력을 가진다. 모든 레지스터 출력은 서로 "OR" 연산되며, 그 결과, 게이트가 선택된다. 선택된 게이트가 없으면, 모든 "OR" 입력은 0이 되어, 구현되지 않은 임의 레지스터의 제로 결과를 보장한다. 유사하게, 구현된 레지스터내의 모든 구현되지 않은 비트는 '0'을 리턴한다.
구현될 레지스터(예를 들어, 공유된 스위치 포트나 장치 레지스터)는 하나 이상의 다양한 방식으로 선택된다. 예를 들어, 일부 레지스터들은 스위치 포트 전용의 레지스터 및 장치 전용의 레지스터를 가진다. 스위치 포트 레지스터는, 구성 사이클이 유형 0이고, 종착지 어드레스가 스위치 포트의 장치 번호와 매칭될 때, 선택된다. 장치 레지스터는, 구성 사이클이 유형 1이고, 스위치 포트 프로그램 버스 범위내에 있으며, 장치의 ID(identification)와 매칭되면 선택된다. 유형 1 내지 유형 0 사이클은 PCI 요건과 호환 가능한 방식으로 교차된다. 공유 레지스터는 스위치 포트와 장치 레지스터를 수반한 상술한 2개의 메카니즘으로 'OR'을 구현함에 의해 선택된다.
상술한 것과 유사한 방식을 이용하여 구현될 수 있는 한가지 유형의 공유 레지스터로는 밴더(vendor) ID 레지스터가 있다. 이 레지스터는, 스위치 포트 레지스터 또는 장치 레지스터가 판독되는 경우에, 선택된다. 레지스터 테이블에는 D 스위치 및 장치 컬럼에 X를 가진 단일 엔트리가 도시된다. 다양한 다른 유형의 공유 레지스터가 유사하게 구현될 수 있다.
도 6에는, 본 발명의 다른 예시적인 실시 예에 따른, 명령 레지스터 구 조(600)가 도시된다. 명령 레지스터는 2개의 별개의 가상 레지스터의 예시로서 이용된다(다른 유형의 레지스터는 별개의 가상 레지스터를 포함하는 유사한 방식으로 쉽게 구현될 수 있다). PCI 익스프레스의 경우, 비트(15:11,9,7,5:2)는 판독 전용 비트이며, 구현되지 않는다. 그러므로, 이러한 비트들은 항상 모든 제로를 리턴한다. 비트 10인 인터럽트 인에이블은 인터럽트의 전파를 디스에이블하거나 인에이블하는데 이용될 수 있다. 임의 비트를 디스에이블하면, 인터럽트 전파가 디스에이블될 것이다. 이들 비트 구현에 관한 추가적인 정보는, 상술한 PCI 익스프레스 표준 사양을 참조하면 된다.
각각의 명령 레지스터(610,620)의 경우, RO 0(판독 전용 고정 0 출력) 비트는 하드웨어로 구현되지 않는다(사용된 비트가 구현된다). 이 예시에 있어서, 48비트가 도시되며, 단지 10비트만이 구현된다. 도면의 최 상단에 있는 레지스터(610,620)는 동일한 위치에 있는 2개의 별개의 레지스터를 나타내는 레지스터이다. 인터럽트 디스에이블 기능이 구현되는 경우, PCI 익스프레스 장치의 명령 레지스터에 있는 INT DIS 비트 또는 스위치의 다운스트림 포트의 명령 레지스터에 있는 동일 비트가 INT 신호를 차단하도록 설정된다. 일 구현에 있어서, 이러한 것은, 2개의 디스에이블 신호를 조합한 상술한 OR 게이트를 이용하여 달성되며, 그에 따라, INT는 디스에이블 비트들중 한 비트 또는 2비트 모두가 어서트되면, 차단될 것이다. OR 게이트 다음의 AND 게이트는, INT DIS 비트들중 어느 한 비트 또는 두 비트 모두가 설정되면 INT를 디스에이블시킨다. 버스 마스터 인에이블(Bus Master Enable)은 양 레지스터(상술한 2개의 입력 NAND 게이트)의 양 버스 마스터 인에이 블 비트가 설정되면 이 장치의 버스 마스터를 인에이블시킨다. 버스 제어 레지스터(620)에 2비트가 구현되며, 그 중 하나인 SERR은 도시된 다른 두개의 제어 레지스터내에 제어 비트를 가진다. 이들 비트들 중 하나는, 이러한 가상 계층에서 SERR이 디스에이블되는 것과 무관하게 신호 시스템 에러 출력을 차단할 수 있다.
테이블 1에는 본 발명의 다른 예시적인 실시 예에 따른, 공유 레지스터 세트를 이용한 방식이 도시된다. 테이블 1에 도시된 정보는, 예를 들어, 상술한 도 6과 관련하여 구현된다.
[테이블 1]
Figure 112006067606960-pct00001
Figure 112006067606960-pct00002
Figure 112006067606960-pct00003
Figure 112006067606960-pct00004

Claims (20)

  1. PCI 익스프레스형 데이터 통신(PCI Express-type data communication)과 함께 이용하기 위한 집적 종단점 장치로서,
    외부 PCI 익스프레스 종단점 장치 블럭 기능을 수행하도록 구성되고 배열되는 PCI 익스프레스 종단점 회로(121, 123, 260, 262, 264)와,
    PCI 익스프레스 버스와 통신하도록 구성되고, 다운스트림 포트 기능을 수행하도록 구성되고 배열되는 PCI 익스프레스 다운스트림 포트 회로(146, 148, 246)와,
    상기 PCI 익스프레스 종단점 회로와 상기 PCI 익스프레스 다운스트림 포트 회로에 의해 각각 구현되는 PCI 익스프레스 종단점 장치와 PCI 익스프레스 다운스트림 포트 간의 PCI 익스프레스-순응(compliant) 링크를 시뮬레이션하도록 구성된 시뮬레이션 회로(110, 112, 210)를 포함하는
    집적 종단점 장치.
  2. 제 1 항에 있어서,
    상기 시뮬레이션 회로와 상기 PCI 익스프레스 종단점 회로가 이용하기 위한 정보를 저장하도록 구성되는 병합형 구성 레지스터(600)를 더 포함하되, 상기 저장된 정보는 상기 PCI 익스프레스-순응 링크의 시뮬레이션을 용이하게 하는
    집적 종단점 장치.
  3. 제 1 항에 있어서,
    상기 시뮬레이션 회로는, 전용 PCI 익스프레스 링크를 가진 외부 블럭으로서 상기 PCI 익스프레스 종단점 회로를 시뮬레이션하는 소프트웨어 구현 애플리케이션과 인터페이스하는
    집적 종단점 장치.
  4. 제 1 항에 있어서,
    PCI 익스프레스-순응 장치를 특징짓는 레지스터를 시뮬레이션하도록 구성된 적어도 하나의 비 기능성 레지스터(491, 492, 493)를 더 포함하는
    집적 종단점 장치.
  5. 제 4 항에 있어서,
    상기 시뮬레이션 회로는, 상기 적어도 하나의 비 기능성 레지스터가 구현되는 레지스터 기능의 구현을 필요로 하는 PCI-익스프레스 유형 통신 링크와 상기 집적 종단점 장치 간의 PCI-익스프레스 유형 통신을 위한 적어도 하나의 비 기능성 레지스터를 구현하도록 구성된
    집적 종단점 장치.
  6. 제 4 항에 있어서,
    상기 적어도 하나의 비 기능성 레지스터는 올 제로(all zero)만을 판독하도록 구성된
    집적 종단점 장치.
  7. 제 4 항에 있어서,
    상기 비 기능성 레지스터는 소프트웨어 관점에서 존재하는 것으로 보이도록 시뮬레이션되는
    집적 종단점 장치.
  8. 제 4 항에 있어서,
    상기 적어도 하나의 비 기능성 레지스터는 상기 PCI 익스프레스 종단점 회로가 외부적 기능을 수행하는 각각의 외부 PCI 익스프레스 종단점 장치 블럭 전용에 고유한 것인
    집적 종단점 장치.
  9. 제 4 항에 있어서,
    상기 적어도 하나의 비 기능성 레지스터는 각각의 시뮬레이션된 PCI 익스프레스-순응 링크에 고유한 것인
    집적 종단점 장치.
  10. 제 4 항에 있어서,
    상기 적어도 하나의 비 기능성 레지스터는 시뮬레이션된 적어도 2개의 PCI 익스프레스-순응 링크 간에 공유되는
    집적 종단점 장치.
  11. 제 1 항에 있어서,
    상기 PCI 익스프레스 종단점 회로는 적어도 2개의 PCI 익스프레스 종단점 블럭에 대한 PCI 익스프레스 종단점 장치 블럭 기능을 수행하도록 구성되고 배열되며, 상기 시뮬레이션 회로는 상기 적어도 2개의 PCI 익스프레스 종단점 블럭 간의 가상 링크를 시뮬레이션하고 제어하도록 구성된
    집적 종단점 장치.
  12. 제 1 항에 있어서,
    상기 PCI 익스프레스 다운스트림 포트 회로는 PCI 익스프레스 HUB와 통신하도록 구성된
    집적 종단점 장치.
  13. 제 1 항에 있어서,
    상기 PCI 익스프레스 다운스트림 포트 회로는 개인 컴퓨터, 서버 및 네트워크 중 적어도 하나에 대해 PCI 익스프레스 유형 링크와 통신하도록 구성된
    집적 종단점 장치.
  14. 제 1 항에 있어서,
    상기 시뮬레이션 회로는 상기 PCI 익스프레스-순응 링크를, 상기 PCI 익스프레스 종단점 회로에 의해 구현된 다수의 PCI 익스프레스 종단점 장치 블럭에 결합된 PCI 버스 및 PCI 익스프레스-PCI 브리지(PCI express to PCI bridge)를 포함하는 것으로서 시뮬레이션하는
    집적 종단점 장치.
  15. PCI 익스프레스형 통신과 함께 이용하기 위해, PCI 익스프레스 순응을 용이하게 하면서 PCI 익스프레스 스위치의 내부 버스 상에 나타나도록 구성된 집적 PCI 익스프레스 종단점 장치로서,
    PCI 익스프레스 스위치의 다운스트림 포트의 기능을 수행하고, 종단점 장치의 기능을 수행하며, PCI 익스프레스-순응 링크에 의해 결합된 종단점 장치 블럭과 다운스트림 포트 블럭을 애뮬레이트하도록 구성되고 배열된 하드웨어 블럭 -상기 애뮬레이트된 다운스트림 포트 블럭은 상기 다운스트림 포트의 기능을 수행하고, 상기 애뮬레이트된 종단점 장치 블럭은 상기 종단점 장치의 기능을 수행함- 과,
    다운스트림 포트 기능과, 종단점 장치 기능 및 PCI 익스프레스-순응 링크 기능을 애뮬레이트하고 수행하는데 있어서 상기 하드웨어 블럭이 사용하기 위한 정보를 저장하도록 구성되는 병합형 구성 레지스터를 포함하는
    집적 PCI 익스프레스 종단점 장치.
  16. PCI 익스프레스형 데이터 통신과 함께 이용하기 위한 집적 종단점 장치로서,
    외부 PCI 익스프레스 종단점 장치 블럭 기능을 수행하는 외부 블럭 수단과,
    PCI 익스프레스 버스와 통신하고, PCI 익스프레스 다운스트림 포트 기능을 수행하도록 구성된 포트 수단과,
    상기 외부 블럭 수단과 상기 포트 수단에 의해 각각 구현되는 PCI 익스프레스 종단점 장치와 PCI 익스프레스 다운스트림 포트 간의 PCI 익스프레스-순응 링크를 시뮬레이션하는 시뮬레이션 수단을 포함하는
    집적 종단점 장치.
  17. PCI 익스프레스 통신 시스템으로서,
    중앙 프로세서 장치와,
    상기 중앙 프로세서 장치와 PCI 익스프레스 스위치 간에 통신하도록 구성되고 배열된 호스트 브리지와,
    업스트림 포트, 버스 및 다수의 다운스트림 포트를 구비한 PCI 익스프레스 스위치와,
    상기 다운스트림 포트들 중 하나에 결합된 PCI 익스프레스 종단점 장치를 포함하되,
    상기 PCI 익스프레스 종단점 장치와, 그와 결합된 다운스트림 포트는 가상 링크를 통해 결합된 상기 PCI 익스프레스 종단점 장치와 상기 다운스트림 포트를 애뮬레이트하는 단일 회로 내에 포함되는
    PCI 익스프레스 통신 시스템.
  18. 제 17 항에 있어서,
    상기 애뮬레이트된 다운스트림 포트와 상기 PCI 익스프레스 종단점 장치의 특성을 시뮬레이션하도록 구현된 다수의 레지스터를 더 포함하는
    PCI 익스프레스 통신 시스템.
  19. 제 18 항에 있어서,
    상기 다수의 레지스터 중 적어도 하나는 PCI 익스프레스형 기능을 애뮬레이트하기 위한 비 기능성 레지스터인
    PCI 익스프레스 통신 시스템.
  20. PCI 익스프레스 통신 시스템으로서,
    PCI-PCI 익스프레스 브리지와,
    업스트림 포트와,
    다수의 다운스트림 포트를 포함하되,
    상기 PCI-PCI 익스프레스 브리지, 상기 업스트림 포트 및 상기 다운스트림 포트들은 상기 PCI-PIC 익스프레스 브리지와 상기 업스트림 포트 사이의 가상 링크를 애뮬레이트하고, 상기 다수의 다운스트림 포트를 상기 업스트림 포트와 링크시키는 PCI 익스프레스 버스를 애뮬레이트하는 회로 내에 포함되는
    PCI 익스프레스 통신 시스템.
KR1020067019300A 2004-03-19 2005-03-21 집적 종단점 장치와, 집적 pci 익스프레스 종단점 장치및 pci 익스프레스 통신 시스템 KR101035832B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US55450504P 2004-03-19 2004-03-19
US60/554,505 2004-03-19

Publications (2)

Publication Number Publication Date
KR20070003954A KR20070003954A (ko) 2007-01-05
KR101035832B1 true KR101035832B1 (ko) 2011-05-20

Family

ID=34961636

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067019300A KR101035832B1 (ko) 2004-03-19 2005-03-21 집적 종단점 장치와, 집적 pci 익스프레스 종단점 장치및 pci 익스프레스 통신 시스템

Country Status (8)

Country Link
US (1) US7983888B2 (ko)
EP (1) EP1728168B1 (ko)
JP (1) JP2007529813A (ko)
KR (1) KR101035832B1 (ko)
CN (1) CN100462953C (ko)
AT (1) ATE433159T1 (ko)
DE (1) DE602005014753D1 (ko)
WO (1) WO2005091154A1 (ko)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7743197B2 (en) * 2006-05-11 2010-06-22 Emulex Design & Manufacturing Corporation System and method for virtualizing PCIe devices
CN100581172C (zh) 2006-04-19 2010-01-13 杭州华三通信技术有限公司 一种对目的磁盘进行访问的方法和扩展磁盘容量的系统
US7529860B2 (en) * 2006-12-19 2009-05-05 International Business Machines Corporation System and method for configuring an endpoint based on specified valid combinations of functions
US7711888B2 (en) * 2006-12-31 2010-05-04 Texas Instruments Incorporated Systems and methods for improving data transfer between devices
US7660925B2 (en) * 2007-04-17 2010-02-09 International Business Machines Corporation Balancing PCI-express bandwidth
US8255707B2 (en) * 2008-03-06 2012-08-28 Fujitsu Limited System and method for providing a one-step testing architecture
US8200473B1 (en) * 2008-08-25 2012-06-12 Qlogic, Corporation Emulation of multiple MDIO manageable devices
DE102009002281A1 (de) * 2009-04-08 2010-10-14 Robert Bosch Gmbh Verfahren zur Anbindung von Slave-Karten an ein Bus-System
US8291146B2 (en) * 2010-07-15 2012-10-16 Ati Technologies Ulc System and method for accessing resources of a PCI express compliant device
US9479489B2 (en) 2013-03-05 2016-10-25 Comcast Cable Communications, Llc Systems and methods for providing services
US9311266B2 (en) 2013-06-14 2016-04-12 National Instruments Corporation Hidden base address register programming in peripheral component interconnect express buses
US9563591B2 (en) 2014-03-06 2017-02-07 International Business Machines Corporation Peripheral component interconnect express (PCIe) ping in a switch-based environment
US10452570B1 (en) 2014-08-27 2019-10-22 Amazon Technologies, Inc. Presenting physical devices to virtual computers through bus controllers emulated on PCI express endpoints
US9842075B1 (en) * 2014-09-12 2017-12-12 Amazon Technologies, Inc. Presenting multiple endpoints from an enhanced PCI express endpoint device
US9996484B1 (en) 2014-09-17 2018-06-12 Amazon Technologies, Inc. Hardware acceleration for software emulation of PCI express compliant devices
US10303644B2 (en) 2014-11-21 2019-05-28 International Business Machines Corporation Providing remote, reliant and high performance PCI express device in cloud computing environments
KR101782852B1 (ko) * 2015-06-14 2017-10-23 아던트 시스템즈 아이엔씨 엔드포인트 에뮬레이션을 이용한 빈 엔드포인트 슬롯의 초기 열거법
CN105304116B (zh) 2015-09-16 2018-07-20 江苏时代全芯存储科技有限公司 记忆体驱动电路
US10860520B2 (en) 2015-11-18 2020-12-08 Oracle International Corporation Integration of a virtualized input/output device in a computer system
US10509758B1 (en) * 2017-09-28 2019-12-17 Amazon Technologies, Inc. Emulated switch with hot-plugging
CN112799991B (zh) * 2021-01-07 2022-12-20 牛芯半导体(深圳)有限公司 Pcie交换芯片

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040003159A1 (en) 2002-06-28 2004-01-01 Kumar Mohan J. Method and apparatus for in-band signaling of runtime general purpose events

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9318014D0 (en) 1993-08-31 1993-10-20 Texas Instruments Ltd Improvements in and relating to local area network adaptors
JP3838756B2 (ja) 1997-09-16 2006-10-25 株式会社東芝 回路設計支援装置
JP3439353B2 (ja) 1998-10-19 2003-08-25 Necエレクトロニクス株式会社 ソフトウェア・シミュレータシステム及びプログラムを記録した記録媒体
US6279060B1 (en) * 1998-12-04 2001-08-21 In-System Design, Inc. Universal serial bus peripheral bridge simulates a device disconnect condition to a host when the device is in a not-ready condition to avoid wasting bus resources
US6141719A (en) 1998-12-10 2000-10-31 Network Technologies, Inc. USB selector switch
EP1133108A1 (en) 2000-03-07 2001-09-12 Sony International (Europe) GmbH Interface link layer device for long delay connections
EP1134638A3 (en) 2000-03-13 2002-08-14 Kabushiki Kaisha Toshiba Simulator and simulation method
JP2001331346A (ja) 2000-03-13 2001-11-30 Toshiba Corp シミュレータ及びシミュレーション方法
US20030144029A1 (en) 2002-01-25 2003-07-31 Koninklijke Philips Electronics N.V. Apparatus for wireless connectivity using software modem
CN1251445C (zh) * 2002-05-14 2006-04-12 华为技术有限公司 用于pci卡批量测试的装置
US20040003154A1 (en) 2002-06-28 2004-01-01 Harris Jeffrey M. Computer system and method of communicating
US7953074B2 (en) * 2003-01-21 2011-05-31 Emulex Design And Manufacturing Corporation Apparatus and method for port polarity initialization in a shared I/O device
US7320080B2 (en) * 2003-10-15 2008-01-15 Intel Corporation Power management over switching fabrics
US7657762B2 (en) * 2005-01-14 2010-02-02 Ati Technologies, Inc. Apparatus and methods for power management of a circuit module
US20060227768A1 (en) * 2005-04-07 2006-10-12 Dell Products L.P. System and method for communicating between a computer cluster and a remote user interface
TWI269174B (en) * 2005-07-05 2006-12-21 Istek Co Ltd Cross-platform driver-free driving method of peripheral device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040003159A1 (en) 2002-06-28 2004-01-01 Kumar Mohan J. Method and apparatus for in-band signaling of runtime general purpose events

Also Published As

Publication number Publication date
CN100462953C (zh) 2009-02-18
KR20070003954A (ko) 2007-01-05
EP1728168B1 (en) 2009-06-03
CN1934556A (zh) 2007-03-21
DE602005014753D1 (de) 2009-07-16
ATE433159T1 (de) 2009-06-15
EP1728168A1 (en) 2006-12-06
US20080256284A1 (en) 2008-10-16
WO2005091154A1 (en) 2005-09-29
JP2007529813A (ja) 2007-10-25
US7983888B2 (en) 2011-07-19

Similar Documents

Publication Publication Date Title
KR101035832B1 (ko) 집적 종단점 장치와, 집적 pci 익스프레스 종단점 장치및 pci 익스프레스 통신 시스템
US8291141B2 (en) Mechanism to flexibly support multiple device numbers on point-to-point interconnect upstream ports
US5761458A (en) Intelligent bus bridge for input/output subsystems in a computer system
US8195442B2 (en) Use of hardware peripheral devices with software simulations
US10176137B2 (en) Selectively transparent bridge for peripheral component interconnect express bus system
US9703740B2 (en) Opaque bridge for peripheral component interconnect express bus systems
CN100422953C (zh) 利用HDL扩展串口的SoC系统在线调试方法
EP1244973A2 (en) System and method for providing hot swap capability using existing circuits and drivers with minimal changes
US6611912B1 (en) Method and apparatus having a system BIOS write configuration data of a riser card to a controller configuration space when connecting the riser card to a motherboard
US7212961B2 (en) Interface for rapid prototyping system
CN110968352B (zh) 一种pcie设备的复位系统及服务器系统
CN103842980B (zh) 用于协议中立织物的方法、系统和装置
CN103793263B (zh) 一种基于PowerPC处理器的DMA事务级建模方法
US9075639B1 (en) Systems and methods for handling interrupts during software design simulation
WO2019124259A1 (ja) 構成管理装置、構成管理システム、構成管理方法、および、構成管理プログラム
US20230289500A1 (en) Method and system for building hardware images from heterogeneous designs for eletronic systems
USRE42227E1 (en) Apparatus and method for connecting hardware to a circuit simulation

Legal Events

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

Payment date: 20140421

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160427

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170508

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180504

Year of fee payment: 8