KR101077512B1 - 전송 시스템, 전송 장치 및 전송 방법 - Google Patents

전송 시스템, 전송 장치 및 전송 방법 Download PDF

Info

Publication number
KR101077512B1
KR101077512B1 KR1020090050899A KR20090050899A KR101077512B1 KR 101077512 B1 KR101077512 B1 KR 101077512B1 KR 1020090050899 A KR1020090050899 A KR 1020090050899A KR 20090050899 A KR20090050899 A KR 20090050899A KR 101077512 B1 KR101077512 B1 KR 101077512B1
Authority
KR
South Korea
Prior art keywords
response
request
packet
transmission
packets
Prior art date
Application number
KR1020090050899A
Other languages
English (en)
Other versions
KR20100023732A (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 KR20100023732A publication Critical patent/KR20100023732A/ko
Application granted granted Critical
Publication of KR101077512B1 publication Critical patent/KR101077512B1/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
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • 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
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/189Transmission or retransmission of more than one copy of a message
    • 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
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1848Time-out mechanisms
    • 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
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1858Transmission or retransmission of more than one copy of acknowledgement message
    • 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
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/188Time-out mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/04Error control

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Communication Control (AREA)

Abstract

[과제] 전송에 있어서 회로량을 감소시켜, 간이한 제어로 에러 구제를 행한다.
[해결 수단] 입출력 처리장치(10)와 연산장치(20)를 전송로로 접속하고, 입출력 처리장치(10)로부터 연산장치(20)로의 요구, 연산장치(20)로부터 입출력 처리장치(10)로의 응답을 각각 하나 또는 복수의 요구 패킷·응답 패킷으로서 송수신 한다. 패킷의 송수신에 관하여는 송달 확인을 행하지 않고, 에러 패킷은 파기한다. 입출력 처리장치(10)는 요구로부터 응답까지의 시간을 감시하고, 타임 아웃 (time-out)시에 요구를 재송신 한다. 연산장치(20)는 재실행할 수 없는 요구에 대한 응답에 대해서는 응답 패킷을 용장화(冗長化)하여 송신한다.
Figure R1020090050899
전송 시스템, 전송 장치, 전송 방법, 패킷

Description

전송 시스템, 전송 장치 및 전송 방법{TRANSMITTING SYSTEM, APPARATUS, AND METHOD}
본 발명은 장치 사이를 전송로로 접속하고, 처리의 요구와 응답을 전송로를 통해 송수신하는 전송 시스템과 이러한 전송 시스템에 사용하는 전송 장치 및 전송 방법에 관한 것이다.
최근, 정보처리장치에 있어서, CPU(연산장치, Central Processing Unit)-IO(입출력 처리장치) 사이 등의 각종 장치 사이를, 종래의 패럴렐 전송(parallel transmission)에 비해 고속인 시리얼 전송(serial transmission)으로 결합하는 것이 행해지고 있다.
이것은 각 장치 사이의 데이터 전송 성능에 대한 요구가 높아지고 있고, 종래의 패럴렐 전송에서는 버스 폭과 전송 속도의 확보가 어려웠기 때문이다.
한편, 고속인 시리얼 전송에서는 데이터 전송 성능의 요구는 만족시키지만, 데이터 전송에 대한 신뢰도의 면에서는 뒤떨어진다. 그 때문에, 고속의 시리얼 전송에서는 전송 에러 발생시의 데이터 재전송 기구가 필요하다.
종래의 고속 시리얼 전송에 있어서의 전송 에러의 구제는, 패킷 단위의 ACK 에 의해 행하였다. 구체적으로는, 송신측은 패킷마다에 시퀀스 번호(sequence number)와 CRC를 지정함과 동시에, 송신된 패킷을 재전송용 버퍼에 기록하고, 수신측에서 ACK이 응답될 때까지 유지한다.
수신측에서는 수신한 패킷의 CRC를 검사한다. 그리고, 정상적으로 수신한 경우에는 시퀀스 번호를 지정해서 ACK을 응답하지만, 전송 에러를 검출한 경우에는 해당 패킷을 파기하고, 직전에 정상적으로 수신한 패킷의 시퀀스 번호를 지정하여 NACK를 응답한다.
또한, 송신측에서는, ACK 응답을 수신한 경우, 해당하는 시퀀스 번호 이전의 해당하는 재전송용 버퍼를 개방하고, NACK 응답을 수신한 경우에는 해당하는 시퀀스 번호 이후의 패킷을 재전송용 버퍼로부터 재전송한다.
또한, 패킷 단위로의 전송 제어의 변형예로서, 시리얼 버스에서 패킷 전송을 행할 때, ACK 패킷에 의한 핸드세이크 전송(handshake transfer)을 행하는 통신과 ACK 패킷을 송신하지 않는 통신 중 어느 하나를 선택하는 통신 방법(예를 들면, 특허문헌 1 참조)이나, 패킷 전송에서 수신측에서의 누락 패킷만을 재전송 요구함으로써 데이터 전송의 효율을 높이는 기술(예를 들면, 특허문헌 2 참조)이 알려져 있다.
[특허문헌 1] 일본 공개특허공보 제2005-210389호
[특허문헌 2] 일본 공개특허공보 제2000-341252호
일반적으로 패럴렐 전송으로 패킷을 전송하는 것 보다, 시리얼 전송으로 패킷을 전송하는 것이 시리얼/패럴렐 변환이나 그 밖의 기구 때문에 레이턴시(latency)가 증가한다. 그 때문에 종래의 패킷 단위에서의 에러 구제 방식에서는, 패킷 송신으로부터 ACK 응답 수신까지의 사이에 송신된 모든 패킷을 유지할 수 있는 거대한 재전송용 버퍼가 필요했다. 또한, ACK/NACK 응답에 의한 송달 확인을 위한 흐름 제어(flow control)도 필요했다.
이와 같이, 종래의 시리얼 전송에서, 에러 구제를 위한 데이터 재전송 기구에는 회로량과 흐름 제어에 막대한 비용이 소비된다고 하는 문제점이 있었다. 마찬가지로, 종래의 패럴렐 전송에 있어서도, 전송의 신뢰성보다 전송속도를 중시하고 전송 에러 발생시의 복구 기구가 필수적인 경우에는 이러한 복구 기구를 실현하기 위한 비용이 발생한다고 하는 문제점이 있었다.
본 발명은 상술한 종래 기술에 관한 문제점을 해소하고, 과제를 해결하기 위한 것으로서, 전송에 있어서의 회로량을 감소시켜, 간이한 제어로 에러 구제를 행할 수 있는 전송 시스템, 전송 장치 및 전송 방법을 제공하는 것을 목적으로 한다.
상술한 과제를 해결하고, 목적을 달성하기 위하여, 개시의 시스템, 장치 및 방법은 제 1 장치와 제 2 장치를 전송로로 접속한 전송 시스템으로서, 제 1 장치는 제 2 장치에 대한 요구가 타임 아웃(time-out)된 경우에 요구 패킷을 재송신하고, 제 2 장치는 제 1 장치에 대한 응답이 특정한 종류일 경우에 응답 패킷을 용장화(冗長化)한다.
개시의 시스템, 장치, 방법에 의하면, 시리얼 전송에 있어서 회로량을 감소시켜 간이한 제어로 에러 구제를 행할 수 있는 전송 시스템, 전송 장치 및 전송 방법을 얻을 수 있는 효과가 있다.
이하, 본 발명에 관한 전송 시스템, 전송 장치 및 전송 방법의 실시예를 도면에 기초하여 상세하게 설명한다.
[실시예]
본 실시예에서는, 고속 시리얼 전송에 있어서의 저 비용 데이터 재전송 기구를 이하의 3개 동작을 이용하여 실현한다.
1. 패킷 송달 확인은 일체 행하지 않고, 리퀘스트 처리(request process)의 요구측 시간감시에 의해 요구 패킷을 리퀘스트 큐(request queue)로부터 재전송한다.
2. 리퀘스트 처리의 재실행에 의해 응답 패킷의 전송 에러를 구제한다.
3. 리퀘스트 처리의 재실행이 불가능한 리퀘스트에 대한 응답 패킷은, 패킷 전송 자신을 용장화(冗長化)한다.
도 1은 본 실시예에 관한 컴퓨터 시스템(1)의 개요 구성을 나타낸 개요구성도이다. 도 1에 나타낸 컴퓨터 시스템(1)은 입출력 처리장치(IO)(10)와 연산장 치(CPU)(20)가 시리얼 전송로로 접속된 시리얼 전송 시스템이다.
입출력 처리장치(10)는 컴퓨터 시스템(1) 외부의, 도면에 나타나 있지 않은 입출력장치, 즉 입출력 디바이스와 접속하고 있고, 입출력 디바이스로부터의 입력을 받아 연산장치(20)에 요구를 송신하고, 연산장치(20)로부터의 응답을 받아서 입출력 디바이스에 대한 출력을 행한다.
입출력 처리장치(10)는 그 내부에 요구 처리부(11), 요구 송신부(12), 응답 수신부(13), 타이머(14), 입출력 디바이스 제어부(15)를 구비한다. 입출력 디바이스 제어부(15)는 도면에 나타나 있지 않은 입출력 디바이스와 접속하는 인터페이스이다. 요구 처리부(11)는 입출력 디바이스로부터의 입력에 기초하여 연산장치(20)에 소정의 처리의 실행을 요구하는 처리를 행한다.
요구 송신부(12)는 요구 처리부(11)가 작성한 요구를, 하나 또는 복수의 요구 패킷으로서 시리얼 전송로를 통해 연산장치(20)에 송신하는 처리를 행한다. 또한, 응답 수신부(13)는 연산장치(20)로부터의 응답을, 하나 또는 복수의 응답 패킷으로서 시리얼 전송로를 통해 수신하는 처리를 행한다.
타이머(Timer)(14)는 요구 송신부(12)가 요구를 송신하고 나서 응답 수신부(13)가 응답을 수신할 때까지의 시간을 측정하는 시간측정수단이다. 그리고, 요구 송신부(12)는 요구 송신으로부터의 경과 시간이 소정 시간 이상이 된 응답에 대해서 요구 패킷의 재송신을 행한다.
또한, 응답 수신부(13)는 그 내부에 에러 패킷 파기부(13a) 및 용장 패킷 파기부(redundant packet discarding unit)(13b)를 구비한다. 에러 패킷 파기부(13a) 는 연산장치(20)로부터 에러 패킷을 수신한 경우, 즉, 연산장치(20)로부터 수신한 응답 패킷에 에러가 발생한 경우에, 에러 패킷을 파기하는 처리를 행한다. 마찬가지로, 용장 패킷 파기부(13b)는 중복 패킷을 수신한 경우, 즉, 연산장치(20)로부터 수신한 응답 패킷이 이미 수신한 응답 패킷과 동일한 경우에 중복 패킷을 파기하는 처리를 행한다.
연산장치(20)는 입출력 처리장치(10)로부터 수신한 요구를 처리하여, 입출력 처리장치(10)에 대하여 응답하는 장치이다. 또한, 연산장치(20)는 제 1 메모리(31) 및 제 2 메모리(32)에 접속해 있고, 메모리에의 기입, 소위 “스토어(store)”나, 메모리로부터의 독출, 소위 “페치(fetch)”를 행할 수 있다.
연산 처리부(20)는 그 내부에 응답 처리부(21), 요구 수신부(22), 응답 송신부(23), 및 메모리 억세스 제어부(memory access controlling unit)(24)을 구비한다. 요구 수신부(22)는 입출력 처리장치(10)로부터의 요구를, 하나 또는 복수의 요구 패킷으로서 시리얼 전송로를 통해 수신하는 처리를 행한다. 여기에서, 요구 수신부(22)는 그 내부에 에러 패킷 파기부(22a)를 구비하고 있다. 에러 패킷 파기부(22a)는 입출력 처리장치(10)로부터 에러 패킷을 수신한 경우, 즉, 입출력 처리장치(10)로부터 수신한 요구 패킷에 에러가 발생한 경우에, 에러 패킷을 파기하는 처리를 행한다.
응답 처리부(21)는 요구 수신부(22)가 수신한 요구를 처리하여 응답을 작성하는 처리를 행한다. 또한, 요구 수신부(22)가 수신한 요구가 페치(fetch) 요구나 스토어(store) 요구인 경우, 응답 처리부(21)는 메모리 억세스 제어부(24)를 통해 제 1 메모리(31) 또는 제 2 메모리(32)에 대한 데이터의 기입· 독출을 실행한다.
응답 송신부(23)는 응답 처리부(21)가 작성한 응답을 하나 또는 복수의 응답 패킷으로서 시리얼 전송로를 통해 입출력 처리장치(10)에 송신하는 처리를 행한다. 또한, 응답 송신부(23)는 그 내부에 응답 종별 판별부(23a) 및 응답 용장화 처리부(response redundancy processing unit)(23b)를 구비한다.
응답 종별 판별부(23a)는 응답 처리부(21)가 작성한 응답의 종별을 판별한다. 응답 용장화 처리부(23b)는 응답 종별 판별부(23a)에 의한 판별 결과에 근거하여, 특정한 종류의 응답에 대해서 선택적으로 응답 패킷을 용장화하는 처리를 행한다.
특정한 종류의 응답이란, 요구의 실행에 의해 다른 요구의 처리 결과에 영향을 주기 때문에, 단순한 재실행이 불가능한 종류의 응답이다. 예를 들면, 스토어 요구(store request)나 연산장치(20)에 대한 인터럽트 요구(interrupt request) 등이다. 환언하면, 요구 처리 순서의 보증이 필요한 처리이다. 그 때문에, 스토어 요구에의 응답인 스토어 응답(store response)이나, 연산장치(20)에 대한 인터럽트 요구에의 응답인 인터럽트 응답(interrupt response)에 대해서는 응답 패킷을 용장화하여, 동일내용의 패킷을 복수 송신한다.
한편, 메모리 내용을 독출하는 페치 요구에 대해서는, 요구의 실행 결과가 다른 요구에 영향을 주지 않기 때문에 응답 패킷을 용장화할 필요는 없다.
이와 같이, 컴퓨터 시스템(1)에서는, 입출력 처리장치(10)로부터의 요구를 연산장치(20)가 실행하여 처리하는 리퀘스트 처리에서, 리퀘스트 처리의 요구측인 입출력장치(10)는 요구 패킷 송출에서부터 리퀘스트 처리 완료시의 응답 패킷 수신까지를 시간 감시하고, 타임 아웃(time-out) 검출시에 요구 패킷을 연산장치(20)로 재전송한다. 요구 패킷의 재전송은 리퀘스트 큐(request queue), 즉 요구 단위에 따라 행한다. 그 때문에, 입출력 처리장치(10)는 패킷의 재전송용 버퍼를 설치하지 않는다. 또한, 입출력 처리장치(10)는 연산장치(20)로부터 응답 패킷을 수신한 경우, 송달 확인을 위한 연산장치(20)로의 ACK/NACK 응답을 일체 행하지 않는다. 응답 패킷에서 전송 에러를 검출한 경우에는, 해당하는 응답 패킷의 파기만을 행하고, 규정 시간 후에 타임 아웃(time-out)을 검출하고, 요구 패킷을 연산장치(20)로 재전송한다. 이 재전송에 의해, 요구의 수신측인 연산장치(20)에서는 리퀘스트 처리가 재실행된다. 또한 용장화된 응답 패킷은, 최초에 정상적으로 수신한 패킷을 사용하고, 후속의 동일 패킷은 중복 패킷으로서 파기한다.
리퀘스트 처리의 수신측인 연산장치(20)는, 요구 패킷을 수신한 경우, 송달 확인을 위한 입출력 처리장치(10)로의 ACK/NACK 응답을 일체 행하지 않는다. 요구 패킷에서 전송 에러를 검출한 경우에는, 해당하는 요구 패킷의 파기만을 행한다. 리퀘스트 처리의 재실행이 불가능한 리퀘스트에 대한 입출력 처리장치(10)로의 응답 패킷은, 패킷 전송을 용장화(冗長化)하여, 반드시 하나는 정상적으로 입출력 처리장치(10)에 수신되도록 하고 있다.
또한, 패킷 전송의 용장화(冗長化)에 관해서는, 용장 패킷(redundant packets)의 송신측이 동일 패킷끼리의 최대 송출 간격을 규정하고, 그 시간 내에 수신측이 복수의 동일 패킷을 수신할 수 있는 것을 보증하여도 좋다. 이 경우, 최 대 송출 간격 시간 내에 연속하여 전송 에러를 검출한 경우에는 치명적인 에러로 취급함으로써, 용장화한 패킷 전송이 모두 에러가 되어 전멸(全滅)한 경우에서의 시스템 오동작을 억제할 수 있다. 예를 들면, 용장 패킷의 최대 송출 간격을 1 밀리초(millisecond)로 한 경우, 용장 패킷의 최초 패킷 송출 시간으로부터 최후 패킷 송출 시간까지의 시간이 최대로 1 밀리초가 된다. 따라서, 용장 패킷의 수신측에서는, 1 밀리초 이내에 전송 에러가 연속한 경우, 용장 패킷이 모두 에러가 되었을 가능성이 있다고 판정하고, 치명적인 에러로서 처리를 정지하고 경고를 한다. 이 처리의 정지와 경고에 의해, 시스템의 오동작, 즉, 실제로는 리퀘스트 처리가 완료한 것임에도, 용장화한 응답이 전멸했기 때문에 리퀘스트가 미완료로 간주되어 재실행되는 오동작을 회피할 수 있다.
도 2는 입출력 처리장치(10)와 연산장치(20) 사이에서 전송되는 패킷의 종류와 전송 에러시의 구제 처리에 관해 설명하는 설명도이다. 도 2에 나타낸 바와 같이, 먼저, 입출력 처리장치(10)로부터 연산장치(20)로 페치 요구 패킷을 전송 중에 에러가 발생한 경우, 연산장치(20)에는 패킷이 도달하지 않거나, 또는 에러 패킷이 연산장치(20)에 도달하므로 에러 패킷에 대해서는 연산장치(20)에서 파기를 행한다. 이 에러 자체에 대해 연산장치(20)로부터 입출력 처리장치(10)로의 통지는 행하지 않지만, 페치 요구가 실행되지 않기 때문에 입출력 처리장치(10)로 응답이 송신되지 않는다. 그 때문에 입출력 처리장치(10)에서는 리퀘스트가 타임 아웃(time-out)되고, 대상 요구, 즉 동일한 페치 요구를 다시 연산장치(20)에 송신하게 된다.
다음, 연산장치(20)로부터 입출력 처리장치(10)로 페치 응답 패킷을 전송 중 에 에러가 발생한 경우, 입출력 처리장치(10)에는 패킷이 도달하지 않거나, 또는 에러 패킷이 입출력 처리장치(10)에 도달하므로 에러 패킷에 대해서는 입출력 처리장치(210)에서 파기를 행한다. 이 에러 자체에 대해서 입출력 처리장치(10)로부터 연산장치(20)로의 통지는 행하지 않지만, 페치 요구의 실행 완료가 확인되지 않으므로, 입출력 처리장치(10)에서는 리퀘스트가 타임 아웃된다. 그 때문에 입출력 처리장치(10)는 대상 요구, 즉 동일한 페치 요구를 다시 연산장치(20)에 송신하게 된다.
스토어 요구와 연산장치(20)로의 인터럽트 요구(interrupt request) 전송 중에 에러가 발생한 경우, 연산장치(20)에는 패킷이 도달하지 않거나, 또는 에러 패킷이 도달하므로 에러 패킷에 대해서는 연산장치(20)가 파기를 행한다. 이 경우도, 페치 요구 전송 중의 에러의 경우와 마찬가지로, 연산장치(20)로부터 입출력 처리장치(10)로의 에러 통지는 행해지지 않고, 스토어 요구, 인터럽트 요구가 실행되지 않기 때문에 연산장치(20)로부터 입출력 처리장치(10)로 응답이 송신되지 않는다. 그 때문에 입출력 처리장치(10)에서는 리퀘스트가 타임 아웃되고, 대상 요구의 요구를 다시 연산장치(20)에 송신하게 된다.
스토어 요구와 인터럽트 요구의 응답에 관해서는, 연산장치(20)는 미리 응답 패킷을 용장화하여 입출력 처리장치(10)로 송신한다. 입출력 처리장치(10)에서는 용장화된 응답 패킷 중 정상인 것을 사용한다. 그 때문에 응답 패킷의 전송 중에 에러가 발생한 경우에도, 입출력 처리장치(10)는 정상인 응답을 얻을 수 있다.
이와 같이, 페치 응답 패킷의 전송 에러에서는 연산장치(20)로부터 응답 패 킷을 재전송하는 것이 아니고, 입출력 처리장치(10)로부터의 요구의 재발행에 의한 리퀘스트 처리의 재실행으로 전송 에러를 구제한다. 페치 억세스의 성질 때문에, 재발행 하여도 캐시 메모리(cache memory) 또는 메인 메모리(main memory)로의 재억세스로 인한 영향이 없기 때문이다.
한편, 스토어 응답과 인터럽트 응답에 관해서는, 재억세스에 의한 영향 범위가 크므로 리퀘스트 처리의 재실행은 행하지 않는다. 또한, 스토어 응답과 인터럽트 응답의 응답 패킷에 관해서는, 응답 데이터도 수반되지 않고 사이즈가 작기 때문에, 전송을 용장화하여 반드시 하나는 정상적으로 수신되도록 한다.
즉, 컴퓨터 시스템 시리얼 전송에서는 3 종류의 동작에 의해 전송 에러를 구제한다. 동작타입1은 연산장치(20)가 에러 패킷을 파기하고, 입출력 처리장치(10)가 타임 아웃을 검출하여 요구 패킷을 재송신하는 동작으로서, 페치 요구(fetch request), 스토어 요구(store request), 인터럽트 요구(interrupt request)에 전송 에러가 발생한 경우에 적용된다. 동작타입2는 입출력 처리장치(10)가 에러 패킷을 파기하고, 입출력 처리장치(10)가 타임 아웃을 검출하여 요구 패킷을 연산장치(20)로 재송신하는 동작으로서, 페치 응답 전송 에러가 발생한 경우에 적용된다. 동작타입3은 패킷을 연산장치(20)가 용장화하고, 정상인 패킷을 입출력 처리장치(10)가 선택해 사용하는 동작으로서, 스토어 응답과 인터럽트 응답에 적용된다.
도 3은 동작타입1에 의한 구제 동작에 대해 설명하는 설명도이다. 도 3에서는 입출력 처리장치(10)가 요구 REQ를 발행하여, 타이머(timer)를 스타트(start)시키고 있다. 그러나, 요구 REQ는 전송 중에 전송 에러가 발생된 경우 연산장치(20) 에 의해 파기된다. 그 결과, 연산장치(20)로부터의 응답을 얻을 수 없는 타이머가 8을 카운트하여 타임 아웃(time-out)(도 3의 T.O)된다. 입출력 처리장치(10)는 요구 REQ를 재발행하여 타이머를 리스타트(restart) 시킨다.
도 3에서는 재발행된 요구 REQ가 정상적으로 전송되어 연산장치(20)에 수신되고 있다. 연산장치(20)는 수신한 요구를 처리하여 입출력 처리장치(10)에 대한 응답 RES를 발행한다. 응답 RES는 정상적으로 전송되어 입출력 처리장치(10)에 수신되고, 입출력 처리장치(10)는 타이머를 리셋(reset)하여 처리를 완료한다.
도 4는 동작타입2에 의한 구제 동작에 대하여 설명하는 설명도이다. 도 4에서는 입출력 처리장치(10)가 요구 REQ를 연산장치(20)에 발행하여, 타이머를 스타트시키고 있다. 요구 REQ는 정상적으로 전송되어 연산장치(20)에 수신된다. 연산장치(20)는 수신한 요구를 처리하여 응답 RES를 발행한다.
그러나, 응답 RES는 전송 중에 전송 에러가 발생하여, 입출력 처리장치(10)에 의해 파기된다. 그 결과, 연산장치(20)로부터의 정상인 응답을 얻을 수 없는 타이머가 8을 카운트하여 타임 아웃된다. 입출력 처리장치(10)는 요구 REQ를 재발행하여 타이머를 리스타트(restart) 시킨다.
재발행된 요구 REQ는 정상적으로 전송되어 연산장치(20)에 수신된다. 연산장치(20)는 다시 요구 REQ를 처리하여, 전회(前回)와 마찬가지로 응답 RES를 발행한다. 응답 RES는 정상적으로 전송되어 입출력 처리장치(10)에 수신되고, 입출력 처리장치(10)는 타이머를 리셋하여 처리를 완료한다.
도 5는 동작타입3에 의한 구제 동작에 대해 설명하는 설명도이다. 도 5에서 는 입출력 처리장치(10)가 요구 REQ를 발행하여, 타이머를 스타트시키고 있다. 요구 REQ는 정상적으로 전송되어 연산장치(20)에 수신된다. 연산장치(20)는 수신한 요구를 처리하여 응답 RES를 발행한다. 이 때, 연산장치(20)는 동일 내용의 응답 RES를 복수 작성하여 송신한다.
입출력 처리장치(10)는 동일 내용인 복수의 응답 RES 중 에러가 발생한 응답 RES을 파기하고, 정상인 응답 RES을 수신하여 타이머를 리셋하고, 처리를 완료한다. 또한, 일단 정상인 응답 RES을 수신한 후에는 중복하는 응답 RES에 대해 정상이어도 파기한다.
다음, 요구의 순서 보증에 대하여 설명한다. 도 6은 입출력 처리장치(10)가 순서 보증을 행할 경우의 동작에 대하여 설명하는 설명도이다. 도 6에서 리퀘스트의 요구원(requesting source)인 입출력 처리장치(10)는, 선행 리퀘스트의 처리를 앞질러서는 안되는 후속 리퀘스트가 존재할 경우, 선행 리퀘스트에 대한 응답을 수신하고 나서 후속 리퀘스트를 연산장치(20)에 대하여 발행한다. 이것은, 선행 리퀘스트의 전송 에러에 의한 재시도(retry) 중에 후속 리퀘스트의 처리가 앞지르게 되는 것을 방지하기 위해서이다. 이 방법에 의하면, 입출력 처리장치(10)는 단독으로 메모리 억세스 순서를 보증할 수 있다.
도 7은 입출력 처리장치(10)와 연산장치(20)로 순서 보증을 행할 경우의 동작에 대하여 설명하는 설명도이다. 도 7에서는 REQ1로부터 REQ6까지의 처리 순서를 바꾸지 않고 처리할 때, 입출력 처리장치(10)는 선행 리퀘스트의 응답 수신을 기다리지 않고 순차적으로 리퀘스트를 송출한다. 연산장치(20)는 입출력 처리장치(10) 로부터 수신한 순서로 리퀘스트 처리를 행하지만, REQ3과 같이 전송 에러가 발생한 경우, 그 이후에 수신하는 모든 패킷, 즉 REQ4 이후의 모든 패킷을 파기하고, 입출력 처리장치(10)에 후속 리퀘스트의 송출 정지를 의뢰한다.
입출력 처리장치(10)는 리퀘스트 송출 정지 의뢰를 수신한 경우에, 새로운 리퀘스트의 송출을 정지한다. 연산장치(20)는 이미 수신된 리퀘스트에 대해 처리하여 응답 RES을 송신하고, 모든 수신된 리퀘스트 처리와 응답 송신이 완료한 때에, 입출력 처리장치(10)에 대하여 리퀘스트 송출의 재개를 의뢰한다. 입출력 처리장치(10)는 재개를 의뢰받은 경우, 리퀘스트 큐(request queue) 내의 미완료 리퀘스트에 대해서, REQ3으로부터 순서대로 연산장치에 대한 송출을 재개한다. 이와 같이, 입출력 처리장치(10)와 연산장치(20) 양쪽에서 메모리 억세스(memory access) 순서를 보증함으로써 입출력 처리장치 단독으로 순서 보증을 행할 경우와 비교하여 처리를 고속으로 실행할 수 있다.
다음, 도 1에 나타낸 요구 송신부(12), 응답 수신부(13), 요구 수신부(22), 응답 송신부(23)의 처리 동작에 대해 설명한다. 도 8은 요구 송신부(12)의 처리 동작을 설명하는 흐름도이다.
도 8에 나타낸 바와 같이, 요구 송신부(12)는 요구 처리부(11)로부터 요구 의뢰가 있는지 여부를 판정한다(S101). 요구 처리부(11)로부터 요구 의뢰가 있는 경우(S101, Yes), 요구 송신부(12)는 요구 패킷을 작성하고(S102), 요구 패킷을 송신한다(S103). 그리고, 송신한 요구에 대해서 타이머를 스타트하고(S104), 처리를 종료한다.
한편, 요구 처리부(11)로부터 요구 의뢰가 없는 경우(S101, No), 요구 송신부(12)는 타임 아웃된 요구가 있는지 여부를 판정한다(S105). 타임 아웃된 요구가 있는 경우(S105, Yes), 요구 송신부(12)는 타임 아웃된 요구의 요구 패킷을 재송신하고(S106), 재송신한 요구의 타이머를 다시 스타트하고(S107), 처리를 종료한다.
한편, 타임 아웃된 요구가 없는 경우(S105, No), 요구 송신부(12)는 그대로 처리를 종료한다. 이상, 도 8에 나타낸 처리는 요구 송신부(12)의 메인 플로우(main flow)이며, 컴퓨터 시스템(1)의 동작 중에 반복적으로 실행된다.
도 9는 응답 수신부(13)의 처리 동작을 설명하는 흐름도이다. 도 9에 나타낸 바와 같이, 응답 수신부(13)는 먼저, 응답 패킷을 수신했는지 여부를 확인한다(S201). 응답 패킷을 수신하지 않았으면(S201, No), 그대로 처리를 종료한다. 응답 패킷을 수신한 경우(S201, Yes), 에러 패킷 파기부(13a)는 수신한 패킷이 정상인지 여부를 판정하고(S202), 정상이 아닌 경우(S202, No)에는 패킷을 파기하고(S208), 처리를 종료한다.
수신한 패킷이 정상인 경우(S202, Yes), 용장 패킷 파기부(13b)는 동일한 응답 패킷을 이미 수신하였는지 여부를 판정하고(S203), 이미 수신하였으면(S203, Yes), 패킷을 파기하고(S208), 처리를 종료한다.
동일한 응답 패킷을 수신하지 않은 경우(S203, No), 응답 수신부(13)는 수신한 응답 패킷을 축적하고(S204), 축적한 응답 패킷으로부터 하나의 응답이 완성될 것인지 여부를 판정한다(S205). 그리고, 축적한 응답 패킷으로부터 하나의 응답이 완성되지 않을 경우(S205, No)에는 그대로 처리를 종료한다.
한편, 축적한 응답 패킷으로부터 하나의 응답이 완성될 경우(S205, Yes), 응답 수신부(13)는 완성된 응답에 대응하는 요구의 타이머를 리셋하고(S206), 응답을 요구 처리부(11)에 전송하고(S207), 처리를 종료한다. 이상, 도 9에 나타낸 처리는 응답 수신부(13)의 메인 플로우이며, 컴퓨터 시스템(1)의 동작 중에 반복적으로 실행된다.
도 10은 요구 수신부(22)의 처리 동작을 설명하는 흐름도이다. 도 10에 나타낸 바와 같이 요구 수신부(22)는 먼저, 요구 패킷을 수신했는지 여부를 확인한다(S301). 요구 패킷을 수신하지 않았으면(S301, No) 그대로 처리를 종료한다. 요구 패킷을 수신한 경우(S301, Yes), 에러 패킷 파기부(22a)는 수신한 패킷이 정상인지 여부를 판정하고(S302), 정상이 아닌 경우(S302, No)에는 패킷을 파기하고(S306), 처리를 종료한다.
수신한 패킷이 정상인 경우(S302, Yes), 요구 수신부(22)는 수신한 요구 패킷을 축적하고(S303), 축적한 요구 패킷으로부터 하나의 요구가 완성될 것인지 여부를 판정한다(S304). 그리고, 축적한 요구 패킷으로부터 하나의 요구가 완성되지 않을 경우(S304, No)에는 그대로 처리를 종료한다.
한편, 축적한 요구 패킷으로 하나의 요구가 완성될 경우(S304, Yes), 요구 수신부(22)는 완성된 요구를 응답 처리부(21)에 전송하고(S305), 처리를 종료한다. 이상, 도 10에 나타낸 처리는 요구 수신부(22)의 메인 플로우이며, 컴퓨터 시스템(1)의 동작 중에 반복적으로 실행된다.
도 11은 응답 송신부(22)의 처리 동작을 설명하는 흐름도이다. 도 11에 나타 낸 바와 같이, 응답 송신부(23)는 응답 처리부(21)로부터 응답 의뢰가 있는지 여부를 판정한다(S401). 응답 처리부(21)로부터 응답 의뢰가 없는 경우(S401, No)에는 그대로 처리를 종료한다.
응답 처리부(21)로부터 응답 의뢰가 있는 경우(S401, Yes), 응답 종별 판별부(23a)는 응답의 종별을 판별한다(S402). 응답의 종별이 스토어 응답(store response)이나 인터럽트 응답(interrupt response)이 아닌 경우(S403, No)에는, 응답 송신부(23)가 응답 패킷을 1 세트 작성하고(S404), 작성한 응답 패킷을 송신하고(S405), 처리를 종료한다. 여기에서, 1 세트란, 응답을 응답 패킷으로서 송신할 때에 하나의 응답을 하나의 응답 패킷으로 송신할 수 있는 경우에는 한 패킷만을 의미하고, 하나의 응답을 형성하기 위해 복수의 응답 패킷이 필요한 경우에는 복수의 응답 패킷을 각각 한 패킷씩 작성하는 것을 의미하며, 1 세트 중에서는 중복 패킷이 존재하지 않는다.
응답의 종별이 스토어 응답 또는 인터럽트 응답인 경우(S403, Yes), 응답 용장화 처리부(23b)는 응답 패킷을 복수 세트 작성한다(S406). 그리고, 응답 송신부(23)는 작성된 응답 패킷을 모두 송신하고(S407), 처리를 종료한다. 이상, 도 11에 나타낸 처리는 응답 송신부(23)의 메인 플로우이며, 컴퓨터 시스템(1)의 동작 중에 반복적으로 실행된다.
이상 설명한 바와 같이, 본 실시예에서 전송 시스템으로서 기능하는 컴퓨터 시스템(1)에서는 입출력 처리장치(10)와 연산장치(20)가 시리얼 전송의 장치로서 기능한다. 입출력 처리장치(10)는 연산장치(20)에 대해 요구를 송신할 때에, 패킷 단위의 송달 확인을 행하지 않고, 요구가 타임 아웃된 경우에 요구의 재송신을 행한다. 또한, 연산장치(20)는 재실행이 불가능한 요구에 대한 응답에 대해서는, 응답 패킷을 용장화하여 송신한다.
이에 따라, 시리얼 전송의 특징을 살린 데이터 전송 성능을 확보할 수 있고, 또한 거대한 재송용 버퍼의 제거와 패킷 송달 확인 플로우의 제거를 실현하여 저 비용으로 전송 에러 구제를 행할 수 있다.
또한, 본 실시예에서는 시리얼 전송(serial transmission)에서의 적용예에 관하여 설명하였지만, 개시의 시스템, 장치 및 방법은, 패럴렐 전송(parallel transmission)에서도 적용 가능하다. 즉, 패럴렐 전송에서 신뢰성보다 전송속도를 중시하여, 전송 에러 발생시의 복구 기구를 설치할 경우에는 개시의 시스템, 장치, 방법을 적용함으로써 저 비용으로 전송 에러 구제를 행할 수 있다.
이상의 실시예를 포함하는 실시형태에 관한 것으로서, 이하의 부기를 개시한다.
(부기 1)
제 1 장치와 제 2 장치를 전송로로 접속하고, 상기 제 1 장치로부터 상기 제 2 장치에 대한 요구와, 상기 제 2 장치로부터 상기 제 1 장치에의 응답을 상기 전송로를 통해 송수신하는 전송 시스템으로서,
상기 제 1 장치는,
상기 제 2 장치에 대한 요구를 하나 또는 복수의 요구 패킷으로서 송신하고 상기 요구로부터 상기 응답까지의 시간이 소정 시간 이상이 되었을 경우에 상기 요 구 패킷을 재송신하는 요구 송신부와,
상기 제 2 장치로부터의 응답을 하나 또는 복수의 응답 패킷으로서 수신하고 수신한 응답 패킷 중 에러 패킷(error packet)과 중복 패킷(redundant packet)을 파기하는 응답 수신부를 구비하고,
상기 제 2 장치는,
상기 제 1 장치로부터 상기 요구 패킷을 수신하고 수신한 요구 패킷 중 에러 패킷을 파기하는 요구 수신부와,
상기 제 1 장치에 대한 상기 응답의 종류를 판별하고 특정한 종류의 응답에 대해서 선택적으로 상기 응답 패킷을 용장화(冗長化)하여 송신하는 응답 송신부를 구비한 것을 특징으로 하는 전송 시스템.
(부기 2)
상기 응답 송신부는 처리 순서의 보증이 필요한 요구에 대한 응답에 대해서 선택적으로 상기 응답 패킷을 용장화하여 송신하는 것을 특징으로 하는 부기 1에 기재된 전송 시스템.
(부기 3)
상기 제 1 장치는 컴퓨터 시스템의 입출력을 수행하는 입출력 처리장치이고, 상기 제 2 장치는 상기 컴퓨터 시스템의 연산 처리를 수행하는 연산 처리장치인 것을 특징으로 하는 부기 1 또는 2에 기재된 전송 시스템.
(부기 4)
상기 응답 송신부는 데이터의 기입 요구에 대한 응답과, 상기 제 2 장치의 처리에 대한 인터럽트 요구(interrupt request)에 대한 응답에 대해 선택적으로 상기 응답 패킷을 용장화하여 송신하는 것을 특징으로 하는 부기 1 내지 3 중 어느 하나에 기재된 전송 시스템.
(부기 5)
상기 응답 송신부는 데이터의 독출 요구에 대한 응답에 대해서는, 상기 용장화의 대상에서 제외하는 것을 특징으로 하는 부기 1 내지 4 중 어느 하나에 기재된 전송 시스템.
(부기 6)
상기 제 1 장치는, 처리 순서의 보증이 필요한 요구를 행할 경우에는, 당해 요구에 대한 응답을 받은 후에 다음 요구를 송신하는 것을 특징으로 하는 부기 1 내지 5 중 어느 하나에 기재된 전송 시스템.
(부기 7)
상기 제 2 장치는, 상기 제 1 장치로부터 에러 패킷을 수신한 경우, 상기 제 1 장치에 송출 정지 의뢰를 송신하고, 이후에 수신한 패킷을 파기하고, 상기 에러 패킷의 수신 이전에 수신한 요구에 대한 응답이 종료했을 경우에, 상기 제 1 장치에 대하여 송출 재개 의뢰를 송신하는 것을 특징으로 하는 부기 1 내지 5 중 어느 하나에 기재된 전송 시스템.
(부기 8)
전송로를 통해 다른 장치와 접속하는 장치로서,
상기 다른 장치에 소정의 처리의 실행을 요구하는 요구 처리부와,
상기 요구 처리부의 요구를 하나 또는 복수의 요구 패킷으로서 상기 전송로를 통해 송신하는 요구 송신부와,
상기 다른 장치로부터의 응답을 하나 또는 복수의 응답 패킷으로서 상기 전송로를 통해 수신하는 응답 수신부를 구비하고,
상기 요구 송신부는 상기 요구로부터 응답까지의 시간이 소정 시간 이상이 되었을 경우에 상기 요구 패킷을 재송신하고,
상기 응답 수신부는 수신한 응답 패킷 중 에러 패킷을 파기하는 에러 패킷 파기부와, 중복하여 수신한 중복 패킷을 파기하는 파기부를 구비한 것을 특징으로 하는 전송 장치.
(부기 9)
전송로를 통해 다른 장치와 접속하는 전송 장치로서,
상기 다른 장치로부터의 요구를 하나 또는 복수의 요구 패킷으로서 상기 전송로를 통해 수신하는 요구 수신부와,
상기 요구 수신부가 수신한 요구를 처리하여 응답을 작성하는 응답 처리부와,
상기 응답 처리부가 작성한 응답을 하나 또는 복수의 응답 패킷으로서 상기 전송로를 통해 상기 다른 장치에 송신하는 응답 송신부를 구비하고,
상기 응답 송신부는 상기 응답의 종류를 판별하는 응답 종별 판별부와, 상기 응답 종별 판별부에 의한 판별 결과에 근거하여 특정한 종류의 응답에 대해서 선택적으로 상기 응답 패킷을 용장화하는 응답 용장화 처리부를 구비한 것을 특징으로 하는 전송 장치.
(부기10)
제 1 장치와 제 2 장치를 전송로로 접속하고, 상기 제 1 장치로부터 상기 제 2 장치에 대한 요구와 상기 제 2 장치로부터 상기 제 1 장치에의 응답을 상기 전송로를 통해 송수신하는 전송 방법으로서,
상기 제 1 장치가 상기 제 2 장치에 대한 요구를 하나 또는 복수의 요구 패킷으로서 송신하고, 상기 요구로부터 상기 응답까지의 시간이 소정 시간 이상이 되었을 경우에 상기 요구 패킷을 재송신하는 요구 송신 스텝과,
상기 제 2 장치가 상기 제 1 장치로부터 상기 요구 패킷을 수신하고, 수신한 요구 패킷 중 에러 패킷을 파기하는 요구 수신 스텝과,
상기 제 2 장치가 상기 제 1 장치에 대한 상기 응답의 종류를 판별하고, 특정한 종류의 응답에 대해서 선택적으로 상기 응답 패킷을 용장화하여 송신하는 응답 송신 스텝과,
상기 제 1 장치가 상기 제 2 장치로부터의 응답을 하나 또는 복수의 응답 패킷으로서 수신하고, 수신한 응답 패킷 중 에러 패킷과 중복 패킷을 파기하는 응답 수신 스텝을 포함하는 것을 특징으로 하는 전송 방법.
도 1은 본 실시예에 관한 컴퓨터 시스템(1)의 개요구성을 나타낸 개요구성도.
도 2는 입출력 처리장치(10)와 연산장치(20) 사이에 전송되는 패킷의 종류와 전송 에러시의 구제 처리에 관해 설명하는 설명도.
도 3은, 도 2에 나타낸 동작타입1에 의한 구제 동작에 관해 설명하는 설명도.
도 4는, 도 2에 나타낸 동작타입2에 의한 구제 동작에 관해 설명하는 설명도.
도 5는, 도 2에 나타낸 동작타입3에 의한 구제 동작에 관해 설명하는 설명도.
도 6은 입출력 처리장치(10)가 순서 보증을 행할 경우의 동작에 관하여 설명하는 설명도.
도 7은 입출력 처리장치(10)와 연산장치(20)로 순서 보증을 행할 경우의 동작에 관해 설명하는 설명도.
도 8은 요구 송신부(12)의 처리 동작을 설명하는 흐름도.
도 9는 응답 수신부(13)의 처리 동작을 설명하는 흐름도.
도 10은 요구 수신부(22)의 처리 동작을 설명하는 흐름도.
도 11은 응답 송신부(23)의 처리 동작을 설명하는 흐름도.
*도면의 주요부에 대한 부호의 설명*
1: 컴퓨터 시스템 10: 입출력 처리장치
11: 요구 처리부 12: 요구 송신부
13: 응답 수신부 13a, 22a: 에러 패킷 파기부
13b: 용장 패킷 파기부 14: 타이머(Timer)
15: 입출력 디바이스 제어부 20: 연산장치
21: 응답 처리부 22: 요구 수신부
23: 응답 송신부 23a: 응답 종별 판별부
23b: 응답 용장화 처리부 24: 메모리 억세스 제어부
31: 제 1 메모리 32: 제 2 메모리

Claims (10)

  1. 제 1 장치와 제 2 장치를 전송로로 접속하고, 상기 제 1 장치로부터 상기 제 2 장치에 대한 요구와, 상기 제 2 장치로부터 상기 제 1 장치에의 응답을 상기 전송로를 통해 송수신하는 전송 시스템으로서,
    상기 제 1 장치는,
    상기 제 2 장치에 대한 요구를 하나 또는 복수의 요구 패킷으로서 송신하고 상기 요구로부터 상기 응답까지의 시간이 소정 시간 이상이 되었을 경우에 상기 요구 패킷을 재송신하는 요구 송신부와,
    상기 제 2 장치로부터의 응답을 하나 또는 복수의 응답 패킷으로서 수신하고 수신한 응답 패킷 중 에러 패킷(error packet)과 중복 패킷(redundant packet)을 파기하는 응답 수신부를 구비하고,
    상기 제 2 장치는,
    상기 제 1 장치로부터 상기 요구 패킷을 수신하고 수신한 요구 패킷 중 에러 패킷을 파기하는 요구 수신부와,
    상기 제 1 장치에 대한 상기 응답의 종류를 판별하고 특정한 종류의 응답에 대해서 선택적으로 상기 응답 패킷을 용장화(冗長化)하여 송신하는 응답 송신부를 구비하고, 상기 응답 패킷을 용장화하는 것은 상기 응답 패킷을 복수 회 송신하는 것이며, 각 응답 패킷은 동일 내용을 갖는 것을 특징으로 하는 전송 시스템.
  2. 제 1 항에 있어서,
    상기 응답 송신부는 처리 순서의 보증이 필요한 요구에 대한 응답에 대해서 선택적으로 상기 응답 패킷을 용장화하여 송신하는 것을 특징으로 하는 전송 시스템.
  3. 제 1 항에 있어서,
    상기 제 1 장치는 컴퓨터 시스템의 입출력을 수행하는 입출력 처리장치이고, 상기 제 2 장치는 상기 컴퓨터 시스템의 연산 처리를 수행하는 연산 처리장치인 것을 특징으로 하는 전송 시스템.
  4. 제 1 항에 있어서,
    상기 응답 송신부는 데이터의 기입 요구에 대한 응답과, 상기 제 2 장치의 처리에 대한 인터럽트 요구(interrupt request)에 대한 응답에 대해 선택적으로 상기 응답 패킷을 용장화하여 송신하는 것을 특징으로 하는 전송 시스템.
  5. 제 1 항에 있어서,
    상기 응답 송신부는 데이터의 독출 요구에 대한 응답에 대해서는, 상기 용장화의 대상에서 제외하는 것을 특징으로 하는 전송 시스템.
  6. 제 1 항에 있어서,
    상기 제 1 장치는, 처리 순서의 보증이 필요한 요구를 행할 경우에는, 당해 요구에 대한 응답을 받은 후에 다음 요구를 송신하는 것을 특징으로 하는 전송 시스템.
  7. 제 1 항에 있어서,
    상기 제 2 장치는, 상기 제 1 장치로부터 에러 패킷을 수신한 경우, 상기 제 1 장치에 송출 정지 의뢰를 송신하고, 이후에 수신한 패킷을 파기하고, 상기 에러 패킷의 수신 이전에 수신한 요구에 대한 응답이 종료했을 경우에, 상기 제 1 장치에 대하여 송출 재개 의뢰를 송신하는 것을 특징으로 하는 전송 시스템.
  8. 전송로를 통해 다른 장치와 접속하는 장치로서,
    상기 다른 장치에 소정의 처리의 실행을 요구하는 요구 처리부와,
    상기 요구 처리부의 요구를 하나 또는 복수의 요구 패킷으로서 상기 전송로를 통해 송신하는 요구 송신부와,
    상기 다른 장치로부터의 응답을 하나 또는 복수의 응답 패킷으로서 상기 전송로를 통해 수신하는 응답 수신부를 구비하고,
    상기 요구 송신부는 상기 요구로부터 응답까지의 시간이 소정 시간 이상이 되었을 경우에 상기 요구 패킷을 재송신하고,
    상기 응답 수신부는 수신한 응답 패킷 중 에러 패킷을 파기하는 에러 패킷 파기부와, 중복하여 수신한 중복 패킷을 파기하는 파기부를 구비한 것을 특징으로 하는 전송 장치.
  9. 전송로를 통해 다른 장치와 접속하는 전송 장치로서,
    상기 다른 장치로부터의 요구를 하나 또는 복수의 요구 패킷으로서 상기 전송로를 통해 수신하는 요구 수신부와,
    상기 요구 수신부가 수신한 요구를 처리하여 응답을 작성하는 응답 처리부와,
    상기 응답 처리부가 작성한 응답을 하나 또는 복수의 응답 패킷으로서 상기 전송로를 통해 상기 다른 장치에 송신하는 응답 송신부를 구비하고,
    상기 응답 송신부는 상기 응답의 종류를 판별하는 응답 종별 판별부와, 상기 응답 종별 판별부에 의한 판별 결과에 근거하여 특정한 종류의 응답에 대해서 선택적으로 상기 응답 패킷을 용장화하는 응답 용장화 처리부를 구비하고, 상기 응답 패킷을 용장화하는 것은 상기 응답 패킷을 복수 회 송신하는 것이며, 각 응답 패킷은 동일 내용을 갖는 것을 특징으로 하는 전송 장치.
  10. 제 1 장치와 제 2 장치를 전송로로 접속하고, 상기 제 1 장치로부터 상기 제 2 장치에 대한 요구와 상기 제 2 장치로부터 상기 제 1 장치에의 응답을 상기 전송로를 통해 송수신하는 전송 방법으로서,
    상기 제 1 장치가 상기 제 2 장치에 대한 요구를 하나 또는 복수의 요구 패킷으로서 송신하고, 상기 요구로부터 상기 응답까지의 시간이 소정 시간 이상이 되었을 경우에 상기 요구 패킷을 재송신하는 요구 송신 스텝과,
    상기 제 2 장치가 상기 제 1 장치로부터 상기 요구 패킷을 수신하고, 수신한 요구 패킷 중 에러 패킷을 파기하는 요구 수신 스텝과,
    상기 제 2 장치가 상기 제 1 장치에 대한 상기 응답의 종류를 판별하고, 특정한 종류의 응답에 대해서 선택적으로 상기 응답 패킷을 용장화하여 송신하는 응답 송신 스텝과,
    상기 제 1 장치가 상기 제 2 장치로부터의 응답을 하나 또는 복수의 응답 패킷으로서 수신하고, 수신한 응답 패킷 중 에러 패킷과 중복 패킷을 파기하는 응답 수신 스텝을 포함하고,
    상기 응답 패킷을 용장화하는 것은 상기 응답 패킷을 복수 회 송신하는 것이며, 각 응답 패킷은 동일 내용을 갖는 것을 특징으로 하는 전송 방법.
KR1020090050899A 2008-08-21 2009-06-09 전송 시스템, 전송 장치 및 전송 방법 KR101077512B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008213219A JP5035176B2 (ja) 2008-08-21 2008-08-21 伝送システム、伝送装置および伝送方法
JPJP-P-2008-213219 2008-08-21

Publications (2)

Publication Number Publication Date
KR20100023732A KR20100023732A (ko) 2010-03-04
KR101077512B1 true KR101077512B1 (ko) 2011-10-28

Family

ID=41258586

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090050899A KR101077512B1 (ko) 2008-08-21 2009-06-09 전송 시스템, 전송 장치 및 전송 방법

Country Status (5)

Country Link
US (1) US8255601B2 (ko)
EP (1) EP2157723B1 (ko)
JP (1) JP5035176B2 (ko)
KR (1) KR101077512B1 (ko)
CN (1) CN101656595B (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5590022B2 (ja) 2011-12-28 2014-09-17 富士通株式会社 情報処理装置、制御方法および制御プログラム
US20130346107A1 (en) 2012-06-20 2013-12-26 Oracle International Corporation Mobile clinical research associate framework for offline capability
US8990662B2 (en) * 2012-09-29 2015-03-24 Intel Corporation Techniques for resilient communication
FR3007230B1 (fr) * 2013-06-17 2015-07-31 Sdmo Ind Procede de communication dans un reseau interconnectant au moins deux groupes electrogenes, et dispositif d’interfacage correspondant.
CN103428273B (zh) * 2013-07-18 2016-12-28 北京百度网讯科技有限公司 在异步式交互中进行响应询问的方法与装置
JP5800058B2 (ja) * 2014-05-26 2015-10-28 富士通株式会社 情報処理装置、制御方法および制御プログラム
US9632862B2 (en) * 2014-12-20 2017-04-25 Intel Corporation Error handling in transactional buffered memory
CN109286476A (zh) * 2018-09-25 2019-01-29 京信通信系统(中国)有限公司 一种传输数据的方法、接收端及发送端

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6145654A (ja) * 1984-08-10 1986-03-05 Nec Corp 多重化集線装置
JPH0530115A (ja) * 1991-07-19 1993-02-05 Nec Corp ポーリングシステム
US5774479A (en) * 1995-03-30 1998-06-30 Motorola, Inc. Method and system for remote procedure call via an unreliable communication channel using multiple retransmission timers
JP3185760B2 (ja) * 1998-06-26 2001-07-11 日本電気株式会社 分散処理システム、サーバ、クライアント、遠隔処理起動方法および記録媒体
JP2000341252A (ja) 1999-05-28 2000-12-08 Mitsubishi Electric Corp データ通信システム、データ送信装置、データ受信装置およびデータ通信装置
EP1175047B1 (de) * 2000-07-14 2007-05-02 Siemens Aktiengesellschaft Verfahren und Anordnung zum Schutz gegen Paketverlusten bei einer paketorientierten Datenübertragung
JP3512755B2 (ja) * 2000-10-13 2004-03-31 シャープ株式会社 通信方式、通信装置、およびこの通信装置を用いた通信システム
KR100426535B1 (ko) * 2001-12-11 2004-04-08 삼성전자주식회사 무선통신기기 및 그 무선통신방법
KR100411446B1 (ko) * 2001-12-24 2003-12-18 엘지전자 주식회사 에이에이엘2 시그널링의 타입 3 패킷 처리 방법
US7197009B1 (en) * 2002-03-06 2007-03-27 Sprint Communications Company L.P. Delay variation based routing in communication systems
US7181674B2 (en) * 2002-06-28 2007-02-20 Sun Microsystems, Inc. Computer system including a network employing redundant information and slicing
JP4454320B2 (ja) * 2004-01-09 2010-04-21 富士通株式会社 伝送装置、伝送制御プログラム、及び伝送方法
JP3736641B2 (ja) 2004-01-22 2006-01-18 セイコーエプソン株式会社 データ転送制御装置及び電子機器
US7620409B2 (en) * 2004-06-17 2009-11-17 Honeywell International Inc. Wireless communication system with channel hopping and redundant connectivity
JP4356742B2 (ja) * 2006-12-25 2009-11-04 ソニー株式会社 データ通信システム、データ送信装置およびデータ送信方法

Also Published As

Publication number Publication date
EP2157723A3 (en) 2013-12-25
US20100046364A1 (en) 2010-02-25
CN101656595A (zh) 2010-02-24
EP2157723A2 (en) 2010-02-24
EP2157723B1 (en) 2019-09-18
KR20100023732A (ko) 2010-03-04
CN101656595B (zh) 2013-03-06
JP5035176B2 (ja) 2012-09-26
US8255601B2 (en) 2012-08-28
JP2010050742A (ja) 2010-03-04

Similar Documents

Publication Publication Date Title
KR101077512B1 (ko) 전송 시스템, 전송 장치 및 전송 방법
US8706901B2 (en) Protocols for high performance computing visualization, computational steering and forward progress
CN111857838B (zh) 用于管理ufs装置与ufs主机之间的通信的方法和系统
TWI734380B (zh) 電腦實施的方法和系統以及非暫態電腦可讀儲存媒體
CN114520711B (zh) 数据包的选择性重传
WO2004008320A1 (en) Mechanism for enabling enhanced fibre channel error recovery across redundant paths using scsi level commands
JP5151500B2 (ja) コンピュータシステム、障害処理方法および障害処理プログラム
US11736567B2 (en) Data transmission and network interface controller
US20080005346A1 (en) Separable transport layer in cache coherent multiple component microelectronic systems
TW201214127A (en) Memory device, host controller and memory system
JP2012085244A (ja) シリアル伝送装置、情報処理装置、及びシリアル伝送方法
EP4002734A1 (en) Selective retransmission of packets
JP4572138B2 (ja) サーバ装置、サーバシステム、及びサーバシステムでの系切り換え方法
JP5444194B2 (ja) データ転送装置、データ転送方法、コンピュータシステム
US20080310297A1 (en) Error control apparatus
JP5182417B2 (ja) 伝送データのエラーチェック装置および方法
JP4941212B2 (ja) 電子デバイス、データ処理装置、及びバス制御方法
JP2011040965A (ja) データリンク層処理回路および通信回路
JP2004260562A (ja) パケット送受信方法、及び装置
US20060140122A1 (en) Link retry per virtual channel
JPS61244149A (ja) デ−タ伝送システム
CN117692389A (zh) Rdma报文信息重传方法、装置、电子设备及存储介质
CN112910676A (zh) 容错系统及其控制方法
JP2005277552A (ja) バスリトライ制御方式及びデータ通信装置

Legal Events

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

Payment date: 20141007

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150918

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160921

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170919

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180918

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190917

Year of fee payment: 9