KR20150036369A - 중계 전송을 통한 usb 시그널링 방법 및 장치 - Google Patents

중계 전송을 통한 usb 시그널링 방법 및 장치 Download PDF

Info

Publication number
KR20150036369A
KR20150036369A KR20157002965A KR20157002965A KR20150036369A KR 20150036369 A KR20150036369 A KR 20150036369A KR 20157002965 A KR20157002965 A KR 20157002965A KR 20157002965 A KR20157002965 A KR 20157002965A KR 20150036369 A KR20150036369 A KR 20150036369A
Authority
KR
South Korea
Prior art keywords
usb
isochronous
module
data
host
Prior art date
Application number
KR20157002965A
Other languages
English (en)
Other versions
KR102073236B1 (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 KR20150036369A publication Critical patent/KR20150036369A/ko
Application granted granted Critical
Publication of KR102073236B1 publication Critical patent/KR102073236B1/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/4027Coupling between buses using bus bridges
    • G06F13/4045Coupling between buses using bus bridges where the bus bridge performs an extender function
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • 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/0042Universal serial bus [USB]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Information Transfer Systems (AREA)
  • Bus Control (AREA)
  • Dc Digital Transmission (AREA)
  • Communication Control (AREA)

Abstract

본 발명의 일 측면에 따르면, 시스템은 USB 호스트를 USB 장치에 연결하는, 중계 전송 링크의 호스트 측 및 장치 측 단부에 각각 정착되는 제1 및 제2 모듈을 포함한다. 시스템은 호스트가 등시 IN 데이터 트랜잭션을 위해 장치 내 등시 종단을 활성화하는 시점을 탐지하며, 제2 모듈은 장치에 대한 데이터 요청을 자체 생성하고 장치로부터 제1 모듈을 향해 출력되는 등시 데이터를 포워딩한다. 이와 교대로, 제1 모듈은 해당 데이터를 버퍼링하여 이를 호스트의 데이터 요청에 대한 응답으로 제공한다. 그러나, 제1 모듈은 호스트 요청들이 장치로 전파되지 않게 차단하면서 제2 모듈로부터 포워딩된 데이터가 사용 가능해질 때까지 호스트 요청들을 NACK한다. 이러한 동작에 의해 중계 전송 링크를 확장하더라도 호스트 및 장치는 USB 타이밍 위반을 피할 수 있다.

Description

중계 전송을 통한 USB 시그널링 방법 및 장치{A METHOD AND APPARATUS FOR USB SIGNALING VIA INTERMEDIATE TRANSPORTS}
본 발명은 USB(Universal Serial Bus)에 관한 것으로, 특히 USB 시그널링을 위한 중계 전송의 사용에 관한 것이다.
다양한 장치들과 시스템들이 USB 또는 USB 규격에 따른 통신 링크 상에서 이루어지는 직렬 통신을 통해 통신한다. 해당 규격은 USB 표준을 개발한 회사들이 설립하여 비영리 기관으로 운영하고 있는 USB-IF(USB Implementers Forum Inc.)에 의해 발표되고 있다. PC를 키보드, 조이스틱, 카메라, 스마트 폰 및 가상의 무수한 주변장치들과 링크하는 USB 연결이 보편적이다.
USB 시스템은 USB 상호 접속, USB 호스트 및 하나 이상의 USB 장치를 포함한 세 가지 정의 영역으로 설명된다. USB는 폴링되는(polled) 버스이며 USB 시스템당 하나의 USB 호스트만이 존재한다. USB 호스트는 모든 트랜잭션을 초기화하며, 트랜잭션 유형으로는 제어(control), 인터럽트(interrupt), 대량(bulk) 및 등시성(isochronous)의 네 가지 유형이 있다. 등시 데이터는 데이터 스트림으로서 이 데이터 스트림의 타이밍은 전송률에 의해 구현되고 USB 환경(context)에서 등시 장치는 USB 규격에서 정의하는 등시 종단(isochronous endpoint)들을 갖는 개체이다.
등시 종단은 샘플링된 아날로그 스트림 또는 동기화된 데이터 스트림을 소싱하거나 싱크한다. 특히, 호스트로부터 받은 등시 데이터 스트림을 소비할 수 있는 종단은 “등시 싱크(isochronous sink)”로 정의되는 반면, 등시 데이터 스트림을 생성하여 호스트로 보낼 수 있는 종단은 “등시 소스(isochronous source)”로 정의된다. 등시 전송은 등시 데이터로 작업할 때 사용되며, 이러한 전송은 호스트와 타겟 장치 간의 주기적이고 연속적인 통신을 제공한다. USB 용어에서, “장치(device)”는 기능을 수행하는 논리적 또는 물리적 개체이다. 이는 하나의 하드웨어 요소를 의미할 수도 있고, 보다 폭넓게는 특정 기능을 수행하는 하드웨어 요소들의 조합 전체를 의미할 수도 있다. 이러한 기능적인 관점은 예를 들어, 카메라 기능, 게임 제어기 기능 등과 같이, USB를 구비한 개체 레벨로 추상화될 수도 있다. 여기서 사용되는 바와 같이, USB 장치라는 상기 용어는 USB 종단을 포함하는 개체로 일반적으로 이해될 수 있을 것이다.
USB는 표준화된, 장치 간 통신의 강력한 수단을 제공하는 반면, 유연성에 있어 한계가 있다. 예를 들어, 이전의 USB 2.0 규격은 물리적 케이블 길이의 최대값 5m와, 허브로 확장된 USB 링크 셋을 경유하는 전체 또는 종단 간(end-to-end) 트랜잭션 지연의 외부 한계값을 규정한다. 보다 최근의 USB 3.0 규격은 케이블 길이의 최대값을 명시적으로 정의하지는 않지만, 전기적인 그리고 타이밍적인 규격에서 이러한 한계가 암시된다. 이러한 한계는 특히 USB 종단과 함께 사용되는 확장된 등시 데이터 링크를 갖는 것이 바람직한 환경에서 문제가 된다.
본 발명의 일 측면에 따르면, 시스템은 USB 호스트와 USB 장치를 상호 접속하는 중계 전송 링크의 호스트 측 및 장치 측 단부를 각각 정착시키는 제1 및 제2 모듈을 포함한다. 상기 시스템은 상기 호스트가 등시 IN 데이터 트랜잭션을 위해 상기 장치 내의 등시 종단을 활성화하는 시점을 탐지하며, 상기 제2 모듈은 상기 장치에 대한 데이터 요청을 자체적으로 생성하고 상기 장치로부터 상기 제1 모듈을 향해 출력되는 상기 등시 데이터를 포워딩한다. 결국, 상기 제1 모듈은 상기 데이터를 버퍼링하고, 호스트의 데이터 요청에 응답하여 이를 상기 호스트에 제공한다. 그러나, 상기 제1 모듈은 호스트 요청들이 상기 장치로 전파되지 않게 차단하면서 포워딩된 데이터가 상기 제2 모듈에서 사용 가능해질 때까지 호스트 요청들을 NACK한다. 확장된 중계 전송 링크들에 대해서 조차도, USB 타이밍 위반을 회피하는 동안, 이와 같은 동작은 상기 호스트 및 장치에게 명료하게 유지된다.
이에 따라 USB 시그널링 제어 방법의 일 실시예는, USB 호스트와 USB 장치 사이에서 발생하는 USB 신호를 감시하는 단계를 포함하되, 상기 USB 호스트와 상기 USB 장치는 중계 전송 링크를 통해 상호 접속되며, 상기 중계 전송 링크는 상기 USB 호스트에 대한 제1 로컬 USB 링크를 갖는 제1 모듈에 의해 호스트 측에 정착되고 상기 USB 장치에 대한 제2 로컬 USB 링크를 갖는 제2 모듈에 의해 장치 측에 정착된다. 여기서 상기 제1 및 제2 모듈은 상기 중계 전송 링크에 상기 USB 신호를 보내기 위해 신호 변환 기능을 제공하고 상기 제2 모듈이 상기 감시를 수행한다.
상기 방법은 상기 감시에 기반하여 상기 제2 모듈에서, 상기 USB 호스트가 등시 데이터 IN 트랜잭션을 위해 상기 USB 장치 내의 등시 종단을 활성화하는 시점을 탐지하는 단계에 있어서, 상기 등시 데이터 IN 트랜잭션에서 등시 데이터가 상기 등시 종단으로부터 상기 USB 호스트로 전송될 것인, 상기 USB 장치 내의 등시 종단을 활성화하는 시점을 탐지하는 단계를 더 포함한다. 나아가, 상기 방법은 상기 탐지에 응답하여 상기 제2 모듈이 상기 등시 종단으로부터의 등시 데이터에 대한 데이터 요청을 자체 생성하고 상기 데이터 요청에 응답하여 상기 등시 종단으로부터 수신되는 등시 데이터를 상기 제1 모듈로 포워딩하는 단계를 포함한다. 더불어, 상기 방법은 상기 제1 모듈이 상기 제2 모듈로부터 포워딩되는 상기 등시 데이터를 버퍼링하고, 상기 IN 트랜잭션을 위해 상기 USB 호스트에 의해 생성된 데이터 요청들을 수신하는 것에 응답하여 상기 제1 모듈이 상기 등시 데이터를 상기 USB 호스트로 제공하는 단계를 이어 실행한다. 그러나, 더욱 유리하게는, 상기 제1 모듈이 이러한 데이터 요청들을 상기 USB 호스트로부터 상기 제2 모듈로 포워딩하지 않는다.
다른 실시예에서, 시스템은 USB 시그널링을 제어하도록 구성된다. 상기 고려된 시스템은 USB 호스트에 대한 제1 로컬 USB 링크를 갖는 제1 모듈과 USB 장치에 대한 제2 로컬 USB 링크를 갖는 제2 모듈을 포함한다. 상기 제1 및 제2 모듈 각각은 상기 제1 및 제2 모듈을 상호 접속하는 중계 전송 링크를 통해 서로 통신하기 위한 인터페이스를 가지며, 이들은 상기 중계 전송 링크를 통해 상기 USB 호스트와 상기 USB 장치 사이를 흐르는 USB 신호를 전송하기 위해 신호 변환 기능을 제공하도록 구성된다.
나아가, 상기 제1 모듈 및/또는 상기 제2 모듈은, 등시 데이터 IN 트랜잭션을 위해 상기 USB 장치 내의 등시 종단을 상기 USB 호스트가 활성화하는 시점을 탐지하기 위해서, 상기 USB 신호를 감시하도록 구성되며, 상기 등시 데이터 IN 트랜잭션에서 등시 데이터가 상기 등시 종단으로부터 상기 USB 호스트로 전송될 것이다. 이러한 탐지에 응답하여, 상기 제2 모듈은 상기 등시 종단으로부터의 등시 데이터에 대한 데이터 요청을 자체적으로 생성하고, 상기 데이터 요청에 대한 응답으로 상기 등시 종단으로부터 수신되는 등시 데이터를 상기 제1 모듈로 포워딩하도록 구성된다. 더불어, 상기 제1 모듈은 상기 제2 모듈로부터 포워딩되는 상기 등시 데이터를 버퍼링하며, 상기 IN 트랜잭션을 위해 상기 USB 호스트에 의해 생성된 데이터 요청들을 수신하는 것에 응답하여, 상기 데이터 요청들을 상기 USB 호스트로부터 상기 제2 모듈로 포워딩하지 않고, 버퍼링된 상기 등시 데이터를 상기 USB 호스트로 제공하도록 구성된다.
물론, 본 발명은 전술한 특징들과 장점들로 한정되지 않는다. 실질적으로, 당 분야의 통상의 기술자는 후술하는 상세한 설명을 읽고 첨부된 도면을 보면서 추가적인 특징들 및 장점들을 알 수 있을 것이다.
도 1은 중계 전송 링크를 통해 USB 호스트와 USB 장치 간 USB 시그널링을 확장하는 시스템의 일 실시예의 구성도이다.
도 2는 USB 호스트 및 USB 장치 간 USB 시그널링을 수행하는데 사용되는 중계 전송 링크의 호스트 측과 장치 측 말단들 각각에서 동작하는 제1 및 제2 모듈의 예시적인 실시예의 구성도이다.
도 3은 도 1에 도시된 바와 같은 시스템을 이용해 USB 장치로부터 USB 호스트로의 등시 데이터 전송의 개선된 제어를 위한, 처리 방법의 일 실시예의 논리 흐름도이다.
도 1은 제1 모듈(12)과 제2 모듈(14)을 포함하는 “시스템(10)”의 일 실시예를 도시하되, 상기 제1 모듈(12)은 중계 전송 링크(16)의 “호스트 측”에서 동작하며, 상기 중계 전송 링크(16)는 이를 중계 전송 링크(16)의 “장치 측”으로 간주되는 상기 제2 모듈(14)에 연결한다. 여기서 “호스트 측” 및 “장치 측”이라는 용어는 시스템(10)이 USB 호스트(20)와 USB 장치(22)를 연결한다는 것을 의미하며 그 결과 이들 사이에 흐르는 USB 시그널링이 중계 전송 링크(16)를 통해 전달된다.
보다 상세하게는, 제1 모듈(12)이 USB 호스트(20)와의 제1 로컬 USB 링크(24)를 가지고, 제2 모듈(14)이 USB 장치(22)와의 제2 로컬 USB 링크(26)를 가진다. 제1 모듈(12)은 USB 호스트(20)로부터의 일반 USB 신호를 중계 전송 링크(16)를 통해 전송하기 위해 변환하고, 이후 제2 모듈(14)이 이를 USB 링크(26)를 통해 USB 장치(22)로 입력하기 위해 일반 USB 신호로 재 변환한다. 반대 방향에서는, 제2 모듈(14)이 해당 장치(22)로부터의 일반 USB 신호를 중계 전송 링크(16)를 통해 전송하기 위해 변환하고, 이후 제1 모듈(12)이 이를 USB 링크(24)를 통해 USB 호스트(20)로 입력하기 위해 일반 USB 신호로 재 변환한다.
일 실시예에서, 중계 전송 링크(16)는 광섬유 링크이고, 시스템(10)은 USB 호스트(20)와 USB 장치(22) 간 USB 시그널링을 USB 표준에서 규정하는 5m 거리 이상으로 확장할 수 있게 하는 등의 여러 장점들을 제공한다. 추가적인 장점으로, 광섬유에서 USB 시그널링이 오디오/비디오 시그널링(HDMI, DVI 등)과 같은 부가적인 시그널링과 결합하여 진행될 수 있다.
실질적으로, 제1 및 제2 모듈(12, 14)은 전기-광학 트랜시버(transceiver)들로 구성될 수 있으며, 이들 트랜시버들은 하나 이상의 전기적 인터페이스에 수신된 전기적 신호를 중계 전송 링크(16)를 통해 전송하기 위해 대응되는 광학 신호로 변환하고, 마찬가지로 중계 전송 링크(16)를 통해 수신된 광학 신호를 상기 하나 이상의 전기적 인터페이스를 통해 출력된 대응되는 전기 신호로 변환한다.
이러한 측면에서, 제1 및 제2 모듈(12, 14)이 CWDM(Coarse Wavelength Division Multiplexing)을 이용하도록 구성되어, 이들에 의해 전송된 USB 시그널링 및 임의의 다른 시그널링이 중계 전송 링크(16)로서 동작하는 단일 광섬유에서 계속 이어지도록 할 수 있다. 하나의 구성 예에서, 제1 및 제2 모듈(12, 14)은 전기적 USB 신호를 대응하는 광학 신호로 변환하고 다시 되돌리는 한 쌍의 상보적인 “SX51” 광학 트랜시버 모듈들을 포함한다. 여기서 “SX51”은 오므론 네트워크 사(Omron Network Products, LLC, 본사 주소5700 Stoneridge Dr., Suite 200, Pleasanton, CA 94588)에서 제공하는 광학 트랜시버 모듈 패밀리의 모델명이다.
도 2는 제1 및 제2 모듈(12, 14)의 예시적인 기능적 회로 세부사항을 도시한다. 제1 모듈(12)은 모듈 제어 및 처리 회로(30), 예를 들어 하나 이상의 프로세서, DSP, ASIC, FPGA 또는 다른 디지털 처리 회로를 포함하되, 해당 회로(30)는 제1 모듈(12) 내부의 또는 제1 모듈(12)에 접근 가능한 메모리 또는 다른 컴퓨터로 판독 가능한 매체에 저장되는 컴퓨터 프로그램 명령들의 실행에 상응하여 구성될 수 있다. 더 포함되는 것들로는 I/O 회로들(32)이 있으며, 상기 I/O 회로들(32)은 HDMI/DVI또는 다른 멀티미디어 인터페이스를 포함할 수 있고, (USB 장치(22)로부터의 USB 데이터를 버퍼링하기 위한, 시스템(10)이 USB 표준에서 규정하는 5m 한계를 넘어 USB 시그널링 거리를 확장할 수 있도록 하는 동작 단계들에서 사용하기 위한) 버퍼(36)를 갖는 USB 트랜시버(34)를 포함할 수 있다.
이러한 측면에서, I/O 회로(32)의 일부로서 구현된 USB 제어 회로(38)를 확인할 수 있다. 대안으로서, USB 제어 회로(38)는 모듈 제어 및 처리 회로(30)의 일부로 통합된다. 어느 경우에나, USB 제어 회로(38)는 일반적인 USB “재시도(retry)” 또는 “재전송(retransmission)” 동작을 이용해 USB 호스트(20)에서의 USB 타이밍 위반을 야기하지 않으면서 USB 시그널링 거리가 확장될 수 있게 한다. 예를 들어, USB 호스트(20)와 USB 장치(22) 간 USB 직접 연결을 갖는 일반적인 IN 트랜잭션에서, USB 호스트(20)는 USB 장치(22)에 IN 토큰을 발행한다. USB 장치(22)는 준비되면, 단일 USB 트랜잭션을 위해 USB 표준에서 승인하는 최대 응답 시간 내에 데이터 패킷을 리턴함으로써 IN 토큰에 응답한다. 그러나, USB 장치(22)가 준비되지 않으면, NACK를 발행하여 USB 호스트(20)가 요청을 재시도하도록 유도한다. 요청이 재시도되는 경우 USB 장치(22)는 준비되면 응답한다; 그렇지 않으면 USB 장치(22)가 다시 NACK하여 USB 호스트(20)로 하여금 요청을 두 번째로 재시도하게 한다. 추가 재시도들이 승인되고 USB 장치(22)가 요청된 데이터에 응답할 때까지 처리가 반복되거나 그렇지 않으면 트랜잭션이 종료된다.
시스템(10)은 이러한 재시도 동작을 이용해 USB 시그널링 거리를 확장한다. 예를 들어, USB 호스트(20)가 USB 장치(22)로부터 비동기 데이터 패킷을 요청하는 경우, USB 호스트(20)가 IN 토큰을 보내고 제1 모듈(12)이 이를 수신한다. 제1 모듈(12)은 최대 응답 시간 내에 USB 호스트(20)에 NACK를 리턴하고 그 동안 IN 토큰을 제2 모듈(14)에 포워딩하며 IN 토큰이 USB 장치(22)로 전달된다. 이에 응답하여, USB 장치(22)가 비동기 데이터 패킷을 출력하며 제2 모듈(14)은 이를 수신하고 최대 응답 시간 제한 내에 ACK한다. 제2 모듈(14)은 제1 모듈(12)에 데이터 패킷을 포워딩하고, 제1 모듈(12)은 데이터 패킷을 수신하여 버퍼링하는데, 이는 USB 호스트(20)가 동일한 USB 장치 ID/종단을 타겟으로 하여 후속 IN 토큰을 발행함으로써 데이터 요청을 재시도하는 경우, 버퍼링된 데이터가 제1 모듈(12)의 버퍼(36)로부터 USB 호스트(20)로 즉시 전달될 것임을 의미한다.
개괄적으로, 그러면 전술한 상황에서 시스템(10)은 USB 호스트(20)로부터의 초기 데이터 요청에 NACK로 응답함으로써 최대 USB 응답 시간 제한을 위반하는 것을 피하는 한편, 타겟이 되는 USB 종단 - 즉, 제2 모듈(14)의 USB 인터페이스에 직접 접속되거나 USB 허브를 통해 접속되는 USB 장치(22)를 향해 요청을 포워딩하게 된다. 실패나 다른 에러가 없다면, 상기 포워딩은 궁극적으로 상기 요청된 데이터가 USB 장치(22)로부터 제1 모듈(12)로 회신되는 결과를 야기하며, USB 호스트(20)가 요청을 재시도할 때 USB 호스트(20)로 전달되기 위해 버퍼링된다. 요청된 데이터가 버퍼링되어 제1 모듈(12)에서 사용 가능해지기 전까지 USB 호스트(20)가 한 번 이상 요청을 재시도할 수 있도록, 제1 모듈(12)은 NACK로 응답을 계속할 것이며, 각 NACK는 승인된 최대 응답 시간 내에 제공된다.
도 2는 제1 모듈(12)이 중계 전송 링크(16)를 통한 광학 시그널링을 위해 광 멀티플렉서/디멀티플렉서(40) 및 광 트랜시버(42)를 포함하는 것을 추가로 도시한다. 제2 모듈(14)은 중계 전송 링크(16)의 장치 측에 적합한 처리를 수행하도록 구성된 회로의 일부 양상을 갖는, 유사한 회로를 포함한다. 그런 측면에서, 다양한 도시된 회로 중, 제2 모듈(14) 또한 USB 장치(22)와 통신하기 위해 USB 트랜시버(44)를 포함하는 I/O 회로(32)를 포함하고, USB 제어 회로(48)를 더 포함하는 것을 확인할 수 있다.
하나 이상의 실시예에서, 제2 모듈(14)의 USB 제어 회로(48)는 USB 호스트(20)와 USB 장치(22) 사이에서 행해지는 등시 데이터 트랜잭션 상황에서 유익한 제어 및 처리를 수행하도록 구성된다. 개괄적으로, USB 제어 회로(48)는 USB 장치(22)로부터 USB 호스트(20)로 등시 데이터가 전송되는 동안, USB 장치(22)에 등시 종단을 구성하고 활성화하는 USB 호스트(20)와 연계된 제어 시그널링을 탐지하기 위해, USB 호스트(20)와 USB 장치(22) 사이에서 일어나는 USB 시그널링을 “스눕(snoop)”하거나 그렇지 않으면 감시하도록 구성된다. 예를 들어, USB 제어 회로(48)는 USB 1.1 규격의 9.4장에 정의된 바와 같은 GET_INTERFACE, SET_INTERFACE, GET_CONFIGURATION, and SET_CONFIGURATION 등의 임의의 표준 장치 요청(Standard Device Requests)을 탐지한다.
이러한 이벤트에서, USB 제어 회로(48)는 적절한 개수의 등시 데이터 요청들을 자체 생성하여 이들 요청을 적정 타이밍에 USB 장치(22)에 보냄으로써 대리 또는 대체 USB 호스트로서의 역할을 한다. 나아가, USB 제어 회로(48)의 제어 하에서, 제2 모듈(14)은 주기적으로 생성되는 USB 제어 회로(48)의 등시 데이터 요청에 상응하여 USB 장치(22)로부터 등시 데이터를 수신하고 해당 데이터를 제1 모듈(12)로 포워딩한다. 제1 모듈(12)은 입력 데이터가 수신됨에 따라 버퍼링하고, 등시 데이터 트랜잭션을 계속 진행하기 위해 USB 호스트(20)에 의해 생성되는 등시 데이터 요청 수신에 대한 응답으로 버퍼링된 데이터를 USB 호스트(20)로 제공한다. 특히, 제2 모듈(14)이 유사 요청들을 자체 생성하기 때문에 중계 전송 링크(16)를 통해 호스트의 요청을 보낼 필요가 없으므로, 제1 모듈(12)은 호스트의 요청을 제2 모듈(14)로 보내지 않는다.
도 3은 전술한 처리에 상응하는 방법(300) 예시를 도시한다. 도시된 방법에서 하나 이상의 단계는 다른 순서로 수행되거나 병행해서 수행될 수 있을 것이다. 나아가, 시스템(10)이 제1 모듈(12)에 저장된 컴퓨터 프로그램 명령들을 실행하는 제1 모듈(12)과, 제2 모듈(14)에 저장된 컴퓨터 프로그램 명령들을 실행하는 제2 모듈(14)에 기반하여 도시된 방법을 구현할 수 있음이 이해될 것이다.
전술한 바를 참조하면, 도 3의 논리 흐름도는, USB 호스트(20)에 대한 제1 로컬 USB 링크(24)를 갖는 제1 모듈(12)에 의해 호스트 측에 정착되고(anchored) USB 장치(22)에 대한 제2 로컬 USB 링크(26)를 갖는 제2 모듈(14)에 의해 장치 측에 정착되는 중계 전송 링크(16)를 통해 상호 접속되는, USB 호스트(20)와 USB 장치(22) 사이에서 발생하는 USB 신호를 감시하는 단계(302 블록)를 포함하는 USB 시그널링 제어 방법(300)으로 이해될 수 있다. 제1 및 제2 모듈(12, 14)은 중계 전송 링크(16) 상에 USB 신호를 전송하기 위해 신호 변환 기능을 제공하고, 여기서 논의하는 상기 감시 단계는 중계 전송 링크(16)의 장치 측에 있는 제2 모듈(14)에 의해 수행된다.
해당 방법(300)은 IN 트랜잭션을 위해, USB 호스트(20)가 USB 장치(22)에 있는 등시 종단을 언제 활성화하는지를 탐지하는 단계(304 블록)을 포함한다. 이 탐지 단계는 전술한 USB 시그널링 감시에 기반하여, 제2 모듈(14)에서 수행된다. 이러한 탐지에 응답하여(304 블록으로부터 ‘예(YES)’), 제2 모듈(14)은 IN 트랜잭션을 위한 데이터 요청들을 자체 생성하고 해당 데이터 요청에 대한 응답으로 USB 장치(22)로부터 수신되는 등시 데이터를 제1 모듈(12)로 포워딩한다(306 블록).
이에 대응하여, 제1 모듈(12)은 제2 모듈(14)로부터 포워딩되는 등시 데이터를 버퍼링하고, 상기 IN 트랜잭션을 위해 USB 호스트(20)에 의해 생성된 데이터 요청이 수신되는 경우 이러한 데이터 요청을 USB 호스트로부터 제2 모듈로 포워딩하지 않으면서 상기 IN 트랜잭션을 위해 USB 호스트(20)에 의해 생성된 데이터 요청을 수신하는 것에 대한 응답으로 버퍼링된 상기 등시 데이터를 USB 호스트(20)로 제공한다(308 블록). 이런 접근으로 호스트가 반복되는, 정기적인 데이터 요청을 중계 전송 링크(16)를 통해 전송할 필요 없이, 등시 데이터가 USB 장치(22)로부터 USB 호스트(20)에 정시에 전달될 수 있다.
USB 장치(22)의 관점에서는, 이러한 유익한 동작들은 제2 모듈(12)이 등시 데이터 전송을 위해 대리 또는 대체 USB 호스트로서 지능적으로 동작하는 것에 기반한다. 결국 이러한 지능적인 동작은 제2 모듈이 등시 종단 활성화를 위한 USB 시그널링을 감시하는 것과 이러한 활성화를 알리는 구성 정보로부터 대응하는 트랜잭션 파라미터들을 결정하는 것에 의해 가능해진다.
특히, 당 분야의 통상의 기술자는 전술한 설명 및 연계 도면들에서 나타내는 기술 사상을 갖는 수정들 및 개시된 발명(들)의 다른 실시예들을 생각해 낼 수 있을 것이다. 그러므로, 본 발명(들)은 개시된 특정 실시예들에 제한되지 않으며 개시된 범위 내에 수정들 및 다른 실시예들이 포함됨을 이해할 수 있을 것이다. 여기서 특정 용어들이 채용되었으나, 이들은 포괄적이고 설명적인 의미로 사용된 것일 뿐 제한을 목적으로 사용된 것이 아니다.

Claims (9)

  1. USB 호스트와 USB 장치 사이에서 발생하는 USB 신호를 감시하는 단계에 있어서, 상기 USB 호스트와 상기 USB 장치는 중계 전송 링크를 통해 상호 접속되며, 상기 중계 전송 링크는 상기 USB 호스트에 대한 제1 로컬 USB 링크를 갖는 제1 모듈에 의해 호스트 측에 정착되고 상기 USB 장치에 대한 제2 로컬 USB 링크를 갖는 제2 모듈에 의해 장치 측에 정착되며, 상기 제1 및 제2 모듈은 상기 중계 전송 링크에 상기 USB 신호를 보내기 위해 신호 변환 기능을 제공하고 상기 제2 모듈이 상기 감시를 수행하는, 상기 USB 신호를 감시하는 단계;
    상기 감시에 기반하여 상기 제2 모듈에서, 상기 USB 호스트가 등시 데이터 IN 트랜잭션을 위해 상기 USB 장치 내의 등시 종단을 활성화하는 시점을 탐지하는 단계에 있어서, 상기 등시 데이터 IN 트랜잭션에서 등시 데이터가 상기 등시 종단으로부터 상기 USB 호스트로 전송될 것인, 상기 USB 장치 내의 등시 종단을 활성화하는 시점을 탐지하는 단계를 포함하며, 상기 탐지에 응답하여,
    상기 제2 모듈에서, 상기 등시 종단으로부터의 등시 데이터에 대한 데이터 요청을 자체 생성하고 상기 데이터 요청에 응답하여 상기 등시 종단으로부터 수신되는 등시 데이터를 상기 제1 모듈로 포워딩하는 단계; 및
    상기 제1 모듈에서, 상기 제2 모듈로부터 포워딩되는 상기 등시 데이터를 버퍼링하며, 상기 IN 트랜잭션을 위해 상기 USB 호스트에 의해 생성된 데이터 요청들을 수신하는 것에 응답하여, 상기 데이터 요청들을 상기 USB 호스트로부터 상기 제2 모듈로 포워딩하지 않고, 버퍼링된 상기 등시 데이터를 상기 USB 호스트로 제공하는 단계를 포함하는 USB 시그널링 제어 방법.
  2. 제1항에 있어서,
    하나 이상의 USB 종단으로부터의 등시 데이터가 동시에 버퍼링될 수 있도록 버퍼 총 용량을 관리하는 단계를, 상기 다수의 USB 장치들 중 어느 하나로부터의 등시 데이터에 의해 소비될 수 있는 상기 버퍼 총 용량의 최대량을 상기 버퍼 총 용량 미만으로 제한하는 단계를 포함하여, 더 포함하는 것을 특징으로 하는 USB 시그널링 제어 방법.
  3. 제1항에 있어서,
    다수의 등시 종단들은 상기 제2 모듈에 연결된 하나 이상의 USB 장치들에서 함께 활성화 될 수 있고,
    임의의 주어진 종단에 대해서 버퍼링된 상기 등시 데이터는 단일 데이터 패킷으로 제한되며 동일한 종단으로부터의 신규 입력되는 데이터 패킷들은 상기 종단에 대한 상기 버퍼에 이미 있는 임의의 이전에 버퍼링된 데이터 패킷을 대체하는 것을 특징으로 하는 USB 시그널링 제어 방법.
  4. 제1항에 있어서,
    상기 감시하는 단계는 상기 제1 모듈과 상기 호스트 사이의 상기 제1 로컬 USB 링크, 또는 상기 제2 모듈과 상기 USB 장치 사이의 상기 제2 로컬 USB 링크에서 수행되는 것을 특징으로 하는 USB 시그널링 제어 방법.
  5. 제1항에 있어서,
    상기 감시하는 단계는 등시 종단들을 식별하기 위해서 USB 표준에서 정의하는 표준 장치 요청(Standard Device Requests)을 감시하는 단계를 포함하며, 나아가 상기 탐지하는 단계는 상기 등시 종단이 개시되는 시점을 결정하기 위해 USB SET_CONFIGURATION 또는 GET_CONFIGURATION 트랜잭션들 및/또는 SET_INTERFACE 또는 GET_INTERFACE 트랜잭션들을 탐지하는 단계를 포함하는 것을 특징으로 하는 USB 시그널링 제어 방법.
  6. 제1항에 있어서,
    상기 등시 종단에 수반하는 추가적인 USB 시그널링을 감시하는 것에 기반하여, 상기 등시 종단이 더 이상 활성화되지 않는 시점을 탐지하는 단계를 더 포함하는 것을 특징으로 하는 USB 시그널링 제어 방법.
  7. 제1항에 있어서,
    상기 등시 종단이 전원 차단되거나, 비활성화되거나, 또는 접속 차단되는 것을 탐지하는 것에 응답하여 상기 등시 종단과의 상기 자체 등시 데이터 트랜잭션들을 종료하는 단계를 더 포함하는 것을 특징으로 하는 USB 시그널링 제어 방법.
  8. 제1항에 있어서,
    상기 자체 트랜잭션들이 생성되어, 각각의 식별된 등시 종단이 USB 프레임당 단일 자체 트랜잭션을 얻게 되는 것을 특징으로 하는 USB 시그널링 제어 방법.
  9. USB 호스트에 대한 제1 로컬 USB 링크를 갖는 제1 모듈과 USB 장치에 대한 제2 로컬 USB 링크를 갖는 제2 모듈을 포함하고, 상기 제1 및 제2 모듈 각각은 상기 제1 및 제2 모듈을 상호 접속하는 중계 전송 링크를 통해 서로 통신하기 위한 인터페이스를 가지며, 상기 제1 및 제2 모듈은 상기 중계 전송 링크를 통해 상기 USB 호스트 및 장치 사이를 흐르는 USB 신호를 전송하기 위한 신호 변환 기능을 제공하도록 구성되며;
    상기 제1 및 제2 모듈 중 적어도 어느 하나는, 등시 데이터 IN 트랜잭션을 위해 상기 USB 장치 내의 등시 종단을 상기 USB 호스트가 활성화하는 시점을 탐지하기 위해서, 상기 USB 신호를 감시하도록 구성되며, 상기 등시 데이터 IN 트랜잭션에서 등시 데이터가 상기 등시 종단으로부터 상기 USB 호스트로 전송될 것이고;
    상기 탐지에 응답하여, 상기 제2 모듈은 상기 등시 종단으로부터의 등시 데이터에 대한 데이터 요청을 자체 생성하고, 상기 데이터 요청에 대한 응답으로 상기 등시 종단으로부터 수신되는 등시 데이터를 상기 제1 모듈로 포워딩하도록 구성되며;
    상기 제1 모듈은 상기 제2 모듈로부터 포워딩되는 상기 등시 데이터를 버퍼링하며, 상기 IN 트랜잭션을 위해 상기 USB 호스트에 의해 생성된 데이터 요청들을 수신하는 것에 응답하여, 상기 데이터 요청들을 상기 USB 호스트로부터 상기 제2 모듈로 포워딩하지 않고, 버퍼링된 상기 등시 데이터를 상기 USB 호스트로 제공하도록 구성되는, USB 시그널링 제어 시스템.
KR1020157002965A 2012-07-05 2013-07-02 중계 전송을 통한 usb 시그널링 방법 및 장치 KR102073236B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261668310P 2012-07-05 2012-07-05
US61/668,310 2012-07-05
PCT/US2013/049106 WO2014008280A1 (en) 2012-07-05 2013-07-02 A method and apparatus for usb signaling via intermediate transports

Publications (2)

Publication Number Publication Date
KR20150036369A true KR20150036369A (ko) 2015-04-07
KR102073236B1 KR102073236B1 (ko) 2020-03-02

Family

ID=48916171

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157002965A KR102073236B1 (ko) 2012-07-05 2013-07-02 중계 전송을 통한 usb 시그널링 방법 및 장치

Country Status (6)

Country Link
US (2) US9015363B2 (ko)
EP (1) EP2870540A1 (ko)
JP (1) JP6208232B2 (ko)
KR (1) KR102073236B1 (ko)
CN (1) CN104813301B (ko)
WO (1) WO2014008280A1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9654604B2 (en) * 2012-11-22 2017-05-16 Intel Corporation Apparatus, system and method of controlling data flow over a communication network using a transfer response
US9852115B2 (en) * 2013-01-30 2017-12-26 Microsoft Technology Licensing, Llc Virtual library providing content accessibility irrespective of content format and type
CN104123258A (zh) * 2014-07-23 2014-10-29 龙迅半导体科技(合肥)有限公司 一种usb数据传输接口及系统
JP6233652B2 (ja) * 2014-08-29 2017-11-22 サイレックス・テクノロジー株式会社 デバイスサーバとその制御方法
TWM525481U (zh) * 2015-10-21 2016-07-11 宏正自動科技股份有限公司 於不同通訊介面間相互傳輸訊號之系統及裝置
US10037297B2 (en) * 2015-12-30 2018-07-31 Aten International Co., Ltd. Method of extending range of USB transmission for isochronous transfer
CN106021160A (zh) * 2016-05-16 2016-10-12 江苏沁恒股份有限公司 一种usb信号监听装置及监听方法
JP2018046506A (ja) * 2016-09-16 2018-03-22 ルネサスエレクトロニクス株式会社 通信装置及び通信方法
US11809354B2 (en) * 2021-03-29 2023-11-07 Icron Technologies Corporation Buffer management for ISO in endpoints in USB extension systems
JPWO2023032147A1 (ko) * 2021-09-03 2023-03-09

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040177197A1 (en) * 2001-04-27 2004-09-09 Mcleod John Alexander Method and apparatus for extending the range of the universal serial bus protocol
JP2005129008A (ja) * 2003-09-29 2005-05-19 Sharp Corp ホスト側コントローラ,usbシステム,通信コントローラ,パケット通信方法,パケット通信プログラムおよび記録媒体
KR20070015671A (ko) * 2005-08-01 2007-02-06 (주)이월리서치 유에스비 호스트에 보안 콘트롤러를 부가하여 유에스비장치를 통제하는 방법

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3045985B2 (ja) 1997-08-07 2000-05-29 インターナショナル・ビジネス・マシーンズ・コーポレイション 接続確立方法、通信方法、状態変化伝達方法、状態変化実行方法、無線装置、無線デバイス、及びコンピュータ
US6389029B1 (en) 1998-11-10 2002-05-14 Nortel Networks Limited Local area network incorporating universal serial bus protocol
US6584519B1 (en) 1998-12-22 2003-06-24 Canon Kabushiki Kaisha Extender for universal serial bus
EP1155370B1 (en) * 1999-02-19 2003-05-02 Icron Systems Inc. Method and apparatus for extending the range of the universal serial bus protocol
JP2004246750A (ja) * 2003-02-17 2004-09-02 Nippon Telegr & Teleph Corp <Ntt> Usb通信方法
JP2008501178A (ja) * 2004-05-28 2008-01-17 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ バス接続装置
US7418524B2 (en) 2005-12-06 2008-08-26 Avocent Corporation Universal serial bus (USB) extension
US7818486B2 (en) * 2008-08-15 2010-10-19 Icron Technologies Corporation Method and apparatus for connecting USB devices to a remote computer
US9104821B2 (en) * 2008-12-31 2015-08-11 Intel Corporation Universal serial bus host to host communications

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040177197A1 (en) * 2001-04-27 2004-09-09 Mcleod John Alexander Method and apparatus for extending the range of the universal serial bus protocol
JP2005129008A (ja) * 2003-09-29 2005-05-19 Sharp Corp ホスト側コントローラ,usbシステム,通信コントローラ,パケット通信方法,パケット通信プログラムおよび記録媒体
KR20070015671A (ko) * 2005-08-01 2007-02-06 (주)이월리서치 유에스비 호스트에 보안 콘트롤러를 부가하여 유에스비장치를 통제하는 방법

Also Published As

Publication number Publication date
CN104813301A (zh) 2015-07-29
US20140013013A1 (en) 2014-01-09
JP2015528163A (ja) 2015-09-24
KR102073236B1 (ko) 2020-03-02
US9015363B2 (en) 2015-04-21
JP6208232B2 (ja) 2017-10-04
EP2870540A1 (en) 2015-05-13
WO2014008280A1 (en) 2014-01-09
CN104813301B (zh) 2018-05-22
US20150193322A1 (en) 2015-07-09

Similar Documents

Publication Publication Date Title
KR102073236B1 (ko) 중계 전송을 통한 usb 시그널링 방법 및 장치
US20200042482A1 (en) Pci express tunneling over a multi-protocol i/o interconnect
TWI621022B (zh) 於多重電纜pci快捷io互連中實施電纜故障切換
US7424566B2 (en) Method, system, and apparatus for dynamic buffer space allocation
JP4878185B2 (ja) データ通信回路および調停方法
US9870336B2 (en) Implementing sideband control structure for PCIE cable cards and IO expansion enclosures
EP1879115B1 (en) Information processing apparatus and data communication device
US7424567B2 (en) Method, system, and apparatus for a dynamic retry buffer that holds a packet for transmission
US8924612B2 (en) Apparatus and method for providing a bidirectional communications link between a master device and a slave device
CA2880979C (en) Usb 3.0 link layer timer adjustment to extend distance
US20090063717A1 (en) Rate Adaptation for Support of Full-Speed USB Transactions Over a High-Speed USB Interface
US9396149B2 (en) PCIE switch apparatus and method of controlling connection thereof
TWI232035B (en) Wake-on-lan device
US8990470B1 (en) Virtual hubs for communication interface
KR102669923B1 (ko) PCIe 인터페이스 장치 및 그 동작 방법
KR102033112B1 (ko) Pci 익스프레스 스위치 장치 및 그의 접속 제어 방법
US20060195645A1 (en) Interface for prototyping integrated systems
US8630181B2 (en) Communication system and corresponding integrated circuit and method
WO2024092193A1 (en) Bus transaction security in multi-chip module

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant