KR20110066602A - Pci 익스프레스 프로토콜 처리 장치 - Google Patents

Pci 익스프레스 프로토콜 처리 장치 Download PDF

Info

Publication number
KR20110066602A
KR20110066602A KR1020090123330A KR20090123330A KR20110066602A KR 20110066602 A KR20110066602 A KR 20110066602A KR 1020090123330 A KR1020090123330 A KR 1020090123330A KR 20090123330 A KR20090123330 A KR 20090123330A KR 20110066602 A KR20110066602 A KR 20110066602A
Authority
KR
South Korea
Prior art keywords
packet
pci express
layer
received
transaction
Prior art date
Application number
KR1020090123330A
Other languages
English (en)
Other versions
KR101283482B1 (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 한국전자통신연구원
Priority to KR1020090123330A priority Critical patent/KR101283482B1/ko
Priority to US12/783,198 priority patent/US8166227B2/en
Priority to CN2010102027477A priority patent/CN102098212B/zh
Publication of KR20110066602A publication Critical patent/KR20110066602A/ko
Application granted granted Critical
Publication of KR101283482B1 publication Critical patent/KR101283482B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)

Abstract

본 발명은 PCI 익스프레스 프로토콜 처리 장치에 관한 것으로, 수신된 패킷의 무결성 검사, 송신할 패킷의 데이터 정렬 또는 송신한 패킷의 재송신 처리에 대해 메모리를 사용하지 않고 구현함으로써, 입출력 트랜잭션을 위주로 하는 응용 디바이스 장치와의 결합시에 최적화된 리소스 사용을 보장하며, 다양한 공정에서 PCI 익스프레스 프로토콜 처리 장치를 집적할 때에 설계를 변경할 필요 없이 그대로 사용할 수 있도록 보장하는 이점이 있다.
PCI 익스프레스, PCIe, 가상 채널 메모리, 수신 패킷 버퍼 메모리, 송신 데이터 정렬 메모리, 재송신 버퍼 메모리

Description

PCI 익스프레스 프로토콜 처리 장치{APPARATUS FOR PROCESSING PCI EXPRESS PROTOCOL}
본 발명은 PCI 익스프레스(Peripheral Component Interconnect Express) 프로토콜 처리 장치에 관한 것으로서, 더욱 상세하게는 수신된 패킷의 무결성 검사, 송신할 패킷의 데이터 정렬 또는 송신한 패킷의 재송신 처리에 대해 메모리를 사용하지 않고 구현한 PCI 익스프레스 프로토콜 처리 장치에 관한 것이다.
일반적인 PCI 익스프레스의 프로토콜 처리 기술에서는 트랜잭션계층 및 데이터링크계층에서 데이터의 무결성을 보장하기 위하여 수신한 패킷에 포함되어 있는 데이터를 저장하기 위한 버퍼를 사용하고, 송신할 패킷의 경우에는 데이터의 완성이 보장되는 시점이 부정확하므로 이러한 데이터를 임시 저장하기 위한 버퍼를 사용하며, 또한 송신한 패킷의 경우에는 도착지에서 패킷의 오류를 검사하여 패킷이 완벽히 도달하였는지를 알려주기 전까지는 이러한 도착의 여부를 알 수 없으므로 이에 대응하기 위해 재전송 버퍼를 사용하며, 이러한 버퍼들은 메모리를 사용하여 구성한다.
도 1은 종래 기술에 따른 PCI 익스프레스 프로토콜 처리 장치의 블록 구성도이다. 도 1을 참조하여 종래 기술에 따른 PCI 익스프레스 프로토콜 처리 과정을 살펴보면 다음과 같다.
먼저, PCI 익스프레스 트랜잭션계층 수신부(50)의 수신 흐름 제어기(52)는 정기적으로 가상 채널 메모리(51)에 저장할 공간의 크기를 감지하여 이 정보를 PCI 익스프레스 데이터링크계층 송신부(80)의 패킷 송신기(82)로 보내며, 패킷 송신기(82)는 흐름 제어 패킷을 생성하여 이를 패킷 송신 인터페이스(81)를 통하여 PCI 익스프레스 물리계층(30)으로 보내고, PCI 익스프레스 물리계층(30)에서는 흐름 제어 패킷에 프레임 정보를 붙여서 이를 PCI 익스프레스 링크(20)를 통하여 업스트림 디바이스(10)로 송신한다.
업스트림 디바이스(10)는 PCI 익스프레스 트랜잭션계층 수신부(50)의 가상 채널 메모리(51)에 패킷을 저장할 공간이 있는지 여부를 확인한 후에 가상 채널 메모리(51)에 패킷을 저장할 공간이 있으면 요청 패킷을 생성하며, 업스트림 디바이스(10)에서 생성한 요청 패킷은 PCI 익스프레스 링크(20)를 통하여 PCI 익스프레스 물리계층(30)에 도달하고, PCI 익스프레스 물리계층(30)은 패킷의 프레임 정보를 제거한 후에 이를 PCI 익스프레스 데이터링크계층 수신부(40)에게 전송한다. PCI 익스프레스 데이터링크계층 수신부(40)는 내부에 있는 패킷 수신 인터페이스(41)를 통해 요청 패킷인 트랜잭션계층 패킷(TLP)을 수신한 후에 수신 패킷 버퍼 메모리(42)에 임시 저장한다. 한 패킷이 모두 저장되면 이는 수신 패킷 무결성 검사 기(43)에서 패킷의 무결성 여부를 검사하고 패킷이 완전하다고 판단되면 수신 패킷 무결성 검사기(43)는 PCI 익스프레스 데이터링크계층 송신부(80)의 내부에 있는 패킷 송신기(82)에게 확인 패킷(Ack DLLP)을 송신해도 좋다는 확인 신호를 보낸다.
패킷 송신기(82)에서는 확인 패킷(Ack DLLP)을 생성하여 이를 패킷 송신 인터페이스(81)를 통하여 PCI 익스프레스 물리계층(30)에 전달하고, PCI 익스프레스 물리계층(30)에서는 PCI 익스프레스 링크(20)를 통하여 확인 패킷을 업스트림 디바이스(10)에게 전달한다.
수신 패킷 무결성 검사기(43)에서 패킷의 무결성이 확인되면 앞에서 설명한 확인 패킷을 생성하여 업스트림 디바이스(10)에 전달하는 과정과 동시에 수신 패킷 버퍼 메모리(42)에 있는 패킷을 가상 채널 메모리(51)에게 전달하며, 수신 패킷 검사기(53)에서는 패킷이 응용 디바이스 계층(60)에서 다루어질 수 있는 패킷인지 여부를 검사하여 응용 디바이스 계층(60)에서 다루어질 수 있는 패킷일 경우에는 응답 패킷의 헤더를 생성하여 이 헤더 정보를 PCI 익스프레스 트랜잭션계층 송신부(70)의 내부에 있는 송신 패킷 생성기(72)에게 전달하고, 또한 수신 패킷 검사기(53)에서는 응용 디바이스 계층(60)에게 데이터를 억세스하도록 지시하며, 응용 디바이스 계층(60)은 임의의 시점에 발생한 데이터 억세스 결과를 송신 데이터 정렬 메모리(73)에 저장한다.
수신 패킷 검사기(53)에서 요청 패킷에 대한 응답 정보의 헤더와 데이터 부분을 모두 인지한 후에는 가상 채널 메모리(51)에서 패킷을 삭제하게 되며, 패킷이 삭제된 후에는 가상 채널 메모리(51)에 다시 패킷을 저장할 수 있는 공간이 생기므 로 수신 흐름 제어기(52)는 이러한 흐름 제어 정보를 패킷 송신기(82)에 전달하고, 패킷 송신기(83)에서는 흐름 제어 패킷을 생성하여 패킷 송신 인터페이스(81)를 통하여 PCI 익스프레스 물리계층(30)에 전달하고, PCI 익스프레스 물리계층(30)에서는 흐름 제어 패킷에 프레임 정보를 붙여서 PCI 익스프레스 링크(30)를 통하여 업스트림 디바이스(10)에게 전달한다.
업스트림 디바이스(10)에서도 응답 패킷을 수신하여 자신의 가상 채널 메모리에 저장할 수 있는지의 여부를 나타내는 흐름 제어 패킷의 정보를 생성하여 PCI 익스프레스 링크(20)를 통해 PCI 익스프레스 물리계층(30)에 전달하고, 이는 PCI 익스프레스 데이터링크계층 수신부(40)에 존재하는 패킷 수신 인터페이스(41)를 거쳐서 패킷 수신기(44)에게 전달된다. 패킷 수신기(44)에 수신된 흐름 제어 패킷의 정보는 PCI 익스프레스 트랜잭션계층 송신부(70)의 내부에 있는 송신 흐름 제어기(71)에게 전달되며, 이후에 응답 패킷을 송신할 수 있는지의 여부를 판가름하는 정보가 된다.
응용 디바이스 계층(60)에서 송신한 데이터가 송신 데이터 정렬 메모리(73)에 모두 저장되었고, 송신 흐름 제어기(71)에서 송신이 가능하다고 판단하는 신호를 송신 패킷 생성기(72)에게 보내주면, 송신 패킷 생성기(72)는 송신 데이터 정렬 메모리(73)에 저장되어 있는 데이터와 이전에 수신 패킷 검사기(53)로부터 수신한 헤더 정보를 결합하여 PCI 익스프레스 데이터링크계층 송신부(80)의 패킷 시퀀스 생성기(85)에게 전달하며, 패킷 시퀀스 생성기(85)에서는 트랜잭션계층 패킷의 무결성 여부를 업스트림 디바이스(10)에서 판단하기 위한 시퀀스와 링크상의 순환잉 여부호(Cyclic Redundancy Code)(LCRC)를 각각 응답패킷의 맨 앞과 맨 뒤에 붙인다. 패킷 시퀀스 생성기(85)에서 무결성 정보를 포함하게 된 패킷은 패킷 송신 인터페이스(81)를 통하여 PCI 익스프레스 물리계층(30)에 전달됨과 동시에 재송신 버퍼 메모리(84)에 임시로 저장된다. 패킷의 송신 중에 오류가 발생하여 패킷을 재전송할 필요가 있을 때에는 재송신 버퍼 메모리(84)에 임시 저장된 패킷을 재전송한다.
PCI 익스프레스 물리계층(30)으로 전달된 응답 패킷은 PCI 익스프레스 링크(20)를 통하여 업스트림 디바이스(10)로 전달되며, 업스트림 디바이스(10)에서는 수신한 응답 패킷의 무결성 검사를 하여 이 정보를 무결성 확인 패킷(Ack/Nak DLLP)에 실어 PCI 익스프레스 링크(20)를 통해 PCI 익스프레스 물리계층(30)에게 전달하고, PCI 익스프레스 물리계층(30)은 수신한 확인 패킷의 프레임 정보를 제거한 후에 이를 패킷 수신 인터페이스(41)를 통하여 패킷 수신기(44)에게 전달하며, 패킷 수신기(44)에서 수신한 패킷이 Ack(Acknowledge) 패킷이었을 때에는 재송신 처리기(83)의 재송신 버퍼 메모리(84)에 임시 저장되어 있는 응답패킷을 제거하라는 신호를 보내나 Nak(Negative-acknowledge) 패킷이었을 때에는 재송신 처리기(83)에서 재송신 버퍼 메모리(84)에 임시 저장되어 있는 응답 패킷을 재송신하도록 한다.
또한, 재송신 처리기(83)에서는 일정 시간 동안 패킷 수신기(44)에서 Ack나 Nak 응답이 없을 경우에도 재송신 버퍼 메모리(84)에 임시 저장되어 있는 패킷을 재송신하도록 한다. 이러한 패킷 재송신 과정은 Ack 패킷을 수신할 때까지 반복되 며, 4번 단위로 PCI 익스프레스 링크(20)를 리셋하여 재설정한다.
위에 설명한 과정에서 업스트림 디바이스(10)에서 생성하는 요청 패킷이 응용 디바이스 계층(60)에 데이터를 쓰는 패킷이고, 데이터의 길이가 일정하지 않을 가능성을 대비하여 수신 패킷 버퍼 메모리(42)에서는 PCI 익스프레스 규격에서 정한 최대 길이인 4Kbyte 이상의 데이터 저장 메모리를 가지고 있어야 하며, 또한 가상 채널 메모리(51)에서도 4Kbyte 이상의 데이터 저장 메모리를 유지하여야 한다. 위에 설명한 과정에서 업스트림 디바이스(10)에서 생성하는 요청 패킷이 응용 디바이스 계층(60)에서 데이터를 읽는 패킷이고 데이터의 길이가 일정하지 않을 것을 가정하여 송신 데이터 정렬 메모리에서는 데이터를 저장하기 위해서 4Kbyte 이상의 메모리를 유지하여야 하고, 재송신 버퍼 메모리(84)도 4Kbyte 이상의 메모리를 유지하여야 한다.
이러한 PCI 익스프레스의 프로토콜 처리 기술에서 특히 메모리 트랜잭션 송수신을 위한 패킷은 메모리 트랜잭션 송수신 시에 버스트 전송 혹은 블록 단위 전송을 가정하고 있으므로 패킷의 길이를 예측할 수 없어서 앞서 설명한 바와 같이 버퍼를 사용하여야만 한다.
그러나, 입출력(I/O) 트랜잭션으로만 구성된 PCI 익스프레스 디바이스의 경우에는 실제 사용되는 패킷에서 데이터 페이로드의 구성은 1개이므로 그 길이를 예측할 수 있고, 패킷을 수신하는 빈도면에서 보더라도 입출력 트랜잭션을 발생시킨 상대방에 있는 디바이스(마스터 디바이스)에서는 송신한 패킷에 대한 응답을 기다린 후에 이후 패킷을 발생시키므로, 응답을 받지 않은 패킷을 동시다발적으로 발생 시키지 않는다.
입출력 트랜잭션만을 수신하는 PCI 익스프레스 디바이스의 예로서, PCI 익스프레스에서 500Mbps의 직렬 포트(serial port) 확장을 위하여 사용하는 경우에, PCI 익스프레스에서 제공하는 대역폭(1x의 경우에는 2.5Gbps)의 1/5 이하를 사용하게 되므로, 실제 PCI 익스프레스의 링크에 발생하는 패킷이 송신 후 수신할 때까지 걸리는 시간을 충분히 감안하더라도 패킷의 빈번도가 그리 높지 않게 된다.
이러한 경우에 종래 기술에 따른 PCI 익스프레스 프로토콜 처리 장치를 사용하면 불필요하게 메모리를 다량으로 사용하게 된다. 한 개의 칩 안에 PCI 익스프레스 프로토콜 처리 장치(엔진)와 응용 디바이스 장치(엔진)를 함께 집적시킬 경우에는 PCI 익스프레스 프로토콜 처리 장치에서 실제 동작시 불필요한 메모리를 점유하고 있으므로 인하여 상대적으로 응용 디바이스 장치에서 필수적으로 가져야 할 메모리의 양이 줄어드는 문제가 발생하며, 이를 해결하기 위해서 집적시에 다른 디바이스를 선택하여야 하는 결과를 가져올 수 있다.
이처럼, 종래 기술에 따른 PCI 익스프레스 프로토콜 처리 장치에서는 예측이 가능한 트랜잭션을 처리하는 디바이스의 경우에도 일률적으로 메모리를 필수적으로 사용함으로 인하여 상대적으로 응용 디바이스에서는 메모리 리소스의 부족 현상을 야기할 수 있는 문제점이 있다.
또한, 집적할 공정의 다양성으로 인하여 각 제조 공정마다 상이한 메모리 인터페이스로 인하여 메모리의 동작 방식, 즉 메모리 억세스 프로토콜이 서로 다르고 동작 속도가 서로 달라서 메모리 인터페이스를 맞추기 위하여 PCI 익스프레스 프로 토콜 처리 장치의 설계를 변경하여야 하는 문제점이 발생할 수 있다.
저속의 PCI 익스프레스에서 사용되는 입출력 트랜잭션에서는 요청 패킷 읽기 패킷에서 처리할 데이터의 양은 4byte로 고정되어 있으므로, 도 1에 나타낸 종래 기술에 따른 PCI 익스프레스 프로토콜 처리 장치에서 사용하고 있는 수신 패킷 버퍼 메모리(42)와 가상 채널 메모리(51)에서 각각 유지하여야 할 4Kbyte 이상의 메모리는 사실상 불필요하며, 또한 송신 데이터 정렬 메모리(73)에서 유지하고 있는 4Kbyte 이상의 메모리도 사실상 불필요하다. 또한 입출력 트랜잭션의 경우에는 요청 패킷을 생성한 업스트림 디바이스(10)는 응답 패킷을 수신하여 응답 패킷의 무결성 여부를 검사하고 응답 패킷에 포함된 정보를 처리한 후에 그 다음 요청 패킷을 생성하더라도 대역폭에 지장을 초래하지 않으며, 그 다음 요청 패킷을 생성하기 위해서는 가상 채널 메모리(51)에 데이터를 저장할 공간이 있는지를 확인한 이후에 요청 패킷을 생성하게 되므로, 패킷 시퀀스 생성기(85)에서 생성한 응답 패킷의 재송신 여부를 결정하기 위해 패킷 수신기(44)에서 Ack 확인 패킷(Ack DLLP)의 수신 여부에 대해 재송신 처리기(83)에 보내는 정보를 수신 흐름 제어기(52)가 알고 있다면, 패킷 시퀀스 생성기(85)에서 생성한 응답 패킷의 송신이 확실히 도착하였을 때에만 수신 흐름 제어기(52)에서 그 다음 요청 패킷을 수신할 수 있도록 하는 정보를 흐름 제어 패킷을 패킷 송신기(82)에서 송신하도록 제어함으로써 재송신 버퍼 메모리(84)를 사용하지 않아도 된다.
이에 따라, 본 발명에서는 수신된 패킷의 무결성 검사, 송신할 패킷의 데이터 정렬 또는 송신한 패킷의 재송신 처리에 대해 메모리를 사용하지 않고 구현한 PCI 익스프레스 프로토콜 처리 장치를 제공한다.
본 발명의 제 1 관점으로서 PCI 익스프레스 프로토콜 처리 장치는, 쓰기 요청 패킷을 받아들일 수 있다는 상태 정보를 PCI 익스프레스 데이터링크계층 송신부에게 전달하며, 상기 쓰기 요청 패킷을 저장하지 않는 실시간 처리를 통해 응용 디바이스 계층에 대한 데이터 쓰기 동작을 수행하는 PCI 익스프레스 트랜잭션계층 수신부와, 상기 상태 정보에 따라 흐름 제어 패킷을 생성하여 PCI 익스프레스 물리계층에게 전달하며, 상기 쓰기 요청 패킷에 대한 무결성 확인 패킷을 상기 PCI 익스프레스 물리계층에게 전달하는 상기 PCI 익스프레스 데이터링크계층 송신부와, 상기 흐름 제어 패킷 및 상기 무결성 확인 패킷을 업스트림 디바이스로 전달하며, 상기 업스트림 디바이스로부터 전달받은 상기 쓰기 요청 패킷을 상기 PCI 익스프레스 데이터링크계층 수신부에게 전달하는 PCI 익스프레스 물리계층과, 상기 PCI 익스프레스 물리계층으로부터 수신한 상기 쓰기 요청 패킷을 저장하지 않는 실시간 처리를 통해 상기 PCI 익스프레스 트랜잭션계층 수신부로 송신하면서 실시간 무결성 검사를 수행한 결과에 따라 상기 PCI 익스프레스 데이터링크계층 송신부 및 상기 PCI 익스프레스 트랜잭션계층 수신부에게 상기 무결성 확인 패킷을 전달하는 상기 PCI 익스프레스 데이터링크계층 수신부를 포함할 수 있다.
여기서, 상기 PCI 익스프레스 프로토콜 처리 장치는, 상기 응용 디바이스 계층의 쓰기 완료 동작 여부에 의거하여 상기 쓰기 요청 패킷에 대한 쓰기 응답 패킷을 생성한 후에 상기 PCI 익스프레스 데이터링크계층 송신부에게 전달하여 최종적으로 상기 업스트림 디바이스에게 전달되도록 하는 PCI 익스프레스 트랜잭션계층 송신부를 더 포함할 수 있다.
상기 PCI 익스프레스 데이터링크계층 송신부는, 상기 쓰기 응답 패킷에 대한 무결성 확인 패킷으로 Nak(Negative-acknowledge) 확인 패킷이 도달하거나 상기 무결성 확인 패킷이 일정 시간 동안 도달하지 않을 경우에 이전에 송신하였던 트랜잭션계층 패킷 정보를 바탕으로 재송신을 수행할 수 있다.
상기 PCI 익스프레스 트랜잭션계층 수신부는, 재송신을 위해 이전 패킷의 내용을 유지하며, 상기 PCI 익스프레스 데이터링크계층 송신부가 상기 쓰기 응답 패킷에 대한 무결성 확인 패킷으로 Ack(Acknowledge) 확인 패킷이 도달하였다고 알려주면 새로운 상기 쓰기 요청 패킷을 받아들일 수 있다는 상태 정보를 상기 PCI 익스프레스 데이터링크계층 송신부에게 전달할 수 있다.
상기 PCI 익스프레스 데이터링크계층 수신부는, 상기 PCI 익스프레스 물리계층과의 인터페이스를 제공하는 패킷 수신 인터페이스와, 상기 패킷 수신 인터페이스를 통해 전달받은 상기 쓰기 요청 패킷을 저장하지 않는 상기 실시간 무결성 검사를 통해 시퀀스 검사와 순환잉여부호 검사를 실시간으로 수행하는 수신 패킷 실시간 무결성 검사기와, 상기 패킷 수신 인터페이스를 통해 수신한 상기 흐름 제어 패킷의 내용을 토대로 하여 상기 업스트림 디바이스에 의한 상기 쓰기 응답 패킷의 수신 가능 여부를 상기 PCI 익스프레스 트랜잭션계층 송신부에게 알려주는 패킷 수신기를 포함할 수 있다.
상기 수신 패킷 실시간 무결성 검사기는, 상기 PCI 익스프레스 물리계층으로부터 수신된 트랜잭션계층 패킷의 내용이 정렬되어 일정한 주기로 1개씩 실시간으로 입력되는 데이터 파이프라인 레지스터와, 상기 트랜잭션계층 패킷의 내용에 대한 CRC를 생성하는 CRC 생성기와, 상기 트랜잭션계층 패킷의 헤더에서 의미 있는 내용을 분리하여 임시 저장하는 헤더 정보 추출기와, 상기 트랜잭션계층 패킷에서 데이터를 분리하여 임시 저장하는 데이터 추출기와, 상기 CRC 생성기의 출력값과 상기 데이터 파이프라인 레지스터에 입력된 순환잉여부호 값을 비교하여 상기 헤더 정보 추출기에 있는 내용과 상기 데이터 추출기에 있는 내용의 무결성 여부를 검사하는 무결성 검사기를 포함할 수 있다.
상기 PCI 익스프레스 트랜잭션계층 수신부는, 상기 쓰기 요청 패킷을 저장하지 않는 실시간 처리를 통해 오류를 판별한결과에 따라 상기 쓰기 응답 패킷을 만들어야 된다는 사실과 상기 쓰기 응답 패킷의 헤더 정보를 상기 PCI 익스프레스 트랜잭션계층 송신부에게 알려주는 수신 패킷 판별기와, 상기 수신 패킷 판별기에 대한 상기 상태 정보를 상기 PCI 익스프레스 데이터링크계층 송신부에게 전달하는 수신 흐름 제어기를 포함할 수 있다.
상기 수신 패킷 판별기는, 상기 PCI 익스프레스 데이터링크계층 수신부로부터 수신한 요청 패킷에 대해 저장하지 않는 실시간 처리를 통해 입출력 트랜잭션을 판별하는 입출력 트랜잭션 판별기와, 상기 입출력 트랜잭션 판별기가 상기 쓰기 요청 패킷으로 판별하면 상기 응용 디바이스 계층에 적합한 주소를 생성하여 상기 응용 디바이스 계층에게 제공하는 주소 생성기와, 상기 입출력 트랜잭션 판별기가 상기 쓰기 요청 패킷으로 판별하면 쓰기 신호를 생성하여 상기 응용 디바이스 계층에게 제공하는 읽기/쓰기 신호 생성기와, 상기 입출력 트랜잭션 판별기가 상기 쓰기 요청 패킷으로 판별하면 상기 쓰기 요청 패킷의 데이터를 상기 응용 디바이스 계층에게 제공하는 데이터 인터페이스를 포함할 수 있다.
상기 입출력 트랜잭션 판별기는, 상기 PCI 익스프레스 데이터링크계층 수신부로부터 수신한 응답 패킷의 헤더 정보를 상기 PCI 익스프레스 트랜잭션계층 송신부에게 전달하며, 상기 PCI 익스프레스 트랜잭션계층 송신부는, 상기 응용 디바이스 계층의 쓰기 동작이 완료되면 이전에 상기 입출력 트랜잭션 판별기를 통하여 수신한 상기 헤더 정보를 가지고 상기 쓰기 응답 패킷을 생성하는 데이터 응답기를 포함할 수 있다.
상기 PCI 익스프레스 트랜잭션계층 송신부는, 이전에 상기 PCI 익스프레스 데이터링크계층 수신부에 도착한 상기 흐름 제어 패킷의 내용을 토대로 하여 상기 업스트림 디바이스에 의한 상기 쓰기 응답 패킷의 수신 가능 여부를 파악하여 상기 쓰기 응답 패킷의 송신을 결정하는 송신 흐름 제어기와, 상기 송신 흐름 제어기가 상기 쓰기 응답 패킷의 송신을 결정하면 이전에 수신한 상기 헤더 정보와 상기 응용 디바이스 계층에서 실시간으로 받은 쓰기 완료 동작 여부를 결합하여 상기 쓰기 응답 패킷을 생성한 후에 상기 PCI 익스프레스 데이터링크계층 송신부에게 전달하 는 송신 패킷 생성기를 포함할 수 있다.
상기 PCI 익스프레스 데이터링크계층 송신부는, 상기 PCI 익스프레스 물리계층과의 인터페이스를 제공하는 패킷 송신 인터페이스와, 상기 PCI 익스프레스 트랜잭션계층 수신부로부터 전달받은 상기 상태 정보로 상기 흐름 제어 패킷을 생성하여 상기 패킷 송신 인터페이스를 거쳐서 상기 PCI 익스프레스 물리계층에게 전달하는 패킷 송신기와, 상기 쓰기 요청 패킷에 대한 상기 무결성 확인 패킷을 상기 패킷 송신 인터페이스를 거쳐서 상기 PCI 익스프레스 물리계층에게 전달하거나 상기 쓰기 응답 패킷에 시퀀스 및 순환잉여부호를 생성하여 상기 패킷 송신 인터페이스를 거쳐서 상기 PCI 익스프레스 물리계층에게 전달하는 패킷 시퀀스 생성기를 포함할 수 있다.
본 발명의 제 2 관점으로서 PCI 익스프레스 프로토콜 처리 장치는, 읽기 요청 패킷을 받아들일 수 있다는 상태 정보를 PCI 익스프레스 데이터링크계층 송신부에게 전달하는 PCI 익스프레스 트랜잭션계층 수신부와, 상기 상태 정보에 따라 흐름 제어 패킷을 생성하여 PCI 익스프레스 물리계층에게 전달하며, 상기 읽기 요청 패킷에 대한 무결성 확인 패킷을 상기 PCI 익스프레스 물리계층에게 전달하는 PCI 익스프레스 데이터링크계층 송신부와, 상기 흐름 제어 패킷 및 상기 무결성 확인 패킷을 업스트림 디바이스로 전달하며, 상기 업스트림 디바이스로부터 전달받은 상기 읽기 요청 패킷을 상기 PCI 익스프레스 데이터링크계층 수신부에게 전달하는 PCI 익스프레스 물리계층과, 상기 PCI 익스프레스 물리계층으로부터 수신한 상기 읽기 요청 패킷을 저장하지 않는 실시간 처리를 통해 상기 PCI 익스프레스 트랜잭션계층 수신부로 송신하면서 실시간 무결성 검사를 수행한 결과에 따라 상기 PCI 익스프레스 데이터링크계층 송신부 및 상기 PCI 익스프레스 트랜잭션계층 수신부에게 상기 무결성 확인 패킷을 전달하는 상기 PCI 익스프레스 데이터링크계층 수신부와, 상기 응용 디바이스 계층으로부터 정렬 없이 제공받은 억세스 데이터를 토대로 하여 상기 읽기 요청 패킷에 대한 읽기 응답 패킷을 생성한 후에 상기 PCI 익스프레스 데이터링크계층 송신부에게 전달하여 최종적으로 상기 업스트림 디바이스에게 전달되도록 하는 PCI 익스프레스 트랜잭션계층 송신부를 포함할 수 있다.
상기 PCI 익스프레스 데이터링크계층 송신부는, 상기 읽기 응답 패킷에 대한 무결성 확인 패킷으로 Nak(Negative-acknowledge) 확인 패킷이 도달하거나 상기 무결성 확인 패킷이 일정 시간 동안 도달하지 않을 경우에 이전에 송신하였던 트랜잭션계층 패킷 정보를 바탕으로 재송신을 수행할 수 있다.
상기 PCI 익스프레스 트랜잭션계층 수신부는, 재송신을 위해 이전 패킷의 내용을 유지하며, 상기 PCI 익스프레스 데이터링크계층 송신부가 상기 읽기 응답 패킷에 대한 무결성 확인 패킷으로 Ack(Acknowledge) 확인 패킷이 도달하였다고 알려주면 새로운 상기 읽기 요청 패킷을 받아들일 수 있다는 상태 정보를 상기 PCI 익스프레스 데이터링크계층 송신부에게 전달할 수 있다.
상기 PCI 익스프레스 데이터링크계층 수신부는, 상기 PCI 익스프레스 물리계층과의 인터페이스를 제공하는 패킷 수신 인터페이스와, 상기 패킷 수신 인터페이스를 통해 전달받은 상기 읽기 요청 패킷을 저장하지 않는 상기 실시간 무결성 검 사를 통해 시퀀스 검사와 순환잉여부호 검사를 실시간으로 수행하는 수신 패킷 실시간 무결성 검사기와, 상기 패킷 수신 인터페이스를 통해 수신한 상기 흐름 제어 패킷의 내용을 토대로 하여 상기 업스트림 디바이스에 의한 상기 읽기 응답 패킷의 수신 가능 여부를 상기 PCI 익스프레스 트랜잭션계층 송신부에게 알려주는 패킷 수신기를 포함할 수 있다.
상기 PCI 익스프레스 트랜잭션계층 수신부는, 상기 읽기 요청 패킷을 저장하지 않는 실시간 처리를 통해 오류를 판별한 결과에 따라 상기 읽기 응답 패킷을 만들어야 된다는 사실과 상기 읽기 응답 패킷의 헤더 정보를 상기 PCI 익스프레스 트랜잭션계층 송신부에게 알려주는 수신 패킷 판별기와, 상기 수신 패킷 판별기에 대한 상기 상태 정보를 상기 PCI 익스프레스 데이터링크계층 송신부에게 전달하는 수신 흐름 제어기를 포함할 수 있다.
상기 PCI 익스프레스 트랜잭션계층 송신부는, 이전에 상기 PCI 익스프레스 데이터링크계층 수신부에 도착한 상기 흐름 제어 패킷의 내용을 토대로 하여 상기 업스트림 디바이스에 의한 상기 일기 응답 패킷의 수신 가능 여부를 파악하여 상기 읽기 응답 패킷의 송신을 결정하는 송신 흐름 제어기와, 상기 송신 흐름 제어기가 상기 읽기 응답 패킷의 송신을 결정하면 이전에 수신한 상기 헤더 정보와 상기 응용 디바이스 계층으로부터 정렬 없이 제공받은 억세스 데이터를 결합하여 상기 읽기 응답 패킷을 생성한 후에 상기 PCI 익스프레스 데이터링크계층 송신부에게 전달하는 송신 패킷 생성기를 포함할 수 있다.
상기 PCI 익스프레스 데이터링크계층 송신부는, 상기 PCI 익스프레스 물리계 층과의 인터페이스를 제공하는 패킷 송신 인터페이스와, 상기 PCI 익스프레스 트랜잭션계층 수신부로부터 전달받은 상기 상태 정보로 상기 흐름 제어 패킷을 생성하여 상기 패킷 송신 인터페이스를 거쳐서 상기 PCI 익스프레스 물리계층에게 전달하는 패킷 송신기와, 상기 읽기 요청 패킷에 대한 상기 무결성 확인 패킷을 상기 패킷 송신 인터페이스를 거쳐서 상기 PCI 익스프레스 물리계층에게 전달하거나 상기 읽기 응답 패킷에 시퀀스 및 순환잉여부호를 생성하여 상기 패킷 송신 인터페이스를 거쳐서 상기 PCI 익스프레스 물리계층에게 전달하는 패킷 시퀀스 생성기를 포함할 수 있다.
상기 패킷 시퀀스 생성기는, 상기 PCI 익스프레스 트랜잭션계층 송신부로부터 수신되는 트랜잭션계층 패킷에 대해 시퀀스 정보를 생성하는 시퀀스 생성기와, 상기 트랜잭션계층 패킷의 내용과 상기 시퀀스 정보를 바탕으로 CRC를 생성하는 CRC 생성기와, 상기 시퀀스 생성기의 출력, 상기 송신 패킷 생성기의 출력, 상기 CRC 생성기의 출력의 순서대로 응답 패킷을 소정 비트 단위로 분리하는 데이터 선택기와, 상기 데이터 선택기에 의해 분리된 상기 응답 패킷을 임시 저장한 후에 상기 패킷 송신 인터페이스로 출력하는 파이프라인 레지스터를 포함할 수 있다.
상기 데이터 선택기는, 상기 응답 패킷을 송신할 때 응답 타이머를 동작시켜서 일정 시간이 지난 후에도 상기 응답 패킷에 대한 무결성 확인 패킷이 수신되지 않으면 상기 응답 타이머의 타임아웃 정보에 따라서 재송신을 진행할 수 있다.
본 발명의 실시예에 따르면 수신된 패킷의 무결성 검사, 송신할 패킷의 데이터 정렬 또는 송신한 패킷의 재송신 처리에 대해 메모리를 사용하지 않고 구현함으로써, 메모리 사용으로 인해 발생할 수 있는 종래 기술의 문제점을 해결한다.
종래 기술에 의하면 PCI 익스프레스 프로토콜 처리 장치는 응용 디바이스에서의 트랜잭션 처리에 필요로 하는 메모리의 양을 정확하게 예측하지 못하기 때문에, 특히 응용 디바이스가 입출력 트랜잭션 즉, 1개의 32-bit 데이터 억세스만을 필요로 하는 응용 디바이스 엔진일 경우에는 메모리 리소스를 불필요하게 다량으로 사용하게 되는 경우가 많이 있으며, 한 개의 칩 안에 PCI 익스프레스 프로토콜 처리 장치와 응용 디바이스 장치를 함께 집적시킬 경우에는 PCI 익스프레스 프로토콜 처리 장치에서 실제 동작시 사용에 불필요한 메모리를 점유하고 있으므로 인하여 상대적으로 응용 디바이스 장치에서 필수적으로 가져야 할 메모리의 양이 줄어들어서 집적시에 다른 디바이스를 선택하여야 하는 결과를 가져올 수 있다. 또한 집적할 공정의 다양성으로 인하여 공정마다 제공하는 메모리의 최대 동작 속도 및 메모리 억세스 프로토콜이 다양하게 존재함으로 인하여 최악의 경우 메모리의 억세스 문제로 인해 PCI 익스프레스 프로토콜 처리 장치의 설계를 변경시켜야 할 가능성도 내포하고 된다.
하지만 본 발명에서는 입출력 트랜잭션을 위주로 하는 응용 디바이스 장치와의 결합시에 최적화된 리소스 사용을 보장하며, 다양한 공정에서 PCI 익스프레스 프로토콜 처리 장치를 집적할 때에 설계를 변경할 필요 없이 그대로 사용할 수 있도록 보장하는 효과가 있다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
도 2는 본 발명의 실시예에 따른 PCI 익스프레스 프로토콜 처리 장치의 블록 구성도이다. 이러한 PCI 익스프레스 프로토콜 처리 장치는 응용 디바이스 계층에 대한 쓰기 전용의 프로토콜 처리 장치로 구현할 수도 있으며, 응용 디바이스 계층에 대한 읽기 전용의 프로토콜 처리 장치로 구현할 수도 있으며, 응용 디바이스 계층에 대한 쓰기와 읽기를 모두 수행할 수 있는 프로토콜 처리 장치로 구현할 수 있다. 따라서, 아래의 구성요소에 대한 기재에서는 쓰기를 위한 프로토콜 처리 장치와 읽기를 위한 프로토콜 처리 장치에 대해 각각 살펴본다.
먼저, 응용 디바이스 계층에 대한 쓰기를 지원하는 PCI 익스프레스 프로토콜 처리 장치는, 쓰기 요청 패킷을 받아들일 수 있다는 상태 정보를 PCI 익스프레스 데이터링크계층 송신부(420)에게 전달하며, 쓰기 요청 패킷을 저장하지 않는 실시간 처리를 통해 응용 디바이스 계층(310)에 대한 데이터 쓰기 동작을 수행하는 PCI 익스프레스 트랜잭션계층 수신부(220)와, 상태 정보에 따라 흐름 제어 패킷을 생성하여 PCI 익스프레스 물리계층(130)에게 전달하며, 쓰기 요청 패킷에 대한 무결성 확인 패킷을 PCI 익스프레스 물리계층(130)에게 전달하는 PCI 익스프레스 데이터링크계층 송신부(420)와, 흐름 제어 패킷 및 무결성 확인 패킷을 PCI 익스프레스 링크(120)를 거쳐서 업스트림 디바이스(110)로 전달하며, 업스트림 디바이스(110)로부터 PCI 익스프레스 링크(120)를 거쳐서 전달받은 쓰기 요청 패킷을 PCI 익스프레스 데이터링크계층 수신부(210)에게 전달하는 PCI 익스프레스 물리계층(130)과, PCI 익스프레스 물리계층으로부터 수신한 쓰기 요청 패킷을 저장하지 않는 실시간 처리를 통해 PCI 익스프레스 트랜잭션계층 수신부(220)로 송신하면서 실시간 무결성 검사를 수행한 결과에 따라 PCI 익스프레스 데이터링크계층 송신부(420) 및 PCI 익스프레스 트랜잭션계층 수신부(410)에게 무결성 확인 패킷을 전달하는 PCI 익스프레스 데이터링크계층 수신부(210)와, 응용 디바이스 계층(310)의 쓰기 완료 동작 여부에 의거하여 쓰기 요청 패킷에 대한 쓰기 응답 패킷을 생성한 후에 PCI 익스프레스 데이터링크계층 송신부(420)에게 전달하여 최종적으로 업스트림 디바이스(110)에게 전달되도록 하는 PCI 익스프레스 트랜잭션계층 송신부(410)를 포함한다.
다음으로, 응용 디바이스 계층에 대한 읽기를 지원하는 PCI 익스프레스 프로토콜 처리 장치는, 읽기 요청 패킷을 받아들일 수 있다는 상태 정보를 PCI 익스프레스 데이터링크계층 송신부(420)에게 전달하는 PCI 익스프레스 트랜잭션계층 수신부(220)와, 상태 정보에 따라 흐름 제어 패킷을 생성하여 PCI 익스프레스 물리계층(130)에게 전달하며, 읽기 요청 패킷에 대한 무결성 확인 패킷을 PCI 익스프레스 물리계층(130)에게 전달하는 PCI 익스프레스 데이터링크계층 송신부(420)와, 흐름 제어 패킷 및 무결성 확인 패킷을 업스트림 디바이스(110)로 전달하며, 업스트림 디바이스(110)로부터 전달받은 읽기 요청 패킷을 PCI 익스프레스 데이터링크계층 수신부(210)에게 전달하는 PCI 익스프레스 물리계층(130)과, PCI 익스프레스 물리계층으로부터 수신한 읽기 요청 패킷을 저장하지 않는 실시간 처리를 통해 PCI 익스프레스 트랜잭션계층 수신부(220)로 송신하면서 실시간 무결성 검사를 수행한 결과에 따라 PCI 익스프레스 데이터링크계층 송신부(420) 및 PCI 익스프레스 트랜잭 션계층 수신부(410)에게 무결성 확인 패킷을 전달하는 PCI 익스프레스 데이터링크계층 수신부(210)와, 응용 디바이스 계층(310)으로부터 정렬 없이 제공받은 억세스 데이터를 토대로 하여 읽기 요청 패킷에 대한 읽기 응답 패킷을 생성한 후에 PCI 익스프레스 데이터링크계층 송신부(420)에게 전달하여 최종적으로 업스트림 디바이스(110)에게 전달되도록 하는 PCI 익스프레스 트랜잭션계층 송신부(410)를 포함한다.
도 3은 도 2에 도시된 PCI 익스프레스 프로토콜 처리 장치의 수신 패킷 실시간 무결성 검사기(215)에 대한 세부적인 구성을 나타낸 도면이고, 도 4는 도 2에 도시된 PCI 익스프레스 프로토콜 처리 장치의 수신 패킷 판별기(221)에 대한 세부적인 구성을 나타낸 도면이며, 도 5는 도 2에 도시된 PCI 익스프레스 프로토콜 처리 장치의 PCI 익스프레스 데이터링크계층 송신부(420)에 대한 세부적인 구성을 나타낸 도면이다.
도 2 내지 도 5를 참조하여 본 발명의 실시예에 따른 PCI 익스프레스 프로토콜 처리 장치의 구성요소들을 세부적으로 살펴보면 다음과 같다.
PCI 익스프레스 데이터링크계층 수신부(210)는 PCI 익스프레스 물리계층(130)과의 인터페이스를 제공하는 패킷 수신 인터페이스(211)와, 패킷 수신 인터페이스(211)를 통해 전달받은 쓰기 요청 패킷 또는 읽기 요청 패킷에 대한 시퀀스 검사와 순환잉여부호 검사를 통해 무결성 검사를 실시간으로 수행하는 수신 패킷 실시간 무결성 검사기(215)와, 패킷 수신 인터페이스(211)를 통해 수신한 흐름 제어 패킷의 내용을 토대로 하여 업스트림 디바이스(110)에 의한 쓰기 응답 패킷 또 는 읽기 응답 패킷의 수신 가능 여부를 상기 PCI 익스프레스 트랜잭션계층 송신부(410)에게 알려주는 패킷 수신기(213)를 포함한다.
수신 패킷 실시간 무결성 검사기(215)는 PCI 익스프레스 물리계층(130)으로부터 수신된 트랜잭션계층 패킷의 내용이 정렬되어 일정한 주기로 1개씩 실시간으로 입력되는 데이터 파이프라인 레지스터(2151)와, 트랜잭션계층 패킷의 내용에 대한 CRC를 생성하는 CRC 생성기(2153)와, 트랜잭션계층 패킷의 헤더에서 의미 있는 내용을 분리하여 임시 저장하는 헤더 정보 추출기(2155)와, 트랜잭션계층 패킷에서 데이터를 분리하여 임시 저장하는 데이터 추출기(2157)와, CRC 생성기(2153)의 출력값과 데이터 파이프라인 레지스터(2151)에 입력된 순환잉여부호 값과 비교하여 헤더 정보 추출기(2155)에 있는 내용과 데이터 추출기(2157)에 있는 내용의 무결성 여부를 검사하는 무결성 검사기(2159)를 포함한다.
PCI 익스프레스 트랜잭션계층 수신부(220)는 쓰기 요청 패킷 또는 읽기 요청 패킷의 오류를 판별하여 쓰기 응답 패킷 또는 읽기 응답 패킷을 만들어야 된다는 사실과 쓰기 응답 패킷 또는 읽기 응답 패킷의 헤더 정보를 PCI 익스프레스 트랜잭션계층 송신부(410)에게 알려주는 수신 패킷 판별기(221)와, 수신 패킷 판별기(221)에 대한 상태 정보를 PCI 익스프레스 데이터링크계층 송신부(420)에게 전달하는 수신 흐름 제어기(223)를 포함한다.
수신 패킷 판별기(221)는 PCI 익스프레스 데이터링크계층 수신부(210)로부터 수신한 요청 패킷에 대해 입출력 트랜잭션을 판별하는 입출력 트랜잭션 판별기(2211)와, 입출력 트랜잭션 판별기(2211)가 쓰기 요청 패킷 또는 읽기 요청 패킷 으로 판별하면 응용 디바이스 계층(310)에 적합한 주소를 생성하여 응용 디바이스 계층(310)에게 제공하는 주소 생성기(2213)와, 입출력 트랜잭션 판별기(2211)가 쓰기 요청 패킷으로 판별하면 쓰기 신호를 생성하여 또는 읽기 요청 패킷으로 판별하면 읽기 신호를 생성하여 응용 디바이스 계층(310)에게 제공하는 읽기/쓰기 신호 생성기(2215)와, 입출력 트랜잭션 판별기(2211)가 쓰기 요청 패킷으로 판별하면 쓰기 요청 패킷의 데이터를 응용 디바이스 계층(310)에게 제공하는 데이터 인터페이스(2217)를 포함한다.
입출력 트랜잭션 판별기(2211)는 PCI 익스프레스 데이터링크계층 수신부(220)로부터 수신한 응답 패킷의 헤더 정보를 PCI 익스프레스 트랜잭션계층 송신부(410)에게 전달하며, PCI 익스프레스 트랜잭션계층 송신부(410)는 응용 디바이스 계층(310)의 쓰기 동작 또는 읽기 동작이 완료되면 이전에 입출력 트랜잭션 판별기(2211)를 통하여 헤더 정보를 가지고 쓰기 응답 패킷 또는 읽기 응답 패킷을 생성하는 데이터 응답기(4131)를 포함한다.
PCI 익스프레스 트랜잭션계층 송신부(420)는 이전에 PCI 익스프레스 데이터링크계층 수신부(210)에 도착한 흐름 제어 패킷의 내용을 토대로 하여 업스트림 디바이스(110)에 의한 쓰기 응답 패킷 또는 읽기 응답 패킷의 수신 가능 여부를 파악하여 쓰기 응답 패킷 또는 읽기 응답 패킷의 송신을 결정하는 송신 흐름 제어기(411)와, 송신 흐름 제어기(411)가 쓰기 응답 패킷 또는 읽기 응답 패킷의 송신을 결정하면 이전에 수신한 헤더 정보와 응용 디바이스 계층에서 받은 쓰기 완료 동작 여부 또는 읽기 완료 동작 여부를 결합하여 쓰기 응답 패킷 또는 일기 응답 패킷을 생성한 후에 PCI 익스프레스 데이터링크계층 송신부(420)에게 전달하는 송신 패킷 생성기(413)를 포함한다.,
PCI 익스프레스 데이터링크계층 송신부(420)는 PCI 익스프레스 물리계층(130)과의 인터페이스를 제공하는 패킷 송신 인터페이스(421)와, PCI 익스프레스 트랜잭션계층 수신부(220)로부터 전달받은 상태 정보로 흐름 제어 패킷을 생성하여 패킷 송신 인터페이스(421)를 거쳐서 PCI 익스프레스 물리계층(130)에게 전달하는 패킷 송신기(423)와, 쓰기 요청 패킷 또는 읽기 요청 패킷에 대한 무결성 확인 패킷을 패킷 송신 인터페이스(421)를 거쳐서 PCI 익스프레스 물리계층(130)에게 전달하거나 쓰기 응답 패킷 또는 읽기 응답 패킷에 시퀀스 및 순환잉여부호를 생성하여 패킷 송신 인터페이스(421)를 거쳐서 PCI 익스프레스 물리계층(130)에게 전달하는 패킷 시퀀스 생성기(425)를 포함한다.
패킷 시퀀스 생성기(425)는 PCI 익스프레스 트랜잭션계층 송신부(410)로부터 수신되는 트랜잭션계층 패킷에 대해 시퀀스 정보를 생성하는 시퀀스 생성기(4251)와, 트랜잭션계층 패킷의 내용과 시퀀스 정보를 바탕으로 CRC를 생성하는 CRC 생성기(4253)와, 시퀀스 생성기(4251)의 출력, 패킷 결합기(4135)의 출력, CRC 생성기(4253)의 출력의 순서대로 응답 패킷을 소정 비트 단위로 분리하는 데이터 선택기(4255)와, 데이터 선택기(4255)에 의해 분리된 응답 패킷을 임시 저장한 후에 패킷 송신 인터페이스(421)로 출력하는 파이프라인 레지스터(4257)를 포함하며, 데이터 선택기(4255)는 응답 패킷을 송신할 때 응답 타이머(4259)를 동작시켜서 일정 시간이 지난 후에도 응답 패킷에 대한 무결성 확인 패킷이 수신되지 않으면 응답 타이머(4259)의 타임아웃 정보에 따라서 재송신을 진행한다.
도 2를 참조하여 본 발명의 실시예에 따른 PCI 익스프레스 프로토콜 처리 과정을 살펴보면 다음과 같다.
도 2에서 응용 디바이스 계층(310)에 쓰기를 수행하는 과정은 다음과 같다. 도 2에는 도 1에 있던 수신 패킷 버퍼 메모리와 수신 패킷 검사기가 존재하지 않으므로 수신 패킷 판별기(221)는 1개의 쓰기 요청 패킷만을 처리할 수 있도록 한정되어 있다.
먼저, PCI 익스프레스 트랜잭션계층 수신부(220)의 수신 흐름 제어기(223)는 1개의 쓰기 요청 패킷을 받아들일 수 있다는 정보를 PCI 익스프레스 데이터링크계층 송신부(420)의 내부에 있는 패킷 송신기(423)에 전달하고, 패킷 송신기(423)는 수신 흐름 제어기(223)로부터 전달받은 정보로 흐름 제어 패킷(Flow Control DLLP)을 생성하여 패킷 송신 인터페이스(421)를 거쳐서 PCI 익스프레스 물리계층(130)에게 전달한다.
PCI 익스프레스 물리계층(130)은 흐름 제어 패킷에 프레임 정보를 붙여서 이를 PCI 익스프레스 링크(120)를 거쳐서 업스트림 디바이스(110)로 전달하며, 업스트림 디바이스(110)는 1개의 쓰기 요청 패킷을 생성하게 된다. 업스트림 디바이스(110)는 쓰기 요청 패킷을 생성한 후에는 다음에 다시 1개의 쓰기 요청 패킷을 받아들일 수 있다는 정보를 가지고 있는 흐름 제어 패킷을 수신하기 전까지는 다시 쓰기 요청 패킷을 생성하지 못한다.
업스트림 디바이스(110)에서 생성된 1개의 쓰기 요청 패킷은 PCI 익스프레스 링크(120)를 거쳐서 PCI 익스프레스 물리계층(130)에 도달하며, 도달한 패킷은 프레임이 제거된 후 패킷 수신 인터페이스(211)를 거쳐서 수신 패킷 실시간 무결성 검사기(215)에 도달한다. 수신 패킷 실시간 무결성 검사기(215)에서는 패킷을 저장함이 없이 수신 패킷 판별기(221)로 송신하면서 시퀀스 검사와 순환잉여부호 검사를 수행한다. 만약 전송하고 있는 패킷의 시퀀스와 순환잉여부호가 정확하다면 이 정보를 패킷 송신기(423)에 전달하여 Ack 확인 패킷(Ack DLLP)을 생성하도록 하고, 정확하지 않다면 이 정보를 패킷 송신기(423)에 전달하여 Nak 확인 패킷(Nak DLLP)을 생성하도록 함과 동시에 수신 패킷 판별기(221)에도 패킷이 불완전하다는 정보를 알려주어서 수신 패킷 판별기(221)에서 오류 패킷으로 이를 처리하도록 한다.
도 2에서는 입출력 트랜잭션만을 가정하므로 데이터의 양은 32-bit로 한정되어 있으므로, 데이터의 양이 32-bit가 넘는 패킷은 수신 패킷 실시간 무결성 검사기(215)에서 검사하여 입력받은 남은 데이터는 모두 버리면서 동시에 수신 패킷 판별기(221)에 송신하고 있는 패킷에 오류가 있다는 사실을 알려주게 된다.
쓰기 요청 패킷에 오류가 없을 경우에는 수신 패킷 판별기(221)는 쓰기 응답 패킷을 만들어야 된다는 사실과 쓰기 응답 패킷의 헤더 정보를 송신 패킷 생성기(413)에 알려주고 또한 응용 디바이스 계층(310)에 대한 데이터 쓰기 동작을 수행하게 된다. 응용 디바이스 계층(310)은 쓰기 동작이 완료된 후에 이 사실을 송신 패킷 생성기(413)에 알려주게 된다.
송신 흐름 제어기(411)는 이전에 업스트림 디바이스(110)로부터 PCI 익스프 레스 링크(120)와 PCI 익스프레스 물리계층(130), 패킷 수신 인터페이스(211)를 거쳐 패킷 수신기(213)에 도착한 흐름 제어 패킷의 내용을 토대로 패킷 수신기(213)가 알려준 업스트림 디바이스(110)의 쓰기 응답 패킷 수신 가능 여부를 송신 패킷 생성기(413)에게 알려준다.
송신 패킷 생성기(413)는 송신 흐름 제어기(411)에서 쓰기 응답 패킷을 송신해도 된다는 정보를 보내고 있다면, 이전에 수신 패킷 판별기(221)에서 수신한 쓰기 응답 패킷의 헤더 정보와 응용 디바이스 계층(310)에서 받은 쓰기 완료 동작 여부를 결합하여 쓰기 요청 패킷에 대한 쓰기 응답 패킷을 생성하여 이를 PCI 익스프레스 데이터링크계층 송신부(420)에 있는 패킷 시퀀스 생성기(425)에 전달하게 된다. 패킷 시퀀스 생성기(425)에서는 송신 패킷 생성기(413)로부터 받은 쓰기 응답 패킷에 시퀀스 및 순환잉여부호를 생성하여 이를 패킷 송신 인터페이스(421)를 통하여 PCI 익스프레스 물리계층(130)으로 전달하고 PCI 익스프레스 물리계층(130)에서는 이 패킷에 프레임 정보를 추가하여 PCI 익스프레스 링크(120)를 거쳐 업스트림 디바이스(110)로 전달하게 된다.
업스트림 디바이스(110)는 수신한 쓰기 응답 패킷에 대한 무결성 확인 패킷(Ack/Nak DLLP)을 생성하여 이를 PCI 익스프레스 링크(120)를 통하여 PCI 익스프레스 물리계층(130)으로 전달하고, PCI 익스프레스 물리계층(130)에 도달한 무결성 확인 패킷(Ack/Nak DLLP)은 패킷 수신 인터페이스(211)를 거쳐서 패킷 수신기(213)에 도달하며, 무결성 확인 패킷(Ack/Nak DLLP)이 도달하였다는 정보를 패킷 시퀀스 생성기(425)에게 알려준다. Nak 확인 패킷(Nak DLLP)이 도달하였거나 혹은 무결성 확인 패킷(Ack/Nak DLLP)이 일정 시간 동안 도달하지 않을 경우에 패킷 시퀀스 생성기(425)는 이전에 송신하였던 트랜잭션계층 패킷(TLP) 정보를 아직 가지고 있으므로 이 정보를 바탕으로 재송신을 수행하며, 이는 Ack 확인 패킷(Ack DLLP)이 도달했다는 정보를 수신할 때까지 계속된다.
Ack 확인 패킷(Ack DLLP)이 도달하였다는 정보를 패킷 시퀀스 생성기(425)가 알게 되면 패킷 시퀀스 생성기(425)는 이 정보를 수신 흐름 제어기(223)에게 알려준다. 수신 흐름 제어기(223)는 위의 과정을 통해 자신이 송신한 쓰기 응답 패킷이 업스트림 디바이스(110)에 완전히 도달하였다는 과정을 알게 되었으므로, 그 다음 쓰기 요청 패킷을 수신할 수 있게 되고 또다시 1개의 쓰기 요청 패킷을 수신할 수 있다는 사실을 패킷 송신기(423)에 알려 주어서 패킷 송신기(423)는 1개의 쓰기 요청 패킷을 또 수신할 수 있다는 정보를 가지는 흐름 제어 패킷을 생성하여 이를 패킷 송신 인터페이스(421)를 거쳐서 PCI 익스프레스 물리계층(130)으로 보내며 PCI 익스프레스 물리계층(130)은 흐름 제어 패킷에 프레임 정보를 붙여서 이를 PCI 익스프레스 링크(120)를 거쳐서 업스트림 디바이스(110)로 전달한다. 1개의 쓰기 요청 패킷을 다시 수신할 수 있다는 정보를 가진 흐름 제어 패킷을 수신한 업스트림 디바이스(110)는 그 다음에 쓰기 요청 패킷을 생성할 수 있게 된다.
도 2에서 응용 디바이스 계층(310)에 대한 읽기를 수행하는 과정은 다음과 같다. 도 2에는 도 1에 있던 수신 패킷 버퍼 메모리와 수신 패킷 검사기가 존재하지 않으므로 수신 패킷 판별기(221)는 1개의 읽기 요청 패킷만을 처리할 수 있도록 한정되어 있다. 따라서, 수신 흐름 제어기(223)에서는 1개의 읽기 요청 패킷을 받 아들일 수 있다는 정보를 PCI 익스프레스 데이터링크계층 송신부(420)의 내부에 있는 패킷 송신기(423)에 전달하고 그 정보로 패킷 송신기(423)는 흐름 제어 패킷(Flow Control DLLP)을 생성하여 패킷 송신 인터페이스(421)를 거쳐서 PCI 익스프레스 물리계층(130)에 전달한다. PCI 익스프레스 물리계층(130)은 흐름 제어 패킷에 프레임 정보를 붙여서 이를 PCI 익스프레스 링크(120)를 거쳐서 업스트림 디바이스(110)로 전달하게 되며, 업스트림 디바이스(110)는 1개의 읽기 요청 패킷을 생성하게 된다. 업스트림 디바이스(110)가 읽기 요청 패킷을 생성한 후에는 다음번에 다시 1개의 읽기 요청 패킷을 받아들일 수 있다는 정보를 가지고 있는 흐름 제어 패킷을 수신하기 전까지는 업스트림 디바이스(110)는 읽기 요청 패킷을 생성하지 못한다.
업스트림 디바이스(110)에서 생성된 1개의 읽기 요청 패킷은 PCI 익스프레스 링크(120)를 거쳐서 PCI 익스프레스 물리계층(130)에 도달하게 되며, 도달한 패킷은 프레임이 제거된 후 패킷 수신 인터페이스(211)를 거쳐서 수신 패킷 실시간 무결성 검사기(215)에 도달하는데, 수신 패킷 실시간 무결성 검사기(215)에서는 패킷을 저장함 없이 이를 수신 패킷 판별기(221)로 송신하면서, 시퀀스 검사와 순환잉여부호 검사를 수행하는데, 만약 전송하고 있는 패킷의 시퀀스와 순환잉여부호가 정확하다면 이 정보를 패킷 송신기(423)에 전달하여 Ack 확인 패킷(Ack DLLP)를 생성하도록 하고, 정확하지 않다면 이 정보를 패킷 송신기(423)에 전달하여 Nak 확인 패킷(Nak DLLP)을 생성하도록 함과 동시에 수신 패킷 판별기(221)에도 패킷이 불완전하다는 정보를 알려주어서 수신 패킷 판별기(221)에서 오류 패킷으로 이를 처리 하도록 한다. 읽기 패킷의 경우 트랜잭션은 헤더만으로 구성되어 있으므로, 추가적인 데이터를 저장할 메모리는 필요가 없다.
읽기 요청 패킷에 오류가 없을 경우에는 수신 패킷 판별기(221)는 읽기 응답 패킷을 만들어야 된다는 사실과 응답 패킷의 헤더 정보를 송신 패킷 생성기(413)에 알려주고 또한 응용 디바이스 계층(310)에서 데이터 읽기 동작을 수행하게 된다. 응용 디바이스 계층(310)은 읽기 동작이 완료된 후에 읽은 데이터(억세스 데이터)를 송신 패킷 생성기(413)에 넘겨주게 되는데, 본 발명에서는 입출력 트랜잭션만을 처리하므로, 읽기 요청 패킷에서 읽을 데이터의 양은 32-bit로 한정되어 있다. 따라서 32-bit를 넘는 읽기 요청 패킷은 수신 패킷 판별기(221)에서 이미 오류 패킷으로 판명되어 버려지며, 송신 패킷 생성기(413)에서는 32-bit로 구성된 데이터의 경로만 가지고 있으면 된다.
송신 흐름 제어기(411)는 이전에 업스트림 디바이스(110)로부터 PCI 익스프레스 링크(120)와 PCI 익스프레스 물리계층(130), 패킷 수신 인터페이스(211)를 거쳐 패킷 수신기(213)에 도착한 흐름 제어 패킷의 내용을 토대로 패킷 수신기(213)가 알려준 업스트림 디바이스(110)의 읽기 응답 패킷 수신 가능 여부를 송신 패킷 생성기(413)에게 알려주게 된다.
송신 패킷 생성기(413)는 송신 흐름 제어기(411)에서 읽기 응답 패킷을 송신해도 된다는 정보를 보내고 있다면, 이전에 수신 패킷 판별기(221)에서 수신한 읽기 응답 패킷의 헤더 정보와 응용 디바이스 계층(310)에서 보내주고 있는 읽은 데이터(억세스 데이터)를 결합하여 읽기 요청 패킷에 대한 읽기 응답 패킷을 생성하 여 이를 PCI 익스프레스 데이터링크계층 송신부(420)에 있는 패킷 시퀀스 생성기(425)에 전달하게 된다. 패킷 시퀀스 생성기(425)에서는 송신 패킷 생성기(413)로부터 받은 읽기 응답 패킷에 시퀀스 및 순환잉여부호를 생성하여 이를 패킷 송신 인터페이스(421)를 통하여 PCI 익스프레스 물리계층(130)으로 전달하고 PCI 익스프레스 물리계층(130)에서는 이 패킷에 프레임 정보를 추가하여 PCI 익스프레스 링크(120)를 거쳐 업스트림 디바이스(110)로 전달하게 된다.
업스트림 디바이스(110)는 수신한 읽기 응답 패킷에 대한 무결성 확인 패킷(Ack/Nak DLLP)을 생성하여 이를 PCI 익스프레스 링크(120)를 통하여 PCI 익스프레스 물리계층(130)으로 전달하게 되고 PCI 익스프레스 물리계층(130)에 도달한 무결성 확인 패킷(Ack/Nak DLLP)은 패킷 수신 인터페이스(211)를 거쳐서 패킷 수신기(213)에 도달하게 되며, 무결성 확인 패킷(Ack/Nak DLLP)이 도달하였다는 정보를 패킷 시퀀스 생성기(425)가 알려 주게 된다. Nak 확인 패킷(Nak DLLP)이 도달하였거나 혹은 무결성 확인 패킷(Ack/Nak DLLP)이 일정 시간 동안 도달하지 않을 경우에 패킷 시퀀스 생성기(425)는 이전에 송신하였던 트랜잭션링크 패킷(TLP) 정보를 아직 가지고 있으므로, 이 정보를 바탕으로 재송신을 수행하게 되며, 이는 Ack 확인 패킷(Ack DLLP)이 도달했다는 정보를 수신할 때까지 계속된다.
Ack 확인 패킷(Ack DLLP)이 도달하였다는 정보를 패킷 시퀀스 생성기(425)가 알게 되면 패킷 시퀀스 생성기(425)는 이 정보를 수신 흐름 제어기(223)에게 알려주게 된다. 수신 흐름 제어기(223)는 위의 과정을 통해 자신이 송신한 읽기 응답 패킷이 업스트림 디바이스(110)에 완전히 도달하였다는 과정을 알게 되었으므로, 그 다음 읽기 요청 패킷을 수신할 수 있게 되고 또다시 1개의 읽기 요청 패킷을 수신할 수 있다는 사실을 패킷 송신기(423)에 알려 주어서 패킷 송신기(423)는 1개의 읽기 요청 패킷을 또 수신할 수 있다는 정보를 가지는 흐름 제어 패킷을 생성하여 이를 패킷 송신 인터페이스(421)를 거쳐서 PCI 익스프레스 물리계층(130)으로 보내며 PCI 익스프레스 물리계층(130)은 흐름 제어 패킷에 프레임 정보를 붙여서 이를 PCI 익스프레스 링크(120)를 거쳐서 업스트림 디바이스(110)로 전달한다. 1개의 읽기 요청 패킷을 다시 수신할 수 있다는 정보를 가진 흐름 제어 패킷을 수신한 업스트림 디바이스(110)는 그 다음에 읽기 요청 패킷을 생성할 수 있게 된다.
도 3은 수신 패킷 실시간 무결성 검사기(215)의 내부 구조를 나타낸 것이다.
PCI 익스프레스 물리계층(130)으로부터 수신된 트랜잭션계층 패킷(TLP)은 패킷 수신 인터페이스(211)에서 32-bit 단위로 정렬되어서, 32-bit 단위로 정렬된 패킷의 내용은 일정한 주기로 1개씩 실시간으로 데이터 파이프라인 레지스터(2151)로 보내어진다. 패킷 수신 인터페이스(211)는 패킷의 처음과 끝에 대한 정보를 무결성 검사기(2159)에 알려주어서 무결성 검사기(2159)는 32-bit 데이터 임시 저장 레지스터에 존재하는 패킷의 내용이 처음에 있는 시퀀스 정보인지, 중간의 트랜잭션계층 패킷(TLP) 내용인지, 마지막에 있는 순환잉여부호인지를 판별한다. 데이터 파이프라인 레지스터(2151)의 내용은 또한 CRC 생성기(2153)에 입력되어서 32-bit 단위로 분리되어 있는 패킷의 내용에 대한 CRC를 생성하게 된다. 32-bit CRC 생성을 위해서는 두 개의 값이 필요한데, 일반적으로는 CRC 생성기(2153)의 출력값과 데이터 파이프라인 레지스터(2151)에서 수신한 값으로 32-bit CRC를 생성하지만, 패킷의 처음일 경우에는 패킷 수신 인터페이스(211)에서 패킷의 처음이라는 정보를 CRC 생성기(2153)에 알려주게 되며, 패킷의 처음에 CRC 생성에서는 이전에 저장하고 있는 CRC 생성기(2153)의 출력값 대신에 32-bit 각 비트가 모두 '1'로 되어 있는 값을 사용하여 처음의 CRC 생성기(2153)의 출력을 생성한다.
데이터 파이프라인 레지스터(2151)에 실시간으로 입력되는 32-bit 단위의 패킷 데이터의 내용은 헤더 정보 추출기(2155)에서 헤더에서 의미 있는 내용만을 분리하여 임시 저장하고 데이터 추출기(2157)에서는 데이터만을 분리하여 임시 저장하게 되는데, 패킷에서 마지막으로 입력되는 순환잉여부호까지 데이터 파이프라인 레지스터(2151)에 모두 입력되면, 무결성 검사기(2159)에서는 여태까지 계산한 CRC 생성기(2153)의 출력값과 데이터 파이프라인 레지스터(2151)에 입력된 순환잉여부호 값과 비교하여 헤더 정보 추출기(2155)에 있는 내용과 데이터 추출기(2157)에 있는 내용의 무결성 여부를 수신 패킷 판별기(640)에 알려주게 된다. 패킷 데이터에 결점이 없다는 것이 확인되었을 때에만 수신 패킷 판별기(640)는 응용 디바이스 계층(310)에서 읽기나 쓰기 동작을 수행하게 되며, 패킷에서 결점이 발견되면, 수신 패킷 판별기(640)에서는 입력되고 있는 헤더 정보 추출기(2155)의 내용과 데이터 추출기(2157)의 내용을 무시하게 된다. 수신 패킷 실시간 무결성 검사기(215)에서는 32-bit 단위의 데이터를 파이프라인 방식으로 계속 받아들이는 작용을 수행하며, 패킷이 완전히 도착할 때까지 기다리는 동작을 하지 않으므로, 그 내부에는 패킷의 저장을 위한 메모리를 사용하지 않게 된다. 따라서, 본 발명에서 제시하는 내 용은 도1에서 요구하는 수신 패킷 버퍼 메모리(420)를 필요로 하지 않으며, 또한 수신 패킷 판별기(640)에서도 패킷이 저장되는 형태가 아니므로, 도 1에서 요구하는 가상 채널 메모리(610)를 사용하지 않아서 PCI 익스프레스 데이터링크계층 수신부(400)와 PCI 익스프레스 트랜잭션계층 수신부(600)에서는 전혀 메모리 소자를 사용하지 않게 된다.
도 4는 응용 디바이스 계층(310)과의 인터페이스를 도시한 그림으로 헤더 정보 추출기(2155)와 데이터 추출기(2157)에 존재하는 요청 패킷이 입출력 트랜잭션일 경우에는 입출력 트랜잭션 판별기(2211)를 통하여 주소 생성기(2213)와 읽기/쓰기 신호 생성기(2215)와 데이터 인터페이스(2217)로 전달되며, 또한 응답 패킷의 헤더 정보를 송신 패킷 생성기(413)에 전달하게 된다. 요청 패킷이 쓰기 요청 패킷이었을 경우에는 주소 생성기(2213)에서 응용 디바이스 계층(310)에 적합한 주소를 생성하고 읽기/쓰기 신호 생성기(2215)에서는 쓰기 신호를 생성하여서 데이터 인터페이스(2217)를 통하여 입력되는 데이터를 응용 디바이스 계층(310)에 전달하게 된다. 응용 디바이스 계층(310)에서는 쓰기 동작이 완료되었다는 사실을 데이터 응답기(4131)에게 알려주게 되며, 쓰기 동작이 완료되면, 송신 패킷 생성기(413)는 이전에 입출력 트랜잭션 판별기(2211)를 통하여 수신한 헤더 정보를 가지고 쓰기 응답 패킷을 생성하게 된다. 요청 패킷이 읽기 요청 패킷이었을 경우에는 주소 생성기(2213)에서 응용 디바이스 계층(310)에 적합한 주소를 생성하고 읽기/쓰기 신호 생성기(2215)에서는 읽기 신호를 생성하게 되며, 응용 디바이스 계층(310)에서는 데이터 응답기(4131)로 읽은 데이터(억세스 데이터)를 전달하게 된다. 송신 패킷 생성기(413)에서는 이전에 입출력 트랜잭션 판별기(2211)에서 수신한 응답 패킷의 헤더 정보와 데이터 응답기(4131)에 존재하는 데이터를 결합하여 읽기 응답 패킷을 생성하게 된다. 응용 디바이스 계층(310)에서 처리하는 패킷은 읽기/쓰기 요청 패킷 통틀어 1개이며, 입출력 트랜잭션의 경우에 처리하는 데이터량은 32-bit로 한정되어 있으므로, 응용 디바이스 계층(310)에서 데이터 응답기(4131)로 제공하는 응답 패킷에 관련된 데이터폭이 32-bit이하이면, 송신 패킷 생성기(413)에서는 요청 패킷에 대한 응답 패킷의 데이터를 저장하기 위해 도 1에서 사용된 송신 데이터 정렬 메모리가 필요 없게 되어서 PCI 익스프레스 트랜잭션계층 송신부(410)에서는 메모리 소자를 사용하는 부분이 없게 된다.
도 5는 요청 패킷에 대한 응답 패킷을 생성하고 응답 패킷이 완료될 때까지 응답 패킷을 생성할 내용을 유지하여서 재전송을 위한 별도의 메모리가 필요 없는 구조를 나타내고 있다.
입출력 트랜잭션 판별기(2211)에서 수신한 헤더를 생성하기 위한 정보로 헤더 생성기(4133)에서는 헤더를 생성하고 데이터 응답기(4131)의 출력값으로 데이터 부분을 생성한 후 이 두 정보를 패킷 결합기(4135)로 보내서 패킷 결합기(4135)에서는 완전한 트랜잭션계층 패킷(TLP)을 생성하도록 한다. 시퀀스 생성기(4251)에서는 시퀀스 정보를 생성하고, CRC 생성기(4253)에서는 시퀀스 생성기(4251)와 패킷 결합기(4135)의 내용을 바탕으로 CRC를 생성한다. 데이터 선택기(4255)에서는 시퀀 스 생성기(4251)의 출력, 패킷 결합기(4135)의 출력, CRC 생성기(4253)의 출력의 순서대로 응답 패킷을 32-bit 단위로 분리하여 32-bit의 파이프라인 레지스터(4257)로 출력한다.
파이프라인 레지스터(4257)의 출력값은 패킷 송신 인터페이스(421)를 거쳐서 PCI 익스프레스 물리계층(130)에 도달하게 되며 PCI 익스프레스 물리계층(130)에서는 응답 패킷의 앞과 뒤에 프레임 정보를 붙여서 이를 PCI 익스프레스 링크(120)를 통하여 업스트림 디바이스(110)에게 전달한다. 업스트림 디바이스(110)는 수신한 응답 패킷에 대한 Ack 확인 패킷(Nak DLLP)이나 Nak 확인 패킷(Nak DLLP)을 생성하여 이를 PCI 익스프레스 링크(120)를 통하여 PCI 익스프레스 물리계층(130)으로 전달하며, PCI 익스프레스 물리계층(130)에서는 수신한 Ack 확인 패킷(Nak DLLP)이나 Nak 확인 패킷(Nak DLLP)을 패킷 수신 인터페이스(211)를 거쳐서 패킷 수신기(213)에 전달한다. 패킷 수신기(213)는 응답 패킷에 대한 수신 여부가 Ack인지 Nak인지를 판별하여 이를 데이터 선택기(4255)에게 알려주게 되는데, Nak이었을 경우에 데이터 선택기(4255)는 이전에 송신한 응답 패킷을 파이프라인 레지스터(4257)로 재송신하게 된다. 이와 별도로 데이터 선택기(4255)는 처음 응답 패킷을 송신할 때 응답 타이머(4259)를 동작시켜서, 일정 시간이 지난 후에도 Ack나 Nak가 전혀 수신되지 않았을 때에도 응답 타이머(4259)의 타임아웃 정보에 따라서 재송신을 진행하게 된다. 패킷 수신기(213)로부터 받은 패킷이 Ack이었을 경우에 데이터 선택기(4255)는 수신 흐름 제어기(223)에게 응답 패킷이 잘 전달되었음을 알려주고 수신 흐름 제어기(223)는 패킷 송신기(423)로 흐름 제어 패킷을 생성하도록 지시한 다. 패킷 송신기(423)는 흐름 제어 패킷을 생성하여 패킷 송신 인터페이스(421)를 통하여 PCI 익스프레스 물리계층(130)으로 전달하고 PCI 익스프레스 물리계층(130)은 흐름 제어 패킷에 프레임 정보를 붙여서 이를 PCI 익스프레스 링크(120)를 통하여 업스트림 디바이스(110)로 전달함으로써, 업스트림 디바이스(110)는 다시 요청 패킷을 생성할 수 있게 된다. 그 다음 요청 패킷을 생성하기 전까지는 응답 패킷의 내용을 알려주고 있는 패킷 결합기(4135)의 정보가 계속 유지되기 때문에, PCI 익스프레스 데이터링크계층 송신부(420)에서는 도 1의 재송신 버퍼 메모리를 사용하지 않고도 재송신을 진행하고 응답 패킷의 완전한 도착을 보장할 수 있다.
도 1은 종래 기술에 따른 PCI 익스프레스 프로토콜 처리 장치의 블록 구성도,
도 2는 본 발명의 실시예에 따른 PCI 익스프레스 프로토콜 처리 장치의 블록 구성도,
도 3은 도 2에 도시된 PCI 익스프레스 프로토콜 처리 장치의 수신 패킷 실시간 무결성 검사기의 세부적인 구성을 나타낸 도면,
도 4는 도 2에 도시된 PCI 익스프레스 프로토콜 처리 장치의 수신 패킷 판별기의 세부적인 구성을 나타낸 도면,
도 5는 도 2에 도시된 PCI 익스프레스 프로토콜 처리 장치의 PCI 익스프레스 데이터링크계층 송신부의 세부적인 구성을 나타낸 도면.
<도면의 주요 부분에 대한 부호의 설명>
110 : 업스트림 디바이스
120 : PCI 익스프레스 링크
130 : PCI 익스프레스 물리계층
210 : PCI 익스프레스 데이터링크계층 수신부
220 : PCI 익스프레스 트랜잭션계층 수신부
310 : 응용 디바이스 계층
410 : PCI 익스프레스 트랜잭션계층 송신부
420 : PCI 익스프레스 데이터링크계층 송신부

Claims (20)

  1. 쓰기 요청 패킷을 받아들일 수 있다는 상태 정보를 PCI 익스프레스 데이터링크계층 송신부에게 전달하며, 상기 쓰기 요청 패킷을 저장하지 않는 실시간 처리를 통해 응용 디바이스 계층에 대한 데이터 쓰기 동작을 수행하는 PCI 익스프레스 트랜잭션계층 수신부와,
    상기 상태 정보에 따라 흐름 제어 패킷을 생성하여 PCI 익스프레스 물리계층에게 전달하며, 상기 쓰기 요청 패킷에 대한 무결성 확인 패킷을 상기 PCI 익스프레스 물리계층에게 전달하는 상기 PCI 익스프레스 데이터링크계층 송신부와,
    상기 흐름 제어 패킷 및 상기 무결성 확인 패킷을 업스트림 디바이스로 전달하며, 상기 업스트림 디바이스로부터 전달받은 상기 쓰기 요청 패킷을 상기 PCI 익스프레스 데이터링크계층 수신부에게 전달하는 PCI 익스프레스 물리계층과,
    상기 PCI 익스프레스 물리계층으로부터 수신한 상기 쓰기 요청 패킷을 저장하지 않는 실시간 처리를 통해 상기 PCI 익스프레스 트랜잭션계층 수신부로 송신하면서 실시간 무결성 검사를 수행한 결과에 따라 상기 PCI 익스프레스 데이터링크계층 송신부 및 상기 PCI 익스프레스 트랜잭션계층 수신부에게 상기 무결성 확인 패킷을 전달하는 상기 PCI 익스프레스 데이터링크계층 수신부를 포함하는
    PCI 익스프레스 프로토콜 처리 장치.
  2. 제 1 항에 있어서,
    상기 PCI 익스프레스 프로토콜 처리 장치는, 상기 응용 디바이스 계층의 쓰기 완료 동작 여부에 의거하여 상기 쓰기 요청 패킷에 대한 쓰기 응답 패킷을 생성한 후에 상기 PCI 익스프레스 데이터링크계층 송신부에게 전달하여 최종적으로 상기 업스트림 디바이스에게 전달되도록 하는 PCI 익스프레스 트랜잭션계층 송신부를 더 포함하는
    PCI 익스프레스 프로토콜 처리 장치.
  3. 제 2 항에 있어서,
    상기 PCI 익스프레스 데이터링크계층 송신부는, 상기 쓰기 응답 패킷에 대한 무결성 확인 패킷으로 Nak(Negative-acknowledge) 확인 패킷이 도달하거나 상기 무결성 확인 패킷이 일정 시간 동안 도달하지 않을 경우에 이전에 송신하였던 트랜잭션계층 패킷 정보를 바탕으로 재송신을 수행하는
    PCI 익스프레스 프로토콜 처리 장치.
  4. 제 2 항에 있어서,
    상기 PCI 익스프레스 트랜잭션계층 수신부는, 재송신을 위해 이전 패킷의 내용을 유지하며, 상기 PCI 익스프레스 데이터링크계층 송신부가 상기 쓰기 응답 패킷에 대한 무결성 확인 패킷으로 Ack(Acknowledge) 확인 패킷이 도달하였다고 알려주면 새로운 상기 쓰기 요청 패킷을 받아들일 수 있다는 상태 정보를 상기 PCI 익스프레스 데이터링크계층 송신부에게 전달하는
    PCI 익스프레스 프로토콜 처리 장치.
  5. 제 2 항에 있어서,
    상기 PCI 익스프레스 데이터링크계층 수신부는,
    상기 PCI 익스프레스 물리계층과의 인터페이스를 제공하는 패킷 수신 인터페이스와,
    상기 패킷 수신 인터페이스를 통해 전달받은 상기 쓰기 요청 패킷을 저장하지 않는 상기 실시간 무결성 검사를 통해 시퀀스 검사와 순환잉여부호 검사를 실시간으로 수행하는 수신 패킷 실시간 무결성 검사기와,
    상기 패킷 수신 인터페이스를 통해 수신한 상기 흐름 제어 패킷의 내용을 토대로 하여 상기 업스트림 디바이스에 의한 상기 쓰기 응답 패킷의 수신 가능 여부를 상기 PCI 익스프레스 트랜잭션계층 송신부에게 알려주는 패킷 수신기를 포함하는
    PCI 익스프레스 프로토콜 처리 장치.
  6. 제 5 항에 있어서,
    상기 수신 패킷 실시간 무결성 검사기는,
    상기 PCI 익스프레스 물리계층으로부터 수신된 트랜잭션계층 패킷의 내용이 정렬되어 일정한 주기로 1개씩 실시간으로 입력되는 데이터 파이프라인 레지스터와,
    상기 트랜잭션계층 패킷의 내용에 대한 CRC를 생성하는 CRC 생성기와,
    상기 트랜잭션계층 패킷의 헤더에서 의미 있는 내용을 분리하여 임시 저장하는 헤더 정보 추출기와,
    상기 트랜잭션계층 패킷에서 데이터를 분리하여 임시 저장하는 데이터 추출기와,
    상기 CRC 생성기의 출력값과 상기 데이터 파이프라인 레지스터에 입력된 순환잉여부호 값을 비교하여 상기 헤더 정보 추출기에 있는 내용과 상기 데이터 추출기에 있는 내용의 무결성 여부를 검사하는 무결성 검사기를 포함하는
    PCI 익스프레스 프로토콜 처리 장치.
  7. 제 2 항에 있어서,
    상기 PCI 익스프레스 트랜잭션계층 수신부는,
    상기 쓰기 요청 패킷을 저장하지 않는 실시간 처리를 통해 오류를 판별한결과에 따라 상기 쓰기 응답 패킷을 만들어야 된다는 사실과 상기 쓰기 응답 패킷의 헤더 정보를 상기 PCI 익스프레스 트랜잭션계층 송신부에게 알려주는 수신 패킷 판별기와,
    상기 수신 패킷 판별기에 대한 상기 상태 정보를 상기 PCI 익스프레스 데이터링크계층 송신부에게 전달하는 수신 흐름 제어기를 포함하는
    PCI 익스프레스 프로토콜 처리 장치.
  8. 제 7 항에 있어서,
    상기 수신 패킷 판별기는,
    상기 PCI 익스프레스 데이터링크계층 수신부로부터 수신한 요청 패킷에 대해 저장하지 않는 실시간 처리를 통해 입출력 트랜잭션을 판별하는 입출력 트랜잭션 판별기와,
    상기 입출력 트랜잭션 판별기가 상기 쓰기 요청 패킷으로 판별하면 상기 응용 디바이스 계층에 적합한 주소를 생성하여 상기 응용 디바이스 계층에게 제공하는 주소 생성기와,
    상기 입출력 트랜잭션 판별기가 상기 쓰기 요청 패킷으로 판별하면 쓰기 신호를 생성하여 상기 응용 디바이스 계층에게 제공하는 읽기/쓰기 신호 생성기와,
    상기 입출력 트랜잭션 판별기가 상기 쓰기 요청 패킷으로 판별하면 상기 쓰기 요청 패킷의 데이터를 상기 응용 디바이스 계층에게 제공하는 데이터 인터페이스를 포함하는
    PCI 익스프레스 프로토콜 처리 장치.
  9. 제 8 항에 있어서,
    상기 입출력 트랜잭션 판별기는, 상기 PCI 익스프레스 데이터링크계층 수신부로부터 수신한 응답 패킷의 헤더 정보를 상기 PCI 익스프레스 트랜잭션계층 송신부에게 전달하며,
    상기 PCI 익스프레스 트랜잭션계층 송신부는, 상기 응용 디바이스 계층의 쓰 기 동작이 완료되면 이전에 상기 입출력 트랜잭션 판별기를 통하여 수신한 상기 헤더 정보를 가지고 상기 쓰기 응답 패킷을 생성하는 데이터 응답기를 포함하는
    PCI 익스프레스 프로토콜 처리 장치.
  10. 제 7 항에 있어서,
    상기 PCI 익스프레스 트랜잭션계층 송신부는,
    이전에 상기 PCI 익스프레스 데이터링크계층 수신부에 도착한 상기 흐름 제어 패킷의 내용을 토대로 하여 상기 업스트림 디바이스에 의한 상기 쓰기 응답 패킷의 수신 가능 여부를 파악하여 상기 쓰기 응답 패킷의 송신을 결정하는 송신 흐름 제어기와,
    상기 송신 흐름 제어기가 상기 쓰기 응답 패킷의 송신을 결정하면 이전에 수신한 상기 헤더 정보와 상기 응용 디바이스 계층에서 실시간으로 받은 쓰기 완료 동작 여부를 결합하여 상기 쓰기 응답 패킷을 생성한 후에 상기 PCI 익스프레스 데이터링크계층 송신부에게 전달하는 송신 패킷 생성기를 포함하는
    PCI 익스프레스 프로토콜 처리 장치.
  11. 제 7 항에 있어서,
    상기 PCI 익스프레스 데이터링크계층 송신부는,
    상기 PCI 익스프레스 물리계층과의 인터페이스를 제공하는 패킷 송신 인터페이스와,
    상기 PCI 익스프레스 트랜잭션계층 수신부로부터 전달받은 상기 상태 정보로 상기 흐름 제어 패킷을 생성하여 상기 패킷 송신 인터페이스를 거쳐서 상기 PCI 익스프레스 물리계층에게 전달하는 패킷 송신기와,
    상기 쓰기 요청 패킷에 대한 상기 무결성 확인 패킷을 상기 패킷 송신 인터페이스를 거쳐서 상기 PCI 익스프레스 물리계층에게 전달하거나 상기 쓰기 응답 패킷에 시퀀스 및 순환잉여부호를 생성하여 상기 패킷 송신 인터페이스를 거쳐서 상기 PCI 익스프레스 물리계층에게 전달하는 패킷 시퀀스 생성기를 포함하는
    PCI 익스프레스 프로토콜 처리 장치.
  12. 읽기 요청 패킷을 받아들일 수 있다는 상태 정보를 PCI 익스프레스 데이터링크계층 송신부에게 전달하는 PCI 익스프레스 트랜잭션계층 수신부와,
    상기 상태 정보에 따라 흐름 제어 패킷을 생성하여 PCI 익스프레스 물리계층에게 전달하며, 상기 읽기 요청 패킷에 대한 무결성 확인 패킷을 상기 PCI 익스프레스 물리계층에게 전달하는 PCI 익스프레스 데이터링크계층 송신부와,
    상기 흐름 제어 패킷 및 상기 무결성 확인 패킷을 업스트림 디바이스로 전달하며, 상기 업스트림 디바이스로부터 전달받은 상기 읽기 요청 패킷을 상기 PCI 익스프레스 데이터링크계층 수신부에게 전달하는 PCI 익스프레스 물리계층과,
    상기 PCI 익스프레스 물리계층으로부터 수신한 상기 읽기 요청 패킷을 저장하지 않는 실시간 처리를 통해 상기 PCI 익스프레스 트랜잭션계층 수신부로 송신하면서 실시간 무결성 검사를 수행한 결과에 따라 상기 PCI 익스프레스 데이터링크계 층 송신부 및 상기 PCI 익스프레스 트랜잭션계층 수신부에게 상기 무결성 확인 패킷을 전달하는 상기 PCI 익스프레스 데이터링크계층 수신부와,
    상기 응용 디바이스 계층으로부터 정렬 없이 제공받은 억세스 데이터를 토대로 하여 상기 읽기 요청 패킷에 대한 읽기 응답 패킷을 생성한 후에 상기 PCI 익스프레스 데이터링크계층 송신부에게 전달하여 최종적으로 상기 업스트림 디바이스에게 전달되도록 하는 PCI 익스프레스 트랜잭션계층 송신부를 포함하는
    PCI 익스프레스 프로토콜 처리 장치.
  13. 제 12 항에 있어서,
    상기 PCI 익스프레스 데이터링크계층 송신부는, 상기 읽기 응답 패킷에 대한 무결성 확인 패킷으로 Nak(Negative-acknowledge) 확인 패킷이 도달하거나 상기 무결성 확인 패킷이 일정 시간 동안 도달하지 않을 경우에 이전에 송신하였던 트랜잭션계층 패킷 정보를 바탕으로 재송신을 수행하는
    PCI 익스프레스 프로토콜 처리 장치.
  14. 제 12 항에 있어서,
    상기 PCI 익스프레스 트랜잭션계층 수신부는, 재송신을 위해 이전 패킷의 내용을 유지하며, 상기 PCI 익스프레스 데이터링크계층 송신부가 상기 읽기 응답 패킷에 대한 무결성 확인 패킷으로 Ack(Acknowledge) 확인 패킷이 도달하였다고 알려주면 새로운 상기 읽기 요청 패킷을 받아들일 수 있다는 상태 정보를 상기 PCI 익 스프레스 데이터링크계층 송신부에게 전달하는
    PCI 익스프레스 프로토콜 처리 장치.
  15. 제 12 항에 있어서,
    상기 PCI 익스프레스 데이터링크계층 수신부는,
    상기 PCI 익스프레스 물리계층과의 인터페이스를 제공하는 패킷 수신 인터페이스와,
    상기 패킷 수신 인터페이스를 통해 전달받은 상기 읽기 요청 패킷을 저장하지 않는 상기 실시간 무결성 검사를 통해 시퀀스 검사와 순환잉여부호 검사를 실시간으로 수행하는 수신 패킷 실시간 무결성 검사기와,
    상기 패킷 수신 인터페이스를 통해 수신한 상기 흐름 제어 패킷의 내용을 토대로 하여 상기 업스트림 디바이스에 의한 상기 읽기 응답 패킷의 수신 가능 여부를 상기 PCI 익스프레스 트랜잭션계층 송신부에게 알려주는 패킷 수신기를 포함하는
    PCI 익스프레스 프로토콜 처리 장치.
  16. 제 12 항에 있어서,
    상기 PCI 익스프레스 트랜잭션계층 수신부는,
    상기 읽기 요청 패킷을 저장하지 않는 실시간 처리를 통해 오류를 판별한 결과에 따라 상기 읽기 응답 패킷을 만들어야 된다는 사실과 상기 읽기 응답 패킷의 헤더 정보를 상기 PCI 익스프레스 트랜잭션계층 송신부에게 알려주는 수신 패킷 판별기와,
    상기 수신 패킷 판별기에 대한 상기 상태 정보를 상기 PCI 익스프레스 데이터링크계층 송신부에게 전달하는 수신 흐름 제어기를 포함하는
    PCI 익스프레스 프로토콜 처리 장치.
  17. 제 16 항에 있어서,
    상기 PCI 익스프레스 트랜잭션계층 송신부는,
    이전에 상기 PCI 익스프레스 데이터링크계층 수신부에 도착한 상기 흐름 제어 패킷의 내용을 토대로 하여 상기 업스트림 디바이스에 의한 상기 일기 응답 패킷의 수신 가능 여부를 파악하여 상기 읽기 응답 패킷의 송신을 결정하는 송신 흐름 제어기와,
    상기 송신 흐름 제어기가 상기 읽기 응답 패킷의 송신을 결정하면 이전에 수신한 상기 헤더 정보와 상기 응용 디바이스 계층으로부터 정렬 없이 제공받은 억세스 데이터를 결합하여 상기 읽기 응답 패킷을 생성한 후에 상기 PCI 익스프레스 데이터링크계층 송신부에게 전달하는 송신 패킷 생성기를 포함하는
    PCI 익스프레스 프로토콜 처리 장치.
  18. 제 12 항에 있어서,
    상기 PCI 익스프레스 데이터링크계층 송신부는,
    상기 PCI 익스프레스 물리계층과의 인터페이스를 제공하는 패킷 송신 인터페이스와,
    상기 PCI 익스프레스 트랜잭션계층 수신부로부터 전달받은 상기 상태 정보로 상기 흐름 제어 패킷을 생성하여 상기 패킷 송신 인터페이스를 거쳐서 상기 PCI 익스프레스 물리계층에게 전달하는 패킷 송신기와,
    상기 읽기 요청 패킷에 대한 상기 무결성 확인 패킷을 상기 패킷 송신 인터페이스를 거쳐서 상기 PCI 익스프레스 물리계층에게 전달하거나 상기 읽기 응답 패킷에 시퀀스 및 순환잉여부호를 생성하여 상기 패킷 송신 인터페이스를 거쳐서 상기 PCI 익스프레스 물리계층에게 전달하는 패킷 시퀀스 생성기를 포함하는
    PCI 익스프레스 프로토콜 처리 장치.
  19. 제 18 항에 있어서,
    상기 패킷 시퀀스 생성기는,
    상기 PCI 익스프레스 트랜잭션계층 송신부로부터 수신되는 트랜잭션계층 패킷에 대해 시퀀스 정보를 생성하는 시퀀스 생성기와,
    상기 트랜잭션계층 패킷의 내용과 상기 시퀀스 정보를 바탕으로 CRC를 생성하는 CRC 생성기와,
    상기 시퀀스 생성기의 출력, 상기 송신 패킷 생성기의 출력, 상기 CRC 생성기의 출력의 순서대로 응답 패킷을 소정 비트 단위로 분리하는 데이터 선택기와,
    상기 데이터 선택기에 의해 분리된 상기 응답 패킷을 임시 저장한 후에 상기 패킷 송신 인터페이스로 출력하는 파이프라인 레지스터를 포함하는
    PCI 익스프레스 프로토콜 처리 장치.
  20. 제 19 항에 있어서,
    상기 데이터 선택기는, 상기 응답 패킷을 송신할 때 응답 타이머를 동작시켜서 일정 시간이 지난 후에도 상기 응답 패킷에 대한 무결성 확인 패킷이 수신되지 않으면 상기 응답 타이머의 타임아웃 정보에 따라서 재송신을 진행하는
    PCI 익스프레스 프로토콜 처리 장치.
KR1020090123330A 2009-12-11 2009-12-11 Pci 익스프레스 프로토콜 처리 장치 KR101283482B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020090123330A KR101283482B1 (ko) 2009-12-11 2009-12-11 Pci 익스프레스 프로토콜 처리 장치
US12/783,198 US8166227B2 (en) 2009-12-11 2010-05-19 Apparatus for processing peripheral component interconnect express protocol
CN2010102027477A CN102098212B (zh) 2009-12-11 2010-06-11 用于处理外围组件互连快速协议的设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090123330A KR101283482B1 (ko) 2009-12-11 2009-12-11 Pci 익스프레스 프로토콜 처리 장치

Publications (2)

Publication Number Publication Date
KR20110066602A true KR20110066602A (ko) 2011-06-17
KR101283482B1 KR101283482B1 (ko) 2013-07-12

Family

ID=44131084

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090123330A KR101283482B1 (ko) 2009-12-11 2009-12-11 Pci 익스프레스 프로토콜 처리 장치

Country Status (3)

Country Link
US (1) US8166227B2 (ko)
KR (1) KR101283482B1 (ko)
CN (1) CN102098212B (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130113269A (ko) * 2012-04-05 2013-10-15 한국전자통신연구원 PCIe 스위치 장치 및 그의 접속제어 방법
KR101420306B1 (ko) * 2012-10-09 2014-07-23 주식회사 시큐아이 패킷을 처리하는 방법 및 이를 위한 장치

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8170062B2 (en) * 2009-04-29 2012-05-01 Intel Corporation Packetized interface for coupling agents
US8799550B2 (en) * 2010-07-16 2014-08-05 Advanced Micro Devices, Inc. System and method for increased efficiency PCI express transaction
US9146610B2 (en) * 2010-09-25 2015-09-29 Intel Corporation Throttling integrated link
US20120243622A1 (en) * 2011-03-23 2012-09-27 Broadcom Corporation Method and apparatus for improving the error rate of a serial/de-serial backplane connection
US8832331B2 (en) 2011-08-29 2014-09-09 Ati Technologies Ulc Data modification for device communication channel packets
US8943257B2 (en) * 2011-09-30 2015-01-27 Intel Corporation Protocol neutral fabric
CN104956347B (zh) * 2013-02-28 2018-05-22 英特尔公司 将一种互连协议的枚举和/或配置机制用于不同的互连协议
US11217323B1 (en) 2020-09-02 2022-01-04 Stmicroelectronics International N.V. Circuit and method for capturing and transporting data errors
US11698833B1 (en) 2022-01-03 2023-07-11 Stmicroelectronics International N.V. Programmable signal aggregator

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5815167A (en) 1996-06-27 1998-09-29 Intel Corporation Method and apparatus for providing concurrent access by a plurality of agents to a shared memory
KR20040063454A (ko) 2003-01-07 2004-07-14 삼성전자주식회사 통합 메모리를 가지는 씨피유-피씨아이 브리지 통합 장치및 그 통합 메모리와, 그 통합 메모리의 운용방법
KR20050100445A (ko) 2004-04-14 2005-10-19 학교법인 영남학원 Pci 익스프레스의 데이터 연결계층에서 송신단 버퍼를이용한 데이터 전송방법
TWI344602B (en) * 2005-01-13 2011-07-01 Infortrend Technology Inc Redundant storage virtualization computer system
JP4878185B2 (ja) 2006-03-17 2012-02-15 株式会社リコー データ通信回路および調停方法
WO2008028910A1 (en) * 2006-09-06 2008-03-13 Thomson Licensing Device for processing a stream of data words
KR100846352B1 (ko) 2006-12-28 2008-07-15 전자부품연구원 4 x pci―express 프레임 변환 모듈 및 이를이용한 pci―express 프레임 변환 장치
CN101068140B (zh) * 2007-06-27 2010-06-16 中兴通讯股份有限公司 一种实现主/备pci设备切换的装置和方法
US7792014B2 (en) 2007-09-28 2010-09-07 Integrated Device Technology, Inc. Method of skipping nullified packets during mass replay from replay buffer
CN101324912B (zh) * 2008-07-30 2010-06-23 中国航天科工集团第二研究院七○六所 一种可信安全计算机

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130113269A (ko) * 2012-04-05 2013-10-15 한국전자통신연구원 PCIe 스위치 장치 및 그의 접속제어 방법
KR101420306B1 (ko) * 2012-10-09 2014-07-23 주식회사 시큐아이 패킷을 처리하는 방법 및 이를 위한 장치

Also Published As

Publication number Publication date
KR101283482B1 (ko) 2013-07-12
US20110145469A1 (en) 2011-06-16
CN102098212B (zh) 2013-10-16
CN102098212A (zh) 2011-06-15
US8166227B2 (en) 2012-04-24

Similar Documents

Publication Publication Date Title
KR101283482B1 (ko) Pci 익스프레스 프로토콜 처리 장치
US10430374B2 (en) Selective acknowledgement of RDMA packets
EP0525985B1 (en) High speed duplex data link interface
US8402343B2 (en) Reliable packet cut-through
US8559365B2 (en) After transmission return signal
US11381514B2 (en) Methods and apparatus for early delivery of data link layer packets
US7710973B2 (en) Error masking for data transmission using received data
US20090059928A1 (en) Communication apparatus, communication system, absent packet detecting method and absent packet detecting program
CN101510816B (zh) 基于路径关联化的多路径并行传输方法
WO2011046056A1 (ja) パケット通信の伝送制御方法及びパケット通信システム
EP1124362A2 (en) Apparatus for processing TCP/IP by hardware, and operating method therefor
US20070071005A1 (en) System and method for implementing ASI over long distances
US20090225775A1 (en) Serial Buffer To Support Reliable Connection Between Rapid I/O End-Point And FPGA Lite-Weight Protocols
RU2651242C1 (ru) Способ передачи данных
JP2006087124A (ja) ブロードバンド・エンジンのためのエンベロープ・パケット・アーキテクチュア
JP2778373B2 (ja) 再送機能付きバッファ装置
US10270560B2 (en) Communication device and retransmission control method
US20120072520A1 (en) System and Method for Establishing Reliable Communication in a Connection-Less Environment
JP6933207B2 (ja) 送信装置、方法およびプログラム
US6694386B1 (en) Data transfer apparatus that performs retransmission control and transfers data in real time
CN100403733C (zh) 串行传输接口的数据处理方法与系统
JPWO2010103607A1 (ja) データ転送装置及びデータ転送装置の制御方法
Krimchansky et al. The Geostationary Operational Satellite R Series SpaceWire Based Data System Architecture
JP2007028132A (ja) 通信システム
JPH09326782A (ja) シリアル通信方法

Legal Events

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

Payment date: 20160628

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee