KR101704776B1 - Pci 익스프레스 호환 디바이스의 자원들에 액세스하는 방법 및 시스템 - Google Patents

Pci 익스프레스 호환 디바이스의 자원들에 액세스하는 방법 및 시스템 Download PDF

Info

Publication number
KR101704776B1
KR101704776B1 KR1020137003802A KR20137003802A KR101704776B1 KR 101704776 B1 KR101704776 B1 KR 101704776B1 KR 1020137003802 A KR1020137003802 A KR 1020137003802A KR 20137003802 A KR20137003802 A KR 20137003802A KR 101704776 B1 KR101704776 B1 KR 101704776B1
Authority
KR
South Korea
Prior art keywords
message
access
vendor
destination
value
Prior art date
Application number
KR1020137003802A
Other languages
English (en)
Other versions
KR20130045357A (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 KR20130045357A publication Critical patent/KR20130045357A/ko
Application granted granted Critical
Publication of KR101704776B1 publication Critical patent/KR101704776B1/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/42Bus transfer protocol, e.g. handshake; Synchronisation
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

PCI 익스프레스 통신 링크 환경에서 메시지들을 사용하여 레지스터 및 메모리에 액세스하는 시스템 및 방법이 개시된다. 디바이스의 메모리 매핑 공간 또는 레지스터 공간에의 기록 및 판독을 위하여 벤더 정의 PCI 익스프레스 메시지들이 사용될 수 있다. 4개의 액세스 타입, 즉, 메모리 판독, 메모리 기록, 구성 기록 및 구성 판독이 이 메시징 기법을 사용하여 정의된다. 요구되는 레지스터 액세스의 타입은 벤더 정의 메시지의 헤더 내의 벤더-특정 유형 필드 내의 적합한 값에 의해 정의된다. PCI 익스프레스 링크의 타 단에 있는 PCI 익스프레스 호환 디바이스는 이들 타입의 메시지들을 지원하지 않으며, 메시지들은 수신기에 의해 조용히 폐기되고 에러가 보고되지 않는다.

Description

PCI 익스프레스 호환 디바이스의 자원들에 액세스하는 방법 및 시스템{SYSTEM AND METHOD FOR ACCESSING RESOURCES OF A PCI EXPRESS COMPLIANT DEVICE}
본 발명은 일반적으로 데이터 통신에 관한 것이고, 구체적으로 직렬 점-대-점(point-to-point) 데이터 통신에 관한 것이다.
컴퓨터의 속도는 최근 몇 년간 급격하게 증가해왔다. 이 증가의 상당 부분은 증가된 CPU 속도에 기인한다. 그러나, 컴퓨터 속도는 또한 데이터 통신의 속도, 즉, CPU들이 주변 장치들로/로부터 데이터를 통신하는 능력에 의존한다. 한동안, PCI(peripheral component interconnect) 버스가 적절한 주변기기 연결성을 제공하였다. 그러나, 증가된 CPU 속도 및 더 큰 데이터 전송 요구로, PCI 버스는 이내 CPU와 주변기기 사이에서 가장 느린 링크가 되었다. 특히, 증가된 데이터 전송 요건들을 충족시키기 위하여, PCI 버스는 상당한 핀, 전력 및 클럭 단점들을 부과하였다.
이러한 단점들에 대응하여, PCI 익스프레스 산업 표준이 개발되었다. 저 전압 차동 신호들을 사용하는 직렬 프로토콜을 채택한 PCI 익스프레스 산업 표준은 상기와 같은 클럭 단점들을 부과하지 않고, 감소된 핀 개수를 갖고 더 높은 대역폭에 이르게 한다. PCI 익스프레스는 "루트(root)" 디바이스와 "종점(endpoint)" 디바이스 사이에 직렬 점-대-점 연결을 제공하는 최대 32개의 데이터 채널(레인(lane)으로 알려져 있음)들을 제공한다.
PCI 익스프레스 프로토콜은 트랜잭션 계층, 데이터 링크 계층, 및 물리 계층을 포함하는 계층들을 갖는 계층화된 프로토콜(layered protocol)이다. PCI 익스프레스 호환 장치들 사이의 통신의 기본 빌딩 블록은 트랜잭션 계층 패킷(TLP)이다. TLP는 헤더, 데이터 페이로드 및 에러 정정 세그먼트(다이제스트로 칭해짐)를 포함한다. 하나 이상의 TLP들은 PCI 익스프레스 호환 디바이스에서의 동작을 가능하게 해주는 트랜잭션을 생성한다. 예를 들어, TLP 트랜잭션들은 메모리 판독 및 기록 동작들을 가능하게 한다.
위에서 언급된 바와 같이, PCI 익스프레스 제어는 현대의 데이터 통신의 디바이스-대-디바이스 도전과제들에 대해 유연한 고속 기법을 제공하기 위해 개발되었다. 그럼에도 불구하고, 고성능 컴퓨터 디자인을 서비스하기 위한 효율적인 데이터 전송에 대한 끊임없이 증가하는 수요로, 데이터 전송의 효율성은 높은 우선순위를 유지한다. 따라서, PCI 익스프레스 프로토콜 향상에 대한 계속적인 필요가 존재한다. PCI 익스프레스 프로토콜에 대한 모든 개선은 반드시 표준 PCI 익스프레스 규격과 후방 호환(backward compatible)되어야 한다.
결론적으로, PCI 익스프레스 프로토콜 향상으로부터 추가의 기능이 실현될 수 있게 하기 위하여 디바이스 수정이 필요하다. PCI 익스프레스 프로토콜에 대한 향상은 통신 링크의 양 단에 있는 디바이스들과 관련된 소프트웨어 드라이버들을 업그레이드함으로써 실현될 수 있다. 그러한 업그레이드된 소프트웨어 드라이버들은 메모리 매핑 공간(memory-mapped space)을 프로그램하여, 관련된 장치들이 PCI 익스프레스 프로토콜 향상을 활용할 수 있게 된다. 장치 소프트웨어 드라이버들에 대한 업그레이드는 선호되는 해법이기는 하지만, 꽤 자주, 그러한 업그레이들은 적절한 시기에 이용이 불가능하다. 더우기, PCI 익스프레스 기능은 상기 기능에 의해 소유되지 않은 자원들(예를 들어, 구성 공간(configuration space))에 액세스할 수 없다. 피어-투-피어(peer-to-peer) 접근법을 사용하여 PCI 익스프레스 환경에서 외부 자원(foreign resources)에 대한 어느 정도의 제한된 액세스가 가능할 수 있으나, 많은 플래폼들이 피어-투-피어 액세스를 지원하지 않고, 극소수의 플래폼들만이 피어-투-피어 기법을 이용한 "판독 액세스"를 지원한다. 추가로, 다운스트림 PCI 익스프레스 포트들은 구성 공간에 대한 액세스를 용인하지 않는다. 또한, 일부 시스템들은 "액세스 제어 서비스들"을 통해 피어-투-피어 액세스를 완전히 블록한다.
따라서, 관련된 디바이스 소프트웨어 드라이버들에 대한 업그레이드가 없을 때 PCI 익스프레스 프로토콜 향상을 구현하기 위한 방법 및 시스템이 필요하다.
본 발명의 실시예에서, 메모리 공간 또는 레지스터 공간은 벤더 정의 메시지(vendor defined message)들을 사용하여 구성된다.
본 발명의 추가적인 실시예에서, 타입 1 벤더 정의 PCI 익스프레스 메시지들을 사용하는 자원 액세스 기법이 적용된다. 메모리 판독(memory read), 메모리 기록(memory write), 구성 판독(configuration read), 구성 기록(configuration write) 및 완료(completion)를 위한 타입 1 벤더 정의 PCI 익스프레스 메시지들의 예시적인 실시예들이 기술된다.
자원 액세스에 대한 메시징 접근법을 사용하는 사용 모델(use model)의 예가 또한 기술된다.
본 발명의 추가의 실시예들, 특징들, 및 이점들은, 본 발명의 다양한 실시예들의 구조 및 동작과 함께 첨부의 도면들을 참조로 하기에서 자세히 설명된다.
본 명세서에 포함되고 본 명세서의 일부를 이루는 첨부의 도면들은 본 발명을 예시하고, 설명과 함께, 본 발명의 원리들을 설명하고 그리고 당업자로 하여금 본 발명을 실시하고 사용할 수 있게 해준다.
도 1은 PCI 익스프레스 기법을 사용하는 데이터 통신 시스템을 표시한다.
도 2는 본 발명의 실시예에 따른 예시적인 메모리 판독 벤더 정의(vendor defined) 메시지 정의(definition)를 표시한다.
도 3은 본 발명의 실시예에 따른 예시적인 메모리 기록 벤더 정의 메시지 정의를 표시한다.
도 4는 본 발명의 실시예에 따른 예시적인 구성 판독 벤더 정의 메시지 정의를 표시한다.
도 5는 본 발명의 실시예에 따른 예시적인 구성 기록 벤더 정의 메시지 정의를 표시한다.
도 6은 본 발명의 실시예에 따른 예시적인 완료 벤더 정의 메시지 정의를 표시한다.
도 7-9는 본 발명의 실시예에 따른, 자원 액세스에 대한 벤더 메시징 접근법을 위한 예시적인 레지스터 정의를 표시한다.
도 10은 본 발명의 실시에에 따른 메시징을 사용하는 자원 액세스의 예시적인 방법의 흐름도를 표시한다.
도 11은 4개의 종점들, 루트 콤플렉스(root complex) 및 3 개의 스위치들을 갖는 PCI 익스프레스 토폴로지를 표시한다.
이제 첨부의 도면들을 참조로 본 발명이 설명될 것이다. 도면들에서, 유사한 참조 부호들은 동일하거나 기능적으로 유사한 요소들을 나타낼 수 있다. 추가로, 참조 번호의 최좌측 숫자(들)이 참조 번호가 가장 먼저 등장하는 도면을 나타낼 수 있다.
도 1은 디바이스(110)와 디바이스(120) 사이의 통신을 위해 PCI 익스프레스 시스템을 사용하는 데이터 통신 시스템을 표시한다. PCI 익스프레스 표준에서 통신의 기본 단위는 트랜잭션 계층 패킷(TLP)이다. 하나 이상의 TLP들이 PCI 익스프레스 트랜잭션을 확립하고 디바이스(110)와 디바이스(120) 사이의 링크(130)를 통해 전송된다. 디바이스(110, 120)는 일반적으로 PCI 익스프레스 트랜잭션들을 제어 및 관리하기 위한 제어기를 포함한다.
일반적인 TCP 패킷은 헤더, 데이터 페이로드, 및 에러 검사부(error checking portion)(다이제스트(digest)라고도 알려져 있음)를 포함한다. 모든 TCP 패킷들이 데이터 페이로드 및 다이제스트를 필요로 하는 것은 아니기 때문에, 데이터 페이로드 및 다이제스트는 선택적이다. TLP 헤더는 더블 워드(DWord라고도 알려져 있음)로 정렬되며, 여기서 DWord는 4 바이트 또는 32 비트와 같다. 특정한 PCI 익스프레스 트랜잭션에 의존하여, TLP 헤더는 길이가 달라질 수 있다(즉, 3 DWord 또는 4 DWord 길이).
위에서 언급한 바와 같이, PCI 익스프레스 프로토콜 향상으로부터 추가의 기능이 실현될 수 있게 하기 위하여 디바이스 수정이 필요하다. PCI 익스프레스 프로토콜에 대한 향상은 일반적으로 통신 링크의 양 단에 있는 디바이스들과 관련된 소프트웨어 드라이버들을 업그레이드함으로써 구현될 수 있다. 그러한 업그레이드된 소프트웨어 드라이버들은 디바이스들과 관련된 메모리 매핑 공간을 프로그램하여 디바이스들이 PCI 익스프레스 프로토콜 향상을 사용할 수 있게된다. 각각의 영향받은 PCI 익스프레스 디바이스(종점들, 스위치들 및 루트 콤플렉스를 포함)에 대한 갱신된 소프트웨어 드라이버들은 PCI 익스프레스 프로토콜 향상을 포함시키려는 필요에 대해 선호되는 해법이다. 디바이스 소프트웨어 드라이버에 대한 업그레이드가 선호되는 해법이나, 꽤 자주, 그러한 업그레이들은 적절한 시기에 이용이 불가능하다.
하기에서 설명되는 기법에서, 관련된 디바이스의 메모리 매핑된 공간(또는 구성 공간)에 기록 및 판독하기 위하여 벤더-정의 PCI 익스프레스 메시지들이 사용되는 일반적인 방법이 제안된다. 이 벤더 정의 PCI 익스프레스 메시지들은 PCI 익스프레스 프로토콜 내의 벤더-정의 타입 1 메시지들이다. 벤더-정의 타입 1 메시지 기법을 사용하여, PCI 익스프레스 링크의 타단(other end)에 있는 PCI 익스프레스 호환 디바이스가 이들 메시지 타입들을 지원하지 않으면, 메시지들은 수신기에 의해 조용히 폐기되고, 에러가 보고되지 않는다. 하기에서 설명되는 기법에서는 임의의 시간에(at any one time) 단 하나의 미처리 요청(outstanding request)만이 지원된다.
4가지 타입의 레지스터 액세스가 이 메시징 기법을 이용하여 정의된다. 4가지 타입의 레지스터 액세스는 메모리 판독, 메모리 기록, 구성 판독 및 구성 기록이다. 요구되는 레지스터 액세스 타입이 벤더 정의 메시지의 헤더 내의 벤더-지정(vendor-specific) 타입 필드 내의 적절한 값에 의해 정의된다. 이 방법의 예로, 메모리 판독 요청이 하기의 방식으로 작동한다. 이 기법을 사용하여 메모리 판독 요청이 송신될 때, 통신 링크의 타측(other side)은, 32-비트 데이터 페이로드와 함께, 타입 완료를 표시하는 벤더 특정 메시지로 응답한다. 벤더 특정 메시지의 수신자는 이후 이 메시지를 처리하고 관련된 레지스터에 데이터가 저장될 것이며, 상기 데이터는 나중에 소프트웨어에 의해 판독될 수 있다.
메모리 판독을 위한 예시적인 벤더 정의 메시지
도 2-6은 본 발명에 따른 레지스터 액세스를 위해 사용되는 벤더-정의 타입 1 메시지들을 위한 트랜잭션 계층 패킷 정의를 도시한다. 도 2는 밴더-정의 메시지 내의 메모리 판독을 위한 예시적인 TLP 정의를 도시한다. 도 2에 도시되는 바와 같이, 벤더 정의 메모리 판독 메시지의 헤더는 1개의 DWord 페이로드와 함께 4개의 DWord들로 구성된다. 예약된 필드(reserved field)인 제1 필드로 구성된 헤더의 제1 워드는 1 비트 길이이고, "R"로 표시된다. 제2 필드는 TLP가 벤더 정의 메시지임을 나타내는 값 "1110100"을 포함하는 7-비트 필드이다.
제1 DWord의 다음 필드 또한 예약된 필드이고, 1 비트 길이이고, "R"로 표시된다. 트래픽 클래스(TC) 필드는 최대 8개의 서로 다른 트래픽 클래스 타입들을 식별하기 위한 3-비트 필드이다. 그러한 정보는 서로 다른 서비스 품질의 제공을 위한 기반을 형성할 수 있다. 다음 필드가 또한 예약된 필드이고, 4 비트 길이이고, "R"로 표시된다. TD 필드는 TCP 패킷의 단부에서 다이제스트의 존재 또는 부재를 표시하는 일-비트 필드이다. 따라서, "1"의 TD 필드 값은 다이제스트의 존재를 표시하고, 반면 "0"의 값은 다이제스트의 부재를 표시한다. EP 필드는 TLP 패킷이 "배드(bad)" 데이터를 포함하는 것으로 고려되는지 여부를 표시하는 1-비트 필드이다. 따라서, "1"의 EP 필드 값은 배드 데이터의 존재를 표시하고, 반면에 "0"의 값은 배드 데이터의 부재를 표시한다. "Attr"은 TLP 패킷을 위한 속성(attribute) 정보를 제공하는 2-비트 필드이고, 여기서 속성 정보는 캐시 일관성(cache coherency) 및 완화된 순서(relaxed ordering)를 고려하는 정보를 포함한다. "AT"는 PCI 익스프레스 어드레스 변환(translation) 서비스가 사용되는 경우에 패킷에서 어드레스가 변환되는지 여부를 표시하는 2-비트 필드이다.
마지막으로, "길이" 필드는 TLP에 페이로드의 길이의 표시를 제공하는 10-비트 필드이다. 페이로드 길이는 DWord로 표현된다. 이 필드의 값은 "1"의 값으로 설정되어 있으며, 이는 1 DWord 길이의 페이로드 길이를 표시한다.
벤더-정의 메모리 판독 메시지의 제2 DWord는 "요청자 ID" 필드, "태그" 필드, 및 고정 값 필드를 포함한다. "요청자 ID" 필드는 버스 번호(bus number), 디바이스 번호(device number), 및 요청자의 함수 번호(function number)를 포함하는 16-비트 필드이다. "요청자 ID" 필드의 내용은 구성 단계 동안에 할당되고 상기 내용은 PCI 익스프레스 토폴로지에서 요청자를 고유하게 식별하기 위한 것이다.
"태그" 필드는 요청을 고유하게 식별하기 위해 사용되는 8-비트 필드이다. 특히, 요청자는 완료를 요구하는 요청자에 의해 이루어진 요청들 각각에 대해 고유한 "태그" 필드를 생성할 수 있다. 따라서, 관련된 완료 헤더는 요청자가 관련된 완료 헤더를 빠르게 식별할 수 있도록 관련된 "요청자 ID" 및 "태그" 값들을 포함한다.
벤더 정의 메모리 판독 메시지의 제2 DWord 내의 최종 필드는 그 값이 "01111111"의 값으로 고정된 8-비트 필드이다.
벤더 정의 메모리 판독 메시지의 제3 DWord는 "라우팅(Route by) ID" 필드 및 "벤더 ID" 필드를 포함한다. "라우팅 ID" 필드는 메시지의 의도된 수신자인 디바이스를 표시하는 라우팅 정보를 포함하는 16-비트 필드이다. "벤더 ID" 필드는 메시지를 송신하는 디바이스의 벤더의 표시를 표함하는 16-비트 필드이다. "벤더 ID"는 PCI-SIG(PCI Special Interest Group)에 의해 할당된다.
벤더 정의 메모리 판독 메시지의 4번째 DWord는 4-비트 타입 필드와 함께 28-비트의 미사용 필드를 포함한다. 4-비트 타입 필드는 원하는 액세스의 타입을 표시한다. "타입" 필드를 위한 값들의 예시적인 세트가 도 7b에 도시된다.
마지막으로, 벤더-정의 메모리 판독 메시지의 5번째 DWord는 메모리 판독 메시지에 의해 어드레스되고 있는 관련 메모리 공간의 어드레스를 표시하는 32-비트 필드를 포함하는 페이로드이다.
메모리 기록을 위한 예시적인 벤더 -정의 메시지
도 3은 벤더 정의 메시지 내에서 메모리 기록을 위한 예시적인 TLP 정의를 표시한다. 도 3의 도면에서, 벤더-정의 메모리 기록 메시지의 헤더는 2개의 DWord 페이로드와 함께 4개의 DWord들로 구성된다. 헤더의 제1 DWord는 메모리 판독 메시지를 위해 도 2에 도시된 것과 동일한 필드들 및 값들을 포함한다. 유일한 차이점은 길이 필드가 2 DWord 길이의 페이로드 길이를 표시하는 "2"의 값으로 설정된다는 것이다. 다음 세 개의 DWord들은 타입 필드가 메모리 기록 타입 메시지와 관련된 값으로 설정된 것을 제외하고는, 메모리 판독 메시지를 위해 도 2에 도시된 것과 동일하다. 메시지의 페이로드는 두 개의 DWord들을 포함하고, 제1 DWord는 32-비트 어드레스 필드를 포함하고 제2 DWord는 32-비트 데이터 필드를 포함한다. 대안적인 실시예에서, TLP 패킷은 가변 길이 데이터의 어드레싱을 지원하기 위한 어드레싱 정보를 포함할 수 있다. 그러한 실시예에서, 페이로드 길이가 2(또는 메모리 판독의 경우에 1)와 같은 설정 값(set value)으로 하드와이어(hardwired)되지 않으나, 대신에 데이터 블록 더하기 1의 길이로 설정된다. 이 대안적인 실시예는 메모리 기록, 메모리 판독 및 완료 메시지에 적용될 수 있다.
구성 판독을 위한 예시적인 벤더 -정의 메시지
도 4는 벤더-정의 메시지 내의 구성 판독을 위한 예시적인 TLP 정의를 도시한다. 도 4의 도면에서와 같이, 벤더-정의 구성 판독 메시지는 4개의 DWord와 그 뒤에 오는 한 개의 DWord 페이로드로 구성된다. 헤더의 제1 DWord는 메모리 판독 메시지에 대해 도 2에 도시된 것과 동일한 필드들 및 값들을 포함한다. 메모리 판독 메시지로, 길이 필드는, 1 DWord 길이의 페이로드 길이를 표시하는 "1"의 값으로 설정된다. 다음 3개의 DWord들은 타입 필드가 구성 판독 타입 메시지와 관련된 값으로 설정된 것을 제외하고는 메모리 판독 메시지에 대해 도 2에 도시된 것과 동일하다. 메시지의 페이로드는 1 DWord를 포함하고, 이 DWord는 20-비트의 예약된 필드와, 그 다음에, 판독되고 있는 레지스터의 수를 표시하는 10 비트 "레지스터 이름" 필드를 포함한다. 마지막으로, 나머지 2-비트가 2-비트 예약된 필드를 구성한다.
구성 기록을 위한 예시적인 벤더 정의 메시지
도 5는 벤더 정의 메시지 내의 구성 기록을 위한 예시적인 TLP 정의를 도시한다. 도 5의 도면에서와 같이, 벤더-정의 구성 기록 메시지의 헤더는 4개의 DWord 다음에 2개의 DWord 페이로드로 구성된다. 헤더의 제1 DWord는 길이 필드가 2 DWord 길이의 페이로드 길이를 표시하는 "2"의 값으로 설정되는 것을 제외하고는, 메모리 판독 메시지에 대해 도 2에 도시된 것과 동일한 필드들 및 값들을 포함한다. 다음 3 개의 DWord는 타입 필드가 구성 기록 타입 메시지와 관련된 값으로 설정되는 것을 제외하고는, 메모리 판독 메시지에 대해 도 2에 도시된 것과 동일한다. 메시지의 페이로드는 2 개의 DWord를 포함하고, 제1 DWord는 20-비트의 예약된 필드와, 그 뒤의, 기록되고 있는 레지스터의 번호를 표시하는 10 비트의 "레지스터 번호(register number)"필드를 포함한다. 페이로드의 제1 DWord의 나머지 2-비트는 2-비트의 예비된 필드를 구성한다. 마지막으로, 페이로드의 제2 DWord는 구성 기록 메시지의 32-비트 데이터를 포함한다.
완료를 위한 예시적인 벤더 -정의 메시지
도 6은 벤더-정의 메시지 내의 완료를 위한 예시적인 TLP 정의를 도시한다. 도 6의 도면에서와 같이, 벤더 정의 완료 판독 메시지의 헤더는 4개의 DWord와, 그 뒤의 1개의 DWord 페이로드로 구성된다. 헤더의 제1 DWord는 메모리 판독 메시지에 대해 도 2에 도시된 것과 동일한 필드들 및 값들을 포함한다. 메모리 판독 메시지와 같이, 길이 필드가 1 DWord 길이의 페이로드 길이를 표시하는 "1"의 값으로 설정된다. 다음 3개의 DWord는, 타입 필드가 완료 메시지와 관련된 값으로 설정되는 것을 제외하고는, 메모리 판독 메시지에 대해 도 2에 도시된 것과 동일하다. 메시지의 페이로드는 1 DWord를 포함하고, 이 DWord는 데이터의 32비트를 포함한다.
벤더 정의 메시징 기법을 위한 예시적인 레지스트리 정의
도 7-9는 벤더 정의 메시징 기법을 지원하는 예시적인 레지스트리 정의를 도시한다. 도 7은 다음의 5개 필드들: 기술된 기능(capability)을 지원하는 디바이스를 표시하는 판독-전용 2-비트 필드(REG_ACCESS_CAPABILITY), 벤더 정의 메시지를 통해 레지스터 액세스의 발생을 가능하게 하는 1-비트 필드(REG_ACCESS_GEN_EN), 설정될 때, 수신된 벤더 정의 메시지들을 통한 레지스터 액세스를 디스에이블시킬 수 있는 1-비트 필드(REG_ACCESS_RCV_DIS), (기록의 경우) 이전 메시지가 송신되었고 (판독의 경우) 데이터가 액세스될 수 있음을 표시하기 위해 "0"의 값을 사용하는 1-비트 필드(REG_ACCESS_DONE), 및 도 7b에 도시된 예시적인 정의들을 사용하여 액세스 타입을 표시하는 4-비트 필드(REG_ACCESS_TYPE)의 예시적인 레지스트리 정의를 도시한다. 도 8은 벤더 정의 메시지들을 통한 레지스터 액세스를 위해 메모리 매핑 공간에 오프셋을 제공하는 32-비트 필드(REG_ACCESS_ADDRESS)의 예시적인 정의를 도시한다. 구성 판독 및 구성 기록 동작들의 경우에, 32-비트 필드의 9:0 비트들만이 레지스터 오프셋을 제공하기 위해 사용된다. 도 9는 벤더 정의 메시지를 통해 레지스터 액세스를 사용하여 메모리 매핑 기록 또는 구성 기록을 위한 데이터를 제공하는 32-비트 필드(REG_ACCESS_WRITE_DATA)의 예시적인 정의를 도시한다. 판독 동작의 완료에 따라 수신 데이터를 저장하기 위해 판독 데이터 레지스터가 또한 요구된다. 예시적인 실시예에서, 판독 데이터 레지스터가 판독 동작을 위해 재사용되는 기록 데이터 레지스터일 수 있다. 대안적으로, 판독 데이터 레지스터는 완전히 별도의 레지스터, 예를 들어, 32-비트 필드(REG_ACCESS_READ_DATA)일 수 있다. 앞에서 공지한 바와 같이, 본 발명의 실시예들은 가변 길이(flexible length)의 데이터 블록들에의 액세스를 위한 준비를 포함한다. 추가로, 데이터 블록들은 레지스터 위치들 또는 메모리 위치들의 범위 내에 있을 수 있다.
벤더 정의 메시지 기법을 이용하는 방법
도 10은 본 발명의 실시예들에 따른 PCI 익스프레스 벤더 정의 메시지 기법의 사용을 위한 예시적인 방법의 플로우차트(1000)를 표시한다. 도 10은 도 1의 동작 환경을 계속 참조하여 설명된다. 그러나, 방법(1000)이 그 실시예로 제한되는 것은 아니다. 방법(1000)은 단계(1010)에서 시작한다.
단계(1010)에서, 벤더 정의 메시지들을 위해 소스에서 자원 액세스를 인에이블시킨다. 예시적인 실시예에서, 액세스는 PCIE_REG_ACCESS_CNTL 레지스터의 REG_ACCESS_GEN_EN 필드를 "1"의 값으로 설정함으로써 인에이블될 수 있다.
단계(1020)에서, 앞선 벤더 정의 메시지에 의한 이전의 액세스가 클리어되었음을 확인하기 위해 검사한다. 예시적인 실시예에서, 그러한 검사는 PCIE_REG_ACCESS_CNTL의 REG_ACCESS_DONE 필드가 "0"으로 설정됨을 보기 위해 검사함으로써 이루어질 수 있다.
단계(1030)에서, 목적지 자원 오프셋이 소스와 관련된 적절한 위치에 기록된다. 예시적인 실시예에서, 목적지 자원 오프셋은 PCIE_REG_ACCESS_ADDR 레지스터에 기록된다.
단계(1040)에서, 메모리 기록 벤더 메시지들 또는 구성 기록 벤더 메시지들에 대해, 소스와 관련된 적절한 위치에 데이터를 기록한다. 예시적인 실시예에서, 데이터가 PCIE_REG_ACCESS_DATA 레지스터 내의 REG_ACCESS_WRITE_DATE 위치에 기록된다.
단계(1050)에서, 요구되는 목적지 액세스의 타입을 설정한다. 예시적인 실시예에서, PCIE_REG_ACCESS_CNTL 내의 REG_ACCESS_TYPE 필드를 요구되는 목적지 액세스로 설정한다. 타입 필드가 기록될 때, 벤더 정의 메시지가 송신된다.
단계(1060)에서, 벤더 정의 메시지의 송신 완료를 나타내기 위한 메시지 상태를 대기한다. 예시적인 실시예에서, PCIE_REG_ACCESS_CNTL 레지스터의 REG_ACCESS_DONE 값이 "0"의 값으로 설정될 때까지 대기할 수 있다.
단계(1070)에서, 본 동작이 벤더 메시지들을 통한 메모리 판독 또는 구성 판독 동작이었다면, 적절한 위치로부터 데이터를 판독한다. 예시적인 실시예에서, 데이터는 위치 PCIE_REG_ACCESS_DATA로부터 판독될 수 있다.
단계(1080)에서, 단계(1030)으로 되돌아가 다음 목적지 자원 액세스로 계속한다.
단계(1090)에서, 액세스를 필요로하는 추가의 자원이 없을 때, 벤더 정의 메시지를 통한 자원 액세스를 디스에이블시킨다. 예시적인 실시예에서, 자원 액세스는 PCIE_REG_ACCESS_CNTL 내의 REG_ACCESS_GEN_EN을 "0"의 값으로 설정함으로써 디스에이블될 수 있다.
소프트웨어가 벤더 정의 메시지 방법을 통해 이 자원 액세스 요청을 사용할 수 있게되기 전에, 소프트웨어는 통신 링크의 타 측이 이 피쳐를 지원하는지를 판단할 필요가 있다. 소프트웨어는 구성 공간 어드레스 0 (벤더/디바이스 ID)의 판독을 행하기 위해 이 방법을 사용함으로써 이를 행한다. 이는 타입 0x2 (즉, 구성 판독)의 벤더 정의 메시지를, 레지스터 오프셋 0으로, 타 측으로 송신 되게 할 것이다. 이 요청이 성공적이면, 소프트웨어는 PCIE_REG_ACCESS_DATA 내의 벤더/디바이스 ID를 판독할 수 있고, 이후 이 방법이 지원되고 소프트웨어가 이 방법을 사용하도록 진행할 수 있다. 소프트웨어 내의 타임아웃 값 설정 후에 조차도 PCIE_REG_ACCESS_CNTL.REG_ACCESS_DONE = 1 이면, 이 방법은 지원되지 않으며 사용될 수 없다. 예시적인 실시예에서, 이 단계는 단계(1010) 후에 수행될 수 있다.
앞에서 언급한 바와 같이, PCI 익스프레스 규격에 따라, 통신 링크의 타 측이 이 메커니즘을 지원하지 않고 벤더 정의 메시지를 이해하지 않는다면, 메시지는 수신기에서 조용히 폐기되어야 한다. 위의 방법은 도 11의 예에서 보인 바와 같이, 복수의 엔드 디바이스들을 포함하는 보다 복잡한 토폴로지로 쉽게 확장될 수 있다. 예를 들어, 도 11의 루트 제어기, 모든 스위치들 및 종점들이 메모리 액세스에 대한 메시지-기반 접근을 지원할 것이다.
이 벤더 정의 메시지들이 수신기에서 종단되고 스위치로 포워딩되지 않음에 주목하여야 한다(즉, 라우팅[2:0]=100b). 예를 들어, 도 11에서, EP0가 SW0의 레지스터들에 액세스할 필요가 있다면, EP0는 다중-단계 프로세스에서 그것을 행해야만 한다. 예를 들어, EP0가 SW0에 메모리 기록을 행하게 하기 위하여, 메모리 기록을 벤더 정의 메시지 업스트림을 통해 SW1로 송신하도록 EP0를 프로그램한다. EP0으로부터의 이 기록은 SW1의 PCIE_REG_ACCESS* 레지스터들을 프로그램하고, 상기 레지스터들은, 다시, 벤더 정의 메시지 업스트림을 통해 SW0으로 메모리 기록을 송신하도록 SW1을 트리거링한다. 그러한 단일-단계 전파(single-step propagation) 모드는 비효율적이다. 대안적이고 더욱 효과적인 복수-단계(multi-step) 실시예에서, 메시지들은 ID에 의해 라우팅될 수 있다(즉, 라우팅[2:0]=010b). 그러한 라우팅을 사용하여, 메시지가 스위치를 통해 그들의 최종 목적지로 전파될 수 있다. 두개의 벤더 전파 방법들 중 어느것이 사용될지를 표시하기 위해 추가의 레지스터 위치(예를 들어, REG_ACCESS_ROUTE_APPROACH)가 요구된다.
관련 기술 분야의 당업자는 본 발명의 실시예들의 범주를 인지할 것이다. 특히, 본 발명의 실시예들은 PCI 익스프레스 토폴로지에서 감소된 헤더 접근법을 구현하는 대안적인 엔코딩들과 함께 사용될 수 있다. 또한, 본 발명의 실시예들은 PCI 익스프레스 표준의 미래의 버전들을 포함하는 버전들과 함께 사용될 수 있다. 추가로, 본 발명의 실시예들은 또한 현재의 그리고 미래의 다른 데이터 트랜잭션 표준들에 적용가능하다.
본 발명은 소프트웨어, 하드웨어, 및 여기에 기술된 것들 외의 운영 시스템 구현들로 동작할 수 있다. 여기에 기술된 기능들을 수행하기 위한 임의의 소프트웨어, 하드웨어, 및 운영 시스템 구현들이 사용될 수 있다.
본 발명은 구체적인 기능들의 구현 및 상기 기능들의 관계를 보여주는 기능적 빌딩 블록들의 도움으로 설명되었다. 설명의 편이를 위해 이 기능적 빌딩 블록들의 경계는 여기에서 임의로 정의되었다. 구체적인 기능들 및 그것들의 관계가 적절하게 수행된다면 대안적인 경계들이 정의될 수 있다.
구체적인 실시예들의 상기 설명은 본 발명의 일반적인 특징을 완전히 드러내어, 당업자가, 본 기술 분야 내의 지식을 적용함으로써, 과도한 실험없이도, 본 발명의 일반적인 개념으로부터 벗어남이 없이 그러한 구체적인 실시예들을 쉽게 수정 및/또는 조정할 수 있을 것이다. 따라서, 그러한 조정 및 수정은 본 명세서에 설명된 교지 및 안내에 기초하여 개시된 실시예들의 등가의 범위 및 의미 내에 있을 것이다. 본 명세서의 어법 또는 용어는, 본 명세서의 용어 또는 어법이 당업자에 의해 본 교지 및 안내의 견지에서 해석되도록, 제한의 목적이 아닌 설명의 목적으로 사용된 것이다.
결론
본 발명의 예시적인 실시예들이 제시되었다. 본 발명은 이 예들로 제한되지 않는다. 이 예들은 제한이 아닌 설명의 목적으로 제시된 것이다. (본 명세서에서 설명된 것들의 등가, 확장, 변형, 파생 등을 포함하는) 대안들은 본 명세서에 포함된 교지에 기초하여 관련 기술분야의 당업자에게 자명할 것이다. 그러한 대안은 본 발명의 범주 및 정신 내에 들어온다.
본 발명의 폭 및 범주가 위에서 기술된 예시적인 임의의 실시예로 제한되어서는 안되며, 하기의 청구항들 및 이들의 등가에 따라서만 한정되어야 한다.

Claims (19)

  1. 소스(source)로부터 발생(originating)되는 메시지(message)를 사용하여 목적지(destination)의 기능적 공간(functional space)에 액세스하기 위한 방법으로서,
    상기 소스에서 상기 메시지를 형성하는 단계와, 여기서 상기 메시지는 관련된 메시지 표준(message standard)에서 정의된 벤더 특정 타입 필드(vendor-specific type field)에서 제공되는 표시에 근거하는 벤더 정의 메시지(vendor-defined message)이고, 상기 메시지는 액세스와 관련된 액세스 타입 값(access type value)과 그리고 상기 기능적 공간과 관련된 목적지 오프셋 값(destination offset value)을 포함하며; 그리고
    상기 메시지를 상기 목적지에 전송하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 메시지는 PCI 익스프레스 메시지(PCI Express message)인 것을 특징으로 하는 방법.
  3. 제1항에 있어서,
    상기 액세스는 메모리 판독 동작(memory read operation), 메모리 기록 동작(memory write operation), 구성 판독 동작(configuration read operation), 구성 기록 동작(configuration read operation) 및 완료 동작(completion operation) 중 하나인 것을 특징으로 하는 방법.
  4. 제1항에 있어서,
    상기 메시지는 또한, 데이터 값(data value)을 포함하고, 그리고 상기 액세스는 메모리 기록 동작, 구성 기록 동작 및 완료 동작 중 하나인 것을 특징으로 하는 방법.
  5. 제1항에 있어서,
    상기 기능적 공간은 메모리 위치(memory location) 및 레지스터 위치(register location) 중 하나인 것을 특징으로 하는 방법.
  6. 제1항에 있어서,
    상기 형성하는 단계 및 상기 전송하는 단계는, 상기 소스와 관련된 활성화 위치(enablement location)가 메시징 활성화(messaging enablement)를 표시하는 값으로 설정될 때, 수행되는 것을 특징으로 하는 방법.
  7. 제1항에 있어서,
    상기 소스와 관련된 상태 위치(status location)를 미리결정된 값(predetermined value)으로 설정함으로써, 상기 메시지가 성공적으로 전송되었음을 표시하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  8. 제1항에 있어서,
    판독될 데이터의 이용가능성(availability)을 표기(noting)함으로써, 상기 메시지가 성공적으로 전송되었음을 표시하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  9. 제1항에 있어서,
    상기 형성하는 단계 및 상기 전송하는 단계는, 상기 소스에서의 이전의 메시지 형성(prior message formation)이 완료되었음을 검증한 후에, 수행되는 것을 특징으로 하는 방법.
  10. 제1항에 있어서,
    상기 메시지를 형성하는 단계는 또한, 단일 단계 전파(single-step propagation)와 관련된 미리결정된 라우팅 값(predetermined routing value)으로 라우트 값(route value)이 설정되는 것을 포함하는 것을 특징으로 하는 방법.
  11. 제1항에 있어서,
    상기 메시지를 형성하는 단계는 또한, 다중 단계 전파(multi-step propagation)와 관련된 미리결정된 라우팅 값으로 라우트 값이 설정되는 것을 포함하는 것을 특징으로 하는 방법.
  12. 소스로부터 발생되는 메시지를 사용하여 목적지의 기능적 공간에 액세스하기 위한 방법으로서,
    상기 목적지에서 상기 메시지를 수신하는 단계와, 여기서 상기 메시지는 관련된 메시지 표준에서 정의된 벤더 특정 타입 필드에서 제공되는 표시에 근거하는 벤더 정의 메시지이고, 상기 메시지는 액세스와 관련된 액세스 타입 값과 그리고 상기 기능적 공간과 관련된 목적지 오프셋 값을 포함하고; 그리고
    상기 목적지 오프셋 값 및 상기 액세스 타입 값에 근거하여 상기 기능적 공간에서 상기 액세스를 수행하는 단계를 포함하는 것을 특징으로 하는 방법.
  13. 제12항에 있어서,
    상기 메시지는 PCI 익스프레스 메시지인 것을 특징으로 하는 방법.
  14. 제12항에 있어서,
    상기 액세스는 메모리 판독 동작, 메모리 기록 동작, 구성 판독 동작, 구성 기록 동작 및 완료 동작 중 하나인 것을 특징으로 하는 방법.
  15. 제12항에 있어서,
    상기 메시지는 또한, 데이터 값을 포함하고 그리고 상기 액세스는 메모리 기록 동작, 구성 기록 동작 및 완료 동작 중 하나인 것을 특징으로 하는 방법.
  16. 제12항에 있어서,
    상기 기능적 공간은 메모리 위치 및 레지스터 위치 중 하나인 것을 특징으로 하는 방법.
  17. 제12항에 있어서,
    상기 액세스를 수행하는 단계는, 상기 목적지에서의 레지스터 값(register value)이 메시지 활성화(message enablement)를 표시하는 미리결정된 값으로 설정될 때, 일어나는 것을 특징으로 하는 방법.
  18. 소스로부터 발생되는 메시지를 사용하여 목적지의 기능적 공간에 액세스하기 위한 장치로서,
    상기 장치는 상기 소스에서 상기 메시지를 형성하도록 되어 있는 디지털 디바이스(digital device)를 포함하고, 여기서 상기 메시지는 관련된 메시지 표준에서 정의된 벤더 특정 타입 필드에서 제공되는 표시에 근거하는 벤더 정의 메시지이고, 상기 메시지는 상기 액세스하는 것과 관련된 액세스 타입 값과 그리고 상기 목적지의 상기 기능적 공간과 관련된 목적지 오프셋 값을 포함하는 것을 특징으로 하는 장치.
  19. 소스로부터 발생되는 메시지를 사용하여 목적지의 기능적 공간에 액세스하기 위한 장치로서,
    상기 장치는 상기 목적지에서 상기 메시지를 수신하도록 되어 있는 디지털 디바이스를 포함하고, 여기서 상기 메시지는 관련된 메시지 표준에서 정의된 벤더 특정 타입 필드에서 제공되는 표시에 근거하는 벤더 정의 메시지이고, 상기 메시지는 상기 액세스하는 것과 관련된 액세스 타입 값과 그리고 상기 목적지의 상기 기능적 공간과 관련된 목적지 오프셋 값을 포함하며,
    상기 디지털 디바이스는 또한, 상기 목적지 오프셋 값 및 상기 액세스 타입 값에 근거하여 상기 기능적 공간에 액세스하도록 되어 있는 것을 특징으로 하는 장치.
KR1020137003802A 2010-07-15 2011-07-14 Pci 익스프레스 호환 디바이스의 자원들에 액세스하는 방법 및 시스템 KR101704776B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/836,731 2010-07-15
US12/836,731 US8291146B2 (en) 2010-07-15 2010-07-15 System and method for accessing resources of a PCI express compliant device
PCT/US2011/044048 WO2012009559A1 (en) 2010-07-15 2011-07-14 System and method for accessing resources of a pci express compliant device

Publications (2)

Publication Number Publication Date
KR20130045357A KR20130045357A (ko) 2013-05-03
KR101704776B1 true KR101704776B1 (ko) 2017-02-08

Family

ID=44544287

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137003802A KR101704776B1 (ko) 2010-07-15 2011-07-14 Pci 익스프레스 호환 디바이스의 자원들에 액세스하는 방법 및 시스템

Country Status (6)

Country Link
US (1) US8291146B2 (ko)
EP (1) EP2593876A1 (ko)
JP (1) JP5893020B2 (ko)
KR (1) KR101704776B1 (ko)
CN (1) CN103003808B (ko)
WO (1) WO2012009559A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11928070B2 (en) 2021-04-13 2024-03-12 SK Hynix Inc. PCIe device
US11983136B2 (en) 2021-04-13 2024-05-14 SK Hynix Inc. PCIe device and operating method thereof
US11995019B2 (en) 2021-04-13 2024-05-28 SK Hynix Inc. PCIe device with changeable function types and operating method thereof

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013070214A1 (en) * 2011-11-09 2013-05-16 Intel Corporation Method, apparatus, and system to handle transactions received after a configuration change request
TW201642458A (zh) * 2015-05-29 2016-12-01 鴻海精密工業股份有限公司 有機發光顯示裝置及其製造方法
US9806904B2 (en) * 2015-09-08 2017-10-31 Oracle International Corporation Ring controller for PCIe message handling
US20190356412A1 (en) * 2018-05-16 2019-11-21 Qualcomm Incorporated Fast termination of multilane double data rate transactions
US10684981B2 (en) * 2018-05-16 2020-06-16 Qualcomm Incorporated Fast termination of multilane single data rate transactions
US11017071B2 (en) * 2018-08-02 2021-05-25 Dell Products L.P. Apparatus and method to protect an information handling system against other devices
US11477049B2 (en) * 2018-08-02 2022-10-18 Xilinx, Inc. Logical transport over a fixed PCIE physical transport network
CN111124987B (zh) * 2019-12-30 2021-06-22 京信通信系统(中国)有限公司 一种基于pcie的数据传输控制系统和方法
EP4084422A4 (en) * 2020-01-22 2023-01-18 Huawei Technologies Co., Ltd. PCIE-BASED DATA TRANSMISSION METHOD, DEVICE AND SYSTEM
CN114564334B (zh) * 2022-04-27 2022-07-22 苏州浪潮智能科技有限公司 一种mrpc数据处理方法、系统及相关组件

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050086549A1 (en) 2003-10-15 2005-04-21 Solomon Gary A. Power management over switching fabrics
US20110041105A1 (en) 2009-08-14 2011-02-17 Cadence Design Systems Inc. Integrated dma processor and pci express switch for a hardware-based functional verification system

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2178440A1 (en) * 1995-06-07 1996-12-08 Robert W. Horst Fail-fast, fail-functional, fault-tolerant multiprocessor system
JPH0926853A (ja) * 1995-07-13 1997-01-28 Hitachi Ltd ファイルパーティション拡張方法および装置
US6175884B1 (en) * 1998-11-03 2001-01-16 Intel Corporation Efficient communication of transaction types using separate and orthogonal attribute fields in packet headers transferred between hubs in a computer system
EP1728168B1 (en) * 2004-03-19 2009-06-03 Nxp B.V. Simulation circuit of pci express endpoint and downstream port for a pci express switch
US20050237329A1 (en) * 2004-04-27 2005-10-27 Nvidia Corporation GPU rendering to system memory
US7970958B2 (en) * 2005-06-20 2011-06-28 Micron Technology, Inc. Peripheral interface alert message for downstream device
CN101203867B (zh) * 2005-07-05 2010-05-19 松下电器产业株式会社 读出数据长度的指定方法
JP4707695B2 (ja) * 2007-05-18 2011-06-22 株式会社リコー データ処理装置及びその自己診断方法
US8139575B2 (en) * 2007-06-29 2012-03-20 International Business Machines Corporation Device, system and method of modification of PCI express packet digest
CN101320361B (zh) * 2008-02-27 2011-12-07 中兴通讯股份有限公司 一种多cpu通讯方法及系统
JP2009205334A (ja) * 2008-02-27 2009-09-10 Hitachi Ltd 性能モニタ回路及び性能モニタ方法
JP2010026592A (ja) * 2008-07-15 2010-02-04 Panasonic Corp メモリデバイスおよびメモリデバイス制御装置
JP5244037B2 (ja) * 2008-07-15 2013-07-24 パナソニック株式会社 メモリデバイス、メモリデバイス制御装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050086549A1 (en) 2003-10-15 2005-04-21 Solomon Gary A. Power management over switching fabrics
US20110041105A1 (en) 2009-08-14 2011-02-17 Cadence Design Systems Inc. Integrated dma processor and pci express switch for a hardware-based functional verification system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11928070B2 (en) 2021-04-13 2024-03-12 SK Hynix Inc. PCIe device
US11983136B2 (en) 2021-04-13 2024-05-14 SK Hynix Inc. PCIe device and operating method thereof
US11995019B2 (en) 2021-04-13 2024-05-28 SK Hynix Inc. PCIe device with changeable function types and operating method thereof

Also Published As

Publication number Publication date
JP5893020B2 (ja) 2016-03-23
EP2593876A1 (en) 2013-05-22
US20120017025A1 (en) 2012-01-19
JP2013534680A (ja) 2013-09-05
KR20130045357A (ko) 2013-05-03
US8291146B2 (en) 2012-10-16
WO2012009559A1 (en) 2012-01-19
CN103003808B (zh) 2015-07-01
CN103003808A (zh) 2013-03-27

Similar Documents

Publication Publication Date Title
KR101704776B1 (ko) Pci 익스프레스 호환 디바이스의 자원들에 액세스하는 방법 및 시스템
JP5374268B2 (ja) 情報処理装置
US7251704B2 (en) Store and forward switch device, system and method
KR100624610B1 (ko) 데이터 무결성을 관리하는 범용 입출력 아키텍쳐 프로토콜및 관련 방법
JP5922268B2 (ja) 拡張ヘッダを用いたパケット送信
US8443126B2 (en) Hot plug process in a distributed interconnect bus
JP6141379B2 (ja) トランザクション属性を修正するためのメモリ領域オーダリング要求に関するコンプリータ知識の使用
US7210000B2 (en) Transmitting peer-to-peer transactions through a coherent interface
TW200304312A (en) Communicating message request transaction types between agents in a computer system using multiple message groups
US7460531B2 (en) Method, system, and program for constructing a packet
US20160350250A1 (en) Input output data alignment
US9753876B1 (en) Processing of inbound back-to-back completions in a communication system
US20220050139A1 (en) System, apparatus and method for communicating debug messages on a sideband of a serial link according to a debug type messaging protocol
US10970155B1 (en) Error reporting when reading data
US10503682B1 (en) Accessing PCIe configuration data through network
TWI240859B (en) Error forwarding in an enhanced general input/output architecture and related methods
WO2024092188A1 (en) Firmware broadcast in a multi-chip module
TWI246651B (en) An enhanced general input/output architecture and related methods for establishing virtual channels therein

Legal Events

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

Payment date: 20200103

Year of fee payment: 4