KR101579917B1 - Pcie 스위칭 네트워크에서 패킷 전송을 실행하기 위한 방법, 장치, 시스템, 및 저장 매체 - Google Patents

Pcie 스위칭 네트워크에서 패킷 전송을 실행하기 위한 방법, 장치, 시스템, 및 저장 매체 Download PDF

Info

Publication number
KR101579917B1
KR101579917B1 KR1020147000908A KR20147000908A KR101579917B1 KR 101579917 B1 KR101579917 B1 KR 101579917B1 KR 1020147000908 A KR1020147000908 A KR 1020147000908A KR 20147000908 A KR20147000908 A KR 20147000908A KR 101579917 B1 KR101579917 B1 KR 101579917B1
Authority
KR
South Korea
Prior art keywords
tlp
transmission
peic
destination
pcie
Prior art date
Application number
KR1020147000908A
Other languages
English (en)
Other versions
KR20140082630A (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 KR20140082630A publication Critical patent/KR20140082630A/ko
Application granted granted Critical
Publication of KR101579917B1 publication Critical patent/KR101579917B1/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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • 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

Abstract

본 발명의 실시예는 주변 구성요소 상호접속 고속 인터페이스 제어 유닛에 대해 개시한다. 주변 구성요소 상호접속 고속 인터페이스 제어 유닛은, 루트 복합(RC) 또는 종점 장치(EP)로부터 제1 트랜잭션 계층 패킷(TLP)을 수신하고, 상기 제1 TLP를 프로세싱을 위한 신뢰할 수 있는 TLP 전송(RTT) 모듈에 포워딩하도록 구성되어 있는 PCI 대 PCI 브리지 P2P 모듈을 포함하며; 상기 신뢰할 수 있는 TLP 전송(RTT) 모듈은, 상기 수신된 제1 TLP에 따라, 활성 및 대기 PCIE 스위칭 유닛에 연결된 송신 링크를 결정하고, 상기 제1 TLP를 상기 송신 링크를 통해 상기 활성 및 대기 PCIE 스위칭 유닛에 동시에 송신하도록 구성되어 있으며, 이에 따라 상기 제1 TLP의 목적지 PCIE 인터페이스 제어기가 상기 활성 및 대기 PCIE 스위칭 유닛에 의해 포워딩된 상기 제1 TLP를 선택적으로 수신하고 상기 제1 TLP의 목적지 EP 또는 목적지 RC에 상기 제1 TLP를 송신하며, 이에 의해 PCIE 스위칭 이중 평면 네트워킹 접속의 경우에 TLP의 신뢰할 수 있는 전송을 실행하며, PCIE 스위칭을 사용하여 시스템의 신뢰성을 높인다. 본 발명의 실시예는 또한 PCIE 스위칭 네트워크에서 패킷 전송을 위한 방법, 시스템, 및 저장 매체에 대해 개시한다.

Description

PCIE 스위칭 네트워크에서 패킷 전송을 실행하기 위한 방법, 장치, 시스템, 및 저장 매체{METHOD, DEVICE, SYSTEM AND STORAGE MEDIUM FOR IMPLEMENTING PACKET TRANSMISSION IN PCIE SWITCHING NETWORK}
본 발명의 실시 예는 컴퓨터 분야에 관한 것이며, 특히, 주변 구성요소 상호접속 고속(Interconnet Express: PCIE로 약칭) 스위칭 네트워크에서 패킷 전송을 실행하기 위한 방법, 장치, 시스템, 및 저장 매체에 관한 것이다.
컴퓨터와 통신기술이 나날이 발전함에 따라, 대용량의 차세대 입출력(Input/Output: I/O로 약칭) 인터페이스, 예를 들어, 기가비트 이더넷(Gigabit Ethernet: GE로 약칭) 및 10 기가비트 이더넷(10 Gigabit Ethernet: 10GE로 약칭) 기술, 및 4G/8G 파이버 채널(Fibre Channel: FC) 기술을 사용하는 I/O 인터페이스가 출현하고 있다. I/O 인터페이스의 속도는 비약적으로 향상되고 있다. 종래의 주변 구성요소 상호접속(Peripheral Component Interconnet: PCI로 약칭) 버스의 대역폭은 컴퓨터 시스템에서 대량의 고대역폭 동시 읽기 및 쓰기의 요건에 더 이상 부합하지 못하며, PCI 버스는 시스템 성능의 향상에 걸림돌이 되어 버렸다. 그러므로 PCIE 버스가 개발되었다. PCIE 버스는 복수의 채널(X1/X2/X4/X8/X16/X/32)을 통해 지극히 높은 대역폭을 제공하여 시스템 요건을 충족시킬 수 있다.
PCIE는 점대점(point-to-point) 통신 모드를 사용한다. 루트 복합(Root Complex: RC로 약칭)에서 종점(Endpoint: EP로 약칭) 장치에 이르기까지 트리 네트워크 구조가 형성되어 있다. 트랜잭션 계층 패킷(Transaction Layer Packet: TLP로 약칭)을 기초로 해서 전송 계층에서 데이터 교환을 수행한다. 보드에서 PCIE를 버스로 사용하면, 간단한 트리 구조로 시스템의 신뢰도를 높일 수 있다. PCIE 버스가 실패이면, 보드 내에서 효과가 제한된다. 컴퓨터, 네트워크 및 저장 아키텍처를 교체할 때, 이러한 구성요소 중 PCIE를 스위칭 네트워크로서 사용하는 장점은 탁월해진다. 도 1에 도시된 바와 같이, 그래픽 프로세스 유닛(Graphics Process Unit: GPU로 약칭), 집중식 네트워크 어댑터(Converge Network Adapter: CNA로 약칭), 고체 상태 디스크(Solid-State Disk: SSD), 비디오 가속 요소 등은 가상화 기술을 제공하며, GPU, CNA, SSD 등의 자원 공유는 PCIE 스위칭을 통해 중앙처리장치(CPU) 간 또는 가상 머신(Virtual Machine: VM으로 약칭) 간에 실행될 수 있으며, 이에 의해 시스템의 활용 비율도 향상된다. GPU/CNA/SSD/비디오 가속 요소/PCIE 스위칭 요소 또는 PCIE 링크가 실패이면, PCIE 사양에서 규정된 트리 스위치 구조로 인해 모든 CPU에서 비정상적인 동작이 수행되어, 시스템의 신뢰도가 급격하게 저하된다.
전술한 설명에 따라, PCIE의 현재의 트리-구조 네트워킹 방식으로 인해, 시스템의 신뢰도가 어플리케이션 요건을 충족하지 못한다.
따라서, 본 발명의 실시예는 PCIE 스위칭 네트워크에서 패킷 전송을 실행하기 위한 방법, 장치, 시스템, 및 저장 매체를 제공하며, 이에 의해 PCIE 이중-평면 스위칭 네트워크에서 패킷 전송을 실행한다.
한 관점에서, 본 발명의 실시예는 주변 구성요소 상호접속 고속 인터페이스 제어기(PEIC)를 제공하며, 상기 주변 구성요소 상호접속 고속 인터페이스 제어기는,
루트 복합(Root Complex: RC) 또는 종점 장치(Endpoint: EP)로부터 제1 트랜잭션 계층 패킷(transaction layer packet: TLP)을 수신하고, 상기 제1 TLP를, 프로세싱을 위한 신뢰할 수 있는 TLP 전송(reliable TLP transmission: RTT) 모듈에 포워딩하도록 구성되어 있는 PCI 대 PCI 브리지 P2P 모듈; 및
상기 수신된 제1 TLP에 따라, 활성 및 대기 PCIE 스위칭 유닛에 연결된 송신 링크를 결정하고, 상기 제1 TLP를 상기 송신 링크를 통해 상기 활성 및 대기 PCIE 스위칭 유닛에 동시에 송신하도록 구성되어 있고, 이에 따라 상기 제1 TLP의 목적지 PCIE 인터페이스 제어기가 상기 활성 및 대기 PCIE 스위칭 유닛에 의해 포워딩된 상기 제1 TLP를 선택적으로 수신하고 상기 제1 TLP의 목적지 EP 또는 목적지 RC에 상기 제1 TLP를 송신하는, 신뢰할 수 있는 TLP 전송(RTT) 모듈
을 포함한다.
제1 관점의 제1 가능한 실행 방식에서,
상기 신뢰할 수 있는 TLP 전송 모듈은, 상기 제1 TLP를 캡슐화하고, 상기 제1 TLP의 자체 정의 단대단(self-defined end-to-end) TLP 접두사에 송신지 PEIC 번호 및 TLP 송신 순차 번호를 부가하도록 추가로 구성되어 있으며, 이에 따라 상기 제1 TLP의 목적지 PEIC가 상기 송신지 PEIC 번호 및 상기 TLP 송신 순차 번호에 따라 상기 활성 및 대기 PCIE 스위칭 유닛에 의해 포워딩된 상기 제1 TLP를 선택적으로 수신하며, 상기 TLP 송신 순차 번호는 송신지 PEIC에 의해 상기 제1 TLP의 목적지 PEIC에 송신된 TLP의 순차 번호이고, 상기 송신지 PEIC 번호 및 상기 TLP 송신 순차 번호에 따라 상기 활성 및 대기 PCIE 스위칭 유닛에 의해 포워딩된 상기 제1 TLP를 선택적으로 수신하는 과정은, 상기 활성 및 대기 PCIE 스위칭 유닛에 의해 포워딩되고 동일한 송신지 PEIC 번호 및 동일한 TLP 송신 순차 번호를 가지는 제1 TLP에 있어서, 먼저 도착하는 제1 TLP만을 수신하는 과정이다.
제1 관점의 실행 방식과 결합해서, 제2 가능한 실행 방식에서, 상기 신뢰할 수 있는 TLP 전송 모듈은,
상기 수신된 제1 TLP에 따라 어드레스 포워딩 테이블 또는 ID 포워딩 테이블을 검색하고, TLP 전송 큐(TLP transmission queue: TTQ)를 결정하며, 상기 제1 TLP를 상기 TLP 전송 큐에 놓도록 구성되어 있고, 상기 TLP 전송 큐는 상기 제1 TLP의 목적지 PEIC에 대응하는, TLP 디스패치 모듈; 및
상기 TLP 전송 큐 내의 제1 TLP를 상기 TLP 전송 큐의 상기 송신 링크를 통해 상기 활성 및 대기 PCIE 스위칭 유닛에 동시에 송신하도록 구성되어 있고, 이에 따라 상기 제1 TLP의 목적지 PCIE 인터페이스 제어기가 상기 활성 및 대기 PCIE 스위칭 유닛에 의해 포워딩된 상기 제1 TLP를 선택적으로 수신하고 상기 제1 TLP의 목적지 EP 또는 목적지 RC에 상기 제1 TLP를 송신하는, 제2 모듈
을 포함한다.
제1 관점의 제2 가능한 실행 방식과 결합해서, 제3 가능한 실행 방식에서,
상기 송신 모듈은, 상기 제1 TLP를 캡슐화하고, 상기 제1 TLP의 단대단 TLP 접두사에 송신지 PEIC 번호(SPEIC) 및 TLP 송신 순차 번호(SEQUENCE)를 부가하도록 추가로 구성되어 있으며, 이에 따라 상기 목적지 PEIC가 상기 SPEIC 및 상기 SEQUENCE에 따라 상기 활성 및 대기 PCIE 스위칭 유닛에 의해 포워딩된 상기 제1 TLP를 선택적으로 수신하며, 상기 TLP 송신 순차 번호는 송신지 PEIC에 의해 상기 제1 TLP의 목적지 PEIC에 송신된 TLP의 순차 번호이고, 상기 SPEIC 및 상기 SEQUENCE에 따라 상기 활성 및 대기 PCIE 스위칭 유닛에 의해 포워딩된 상기 제1 TLP를 선택적으로 수신하는 과정은, 상기 활성 및 대기 PCIE 스위칭 유닛에 의해 포워딩되고 동일한 상기 SPEIC 및 동일한 SEQUENCE를 가지는 제1 TLP에 있어서, 먼저 도착하는 제1 TLP만을 수신하는 과정이다.
제1 관점의 제2 가능한 실행 방식 또는 제1 관점의 제3 가능한 실행 방식과 결합해서, 제4 가능한 실행 방식에서, 상기 신뢰할 수 있는 TLP 전송 모듈은,
상기 활성 및 대기 PCIE 스위칭 유닛에 의해 송신된 제2 TLP를 선택적으로 수신하고, 상기 수신된 제2 TLP를 상기 P2P 모듈에 송신하도록 구성되어 있고, 이에 따라 상기 P2P 모듈이 상기 제2 TLP의 목적지 RC 또는 목적지 EP에 상기 제2 TLP를 포워딩하는, 수신 모듈을 더 포함한다.
제1 관점의 제4 가능한 실행 방식과 결합해서, 제5 가능한 실행 방식에서, 상기 수신 모듈은 상기 활성 및 대기 PCIE 스위칭 유닛에 의해 송신된 제2 TLP를 선택적으로 수신하도록 추가로 구성되어 있고, 이것은 구체적으로,
상기 수신 모듈은 상기 활성 및 대기 PCIE 스위칭 유닛에 의해 송신된 제2 TLP를 수신하고, 자체 정의 TLP 접두사가 동일한 송신지 PEIC 번호(SPEIC) 및 동일한 TLP 송신 순차 번호(SEQUENCE)를 수반하는 제2 TLP에 있어서, 먼저 수신된 제2 TLP만 수신하고 나중에 수신된 제2 TLP는 폐기하도록 구성되어 있다.
제1 관점의 제2 내지 제5 가능한 실행 방식 중 하나와 결합해서, 제6 가능한 실행 방식에서, 상기 신뢰할 수 있는 TLP 전송 모듈은,
각각의 TLP 전송 큐의 TLP 송신 순차 번호 및 TLP 송신 링크를 유지 및 관리하도록 구성되어 있는 TLP 전송 큐 관리 모듈을 더 포함하며, 상기 TLP 전송 큐의 TLP 송신 순차 번호는 전송 큐에 대응하는 목적지 PEIC에 송신된 TLP의 송신 순차 번호이고, 상기 TLP 전송 큐의 TLP 송신 링크는 전송 큐에 대응하는 목적지 PEIC에 대한 TLP 송신 링크이다.
제2 관점에서, 본 발명의 실시예는 주변 구성요소 상호접속 고속 인터페이스 제어기(PEIC)를 제공하며, 상기 주변 구성요소 상호접속 고속 인터페이스 제어기는,
루트 복합(RC) 또는 종점 장치(EP)로부터 제3 트랜잭션 계층 패킷(TLP)을 수신하고, 상기 제1 TLP를 신뢰할 수 있는 TLP 전송(RTT) 모듈에 포워딩하도록 구성되어 있는 PCI 대 PCI 브리지 P2P 모듈; 및
상기 수신된 제3 TLP에 따라, PCIE 스위칭 유닛에 연결된 송신 링크를 결정하고, 상기 제3 TLP를 상기 송신 링크를 통해 상기 PCIE 스위칭 유닛에 송신하도록 구성되어 있으며, 이에 따라 상기 제3 TLP의 목적지 PCIE 인터페이스 제어기가 상기 PCIE 스위칭 유닛에 의해 포워딩된 상기 제3 TLP를 수신하고 상기 제3 TLP의 목적지 EP 또는 목적지 RC에 상기 제3 TLP를 송신하며; 상기 제3 TLP의 목적지 PEIC에 의해 회신되고 상기 PCIE 스위칭 유닛에 의해 포워딩된 제1 수신확인 메시지 TLP가 시간이 종료될 때까지도 수신되지 않으면, 상기 제3 TLP를 다시 송신하는, 상기 신뢰할 수 있는 TLP 전송(RTT) 모듈
을 포함한다.
제2 관점의 제1 가능한 실행 방식에서,
상기 RTT 모듈은, 상기 제3 TLP를 캡슐화하고, 상기 제3 TLP의 자체 정의 단대단 TLP 접두사에 송신지 PEIC 번호 및 TLP 송신 순차 번호를 부가하고, 상기 캡슐화된 제3 TLP를 상기 송신 링크를 통해 상기 PCIE 스위칭 유닛에 송신하도록 추가로 구성되어 있으며, 이에 따라 상기 제3 TLP의 목적지 PEIC가 상기 수신된 제3 TLP에 있는 상기 송신지 PEIC 번호 및 상기 TLP 송신 순차 번호에 따라 제1 수신확인 메시지 TLP를 회신하며, 상기 회신된 제1 수신확인 메시지 TLP의 자체 정의된 단대단 TLP 접두사는 상기 제3 TLP의 목적지 PEIC의 PEIC 번호 및 수신확인된 TLP 송신 순차 번호를 수반하고 있으며, 상기 제3 TLP 내의 TLP 송신 순차 번호는 상기 제3 TLP의 송신지 PEIC에 의해 상기 제3 TLP의 목적지 PEIC에 송신된 TLP의 순차 번호이고, 상기 제1 수신확인 메시지 TLP 내의 상기 수신확인된 TLP 송신 순차 번호는 상기 송신지 PEIC의 TLP 송신 순차 번호이고 상기 제3 TLP의 목적지 PEIC에 의해 이미 수신된 제3 TLP의 TLP 송신 순차 번호이다.
제2 관점의 실행 방식과 결합해서, 제2 가능한 실행 방식에서, 상기 신뢰할 수 있는 TLP 전송 모듈은,
상기 수신된 제3 TLP에 따라 어드레스 포워딩 테이블 또는 ID 포워딩 테이블을 검색하고, TLP 전송 큐(TTQ)를 결정하며, 상기 제3 TLP를 상기 TLP 전송 큐에 놓도록 구성되어 있고, 상기 TLP 전송 큐는 상기 제3 TLP의 목적지 PEIC에 대응하는, TLP 디스패치 모듈;
상기 TLP 전송 큐 내의 제3 TLP를 상기 TLP 전송 큐의 상기 송신 링크를 통해 상기 PCIE 스위칭 유닛에 송신하도록 구성되어 있고, 이에 따라 상기 제3 TLP의 목적지 PCIE 인터페이스 제어기가 상기 PCIE 스위칭 유닛에 의해 포워딩된 상기 제3 TLP를 수신하고 상기 제3 TLP의 목적지 EP 또는 목적지 RC에 상기 제3 TLP를 송신하며; 상기 제3 TLP의 목적지 PEIC에 의해 회신되고 상기 PCIE 스위칭 유닛에 의해 포워딩된 제1 수신확인 메시지 TLP가 시간이 종료될 때까지도 수신되지 않으면, 상기 제3 TLP를 다시 송신하도록 구성되어 있는 송신 모듈;
상기 제3 TLP의 목적지 PEIC에 의해 회신되고 상기 PCIE 스위칭 유닛에 의해 포워딩된 제1 수신확인 메시지 TLP를 수신하고, 상기 제1 수신확인 메시지 TLP를 수신확인 모듈에 전달하도록 구성되어 있는 수신 모듈;
상기 제1 수신확인 메시지 TLP에 수반되어 있는 TLP 송신 순차 번호 및 송신지 PEIC 번호에 따라, 상기 TLP 전송 큐 내의 수신확인된 제3 TLP를 삭제한다는 것을 TLP 전송 큐 관리 모듈에 통지하도록 구성되어 있는 상기 수신확인 모듈; 및
상기 수신확인 모듈의 통지에 따라 상기 TLP 전송 큐 내의 수신확인된 제3 TLP를 삭제하도록 구성되어 있는 상기 TLP 전송 큐 관리 모듈
을 포함한다.
제2 관점의 제2 가능한 실행 방식과 결합해서, 제3 가능한 실행 방식에서,
상기 송신 모듈은, 상기 제3 TLP를 캡슐화하고, 상기 제3 TLP의 단대단 TLP 접두사에 송신지 PEIC 번호 및 TLP 송신 순차 번호를 부가하며, 상기 캡슐화된 제3 TLP를 상기 TTQ의 송신 링크를 통해 상기 PCIE 스위칭 유닛에 송신하도록 구성되어 있으며, 이에 따라 상기 제3 TLP의 목적지 PEIC가, 상기 송신지 PEIC 번호 및 상기 TLP 송신 순차 번호에 따라, 상기 수신된 TLP에 응답해서 제1 수신확인 메시지 TLP를 회신하며, 상기 회신된 제1 수신확인 메시지 TLP의 단대단 TLP 접두사는 상기 송신지 PEIC 번호 및 수신확인된 TLP 송신 순차 번호를 수반하고 있으며, 상기 TLP 송신 순차 번호는 상기 제3 TLP의 송신지 PEIC에 의해 상기 제3 TLP의 목적지 PEIC에 송신된 TLP의 순차 번호이고, 상기 수신확인된 TLP 송신 순차 번호는 상기 송신지 PEIC로부터 상기 제3 TLP의 목적지 PEIC에 의해 이미 수신된 TLP의 송신 순차 번호이다.
제2 관점의 제2 가능한 실행 방식 또는 제2 관점의 제3 가능한 실행 방식과 결합해서, 제4 가능한 실행 방식에서,
상기 TLP 전송 큐 관리 모듈은, 각각의 TLP 전송 큐의 TLP 송신 순차 번호 및 TLP 송신 링크를 유지하도록 추가로 구성되어 있다.
제2 관점의 제1 내지 제3 가능한 실행 방식 중 어느 하나와 결합해서, 제4 가능한 실행 방식에서,
상기 수신 모듈은 상기 PCIE 스위칭 유닛으로부터 송신된 제4 TLP를 수신하고, 상기 제4 TLP가 수신확인 메시지 TLP인지를 판단하며, 상기 제4 TLP가 수신확인 메시지 TLP가 아니면, 상기 수신된 제4 TLP를 상기 제4 TLP의 송신지 PEIC에 대응하는 TLP 수신확인 순차 TAS에 버퍼링하도록 추가로 구성되어 있으며,
상기 P2P 모듈은 상기 TLP 수신확인 순차 TAS 내의 상기 제4 TLP를 획득하고, 상기 제4 TLP를 상기 제4 TLP의 목적지 RC/EP에 포워딩하도록 추가로 구성되어 있다.
제2 관점의 제4 가능한 실행 방식과 결합해서, 제5 가능한 실행 방식에서, 상기 신뢰할 수 있는 TLP 전송 모듈은,
상기 TLP 수신확인 순차가 상기 제4 TLP를 수신한 후, 상기 제4 TLP의 송신지 PEIC에 수신확인 메시지 TLP를 회신한다는 것을 상기 수신확인 모듈에 통지하도록 추가로 구성되어 있는 TLP 수신확인 순차 관리 모듈
을 더 포함하고,
상기 수신확인 모듈은 제2 수신확인 메시지 TLP를 생성하고, 상기 제2 수신확인 메시지 TLP를 상기 제4 TLP의 송신지 PEIC에 대응하는 TLP 전송 큐에 버퍼링하도록 추가로 구성되어 있으며, 이에 따라 상기 제2 수신확인 메시지 TLP는 스케줄링되고 상기 송신 모듈에 의해 송신된다.
제2 관점의 제2 내지 제5 가능한 실행 방식 중 어느 하나와 결합해서, 제6 가능한 실행 방식에서, 상기 신뢰할 수 있는 TLP 전송 모듈은,
고정-시간 검출 TLP를 시간 간격으로 모든 다른 PEIC에 송신하고, 목적지 PEIC에 의해 회신된 검출 응신 TLP가 지정된 시간 내에 수신되지 않으면, 상기 검출 응신 TLP를 회신하는 목적지 PEIC에 대응하는 TTQ의 송신 링크를 갱신한다는 것을 TLP 송신 큐 관리 모듈에 통지하도록 구성되어 있는 중추부 모듈(heartbeat module)
을 더 포함하며,
상기 TLP 전송 큐 관리 모듈은 상기 중추부 모듈의 통지에 따라 상기 TLP 전송 큐의 송신 링크를 갱신하도록 추가로 구성되어 있다.
제3 관점에서, 본 발명의 실시예는 주변 구성요소 상호접속 고속 스위칭 네트워크에서 패킷 전송을 위한 방법을 제공하며, 상기 패킷 전송 방법은,
RC 또는 EP로부터 제1 TLP를 수신하는 단계; 및
상기 수신된 제1 TLP에 따라, 활성 및 대기 PCIE 스위칭 유닛에 연결된 송신 링크를 결정하고, 상기 제1 TLP를 상기 송신 링크를 통해 상기 활성 및 대기 PCIE 스위칭 유닛에 동시에 송신하며, 이에 따라 상기 제1 TLP의 목적지 PCIE 인터페이스 제어기가 상기 활성 및 대기 PCIE 스위칭 유닛에 의해 포워딩된 상기 제1 TLP를 선택적으로 수신하고 상기 제1 TLP의 목적지 EP 또는 목적지 RC에 상기 제1 TLP를 송신하는 단계
를 포함한다.
제3 관점의 제1 가능한 실행 방식에서,
상기 제1 TLP를 상기 송신 링크를 통해 상기 활성 및 대기 PCIE 스위칭 유닛에 동시에 송신하는 과정 이전에,
상기 제1 TLP를 캡슐화하고, 상기 제1 TLP의 자체 정의 단대단(self-defined end-to-end) TLP 접두사에 송신지 PEIC 번호 및 TLP 송신 순차 번호를 부가하며, 이에 따라 상기 송신지 PEIC 번호 및 상기 TLP 송신 순차 번호에 따라 상기 활성 및 대기 PCIE 스위칭 유닛에 의해 포워딩된 상기 제1 TLP를 선택적으로 수신하는 단계
를 더 포함하며,
상기 TLP 송신 순차 번호는 상기 제1 TLP의 송신지 PEIC에 의해 상기 제1 TLP의 목적지 PEIC에 송신된 TLP의 순차 번호이고, 상기 송신지 PEIC 번호 및 상기 TLP 송신 순차 번호에 따라 상기 활성 및 대기 PCIE 스위칭 유닛에 의해 포워딩된 상기 제1 TLP를 선택적으로 수신하는 단계는, 상기 활성 및 대기 PCIE 스위칭 유닛에 의해 포워딩되고 동일한 송신지 PEIC 번호 및 동일한 TLP 송신 순차 번호를 가지는 제1 TLP에 있어서, 먼저 도착하는 제1 TLP만을 수신한다.
제3 관점 또는 제3 관점의 제1 가능한 실행 방식과 결합해서, 제2 가능한 실행 방식에서, 상기 수신된 제1 TLP에 따라, 활성 및 대기 PCIE 스위칭 유닛에 연결된 송신 링크를 결정하고, 상기 제1 TLP를 상기 송신 링크를 통해 상기 활성 및 대기 PCIE 스위칭 유닛에 동시에 송신하며, 이에 따라 상기 제1 TLP의 목적지 PCIE 인터페이스 제어기가 상기 활성 및 대기 PCIE 스위칭 유닛에 의해 포워딩된 상기 제1 TLP를 선택적으로 수신하고 상기 제1 TLP의 목적지 EP 또는 목적지 RC에 상기 제1 TLP를 송신하는 단계는 구체적으로,
상기 수신된 제1 TLP에 따라 어드레스 포워딩 테이블 또는 ID 포워딩 테이블을 검색하고, TLP 전송 큐(TTQ)를 결정하며, 상기 제1 TLP의 목적지 PEIC에 대응하는 TLP 전송 큐에 상기 제1 TLP를 놓는 단계; 및
상기 TLP 전송 큐 내의 제1 TLP를 상기 TLP 전송 큐의 송신 링크를 통해 상기 활성 및 대기 PCIE 스위칭 유닛에 동시에 송신하며, 이에 따라 상기 제1 TLP의 목적지 PCIE 인터페이스 제어기가 상기 활성 및 대기 PCIE 스위칭 유닛에 의해 포워딩된 상기 제1 TLP를 선택적으로 수신하고 상기 제1 TLP의 목적지 EP 또는 목적지 RC에 상기 제1 TLP를 송신하는 단계이다.
제3 관점의 제1 가능한 실행 방식 또는 제3 관점의 제2 가능한 실행 방식에서,
자체 정의 단대단 TLP 접두사가 동일한 송신지 PEIC 번호 및 동일한 TLP 송신 순차 번호를 수반하고 있는 제1 TLP에 있어서, 상기 제1 TLP의 목적지 PEIC가, 먼저 수신된 제2 TLP만 수신하고 나중에 수신된 제2 TLP는 폐기하는 단계
를 더 포함한다.
제3 관점의 제1 내지 제3 가능한 실행 방식 중 어느 하나와 조합해서, 제4 가능한 실행 방식에서,
각각의 TLP 전송 큐의 TLP 송신 순차 번호 및 TLP 송신 링크를 유지하고, 대응하는 TLP 전송 큐의 TLP 송신 순차 번호를 TLP가 송신될 때마다 1씩 증가시키는 단계; 및
TLP가 수신될 것으로 예상되는 다른 PEIC의 TLP 송신 순차 번호를 유지하고, TLP가 수신될 때마다, TLP가 수신될 것으로 예상되는 대응하는 송신지 PEIC의 TLP 송신 순차 번호를 1씩 증가시키는 단계
를 더 포함한다.
제4 관점에서, 본 발명의 실시예는 주변 구성요소 상호접속 고속 스위칭 네트워크에서 패킷 전송을 위한 방법을 제공하며, 상기 패킷 전송 방법은,
RC 또는 EP로부터 제3 TLP를 수신하는 단계; 및
상기 수신된 제3 TLP에 따라, PCIE 스위칭 유닛에 연결된 송신 링크를 결정하고, 상기 제3 TLP를 상기 송신 링크를 통해 상기 PCIE 스위칭 유닛에 송신하는 단계
를 포함하며,
이에 따라 상기 제3 TLP의 목적지 PCIE 인터페이스 제어기는 상기 PCIE 스위칭 유닛에 의해 포워딩된 상기 제3 TLP를 수신하고 상기 제1 TLP의 목적지 EP 또는 목적지 RC에 상기 제3 TLP를 송신하며; 상기 제3 TLP의 목적지 PEIC에 의해 회신되고 상기 PCIE 스위칭 유닛에 의해 포워딩된 제1 수신확인 메시지 TLP가 시간이 종료될 때까지도 수신되지 않으면, 상기 제3 TLP를 다시 송신한다.
제4 관점의 제1 실행 방식에서,
상기 수신된 제3 TLP에 따라, PCIE 스위칭 유닛에 연결된 송신 링크를 결정하고, 상기 제3 TLP를 상기 송신 링크를 통해 상기 PCIE 스위칭 유닛에 송신하는 단계는 구체적으로,
상기 수신된 제3 TLP에 따라 어드레스 포워딩 테이블 또는 ID 포워딩 테이블을 검색하고, TLP 전송 큐(TTQ)를 결정하며, 상기 제3 TLP의 목적지 PEIC에 대응하는 TLP 전송 큐에 상기 제1 TLP를 놓는 단계; 및
상기 제3 TLP를 상기 TLP 전송 큐의 송신 링크를 통해 상기 PCIE 스위칭 유닛에 송신하는 단계이다.
제4 관점의 제1 가능한 실행 방식과 결합해서, 제2 가능한 실행 방식에서,
상기 제3 TLP의 목적지 PEIC에 의해 회신되고 상기 PCIE 스위칭 유닛에 의해 포워딩된 제1 수신확인 메시지 TLP를 수신하는 단계; 및
상기 제1 수신확인 메시지 TLP에 수반되어 있는 TLP 송신 순차 번호 및 송신지 PEIC 번호에 따라 상기 TLP 전송 큐 내의 수신확인 제3 TLP를 삭제하는 단계
를 더 포함한다.
제4 관점의 제1 가능한 실행 방식 또는 제4 관점의 제2 가능한 실행 방식과 결합해서, 제3 가능한 실행 방식에서,
상기 제3 TLP를 캡슐화하고, 상기 제3 TLP의 자체 정의 단대단 TLP 접두사에 송신지 PEIC 번호 및 TLP 송신 순차 번호를 부가하며, 이에 따라 상기 제3 TLP의 목적지 PEIC가 상기 제3 TLP에 있는 상기 송신지 PEIC 번호 및 상기 TLP 송신 순차 번호에 따라 제1 수신확인 메시지 TLP를 회신하는 단계
를 더 포함하며,
상기 회신된 제1 수신확인 메시지 TLP의 단대단 TLP 접두사는 상기 제3 TLP의 목적지 PEIC의 PEIC 번호 및 수신확인된 TLP 송신 순차 번호를 수반하고 있으며,
상기 제3 TLP 내의 TLP 송신 순차 번호는 상기 제3 TLP의 송신지 PEIC에 의해 상기 제3 TLP의 목적지 PEIC에 송신된 TLP의 순차 번호이고, 상기 수신확인된 TLP 송신 순차 번호는 상기 송신지 PEIC로부터 제3 TLP의 목적지 PEIC에 의해 이미 수신된 TLP의 송신 순차 번호이다.
제4 관점의 제2 가능한 실행 방식과 결합해서, 제4 가능한 실행 방식에서,
상기 제3 TLP의 목적지 PEIC에 의해 회신되고 상기 PCIE 스위칭 유닛에 의해 포워딩된 제1 수신확인 메시지 TLP를 수신하는 단계 이전에,
상기 PCIE 스위칭 유닛에 의해 송신된 제4 TLP를 수신하고, 상기 제4 TLP의 유형에 따라, 상기 제4 TLP가 상기 제1 수신확인 메시지 TLP인지를 판단하고, 상기 제4 TLP가 상기 제1 수신확인 메시지 TLP가 아니면, 상기 수신된 제4 TLP를 상기 제4 TLP의 목적지 RC 또는 목적지 EP에 포워딩하는 단계
를 더 포함한다.
제4 관점의 제4 가능한 실행 방식과 결합해서, 제5 가능한 실행 방식에서,
상기 제4 TLP의 송신지 PEIC에 제2 수신확인 메시지 TLP를 회신하는 단계
를 더 포함한다.
제4 관점의 제3 내지 제5 가능한 실행 방식 중 어느 하나와 결합해서, 제6 가능한 실행 방식에서,
각각의 TLP 전송 큐의 TLP 송신 순차 번호 및 TLP 송신 링크를 유지하는 단계
를 더 포함한다.
제4 관점의 제3 내지 제6 가능한 실행 방식 중 어느 하나와 결합해서, 제7 가능한 실행 방식에서,
상기 제1 수신확인 메시지 TLP에 수반되어 있는 상기 송신지 PEIC 번호 및 수신확인된 송신 순차 번호 정보에 따라, 대응하는 TLP 전송 큐의 슬라이딩 윈도를 갱신하는 단계
를 더 포함한다.
제5 관점에서, 본 발명의 실시예는 주변 구성요소 상호접속 고속 스위칭 네트워크에서 패킷 전송을 위한 시스템을 제공하며, 상기 시스템은,
적어도 2개의 PCIE 노드 장치, 적어도 2개의 PCIE 인터페이스 제어기(PEIC), 및 2개의 PCIE 스위칭 유닛을 포함하며, 상기 적어도 2개의 PCIE 노드 장치 각각은 상기 적어도 2개의 PCIE 인터페이스 제어기 중 하나에 연결되어 있고, 상기 적어도 2개의 PCIE 인터페이스 제어기 각각은 상기 2개의 PCIE 스위칭 유닛에 각각 연결되어 있으며,
상기 적어도 2개의 PCIE 노드 장치 중 제1 PCIE 노드 장치는 상기 적어도 2개의 PCIE 인터페이스 제어기 중 제1 PCIE 인터페이스 제어기에 연결된 제1 TLP를 송신하도록 구성되어 있으며,
상기 제1 PCIE 인터페이스 제어기는 상기 제1 TLP를 수신하고, 상기 수신된 제1 TLP에 따라, 상기 2개의 PCIE 스위칭 유닛에 연결된 송신 링크를 결정하며, 상기 제1 TLP를 상기 송신 링크를 통해 상기 2개의 PCIE 스위칭 유닛에 동시에 송신하도록 구성되어 있으며,
상기 2개의 PCIE 스위칭 유닛 각각은 상기 제1 TLP를 상기 적어도 2개의 PCIE 인터페이스 제어기 중 제2 PCIE 인터페이스 제어기에 포워딩하도록 구성되어 있으며, 상기 제2 PCIE 인터페이스 제어기는 상기 제1 TLP의 목적지 PCIE 인터페이스 제어기이며,
상기 제2 PCIE 인터페이스 제어기는 상기 PCIE 스위칭 유닛에 의해 포워딩된 제1 TLP를 선택적으로 수신하고 상기 제1 TLP를 상기 적어도 2개의 PCIE 노드 장치 중 제2 PCIE 노드 장치에 송신하도록 구성되어 있으며, 상기 제2 PCIE 노드 장치는 상기 제1 TLP의 목적지 PCIE 노드 장치이며,
상기 제2 PCIE 노드 장치는 상기 제2 PCIE 인터페이스 제어기에 의해 포워딩된 상기 제1 TLP를 수신하도록 구성되어 있다.
제5 관점의 제1 가능한 실행 방식에서,
상기 제1 PCIE 인터페이스 제어기는, 상기 제1 TLP를 캡슐화하고, 상기 제1 TLP의 단대단 TLP 접두사에 송신지 PEIC 번호 및 TLP 송신 순차 번호를 부가하도록 추가로 구성되어 있으며,
상기 제2 PCIE 인터페이스 제어기는, 상기 제1 TLP에 있는 상기 송신지 PEIC 번호 및 상기 TLP 송신 순차 번호에 따라, 상기 PCIE 스위칭 유닛에 의해 포워딩된 상기 제1 TLP를 선택적으로 수신하도록 구성되어 있으며,
상기 TLP 송신 순차 번호는 상기 제1 PEIC에 의해 상기 제2 PEIC에 송신된 TLP의 순차 번호이고, 상기 제1 TLP에 있는 상기 송신지 PEIC 번호 및 상기 TLP 송신 순차 번호에 따라, 상기 제1 TLP를 선택적으로 수신하는 과정은, 동일한 송신지 PEIC 번호 및 동일한 TLP 송신 순차 번호를 가지는 제1 TLP에 있어서, 먼저 도착하는 제1 TLP만을 수신하는 과정이다.
제5 관점 또는 제5 관점의 제1 가능한 실행 방식에서, 제2 가능한 실행 방식에서,
상기 제1 PCIE 인터페이스 제어기는 상기 수신된 제1 TLP에 따라, 상기 2개의 PCIE 스위칭 유닛에 연결된 송신 링크를 결정하도록 구성되어 있으며, 이것은 구체적으로,
상기 제1 PCIE 인터페이스 제어기는 상기 제1 TLP에 따라 어드레스 포워딩 테이블 또는 ID 포워딩 테이블을 검색하고, 상기 제1 TLP에 대응하는 목적지 PEIC 번호를 결정하여, 상기 2개의 PCIE 스위칭 유닛에 연결되어 있고 상기 제1 TLP에 대응하는 송신 링크를 결정하도록 구성되어 있다.
제5 관점 또는 제5 관점의 제1 또는 제2 가능한 실행 방식과 결합해서, 제3 가능한 실행 방식에서,
상기 PCIE 노드 장치는 루트 복합(RC) 또는 종점 장치(EP)이고, 각각의 PCIE인터페이스 제어기는 하나의 RC 또는 적어도 하나의 EP에 연결되어 있다.
제6 관점에서, 본 발명의 실시예는 주변 구성요소 상호접속 고속 스위칭 네트워크에서 패킷 전송을 위한 시스템을 제공하며, 상기 시스템은,
적어도 2개의 PCIE 노드 장치, 적어도 2개의 PCIE 인터페이스 제어기(PEIC), 및 2개의 PCIE 스위칭 유닛을 포함하며, 상기 적어도 2개의 PCIE 노드 장치 각각은 상기 적어도 2개의 PCIE 인터페이스 제어기 중 하나에 연결되어 있고, 상기 적어도 2개의 PCIE 인터페이스 제어기 각각은 상기 2개의 PCIE 스위칭 유닛에 각각 연결되어 있으며,
상기 적어도 2개의 PCIE 노드 장치 중 제3 PCIE 노드 장치는 상기 적어도 2개의 PCIE 인터페이스 제어기 중 제3 PCIE 인터페이스 제어기에 연결된 제3 TLP를 송신하도록 구성되어 있으며,
상기 제3 PCIE 인터페이스 제어기는 상기 제3 TLP를 수신하고, 상기 수신된 제3 TLP에 따라, 상기 2개의 PCIE 스위칭 유닛 중 하나에 연결된 송신 링크를 결정하고, 상기 제3 TLP를 상기 송신 링크를 통해 상기 PCIE 스위칭 유닛에 송신하며, 상기 적어도 2개의 PCIE 인터페이스 제어기 중 제4 PCIE 인터페이스 제어기에 의해 회신되고 상기 PCIE 스위칭 유닛에 의해 포워딩된 제1 수신확인 메시지 TLP가 시간이 종료될 때까지도 수신되지 않으면, 상기 PCIE 스위칭 유닛에 연결된 송신 링크를 통해 상기 제4 PCIE 인터페이스 제어기에 상기 제3 TLP를 다시 송신하도록 구성되어 있으며, 상기 제4 PCIE 인터페이스 제어기는 상기 제3 TLP의 목적지 PCIE 인터페이스 제어기이며,
상기 PCIE 스위칭 유닛은 상기 제3 TLP를 상기 제4 PCIE 인터페이스 제어기에 포워딩하며, 상기 제4 PCIE 인터페이스 제어기에 의해 회신된 상기 제1 수신확인 메시지 TLP를 상기 제3 PCIE 인터페이스 제어기에 포워딩하도록 구성되어 있으며,
상기 제4 PCIE 인터페이스 제어기는 상기 PCIE 스위칭 유닛에 의해 포워딩된 제3 TLP를 선택적으로 수신하고 상기 제3 TLP를 상기 적어도 2개의 PCIE 노드 장치 중 제4 PCIE 노드 장치에 송신하며, 상기 제2 PCIE 노드 장치는 상기 제3 TLP의 목적지 PCIE 노드 장치이며; 상기 제1 수신확인 메시지 TLP를 상기 제3 PCIE 인터페이스 제어기에 회신하여, 상기 제3 TLP가 수신된 것을 확인하도록 구성되어 있으며,
상기 제4 PCIE 노드 장치는 상기 제4 PCIE 인터페이스 제어기에 의해 포워딩된 상기 제3 TLP를 수신하도록 구성되어 있다.
제6 관점의 제1 가능한 실행 방식에서, 상기 제3 PEIC는 상기 제4 PEIC에 의해 회신되고 상기 PCIE 스위칭 유닛에 의해 포워딩된 상기 제1 수신확인 메시지 TLP를 수신하며, 상기 제1 수신확인 메시지 TLP에 수반되어 있는 TLP 송신 순차 번호 정보 및 송신지 PEIC 번호에 따라 상기 수신확인된 제3 TLP를 삭제하도록 추가로 구성되어 있다.
제6 관점 또는 제6 관점의 제1 가능한 실행 방식과 결합해서, 제2 가능한 실행 방식에서,
상기 제3 PCIE는 상기 TLP를 캡슐화하고, 상기 제3 TLP의 단대단 TLP 접두사에 송신지 PEIC 번호(SPEIC) 및 TLP 송신 순차 번호를 부가하며, 상기 캡슐화된 제3 TLP를 상기 송신 링크를 통해 상기 PCIE 스위칭 유닛에 송신하도록 추가로 구성되어 있으며,
상기 제4 PCIE는 상기 제3 TLP에 수반되어 있는 상기 송신지 PEIC 번호 및 상기 TLP 송신 순차 번호에 따라 상기 제1 수신확인 메시지 TLP를 회신하도록 구성되어 있으며,
상기 회신된 제1 수신확인 메시지 TLP의 단대단 TLP 접두사는 상기 송신지 PEIC 번호 및 수신확인된 TLP 송신 순차 번호를 수반하고 있으며, 상기 TLP 송신 순차 번호는 상기 제3 PEIC에 의해 상기 제4 PEIC에 송신된 TLP의 순차 번호이고, 상기 수신확인된 TLP 송신 순차 번호는 상기 제3 PEIC로부터 상기 제4 PEIC에 의해 이미 수신된 TLP의 송신 순차 번호이다.
제6 관점의 제2 가능한 실행 방식과 결합해서, 제3 가능한 실행 방식에서,
상기 제3 PEIC는 다른 PEIC에 대한 TLP 송신 순차 번호 및 TLP 송신 링크를 유지하도록 추가로 구성되어 있다.
제6 관점 또는 제6 관점의 제1 내지 제3 가능한 실행 방식과 결합해서, 제4 가능한 실행 방식에서,
각각의 PCIE 인터페이스 제어기는 고정-시간 검출 TLP를 시간 간격으로 모든 다른 PEIC에 송신하고, 회신된 검출 응신 TLP가 지정된 시간 내에 수신되지 않은 PEIC에 대응하는 송신 링크를 갱신하도록 추가로 구성되어 있다.
제6 관점 또는 제6 관점의 제1 내지 제4 가능한 실행 방식 중 어느 하나와 결합해서, 제5 가능한 실행 방식에서,
상기 PCIE 노드 장치는 루트 복합(RC) 또는 종점 장치(EP)이고, 각각의 PCIE인터페이스 제어기는 하나의 RC 또는 적어도 하나의 EP에 연결되어 있다.
제7 관점에서, 본 발명의 실시예는 주변 구성요소 상호접속 고속 인터페이스 제어기(PEIC)를 더 제공하며, 상기 주변 구성요소 상호접속 고속 인터페이스 제어기는, 프로세서 및 메모리를 포함하고, 상기 메모리는 실행 명령을 저장하며; 상기 주변 구성요소 상호접속 고속 인터페이스 제어기(PEIC)가 실행되면, 상기 프로세서는 상기 메모리와 통신하고, 상기 프로세서는 상기 실행 명령을 실행하며, 이에 따라 주변 구성요소 상호접속 고속 인터페이스 제어기(PEIC)는 전술한 제3 관점에서의 방법을 실행한다.
제8 관점에서, 본 발명의 실시예는 주변 구성요소 상호접속 고속 인터페이스 제어기(PEIC)를 더 제공하며, 상기 주변 구성요소 상호접속 고속 인터페이스 제어기는 프로세서 및 메모리를 포함하고, 상기 메모리는 실행 명령을 저장하며; 상기 주변 구성요소 상호접속 고속 인터페이스 제어기(PEIC)가 실행되면, 상기 프로세서는 상기 메모리와 통신하고, 상기 프로세서는 상기 실행 명령을 실행하며, 이에 따라 주변 구성요소 상호접속 고속 인터페이스 제어기(PEIC)는 전술한 제4 관점에서의 방법을 실행한다.
제9 관점에서, 본 발명의 실시예는 컴퓨터 판독 가능형 매체를 더 제공하며, 상기 매체는 컴퓨터 실행 명령을 포함하며, 상기 컴퓨터 실행 명령은 주변 구성요소 상호접속 고속 인터페이스 제어기(PEIC)가 전술한 제3 관점에서의 방법을 실행할 수 있게 하는 데 사용된다.
제10 관점에서, 본 발명의 실시예는 컴퓨터 판독 가능형 매체를 더 제공하며, 상기 매체는 컴퓨터 실행 명령을 포함하며, 상기 컴퓨터 실행 명령은 주변 구성요소 상호접속 고속 인터페이스 제어기(PEIC)가 전술한 제3 관점에서의 방법을 실행할 수 있게 하는 데 사용된다.
전술한 솔루션을 통해, 본 발명의 실시예에서 제공하는 PCIE 스위칭 네트워크에서 패킷 전송을 실행하기 위한 방법, 장치, 시스템, 및 저장 매체에서는, 제1 TLP가 활성 및 대기 PCIE 스위칭 유닛에 연결된 송신 링크를 통해 활성 및 대기 PCIE 스위칭 유닛에 동시에 송신되고, 제1 TLP의 목적지 PEIC는 활성 및 대기 PCIE 스위칭 유닛에 의해 포워딩된 제1 TLP를 선택적으로 수신하고 제1 TLP의 목적지 EP 또는 목적지 RC에 제1 TLP를 송신하며; 대안으로, 제3 TLP가 PCIE 스위칭 유닛에 연결된 송신 링크를 통해 PCIE 스위칭 유닛에 송신되고, PCIE 스위칭 유닛은 그 수신된 제3 TLP를 목적지 PEIC에 송신하며, 목적지 PEIC는 제3 TLP를 제3 TLP의 목적지 EP 또는 목적지 RC에 포워딩하고 제1 수신확인 메시지 TLP를 송신지 PEIC에 회신한다. 시간이 종료될 때 목적지 PEIC에 의해 회신된 제1 수신확인 메시지 TLP를 수신하면, 송신지 PEIC는 PCIE 스위칭 유닛에 연결된 송신 링크를 통해 제3 TLP를 다시 송신하고, 이에 의해 PCIE 스위칭 이중-평면 네트워킹 접속의 경우 TLP의 신뢰할 수 있는 단대단(end-to-end) 전송이 실행되고, PCIE 스위칭을 사용하는 시스템의 신뢰도가 향상된다.
본 발명의 실시예의 기술적 솔루션을 더 명확하게 설명하기 위해, 이하에서는 본 발명의 실시예를 설명하는 데 필요한 첨부된 도면에 대해 간략하게 설명한다. 당연히, 이하의 실시예의 첨부된 도면은 본 발명의 일부의 실시예에 지나지 않으며, 당업자라면 창조적 노력 없이 첨부된 도면에 따라 다른 도면을 도출해낼 수 있을 것이다.
도 1은 종래기술의 PCIE 스위칭 어플리케이션의 시스템 개략도이다.
도 2는 현재의 PCIE 사양에서의 트리 네트워크의 네트워크 구조도이다.
도 3은 본 발명의 실시예에 따른 PCIE 네트워크의 네트워크 구조도이다.
도 4는 본 발명의 실시예 1에 따른 PCIE 인터페이스 제어기의 구조도이다.
도 5는 본 발명의 실시예 2에 따른 PCIE 인터페이스 제어기의 구조도이다.
도 6은 본 발명의 실시예에 따른 TLP의 어드레스 포워딩 테이블이다.
도 7은 본 발명의 실시예에 따른 TLP의 ID 포워딩 테이블이다.
도 8은 본 발명의 실시예에 따른 TLP 전송 큐(queue)와 PCIE 인터페이스 제어기 간의 접속 관계도이다.
도 9는 본 발명의 실시예에 따른 TLP 포맷의 도면이다.
도 10은 본 발명의 실시예 3에 따른 PCIE 인터페이스 제어기의 구조도이다.
도 11은 본 발명의 실시예 4에 따른 PCIE 인터페이스 제어기의 구조도이다.
도 12는 본 발명의 실시예 5에 따른 PCIE 인터페이스 제어기의 구조도이다.
도 13은 본 발명의 실시예에 따른 TLP 전송 큐의 슬라이딩 윈도의 개략도이다.
도 14는 본 발명의 실시예 6에 따른 PCIE 인터페이스 제어기의 구조도이다.
도 15는 본 발명의 실시예 7에 따른 PCIE 스위칭 네트워크에서 패킷 전송을 위한 방법에 대한 흐름도이다.
도 16은 본 발명의 실시예 8에 따른 PCIE 스위칭 네트워크에서 패킷 전송을 위한 방법에 대한 흐름도이다.
도 17은 본 발명의 실시예 9에 따른 PCIE 스위칭 네트워크에서 패킷 전송을 위한 방법에 대한 흐름도이다.
도 18은 본 발명의 실시예 10에 따른 PCIE 스위칭 네트워크에서 패킷 전송을 위한 방법에 대한 흐름도이다.
도 19는 본 발명의 실시예 11에 따른 PCIE 스위칭 네트워크에서 패킷 전송을 위한 시스템에 대한 흐름도이다.
도 20은 본 발명의 실시예 12에 따른 PCIE 스위칭 네트워크에서 패킷 전송을 위한 시스템에 대한 흐름도이다.
도 21은 본 발명의 실시예 13에 따른 PCIE 인터페이스 제어기의 개략도이다.
도 22는 본 발명의 실시예 14에 따른 PCIE 인터페이스 제어기의 개략도이다.
이하에서는 본 발명의 실시예에 첨부된 도면을 참조하여 본 발명의 실시예의 기술적 솔루션에 대해 명확하게 완전하게 설명한다. 당연히, 설명될 실시예는 본 발명의 모든 실시예가 아닌 일부에 지나지 않는다. 당업자가 창조적 노력 없이 본 발명의 실시예에 기초하여 획득하는 모든 다른 실시예는 본 발명의 보호 범위 내에 있게 된다.
도 2는 현재의 PCIE 사양에서의 트리 네트워크의 구조도이다. 도면에 도시된 바와 같이, 왼쪽 부분은 PCIE 애플리케이션 접속에 대한 개략도이고 루트 복합(root complex: RC)으로부터 종단 장치(endpoint device: EP)까지 트리 네트워크가 형성된다. RC는 EP에 직접 연결되거나 하나 이상의 스위치에 연결될 수 있다. PCIE는 점대점(point-to-point) 통신 모드를 사용하며, 각각의 RC와 각각의 EP/스위치 간에는 단지 하나의 경로만이 존재한다. 오른쪽 부분은 PCIE 스위치의 내부 개략도이다 각각의 PCIE 스위치에는 고유한 업링크 포트 및 수 개의 다운링크 포트가 있다. 스위치의 각각의 포트에는 내부 가상 PCI 대 PCI(PCI TO PCI: P2P로 약칭함) 브리지가 있다. PCIE 사양에 정의되어 있는 점대점 통신 모드 및 트리 스위치 구조로 인해, 이중 평면 네트워킹은 지원되지 않는다.
도 3은 본 발명의 실시예에 적용되는 PCIE 네트워크의 구조도이다. 도 3에 도시된 바와 같이, RC/EP와 PCIE 스위칭 유닛 간에 PCIE 인터페이스 제어기(PCIE Interface Controller: PEIC로 약칭)가 부가된다. PEIC는 내부적으로는 RC/EP에 연결되어 있고, 외부적으로는 활동 및 대기 PCIE 스위칭 유닛에 연결되어 있으며, 이에 의해 이중 평면 네트워킹, 및 실패 검출과 스위칭과 같은 기능을 실행한다. PCIE 스위칭 유닛은 PCIE 사양에 기초한 스위칭 유닛이고, PEIC들 간에 데이터 교환을 완료한다. 활성 평면 및 대기 평면이 구성되어 있다. 도 3에서의 PCIE 스위칭 유닛 1 및 PCIE 스위칭 유닛 2는 PCIE 스위칭의 활성 평면 및 대기 평면을 각각 나타낸다. EP는 PCIE 사양에 정의된 표준 기능 장치로서, 이더넷 카드, FC 네트워크 카드, 인피니밴드(InfiniBand: IB로 약칭) 네트워크 카드, 및 저렴한 디스크의 리던던트 어레이(Redundant Array of Inexpensive Disk: RAID로 약칭) 카드를 들 수 있다. PEIC, EP, RC 및 PCIE 스위칭 유닛은 PCIE 사양에 기초하여 데이터 교환을 수행한다.
도 3의 네트워크 구조도로부터, PCIE 인터페이스 제어기(PEIC)는 RC/EP와 PCIE 스위칭 유닛 간에 부가된 구성요소임을 알 수 있다. 본 발명과 PCIE 사양에 정의된 트리 구조의 가장 큰 차이점이 PEIC이며, PCIE 스위칭에 기초한 이중 평면 네트워킹은 PEIC를 통해 수행된다.
본 발명의 실시예 1에 제공된 PEIC의 구조가 도 4에 도시되어 있으며, 하나의 P2P 브리지 모듈 및 하나의 TLP 전송(Reliable TLP Transmission: RTT로 약칭) 모듈을 포함한다. P2P 브리지는 PCIE 사양에 정의되어 있는 표준 점대점 브리지이고, PCIE의 링크 계층 프로토콜과 전송 계층 프로토콜을 실행한다. RC/EP와 PEIC 간의 링크는 표준 PCIE 링크이다. RTT 모듈은 주로 활성 및 대기 PCIE 스위칭 유닛에 대한 링크의 선택 및 PEIC로부터 임의의 다른 PEIC까지의 TLP의 신뢰할 수 있는 단대단 전송을 완료한다. PCIE 사양의 관점에서 보면, RTT 모듈은 투명한 모듈이다. RC/EP에서 보면, PEIC는 실제로 PCIE 트리 구조에서 P2P 브리지이고, RTT, PEIC 및 PCIE 스위칭 유닛을 통해 가상의 P2P가 연결되어 있는데, 즉, RC/EP는 활성 및 대기 PCIE 스위칭 유닛이 아닌 도 2에 도시된 표준 PCIE 스위치를 본다.
도 4에 도시된 바와 같이, PCIE 인터페이스 제어기(10)는 PCI 대 PCI 브리지 모듈(P2P 모듈)(11) 및 신뢰할 수 있는 TLP 전송 모듈(RTT 모듈)(12)을 포함한다.
P2P 모듈(11)은 RC 또는 EP로부터 제1 TLP를 수신하고, 이 제1 TLP를 프로세싱을 위한 신뢰할 수 있는 TLP 전송 모듈(RTT 모듈)에 포워딩하도록 구성되어 있다.
RTT 모듈(12)은 그 수신된 제1 TLP에 따라, 활성 및 대기 PCIE 스위칭 유닛에 연결된 송신 링크를 결정하고, 제1 TLP를 송신 링크를 통해 활성 및 대기 PCIE 스위칭 유닛에 동시에 송신하도록 구성되어 있고, 이에 따라 제1 TLP의 목적지 PCIE 인터페이스 제어기는 활성 및 대기 PCIE 스위칭 유닛에 의해 포워딩된 제1 TLP를 선택적으로 수신하고 제1 TLP의 목적지 EP 또는 목적지 RC에 제1 TLP를 송신한다.
바람직하게, RTT 모듈(12)은, P2P 모듈(11)에 의해 포워딩된 제1 TLP를 수신한 후, TLP의 유형에 따라, 즉 패킷이 어드레스를 통해 루팅되는지 또는 식별(Identity: ID로 약칭)을 통해 루팅되는지에 따라, 대응하는 어드레스 포워딩 테이블 또는 ID 포워딩 테이블을 검색하고, 제1 TLP에 대응하는 목적지 PEIC 번호를 획득하여, 패킷에 대응하는 활성 및 대기 PCIE 스위칭 유닛의 송신 링크를 결정하며, 제1 TLP를 송신 링크를 통해 활성 및 대기 PCIE 스위칭 유닛에 동시에 송신하도록 구성되어 있다. 이 경우, 활성 및 대기 PCIE 스위칭 유닛은 수신된 제1 TLP를 목적지 PEIC에 송신하고, 목적지 PEIC는 대응하는 패킷을 선택적으로 수신하고, 예를 들어, 이전에 도착한 제1 TLP를 수신하고 나중에 도착하는 제1 TLP를 폐기하며; 그 수신된 제1 TLP를 제1 TLP의 목적지 EP 또는 목적지 RC에 포워딩한다.
또한, RTT 모듈(12)은 제1 TLP를 캡슐화하고, 자체 정의(self-defined) TLP 접두사(Prefix)를 부가하며, 캡슐화된 제1 TLP를 송신 링크를 통해 활성 및 대기 PCIE 스위칭 유닛에 송신하도록 구성되어 있다. TLP의 포맷에 대한 정의가 도 9에 도시되어 있다: PCIE 사양에서의 정의에 따르면, TLP는 0 또는 복수의 표준 또는 자체 지정 TLP 접두사를 포함할 수 있다. TLP 접두사는 단대단 확장 및 점대점 확장의 파라미터 전달을 실행하고, 기능 확장을 실행할 수 있다. TLP Prefix는 또한 로컬 및 단대단 TLP Prefix로 분류된다. TLP 헤더는 TLP의 표준 헤더 부분이고, Data Payload는 TLP의 데이터 부분이고, TLP Digest는 TLP의 요약 부분이며; 이 3 부분이 PCIE 사양의 표준 내용이다. 바람직하게, 실시예에서, 송신지 PEIC로부터 목적지 PEIC까지의 송신지 PEIC 번호(SPEIC) 및 TLP 송신 순차 번호(SEQUENCE)의 전달은 송신지 PEIC 번호(SPEIC) 및 TLP 송신 순차 번호(SEQUENCE)가 부가되어 있는 자체 정의 단대단 TLP Prefix를 사용하여 실행된다. SEQUENCE는 송신지 PEIC에 의해 목적지 PEIC에 송신된 TLP의 순차 번호이고, 이에 따라 목적지 PEIC는 SPEIC 및 SEQUENCE에 따라 그 수신된 TLP를 순서를 정하여 수신확인하며, 이에 의해 활성 및 대기 PCIE 스위칭 유닛에 의해 전달되는 제1 TLP의 수신을 선택적으로 실행한다. RTT 모듈(12)은 제1 TLP를 2개의 링크를 통해 활성 및 대기 PCIE 스위칭 유닛에 송신하고; 패킷이 송신된 후, 목적지 PEIC에 대응하는 TLP 송신 순차 번호(SEQUENCE)가 1 증가한다. 목적지 PEIC는 활성 및 대기 링크를 통해 먼저 수신된 제1 TLP를 선택하고, 그 먼저 수신된 제1 TLP를 목적지 EP 또는 목적지 RC에 송신하며, 나중에 수신된 제1 TLP를 폐기하는데, 즉 동일한 SPEIC 및 동일한 SEQUENCE를 가지는 TLP에 있어서, 먼저 도착하는 TLP만을 수신한다. 제1 TLP를 수신한 후, 목적지 PEIC는 제1 TLP를 제1 TLP의 목적지 EP 또는 목적지 RC에 송신하고, 이에 의해 TLP의 전송을 신뢰할 수 있게 순차적으로 완료한다.
본 발명의 실시예에서 제공하는 PCIE 인터페이스 제어기에서, 제1 TLP는 활성 및 대기 PCIE 스위칭 유닛에 연결된 송신 링크를 통해 활성 및 대기 PCIE 스위칭 유닛에 동시에 송신되고, 제1 TLP의 목적지 PEIC는 활성 및 대기 PCIE 스위칭 유닛에 의해 포워딩된 제1 TLP를 선택적으로 수신하고 제1 TLP의 목적지 EP 또는 목적지 RC에 제1 TLP를 송신하며, 이에 의해 PCIE 이중 평면 네트워킹 접속의 경우에 TLP의 신뢰할 수 있는 전송을 수행하고, PCIE 스위칭을 사용하는 시스템의 신뢰성을 높인다.
도 5는 본 발명의 실시예 2에 따른 PCIE 인터페이스 제어기의 구조도이다. 도 4에 도시된 PCIE 인터페이스 제어기와 마찬가지로, 본 실시예에서의 PCIE 인터페이스 제어기(PEIC)(10)도 PCI 대 PCI 브리지 모듈(P2P 모듈)(11) 및 신뢰할 수 있는 TLP 전송 모듈(RTT 모듈)(12)을 포함한다.
P2P 모듈(11)은 RC 또는 EP로부터 제1 TLP를 수신하고, 이 제1 TLP를 프로세싱을 위한 신뢰할 수 있는 TLP 전송 모듈(RTT 모듈)에 포워딩하도록 구성되어 있다.
도면에 도시된 바와 같이, RTT 모듈(12)은, 수신된 제1 TLP에 따라 어드레스 포워딩 테이블 또는 ID 포워딩 테이블을 검색하고, TLP 전송 큐(TLP transmission queue: TTQ)를 결정하며, 제1 TLP를 TLP 전송 큐에 놓도록 구성되어 있고, 상기 TLP 전송 큐는 제1 TLP의 목적지 PEIC에 대응하는, TLP 디스패치 모듈(Dispatch Module: DPT로 약칭)(121); 및 TLP 전송 큐 내의 제1 TLP를 TLP 전송 큐의 송신 링크를 통해 활성 및 대기 PCIE 스위칭 유닛에 동시에 송신하도록 구성되어 있고, 이에 따라 제1 TLP의 목적지 PCIE 인터페이스 제어기가 활성 및 대기 PCIE 스위칭 유닛에 의해 포워딩된 제1 TLP를 선택적으로 수신하고 제1 TLP의 목적지 EP 또는 목적지 RC에 제1 TLP를 송신하도록 구성되어 있는, 송신 모듈(Send Module: SND로 약칭)(123)을 포함한다.
바람직하게, TLP 디스패치 모듈(121)은 P2P 모듈(11)에 의해 포워딩된 제1 TLP를 수신하고, TLP의 루팅 방식(어드레스 루팅 또는 ID 루팅)에 따라, 대응하는 어드레스 포워딩 테이블 또는 ID 포워딩 테이블을 검색하며, 테이블 검색 결과에 따라 목적지 PEIC 번호를 획득하도록 구성되어 있다.
어드레스 포워딩 테이블은 도 6에 도시될 수 있으며, I/O 공간 또는 메모리 공간의 어드레스 범위에 대응하는 목적지 PCIE 인터페이스 제어기 번호가 테이블에 구성되어 있다. ID 포워딩 테이블은 도 7에 도시된 포맷을 사용할 수 있으며, 장치 ID에 대응하는 목적지 PCIE 인터페이스 제어기 번호가 테이블에 구성되어 있으며, 장치 ID는 TLP에 포함되어 있는 버스(Bus), 장치(Device), 또는 기능(Function)의 ID일 수 있다. 일반적으로, 어드레스를 통해 루팅된 TLP(예를 들어, I/O 공간 또는 메모리 공간의 읽기 및 쓰기 패킷)에 있어서는, 연산 어드레스를 사용하여 어드레스 포워딩 엔트리를 검색하고, 연산 어드레스가 어드레스 포워딩 테이블 내의 특정한 테이블 엔트리에 맞으면, 그 패킷을 테이블 엔트리의 목적지 PEIC 번호에 따라 대응하는 TTQ에 버퍼링한다. ID를 통해 루팅된 TLP, 예를 들어, 읽기/쓰기 요구 구성 패킷은 요청자 ID 및 액세스 목적지 ID를 포함하며, 그 대응하는 응신 패킷에 있어서는, 원래의 요청 패킷 내의 요청자 ID를 사용하여 어드레스 포워딩 테이블을 검색한다. 특정한 테이블 엔트리가 맞으면, 테이블 내의 목적지 PEIC 번호에 따라 대응하는 TTQ에 TLP를 버퍼링한다. 어드레스 포워딩 테이블 및 ID 포워딩 테이블은 RTT 모듈에 직접 구성될 수 있고, PCIE 인터페이스 제어기의 다른 모듈에 구성되어 대응하는 모듈로부터 RTT에 의해 획득될 수도 있다.
도 5에 도시된 바와 같이, RTT 모듈(12)은 복수의 TLP 전송 큐, 예를 들어, 도면에서 TLP 전송 큐 1 내지 TLP 전송 큐 n을 더 포함하며, 각각의 TLP 전송 큐(TTQ)는 목적지 PEIC에 대응한다. 예를 들어, 도 8에 도시된 바와 같이, PCIE 인터페이스 전송 1의 3개의 전송 큐: TLP 전송 큐 1/a, TLP 전송 큐 2/a, TLP 전송 큐 3은 3개의 목적지 PEIC: PCIE 인터페이스 제어기 2/a, PCIE 인터페이스 제어기 3/a, PCIE 인터페이스 제어기 4에 각각 대응한다. 예를 들어, PCIE 인터페이스 제어기 1이 PCIE 인터페이스 제어기 2에 송신된 TLP를 수신하면, PCIE 인터페이스 제어기 1은 대응 관계에 따라 TLP를 TLP 전송 큐 1에 버퍼링한다. 장치의 변경에 따라 TTQ와 PEIC 간의 대응 관계에 대해 동적 부가 또는 동적 삭제가 수행될 수 있다. 예를 들어, 새로운 PEIC 장치가 네트워크에 부가되면, 대응하는 TTQ가 부가되어야 한다. 또한, 각각의 TTQ는 송신지 PEIC로부터 목적지 PEIC까지의 TLP 송신 순차 번호(SEQUENCE) 및 TLP 송신 링크를 저장하는데, 여기서 PEIC의 TLP 송신 순차 번호란 목적지 PEIC에 송신된 TLP의 순차 번호를 말한다. TTQ의 PEIC의 TLP 송신 순차 번호는 TLP 전송 큐(TTQ)가 TLP를 송신할 때마다 1씩 증가한다. TLP 송신 링크란 큐가 TLP를 목적지 PEIC에 송신하는 통신 링크를 말한다. 구체적으로, TTQ는 TLP 송신 링크를 유지하고 관련 정보를 저장할 수 있다.
또한, RTT 모듈(12)은, 각각의 TLP 전송 큐의 TLP 송신 순차 번호 및 TLP 송신 링크를 유지 및 관리하도록 구성되어 있는 TLP 전송 큐 관리 모듈(122)을 포함한다.
바람직하게, 송신 모듈(123)은 TLP 전송 큐(TTQ) 내의 제1 TLP를 스케줄링하고, TLP를 캡슐화하고, 자체 정의 TLP 접두사(Prefix)를 부가하며, 캡슐화된 제1 TLP를 TTQ의 송신 링크를 통해 활성 및 대기 PCIE 스위칭 유닛에 동시에 송신한다. TLP의 포맷에 대한 정의는 도 9에 도시된 바와 같다: PCIE 사양에서의 정의에 따르면, TLP는 0 또는 복수의 표준 또는 자체 정의 TLP 접두사를 포함할 수 있다. TLP Prefix는 단대단 확장 및 점대점 확장의 파라미터 전달을 실행하고, 기능 확장을 실행할 수 있다. TLP Prefix는 또한 로컬 및 단대단 TLP Prefix로 분류된다. TLP 헤더는 TLP의 표준 헤더 부분이고, Data Payload는 TLP의 데이터 부분이고, TLP Digest는 TLP의 요약 부분이며; 이 3 부분이 PCIE 사양의 표준 내용이다. 바람직하게, 실시예에서, 송신지 PEIC로부터 목적지 PEIC까지의 송신지 PEIC 번호(SPEIC) 및 TLP 송신 순차 번호(SEQUENCE)의 전달은 송신지 PEIC 번호(SPEIC) 및 TLP 송신 순차 번호(SEQUENCE)가 부가되어 있는 자체 정의 단대단 TLP Prefix를 사용하여 실행된다. SEQUENCE는 송신지 PEIC에 의해 목적지 PEIC에 송신된 TLP의 순차 번호이고, 즉 TLP 전송 큐에 대응하는 목적지 PEIC에 송신된 TLP의 순차 번호이며, 각각의 TTQ에서 독립적으로 순서가 정해져 있으며, 이에 따라 목적지 PEIC는 SPEIC 및 SEQUENCE에 따라 그 수신된 TLP를 순서를 정하여 수신확인하며, 이에 의해 활성 및 대기 PCIE 스위칭 유닛에 의해 전달되는 제1 TLP의 수신을 선택적으로 실행한다. 송신 모듈은 제1 TLP를 2개의 링크를 통해 활성 및 대기 PCIE 스위칭 유닛에 송신하고; 패킷이 송신된 후, TTQ의 TLP 송신 순차 번호(SEQUENCE)가 1 증가한다. 목적지 PEIC는 활성 및 대기 링크를 통해 먼저 수신된 제1 TLP를 선택하고, 그 먼저 수신된 제1 TLP를 목적지 EP 또는 목적지 RC에 송신하며, 나중에 수신된 제1 TLP를 폐기하는데, 즉 동일한 SPEIC 및 동일한 SEQUENCE를 가지는 TLP에 있어서, 먼저 도착하는 TLP만을 수신한다. 제1 TLP를 수신한 후, 목적지 PEIC는 제1 TLP를 제1 TLP의 목적지 EP 또는 목적지 RC에 송신하고, 이에 의해 TLP의 전송을 신뢰할 수 있게 순차적으로 완료한다.
또한, P2P 모듈(11)은, 제1 TLP를 프로세싱을 위한 신뢰할 수 있는 TLP 전송(RTT) 모듈에 포워딩하기 전에, 그 수신된 TLP의 유형, 및 패킷 내의 목적지 장치 ID 또는 액세스 목적지 어드레스에 따라, 제1 TLP를 프로세싱을 위한 신뢰할 수 있는 TLP 전송(RTT) 모듈에 포워딩해야 하는지를 판단하도록 구성되어 있다. P2P 모듈은 그 수신된 패킷의 유형(어드레스 루팅 또는 ID 루팅)에 따라, 대응하는 어드레스 포워딩 테이블 또는 ID 포워딩 테이블을 검색한다. 어드레스 포워딩 테이블 또는 ID 포워딩 테이블에 목적지 PEIC가 구성되어 있으면, 제1 TLP를 프로세싱을 위한 신뢰할 수 있는 TLP 전송(RTT) 모듈에 포워딩해야 하는 것을 나타내며, 제1 TLP를 프로세싱을 위한 RTT에 포워딩한다. 바람직하게, 로컬 어드레스 또는 로컬 ID를 가지는 TLP를, 프로세싱을 위한 RTT에 포워딩할 필요 없이 RC 또는 EP에 직접 회신할 수 있다.
본 발명의 실시예에서 제공하는 PCIE 인터페이스 제어기에서는, TLP 전송 큐가 TLP의 목적지 PEIC에 따라 결정되고, TLP는 대응하는 TLP 전송 큐의 송신 링크를 통해 활성 및 대기 PCIE 스위칭 유닛에 동시에 송신되고, 활성 및 대기 PCIE 스위칭 유닛은 제1 TLP의 목적지 PEIC에 제1 TLP를 포워딩하며, 목적지 PEIC는 제1 TLP의 자체 정의 단대단 TLP 접두사에 수반되어 있는 송신지 PEIC 번호 및 TLP 송신 순차 번호에 따라 제1 TLP를 선택적으로 수신하고, 먼저 수신된 제1 TLP를 목적지 EP 또는 목적지 RC에 송신하며, 나중에 수신된 제1 TLP는 폐기하며, 이에 의해 TLP의 신뢰할 수 있는 전송을 완료하고, PCIE 이중 평면 네트워킹의 경우 신뢰성 있는 전송을 실행하며, PCIE 스위칭을 사용하는 시스템의 신뢰성을 높인다.
도 10은 본 발명의 실시예 3에 따른 PCIE 인터페이스 제어기의 구조도이다. 도 5에 도시된 실시예 2에서의 PCIE 인터페이스 제어기에 기초해서, 본 발명의 실시예에서의 신뢰할 수 있는 전송 모듈(RTT 모듈)(12)은:
활성 및 대기 PCIE 스위칭 유닛에 의해 송신된 제2 TLP를 선택적으로 수신하고, 수신된 제2 TLP를 P2P 모듈에 송신하도록 구성되어 있고, 이에 따라 P2P 모듈이 제2 TLP의 목적지 RC/EP에 상기 제2 TLP를 포워딩하는, 수신 모듈(124)
을 더 포함한다.
바람직하게, PEIC를 TLP의 수신단(목적지 PEIC)으로서 사용하면, 수신 모듈(124)은 활성 및 대기 PCIE 스위칭 유닛에 의해 송신된 제2 TLP의 자체 정의 단대단 TLP 접두사에 수반되어 있는 SPEIC 및 SEQUENCE에 따라 TLP를 선택적으로 수신할 수 있고, 즉 2개의 링크를 통해 연속으로 수신되고 동일한 SPEIC 및 동일한 SEQUENCE를 가지는 제2 TLP에 있어서, 먼저 수신된 제2 TLP만이 선택되어 P2P 모듈을 통해 제2 TLP의 목적지 RC/EP에 송신되고, 나중에 수신된 제2 TLP는 폐기된다.
바람직하게, 도 10에 도시된 바와 같이, RTT 모듈(12)은 복수의 TLP 수신확인 순차(TLP Acknowledge Sequence: TAS)를 더 포함할 수 있다. 각각의 TLP 수신확인 순차(TAS)는 피어 PEIC(패킷의 송신지 PEIC)에 대응하는데, 즉 TLP 전송 큐에 대응하고, 이 TLP 전송 큐를 통해 피어 PEIC는 패킷을 로컬 단에 송신한다. 즉, PEIC에 연결된 각각의 PEIC는 TAS에 대응하는 TLP 전송 큐를 가진다. TTQ는 송신을 위해 사용되고, TAS는 수신을 위해 사용된다. 각각의 TAS는 예상 순차 번호를 가지는데, 이 예상 순차 번호는 대응하는 피어 PEIC(패킷의 송신지 PEIC)로부터 수신될 다음 TLP에 의해 실려야 하는 SEQUENCE를 나타낸다. 예를 들어, TLP 인터페이스 제어기 1의 TLP 수신확인 순차 1이 TLP 인터페이스 제어기 2의 TLP 전송 큐 1에 대응하면, PEIC 1의 TAS 1은, 송신지 단 PEIC 2로부터 수신될 것으로 예상되는 TLP에 실려 있으면서 PEIC 2의 TTQ 1을 통해 송신된 SEQUENCE를 기록한다. 예를 들어, PEIC 1의 TAS 1의 예상 순차 번호가 3이면, 이것은 PEIC 1이 송신지 단 PEIC 2로부터 수신할 예정인 다음 TLP의 SEQUENCE가 3이어야 한다는 것을 의미한다. TTQ의 변경에 따라 TAS와 TTQ 간의 대응 관계에 대해 동적 부가 또는 삭제가 수행될 수 있다. 예를 들어, 새로운 PEIC 장치가 네트워크에 부가되면, 대응하는 TTQ가 부가되어야 하고, TAS 역시 부가되어야 한다. 바람직하게, 수신 모듈(124)은 제2 TLP를 수신하고, 제1 TLP 내의 자체 정의 Prefix의 SPEIC에 따라 대응하는 TAS를 결정하고, 제2 TLP의 SEQUENCE와 TAS의 예상 순차 번호를 비교하며, 제2 TLP의 SEQUENCE가 TAS의 예상 순차 번호와 같으면 제2 TLP를 P2P 모듈에 송신하며, 이에 따라 P2P 모듈은 제2 TLP를 목적지 RC/EP에 포워딩하고 TAS의 예상 순차 번호를 1 증가시키고; 제2 TLP의 SEQUENCE가 TAS의 예상 순차 번호와 같지 않으면 TLP를 폐기하며, 이에 의해 동일한 SPEIC 및 동일한 SEQUENCE를 가지는 TLP에 있어서, 하나의 TLP만이 수신되고, 패킷이 순차적으로 하나씩 수신되게 함으로써, 이중 평면에서의 신뢰할 수 있는 수신을 실행한다.
또한, RTT 모듈(12)은 각각의 수신확인 순차의 예상 순차 번호를 유지 및 관리하도록 구성되어 있는 TLP 수신확인 순차 관리 모듈(125)을 포함한다.
본 발명의 실시예에서 제공하는 PCIE 인터페이스 제어기에서는, 활성 및 대기 PCIE 스위칭 유닛에 의해 송신된 제2 TLP가 선택적으로 수신된다. 먼저 수신된 제2 TLP만이 선택되어 P2P 모듈을 통해 제2 TLP의 목적지 RC/EP에 송신되고, 나중에 수신된 제2 TLP는 폐기되며, 이에 의해 TLP의 이중 공급 및 선택적 수신 전송을 신뢰할 수 있게 순차적으로 완료하고, PCIE 이중 평면 네트워킹을 실행하며, PCIE 스위칭을 사용하는 시스템의 신뢰성을 높인다.
도 11은 본 발명의 실시예 4에 따른 PCIE 인터페이스 제어기의 구조도이다. 실시예 1 내지 실시예 3과 마찬가지로, 본 실시예에서의 PCIE 인터페이스 제어기는 P2P 브리지 모듈 및 TLP 전송(Reliable TLP Transmission: RTT로 약칭) 모듈을 포함한다. P2P 브리지는 PCIE 사양에 정의되어 있는 표준 점대점 브리지이고, PCIE의 링크 계층 프로토콜과 전송 계층 프로토콜을 실행한다. RC/EP와 PEIC 간의 링크는 표준 PCIE 링크이다. RTT 모듈은 주로 활성 및 대기 PCIE 스위칭 유닛에 대한 링크의 선택 및 PEIC로부터 임의의 다른 PEIC까지의 TLP의 신뢰할 수 있는 단대단 전송을 완료한다. PCIE 사양의 관점에서 보면, RTT 모듈은 투명한 모듈이다. RC/EP에서 보면, PEIC는 실제로 PCIE 트리 구조에서 P2P 브리지이고, RTT, PEIC 및 PCIE 스위칭 유닛을 통해 가상의 P2P가 연결되어 있는데, 즉, RC/EP는 활성 및 대기 PCIE 스위칭 유닛이 아닌 도 2에 도시된 표준 PCIE 스위치를 본다.
도 11에 도시된 바와 같이, PCIE 인터페이스 제어기(20)는 PCI 대 PCI 브리지 모듈(P2P 모듈)(21) 및 신뢰할 수 있는 TLP 전송 모듈(RTT 모듈)(22)을 포함한다.
PCI 대 PCI 브리지 모듈(P2P 모듈)(21)은 RC 또는 EP로부터 제3 TLP를 수신하고, 이 제3 TLP를 프로세싱을 위한 신뢰할 수 있는 TLP 전송 모듈(RTT 모듈)에 포워딩하도록 구성되어 있다.
신뢰할 수 있는 TLP 전송 모듈(RTT 모듈)(22)은 그 수신된 제3 TLP에 따라, PCIE 스위칭 유닛에 연결된 송신 링크를 결정하고, 제3 TLP를 송신 링크를 통해 PCIE 스위칭 유닛에 동시에 송신하도록 구성되어 있고, 이에 따라 제3 TLP의 목적지 PCIE 인터페이스 제어기는 PCIE 스위칭 유닛에 의해 포워딩된 제3 TLP를 수신하고 제3 TLP의 목적지 EP 또는 목적지 RC에 제3 TLP를 송신하며; 제3 TLP의 목적지 PEIC에 의해 회신되고 상기 PCIE 스위칭 유닛에 의해 포워딩된 제1 수신확인 메시지 TLP가 시간이 종료될 때까지도 수신되지 않으면, PCIE 스위칭 유닛에 연결된 송신 링크를 통해 제3 TLP를 다시 송신한다.
바람직하게, RTT 모듈(22)은, P2P 모듈(21)에 의해 포워딩된 제3 TLP를 수신한 후, TLP의 유형에 따라, 즉 패킷이 어드레스를 통해 루팅되는지 또는 식별(Identity: ID로 약칭)을 통해 루팅되는지에 따라, 대응하는 어드레스 포워딩 테이블 또는 ID 포워딩 테이블을 검색하고, 제3 TLP에 대응하는 목적지 PEIC 번호를 획득하여, 패킷에 대응하는 PCIE 스위칭 유닛의 송신 링크를 결정하며, 제3 TLP를 송신 링크를 통해 PCIE 스위칭 유닛에 송신하도록 구성되어 있다. 이 경우, PCIE 스위칭 유닛은 수신된 제3 TLP를 목적지 PEIC에 송신하고, 이에 따라 목적지 PEIC는 제3 TLP를 수신하고 이 제3 TLP의 목적지 EP 또는 목적지 RC에 제3 TLP를 포워딩한다. 한편, 목적지 PEIC는 제3 TLP에 대한 제1 수신확인 메시지 TLP를 회신하고, 제1 수신확인 메시지 TLP가 PCIE 스위칭 유닛을 통해 RTT 모듈(22)에 포워딩되어, 제3 TLP가 수신되었다는 것을 나타낸다. RTT 모듈(22)은 목적지 PEIC에 의해 회신된 제1 수신확인 메시지 TLP가 시간이 종료될 때까지도 수신되지 않으면, PCIE 스위칭 유닛에 연결된 송신 링크를 통해 제3 TLP를 다시 송신한다(이중 평면의 경우에, 이 경우의 PCIE 스위칭 유닛에 연결된 송신 링크는 제3 TLP가 이전에 송신된 송신 링크와 다를 수 있다).
또한, RTT 모듈(22)은 제3 TLP를 캡슐화하고, 제3 TLP의 자체 정의 단대단 TLP 접두사에 송신지 PEIC 번호 및 TLP 송신 순차 번호를 부가하며, 캡슐화된 제3 TLP를 송신 링크를 통해 PCIE 스위칭 유닛에 송신하며, 이에 따라 수신된 제3 TLP에 있는 송신지 PEIC 번호 및 TLP 송신 순차 번호에 따라, 제3 TLP의 목적지 PEIC는 제1 수신확인 메시지 TLP를 회신한다. 회신된 제1 수신확인 메시지 TLP의 자체 정의 단대단 TLP 접두사는 제3 TLP의 목적지 PEIC의 PEIC 번호 및 수신확인된 TLP 송신 순차 번호를 수반하고 있으며, 여기서 제3 TLP의 목적지 PEIC의 PEIC 번호는 제3 TLP의 송신지 PEIC에 의해 제3 TLP의 목적지 PEIC에 송신된 TLP의 순차 번호이고, 제1 수신확인 메시지 TLP의 수신확인된 TLP 송신 순차 번호는 송신지 PEIC의 TLP 송신 순차 번호이고 제3 TLP의 목적지 PEIC에 의해 이미 수신된 제3 TLP를 지니는 TLP 송신 순차 번호이다.
현재의 PCIE 사양에서는, 점대점 수신확인 메커니즘을 통해 TLP의 신뢰할 수 있는 전송이 실행되고 있다. 예를 들어, 도 2에서, 스위치 1은 스위치 2에 TLP를 송신하는데, 스위치 1은 TLP를 저장하고, 스위치 2가 정확한 TLP를 수신하고 스위치 1에 수신확인 정보를 회신할 때까지 그 대응하는 TLP를 삭제하지 않는다. 그렇지만, RC에 의해 스위치 2에 송신되는 TLP에 있어서, 스위치 1과 스위치 2 간의 링크가 실패이면, RC에 의해 스위치 1에 이미 성공적으로 송신된 패킷은 스위치 1과 스위치 2 간의 링크의 실패로 인해 폐기될 수도 있다. 그렇지만, RC는 스위치 1로부터 수신확인 정보를 수신하기 때문에 RC는 패킷이 성공적으로 송신된 것으로 간주한다. 이러한 실패는 RC가 TLP의 전송 결과를 정확하게 감지할 수 없게 만들어 버리며, 이에 의해 시스템은 비정상으로 작동하거나 데이터 연산이 폐기되어 버린다. 본 발명의 실시예에서 제공하는 PCIE 인터페이스 제어기(PEIC)에서는, PCIE 스위칭 유닛에 연결된 송신 링크를 통해 제3 TLP가 PCIE 스위칭 유닛에 송신되고, PCIE 스위칭 유닛은 수신된 제3 TLP를 목적지 PEIC에 송신하며, 목적지 PEIC는 제3 TLP의 목적지 EP 또는 목적지 RC에 제3 TLP를 송신하고, 제1 수신확인 메시지 TLP를 송신지 PEIC에 회신한다. 목적지 PEIC에 의해 회신된 제1 수신확인 메시지 TLP가 시간이 종료될 때까지도 수신되지 않으면, 송신지 PEIC는 PCIE 스위칭 유닛에 연결된 송신 링크를 통해 제3 TLP를 다시 송신하며, 이에 의해 PCIE 스위칭 이중 평면 네트워킹 접속의 경우 TLP의 신뢰할 수 있는 단대단 전송을 실행하고, PCIE 스위칭을 사용하는 시스템의 신뢰성이 높아진다.
도 12는 본 발명의 실시예 5에 따른 PCIE 인터페이스 제어기의 구조도이다. 도면에 도시된 바와 같이, 신뢰할 수 있는 TLP 전송(RTT) 모듈(22)은:
수신된 제3 TLP에 따라 어드레스 포워딩 테이블 또는 ID 포워딩 테이블을 검색하고, TLP 전송 큐(TTQ)를 결정하며, 제3 TLP를 TLP 전송 큐에 놓도록 구성되어 있고, TLP 전송 큐는 제3 TLP의 목적지 PEIC에 대응하는, TLP 디스패치 모듈(221);
TLP 전송 큐(TTQ)를 스케줄링하고, 제3 TLP를 TLP 전송 큐의 송신 링크를 통해 PCIE 스위칭 유닛에 송신하도록 구성되어 있고, 이에 따라 제3 TLP의 목적지 PCIE 인터페이스 제어기가 PCIE 스위칭 유닛에 의해 포워딩된 제3 TLP를 수신하고 제3 TLP의 목적지 EP 또는 목적지 RC에 제3 TLP를 송신하며; 제3 TLP의 목적지 PEIC에 의해 회신되고 PCIE 스위칭 유닛에 의해 포워딩된 제1 수신확인 메시지 TLP가 시간이 종료될 때까지도 수신되지 않으면, PCIE 스위칭 유닛에 연결된 송신 링크를 통해 제3 TLP를 다시 송신하도록 구성되어 있는 송신 모듈(223);
제3 TLP의 목적지 PEIC에 의해 회신되고 상기 PCIE 스위칭 유닛에 의해 포워딩된 제1 수신확인(ACK) 메시지 TLP를 수신하고, 제1 수신확인 메시지 TLP를 수신확인 모듈(226)에 전달하도록 구성되어 있는 수신 모듈(224);
제1 수신확인 메시지 TLP에 수반되어 있는 TLP 송신 순차 번호(SEQUENCE) 및 송신지 PEIC 번호(SPEIC)에 따라, TLP 전송 큐 내의 수신확인된 제3 TLP를 삭제한다는 것을 TLP 전송 큐 관리 모듈(222)에 통지하도록 구성되어 있는 상기 수신확인 모듈(226); 및
상기 수신확인 모듈(226)의 통지에 따라 TLP 전송 큐 내의 수신확인된 제3 TLP를 삭제하도록 구성되어 있는 상기 TLP 전송 큐 관리 모듈(222)
을 더 포함한다.
바람직하게, TLP 디스패치 모듈(221)은 P2P 모듈(21)에 의해 포워딩된 TLP를 수신하고, TLP의 루팅 방식(어드레스 루팅 또는 ID 루팅)에 따라, 대응하는 어드레스 포워딩 테이블 또는 ID 포워딩 테이블을 검색하고, 테이블 검색 결과에 따라 목적지 PEIC를 획득하며, 수신된 제3 TLP를 대응하는 TTQ에 버퍼링하도록 구성되어 있다. 어드레스 포워딩 테이블은 도 6에 도시될 수 있으며; ID 포워딩 테이블은 도 7에 도시된 포맷을 사용할 수 있다. 특정한 내용 및 구성 방법은 전술한 실시예 2 및 실시예 3에서의 설명에서의 내용 및 구성 방법과 동일하므로, 여기서 반복 설명하지 않는다.
도 12에 도시된 바와 같이, RTT 모듈(22)은 복수의 TLP 전송 큐를 더 포함한다. 본 실시예에서의 TLP 전송 큐의 기능 및 구조는 도 5에 도시된 실시예 2에서의 TLP 전송 큐의 기능 및 구조와 동일하다. 특정한 설명에 대해서는 관련 부분을 참조하면 되므로, 상세할 설명에 대해서는 여기서 반복 설명하지 않는다.
바람직하게, 송신 모듈(223)은 TLP 전송 큐(TTQ) 내의 TLP를 스케줄링하고, TLP를 캡슐화하고, 자체 정의 TLP 접두사(Prefix)를 부가하며, 캡슐화된 제3 TLP를 TTQ의 송신 링크를 통해 PCIE 스위칭 유닛에 송신한다. TLP의 포맷에 대한 정의가 도 9에 도시되어 있다: 특정한 구조에 대한 관련 정의에 대해서는, 전술한 실시예 2 및 실시예 3의 도 9에서의 TLP의 포맷에 관한 설명을 참조하면 되므로, 상세한 설명에 대해서는 여기서 반복 설명하지 않는다. 바람직하게, 본 실시예에서는, 송신지 PEIC로부터 목적지 PEIC까지의 송신지 PEIC 번호(SPEIC) 및 TLP 송신 순차 번호(SEQUENCE)의 전달은 TLP 내의 자체 정의 단대단 TLP Prefix를 사용하여 실행된다. SEQUENCE는 송신지 PEIC에 의해 목적지 PEIC에 송신된 TLP의 순차 번호이고, 즉 TLP 전송 큐에 대응하는 목적지 PEIC에 송신된 TLP의 순차 번호이고, 각각의 TTQ에서 독립적으로 순서가 정해져 있으며, 이에 따라 목적지 PEIC는 SPEIC + SEQUENCE에 따라 그 수신된 TLP를 순서를 정하여 수신확인한다. 회신된 제1 수신확인 메시지 TLP의 단대단 TLP 접두사는 송신지 PEIC 번호 및 수신확인된 TLP 송신 순차 번호를 수반하고 있으며, 여기서 수신확인 메시지 패킷 내의 SEQUENCE 필드는 수신확인된 TLP 송신 순차 번호를 수반하고 있고, 수신확인된 TLP 송신 순차 번호는 목적지 PEIC에 의해 송신지 PEIC로부터 이미 수신된 TLP의 송신 순차 번호를 나타낸다. 송신 모듈은 TTQ의 송신 링크를 통해 PCIE 스위칭 유닛에 제3 TLP를 송신한다. 패킷이 송신된 후, TTQ의 TLP 송신 순차 번호(SEQUENCE)가 1 증가한다.
또한, TLP 전송 큐 관리 모듈(222)은 각각의 전송 큐의 TLP 송신 순차 번호 및 TLP 송신 링크를 유지하도록 구성되어 있다. TLP 전송 큐 관리 모듈은 각각의 전송 큐의 TLP 송신 순차 번호 및 TLP 송신 링크를 유지하도록 구성되어 있고, 각각의 전송 큐의 TLP 송신 순차 번호는 TTQ에 의해 이미 송신된 TLP의 송신 순차 번호를 나타내고, TLP 송신 링크는 TTQ의 활성 및 대기 송신 링크를 나타내며, 이에 따라 활성 송신 링크는 TLP를 송신하는 데 사용된다.
바람직하게, TTQ는 TLP을 송신하는데 슬라이딩 윈도를 사용할 수 있으며, 이에 의해 각각의 TTQ에 의해 동시에 송신된 패킷의 수를 제한한다. TTQ의 슬라이딩 윈도 메커니즘은 도 13에 도시되어 있다. 도면에서 숫자가 붙은 각각의 박스는 TLP를 나타낸다. 예를 들어, 슬라이딩 윈도의 크기 4인데, 즉 목적지 PEIC에 의해 수신확인되지 않은 TLP 가 최대 4개까지 공존할 수 있다. 목적지 PEIC에 의해 회신된 TLP 수신확인 패킷을 수신한 후, 수신확인 모듈(226)은 수신확인된 SEQUENCE에 따라 윈도를 전진 이동시킨다. 예를 들어, 현재의 윈도에서 수신확인될 TLP가 2, 3, 4 및 5이고; 수신 모듈에 의해 포워딩된 그 수신된 상기 수신확인된 SEQUENCE가 2이면, 슬라이딩 윈도가 하나의 패킷만큼 전진 이동하고, 수신확인될 TLP가 3, 4, 및 5이며; TTQ는 순차 번호가 6인 TLP를 송신하도록 허용된다. PEIC의 버퍼 성능에 따르면, 슬라이딩 윈도의 크기는 2 내지 n에 설정될 수 있다(n은 임의의 양의 정수). 슬라이딩 윈도를 설정함으로써, 각각의 TTQ에 의해 동시에 송신된 패킷의 수를 효과적으로 제어할 수 있고, 프로세싱 효율성이 향상되며, 동시에 송신 및 수신이 순차적으로 신뢰할 수 있게 수행된다.
바람직하게, 제3 TLP의 목적지 PEIC는 제3 TLP를 수신하고, 제3 패킷 내의 송신지 PEIC 번호(SPEIC)에 따라 송신지 PEIC에 수신확인 TLP를 회신한다. 당연히, 목적지 PEIC 역시 송신지 PEIC로부터 복수의 TLP를 수신한 다음 수신확인 TLP를 송신지 PEIC에 송신할 수 있다. 예를 들어, 순차 번호가 3, 4, 및 5이고 SPEIC가 101인 패킷이 수신되면, 순차 번호가 5인 수신확인 TLP만이 송신될 수 있고, 이것은 순차 번호가 5인 패킷 이전의 모든 TLP가 수신된다는 것을 의미하고, 이에 의해 수신확인 TLP의 횟수가 감소된다. 바람직하게, 수신확인 TLP는 ID 루팅을 사용할 수 있고, 목적지 장치 ID는 송신지 PEIC의 P2P 모듈의 장치 ID이다. 수신확인 TLP의 자체 정의 TLP Prefix는 송신지 PEIC 번호(SPEIC) 및 수신확인된 TLP 송신 순차 번호(SEQUENCE)를 포함하며, 여기서 수신확인된 TLP 송신 순차 번호(SEQUENCE)는 송신지 PEIC에 의해 수신된 최신의 TLP 송신 순차 번호이다(이것은 일반적으로 가장 큰데, 순차 번호가 주기적인 방식으로 사용될 때는 가장 큰 순차 번호가 아닐 수도 있다). 수신확인 TLP를 수신한 후, 수신 모듈은 수신확인 TLP를 수신확인 모듈(226)에 포워딩하고, 수신확인 모듈(226)은, 패킷 내의 수신확인된 TLP 송신 순차 번호 및 SPEIC에 따라, 큐 내의 제3 TLP를 삭제하였다는 것을 TTQ에 통지한다. 송신지 PEIC의 TLP 전송 큐 관리 모듈은, 제1 수신확인 메시지 패킷의 수신확인된 순차 번호에 따라, 대응하는 TTQ에 버퍼링되어 있는 TLP를 삭제한다. PEIC로부터 PCIE 스위칭 유닛까지의 링크가 실패이거나 PCIE 스위칭 유닛이 실패이면, TLP는 폐기되며, 이에 대응해서 송신지 PEIC는, 이 경우 제3 TLP를 위해 목적지 PEIC에 의해 회신되는 제1 수신확인 메시지 TLP를 수신할 수 없다. 송신지 단 PEIC 시간이 종료되면, TTQ에 버퍼링되어 있는 제3 TLP가 PCIE 스위칭 유닛에 연결된 송신 링크를 통해 다시 송신되며; 이 경우, 실패된 링크 또는 실패된 PCIE 스위칭 유닛이 복구될 수 있거나, PEIC의 이중 평면이 스위칭되며, 이에 따라 송신지 PEIC의 송신 모듈(223)은 PCIE 스위칭 유닛에 연결된 송신 링크를 통해 제3 TLP를 다시 송신하며, 이에 의해 송신지 PEIC에 의해 송신되는 모든 TLP를 신뢰할 수 있게 목적지 PEIC에 송신할 수 있다.
바람직하게, 수신확인 모듈(226)은, 제1 수신확인 메시지 TLP에 수반되어 있는 수신확인된 TLP 송신 순차 번호(SEQUENCE) 정보 및 송신지 PEIC 번호(SPEIC)에 따라, 대응하는 TTQ의 슬라이딩 윈도를 갱신하도록 추가로 구성되어 있다.
바람직하게, 도 12에 도시된 바와 같이, RTT 모듈(22)은 복수의 TLP 수신확인 순차(TAS)를 더 포함할 수 있다. 본 실시예에서의 TLP 수신확인 순차의 구조 및 설정은 도 10에 도시된 실시예 3에서의 TLP 수신확인 순차의 구조 및 설정과 동일하다. 동일한 방식으로, 각각의 TLP 수신확인 순차(TAS)는 하나의 전송 큐에 대응한다. 특정한 구조 및 설정에 대해서는, 도 10에 도시된 실시예 3에서의 관련 설명을 참조하면 되므로, 상세한 설명에 대해서는 여기서 반복 설명하지 않는다.
수신 모듈(224)은 PCIE 스위칭 유닛에 의해 송신된 제4 TLP를 수신하고, TLP의 유형에 따라, 제4 TLP가 수신확인 메시지 TLP인지를 판정하며; 제4 TLP가 수신확인 메시지 TLP이면, 제4 TLP를 수신확인 모듈(226)에 포워딩하고; 제4 TLP가 수신확인 메시지 TLP가 아니면, 그 수신된 제4 TLP를 제4 TLP의 송신지 PEIC에 대응하는 TLP 수신확인 순차(TAS)에 버퍼링한다.
이 경우, P2P 모듈(21)은 TLP 수신확인 순차(TAS) 내의 제4 TLP를 획득하고, 제4 TLP의 목적지 RC/EP에 제4 TLP를 포워딩하도록 구성되어 있다.
RTT 모듈(22)은, TLP 수신확인 순차가 제4 TLP를 수신한 후, 수신확인 메시지 TLP를 송신지 PEIC에 회신하였다는 것을 수신확인 모듈(226)에 통지하도록 구성되어 있는 TLP 수신확인 순차 관리 모듈(223)을 더 포함한다.
수신확인 모듈(226)은 제2 수신확인 메시지 TLP를 생성하고, 제2 수신확인 메시지 TLP를 송신지 PEIC에 대응하는 TLP 전송 큐(TTQ)에 버퍼링하며, 이에 따라 제2 수신확인 메시지 TLP를 스케줄링하여 송신 모듈에 송신하도록 추가로 구성되어 있다. 바람직하게, 수신확인 모듈(226)은 특정한 시간 간격에서 수신확인 메시지 TLP를 송신하거나, 수신확인되어야 하는 특정한 수의 TLP를 수신한 후에 수신확인 메시지 TLP를 송신한다(수신확인되어야 하는 TLP의 수는 윈도의 수보다 커서는 안 된다).
또한, P2P 모듈(21)은, 프로세싱을 위한 신뢰할 수 있는 TLP 전송 모듈(RTT 모듈)(22)에 제3 TLP를 포워딩하기 전에, 수신된 TLP의 유형, 패킷 내의 목적지 장치 ID 및 액세스 목적지 어드레스에 따라, 제3 TLP를 프로세싱을 위한 신뢰할 수 있는 TLP 전송 모듈(RTT 모듈)에 포워딩해야 하는지를 판단하도록 구성되어 있다. P2P 모듈은, 수신된 패킷의 유형(어드레스 루팅 또는 ID 루팅)에 따라, 대응하는 어드레스 포워딩 테이블 또는 ID 포워딩 테이블을 검색한다. 어드레스 포워딩 테이블 또는 ID 포워딩 테이블에 목적지 PEIC가 구성되어 있으면, 제3 TLP를 프로세싱을 위한 신뢰할 수 있는 TLP 전송 모듈(RTT 모듈)에 포워딩해야 함을 의미하고, 제3 TLP를 신뢰할 수 있는 RTT에 포워딩한다. 바람직하게, 로컬 어드레스 또는 로컬 ID를 가지는 TLP는 프로세싱을 위한 RTT에 포워딩될 필요 없이 RC 또는 EP에 직접적으로 회신될 수 있다.
현재의 PCIE 사양에서는, 점대점 수신확인 메커니즘을 통해 TLP의 신뢰할 수 있는 전송이 실행되고 있다. 예를 들어, 도 2에서, 스위치 1은 스위치 2에 TLP를 송신하는데, 스위치 1은 TLP를 저장하고, 스위치 2가 정확한 TLP를 수신하고 스위치 1에 수신확인 정보를 회신할 때까지 그 대응하는 TLP를 삭제하지 않는다. 그렇지만, RC에 의해 스위치 2에 송신되는 TLP에 있어서, 스위치 1과 스위치 2 간의 링크가 실패이면, RC에 의해 스위치 1에 이미 성공적으로 송신된 패킷은 스위치 1과 스위치 2 간의 링크의 실패로 인해 폐기될 수도 있다. 그렇지만, RC는 스위치 1로부터 수신확인 정보를 수신하기 때문에 RC는 패킷이 성공적으로 송신된 것으로 간주한다. 이러한 실패는 RC가 TLP의 전송 결과를 정확하게 감지할 수 없게 만들어 버리며, 이에 의해 시스템은 비정상으로 작동하거나 데이터 연산이 폐기되어 버린다.
본 발명의 실시예에서 제공하는 PCIE 인터페이스 제어기에서는, 송신된 TLP의 송신지 PEIC 번호 및 순차 번호를 실은 제3 TLP가 PCIE 스위칭 유닛에 연결된 송신 링크를 통해 PCIE 스위칭 유닛에 송신되고, PCIE 스위칭 유닛은 수신된 제3 TLP를 목적지 PEIC에 송신하며, 목적지 PEIC는 제3 TLP의 목적지 EP 또는 목적지 RC에 제3 TLP를 송신하고, 제1 수신확인 메시지 TLP를 그 송신된 TLP의 송신지 PEIC 번호 및 순차 번호에 따라 송신지 PEIC에 회신하며, 이에 의해 TLP의 전달을 완료한다. 목적지 PEIC에 의해 회신된 제1 수신확인 메시지 TLP가 시간이 종료될 때까지도 수신되지 않으면, 송신지 PEIC는 PCIE 스위칭 유닛에 연결된 송신 큐의 송신 링크를 통해 제3 TLP를 다시 송신하며, 이에 의해 PCIE 스위칭 이중 평면 네트워킹 접속의 경우 TLP의 신뢰할 수 있는 단대단 전송을 실행하고, PCIE 스위칭을 사용하는 시스템의 신뢰성이 높아진다.
도 14는 본 발명의 실시예 6에 따른 PCIE 인터페이스 제어기의 구조도이다. 도면에 도시된 바와 같이, 신뢰할 수 있는 TLP 전송(RTT) 모듈(22)은:
고정-시간(fixed-time) 검출 TLP를 시간 간격으로 모든 다른 PEIC에 송신하고, 목적지 PEIC에 의해 회신된 검출 응신 TLP가 지정된 시간 내에 수신되지 않으면, 대응하는 TTQ의 송신 링크를 갱신한다는 것을 TLP 송신 큐 관리 모듈(222)에 통지하도록 구성되어 있는 중추부 모듈(heartbeat module)(227); 및
상기 중추부 모듈(227)의 통지에 따라, 대응하는 TLP 전송 큐의 송신 링크를 갱신하도록 추가로 구성되어 있는 TLP 전송 큐 관리 모듈(222)
을 더 포함한다.
바람직하게, 중추부 모듈(227)은 고정-시간 검출 TLP를 통신 접속되어 있는 모든 다른 PEIC에 시간 간격으로 송신하고(시간 간격은 네트워크 상황에 따라 구성될 수 있는데, 예를 들어 10us 내지 1ms 사이의 값에 설정될 수 있다), 회신된 검출 응신 TLP가 지정된 시간 내에 수신되지 않는 목적지 PEIC에 있어서, 활성 및 대기 링크를 스위칭한다. 지정된 시간도 네트워크 상황에 따라 구성될 수 있는데, 고정-시간 검출 TLP가 송신될 때부터 검출 응신 TLP가 수신되어야 할 때까지의 주기보다는 더 크다. 지정된 시간이 만료될 때까지도 검출 응신 TLP가 수신되지 않으면, 이것은 링크 실패 또는 PCIE 스위칭 유닛의 실패와 같이, 목적지 PEIC에 대한 통신 루트에 문제가 있다는 것을 의미한다. 이 경우, 중추부 모듈은 대응하는 TTQ의 송신 링크를 갱신한다는 것을 TLP 송신 큐 관리 모듈(222)에 통지하는데, 즉 TLP를 활성 링크를 통해 송신할지 또는 대기 링크를 통해 송신할지를 통지한다.
본 발명의 실시예에서, 중추부는 검출 패킷을 송신하고, 이에 의해 PEIC들 간의 링크에 대해 실패 검출을 실행하여, 활성 및 대기 평면의 자동 스위칭을 보장하며, PCIE 이중 평면 스위칭 네트워크에서 신뢰할 수 있는 패킷 전송을 더 보장한다.
도 15는 본 발명의 실시예 7에 따른 PCIE 스위칭 네트워크에서 패킷 전송을 위한 방법에 대한 흐름도이다. 도면에 도시된 바와 같이, 방법은 이하를 포함한다:
단계 301: RC 또는 EP로부터 제1 TLP를 수신한다.
단계 302: 수신된 제1 TLP에 따라, 활성 및 대기 PCIE 스위칭 유닛에 연결된 송신 링크를 결정하고, 제1 TLP를 송신 링크를 통해 활성 및 대기 PCIE 스위칭 유닛에 동시에 송신하며, 이에 따라 제1 TLP의 목적지 PCIE 인터페이스 제어기는 활성 및 대기 PCIE 스위칭 유닛에 의해 포워딩된 제1 TLP를 선택적으로 수신하고 제1 TLP의 목적지 EP 또는 목적지 RC에 제1 TLP를 송신한다.
바람직하게, PCIE 인터페이스 제어기는, 수신된 제1 TLP에 따라, 활성 및 대기 PCIE 스위칭 유닛에 연결된 송신 링크를 결정하는데, 이것은 구체적으로: 제1 TLP를 수신한 후, 제1 PCIE 인터페이스 제어기는 제1 TLP의 유형에 따라, 즉 패킷이 어드레스 또는 식별(Identity: ID로 약칭)을 통해 루팅되는지에 따라, 대응하는 어드레스 포워딩 테이블 또는 ID 포워딩 테이블을 검색하고, 제1 TLP에 대응하는 목적지 PEIC 번호를 결정하여, 패킷에 대응하는 활성 및 대기 PCIE 스위칭 유닛의 송신 링크를 결정하고 송신 링크를 통해 활성 및 대기 PCIE 스위칭 유닛에 제1 TLP를 동시에 송신하는 것이다. 이 경우, 활성 및 대기 PCIE 스위칭 유닛은 수신된 제1 TLP를 목적지 PEIC에 송신하고, 목적지 PEIC는 제1 TLP를 선택적으로 수신하며, 예를 들어, 먼저 도착하는 제1 TLP를 수신하고 나중에 도착하는 제1 TLP를 폐기하며, 수신된 제1 TLP를 제1 TLP의 목적지 EP 또는 목적지 RC에 포워딩한다.
또한, 제1 TLP가 송신 링크를 통해 활성 및 대기 PCIE 스위칭 유닛에 동시에 송신되기 전에, 방법은, 제1 TLP를 캡슐화하고, 제1 TLP의 자체 정의 단대단 TLP 접두사에 송신지 PEIC 번호 및 TLP 송신 순차 번호를 부가하며, 이에 따라 제1 TLP의 목적지 PEIC가 송신지 PEIC 번호 및 TLP 송신 순차 번호에 따라 활성 및 대기 PCIE 스위칭 유닛에 의해 포워딩된 제1 TLP를 선택적으로 수신하는 단계를 포함하며, TLP 송신 순차 번호는 송신지 PEIC에 의해 제1 TLP의 목적지 PEIC에 송신된 TLP의 순차 번호이다. 송신지 PEIC 번호 및 TLP 송신 순차 번호에 따라 활성 및 대기 PCIE 스위칭 유닛에 의해 포워딩된 제1 TLP를 선택적으로 수신하는 단계는, 활성 및 대기 PCIE 스위칭 유닛에 의해 포워딩되고 동일한 송신지 PEIC 번호 및 동일한 TLP 송신 순차 번호를 가지는 제1 TLP에 있어서, 먼저 도착하는 제1 TLP만을 수신하는 단계이다.
본 발명의 실시예에서 제공하는 PCIE 이중 평면 스위칭 네트워크에서 패킷 전송을 위한 방법에서, PICE 인터페이스 제어기(PEIC)는 제1 TLP를 활성 및 대기 PCIE 스위칭 유닛에 연결된 송신 링크를 통해 활성 및 대기 PCIE 스위칭 유닛에 동시에 송신하고, 제1 TLP의 목적지 PEIC는 활성 및 대기 PCIE 스위칭 유닛에 의해 포워딩된 제1 TLP를 선택적으로 수신하고 제1 TLP의 목적지 EP 또는 목적지 RC에 제1 TLP를 송신하며, 이에 의해 PCIE 이중 평면 네트워킹 접속의 경우에 TLP의 신뢰할 수 있는 전송을 수행하고, PCIE 스위칭을 사용하는 시스템의 신뢰성을 높인다.
도 16은 본 발명의 실시예 8에 따른 PCIE 스위칭 네트워크에서 패킷 전송을 위한 방법에 대한 흐름도이다. 도면에 도시된 바와 같이:
단계 401: RC 또는 EP로부터 제1 TLP를 수신한다.
단계 402: 수신된 제1 TLP에 따라, 대응하는 어드레스 포워딩 테이블 또는 ID 포워딩 테이블을 검색하고, TLP 전송 큐(TTQ)를 결정하며, 제1 TLP를 TTQ에 높으며, 여기서 TLP 전송 큐는 제1 TLP의 목적지 PEIC에 대응한다.
구체적으로, PEIC 인터페이스 제어기는 TLP의 루팅 방식(어드레스 루팅 또는 ID 루팅)에 따라, 대응하는 어드레스 포워딩 테이블 또는 ID 포워딩 테이블을 검색하며, 테이블 검색 결과에 따라 목적지 PEIC 번호를 획득한다.
어드레스 포워딩 테이블은 도 6에 도시될 수 있으며; ID 포워딩 테이블은 도 7에 도시된 포맷을 사용할 수 있다. 특정한 내용 및 구성 방법은 전술한 실시예 2 및 실시예 3에서의 설명에서의 내용 및 구성 방법과 동일하므로, 여기서 반복 설명하지 않는다. 바람직하게, 어드레스 포워딩 테이블 또는 ID 포워딩 테이블은 PCIE 인터페이스 제어기 상에 구성된다.
PCIE 인터페이스 제어기는 복수의 TLP 전송 큐를 더 포함한다. 본 실시예에서의 TLP 전송 큐의 기능 및 구조는 도 5에 도시된 실시예 2에서의 TLP 전송 큐의 기능 및 구조와 동일하다. 특정한 설명에 대해서는 관련 부분을 참조하면 되므로, 상세할 설명에 대해서는 여기서 반복 설명하지 않는다.
단계 403: TLP 전송 큐 내의 TLP를 송신하고, 제1 TLP를 TLP 전송 큐의 송신 링크를 통해 활성 및 대기 PCIE 스위칭 유닛에 동시에 송신하고, 이에 따라 제1 TLP의 목적지 PCIE 인터페이스 제어기는 활성 및 대기 PCIE 스위칭 유닛에 의해 포워딩된 제1 TLP를 선택적으로 수신하고 제1 TLP의 목적지 EP 또는 목적지 RC에 제1 TLP를 송신한다.
PCIE 인터페이스 제어기는 TLP 전송 큐(TTQ) 내의 제1 TLP를 스케줄링하고, 제1 TLP를 캡슐화하고, 자체 정의 TLP 접두사(Prefix)를 부가하며, 캡슐화된 제1 TLP를 TTQ의 송신 링크를 통해 활성 및 대기 PCIE 스위칭 유닛에 동시에 송신한다. TLP의 포맷에 대한 정의가 도 9에 도시되어 있다: PCIE 사양에서의 정의에 따르면, TLP는 0 또는 복수의 표준 또는 자체 지정 TLP 접두사를 포함할 수 있다. TLP 접두사는 단대단 확장 및 점대점 확장의 파라미터 전달을 실행하고, 기능 확장을 실행할 수 있다. TLP Prefix는 또한 로컬 및 단대단 TLP Prefix로 분류된다. TLP 헤더는 TLP의 표준 헤더 부분이고, Data Payload는 TLP의 데이터 부분이고, TLP Digest는 TLP의 요약 부분이며; 이 3 부분이 PCIE 사양의 표준 내용이다. 바람직하게, 실시예에서, 송신지 PEIC로부터 목적지 PEIC까지의 송신지 PEIC 번호(SPEIC) 및 TLP 송신 순차 번호(SEQUENCE)의 전달은 자체 정의 단대단 TLP Prefix를 사용하여 실행된다. SEQUENCE는 송신지 PEIC에 의해 목적지 PEIC에 송신된 TLP의 순차 번호이고, TLP 전송 큐에 대응하는 목적지 PEIC에 송신된 TLP의 순차 번호이며, 각각의 TTQ에서 독립적으로 순서가 정해져 있으며, 이에 따라 목적지 PEIC는 SPEIC + SEQUENCE에 따라 그 수신된 TLP를 순서를 정하여 수신확인하며, 이에 의해 활성 및 대기 PCIE 스위칭 유닛에 의해 전달되는 제1 TLP의 수신을 선택적으로 실행한다. PCIE 인터페이스 제어기는 제1 TLP를 2개의 링크를 통해 활성 및 대기 PCIE 스위칭 유닛에 송신한다. 패킷이 송신된 후, TTQ의 목적지 PEIC에 대응하는 TLP 송신 순차 번호(SEQUENCE)가 1 증가한다. 목적지 PEIC는 활성 및 대기 링크를 통해 먼저 수신된 제1 TLP를 선택하고, 그 먼저 수신된 제1 TLP를 목적지 EP 또는 목적지 RC에 송신하며, 나중에 수신된 제1 TLP를 폐기하며; 즉 동일한 SPEIC + SEQUENCE를 가지는 TLP에 있어서, 먼저 도착하는 TLP만을 수신한다. 제1 TLP를 수신한 후, 목적지 PEIC는 제1 TLP를 제1 TLP의 목적지 EP 또는 목적지 RC에 송신하고, 이에 의해 TLP의 전송을 신뢰할 수 있게 순차적으로 완료한다.
또한, PCIE 인터페이스 제어기는 추가로 각각의 전송 큐의 TLP 송신 순차 번호 및 TLP 송신 링크를 유지 및 관리한다.
또한, 제1 TLP의 목적지 PEIC는 활성 및 대기 PCIE 스위칭 유닛에 의해 송신된 패킷을 선택적으로 수신하고, 수신된 제1 TLP를 제1 TLP의 목적지 RC/EP에 포워딩한다. 바람직하게, 제1 TLP의 목적지 PEIC는 활성 및 대기 PCIE 스위칭 유닛에 의해 송신된 제1 TLP의 자체 정의 단대단 TLP 접두사에 수반되어 있는 SPEIC 및 SEQUENCE에 따라 선택적 수신을 수행할 수 있고, 즉 2개의 링크를 통해 연속으로 수신되고 동일한 SPEIC 및 동일한 SEQUENCE를 가지는 제1 TLP에 있어서, 먼저 수신된 제1 TLP만이 선택되어 제1 TLP의 목적지 RC/EP에 송신되고, 나중에 수신된 제1 TLP는 폐기된다.
바람직하게, PEIC는 복수의 TLP 수신확인 순차(TAS)를 더 포함할 수 있으며, 각각의 TLP 수신확인 순차(TAS)는 송신지 PEIC의 전송 큐에 대응한다(여기서 송신지 PEIC의 전송 큐란 PEIC에 대응하면서 TLP를 PEIC에 송신하는 다른 PEIC에 있는 전송 큐를 말한다). 본 실시예에서의 TLP 수신확인 순차의 기능 및 구조는 도 10에 도시된 실시예 3에서의 TLP 수신확인 순차의 기능 및 구조와 동일하다. 특정한 설명에 대해서는 관련 부분을 참조하면 되므로, 상세할 설명에 대해서는 여기서 반복 설명하지 않는다. 본 실시예에서, PCIE는 또한 각각의 TLP 수신확인 순차에 의해 수신될 것으로 예상되는 TLP의 예상 순차 번호를 유지 및 관리한다.
또한, PCIE 인터페이스 제어기는 또한, 수신된 TLP의 유형, 및 패킷 내의 목적지 장치 ID 또는 액세스 목적지 어드레스에 따라, 제1 TLP를 프로세싱을 위한 TLP 전송 큐에 버퍼링해야 하는지를 판단한다. PCIE 인터페이스 제어기는 그 수신된 패킷의 유형(어드레스 루팅 또는 ID 루팅)에 따라, 대응하는 어드레스 포워딩 테이블 또는 ID 포워딩 테이블을 검색한다. 어드레스 포워딩 테이블 또는 ID 포워딩 테이블에 목적지 PEIC가 구성되어 있으면, 포워딩 프로세싱이 필요하다는 것을 나타내며, 제1 TLP를 후속의 프로세싱을 위한 TLP 전송 큐에 버퍼링한다. 바람직하게, 로컬 어드레스 또는 로컬 ID를 가지는 TLP를, 프로세싱을 위한 RTT에 포워딩할 필요 없이 RC 또는 EP에 직접 회신할 수 있다.
본 발명의 실시예에서 제공하는 PCIE 이중 평면 스위칭 네트워크에서의 패킷 전송을 위한 방법에서, PICE 인터페이스 제어기(PEIC)는 TLP의 목적지 PEIC에 따라 TLP 전송 큐를 결정하고, TLP를 대응하는 TLP 전송 큐의 송신 링크를 통해 활성 및 대기 PCIE 스위칭 유닛에 동시에 송신하고, 활성 및 대기 PCIE 스위칭 유닛은 제1 TLP를 제1 TLP의 목적지 PEIC에 포워딩하며, 목적지 PEIC는 제1 TLP에 수반되어 있는 송신지 PEIC 번호 및 TLP 송신 순차 번호에 따라 제1 TLP를 선택적으로 수신하며, 먼저 수신된 제1 TLP를 목적지 EP 또는 목적지 RC에 송신하고, 나중에 수신된 제1 TLP는 폐기하며, 이에 의해 TLP의 신뢰할 수 있는 전송을 완료하고, PCIE 이중 평면 네트워킹을 실행하며, PCIE 스위칭을 사용하는 시스템의 신뢰성을 높인다.
도 17은 본 발명의 실시예 9에 따른 PCIE 스위칭 네트워크에서 패킷 전송을 위한 방법에 대한 흐름도이다. 도면에 도시된 바와 같이, 방법은 이하를 포함한다:
단계 501: RC 또는 EP로부터 제3 TLP를 수신한다.
단계 502: 수신된 제3 TLP에 따라, PCIE 스위칭 유닛에 연결된 송신 링크를 결정하고, 제3 TLP를 송신 링크를 통해 PCIE 스위칭 유닛에 송신하며, 이에 따라 제3 TLP의 목적지 PCIE 인터페이스 제어기는 PCIE 스위칭 유닛에 의해 포워딩된 제3 TLP를 수신하고 제1 TLP의 목적지 EP 또는 목적지 RC에 제3 TLP를 송신하며; 제3 TLP의 목적지 PEIC에 의해 회신되고 PCIE 스위칭 유닛에 의해 포워딩된 제1 수신확인 메시지 TLP가 시간이 종료될 때까지도 수신되지 않으면, PCIE 스위칭 유닛에 연결된 송신 링크를 통해 제3 TLP를 다시 송신한다.
바람직하게, 제3 TLP를 수신한 후, PCIE 인터페이스 제어기(PEIC)는 TLP의 유형에 따라, 즉 패킷이 어드레스를 통해 루팅되는지 또는 식별(Identity: ID로 약칭)을 통해 루팅되는지에 따라, 대응하는 어드레스 포워딩 테이블 또는 ID 포워딩 테이블을 검색하고, 제3 TLP에 대응하는 목적지 PEIC 번호를 획득하여, 패킷에 대응하는 활성 및 대기 PCIE 스위칭 유닛의 송신 링크를 결정하고, 제3 TLP를 송신 링크를 통해 활성 및 대기 PCIE 스위칭 유닛에 동시에 송신한다. 이 경우, PCIE 스위칭 유닛은 수신된 제3 TLP를 목적지 PEIC에 송신하고, 이에 따라 목적지 PEIC는 대응하는 제3 TLP를 수신하고, 제3 TLP의 목적지 EP 또는 목적지 RC에 제3 TLP를 포워딩한다. 한편, 목적지 PEIC는 제3 TLP에 대한 제1 수신확인 메시지 TLP를 회신하고, PCIE 스위칭 유닛은 제1 수신확인 메시지 TLP를 송신지 PCIE 인터페이스 제어기에 포워딩하여, 제3 TLP가 수신되었다는 것을 나타낸다. 목적지 PEIC에 의해 회신된 제1 수신확인 메시지 TLP가 시간이 종료될 때까지 수신되지 않으면 송신지 PCIE 인터페이스 제어기는 PCIE 스위칭 유닛에 연결된 송신 링크를 통해 제3 TLP를 다시 송신한다(이중 평면의 경우, 이 경우의 PCIE 스위칭 유닛에 연결된 송신 링크가 제3 TLP가 이전에 송신된 송신 링크와 다를 수 있다).
또한, 제3 TLP가 송신 링크를 통해 PCIE 스위칭 유닛에 송신되기 전에, 방법은, 제3 TLP를 캡슐화하고, 제3 TLP의 자체 정의 단대단 TLP 접두사에 송신지 PEIC 번호 및 TLP 송신 순차 번호를 부가하고, 이에 따라 제3 TLP의 목적지 PEIC가 제3 TLP에 있는 송신지 PEIC 번호 및 TLP 송신 순차 번호에 따라 제1 수신확인 메시지 TLP를 회신하는 단계를 더 포함하며, 여기서 상기 회신된 제1 수신확인 메시지 TLP의 자체 정의된 단대단 TLP 접두사는 제3 TLP의 목적지 PEIC의 PEIC 번호 및 수신확인된 TLP 송신 순차 번호를 수반하고 있다. 제3 TLP 내의 TLP 송신 순차 번호는 제3 TLP의 송신지 PEIC에 의해 제3 TLP의 목적지 PEIC에 송신된 TLP의 순차 번호이고, 제1 수신확인 메시지 TLP 내의 수신확인된 TLP 송신 순차 번호는, 송신지 PEIC의 TLP 송신 순차 번호이고 제3 TLP의 목적지 PEIC에 의해 이미 수신된 제3 TLP를 지니는 TLP 송신 순차 번호이다.
현재의 PCIE 사양에서는, 점대점 수신확인 메커니즘을 통해 TLP의 신뢰할 수 있는 전송이 실행되고 있다. 예를 들어, 도 2에서, 스위치 1은 스위치 2에 TLP를 송신하는데, 스위치 1은 TLP를 저장하고, 스위치 2가 정확한 TLP를 수신하고 스위치 1에 수신확인 정보를 회신할 때까지 그 대응하는 TLP를 삭제하지 않는다. 그렇지만, RC에 의해 스위치 2에 송신되는 TLP에 있어서, 스위치 1과 스위치 2 간의 링크가 실패이면, RC에 의해 스위치 1에 이미 성공적으로 송신된 패킷은 스위치 1과 스위치 2 간의 링크의 실패로 인해 폐기될 수도 있다. 그렇지만, RC는 스위치 1로부터 수신확인 정보를 수신하기 때문에 RC는 패킷이 성공적으로 송신된 것으로 간주한다. 이러한 실패는 RC가 TLP의 전송 결과를 정확하게 감지할 수 없게 만들어 버리며, 이에 의해 시스템은 비정상으로 작동하거나 데이터 연산이 폐기되어 버린다.
본 발명의 실시예에서 제공하는 PCIE 스위칭 네트워크에서의 패킷 전송을 위한 방법에서는, PCIE 스위칭 유닛에 연결된 송신 링크를 통해 제3 TLP가 PCIE 스위칭 유닛에 송신되고, PCIE 스위칭 유닛은 수신된 제3 TLP를 목적지 PEIC에 송신하며, 목적지 PEIC는 제3 TLP의 목적지 EP 또는 목적지 RC에 제3 TLP를 송신하고, 제1 수신확인 메시지 TLP를 송신지 PEIC에 회신한다. 목적지 PEIC에 의해 회신된 제1 수신확인 메시지 TLP가 시간이 종료될 때까지도 수신되지 않으면, 송신지 PEIC는 PCIE 스위칭 유닛에 연결된 송신 링크를 통해 제3 TLP를 다시 송신하며, 이에 의해 PCIE 스위칭 이중 평면 네트워킹 접속의 경우 TLP의 신뢰할 수 있는 단대단 전송을 실행하고, PCIE 스위칭을 사용하는 시스템의 신뢰성이 높아진다.
도 18은 본 발명의 실시예 10에 따른 PCIE 스위칭 네트워크에서 패킷 전송을 위한 방법에 대한 흐름도이다. 도면에 도시된 바와 같이, 방법은 구체적으로 이하를 포함한다:
단계 601: RC 또는 EP로부터 제3 TLP를 수신한다.
단계 602: 수신된 제3 TLP에 따라, 어드레스 포워딩 테이블 또는 ID 포워딩 테이블을 검색하고, TLP 전송 큐(TTQ)를 결정하며, 제1 TLP를 TLP 전송 큐에 놓으으며, TLP 전송 큐는 제3 TLP의 목적지 PEIC에 대응한다.
바람직하게, PEIC 인터페이스 제어기는 수신된 제3 TLP의 루팅 방식(어드레스 루팅 또는 ID 루팅)에 따라, 대응하는 어드레스 포워딩 테이블 또는 ID 포워딩 테이블을 검색하고, 테이블 검색 결과에 따라 목적지 PEIC 번호를 획득하며, 수신된 제3 TTP를 대응하는 TTQ에 버퍼링한다. 어드레스 포워딩 테이블은 도 6에 도시될 수 있으며; ID 포워딩 테이블은 도 7에 도시된 포맷을 사용할 수 있다. 특정한 내용 및 구성 방법은 전술한 실시예 2 및 실시예 3에서의 설명에서의 내용 및 구성 방법과 동일하므로, 여기서 반복 설명하지 않는다.
도 12에 도시된 바와 같이, RTT 모듈(22)은 복수의 TLP 전송 큐를 더 포함한다. 본 실시예에서의 TLP 전송 큐의 기능 및 구조는 도 5에 도시된 실시예 2에서의 TLP 전송 큐의 기능 및 구조와 동일하다. 특정한 설명에 대해서는 관련 부분을 참조하면 되므로, 상세할 설명에 대해서는 여기서 반복 설명하지 않는다.
단계 603: 제3 TLP를 TLP 전송 큐의 송신 링크를 통해 PCIE 스위칭 유닛에 송신하고, 이에 따라 제3 TLP의 목적지 PCIE 인터페이스 제어기는 PCIE 스위칭 유닛에 의해 포워딩된 제3 TLP를 수신하고 제3 TLP의 목적지 EP 또는 목적지 RC에 제3 TLP를 송신하며; 제3 TLP의 목적지 PEIC에 의해 회신되고 PCIE 스위칭 유닛에 의해 포워딩된 제1 수신확인 메시지 TLP가 시간이 종료될 때까지도 수신되지 않으면, 제3 TLP를 다시 송신한다.
바람직하게, PCIE 인터페이스 제어기는 TLP 전송 큐(TTQ) 내의 TLP를 스케줄링하고, TLP를 캡슐화하고, 자체 정의 TLP 접두사(Prefix)를 부가하며, 캡슐화된 제3 TLP를 TTQ의 송신 링크를 통해 PCIE 스위칭 유닛에 송신한다. TLP의 포맷에 대한 정의는 도 9에 도시된 바와 같다: 특정한 구조에 대한 관련 정의에 대해서는, 전술한 실시예 2 및 실시예 3의 도 9에서의 TLP의 포맷에 관한 설명을 참조하면 되므로, 상세한 설명에 대해서는 여기서 반복 설명하지 않는다. 바람직하게, 본 실시예에서는, 송신지 PEIC로부터 목적지 PEIC까지의 송신지 PEIC 번호(SPEIC) 및 TLP 송신 순차 번호(SEQUENCE)의 전달은 TLP 내의 자체 정의 단대단 TLP Prefix를 사용하여 실행된다. SEQUENCE는 송신지 PEIC에 의해 목적지 PEIC에 송신된 TLP의 순차 번호이고, 즉 TLP 전송 큐에 대응하는 목적지 PEIC에 송신된 TLP의 순차 번호이고, 각각의 TTQ에서 독립적으로 순서가 정해져 있으며, 이에 따라 목적지 PEIC는 SPEIC 및 SEQUENCE에 따라 그 수신된 TLP를 순서를 정하여 수신확인한다. 회신된 제1 수신확인 메시지 TLP의 단대단 TLP 접두사는 송신지 PEIC 번호 및 수신확인된 TLP 송신 순차 번호를 수반하고 있으며, 여기서 수신확인된 TLP 송신 순차 번호는 목적지 PEIC에 의해 송신지 PEIC로부터 이미 수신된 TLP의 송신 순차 번호이다. PEIC는 TTQ의 송신 링크를 통해 PCIE 스위칭 유닛에 제3 TLP를 송신한다. 패킷이 송신된 후, TTQ의 TLP 송신 순차 번호(SEQUENCE)가 1 증가한다.
각각의 TLP 전송의 TLP 송신 시퀀스 번호 및 TLP 송신 링크가 유지되어야 한다. PEIC는 각각의 전송 큐의 TLP 송신 순차 번호 및 TLP 송신 링크를 유지하고, 각각의 전송 큐의 TLP 송신 순차 번호는 TTQ에 의해 이미 송신된 TLP의 송신 순차 번호를 나타내고, TLP 송신 링크는 TTQ의 활성 및 대기 송신 링크를 나타내며, 이에 따라 활성 송신 링크는 TLP를 송신하는 데 사용된다.
604: 제3 TLP의 목적지 PEIC에 의해 회신되고 상기 PCIE 스위칭 유닛에 의해 포워딩된 제1 수신확인(ACK) 메시지 TLP를 수신한다.
605: 제1 수신확인 메시지 TLP에 수반되어 있는 TLP 송신 순차 번호(SEQUENCE) 및 송신지 PEIC 번호(SPEIC)에 따라, TLP 전송 큐 내의 수신확인된 제3 TLP를 삭제한다.
바람직하게, TTQ는 TLP을 송신하는데 슬라이딩 윈도를 사용할 수 있으며, 이에 의해 각각의 TTQ에 의해 동시에 송신된 패킷의 수를 제한한다. TTQ의 슬라이딩 윈도 메커니즘은 도 13에 도시되어 있다. 도면에서 숫자가 붙은 각각의 박스는 TLP를 나타낸다. 예를 들어, 슬라이딩 윈도의 크기 4인데, 즉 목적지 PEIC에 의해 수신확인되지 않은 TLP 가 최대 4개까지 공존할 수 있다. 목적지 PEIC에 의해 회신된 TLP 수신확인 패킷을 수신한 후, 슬라이딩 윈도는 수신확인된 SEQUENC에 따라 전진 이동한다. 예를 들어, 현재의 윈도에서 수신확인될 TLP가 2, 3, 4 및 5이고; 수신된 수신확인 메시지 TLP의 수신확인된 SEQUENC가 2이면, 슬라이딩 윈도는 하나의 패킷만큼 전진 이동하고, 수신확인될 TLP는 현재의 윈도에서 3, 4, 5, 6이다. PEIC의 버퍼 성능에 따르면, 슬라이딩 윈도의 크기는 2 내지 n에 설정될 수 있다(n은 임의의 양의 정수). 슬라이딩 윈도를 설정함으로써, 각각의 TTQ에 의해 동시에 송신된 패킷의 수를 효과적으로 제어할 수 있고, 프로세싱 효율성이 향상되며, 동시에 송신 및 수신이 순차적으로 신뢰할 수 있게 수행된다.
바람직하게, 제3 TLP의 목적지 PEIC는 제3 TLP를 수신하고, 제3 패킷 내의 송신지 PEIC 번호(SPEIC)에 따라 송신지 PEIC에 수신확인 TLP를 회신한다. 당연히, 목적지 PEIC 역시 송신지 PEIC로부터 복수의 TLP를 수신한 다음 수신확인 TLP를 송신지 PEIC에 송신할 수 있다. 예를 들어, 순차 번호가 3, 4, 및 5이고 SPEIC가 101인 패킷이 수신되면, 순차 번호가 5인 수신확인 TLP만이 송신될 수 있고, 이것은 순차 번호가 5인 패킷 이전의 모든 TLP가 수신될 수 있다는 것을 의미하고, 이에 의해 수신확인 TLP의 횟수가 감소된다. 바람직하게, 수신확인 TLP는 ID 루팅을 사용할 수 있다. 수신확인 TLP의 자체 정의 TLP Prefix는 송신지 PEIC 번호(SPEIC) 및 수신확인된 TLP 송신 순차 번호(SEQUENCE)를 포함하며, 여기서 수신확인된 TLP 송신 순차 번호(SEQUENCE)는 송신지 PEIC에 의해 수신된 최신의 TLP 송신 순차 번호이다(이것은 일반적으로 가장 큰데, 순차 번호가 주기적인 방식으로 사용될 때는 가장 큰 순차 번호가 아닐 수도 있다). 수신확인 TLP를 수신한 후, 송신지 PECI는 패킷에 있는 수신확인된 TLP 송신 순차 번호 및 SPEIC에 따라, 큐 내의 제3 TLP를 삭제한다. PEIC 인터페이스 제어기는, 제1 수신확인 메시지 패킷의 수신확인된 순차 번호에 따라, 대응하는 TTQ에 버퍼링되어 있는 TLP를 삭제한다. PEIC로부터 PCIE 스위칭 유닛까지의 링크가 실패이거나 PCIE 스위칭 유닛이 실패이면, TLP는 폐기되며, 이에 대응해서 송신지 PEIC는, 이 경우 제3 TLP를 위해 목적지 PEIC에 의해 회신되는 제1 수신확인 메시지 TLP를 수신할 수 없다. 송신지 단 PEIC 시간이 종료되면, TTQ에 버퍼링되어 있는 제3 TLP가 PCIE 스위칭 유닛에 연결된 송신 링크를 통해 다시 송신되며; 이 경우, 실패된 링크 또는 실패된 PCIE 스위칭 유닛이 복구될 수 있거나, PEIC의 이중 평면이 스위칭되며, 이에 따라 송신지 PEIC는 PCIE 스위칭 유닛에 연결된 송신 링크를 통해 제3 TLP를 다시 송신하며, 이에 의해 송신지 PEIC에 의해 송신되는 모든 TLP를 신뢰할 수 있게 목적지 PEIC에 송신할 수 있다.
바람직하게, 도 12에 도시된 바와 같이, PEIC는 복수의 TLP 수신확인 순차(TAS)를 더 포함할 수 있다. 본 실시예에서의 TLP 수신확인 순차의 구조 및 설정은 도 10에 도시된 실시예 3에서의 TLP 수신확인 순차의 구조 및 설정과 동일하다. 동일한 방식으로, 각각의 TLP 수신확인 순차(TAS)는 하나의 전송 큐에 대응한다. 특정한 및 설정에 대해서는, 도 10에 도시된 실시예 3에서의 관련 설명을 참조하면 되므로, 상세한 설명에 대해서는 여기서 반복 설명하지 않는다.
또한, 단계 604에서, 제3 TLP의 목적지 PEIC에 의해 회신되고 PCIE 스위칭 유닛에 의해 포워딩된 제1 수신확인(ACK) 메시지 TLP를 수신하기 전에, PEIC는 PCIE 스위칭 유닛에 의해 송신된 제4 TLP를 수신하고, 제4 TLP의 유형에 따라, 제4 TLP가 제1 수신확인 메시지 TLP인지를 판별하고, 제4 TLP가 상기 제1 수신확인 메시지 TLP가 아니면, 수신된 제4 TLP를 제4 TLP의 목적지 RC 또는 목적지 EP에 포워딩한다. 구체적으로, 수신된 제4 TLP는 제4 TLP의 송신지 PEIC에 대응하는 TLP 수신확인 순차(TAS)에 버퍼링될 수 있으며, 이어서 스케줄링되어 제4 TLP의 목적지 RC 또는 목적지 EP에 포워딩된다. 또한, 제4 TLP의 송신지 PEIC에 수신확인 메시지 TLP가 회신된다. 구체적으로, 제4 TLP에 대한 수신확인 TLP를 생성하여 대응하는 TLP 전송 큐(TTQ)에 버퍼링하며, 이에 따라 스케줄링하여 송신한다. 바람직하게, 수신확인 메시지 TLP가 특정한 시간 간격으로 송신될 수 있거나, 수신확인되어야 하는 특정한 수의 TLP 가 수신된 후, 수신확인 메시지 TLP가 송신될 수 있다(수신확인되어야 하는 TLP의 수는 윈도의 수보다 커서는 안 된다).
현재의 PCIE 사양에서는, 점대점 수신확인 메커니즘을 통해 TLP의 신뢰할 수 있는 전송이 실행되고 있다. 예를 들어, 도 2에서, 스위치 1은 스위치 2에 TLP를 송신하는데, 스위치 1은 TLP를 저장하고, 스위치 2가 정확한 TLP를 수신하고 스위치 1에 수신확인 정보를 회신할 때까지 그 대응하는 TLP를 삭제하지 않는다. 그렇지만, RC에 의해 스위치 2에 송신되는 TLP에 있어서, 스위치 1과 스위치 2 간의 링크가 실패이면, RC에 의해 스위치 1에 이미 성공적으로 송신된 패킷은 스위치 1과 스위치 2 간의 링크의 실패로 인해 폐기될 수도 있다. 그렇지만, RC는 스위치 1로부터 수신확인 정보를 수신하기 때문에 RC는 패킷이 성공적으로 송신된 것으로 간주한다. 이러한 실패는 RC가 TLP의 전송 결과를 정확하게 감지할 수 없게 만들어 버리며, 이에 의해 시스템은 비정상으로 작동하거나 데이터 연산이 폐기되어 버린다.
본 발명의 실시예에서 제공하는 PCIE 스위칭 네트워크에서의 패킷 전송을 위한 방법에서는, 송신지 PEIC 번호 및 송신된 TLP의 순차 번호를 수반하고 있는 제3 TLP가 PCIE 스위칭 유닛에 연결된 송신 링크를 통해 PCIE 스위칭 유닛에 송신되고, PCIE 스위칭 유닛은 수신된 제3 TLP를 목적지 PEIC에 송신하며, 목적지 PEIC는 제3 TLP의 목적지 EP 또는 목적지 RC에 제3 TLP를 송신하고, 송신지 PEIC 번호 및 송신된 TLP의 순차 번호에 따라, 제1 수신확인 메시지 TLP를 송신지 PEIC에 회신하며, 이에 의해 TLP의 전달을 완료한다. 목적지 PEIC에 의해 회신된 제1 수신확인 메시지 TLP가 시간이 종료될 때까지도 수신되지 않으면, 송신지 PEIC는 PCIE 스위칭 유닛에 연결된 송신 링크를 통해 제3 TLP를 다시 송신하며, 이에 의해 PCIE 스위칭 이중 평면 네트워킹 접속의 경우 TLP의 신뢰할 수 있는 단대단 전송을 실행하고, PCIE 스위칭을 사용하는 시스템의 신뢰성이 높아진다.
또한, PCIE 스위칭 네트워크에서의 패킷 전송을 위한 방법은: 고정-시간 검출 TLP를 시간 간격으로 모든 다른 PEIC에 송신하고, 목적지 PEIC에 의해 회신된 검출 응신 TLP가 지정된 시간 내에 수신되지 않으면, 대응하는 TLP 전송 큐의 송신 링크를 갱신하는 단계를 포함한다. PCIE 인터페이스 제어기는 고정-시간 검출 TLP를 통신 접속되어 있는 모든 다른 PEIC에 시간 간격으로 송신하고(시간 간격은 네트워크 상황에 따라 구성될 수 있는데, 예를 들어 10us 내지 1ms 사이의 값에 설정될 수 있다), 회신된 검출 응신 TLP가 지정된 시간 내에 수신되지 않는 목적지 PEIC에 있어서, 활성 및 대기 링크를 스위칭한다. 지정된 시간도 네트워크 상황에 따라 구성될 수 있는데, 고정-시간 검출 TLP가 송신될 때부터 검출 응신 TLP가 수신되어야 할 때까지의 주기보다는 더 크다. 지정된 시간이 만료될 때까지도 검출 응신 TLP가 수신되지 않으면, 이것은 링크 실패 또는 PCIE 스위칭 유닛의 실패와 같이, 목적지 PEIC에 대한 통신 루트에 문제가 있다는 것을 의미한다. 이 경우, 대응하는 TTQ의 송신 링크를 갱신하는데, 즉 TLP를 활성 링크를 통해 송신할지 또는 대기 링크를 통해 송신할지를 갱신한다.
본 발명의 실시예에서는, 검출 패킷이 송신되고, 이에 의해 PEIC 간의 링크에 대한 실패 검출을 실행하여, 활성 및 대기 평면의 자동 스위칭을 보장하며, PCIE 이중 평면 스위칭 네트워크에서 신뢰할 수 있는 패킷 전송을 더 보장한다.
도 19는 본 발명의 실시예 11에 따른 PCIE 스위칭 네트워크에서 패킷 전송을 위한 시스템에 대한 흐름도이다. 도면에 도시된 바와 같이, 시스템은:
적어도 2개의 PCIE 노드 장치, 적어도 2개의 PCIE 인터페이스 제어기(PEIC), 및 2개의 PCIE 스위칭 유닛을 포함하며, 상기 적어도 2개의 PCIE 노드 장치 각각은 상기 적어도 2개의 PCIE 인터페이스 제어기 중 하나에 연결되어 있고, 상기 적어도 2개의 PCIE 인터페이스 제어기 각각은 상기 2개의 PCIE 스위칭 유닛에 각각 연결되어 있다.
상기 적어도 2개의 PCIE 노드 장치 중 제1 PCIE 노드 장치는 상기 적어도 2개의 PCIE 인터페이스 제어기 중 제1 PCIE 인터페이스 제어기에 연결된 제1 TLP를 송신하도록 구성되어 있다.
상기 제1 PCIE 인터페이스 제어기는 상기 제1 TLP를 수신하고, 수신된 제1 TLP에 따라, 상기 2개의 PCIE 스위칭 유닛에 연결된 송신 링크를 결정하며, 상기 제1 TLP를 상기 송신 링크를 통해 상기 2개의 PCIE 스위칭 유닛에 동시에 송신하도록 구성되어 있다.
상기 2개의 PCIE 스위칭 유닛은 제1 TLP를 상기 적어도 2개의 PCIE 인터페이스 제어기 중 제2 PCIE 인터페이스 제어기에 포워딩하도록 구성되어 있으며, 상기 제2 PCIE 인터페이스 제어기는 상기 제1 TLP의 목적지 PCIE 인터페이스 제어기이다.
상기 제2 PCIE 인터페이스 제어기는 상기 PCIE 스위칭 유닛에 의해 포워딩된 제1 TLP를 선택적으로 수신하고 제1 TLP를 상기 적어도 2개의 PCIE 노드 장치 중 제2 PCIE 노드 장치에 송신하도록 구성되어 있으며, 상기 제2 PCIE 노드 장치는 상기 제1 TLP의 목적지 PCIE 노드 장치이다.
상기 제2 PCIE 노드 장치는 상기 제2 PCIE 인터페이스 제어기에 의해 포워딩된 제1 TLP를 수신하도록 구성되어 있다.
바람직하게, 제1 PCIE 인터페이스 제어기는, 제1 TLP를 수신한 후, TLP의 유형에 따라, 즉 패킷이 어드레스를 통해 루팅되는지 또는 식별(Identity: ID로 약칭)을 통해 루팅되는지에 따라, 대응하는 어드레스 포워딩 테이블 또는 ID 포워딩 테이블을 검색하고, 제1 TLP에 대응하는 목적지 PEIC 번호를 획득하여, 패킷에 대응하는 활성 및 대기 PCIE 스위칭 유닛의 송신 링크를 결정하며, 제1 TLP를 송신 링크를 통해 활성 및 대기 PCIE 스위칭 유닛에 동시에 송신하도록 구성되어 있다.
또한, 제1 PCIE 인터페이스 제어기는, 제1 TLP를 캡슐화하고, 자체 정의(self-defined) TLP 접두사(Prefix)에 송신지 PEIC(여기서는 제1 PEIC) 번호 및 TLP 송신 순차 번호를 부가하며, 캡슐화된 제1 TLP를 TTQ 송신 링크를 통해 활성 및 대기 PCIE 스위칭 유닛에 송신한다. TLP의 포맷에 대한 정의가 도 9에 도시되어 있다: PCIE 사양에서의 정의에 따르면, TLP는 0 또는 복수의 표준 또는 자체 지정 TLP 접두사를 포함할 수 있다. TLP 접두사는 단대단 확장 및 점대점 확장의 파라미터 전달을 실행하고, 기능 확장을 실행할 수 있다. TLP Prefix는 또한 로컬 및 단대단 TLP Prefix로 분류된다. TLP 헤더는 TLP의 표준 헤더 부분이고, Data Payload는 TLP의 데이터 부분이고, TLP Digest는 TLP의 요약 부분이며; 이 3 부분이 PCIE 사양의 표준 내용이다. 바람직하게, 실시예에서, 송신지 PEIC로부터 목적지 PEIC까지의 송신지 PEIC 번호(SPEIC) 및 TLP 송신 순차 번호(SEQUENCE)의 전달은 송신지 PEIC 번호(SPEIC) 및 TLP 송신 순차 번호(SEQUENCE)가 부가되어 있는 자체 정의 단대단 TLP Prefix를 사용하여 실행된다. SEQUENCE는 송신지 PEIC에 의해 목적지 PEIC에 송신된 TLP의 순차 번호이고, 이에 따라 목적지 PEIC는 SPEIC 및 SEQUENCE에 따라 그 수신된 TLP를 순서를 정하여 수신확인하며, 이에 의해 활성 및 대기 PCIE 스위칭 유닛에 의해 전달되는 제1 TLP의 수신을 선택적으로 실행한다. 제1 PCIE 인터페이스 제어기는 2개의 링크를 통해 제1 TLP를 활성 및 대기 PCIE 스위칭 유닛에 송신한다. 패킷이 송신된 후, TLP 송신 순차 번호(SEQUENCE)가 1 증가한다.
또한, 제2 PEIC는, 활성 및 대기 PCIE 스위칭 유닛에 의해 송신된 제1 TLP의 자체 정의 단대단 TLP 접두사에 수반되어 있는 SPEIC 및 SEQUENCE에 따라 TLP를 선택적 수신을 수행하는데, 즉 2개의 링크를 통해 연속으로 수신되고 동일한 SPEIC 및 동일한 SEQUENCE를 가지는 제1 TLP에 있어서, 먼저 수신된 제1 TLP만이 선택되어 P2P 모듈을 통해 제2 TLP의 목적지 RC/EP에 송신되고, 나중에 수신된 제1 TLP는 폐기된다.
또한, 2개의 PCIE 노드는 구체적으로 루트 복합(RC) 또는 종단 장치(EP)일 수 있으며, 각각의 PCIE 인터페이스 장치는 하나의 RC 또는 적어도 하나의 종단 장치(EP)에 연결될 수 있다.
본 발명의 실시예에서 제공하는 PCIE 스위칭 네트워크에서의 패킷 전송을 위한 시스템에서는, 제1 PCIE 인터페이스 제어기는 제1 TLP를 활성 및 대기 PCIE 스위칭 유닛에 연결된 송신 링크를 통해 활성 및 대기 PCIE 스위칭 유닛에 동시에 송신하고, 제1 TLP의 목적지 PEIC는 활성 및 대기 PCIE 스위칭 유닛에 의해 포워딩된 제1 TLP를 선택적으로 수신하고 제1 TLP의 목적지 EP 또는 목적지 RC에 제1 TLP를 송신하며, 이에 의해 PCIE 이중 평면 네트워킹 접속의 경우에 TLP의 신뢰할 수 있는 전송을 수행하고, PCIE 스위칭을 사용하는 시스템의 신뢰성을 높인다.
또한, 제1 PCIE 인터페이스 제어기는 수신된 제1 TLP에 따라 어드레스 포워딩 테이블 또는 ID 포워딩 테이블을 검색하고, TLP 전송 큐(TLP transmission queue: TTQ)를 결정하며, 제1 TLP를 TLP 전송 큐에 놓도록 구성되어 있고, 상기 TLP 전송 큐는 상기 제1 TLP의 목적지 PEIC에 대응하며; 및 TTQ 내의 제1 TLP를 TLP 전송 큐의 송신 링크를 통해 활성 및 대기 PCIE 스위칭 유닛에 동시에 송신하도록 구성되어 있다. 바람직하게, 제1 PCIE 인터페이스 제어기는 TLP의 루팅 방식(어드레스 루팅 또는 ID 루팅)에 따라, 대응하는 어드레스 포워딩 테이블 또는 ID 포워딩 테이블을 검색하고, 테이블 검색 결과에 따라 목적지 PEIC 번호를 획득할 수 있다.
어드레스 포워딩 테이블은 도 6에 도시될 수 있으며; ID 포워딩 테이블은 도 7에 도시된 포맷을 사용할 수 있다. 특정한 내용 및 구성 방법은 전술한 실시예 2 및 실시예 3에서의 설명에서의 내용 및 구성 방법과 동일하므로, 여기서 반복 설명하지 않는다. 어드레스 포워딩 테이블 또는 ID 포워딩 테이블은 PCIE 인터페이스 제어기 상에 구성될 수 있다.
본 실시예에서의 TLP 전송 큐의 기능 및 구조는 도 5에 도시된 실시예 2에서의 TLP 전송 큐의 기능 및 구조와 동일하다. 특정한 설명에 대해서는 관련 부분을 참조하면 되므로, 상세할 설명에 대해서는 여기서 반복 설명하지 않는다. 각각의 TTQ는 PEIC의 TLP 송신 순차 번호(SEQUENCE) 및 TLP 송신 링크를 저장하는데, 여기서 PEIC의 TLP 송신 순차 번호란 PEIC에 송신된 TLP의 순차 번호를 말한다. TLP 전송 큐(TTQ)가 TLP를 송신할 때마다, TTQ의 PEIC의 TLP 송신 순차 번호가 1씩 증가한다. TLP 송신 링크란 큐가 TLP를 목적지 PEIC에 송신하는 통신 링크를 말하며; 구체적으로 TTQ는 TLP 송신 링크를 유지하고 관련 정보를 저장한다. 제1 PCIE 인터페이스 제어기는 각각의 TLP 전송 큐의 TLP 송신 순차 번호 및 TLP 송신 링크를 유지 및 관리하도록 구성되어 있다.
바람직하게, 제1 PCIE 인터페이스 제어기는 TLP 송신 큐(TTQ) 내의 제1 TLP를 스케줄링하고, TLP를 캡슐화하고, 자체 정의(self-defined) TLP 접두사(Prefix)를 부가하며, 캡슐화된 제1 TLP를 TTQ의 송신 링크를 통해 활성 및 대기 PCIE 스위칭 유닛에 송신하도록 구성되어 있다. TLP의 포맷에 대한 정의가 도 9에 도시되어 있다: PCIE 사양에서의 정의에 따르면, TLP는 0 또는 복수의 표준 또는 자체 지정 TLP 접두사를 포함할 수 있다. TLP 접두사는 단대단 확장 및 점대점 확장의 파라미터 전달을 실행하고, 기능 확장을 실행할 수 있다. TLP Prefix는 또한 로컬 및 단대단 TLP Prefix로 분류된다. TLP 헤더는 TLP의 표준 헤더 부분이고, Data Payload는 TLP의 데이터 부분이고, TLP Digest는 TLP의 요약 부분이며; 이 3 부분이 PCIE 사양의 표준 내용이다. 바람직하게, 실시예에서, 송신지 PEIC로부터 목적지 PEIC까지의 송신지 PEIC 번호(SPEIC) 및 TLP 송신 순차 번호(SEQUENCE)의 전달은 송신지 PEIC 번호(SPEIC) 및 TLP 송신 순차 번호(SEQUENCE)가 부가되어 있는 자체 정의 단대단 TLP Prefix를 사용하여 실행된다. SEQUENCE는 송신지 PEIC에 의해 목적지 PEIC에 송신된 TLP의 순차 번호이고, 즉 TLP 전송 큐에 대응하는 목적지 PEIC에 송신된 TLP의 순차 번호이며, 각각의 TTQ에서 독립적으로 순서가 정해져 있으며, 이에 따라 목적지 PEIC는 SPEIC + SEQUENCE에 따라 그 수신된 TLP를 순서를 정하여 수신확인하며, 이에 의해 활성 및 대기 PCIE 스위칭 유닛에 의해 전달되는 제1 TLP의 선택적 수신을 실행한다. 제1 PCIE 인터페이스 제어기는 제1 TLP를 2개의 링크를 통해 활성 및 대기 PCIE 스위칭 유닛에 송신한다. 패킷이 송신된 후, TTQ의 TLP 송신 순차 번호(SEQUENCE)가 1 증가한다. 목적지 PEIC는 활성 및 대기 링크를 통해 먼저 수신된 제1 TLP를 선택하고, 그 먼저 수신된 제1 TLP를 목적지 EP 또는 목적지 RC에 송신하며, 나중에 수신된 제1 TLP를 폐기하는데, 즉 동일한 SPEIC + SEQUENCE를 가지는 TLP에 있어서, 먼저 도착하는 TLP만을 수신한다. 제1 TLP를 수신한 후, 목적지 PEIC는 제1 TLP를 제1 TLP의 목적지 EP 또는 목적지 RC에 송신하고, 이에 의해 TLP의 전송을 신뢰할 수 있게 순차적으로 완료한다. 본 발명의 실시예에서 제공하는 PCIE 스위칭 네트워크에서의 패킷 전송을 위한 시스템에서, 제1 PCIE는 TLP를 활성 및 대기 PCIE 스위칭 유닛에 동시에 송신하고, 활성 및 대기 PCIE 스위칭 유닛은 제1 TLP를 목적지 PEIC에 포워딩하고, 목적지 PEIC는 제1 TLP의 자체 정의 단대단 TLP 접두사에 수반되어 있는 송신지 PEIC 번호 및 TLP 송신 순차 번호에 따라 제1 TLP를 선택적으로 수신하며, 먼저 수신된 제1 TLP를 목적지 EP 또는 목적지 RC에 송신하고, 나중에 수신된 제1 TLP는 폐기하며, 이에 의해 TLP의 신뢰할 수 있는 전송을 완료하며, PCIE 이중 평면 네트워킹 접속을 실행하고, PCIE 스위칭을 사용하는 시스템의 신뢰성을 높인다.
또한, 제2 PEIC는 활성 및 대기 PCIE 스위칭 유닛에 의해 송신된 제1 TLP의 자체 정의 단대단 TLP 접두사에 수반되어 있는 SPEIC 및 SEQUENCE에 따라 선택적 수신을 수행하는데, 즉 2개의 링크를 통해 연속으로 수신되고 동일한 SPEIC 및 동일한 SEQUENCE를 가지는 제1 TLP에 있어서, 먼저 수신된 제1 TLP만이 선택되어 제2 TLP의 목적지 RC/EP에 송신되며, 나중에 수신된 제1 TLP는 폐기된다.
바람직하게, 제2 PEIC는 복수의 TLP 수신확인 순차(TLP Acknowledge Sequence: TAS)를 더 포함할 수 있고, 각각의 TLP 수신확인 순차(TAS)는 송신지 PEIC의 전송 큐에 대응한다(여기서의 송신지 PEIC의 전송 큐란 PEIC에 대응하면서 PEIC에 TLP를 송신하는 다른 PEIC에 있는 전송 큐를 말한다). 각각의 TAS는 예상 순차 번호를 가지는데, 이 예상 순차 번호는 대응하는 송신지 PEIC로부터 수신될 다음 TLP에 의해 실려야 하는 SEQUENCE를 나타낸다. 예를 들어, TLP 인터페이스 제어기 1의 TLP 수신확인 순차 1이 TLP 인터페이스 제어기 2의 TLP 전송 큐 1에 대응하면, PEIC 1의 TAS 1은, 송신지 단 PEIC 2로부터 수신될 것으로 예상되는 TLP에 실려 있으면서 PEIC 2의 TTQ 1을 통해 송신된 SEQUENCE를 기록한다. 예를 들어, PEIC 1의 TAS 1의 예상 순차 번호가 3이면, 이것은 PEIC 1이 송신지 단 PEIC 2로부터 수신할 예정인 다음 TLP의 SEQUENCE가 3이어야 한다는 것을 의미한다. TTQ의 변경에 따라 TAS와 TTQ 간의 대응 관계에 대해 동적 부가 또는 삭제가 수행될 수 있다. 예를 들어, 새로운 PEIC 장치가 네트워크에 부가되면, 대응하는 TTQ가 부가되어야 하고, TAS 역시 부가되어야 한다. 바람직하게, 제2 PEIC는 제1 TLP를 수신하고, 제1 TLP 내의 자체 정의 Prefix의 SPEIC에 따라 대응하는 TAS를 결정하고, 제1 TLP의 SEQUENCE와 TAS의 예상 순차 번호를 비교하며, 제1 TLP의 SEQUENCE가 TAS의 예상 순차 번호와 같으면 제1 TLP를 제1 TLP의 목적지 RE/EP에 송신하며, TAS의 예상 순차 번호를 1 증가시키고; 제1 TLP의 SEQUENCE가 TAS의 예상 순차 번호와 같지 않으면 TLP를 폐기한다. 또한, 제2 PEIC는 각각의 TLP 수신확인 순차의 예상 순차 번호를 유지 및 관리하도록 구성되어 있다. 본 발명의 실시예에 제공되는 PCIE 스위칭 네트워크에서의 패킷 전송을 위한 시스템에서는, 활성 및 대기 PCIE 스위칭 유닛에 의해 포워딩된 제1 TLP가 선택적으로 수신되고, 먼저 수신된 제1 TLP만이 선택되고 P2P 모듈을 통해 제1 TLP의 목적지 RC/EP에 송신되며, 나중에 수신된 제1 TLP는 폐기되며, 이에 의해 TLP의 신뢰할 수 있는 전송을 완료하고, PCIE 이중 평면 네트워킹을 실행하며, PCIE 스위칭을 사용하는 시스템의 신뢰성을 높인다.
도 20은 본 발명의 실시예 12에 따른 PCIE 스위칭 네트워크에서 패킷 전송을 위한 시스템에 대한 흐름도이다. 도면에 도시된 바와 같이, 시스템은:
적어도 2개의 PCIE 노드 장치, 적어도 2개의 PCIE 인터페이스 제어기(PEIC), 및 2개의 PCIE 스위칭 유닛을 포함하며, 상기 적어도 2개의 PCIE 노드 장치 각각은 상기 적어도 2개의 PCIE 인터페이스 제어기 중 하나에 연결되어 있고, 상기 적어도 2개의 PCIE 인터페이스 제어기 각각은 상기 2개의 PCIE 스위칭 유닛에 각각 연결되어 있으며,
상기 적어도 2개의 PCIE 노드 장치 중 제3 PCIE 노드 장치는 상기 적어도 2개의 PCIE 인터페이스 제어기 중 제3 PCIE 인터페이스 제어기에 연결된 제3 TLP를 송신하도록 구성되어 있다.
상기 제3 PCIE 인터페이스 제어기는 상기 제3 TLP를 수신하고, 상기 수신된 제3 TLP에 따라, 상기 2개의 PCIE 스위칭 유닛 중 하나에 연결된 송신 링크를 결정하고, 상기 제3 TLP를 상기 송신 링크를 통해 상기 PCIE 스위칭 유닛에 송신하며, 상기 제3 TLP의 목적지 PEIC에 의해 회신되고 상기 PCIE 스위칭 유닛에 의해 포워딩된 제1 수신확인 메시지 TLP가 시간이 종료될 때까지도 수신되지 않으면, 상기 PCIE 스위칭 유닛에 연결된 송신 링크를 통해 상기 적어도 2개의 PCIE 인터페이스 제어기 중 상기 제4 PCIE 인터페이스 제어기에 상기 제3 TLP를 다시 송신하도록 구성되어 있으며, 여기서 상기 제4 PCIE 인터페이스 제어기는 상기 제3 TLP의 목적지 PCIE 인터페이스 제어기이다.
상기 PCIE 스위칭 유닛은 상기 제3 TLP를 상기 제4 PCIE 인터페이스 제어기에 포워딩하며, 상기 제4 PCIE 인터페이스 제어기에 의해 회신된 상기 제1 수신확인 메시지 TLP를 상기 제3 PCIE 인터페이스 제어기에 포워딩하도록 구성되어 있다.
상기 제4 PCIE 인터페이스 제어기는 상기 PCIE 스위칭 유닛에 의해 포워딩된 제3 TLP를 수신하고 상기 제3 TLP를 상기 적어도 2개의 PCIE 노드 장치 중 제4 PCIE 노드 장치에 송신하며, 여기서 상기 제2 PCIE 노드 장치는 상기 제3 TLP의 목적지 PCIE 노드 장치이며; 상기 제1 수신확인 메시지 TLP를 상기 제3 PCIE 인터페이스 제어기에 회신하여, 상기 제3 TLP가 수신된 것을 확인하도록 구성되어 있다.
상기 적어도 2개의 PCIE 노드 장치 중 상기 제4 PCIE 노드 장치는 상기 제4 PCIE 인터페이스 제어기에 의해 포워딩된 상기 제3 TLP를 수신하도록 구성되어 있다.
또한, 상기 적어도 2개의 PCIE 노드 장치는 구체적으로 루트 복합(RC) 또는 종단 장치(EP)일 수 있으며, 각각의 PCIE 인터페이스 제어기는 하나의 RC 또는 적어도 하나의 종단 장치 EP에 연결될 수 있다.
바람직하게, 제3 PCIE 인터페이스 제어기는 제3 TLP의 유형에 따라, 즉 패킷이 어드레스를 통해 루팅되는지 또는 식별(Identity: ID로 약칭)을 통해 루팅되는지에 따라, 대응하는 어드레스 포워딩 테이블 또는 ID 포워딩 테이블을 검색하고, 제3 TLP에 대응하는 목적지 PEIC 번호를 획득하여, 패킷에 대응하는 PCIE 스위칭 유닛의 송신 링크를 결정하며, 제3 TLP를 송신 링크를 통해 PCIE 스위칭 유닛에 동시에 송신하도록 구성되어 있다. 이 경우, PCIE 스위칭 유닛은 수신된 제1 TLP를 목적지 PEIC에 송신하고, 목적지 PEIC는 제3 TLP를 수신하고, 제3 TLP의 목적지 RC 또는 목적지 EP에 제3 TLP를 포워딩한다. 한편, 목적지 PEIC는 제3 TLP를 위한 제1 수신확인 메시지 TLP를 회신하고, 제1 수신확인 메시지 TLP는 PCIE 스위칭 유닛을 통해 송신지 PEIC(제3 PEIC)에 포워딩되어, 제3 TLP가 수신되었다는 것을 나타낸다. 제3 PEIC는 목적지 PEIC에 의해 회신된 제1 수신확인 메시지 TLP가 시간이 종료될 때까지도 수신되지 않으면, PCIE 스위칭 유닛에 연결된 송신 링크를 통해 제3 TLP를 다시 송신한다((이중 평면의 경우에, 이 경우의 PCIE 스위칭 유닛에 연결된 송신 링크는 제3 TLP가 이전에 송신된 송신 링크와 다를 수 있다).
현재의 PCIE 사양에서는, 점대점 수신확인 메커니즘을 통해 TLP의 신뢰할 수 있는 전송이 실행되고 있다. 예를 들어, 도 2에서, 스위치 1은 스위치 2에 TLP를 송신하는데, 스위치 1은 TLP를 저장하고, 스위치 2가 정확한 TLP를 수신하고 스위치 1에 수신확인 정보를 회신할 때까지 그 대응하는 TLP를 삭제하지 않는다. 그렇지만, RC에 의해 스위치 2에 송신되는 TLP에 있어서, 스위치 1과 스위치 2 간의 링크가 실패이면, RC에 의해 스위치 1에 이미 성공적으로 송신된 패킷은 스위치 1과 스위치 2 간의 링크의 실패로 인해 폐기될 수도 있다. 그렇지만, RC는 스위치 1로부터 수신확인 정보를 수신하기 때문에 RC는 패킷이 성공적으로 송신된 것으로 간주한다. 이러한 실패는 RC가 TLP의 전송 결과를 정확하게 감지할 수 없게 만들어 버리며, 이에 의해 시스템은 비정상으로 작동하거나 데이터 연산이 폐기되어 버린다.
본 발명의 실시예에서 제공하는 PCIE 스위칭 네트워크에서의 패킷 전송을 위한 방법에서는, PCIE 스위칭 유닛에 연결된 송신 링크를 통해 제3 TLP가 PCIE 스위칭 유닛에 송신되고, PCIE 스위칭 유닛은 수신된 제3 TLP를 목적지 PEIC에 송신하며, 목적지 PEIC는 제3 TLP를 수신하고 제1 수신확인 메시지 TLP를 송신지 PEIC에 회신한다. 목적지 PEIC에 의해 회신된 제1 수신확인 메시지 TLP가 시간이 종료될 때까지도 수신되지 않으면, 송신지 PEIC는 PCIE 스위칭 유닛에 연결된 송신 링크를 통해 제3 TLP를 다시 송신하며, 이에 의해 PCIE 스위칭 이중 평면 네트워킹 접속의 경우 TLP의 신뢰할 수 있는 단대단 전송을 실행하고, PCIE 스위칭을 사용하는 시스템의 신뢰성이 높아진다.
또한, 제3 PEIC는 수신된 제3 TLP에 따라, 대응하는 어드레스 포워딩 테이블 또는 ID 포워딩 테이블을 검색하고, TLP 전송 큐(TTQ)를 결정하며, 제3 TLP를 TTQ에 놓으며, 여기서 TLP 전송 큐는 제3 TLP의 목적지 PEIC(제4 PEIC)에 대응하며; 제3 TLP를 TLP 전송 큐의 송신 링크를 통해 PCIE 스위칭 유닛에 송신하도록 구성되어 있다.
바람직하게, 제3 PEIC는 제3 TLP를 수신하고, TLP의 루팅 방식(어드레스 루팅 또는 ID 루팅)에 따라, 대응하는 어드레스 포워딩 테이블 또는 ID 포워딩 테이블을 검색하고, 테이블 검색 결과에 따라 목적지 PEIC를 획득하며, 수신된 제3 TLP를 대응하는 TTQ에 버퍼링하도록 구성되어 있다. 어드레스 포워딩 테이블은 도 6에 도시될 수 있으며; ID 포워딩 테이블은 도 7에 도시된 포맷을 사용할 수 있다. 특정한 내용 및 구성 방법은 전술한 실시예 2 및 실시예 3에서의 설명에서의 내용 및 구성 방법과 동일하므로, 여기서 반복 설명하지 않는다. 도 12에 도시된 바와 같이, RTT 모듈(22)은 복수의 TLP 전송 큐를 더 포함한다. 본 실시예에서의 TLP 전송 큐의 기능 및 구조는 도 5에 도시된 실시예 2에서의 TLP 전송 큐의 기능 및 구조와 동일하다. 특정한 설명에 대해서는, 관련 설명을 참조하면 되므로, 상세한 설명에 대해서는 여기서 반복 설명하지 않는다.
또한, 제3 PEIC는 제3 TLP의 목적지 PEIC에 의해 회신되고 PCIE 스위칭 유닛에 의해 포워딩된 제1 수신확인 메시지 TLP를 수신하고, 제1 수신확인 메시지 TLP에 수반되어 있는 TLP 송신 순차 번호 정보 및 송신지 PEIC 번호에 따라, TLP 전송 큐 내의 수신확인된 제3 TLP를 삭제한다.
또한, 제3 PEIC는 TLP 전송 큐(TTQ) 내의 TLP를 스케줄링하고, TLP를 캡슐화하고, 자체 정의 TLP 접두사(Prefix)를 부가하며, 캡슐화된 제3 TLP를 TTQ의 송신 링크를 통해 PCIE 스위칭 유닛에 동시에 송신한다. TLP의 포맷에 대한 정의는 도 9에 도시된 바와 같다: 특정한 구조에 대한 관련 정의에 대해서는, 전술한 실시예 2 및 실시예 3에서의 도 9의 포맷에 관한 설명을 참조하면 되므로, 상세한 설명에 대해서는 여기서 반복 설명하지 않는다. 바람직하게, 실시예에서, 송신지 PEIC로부터 목적지 PEIC까지의 송신지 PEIC 번호(SPEIC) 및 TLP 송신 순차 번호(SEQUENCE)의 전달은 TLP의 자체 정의 단대단 TLP Prefix를 사용하여 실행된다. SEQUENCE는 송신지 PEIC에 의해 목적지 PEIC에 송신된 TLP의 순차 번호이고, 즉 TLP 전송 큐에 대응하는 목적지 PEIC에 송신된 TLP의 순차 번호이며, 각각의 TTQ에서 독립적으로 순서가 정해져 있으며, 이에 따라 목적지 PEIC는 SPEIC 및 SEQUENCE에 따라 그 수신된 TLP를 순서를 정하여 수신확인한다. 회신된 제1 수신확인 메시지 TLP의 단대단 TLP 접두사는 송신지 PEIC 번호 및 수신확인된 TLP 송신 순차 번호를 수반하고 있으며, 여기서 수신확인된 TLP 송신 순차 번호는 목적지 PEIC에 의해 송신지 PEIC로부터 이미 수신된 TLP의 송신 순차 번호이고, 이에 의해 PCIE 스위칭 유닛에 의해 전달된 그 수신된 제3 TLP에 응답해서 제1 수신확인 메시지의 회신을 수행한다. 제3 PEIC는 제3 TLP를 TTQ의 송신 링크를 통해 PCIE 스위칭 유닛에 송신한 후, TTQ의 TLP 송신 순차 번호(SEQUENCE)가 1 증가한다.
또한, 제3 PEIC는 각각의 TLP 전송 큐의 TLP 송신 큐 번호 및 TLP 송신 링크를 관리하도록 구성되어 있다. 각각의 TLP 전송 큐의 TLP 송신 큐 번호는 TTQ에 의해 이미 송신된 TLP의 송신 순차 번호를 나타내고, TLP 송신 링크는 TTQ의 활성 또는 대기 송신 링크를 나타내며, 이에 따라 활성 송신 링크는 TLP를 송신하는 데 사용된다.
바람직하게, PEIC의 TTQ는 TLP을 송신하는데 슬라이딩 윈도를 사용할 수 있으며, 이에 의해 각각의 TTQ에 의해 동시에 송신된 패킷의 수를 제한한다. TTQ의 슬라이딩 윈도 메커니즘은 도 13에 도시되어 있다. 도면에서 숫자가 붙은 각각의 박스는 TLP를 나타낸다. 예를 들어, 슬라이딩 윈도의 크기 4인데, 즉 목적지 PEIC에 의해 수신확인되지 않은 TLP 가 최대 4개까지 공존할 수 있다. 목적지 PEIC에 의해 회신된 TLP 수신확인 패킷을 수신한 후, 수신확인 모듈(226)은 수신확인된 SEQUENC에 따라 윈도를 전진 이동시킨다. 예를 들어, 현재의 윈도에서 수신확인될 TLP가 2, 3, 4 및 5이고; 수신 모듈에 의해 포워딩된 수신된 상기 수신확인된 SEQUENC가 2이면, 슬라이딩 윈도가 하나의 패킷만큼 전진 이동하고, 수신확인될 TLP가 3, 4, 및 5이며; TTQ는 순차 번호가 6인 TLP를 송신하도록 허용된다. PEIC의 버퍼 성능에 따르면, 슬라이딩 윈도의 크기는 2 내지 n에 설정될 수 있다(n은 임의의 양의 정수). 슬라이딩 윈도를 설정함으로써, 각각의 TTQ에 의해 동시에 송신된 패킷의 수를 효과적으로 제어할 수 있고, 프로세싱 효율성이 향상되며, 동시에 송신 및 수신이 순차적으로 신뢰할 수 있게 수행된다.
바람직하게, 제4 PEIC 역시 송신지 PEIC로부터 복수의 TLP를 수신한 다음 수신확인 TLP를 송신지 PEIC에 송신할 수 있다. 예를 들어, 순차 번호가 3, 4, 및 5이고 SPEIC가 101인 패킷이 수신되면, 순차 번호가 5인 수신확인 TLP만이 송신될 수 있고, 이것은 순차 번호가 5인 패킷 이전의 모든 TLP가 수신된다는 것을 의미하고, 이에 의해 수신확인 TLP의 횟수가 감소된다. 수신확인 TLP의 자체 정의 TLP Prefix는 송신지 PEIC 번호(SPEIC) 및 수신확인된 TLP 송신 순차 번호(SEQUENCE)를 포함하며, 여기서 수신확인된 TLP 송신 순차 번호(SEQUENCE)는 송신지 PEIC에 의해 수신된 최신의 TLP 송신 순차 번호이다(이것은 일반적으로 가장 큰데, 순차 번호가 주기적인 방식으로 사용될 때는 가장 큰 순차 번호가 아닐 수도 있다). 제4 수신확인 TLP를 수신한 후, 제3 PEIC는 패킷 내에 있는 수신확인된 TLP 송신 순차 번호 및 SPEIC에 따라, 대응하는 TTQ에 버퍼링되어 있는 TLP를 삭제한다. PEIC로부터 PCIE 스위칭 유닛까지의 링크가 실패이거나 PCIE 스위칭 유닛이 실패이면, TLP는 폐기되며, 이에 대응해서 제3 PEIC(송신지 PEIC)는, 이 경우 제3 TLP를 위해 목적지 PEIC에 의해 회신되는 제1 수신확인 메시지 TLP를 수신할 수 없다. 송신지 단 PEIC 시간이 종료된 후, TTQ에 버퍼링되어 있는 제3 TLP가 PCIE 스위칭 유닛에 연결된 송신 링크를 통해 다시 송신되며; 이 경우, 실패된 링크 또는 실패된 PCIE 스위칭 유닛이 복구될 수 있거나, PEIC의 이중 평면이 스위칭되며, 이에 따라 송신지 PEIC에 의해 송신되는 모든 TLP를 신뢰할 수 있게 목적지 PEIC에 송신할 수 있다.
또한, 제3 PEIC는 제1 수신확인 메시지 TLP에 수반되어 있는 송신 순차 번호(SEQUENCE) 정보 및 송신지 PEIC 번호(SPEIC)에 따라 대응하는 TTQ의 슬라이딩 윈도를 갱신하도록 구성되어 있다.
바람직하게, 제3 PEIC는 복수의 TLP 수신확인 순차(TAS)를 더 포함할 수 있다. 본 실시예에서의 TLP 수신확인 순차의 구조 및 설정은 도 10에 도시된 실시예 3에서의 TLP 수신확인 순차의 구조 및 설정과 동일하다. 동일한 방식으로, 각각의 TLP 수신확인 순차(TAS)는 하나의 전송 큐에 대응한다. 특정한 구조 및 설정에 대해서는, 도 10에 도시된 실시예 3에서의 관련 설명을 참조하면 되므로, 상세한 설명에 대해서는 여기서 반복 설명하지 않는다. 또한, 제4 PEIC는 PCIE 스위칭 유닛에 의해 송신된 제4 TLP를 수신하고, TLP의 유형에 따라, 제3 TLP가 수신확인 메시지 TLP인지를 판별하고, 제3 TLP가 수신확인 메시지 TLP가 아니면, 수신된 제3 TLP를 제3 TLP의 송신지 PEIC에 대응하는 TLP 수신확인 순차(TAS)에 버퍼링하고, 제3 TLP를 제3 TLP의 목적지 RC/EP에 포워딩하며, 수신확인 메시지 TLP를 회신한다. 제4 PEIC는 수신확인 메시지 TLP를 특정한 시간 간격으로 송신하거나, 수신확인되어야 하는 특정한 수의 TLP를 수신한 후, 수신확인 메시지 TLP를 송신하도록 구성되어 있다(수신확인되어야 하는 TLP의 수는 윈도의 수보다 커서는 안 된다).
본 발명의 실시예에서 제공하는 PCIE 스위칭 네트워크에서의 패킷 전송을 위한 시스템에서는, 송신된 TLP의 송신지 PEIC 번호 및 순차 번호를 실은 제3 TLP가 PCIE 스위칭 유닛에 연결된 송신 링크를 통해 PCIE 스위칭 유닛에 송신되고, PCIE 스위칭 유닛은 수신된 제3 TLP를 목적지 PEIC에 송신하며, 목적지 PEIC는 제3 TLP의 목적지 EP 또는 목적지 RC에 제3 TLP를 포워딩하고, 제1 수신확인 메시지 TLP를 그 송신된 TLP의 송신지 PEIC 번호 및 순차 번호에 따라 송신지 PEIC에 회신하며, 이에 의해 TLP의 전달을 완료한다. 목적지 PEIC에 의해 회신된 제1 수신확인 메시지 TLP가 시간이 종료될 때까지도 수신되지 않으면, 송신지 PEIC는 PCIE 스위칭 유닛에 연결된 송신 큐의 송신 링크를 통해 제3 TLP를 다시 송신하며, 이에 의해 PCIE 스위칭 이중 평면 네트워킹 접속의 경우 TLP의 신뢰할 수 있는 단대단 전송을 실행하고, PCIE 스위칭을 사용하는 시스템의 신뢰성이 높아진다.
또한, 각각의 PCIE 인터페이스 제어기 역시 고정-시간 검출 TLP를 시간 간격으로 모든 다른 PEIC에 송신하고, 회신된 검출 응신 TLP가 지정된 시간 내에 수신되지 않는 목적지 PEIC에 있어서, 대응하는 송신 링크를 갱신하도록 구성되어 있다. 바람직하게, 각각의 PCIE 인터페이스 제어기는 고정-시간 검출 TLP를 통신 접속되어 있는 모든 다른 PEIC에 시간 간격으로 송신하고(시간 간격은 네트워크 상황에 따라 구성될 수 있는데, 예를 들어 10us 내지 1ms 사이의 값에 설정될 수 있다), 회신된 검출 응신 TLP가 지정된 시간 내에 수신되지 않는 목적지 PEIC에 있어서, 활성 및 대기 링크를 스위칭한다. 지정된 시간도 네트워크 상황에 따라 구성될 수 있는데, 고정-시간 검출 TLP가 송신될 때부터 검출 응신 TLP가 수신되어야 할 때까지의 주기보다는 더 크다. 지정된 시간이 만료될 때까지도 검출 응신 TLP가 수신되지 않으면, 이것은 링크 실패 또는 PCIE 스위칭 유닛의 실패와 같이, 목적지 PEIC에 대한 통신 루트에 문제가 있다는 것을 의미한다. 이 경우, PEIC는 대응하는 TTQ의 송신 링크를 갱신하는데, 즉 TLP를 활성 링크를 통해 송신할지 또는 대기 링크를 통해 송신할지를 갱신한다. 본 발명의 실시예에서는, 검출 패킷이 송신되며, 이에 의해 PEIC들 간의 링크에 대해 실패 검출을 실행하여, 활성 및 대기 평면의 자동 스위칭을 보장하며, PCIE 이중 평면 스위칭 네트워크에서 신뢰할 수 있는 패킷 전송을 더 보장한다.
도 21은 본 발명의 실시예 13에 따른 PCIE 인터페이스 제어기의 개략도이다. 도면에 도시된 바와 같이, 본 실시예에서의 PCIE 인터페이스 제어기(700)는 적어도 하나의 프로세서(701), 메모리(705), 적어도 하나의 네트워크 인터페이스 카드(704), 및 적어도 하나의 통신 버스(702)를 포함한다. 선택적으로, PCIE 인터페이스 제어기(700)는 사용자 인터페이스(703)를 포함하는데, 이 사용자 인터페이스는 디스플레이, 키보드 또는 클릭킹 장치를 포함한다. 메모리(705)는 실행 명령을 저장한다. PCIE 인터페이스 제어기(700)가 실행되면, 프로세서(701)는 메모리(705)와 통신하고, 프로세서(701)는 실행 명령을 실행하며, 이에 따라 PCIE 인터페이스 제어기(700)는 본 발명의 실시예 7에서 설명된 방법을 실행한다. 실행 원리 및 기술적 효과는 유사하므로 여기서 반복 설명하지 않는다. 운영 체제(706)는 다양한 기본적인 서비스를 실행하고 하드웨어에 기초한 작업을 프로세스하도록 구성된 다양한 프로그램을 포함한다. PCIE 인터페이스 제어기(700)는 디스플레이 인터페이스 카드를 더 포함한다. 프로세서(701)는 실행 명령을 포함하는데, 이 실행 명령 역시 PCIE 인터페이스 제어기(700)가 본 발명의 실시예 8에 설명된 방법을 실행할 수 있게 한다. 실행 원리 및 기술적 효과는 유사하므로 여기서 반복 설명하지 않는다. 또한, 본 발명의 실시예는 컴퓨터 실행 명령을 포함하는 컴퓨터 판독 가능형 매체를 더 제공하며, 여기서 컴퓨터 실행 명령은 PCIE 인터페이스 제어기(700)가 본 발명의 실시예 7에 설명된 방법을 실행할 수 있게 한다. 컴퓨터 실행 명령 역시 PCIE 인터페이스 제어기(700)가 본 발명의 실시예 8에 설명된 방법을 실행하게 할 수 있다. 실행 원리 및 기술적 효과는 유사하므로 여기서 반복 설명하지 않는다.
도 22는 본 발명의 실시예 14에 따른 PCIE 인터페이스 제어기의 개략도이다. 도면에 도시된 바와 같이, 본 실시예의 PCIE 인터페이스 제어기(800)는 적어도 하나의
프로세서(801), 메모리(805), 적어도 하나의 네트워크 카드 인터페이스(804), 및 적어도 하나의 통신 버스(802)를 포함한다. 선택적으로, PCIE 인터페이스 제어기(800)는 사용자 인터페이스(803)를 포함하는데, 이 사용자 인터페이스는 디스플레이, 키보드 또는 클릭킹 장치를 포함한다. 메모리(805)는 실행 명령을 저장한다. PCIE 인터페이스 제어기(800)가 실행되면, 프로세서(801)는 메모리(805)와 통신하고, 프로세서(801)는 실행 명령을 실행하며, 이에 따라 PCIE 인터페이스 제어기(800)는 본 발명의 실시예 9에서 설명된 방법을 실행한다. 실행 원리 및 기술적 효과는 유사하므로 여기서 반복 설명하지 않는다. 운영 체제(806)는 다양한 기본적인 서비스를 실행하고 하드웨어에 기초한 작업을 프로세스하도록 구성된 다양한 프로그램을 포함한다. PCIE 인터페이스 제어기(800)는 디스플레이 인터페이스 카드를 더 포함한다. 프로세서(801)는 실행 명령을 포함하는데, 이 실행 명령 역시 PCIE 인터페이스 제어기(800)가 본 발명의 실시예 10에 설명된 방법을 실행할 수 있게 한다. 실행 원리 및 기술적 효과는 유사하므로 여기서 반복 설명하지 않는다. 또한, 본 발명의 실시예는 컴퓨터 실행 명령을 포함하는 컴퓨터 판독 가능형 매체를 더 제공하며, 여기서 컴퓨터 실행 명령은 PCIE 인터페이스 제어기(800)가 본 발명의 실시예 9에 설명된 방법을 실행할 수 있게 한다. 또한, 컴퓨터 실행 명령 역시 PCIE 인터페이스 제어기(800)가 본 발명의 실시예 10에 설명된 방법을 실행하게 할 수 있다. 실행 원리 및 기술적 효과는 유사하므로 여기서 반복 설명하지 않는다.
실행 방식에 대한 전술한 설명을 통해, 당업자라면 본 발명을 하드웨어, 훰웨어, 또는 하드웨어와 펌웨어의 결합을 통해 실행할 수 있다는 것을 이해할 수 있을 것이다. 실행을 위해 소프트웨어를 사용할 때는, 전술한 기능들은 컴퓨터 판독 가능형 매체에 저장될 수 있거나 컴퓨터 판독 가능형 매체 상의 하나 이상의 명령 또는 코드로서 전송될 수 있다. 컴퓨터 판독 가능형 매체는 컴퓨터의 저장 매체 및 통신 매체를 포함한다. 통신 매체는 컴퓨터 프로그램을 이곳저곳으로 전달할 수 있는 임의의 매체를 포함하며; 저장 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 이용 가능한 매체일 수 있다. 컴퓨터 판독 가능형 매체로서는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광디스크 저장 또는 자기디스크 저장 매체, 또는 다른 자기 저장 장치, 또는 명령이나 다른 구조 형태를 가지는 예상 프로그램 코드를 운반 또는 저장할 수 있거나 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 들 수 있으나, 이에 제한되지 않는다. 이외에, 임의의 접속이 적절하게 컴퓨터 판독 가능형 매체가 될 수 있다. 예를 들어, 소프트웨어가 동축 케이블, 광섬유 케이블, 트위스티드 페어(twisted pair) 케이블, 디지털 가입자 회선(digital subscriber line: DSL)을 사용하거나, 또는 적외선, 무선 및 마이크로웨이브, 동축 케이블, 광섬유 케이블, 트위스티드 페어 케이블(DSL)과 같은 무선 기술을 사용하거나, 또는 적외선, 무선 및 마이크로웨이브와 같은 무선 기술을 사용하여, 웹사이트, 서버 또는 다른 원격 송신지로부터 전송되면, 매체의 정의에 포함된다. 예를 들어, 본 발명에서 사용되는 디스크(Disk) 및 디스크(disc)는 콤팩트 디스크(CD), 레이저 디스크, 광디스크, 디지털 비디오 디스크(DVD), 플로피 디스크 및 블루레이 디스크를 포함한다. 디스크(disk)는 보통 데이터를 자기적으로 복사하며, 디스크(disc)는 보통 데이터를 레이저를 사용하여 광적으로 복사한다. 전술한 결합은 또한 컴퓨터 판독 가능형 매체의 보호 범위 내에 있게 된다.
본 발명의 실시예에서 설명된 "제1 PEIC"는 실제로 PEIC이며, "제2 PEIC" "제3 PEIC" 및 "제4 PEIC" 각각도 마찬가지로 PEIC이다는 것에 유의해야 한다. 이러한 명칭 부여는 제1 PEIC를 후속의 제2 PEIC, 제3 PEIC, 및 제4 PEIC와 구별할 목적으로 부여한 것이다. "제1" "제2" "제3" 및 "제4"의 용어는 임의의 순차적인 또는 논리적 관계를 나타내려는 것이 아니라, PEIC들이 서로 독립적이다는 것을 나타내기 위해 사용된 것이다. 당연히, 2개의 PEIC를 구별하기 위해, 2개의 PEIC가 2개의 별도의 PEIC로 표시되는 한, 다른 방식으로 명칭을 부여할 수도 있다. 예를 들어, PEIC들을 PECIa 및 PEICb 등으로 명칭을 부여할 수 있다. "제1" "제2" "제3" 및 "제4"의 용어에 관한 도해는 본 발명의 실시예에 나타나는 이하의 용어: "제1 TLP" "제2 TLP" "제3 TLP" 및 "제4 TLP"; "제1 수신확인 패킷" 및 "제2 수신확인 패킷"; 제1 PCIE 노드 장치" 및 "제2 PCIE 노드 장치"에도 적용될 수 있다.
결론적으로, 전술한 설명은 단지 본 발명의 기술적 솔루션에 대한 예시적 실시예에 지나지 않으며, 본 발명의 보호 범위를 제한하려는 것이 아니다. 본 발명의 원리 내에서 이루어지는 모든 변형, 등가의 대체, 또는 개선은 본 발명의 보호 범위 내에 있게 된다.

Claims (46)

  1. 주변 구성요소 상호접속 고속 인터페이스 제어기(peripheral component interconnect express interface controller: PEIC)에 있어서,
    루트 복합(root complex: RC) 또는 종점 장치(endpoint device: EP)로부터 제1 트랜잭션 계층 패킷(transaction layer packet: TLP)을 수신하고, 상기 제1 TLP를, 프로세싱을 위한 신뢰할 수 있는 TLP 전송(reliable TLP transmission: RTT) 모듈에 포워딩하도록 구성되어 있는 PCI 대 PCI 브리지 P2P 모듈; 및
    상기 수신된 제1 TLP에 따라, 활성 및 대기 PCIE 스위칭 유닛에 연결된 송신 링크를 결정하고, 상기 제1 TLP를 상기 송신 링크를 통해 상기 활성 및 대기 PCIE 스위칭 유닛에 동시에 송신하도록 구성되어 있고, 이에 따라 상기 제1 TLP의 목적지 PCIE 인터페이스 제어기가 상기 활성 및 대기 PCIE 스위칭 유닛에 의해 포워딩된 상기 제1 TLP를 선택적으로 수신하고 상기 제1 TLP의 목적지 EP 또는 목적지 RC에 상기 제1 TLP를 송신하는, 상기 신뢰할 수 있는 TLP 전송(RTT) 모듈
    을 포함하는 주변 구성요소 상호접속 고속 인터페이스 제어기.
  2. 제1항에 있어서,
    상기 신뢰할 수 있는 TLP 전송 모듈은, 상기 제1 TLP를 캡슐화하고, 상기 제1 TLP의 자체 정의 단대단(self-defined end-to-end) TLP 접두사에 송신지 PEIC 번호 및 TLP 송신 순차 번호를 부가하도록 추가로 구성되어 있으며, 이에 따라 상기 제1 TLP의 목적지 PEIC가 상기 송신지 PEIC 번호 및 상기 TLP 송신 순차 번호에 따라 상기 활성 및 대기 PCIE 스위칭 유닛에 의해 포워딩된 상기 제1 TLP를 선택적으로 수신하며,
    상기 TLP 송신 순차 번호는 송신지 PEIC에 의해 상기 제1 TLP의 목적지 PEIC에 송신된 TLP의 순차 번호이고, 상기 송신지 PEIC 번호 및 상기 TLP 송신 순차 번호에 따라 상기 활성 및 대기 PCIE 스위칭 유닛에 의해 포워딩된 상기 제1 TLP를 선택적으로 수신하는 과정은, 상기 활성 및 대기 PCIE 스위칭 유닛에 의해 포워딩되고 동일한 송신지 PEIC 번호 및 동일한 TLP 송신 순차 번호를 가지는 제1 TLP에 있어서, 먼저 도착하는 제1 TLP만을 수신하는 과정인, 주변 구성요소 상호접속 고속 인터페이스 제어기.
  3. 제1항에 있어서,
    상기 신뢰할 수 있는 TLP 전송 모듈은,
    상기 수신된 제1 TLP에 따라 어드레스 포워딩 테이블 또는 ID 포워딩 테이블을 검색하고, TLP 전송 큐(TLP transmission queue: TTQ)를 결정하며, 상기 제1 TLP를 상기 TLP 전송 큐에 놓도록 구성되어 있고, 상기 TLP 전송 큐는 상기 제1 TLP의 목적지 PEIC에 대응하는, TLP 디스패치 모듈; 및
    상기 TLP 전송 큐 내의 제1 TLP를 상기 TLP 전송 큐의 상기 송신 링크를 통해 상기 활성 및 대기 PCIE 스위칭 유닛에 동시에 송신하도록 구성되어 있고, 이에 따라 상기 제1 TLP의 목적지 PCIE 인터페이스 제어기가 상기 활성 및 대기 PCIE 스위칭 유닛에 의해 포워딩된 상기 제1 TLP를 선택적으로 수신하고 상기 제1 TLP의 목적지 EP 또는 목적지 RC에 상기 제1 TLP를 송신하는, 송신 모듈
    을 포함하는, 주변 구성요소 상호접속 고속 인터페이스 제어기.
  4. 제3항에 있어서,
    상기 송신 모듈은, 상기 제1 TLP를 캡슐화하고, 상기 제1 TLP의 단대단 TLP 접두사에 송신지 PEIC 번호(SPEIC) 및 TLP 송신 순차 번호(SEQUENCE)를 부가하도록 추가로 구성되어 있으며, 이에 따라 상기 목적지 PEIC가 상기 SPEIC 및 상기 SEQUENCE에 따라 상기 활성 및 대기 PCIE 스위칭 유닛에 의해 포워딩된 상기 제1 TLP를 선택적으로 수신하며,
    상기 TLP 송신 순차 번호는 송신지 PEIC에 의해 상기 제1 TLP의 목적지 PEIC에 송신된 TLP의 순차 번호이고, 상기 SPEIC 및 상기 SEQUENCE에 따라 상기 활성 및 대기 PCIE 스위칭 유닛에 의해 포워딩된 상기 제1 TLP를 선택적으로 수신하는 과정은, 상기 활성 및 대기 PCIE 스위칭 유닛에 의해 포워딩되고 동일한 상기 SPEIC 및 동일한 SEQUENCE를 가지는 제1 TLP에 있어서, 먼저 도착하는 제1 TLP만을 수신하는 과정인, 주변 구성요소 상호접속 고속 인터페이스 제어기.
  5. 제3항 또는 제4항에 있어서,
    상기 신뢰할 수 있는 TLP 전송 모듈은,
    상기 활성 및 대기 PCIE 스위칭 유닛에 의해 송신된 제2 TLP를 선택적으로 수신하고, 상기 수신된 제2 TLP를 상기 P2P 모듈에 송신하도록 구성되어 있고, 이에 따라 상기 P2P 모듈이 상기 제2 TLP의 목적지 RC 또는 목적지 EP에 상기 제2 TLP를 포워딩하는, 수신 모듈
    을 더 포함하는, 주변 구성요소 상호접속 고속 인터페이스 제어기.
  6. 제5항에 있어서,
    상기 수신 모듈은 상기 활성 및 대기 PCIE 스위칭 유닛에 의해 송신된 제2 TLP를 선택적으로 수신하도록 추가로 구성되어 있고, 이것은 구체적으로,
    상기 수신 모듈은 상기 활성 및 대기 PCIE 스위칭 유닛에 의해 송신된 제2 TLP를 수신하고, 자체 정의 TLP 접두사가 동일한 송신지 PEIC 번호(SPEIC) 및 동일한 TLP 송신 순차 번호(SEQUENCE)를 수반하는 제2 TLP에 있어서, 먼저 수신된 제2 TLP만 수신하고 나중에 수신된 제2 TLP는 폐기하도록 구성되어 있는, 주변 구성요소 상호접속 고속 인터페이스 제어기.
  7. 제6항에 있어서,
    상기 수신 모듈은, 자체 정의 TLP 접두사가 동일한 송신지 PEIC 번호(SPEIC) 및 동일한 TLP 송신 순차 번호(SEQUENCE)를 수반하는 제2 TLP에 있어서, 먼저 수신된 제2 TLP만 수신하고 나중에 수신된 제2 TLP는 폐기하도록 구성되어 있고, 이것은 구체적으로,
    상기 수신 모듈은, 상기 제2 TLP의 자체 정의된 단대단 TLP 접두사에 수반되어 있는 SPEIC 및 SEQUENCE와 상기 제2 TLP의 송신지 PEIC로부터 수신될 것으로 예상되는 TLP의 순차 번호를 비교하고, 상기 제2 TLP의 자체 정의된 단대단 TLP 접두사에 수반되어 있는 SPEIC 및 SEQUENCE가 상기 제2 TLP의 송신지 PEIC로부터 수신될 것으로 예상되는 TLP의 순차 번호와 같으면 제2 TLP를 수신하고, 같지 않으면 제2 TLP를 폐기하도록 구성되어 있는, 주변 구성요소 상호접속 고속 인터페이스 제어기.
  8. 제3항 또는 제4항에 있어서,
    상기 신뢰할 수 있는 TLP 전송 모듈은,
    각각의 TLP 전송 큐의 TLP 송신 순차 번호 및 TLP 송신 링크를 유지 및 관리하도록 구성되어 있는 TLP 전송 큐 관리 모듈
    을 더 포함하며,
    상기 TLP 전송 큐의 TLP 송신 순차 번호는 전송 큐에 대응하는 목적지 PEIC에 송신된 TLP의 송신 순차 번호이고, 상기 TLP 전송 큐의 TLP 송신 링크는 전송 큐에 대응하는 목적지 PEIC에 대한 TLP 송신 링크인, 주변 구성요소 상호접속 고속 인터페이스 제어기.
  9. 주변 구성요소 상호접속 고속 인터페이스 제어기(PEIC)에 있어서,
    루트 복합(RC) 또는 종점 장치(EP)로부터 제3 트랜잭션 계층 패킷(TLP)을 수신하고, 상기 제3 TLP를 신뢰할 수 있는 TLP 전송(RTT) 모듈에 포워딩하도록 구성되어 있는 PCI 대 PCI 브리지 P2P 모듈; 및
    상기 수신된 제3 TLP에 따라, 활성 및 대기 PCIE 스위칭 유닛에 연결된 송신 링크를 결정하고, 상기 제3 TLP를 상기 송신 링크를 통해 상기 활성 및 대기 PCIE 스위칭 유닛에 송신하도록 구성되어 있으며, 이에 따라 상기 제3 TLP의 목적지 PCIE 인터페이스 제어기가 상기 활성 및 대기 PCIE 스위칭 유닛에 의해 포워딩된 상기 제3 TLP를 선택적으로 수신하고 상기 제3 TLP의 목적지 EP 또는 목적지 RC에 상기 제3 TLP를 송신하며; 상기 제3 TLP의 목적지 PEIC에 의해 회신되고 상기 활성 및 대기 PCIE 스위칭 유닛에 의해 포워딩된 제1 수신확인 메시지 TLP가 시간이 종료될 때까지도 수신되지 않으면, 상기 제3 TLP를 다시 송신하는, 상기 신뢰할 수 있는 TLP 전송(RTT) 모듈
    을 포함하는 주변 구성요소 상호접속 고속 인터페이스 제어기.
  10. 제9항에 있어서,
    상기 RTT 모듈은, 상기 제3 TLP를 캡슐화하고, 상기 제3 TLP의 자체 정의 단대단 TLP 접두사에 송신지 PEIC 번호 및 TLP 송신 순차 번호를 부가하고, 상기 캡슐화된 제3 TLP를 상기 송신 링크를 통해 상기 활성 및 대기 PCIE 스위칭 유닛에 송신하도록 추가로 구성되어 있으며, 이에 따라 상기 제3 TLP의 목적지 PEIC가 상기 수신된 제3 TLP에 있는 상기 송신지 PEIC 번호 및 상기 TLP 송신 순차 번호에 따라 제1 수신확인 메시지 TLP를 회신하며,
    상기 회신된 제1 수신확인 메시지 TLP의 자체 정의된 단대단 TLP 접두사는 상기 제3 TLP의 목적지 PEIC의 PEIC 번호 및 수신확인된 TLP 송신 순차 번호를 수반하고 있으며, 상기 제3 TLP 내의 TLP 송신 순차 번호는 상기 제3 TLP의 송신지 PEIC에 의해 상기 제3 TLP의 목적지 PEIC에 송신된 TLP의 순차 번호이고, 상기 제1 수신확인 메시지 TLP 내의 상기 수신확인된 TLP 송신 순차 번호는 상기 송신지 PEIC의 TLP 송신 순차 번호이고 상기 제3 TLP의 목적지 PEIC에 의해 이미 수신된 제3 TLP의 TLP 송신 순차 번호인, 주변 구성요소 상호접속 고속 인터페이스 제어기.
  11. 제9항에 있어서,
    상기 신뢰할 수 있는 TLP 전송 모듈은,
    상기 수신된 제3 TLP에 따라 어드레스 포워딩 테이블 또는 ID 포워딩 테이블을 검색하고, TLP 전송 큐(TTQ)를 결정하며, 상기 제3 TLP를 상기 TLP 전송 큐에 놓도록 구성되어 있고, 상기 TLP 전송 큐는 상기 제3 TLP의 목적지 PEIC에 대응하는, TLP 디스패치 모듈;
    상기 TLP 전송 큐 내의 제3 TLP를 상기 TLP 전송 큐의 상기 송신 링크를 통해 상기 활성 및 대기 PCIE 스위칭 유닛에 송신하도록 구성되어 있고, 이에 따라 상기 제3 TLP의 목적지 PCIE 인터페이스 제어기가 상기 활성 및 대기 PCIE 스위칭 유닛에 의해 포워딩된 상기 제3 TLP를 선택적으로 수신하고 상기 제3 TLP의 목적지 EP 또는 목적지 RC에 상기 제3 TLP를 송신하며; 상기 제3 TLP의 목적지 PEIC에 의해 회신되고 상기 활성 및 대기 PCIE 스위칭 유닛에 의해 포워딩된 제1 수신확인 메시지 TLP가 시간이 종료될 때까지도 수신되지 않으면, 상기 제3 TLP를 다시 송신하도록 추가적으로 구성되어 있는 송신 모듈;
    상기 제3 TLP의 목적지 PEIC에 의해 회신되고 상기 활성 및 대기 PCIE 스위칭 유닛에 의해 포워딩된 제1 수신확인 메시지 TLP를 수신하고, 상기 제1 수신확인 메시지 TLP를 수신확인 모듈에 전달하도록 구성되어 있는 수신 모듈;
    상기 제1 수신확인 메시지 TLP에 수반되어 있는 TLP 송신 순차 번호 및 송신지 PEIC 번호에 따라, 상기 TLP 전송 큐 내의 수신확인된 제3 TLP를 삭제한다는 것을 TLP 전송 큐 관리 모듈에 통지하도록 구성되어 있는 상기 수신확인 모듈; 및
    상기 수신확인 모듈의 통지에 따라 상기 TLP 전송 큐 내의 수신확인된 제3 TLP를 삭제하도록 구성되어 있는 상기 TLP 전송 큐 관리 모듈
    을 포함하는, 주변 구성요소 상호접속 고속 인터페이스 제어기.
  12. 제11항에 있어서,
    상기 송신 모듈은, 상기 제3 TLP를 캡슐화하고, 상기 제3 TLP의 단대단 TLP 접두사에 송신지 PEIC 번호 및 TLP 송신 순차 번호를 부가하며, 상기 캡슐화된 제3 TLP를 상기 TTQ의 송신 링크를 통해 상기 활성 및 대기 PCIE 스위칭 유닛에 송신하도록 구성되어 있으며, 이에 따라 상기 제3 TLP의 목적지 PEIC가, 상기 송신지 PEIC 번호 및 상기 TLP 송신 순차 번호에 따라, 상기 수신된 TLP에 응답해서 제1 수신확인 메시지 TLP를 회신하며, 상기 회신된 제1 수신확인 메시지 TLP의 단대단 TLP 접두사는 상기 송신지 PEIC 번호 및 수신확인된 TLP 송신 순차 번호를 수반하고 있으며,
    상기 제3 TLP의 TLP 송신 순차 번호는 상기 제3 TLP의 송신지 PEIC에 의해 상기 제3 TLP의 목적지 PEIC에 송신된 TLP의 순차 번호이고, 상기 제1 수신확인 메시지의 상기 수신확인된 TLP 송신 순차 번호는 상기 송신지 PEIC의 TLP 송신 순차 번호이고 상기 제3 TLP의 목적지 PEIC에 의해 이미 수신된 제3 TLP의 TLP 송신 순차 번호인, 주변 구성요소 상호접속 고속 인터페이스 제어기.
  13. 제11항 또는 제12항에 있어서,
    상기 TLP 전송 큐 관리 모듈은, 각각의 TLP 전송 큐의 TLP 송신 순차 번호 및 TLP 송신 링크를 유지하도록 추가로 구성되어 있는, 주변 구성요소 상호접속 고속 인터페이스 제어기.
  14. 제13항에 있어서,
    상기 수신 모듈은 상기 활성 및 대기 PCIE 스위칭 유닛으로부터 송신된 제4 TLP를 수신하고, 상기 제4 TLP가 수신확인 메시지 TLP인지를 판단하며, 상기 제4 TLP가 수신확인 메시지 TLP가 아니면, 상기 수신된 제4 TLP를 상기 제4 TLP의 송신지 PEIC에 대응하는 TLP 수신확인 순차 TAS에 버퍼링하도록 추가로 구성되어 있으며,
    상기 P2P 모듈은 상기 TLP 수신확인 순차 TAS 내의 상기 제4 TLP를 획득하고, 상기 제4 TLP를 상기 제4 TLP의 목적지 RC/EP에 포워딩하도록 추가로 구성되어 있는, 주변 구성요소 상호접속 고속 인터페이스 제어기.
  15. 제14항에 있어서,
    상기 신뢰할 수 있는 TLP 전송 모듈은,
    상기 TLP 수신확인 순차가 상기 제4 TLP를 수신한 후, 상기 제4 TLP의 송신지 PEIC에 수신확인 메시지 TLP를 회신한다는 것을 상기 수신확인 모듈에 통지하도록 구성되어 있는 TLP 수신확인 순차 관리 모듈
    을 더 포함하고,
    상기 수신확인 모듈은 제2 수신확인 메시지 TLP를 생성하고, 상기 제2 수신확인 메시지 TLP를 상기 제4 TLP의 송신지 PEIC에 대응하는 TLP 전송 큐에 버퍼링하도록 추가로 구성되어 있으며, 이에 따라 상기 제2 수신확인 메시지 TLP는 스케줄링되고 상기 송신 모듈에 의해 송신되는, 주변 구성요소 상호접속 고속 인터페이스 제어기.
  16. 제15항에 있어서,
    상기 수신확인 모듈은, 상기 수신된 제1 수신확인 메시지 TLP에 수반되어 있는 상기 송신지 PEIC 번호 및 수신확인된 송신 순차 번호 정보에 따라, 대응하는 TTQ의 슬라이딩 윈도(sliding window)를 갱신하도록 추가로 구성되어 있는, 주변 구성요소 상호접속 고속 인터페이스 제어기.
  17. 제11항 또는 제12항에 있어서,
    상기 신뢰할 수 있는 TLP 전송 모듈은,
    고정-시간 검출 TLP를 시간 간격으로 모든 다른 PEIC에 송신하고, 목적지 PEIC에 의해 회신된 검출 응신 TLP가 지정된 시간 내에 수신되지 않으면, 상기 검출 응신 TLP를 회신하는 목적지 PEIC에 대응하는 TTQ의 송신 링크를 갱신한다는 것을 TLP 송신 큐 관리 모듈에 통지하도록 구성되어 있는 중추부 모듈(heartbeat module)
    을 더 포함하며,
    상기 TLP 전송 큐 관리 모듈은 상기 중추부 모듈의 통지에 따라 상기 TLP 전송 큐의 송신 링크를 갱신하도록 추가로 구성되어 있는, 주변 구성요소 상호접속 고속 인터페이스 제어기.
  18. 주변 구성요소 상호접속 고속 스위칭 네트워크에서 패킷 전송을 위한 방법에 있어서,
    RC 또는 EP로부터 제1 TLP를 수신하는 단계; 및
    상기 수신된 제1 TLP에 따라, 활성 및 대기 PCIE 스위칭 유닛에 연결된 송신 링크를 결정하고, 상기 제1 TLP를 상기 송신 링크를 통해 상기 활성 및 대기 PCIE 스위칭 유닛에 동시에 송신하며, 이에 따라 상기 제1 TLP의 목적지 PCIE 인터페이스 제어기가 상기 활성 및 대기 PCIE 스위칭 유닛에 의해 포워딩된 상기 제1 TLP를 선택적으로 수신하고 상기 제1 TLP의 목적지 EP 또는 목적지 RC에 상기 제1 TLP를 송신하는 단계
    를 포함하는 패킷 전송 방법.
  19. 제18항에 있어서,
    상기 제1 TLP를 상기 송신 링크를 통해 상기 활성 및 대기 PCIE 스위칭 유닛에 동시에 송신하는 단계 이전에,
    상기 제1 TLP를 캡슐화하고, 상기 제1 TLP의 자체 정의 단대단(self-defined end-to-end) TLP 접두사에 송신지 PEIC 번호 및 TLP 송신 순차 번호를 부가하며, 이에 따라 상기 목적지 PEIC가 상기 송신지 PEIC 번호 및 상기 TLP 송신 순차 번호에 따라 상기 활성 및 대기 PCIE 스위칭 유닛에 의해 포워딩된 상기 제1 TLP를 선택적으로 수신하는 단계
    를 더 포함하며,
    상기 TLP 송신 순차 번호는 상기 제1 TLP의 송신지 PEIC에 의해 상기 제1 TLP의 목적지 PEIC에 송신된 TLP의 순차 번호이고, 상기 송신지 PEIC 번호 및 상기 TLP 송신 순차 번호에 따라 상기 활성 및 대기 PCIE 스위칭 유닛에 의해 포워딩된 상기 제1 TLP를 선택적으로 수신하는 단계는, 상기 활성 및 대기 PCIE 스위칭 유닛에 의해 포워딩되고 동일한 송신지 PEIC 번호 및 동일한 TLP 송신 순차 번호를 가지는 제1 TLP에 있어서, 먼저 도착하는 제1 TLP만을 수신하는 단계인, 패킷 전송 방법.
  20. 제18항 또는 제19항에 있어서,
    상기 수신된 제1 TLP에 따라, 활성 및 대기 PCIE 스위칭 유닛에 연결된 송신 링크를 결정하고, 상기 제1 TLP를 상기 송신 링크를 통해 상기 활성 및 대기 PCIE 스위칭 유닛에 동시에 송신하며, 이에 따라 상기 제1 TLP의 목적지 PCIE 인터페이스 제어기가 상기 활성 및 대기 PCIE 스위칭 유닛에 의해 포워딩된 상기 제1 TLP를 선택적으로 수신하고 상기 제1 TLP의 목적지 EP 또는 목적지 RC에 상기 제1 TLP를 송신하는 단계는 구체적으로,
    상기 수신된 제1 TLP에 따라 대응하는 어드레스 포워딩 테이블 또는 ID 포워딩 테이블을 검색하고, TLP 전송 큐(TTQ)를 결정하며, 상기 제1 TLP의 목적지 PEIC에 대응하는 TLP 전송 큐에 상기 제1 TLP를 놓는 단계; 및
    상기 TLP 전송 큐 내의 제1 TLP를 상기 TLP 전송 큐의 송신 링크를 통해 상기 활성 및 대기 PCIE 스위칭 유닛에 동시에 송신하며, 이에 따라 상기 제1 TLP의 목적지 PCIE 인터페이스 제어기가 상기 활성 및 대기 PCIE 스위칭 유닛에 의해 포워딩된 상기 제1 TLP를 선택적으로 수신하고 상기 제1 TLP의 목적지 EP 또는 목적지 RC에 상기 제1 TLP를 송신하는 단계인, 패킷 전송 방법.
  21. 제20항에 있어서,
    자체 정의 단대단 TLP 접두사가 동일한 송신지 PEIC 번호 및 동일한 TLP 송신 순차 번호를 수반하고 있는 제1 TLP에 있어서, 상기 제1 TLP의 목적지 PEIC가, 먼저 수신된 제2 TLP만 수신하고 나중에 수신된 제2 TLP는 폐기하는 단계
    를 더 포함하는 패킷 전송 방법.
  22. 제21항에 있어서,
    상기 자체 정의 단대단 TLP 접두사가 동일한 송신지 PEIC 번호 및 동일한 TLP 송신 순차 번호를 수반하고 있는 제1 TLP에 있어서, 상기 제1 TLP의 목적지 PEIC가, 먼저 수신된 제2 TLP만 수신하고 나중에 수신된 제2 TLP는 폐기하는 단계는 구체적으로,
    상기 제1 TLP의 자체 정의된 TLP 접두사에 수반되어 있는 송신지 PEIC 번호 및 TLP 송신 순차와 송신지 PEIC로부터 수신될 것으로 예상되는 TLP의 순차 번호를 비교하고, 상기 제1 TLP의 자체 정의된 TLP 접두사에 수반되어 있는 송신지 PEIC 번호 및 TLP 송신 순차가 상기 송신지 PEIC로부터 수신될 것으로 예상되는 TLP의 순차 번호와 같으면 상기 제1 TLP를 수신하고, 같지 않으면 상기 제1 TLP를 폐기하는 단계인, 패킷 전송 방법.
  23. 제22항에 있어서,
    각각의 TLP 전송 큐의 TLP 송신 순차 번호 및 TLP 송신 링크를 유지하고, 대응하는 TLP 전송 큐의 TLP 송신 순차 번호를 TLP가 송신될 때마다 1씩 증가시키는 단계; 및
    TLP가 수신될 것으로 예상되는 다른 PEIC의 TLP 송신 순차 번호를 유지하고, TLP가 수신될 때마다, TLP가 수신될 것으로 예상되는 대응하는 송신지 PEIC의 TLP 송신 순차 번호를 1씩 증가시키는 단계
    를 더 포함하는 패킷 전송 방법.
  24. 주변 구성요소 상호접속 고속 스위칭 네트워크에서 패킷 전송을 위한 방법에 있어서,
    RC 또는 EP로부터 제3 TLP를 수신하는 단계; 및
    상기 수신된 제3 TLP에 따라, 활성 및 대기 PCIE 스위칭 유닛에 연결된 송신 링크를 결정하고, 상기 제3 TLP를 상기 송신 링크를 통해 상기 활성 및 대기 PCIE 스위칭 유닛에 송신하는 단계
    를 포함하며,
    이에 따라 상기 제3 TLP의 목적지 PCIE 인터페이스 제어기는 상기 활성 및 대기 PCIE 스위칭 유닛에 의해 포워딩된 상기 제3 TLP를 선택적으로 수신하고 상기 제3 TLP의 목적지 EP 또는 목적지 RC에 상기 제3 TLP를 송신하고; 상기 제3 TLP의 목적지 PEIC에 의해 회신되고 상기 활성 및 대기 PCIE 스위칭 유닛에 의해 포워딩된 제1 수신확인 메시지 TLP가 시간이 종료될 때까지도 수신되지 않으면, 상기 제3 TLP를 다시 송신하며,
    상기 제1 수신확인 메시지 TLP는 상기 제3 TLP가 수신되는 것을 확인하기 위한 패킷인, 패킷 전송 방법.
  25. 제24항에 있어서,
    상기 제3 TLP를 상기 송신 링크를 통해 상기 활성 및 대기 PCIE 스위칭 유닛에 송신하는 단계 이전에,
    상기 제3 TLP를 캡슐화하고, 상기 제3 TLP의 자체 정의 단대단 TLP 접두사에 송신지 PEIC 번호 및 TLP 송신 순차 번호를 부가하며, 이에 따라 상기 제3 TLP의 목적지 PEIC가 상기 제3 TLP에 있는 상기 송신지 PEIC 번호 및 상기 TLP 송신 순차 번호에 따라 제1 수신확인 메시지 TLP를 회신하는 단계
    를 더 포함하며,
    상기 회신된 제1 수신확인 메시지 TLP의 단대단 TLP 접두사는 상기 제3 TLP의 목적지 PEIC의 PEIC 번호 및 수신확인된 TLP 송신 순차 번호를 수반하고 있으며,
    상기 제3 TLP 내의 TLP 송신 순차 번호는 상기 제3 TLP의 송신지 PEIC에 의해 상기 제3 TLP의 목적지 PEIC에 송신된 TLP의 순차 번호이고, 상기 제1 수신확인 메시지 TLP 내의 수신확인된 TLP 송신 순차 번호는 상기 송신지 PEIC의 TLP 송신 순차 번호이고 상기 제3 TLP의 목적지 PEIC에 의해 이미 수신된 제3 TLP의 TLP 송신 순차 번호인, 패킷 전송 방법.
  26. 제24항에 있어서,
    상기 수신된 제3 TLP에 따라, 활성 및 대기 PCIE 스위칭 유닛에 연결된 송신 링크를 결정하고, 상기 제3 TLP를 상기 송신 링크를 통해 상기 활성 및 대기 PCIE 스위칭 유닛에 송신하는 단계는 구체적으로,
    상기 수신된 제3 TLP에 따라 대응하는 어드레스 포워딩 테이블 또는 ID 포워딩 테이블을 검색하고, TLP 전송 큐(TTQ)를 결정하며, 상기 제3 TLP의 목적지 PEIC에 대응하는 TLP 전송 큐에 상기 제3 TLP를 놓는 단계; 및
    상기 제3 TLP를 상기 TLP 전송 큐의 상기 송신 링크를 통해 상기 활성 및 대기 PCIE 스위칭 유닛에 송신하는 단계인, 패킷 전송 방법.
  27. 제26항에 있어서,
    상기 제3 TLP의 목적지 PEIC에 의해 회신되고 상기 활성 및 대기 PCIE 스위칭 유닛에 의해 포워딩된 제1 수신확인 메시지 TLP를 수신하는 단계; 및
    상기 제1 수신확인 메시지 TLP에 수반되어 있는 TLP 송신 순차 번호 및 송신지 PEIC 번호에 따라 상기 TLP 전송 큐 내의 수신확인 제3 TLP를 삭제하는 단계
    를 더 포함하는, 패킷 전송 방법.
  28. 제26항에 있어서,
    상기 제3 TLP의 목적지 PEIC에 의해 회신되고 상기 활성 및 대기 PCIE 스위칭 유닛에 의해 포워딩된 제1 수신확인 메시지 TLP를 수신하는 단계 이전에,
    상기 활성 및 대기 PCIE 스위칭 유닛에 의해 송신된 제4 TLP를 수신하고, 상기 제4 TLP의 유형에 따라, 상기 제4 TLP가 상기 제1 수신확인 메시지 TLP인지를 판단하고, 상기 제4 TLP가 상기 제1 수신확인 메시지 TLP가 아니면, 상기 수신된 제4 TLP를 상기 제4 TLP의 목적지 RC 또는 목적지 EP에 포워딩하는 단계
    를 더 포함하는 패킷 전송 방법.
  29. 제28항에 있어서,
    상기 제4 TLP의 송신지 PEIC에 제2 수신확인 메시지 TLP를 회신하는 단계
    를 더 포함하는 패킷 전송 방법.
  30. 제29항에 있어서,
    각각의 TLP 전송 큐의 TLP 송신 순차 번호 및 TLP 송신 링크를 유지하는 단계
    를 더 포함하는 패킷 전송 방법.
  31. 제30항에 있어서,
    상기 제1 수신확인 메시지 TLP에 수반되어 있는 상기 송신지 PEIC 번호 및 수신확인된 TLP 송신 순차 번호 정보에 따라, 대응하는 TLP 전송 큐의 슬라이딩 윈도를 갱신하는 단계
    를 더 포함하는 패킷 전송 방법.
  32. 제27항 내지 제31항 중 어느 한 항에 있어서,
    고정-시간 검출 TLP를 시간 간격으로 모든 다른 PEIC에 송신하고, 목적지 PEIC에 의해 회신된 검출 응신 TLP가 지정된 시간 내에 수신되지 않으면, 대응하는 TLP 전송 큐의 송신 링크를 갱신하는 단계
    를 더 포함하는 패킷 전송 방법.
  33. 주변 구성요소 상호접속 고속 스위칭 네트워크에서 패킷 전송을 위한 시스템에 있어서,
    적어도 2개의 PCIE 노드 장치, 적어도 2개의 PCIE 인터페이스 제어기(PEIC), 및 2개의 활성 및 대기 PCIE 스위칭 유닛을 포함하며, 상기 적어도 2개의 PCIE 노드 장치 각각은 상기 적어도 2개의 PCIE 인터페이스 제어기 중 하나에 연결되어 있고, 상기 적어도 2개의 PCIE 인터페이스 제어기 각각은 상기 2개의 활성 및 대기 PCIE 스위칭 유닛에 각각 연결되어 있으며,
    상기 적어도 2개의 PCIE 노드 장치 중 제1 PCIE 노드 장치는 상기 적어도 2개의 PCIE 인터페이스 제어기 중 제1 PCIE 인터페이스 제어기에 연결된 제1 TLP를 송신하도록 구성되어 있으며,
    상기 제1 PCIE 인터페이스 제어기는 상기 제1 TLP를 수신하고, 상기 수신된 제1 TLP에 따라, 상기 2개의 활성 및 대기 PCIE 스위칭 유닛에 연결된 송신 링크를 결정하며, 상기 제1 TLP를 상기 송신 링크를 통해 상기 2개의 활성 및 대기 PCIE 스위칭 유닛에 동시에 송신하도록 구성되어 있으며,
    상기 2개의 활성 및 대기 PCIE 스위칭 유닛 각각은 상기 제1 TLP를 상기 적어도 2개의 PCIE 인터페이스 제어기 중 제2 PCIE 인터페이스 제어기에 포워딩하도록 구성되어 있으며, 상기 제2 PCIE 인터페이스 제어기는 상기 제1 TLP의 목적지 PCIE 인터페이스 제어기이며,
    상기 제2 PCIE 인터페이스 제어기는 상기 2개의 활성 및 대기 PCIE 스위칭 유닛에 의해 포워딩된 제1 TLP를 선택적으로 수신하고 상기 제1 TLP를 상기 적어도 2개의 PCIE 노드 장치 중 제2 PCIE 노드 장치에 송신하도록 구성되어 있으며, 상기 제2 PCIE 노드 장치는 상기 제1 TLP의 목적지 PCIE 노드 장치이며,
    상기 제2 PCIE 노드 장치는 상기 제2 PCIE 인터페이스 제어기에 의해 포워딩된 상기 제1 TLP를 수신하도록 구성되어 있는, 시스템.
  34. 제33항에 있어서,
    상기 제1 PCIE 인터페이스 제어기는, 상기 제1 TLP를 캡슐화하고, 상기 제1 TLP의 단대단 TLP 접두사에 송신지 PEIC 번호 및 TLP 송신 순차 번호를 부가하도록 추가로 구성되어 있으며,
    상기 제2 PCIE 인터페이스 제어기는, 상기 제1 TLP에 있는 상기 송신지 PEIC 번호 및 상기 TLP 송신 순차 번호에 따라, 상기 2개의 활성 및 대기 PCIE 스위칭 유닛에 의해 포워딩된 상기 제1 TLP를 선택적으로 수신하도록 구성되어 있으며,
    상기 TLP 송신 순차 번호는 상기 제1 PEIC에 의해 상기 제2 PEIC에 송신된 TLP의 순차 번호이고, 상기 제1 TLP에 있는 상기 송신지 PEIC 번호 및 상기 TLP 송신 순차 번호에 따라, 상기 제1 TLP를 선택적으로 수신하는 과정은, 동일한 송신지 PEIC 번호 및 동일한 TLP 송신 순차 번호를 가지는 제1 TLP에 있어서, 먼저 도착하는 제1 TLP만을 수신하는 과정인, 시스템.
  35. 제33항 또는 제34항에 있어서,
    상기 제1 PCIE 인터페이스 제어기는 상기 수신된 제1 TLP에 따라, 상기 2개의 활성 및 대기 PCIE 스위칭 유닛에 연결된 송신 링크를 결정하도록 구성되어 있으며, 이것은 구체적으로,
    상기 제1 PCIE 인터페이스 제어기는 상기 제1 TLP에 따라 어드레스 포워딩 테이블 또는 ID 포워딩 테이블을 검색하고, 상기 제1 TLP에 대응하는 목적지 PEIC 번호를 결정하여, 상기 2개의 활성 및 대기 PCIE 스위칭 유닛에 연결되어 있고 상기 제1 TLP에 대응하는 송신 링크를 결정하도록 구성되어 있는, 시스템.
  36. 제35항에 있어서,
    상기 PCIE 노드 장치는 루트 복합(RC) 또는 종점 장치(EP)이고, 각각의 PCIE인터페이스 제어기는 하나의 RC 또는 적어도 하나의 EP에 연결되어 있는, 시스템.
  37. 주변 구성요소 상호접속 고속 스위칭 네트워크에서 패킷 전송을 위한 시스템에 있어서,
    적어도 2개의 PCIE 노드 장치, 적어도 2개의 PCIE 인터페이스 제어기(PEIC), 및 2개의 활성 및 대기 PCIE 스위칭 유닛을 포함하며, 상기 적어도 2개의 PCIE 노드 장치 각각은 상기 적어도 2개의 PCIE 인터페이스 제어기 중 하나에 연결되어 있고, 상기 적어도 2개의 PCIE 인터페이스 제어기 각각은 상기 2개의 활성 및 대기 PCIE 스위칭 유닛에 각각 연결되어 있으며,
    상기 적어도 2개의 PCIE 노드 장치 중 제3 PCIE 노드 장치는 상기 적어도 2개의 PCIE 인터페이스 제어기 중 제3 PCIE 인터페이스 제어기에 연결된 제3 TLP를 송신하도록 구성되어 있으며,
    상기 제3 PCIE 인터페이스 제어기는 상기 제3 TLP를 수신하고, 상기 수신된 제3 TLP에 따라, 2개의 활성 및 대기 PCIE 스위칭 유닛에 연결된 송신 링크를 결정하고, 상기 제3 TLP를 상기 송신 링크를 통해 상기 2개의 활성 및 대기 PCIE 스위칭 유닛에 송신하며, 상기 적어도 2개의 PCIE 인터페이스 제어기 중 제4 PCIE 인터페이스 제어기에 의해 회신되고 상기 2개의 활성 및 대기 PCIE 스위칭 유닛에 의해 포워딩된 제1 수신확인 메시지 TLP가 시간이 종료될 때까지도 수신되지 않으면, 상기 2개의 활성 및 대기 PCIE 스위칭 유닛에 연결된 송신 링크를 통해 상기 제4 PCIE 인터페이스 제어기에 상기 제3 TLP를 다시 송신하도록 구성되어 있으며, 상기 제4 PCIE 인터페이스 제어기는 상기 제3 TLP의 목적지 PCIE 인터페이스 제어기이며,
    상기 2개의 활성 및 대기 PCIE 스위칭 유닛은 상기 제3 TLP를 상기 제4 PCIE 인터페이스 제어기에 포워딩하며, 상기 제4 PCIE 인터페이스 제어기에 의해 회신된 상기 제1 수신확인 메시지 TLP를 상기 제3 PCIE 인터페이스 제어기에 포워딩하도록 구성되어 있으며,
    상기 제4 PCIE 인터페이스 제어기는 상기 2개의 활성 및 대기 PCIE 스위칭 유닛에 의해 포워딩된 제3 TLP를 수신하고 상기 제3 TLP를 상기 적어도 2개의 PCIE 노드 장치 중 제4 PCIE 노드 장치에 송신하며, 상기 제4 PCIE 노드 장치는 상기 제3 TLP의 목적지 PCIE 노드 장치이며; 상기 제1 수신확인 메시지 TLP를 상기 제3 PCIE 인터페이스 제어기에 회신하여, 상기 제3 TLP가 수신된 것을 확인하도록 구성되어 있으며,
    상기 제4 PCIE 노드 장치는 상기 제4 PCIE 인터페이스 제어기에 의해 포워딩된 상기 제3 TLP를 수신하도록 구성되어 있는, 시스템.
  38. 제37항에 있어서,
    상기 제3 PEIC는 상기 제4 PEIC에 의해 회신되고 상기 2개의 활성 및 대기 PCIE 스위칭 유닛에 의해 포워딩된 상기 제1 수신확인 메시지 TLP를 수신하며, 상기 제1 수신확인 메시지 TLP에 수반되어 있는 TLP 송신 순차 번호 정보 및 송신지 PEIC 번호에 따라 상기 수신확인된 제3 TLP를 삭제하도록 추가로 구성되어 있는, 시스템.
  39. 제37항 또는 제38항에 있어서,
    상기 제3 PEIC는 상기 TLP를 캡슐화하고, 상기 제3 TLP의 단대단 TLP 접두사에 송신지 PEIC 번호(SPEIC) 및 TLP 송신 순차 번호를 부가하며, 상기 캡슐화된 제3 TLP를 상기 송신 링크를 통해 상기 2개의 활성 및 대기 PCIE 스위칭 유닛에 송신하도록 추가로 구성되어 있으며,
    상기 제4 PCIE는 상기 제3 TLP에 수반되어 있는 상기 송신지 PEIC 번호 및 상기 TLP 송신 순차 번호에 따라 상기 제1 수신확인 메시지 TLP를 회신하도록 구성되어 있으며,
    상기 회신된 제1 수신확인 메시지 TLP의 단대단 TLP 접두사는 상기 송신지 PEIC 번호 및 수신확인된 TLP 송신 순차 번호를 수반하고 있으며, 상기 TLP 송신 순차 번호는 상기 제3 PEIC에 의해 상기 제4 PEIC에 송신된 TLP의 순차 번호이고, 상기 수신확인된 TLP 송신 순차 번호는 상기 제3 PEIC로부터 상기 제4 PEIC에 의해 이미 수신된 TLP의 송신 순차 번호인, 시스템.
  40. 제39항에 있어서,
    상기 제3 PEIC는 다른 PEIC에 대한 TLP 송신 순차 번호 및 TLP 송신 링크를 유지하도록 추가로 구성되어 있는, 시스템.
  41. 제40항에 있어서,
    각각의 PCIE 인터페이스 제어기는 고정-시간 검출 TLP를 시간 간격으로 모든 다른 PEIC에 송신하고, 회신된 검출 응신 TLP가 지정된 시간 내에 수신되지 않은 PEIC에 대응하는 송신 링크를 갱신하도록 추가로 구성되어 있는, 시스템.
  42. 제41항에 있어서,
    상기 PCIE 노드 장치는 루트 복합(RC) 또는 종점 장치(EP)이고, 각각의 PCIE인터페이스 제어기는 하나의 RC 또는 적어도 하나의 EP에 연결되어 있는, 시스템.
  43. 주변 구성요소 상호접속 고속 인터페이스 제어기(PEIC)에 있어서,
    프로세서 및 메모리를 포함하고, 상기 메모리는 실행 명령을 저장하며; 상기 주변 구성요소 상호접속 고속 인터페이스 제어기(PEIC)가 실행되면, 상기 프로세서는 상기 메모리와 통신하고, 상기 프로세서는 상기 실행 명령을 실행하며, 이에 따라 주변 구성요소 상호접속 고속 인터페이스 제어기(PEIC)는 제18항에 따른 방법을 실행하는, 주변 구성요소 상호접속 고속 인터페이스 제어기(PEIC).
  44. 주변 구성요소 상호접속 고속 인터페이스 제어기(PEIC)에 있어서,
    프로세서 및 메모리를 포함하고, 상기 메모리는 실행 명령을 저장하며; 상기 주변 구성요소 상호접속 고속 인터페이스 제어기(PEIC)가 실행되면, 상기 프로세서는 상기 메모리와 통신하고, 상기 프로세서는 상기 실행 명령을 실행하며, 이에 따라 주변 구성요소 상호접속 고속 인터페이스 제어기(PEIC)는 제24항에 따른 방법을 실행하는, 주변 구성요소 상호접속 고속 인터페이스 제어기(PEIC).
  45. 컴퓨터 판독 가능형 매체에 있어서,
    컴퓨터 실행 명령을 포함하며, 상기 컴퓨터 실행 명령은 주변 구성요소 상호접속 고속 인터페이스 제어기(PEIC)가 제18항에 따른 방법을 실행할 수 있게 하는 데 사용되는, 컴퓨터 판독 가능형 매체.
  46. 컴퓨터 판독 가능형 매체에 있어서,
    컴퓨터 실행 명령을 포함하며, 상기 컴퓨터 실행 명령은 주변 구성요소 상호접속 고속 인터페이스 제어기(PEIC)가 제24항에 따른 방법을 실행할 수 있게 하는 데 사용되는, 컴퓨터 판독 가능형 매체.
KR1020147000908A 2012-10-27 2012-10-27 Pcie 스위칭 네트워크에서 패킷 전송을 실행하기 위한 방법, 장치, 시스템, 및 저장 매체 KR101579917B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2012/083631 WO2014063370A1 (zh) 2012-10-27 2012-10-27 一种实现pcie交换网络的报文传输方法、设备、系统和存储介质

Publications (2)

Publication Number Publication Date
KR20140082630A KR20140082630A (ko) 2014-07-02
KR101579917B1 true KR101579917B1 (ko) 2015-12-23

Family

ID=48208641

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147000908A KR101579917B1 (ko) 2012-10-27 2012-10-27 Pcie 스위칭 네트워크에서 패킷 전송을 실행하기 위한 방법, 장치, 시스템, 및 저장 매체

Country Status (9)

Country Link
US (3) US9652426B2 (ko)
EP (2) EP2741456B1 (ko)
JP (1) JP5828966B2 (ko)
KR (1) KR101579917B1 (ko)
CN (1) CN103098428B (ko)
AU (1) AU2012384904B2 (ko)
CA (1) CA2838836C (ko)
IN (1) IN2013KN03842A (ko)
WO (1) WO2014063370A1 (ko)

Families Citing this family (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9003090B1 (en) * 2014-03-25 2015-04-07 DSSD, Inc. PCI express fabric routing for a fully-connected mesh topology
US9501442B2 (en) * 2014-04-30 2016-11-22 Freescale Semiconductor, Inc. Configurable peripheral componenent interconnect express (PCIe) controller
CN104102605B (zh) * 2014-06-25 2018-03-09 华为技术有限公司 一种数据传输方法、装置和系统
US9747245B2 (en) * 2014-12-17 2017-08-29 Intel Corporation Method, apparatus and system for integrating devices in a root complex
CN104579772B (zh) 2014-12-30 2018-12-14 华为技术有限公司 计算机设备与计算机设备的配置管理方法
US9990327B2 (en) 2015-06-04 2018-06-05 Intel Corporation Providing multiple roots in a semiconductor device
CN106502944B (zh) * 2015-09-08 2019-05-07 杭州华为数字技术有限公司 计算机、pcie设备以及pcie设备的心跳检测方法
EP3166257B1 (en) * 2015-11-05 2018-09-26 Robert Bosch Gmbh Start-up triggering in an ethernet-based in-vehicle network
US11216396B2 (en) * 2016-09-29 2022-01-04 Intel Corporation Persistent memory write semantics on PCIe with existing TLP definition
CN108008657B (zh) * 2016-10-28 2020-07-21 北京计算机技术及应用研究所 一种控制板和交换板总线直连的负载均衡冗余交换系统
US10482050B2 (en) * 2016-11-09 2019-11-19 Qualcomm Incorporated Link role determination in a dual-mode Peripheral Component Interconnect express (PCIe) device
CN106656852B (zh) * 2016-12-30 2019-02-15 国网浙江省电力公司绍兴供电公司 一种实现报文二选一的电路结构
CN108990125B (zh) 2017-06-01 2020-12-22 华为技术有限公司 数据传输的方法、终端设备和网络设备
US10866934B1 (en) * 2017-07-28 2020-12-15 EMC IP Holding Company LLC Token-based data flow control in a clustered storage system
US10884650B1 (en) 2017-10-25 2021-01-05 EMC IP Holding Company LLC Opportunistic compression of replicated data in a content addressable storage system
KR102446733B1 (ko) 2017-11-30 2022-09-23 삼성전자주식회사 스토리지 장치 및 스토리지 장치를 포함하는 전자 장치
KR102406340B1 (ko) * 2018-02-26 2022-06-13 에스케이하이닉스 주식회사 전자 장치 및 그것의 동작 방법
US10956078B2 (en) 2018-03-27 2021-03-23 EMC IP Holding Company LLC Storage system with loopback replication process providing object-dependent slice assignment
US10866969B2 (en) * 2018-03-28 2020-12-15 EMC IP Holding Company LLC Storage system with loopback replication process providing unique identifiers for collision-free object pairing
US10977216B2 (en) 2018-05-29 2021-04-13 EMC IP Holding Company LLC Processing device utilizing content-based signature prefix for efficient generation of deduplication estimate
US10983962B2 (en) 2018-05-29 2021-04-20 EMC IP Holding Company LLC Processing device utilizing polynomial-based signature subspace for efficient generation of deduplication estimate
US11609883B2 (en) 2018-05-29 2023-03-21 EMC IP Holding Company LLC Processing device configured for efficient generation of compression estimates for datasets
US11593313B2 (en) 2018-05-29 2023-02-28 EMC IP Holding Company LLC Processing device configured for efficient generation of data reduction estimates for combinations of datasets
US10826990B2 (en) 2018-07-23 2020-11-03 EMC IP Holding Company LLC Clustered storage system configured for bandwidth efficient processing of writes at sizes below a native page size
US10684915B2 (en) 2018-07-25 2020-06-16 EMC IP Holding Company LLC Efficient packing of compressed data in storage system implementing data striping
US10635533B2 (en) 2018-07-30 2020-04-28 EMC IP Holding Company LLC Efficient computation of parity data in storage system implementing data striping
US11614986B2 (en) * 2018-08-07 2023-03-28 Marvell Asia Pte Ltd Non-volatile memory switch with host isolation
US11544000B2 (en) 2018-08-08 2023-01-03 Marvell Asia Pte Ltd. Managed switching between one or more hosts and solid state drives (SSDs) based on the NVMe protocol to provide host storage services
CN109144904A (zh) * 2018-08-30 2019-01-04 郑州云海信息技术有限公司 一种sgpio信号缓冲电路
CN109684269B (zh) * 2018-12-26 2020-06-02 成都九芯微科技有限公司 一种pcie交换芯片内核及工作方法
US10754559B1 (en) 2019-03-08 2020-08-25 EMC IP Holding Company LLC Active-active storage clustering with clock synchronization
US11137929B2 (en) 2019-06-21 2021-10-05 EMC IP Holding Company LLC Storage system configured to support cascade replication
CN112181887B (zh) * 2019-07-05 2023-05-26 迈普通信技术股份有限公司 数据传输方法及装置
CN110688332B (zh) * 2019-09-12 2021-01-15 无锡江南计算技术研究所 一种面向高速消息传输的pcie数据传输系统及计算机
CN110851376A (zh) * 2019-10-21 2020-02-28 天津大学 一种基于FPGA的PCIe接口设计方法
US11566868B2 (en) 2019-11-21 2023-01-31 Hornady Manufacturing Company Firearm storage device
US11360712B2 (en) 2020-02-03 2022-06-14 EMC IP Holding Company LLC Storage system with continuous data verification for synchronous replication of logical storage volumes
US11055028B1 (en) 2020-02-03 2021-07-06 EMC IP Holding Company LLC Storage system with reduced read latency
US11079961B1 (en) 2020-02-03 2021-08-03 EMC IP Holding Company LLC Storage system with write-via-hash functionality for synchronous replication of logical storage volumes
US11249654B2 (en) 2020-02-18 2022-02-15 EMC IP Holding Company LLC Storage system with efficient data and parity distribution across mixed-capacity storage devices
US11144232B2 (en) 2020-02-21 2021-10-12 EMC IP Holding Company LLC Storage system with efficient snapshot pair creation during synchronous replication of logical storage volumes
US11079969B1 (en) 2020-02-25 2021-08-03 EMC IP Holding Company LLC Disk array enclosure configured for metadata and data storage processing
US11281386B2 (en) 2020-02-25 2022-03-22 EMC IP Holding Company LLC Disk array enclosure with metadata journal
US11061618B1 (en) 2020-02-25 2021-07-13 EMC IP Holding Company LLC Disk array enclosure configured to determine metadata page location based on metadata identifier
US11144461B2 (en) 2020-03-09 2021-10-12 EMC IP Holding Company LLC Bandwidth efficient access to persistent storage in a distributed storage system
US11010251B1 (en) 2020-03-10 2021-05-18 EMC IP Holding Company LLC Metadata update journal destaging with preload phase for efficient metadata recovery in a distributed storage system
US11126361B1 (en) 2020-03-16 2021-09-21 EMC IP Holding Company LLC Multi-level bucket aggregation for journal destaging in a distributed storage system
US11169880B1 (en) 2020-04-20 2021-11-09 EMC IP Holding Company LLC Storage system configured to guarantee sufficient capacity for a distributed raid rebuild process
US11194664B2 (en) 2020-04-20 2021-12-07 EMC IP Holding Company LLC Storage system configured to guarantee sufficient capacity for a distributed raid rebuild process
US11494301B2 (en) 2020-05-12 2022-11-08 EMC IP Holding Company LLC Storage system journal ownership mechanism
US11392295B2 (en) 2020-05-27 2022-07-19 EMC IP Holding Company LLC Front-end offload of storage system processing
US11093161B1 (en) 2020-06-01 2021-08-17 EMC IP Holding Company LLC Storage system with module affinity link selection for synchronous replication of logical storage volumes
US11513882B2 (en) 2020-06-08 2022-11-29 EMC IP Holding Company LLC Dynamic modification of IO shaping mechanisms of multiple storage nodes in a distributed storage system
US11886911B2 (en) 2020-06-29 2024-01-30 EMC IP Holding Company LLC End-to-end quality of service mechanism for storage system using prioritized thread queues
US11327812B1 (en) 2020-10-19 2022-05-10 EMC IP Holding Company LLC Distributed storage system with per-core rebalancing of thread queues
US11531470B2 (en) 2020-10-21 2022-12-20 EMC IP Holding Company LLC Offload of storage system data recovery to storage devices
US11853568B2 (en) 2020-10-21 2023-12-26 EMC IP Holding Company LLC Front-end offload of storage system hash and compression processing
US11436138B2 (en) 2020-10-21 2022-09-06 EMC IP Holding Company LLC Adaptive endurance tuning of solid-state storage system
US11616722B2 (en) 2020-10-22 2023-03-28 EMC IP Holding Company LLC Storage system with adaptive flow control using multiple feedback loops
US11314416B1 (en) 2020-10-23 2022-04-26 EMC IP Holding Company LLC Defragmentation of striped volume in data storage system
US11687245B2 (en) 2020-11-19 2023-06-27 EMC IP Holding Company LLC Dynamic slice assignment in a distributed storage system
US11435921B2 (en) 2020-11-19 2022-09-06 EMC IP Holding Company LLC Selective deduplication in a distributed storage system
US11494405B2 (en) 2020-12-21 2022-11-08 EMC IP Holding Company LLC Lock contention resolution for active-active replication performed in conjunction with journal recovery
US11481291B2 (en) 2021-01-12 2022-10-25 EMC IP Holding Company LLC Alternative storage node communication channel using storage devices group in a distributed storage system
KR102496994B1 (ko) 2021-03-23 2023-02-09 에스케이하이닉스 주식회사 PCIe 인터페이스 장치 및 그 동작 방법
KR102529761B1 (ko) 2021-03-18 2023-05-09 에스케이하이닉스 주식회사 PCIe 디바이스 및 그 동작 방법
US11875198B2 (en) 2021-03-22 2024-01-16 EMC IP Holding Company LLC Synchronization object issue detection using object type queues and associated monitor threads in a storage system
US11949589B2 (en) 2021-05-20 2024-04-02 Pensando Systems Inc. Methods and systems for service state replication using original data packets
US11593294B2 (en) 2021-05-20 2023-02-28 Pensando Systems Inc. Methods and systems for loosely coupled PCIe service proxy over an IP network
US11902184B2 (en) 2021-05-20 2024-02-13 Pensando Systems Inc. Methods and systems for providing a virtualized NVMe over fabric service
US11895027B2 (en) * 2021-05-20 2024-02-06 Pensando Systems Inc. Methods and systems for service distribution using data path state replication and intermediate device mapping
US11520527B1 (en) 2021-06-11 2022-12-06 EMC IP Holding Company LLC Persistent metadata storage in a storage system
US11775202B2 (en) 2021-07-12 2023-10-03 EMC IP Holding Company LLC Read stream identification in a distributed storage system
CN115514682B (zh) * 2022-09-23 2024-03-22 浪潮商用机器有限公司 一种数据传输方法、装置、设备及存储介质
CN116909639B (zh) * 2023-09-13 2023-12-12 珠海星云智联科技有限公司 一种挂载系统、方法、集群以及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007219873A (ja) 2006-02-17 2007-08-30 Nec Corp スイッチ及びネットワークブリッジ装置
JP2009163633A (ja) 2008-01-09 2009-07-23 Ricoh Co Ltd 情報処理装置およびデータ通信方法

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0670676B2 (ja) * 1989-08-17 1994-09-07 九州電力株式会社 襲雷予知装置
US7177971B2 (en) * 2001-08-24 2007-02-13 Intel Corporation General input/output architecture, protocol and related methods to provide isochronous channels
KR100534052B1 (ko) * 2003-07-10 2005-12-07 한국전자통신연구원 확장가능한 범용 스위치 패브릭 장치
US7058738B2 (en) 2004-04-28 2006-06-06 Microsoft Corporation Configurable PCI express switch which allows multiple CPUs to be connected to multiple I/O devices
US8285907B2 (en) * 2004-12-10 2012-10-09 Intel Corporation Packet processing in switched fabric networks
US7525957B2 (en) * 2005-09-01 2009-04-28 Emulex Design & Manufacturing Corporation Input/output router for storage networks
CN101501660B (zh) * 2006-08-09 2011-11-16 日本电气株式会社 因特网连接交换机和因特网连接系统
US7676625B2 (en) * 2006-08-23 2010-03-09 Sun Microsystems, Inc. Cross-coupled peripheral component interconnect express switch
JP4501916B2 (ja) * 2006-09-20 2010-07-14 日本電気株式会社 I/o機器の共有システムと情報処理装置共有システム及びそれらに用いる方法
US7756123B1 (en) * 2006-12-21 2010-07-13 Nvidia Corporation Apparatus, system, and method for swizzling of a PCIe link
CN101102177B (zh) * 2007-08-20 2010-11-10 杭州华三通信技术有限公司 一种主备控制器倒换的实现方法及设备
JP5477707B2 (ja) 2007-08-23 2014-04-23 日本電気株式会社 I/oシステムおよびi/o制御方法
US7707346B2 (en) * 2008-03-12 2010-04-27 Lsi Corporation PCI express multi-root IOV endpoint retry buffer controller
JP2010205216A (ja) 2009-03-06 2010-09-16 Fujitsu Ltd バス変換装置、情報処理装置、制御方法
WO2011001508A1 (ja) * 2009-06-30 2011-01-06 株式会社日立製作所 電子機器接続装置、電子計算機、電子機器接続装置の記憶部割当方法
US8335884B2 (en) 2009-07-10 2012-12-18 Brocade Communications Systems, Inc. Multi-processor architecture implementing a serial switch and method of operating same
CN101604299B (zh) * 2009-07-13 2011-04-20 成都市华为赛门铁克科技有限公司 一种访问pcie ram的方法、存储控制器和存储系统
JP2011081769A (ja) 2009-09-14 2011-04-21 Ricoh Co Ltd データ転送装置、データ転送デバイスおよびデータ転送方法
US8402189B2 (en) 2010-05-13 2013-03-19 Hitachi, Ltd. Information processing apparatus and data transfer method
JP5565141B2 (ja) 2010-06-28 2014-08-06 富士通株式会社 制御装置、切替装置、光伝送装置、及び制御方法
US8402307B2 (en) * 2010-07-01 2013-03-19 Dell Products, Lp Peripheral component interconnect express root port mirroring
JP5316502B2 (ja) 2010-09-16 2013-10-16 日本電気株式会社 I/oブリッジ装置、応答通知方法、及びプログラム
CN102014076B (zh) * 2010-12-24 2012-04-18 北京航天测控技术有限公司 一种PCIe重试缓冲区及其实现方法
US20140112131A1 (en) 2011-06-17 2014-04-24 Hitachi, Ltd. Switch, computer system using same, and packet forwarding control method
US8995302B1 (en) 2013-01-16 2015-03-31 Pmc-Sierra Us, Inc. Method and apparatus for translated routing in an interconnect switch

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007219873A (ja) 2006-02-17 2007-08-30 Nec Corp スイッチ及びネットワークブリッジ装置
JP4670676B2 (ja) 2006-02-17 2011-04-13 日本電気株式会社 スイッチ及びネットワークブリッジ装置
JP2009163633A (ja) 2008-01-09 2009-07-23 Ricoh Co Ltd 情報処理装置およびデータ通信方法

Also Published As

Publication number Publication date
AU2012384904B2 (en) 2015-04-16
EP3032787B1 (en) 2018-08-29
JP2015503154A (ja) 2015-01-29
CN103098428A (zh) 2013-05-08
US20140122769A1 (en) 2014-05-01
EP3032787A1 (en) 2016-06-15
US10204070B2 (en) 2019-02-12
US9652426B2 (en) 2017-05-16
KR20140082630A (ko) 2014-07-02
EP2741456A1 (en) 2014-06-11
US20140122768A1 (en) 2014-05-01
WO2014063370A1 (zh) 2014-05-01
US20170075842A1 (en) 2017-03-16
JP5828966B2 (ja) 2015-12-09
CN103098428B (zh) 2016-03-09
EP2741456A4 (en) 2014-07-23
EP2741456B1 (en) 2016-01-13
AU2012384904A1 (en) 2014-05-15
IN2013KN03842A (ko) 2015-05-01
US9535867B2 (en) 2017-01-03
CA2838836A1 (en) 2014-04-27
CA2838836C (en) 2018-05-01

Similar Documents

Publication Publication Date Title
KR101579917B1 (ko) Pcie 스위칭 네트워크에서 패킷 전송을 실행하기 위한 방법, 장치, 시스템, 및 저장 매체
WO2020236279A1 (en) System and method for facilitating efficient management of idempotent operations in a network interface controller (nic)
US8856419B2 (en) Register access in distributed virtual bridge environment
US9197539B2 (en) Multicast miss notification for a distributed network switch
US9397851B2 (en) Directed route load/store packets for distributed switch initialization
US20230421451A1 (en) Method and system for facilitating high availability in a multi-fabric system
US9203895B1 (en) System and method for lateral connection between interface devices with bypass of external network
CN109600326B (zh) 数据或报文转发的方法、节点和系统
CN113297117A (zh) 数据传输方法、设备、网络系统及存储介质

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20181129

Year of fee payment: 4