KR101832997B1 - Usb 데이터 전달들을 관리하기 위한 시스템들 및 방법들 - Google Patents

Usb 데이터 전달들을 관리하기 위한 시스템들 및 방법들 Download PDF

Info

Publication number
KR101832997B1
KR101832997B1 KR1020167001089A KR20167001089A KR101832997B1 KR 101832997 B1 KR101832997 B1 KR 101832997B1 KR 1020167001089 A KR1020167001089 A KR 1020167001089A KR 20167001089 A KR20167001089 A KR 20167001089A KR 101832997 B1 KR101832997 B1 KR 101832997B1
Authority
KR
South Korea
Prior art keywords
endpoint
data packets
endpoints
transmission data
data unit
Prior art date
Application number
KR1020167001089A
Other languages
English (en)
Other versions
KR20160020539A (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 KR20160020539A publication Critical patent/KR20160020539A/ko
Application granted granted Critical
Publication of KR101832997B1 publication Critical patent/KR101832997B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4295Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using an embedded synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Computer Hardware Design (AREA)

Abstract

USB(universal-serial-bus) 데이터 전달들을 관리하기 위한 시스템 및 방법들이 제공된다. 예시적인 시스템은 종점(endpoint)들을 정렬하기 위한 제1 스케쥴링 큐를 포함하는 비일시적 컴퓨터 판독가능 저장 매체 및 호스트 제어기를 포함한다. 상기 호스트 제어기는 데이터 전달들을 위한 복수의 종점들을 상기 저장 매체에 저장하고, 하나의 종점은 USB 디바이스의 일부분에 대응하며, 상기 복수의 종점들을 제1 순서로 정렬하고, 복수의 오리지널 데이터 패킷들을 포함하는 제1 전송 데이터 유닛을 생성하고, 상기 오리지널 데이터 패킷들은 상기 제1 순서에 적어도 부분적으로 근거하여 상기 복수의 종점들에 할당되고, 상기 제1 전송 데이터 유닛을 전달하도록 구성된다.

Description

USB 데이터 전달들을 관리하기 위한 시스템들 및 방법들{SYSTEMS AND METHODS FOR MANAGING USB DATA TRANSFERS}
[관련 출원의 상호참조]
본 발명은 2013년 7월 16일자로 출원된 미국 가특허 출원 제61/846,793호의 우선권 및 이득을 주장하며, 이 출원은 그 전체가 본 명세서에 참조로서 포함된다.
[기술분야]
본 명세서에 설명된 기술은 일반적으로 데이터 전달에 관한 것이며, 특히 데이터 전달 관리에 관한 것이다.
USB는 플러그 및 플레이 또는 핫 스와핑 연결(hot swapping connectivity)이 이루어지게 하고 호스트와 주변 디바이스들 간에 레거시 직렬 및 병렬 포트들을 교체하기 위해 개발된 표준이다. USB는, 나 이상의 부착된 주변 디바이스들(즉, USB 디바이스들)이 호스트 스케쥴 프로토콜(host-scheduled protocol)을 통해 버스 대역폭을 공유하는 폴링된 버스(polled bus)에 대응한다. USB 디바이스는 호스트 및 다른 USB 디바이스들이 동작하는 동안 부착(attach), 구성, 사용 및 탈착(detach)되는 것이 가능하다.
일반적으로, USB 데이터 전달은 호스트와 USB 디바이스 간에 일어난다. USB 디바이스가 처음 호스트에 연결될 때, 조사 프로세스(enumeration process)가 시작된다. 리셋 신호가 USB 디바이스의 데이터 레이트를 결정하기 위해 상기 USB 디바이스에 전송된다. 그 다음, 상기 USB 디바이스와 관련된 정보가 호스트에 의해 판독되고, 상기 USB 디바이스는 고유한 어드레스를 할당받는다. 호스트 제어기는 트래픽 흐름을 상기 USB 디바이스로부터/로 지향한다. 예를 들어, 상기 호스트 제어기는 호스트 메모리와 디바이스 종점(endpoint)들 간에 데이터를 이동시키도록 USB 동작들을 실행하며, 각각의 디바이스 종점은 상기 호스트와 상기 USB 디바이스 간의 통신 흐름에서 데이터의 소스 또는 싱크(sink)인 상기 USB 디바이스의 고유하게 어드레싱가능한 부분에 대응한다.
데이터 전달들의 네 개의 기본 타입들이 USB 사양들에 지원되는 바, 이 타입들은 제어 데이터 전달, 벌크 데이터 전달, 인터럽트 데이터 전달, 및 등시성(isochronous) 데이터 전달이다. 상기 제어 데이터 전달은 종종, (예컨대, 커맨드/상태 동작들에 대한) 비주기적 호스트 소프트웨어 개시(software-initiated) 요청/응답 통신을 위해 이용된다. 상기 벌크 데이터 전달은 일반적으로, 어떤 이용가능한 대역폭을 이용할 수 있고, 대역폭이 이용가능해질 때까지 지연될 수 있는 비주기적 대형-패킷 통신을 위해 이용된다. 예를 들어, 프린터에 의해 수신된, 하나의 큰 패킷 내의 데이터는 상기 벌크 데이터 전달을 이용하여 전달될 수 있다. 추가적으로, 상기 인터럽트 데이터 전달은 종종 낮은 주파수의 한정 레이턴시(bounded-latency) 통신을 위해 이용된다. 예를 들어, 매우 작은 데이터를 전송하는 마우스 또는 키보드는 상기 인터럽트 데이터 전달을 이용할 수 있다. 스트리밍 실시간 전달로서도 알려진 등시성 데이터 전달은 일반적으로, 호스트와 USB 디바이스 간에 주기적인 연속적 통신(예컨대, 시간에 민감한(time-sensitive) 정보를 수반하는 통신)을 위해 이용된다. 예를 들어, 스트리밍 디바이스(예컨대, 오디오 스피커)가 상기 등시성 데이터 전달을 이용할 수 있다.
USB 데이터 전달들은 호스트 제어기에 의해 스케쥴링된다. 예를 들어, 등시성 데이터 전달 및 인터럽트 데이터 전달과 같은 주기적 데이터 전달들은 종종, 엄격한 타이밍 요건들을 가지며, 따라서 적시에 버스에 걸쳐 이동할 필요가 있다. 벌크 데이터 전달 및 제어 데이터 전달과 같은 비 주기적 데이터 전달들은 종종, 엄격한 타이밍 요건들을 가지지 않는다. 호스트와 USB 디바이스들 간에 동기화가 되게 하기 위해, 버스 시간이 종종 고정 길이 세그먼트들로 분할된다. 저속(low-speed) 또는 전속(full-speed) 버스들의 경우, 버스 시간은 1미리초 단위, 즉 프레임들로 분할된다. 고속 버스의 경우, 버스 시간은 125 마이크로초 단위, 측 마이크로프레임들로 분할된다. 마이크로프레임은 복수의 데이터 패킷들을 포함하며, 일 데이터 패킷은 1키로바이트를 포함한다.
본 명세서에 기술된 교시들에 따르면, USB 데이터 전달들을 관리하기 위한 시스템들 및 방법들이 제공된다. 예시적인 시스템은 종점들을 정렬(sort)하기 위한 제1 스케쥴링 큐 및 호스트 제어기를 포함하는 비일시적 컴퓨터 판독가능 저장 매체를 포함한다. 상기 호스트 제어기는 상기 저장 매체로의 데이터 전달들을 위한 복수의 종점들 - 일 종점은 USB 디바이스의 일부분에 대응함 - 을 저장하고, 상기 복수의 종점들을 제1 순서로 정렬하고, 복수의 오리지널 데이터 패킷들 - 상기 오리지널 데이터 패킷들은 상기 제1 순서에 적어도 부분적으로 근거하여 상기 복수의 종점들에 할당됨 - 을 포함하는 제1 전송 데이터 유닛을 생성하고, 그리고 상기 제1 전송 데이터 유닛을 전달하도록 구성된다.
일 실시예에서, USB 데이터 전달들을 관리하기 위한 방법이 제공된다. 복수의 종점들이 데이터 전달들을 위해 수신된다. 일 종점은 USB 디바이스의 일부분에 대응한다. 복수의 종점들이 순서대로 저장된다. 복수의 데이터 패킷들을 포함하는 전송 데이터 유닛이 생성된다. 상기 데이터 패킷들은 상기 순서에 적어도 부분적으로 근거하여 상기 복수의 종점들에 할당된다. 상기 전송 데이터 유닛이 전달된다.
다른 실시예에서, 비일시적 머신 판독가능 저장 매체는 USB 데이터 전달들을 관리하기 위한 프로그래밍 명령어들을 포함한다. 프로그래밍 명령어들은 하나 이상의 데이터 프로세서들로 하여금 특정 동작들을 실행하도록 구성된다. 복수의 종점들이 데이터 전달들을 위해 수신된다. 일 종점은 USB 디바이스의 일부분에 대응한다. 복수의 종점들은 순서대로 정렬된다. 복수의 데이터 패킷들을 포함하는 전송 데이터 유닛이 생성된다. 데이터 패킷들은 상기 순서에 적어도 부분적으로 근거하여 복수의 종점들에 할당된다. 전송 데이터 유닛은 전달된다.
도 1은 USB 데이터 전달들을 관리하기 위한 시스템을 보여주는 예시적인 도해를 도시한다.
도 2는 USB 데이터 전달들을 관리하기 위한 시스템을 보여주는 다른 예시적인 도해를 도시한다.
도 3은 메모리 디바이스에 포함된 두 개의 스케쥴링 큐들을 보여주는 예시적인 도해를 도시한다.
도 4는 세 개의 종점들에 대한 데이터 전달들을 보여주는 예시적인 도해를 도시한다.
도 5는 세 개의 종점들에 대한 데이터 전달들을 보여주는 다른 예시적인 도해를 도시한다.
도 6은 데이터 전달 스케쥴링을 위한 서로 다른 경우들을 보여주는 예시적인 도해를 도시한다.
도 7은 USB 데이터 전달들을 관리하기 위한 예시적인 순서도를 도시한다.
USB 데이터 전달들은 일반적으로, 주기적 데이터 전달들 및 비주기적 데이터 전달들을 관리(예컨대, 스케쥴링)하는 호스트에 의해 개시된다. 대부분, USB 시스템의 성능은 데이터 전달 관리의 효율성에 좌우된다. 종종, USB 버스의 대역폭의 80%~90%는 주기적 데이터 전달들에 할당된다. 따라서, 주기적 데이터 전달들의 관리는 USB 시스템의 성능을 향상시키는 데 중대한 역할을 한다.
도 1은 USB 데이터 전달들을 관리하기 위한 시스템을 보여주는 예시적인 도해이다. 도 1에 도시된 바와 같이, 호스트 제어기(102)는 특별한 순서로 스케쥴링 큐(102)에 저장된 복수의 종점들(예컨대, EP1, EP2, EPn)을 정렬하고, 데이터 전달들(예컨대, 주기적 데이터 전달들)을 위해 상기 특별한 순서에 따라 정렬된 종점들에 리소스들을 할당한다.
특히, 시스템(100)은 호스트(108)에 부착된 다수의 USB 디바이스(1061, 1062, ..., 106m)를 포함한다. 복수의 종점들(예컨대, EP1 , EP2, ..., EPn) 각각은 USB 디바이스의 고유하게 어드레싱가능한 부분에 대응한다. 일부 실시예들에서, 각각의 종점은 주파수와 관련되며, 호스트 제어기(102)는 각각의 주파수들에 근거하여 종점들을 정렬한다. 예를 들어, 호스트 제어기(102)는 내림차순으로 종점들을 정렬할 수 있는 바, 최고 주파수를 갖는 종점은 스케쥴링 큐(104)의 상단에 저장되고, 데이터 전달을 위한 리소스들을 처음 수신한다.
특정 실시예들에서, 각각의 종점은 데이터 전달을 위한 종점 대역폭과 관련되며, 호스트 제어기(102)는 각각의 종점 대역폭들에 근거하여 종점들을 정렬한다. 예를 들어, 호스트 제어기(102)는 내림차순으로 종점들을 정렬하고, 최고 종점 대역폭을 갖는 종점은 스케쥴링 큐(104)의 상단에 저장되고 데이터 전달을 위한 리소스들을 처음 수신한다. 일부 실시예들에서, 스케쥴링 큐(104)는 호스트 제어기(102)에 액세스가능한 메모리 디바이스에 포함된다.
호스트 제어기(102)는 복수의 데이터 패킷들(예컨대, 16 데이터 패킷들)을 포함하는 전송 데이터 유닛(예컨대, 마이크로프레임)을 생성한다. 전송 데이터 유닛 내의 데이터 패킷들은 (예컨대, 하향으로(top down)) 스케쥴링 큐(104)에 저장된 종점들에 할당된다. 할당된 데이터 패킷들을 갖는 전송 데이터 유닛이 전송된 후, 호스트 제어기(102)는 정렬된 종점들에 대해 데이터 전달들(예컨대, 등시성 데이터 전달들, 인터럽트 데이터 전달들, 등등)을 수행하기 위해 전송 데이터 유닛들을 더 생성한다.
도 2는 USB 데이터 전달들을 관리하기 위한 시스템을 보여주는 다른 예시적인 도해를 도시한다. 도 2에 도시된 바와 같이, 호스트 제어기(102)는 데이터 전달들을 위해 두 개의 스케쥴링 큐들(104 및 206)을 관리하고, 스케쥴링 큐(104)는 현재 활성인 큐로서 이용되고, 스케쥴링 큐(206)는 백업 큐로서 이용된다. 스케쥴링 큐(206)에 새로운 종점을 저장한 후, 호스트 제어기(102)는 스케쥴링 큐(206)를 정렬하고, 데이터 전달들(예컨대, 주기적 데이터 전달들)을 위해 스케쥴링 큐(104)로부터 스케쥴링 큐(206)로 스위칭한다.
특히, 새로운 종점 Epn + 1이 수신될 때, 호스트 제어기(102)는, 현재 활성 큐(104) 대신, 복수의 종점들(예컨대, EP1, EP2, ...., EPn)을 역시 포함하는 스케쥴링 큐(206)에 새로운 종점 Epn + 1을 저장하여서, 시스템(100)의 현재 동작들이 방해받지 않게 된다. 호스트 제어기(102)는 스케쥴링 큐(206)에 저장된 종점들(예컨대, EP1 , EP2, ..., Epn, Epn+1)을 정렬하고, 스케쥴링 큐(206)가 활성 큐가 되고 스케쥴링 큐(104)가 백업 큐로서 역할을 하도록 스케쥴링 큐(104)로부터 스케쥴링 큐(206)로 스위칭한다. 후속적으로, 다른 새로운 종점이 수신되면, 이는 스케쥴링 큐(104)에 저장될 것이다.
일부 실시예들에서, 스케쥴링 큐(104) 및 스케쥴링 큐(206)는 도 3에 도시된 바와 같이, 호스트 제어기(102)에 액세스가능한 동일한 메모리 디바이스에 포함된다. 예를 들어, 스케쥴링 큐(104)는 하향으로 프로세스되고, 스케쥴링 큐(206)는 상향으로(bottom up) 프로세스된다. 특정 실시예들에서, 스케쥴링 큐(104) 및 스케쥴링 큐(206)는 호스트 제어기(102) 액세스가능한 서로 다른 메모리 디바이스들에 포함된다. 일부 실시예들에서, 전송 데이터 유닛의 80% 이하가 주기적 데이터 전달들을 위해 할당되고, 나머지 전송 데이터 유닛은 비주기적 데이터 전달들(예컨대, 제어 데이터 전달들, 벌크 데이터 전달들, 등등)을 위해 할당된다. 특정 실시예들에서, 전송 데이터 유닛의 데이터 패킷들은 주기적 데이터 전달들을 위해 최대 세 개의 종점들에 할당된다.
일례로서, 시스템(100)에 대해 이용가능한 대역폭은 마이크로프레임 당 16개의 패킷들이다. 호스트 제어기(102)는 세 개의 등시성 종점들(예컨대, EP A, EP B, EP C)에 대한 데이터 전달들을 관리한다. 특히, 호스트 제어기(102)는 예컨대, 구성된 종점 커맨드를 프로세싱함으로써 커맨드 프로세서를 통해 세 개의 종점들에 필요한 총 대역폭을 계산한다. 필요한 총 대역폭이 이용가능한 대역폭보다 많지 않으면, 호스트 제어기(102)는 관련 구성을 수락한다. 그렇지 않으면, 호스트 제어기(102)는 에러 신호를 생성한다.
표 1은 세 개의 등시성 종점들과 관련된 종점 대역폭들을 도시한다. 표 1에 도시된 바와 같이, 세 개의 등시성 종점들 EP A, EP B 및 EP C에 대응하는 최대 종점-서비스-간격-시간 페이로드들은 각각 8개의 패킷들, 10개의 패킷들 및 12개의 패킷들이다. 각각의 전송 시간 간격들에 따라, 이 세 개의 종점들은 각각 마이크로프레임 당 8개의 패킷, 마이크로프레임 당 4개의 패킷 및 마이크로프레임들 4개의 패킷의 종점 대역폭들을 가진다. 이 구성에 필요한 총 대역폭은 마이크로프레임 당 16 패킷들이며, 이는 이용가능한 대역폭과 동일하다. 따라서, 구성은 수락된다. 마이크로프레임 내의 데이터 패킷들(예컨대, 16개의 데이터 패킷들)은 종점 대역폭들에 따라 종점들 EP A, EP B 및 EP C에 할당될 수 있다.
종점들 최대 ESIT 페이로드 간격들 대역폭(패킷들/uF)
EP A 8개의 패킷들 (마이크로프레임마다) 0 8
EP B 10개의 패킷들 (2 개의 마이크로프레임마다) 1 4
EP C 12개의 패킷들 (4 개의 마이크로프레임마다) 2 4
16
도 4는 세 개의 종점들에 대한 데이터 전달들을 보여주는 예시적인 도해를 도시한다. 세 개의 종점들(예컨대, EP A, EP B 및 EP C)로부터의 데이터는 복수의 마이크로프레임들을 이용하여 주기적으로 전달된다. 도 4에 도시된 바와 같이, 네 개의 마이크로프레임들이 연속적으로 전송되고, 세 개의 종점들의 페이로드들이 네 개의 마이크로프레임들 간에 전송되도록 분할된다.
제1 마이크로프레임(402) 내의 8개의 데이터 패킷들은 종점 EP A에 처음 할당된다. 종점 EP A의 전체 페이로드는 제1 마이크로프레임(402)으로 전송된다. 그 다음, 제1 마이크로프레임(402) 내의 8개의 데이터 패킷들은 종점 EP B에 할당된다. 제1 마이크로프레임(402) 내의 어떤 데이터 패킷도 낮은 우선순위 종점 EP C에 할당되지 않는다.
제2 마이크로프레임(404)이 제1 마이크로프레임(402)을 뒤따른다. 도 4에 도시된 바와 같이, 제2 마이크로프레임(404) 내의 8개의 데이터 패킷들은 종점 EP A의 전제 페이로드를 전송하기 위해 종점 EP A에 처음 할당된다. 그 다음, 제2 마이크로프레임(404) 내의 2 개의 데이터 패킷들이 제1 마이크로프레임(402)으로 전송되지 않은 나머지 페이로드에 대해 종점 EP B에 할당된다. 제2 마이크로프레임(404) 내의 나머지 6개의 데이터 패킷들이 종점 EP C에 할당된다.
제2 마이크로프레임(404)을 뒤따르는 제3 마이크로프레임(406)이 제1 마이크로프레임(402)과 유사하게 할당된다. 제4 마이크로프레임(408)은 제3 마이크로프레임(406)으로 전송되지 않은 종점 EP B의 나머지 페이로드(예컨대, 두 개의 데이터 패킷들) 및 제2 마이크로프레임(404)으로 전송되지 않은 종점 EP C의 나머지 페이로드(예컨대, 6개의 데이터 패킷들)에 대해 이용된다.
도 5는 세 개의 종점들에 대한 데이터 전달들을 보여주는 다른 예시적인 도해를 도시한다. 도 5에 도시된 바와 같이, 세 개의 종점들(예컨대, EP A, EP B 및 EP C)로부터의 데이터는 복수의 마이크로프레임들을 이용하여 주기적으로 전달된다. 특히, 주기적 데이터 전달들을 위해 이용되는 16개의 데이터 패킷들에 추가적으로, 마이크로프레임 내의 더 많은 데이터 패킷들이 특정 상황들 하에서 주기적 데이터 전달들을 위해 보유(reserve)될 수 있다.
도 5에 도시된 바와 같이, 제1 마이크로프레임(502) 내의 8개의 데이터 패킷들이 종점 EP A에 처음 할당된다. 종점 EP A의 전체 페이로드는 제1 마이크로프레임(502)으로 전송된다. 그 다음, 제1 마이크로프레임(502) 내의 8개의 데이터 패킷들이 종점 EP B에 할당된다. 제1 마이크로프레임(502) 내의 어떤 데이터 패킷들도 낮은 우선순위 종점 EP C에 할당되지 않는다.
제2 마이크로프레임(504)은 제1 마이크로프레임(502)을 뒤따른다. 도 5에 도시된 바와 같이, 제2 마이크로프레임(504) 내의 8개의 데이터 패킷들이 종점 EP A의 전체 페이로드를 전송하기 위해 종점 EP A에 처음 할당된다. 그 다음, 제2 마이크로프레임(504) 내의 두 개의 데이터 패킷들이 제1 마이크로프레임(502)으로 전송되지 않은 나머지 페이로드에 대해 종점 EP B에 할당된다. 제2 마이크로프레임(404) 내의 나머지 6개의 데이터 패킷들에 추가적으로, 두 개의 데이터 패킷들이 종점 EP C에 더 할당되어서, 종점 EP C의 페이로드의 8개의 데이터 패킷들이 제2 마이크로프레임(504)으로 전송될 수 있다.
제2 마이크로프레임(504)을 뒤따르는 제3 마이크로프레임(506)이 제1 마이크로프레임(502)과 유사하게 할당된다. 제4 마이크로프레임(508)이 제3 마이크로프레임(506)으로 전송되지 않은 종점 EP B의 나머지 페이로드(예컨대, 두 개의 데이터 패킷들) 및 제2 마이크로프레임(504)으로 전송되지 않은 종점 EP C의 나머지 페이로드(예컨대, 4 개의 데이터 패킷들)에 대해 이용된다. 종점 EP C의 페이로드, 12 데이터 패킷들을 8개의 패킷 부분 및 네 개의 패킷 부분으로 분할하는 것은 USB3 사양의 요건들에 부합한다. 예를 들어, 종점의 부분적인 페이로드 내의 데이터 패킷들의 수는 2의 거듭제곱(power)(예컨대, 1, 2, 4, 8, 등등)에 대응한다.
일부 실시예들에서, 15 ㎲에 대응하는 7개의 데이터 패킷들은 오버플로우 버스 시간으로서 보유된다. 예를 들어, 주기적 데이터 전달들을 위해 이용가능한 대역폭은 최대 약 110 ㎲(또는 50개의 데이터 패킷들)이다. 특정 상황들 하에서 이용가능한 대역폭에 추가적으로 오버플로우 버스 시간으로서 보유되는 7개의 데이터 패킷들이 주기적 데이터 전달에 대해 이용될 수 있다. 보유된 데이터 패킷들은 비주기적 데이터 전달들(예컨대, 벌크 데이터 전달들, 제어 데이터 전달들)에 대해서도 이용될 수 있다.
도 6은 데이터 전달 스케쥴링에 대한 서로 다른 경우들을 보여주는 예시적인 도해를 도시한다. 도 6에 도시된 바와 같이, (예컨대, 50개의 데이터 패킷들에 대응하는) 대역폭 T1이 각각의 마이크로프레임에서 주기적 전달들을 위한 버짓(budget)으로서 설정된다. 복수의 데이터 패킷들(예컨대, 7개의 데이터 패킷들)이 특정 상황들 하에서 주기적 전달들을 위해 이용될 수 있는 오버플로우 버스 시간으로서 보유된다.
특히, 경우 (a)에서, 데이터 패킷들은 복수의 종점들에 할당된다. 버짓 T1 하의 나머지 데이터 패킷들은 추가적인 종점의 페이로드(602)의 전송에 충분하지 않다. 그러나, 보유된 데이터 패킷들은 페이로드(602)를 전송하기 위해 나머지 데이터 패킷들과 함께 이용될 수 있다. 보유된 데이터 패킷들의 나머지가 다른 종점의 페이로드(604)의 전송에 충분할 수 있더라도, 이러한 전송은 버짓 T1가 이미 초과되었기 때문에 스케쥴링되지 못한다.
경우 (b)에서, 보유된 데이터 패킷들은 종점의 페이로드(606)의 전송에 이용된다. 보유된 데이터 패킷들의 나머지는 주기적 데이터 전달들을 위해 이용되는 것이 아니라, 비주기적 데이터 전달들을 위해 이용될 수 있다. 경우 (c)에서, 데이터 패킷들이 복수의 종점들에 할당된 후, 보유된 데이터 패킷들과 결합하여, 버짓 T1 하의 나머지 데이터 패킷들은 추가적인 종점의 페이로드의 전송에 충분하지 않다. 추가적인 종점의 페이로드는 두 개의 부분들로 분할될 수 있는 바, 제1 부분(608)(예컨대, 8개의 데이터 패킷들)은 현재의 마이크로프레임으로 전송되고, 제2 부분(610)은 다음 마이크로프레임으로 전송하기 위해 스케쥴링된다.
도 7은 USB 데이터 전달들을 관리하기 위한 예시적인 순서도를 도시한다. 단계(702)에서, 복수의 종점들이 데이터 전달들을 위해 수신된다. 일 종점은 USB 디바이스의 일부분에 대응하고, 종점 대역폭과 관련된다. 단계(704)에서, 복수의 종점들은 종점 대역폭들에 적어도 부분적으로 근거하여 순서대로 정렬된다. 단계(706)에서, 복수의 데이터 패킷들을 포함하는 전송 데이터 유닛이 생성된다. 데이터 패킷들은 상기 순서에 적어도 부분적으로 근거하여 복수의 종점들에 할당된다. 단계(708)에서, 제1 전송 데이터 유닛이 전송된다.
본 상세한 설명은 본 발명을 개시하고, 베스트 모드(best mode)를 포함하며, 또한 이 기술 분야의 숙련자로 하여금 본 발명을 만들고 사용하게 하기 위해 예시들을 이용한다. 본 발명의 특허가능한 범위는 이 기술 분야의 숙련자들에 의해 이루어질 수 있는 다른 예들을 포함할 수 있다. 그러나, 본 명세서에 기술된 방법들 및 시스템들을 수행하도록 구성된 펌웨어 또는 적절하게 설계된 하드웨어와 같은 다른 구현들이 또한 이용될 수 있다. 예를 들어, 본 명세서에 기술된 시스템들 및 방법들은 코프로세서로서의 독립 프로세싱 엔진으로, 또는 하드웨어 가속도계로서 구현될 수 있다. 또다른 예에서, 본 명세서에 기술된 시스템들 및 방법들은 컴퓨터 저장 매커니즘들(예컨대, CD-ROM, 디스켓, RAN, 플래시 메모리, 컴퓨터의 하드 드라이브, 등등)을 포함하는 여러가지 서로 다른 타입의 컴퓨터 판독가능 매체 상에 제공될 수 있고, 상기 컴퓨터 판독가능 매체는 본 명세서에 기술된 방법들의 동작들을 수행 및 시스템들을 구현하기 위해 하나 이상의 프로세서들에 의한 실행 시 이용하기 위한 명령어들(예컨대, 소프트웨어)을 포함한다.

Claims (20)

  1. USB(universal-serial-bus) 데이터 전달들을 관리하기 위한 시스템으로서,
    종점(endpoint)들을 정렬(sort)하기 위한 제1 스케쥴링 큐를 포함하는 비일시적 컴퓨터 판독가능 저장 매체와; 그리고
    호스트 제어기를 포함하며,
    상기 호스트 제어기는:
    데이터 전달들을 위한 복수의 종점들 - 하나의 종점은 USB 디바이스의 일부분에 대응하고, 각각의 종점은 종점 주파수와 관련됨 - 을 상기 저장 매체에 저장하고;
    상기 복수의 종점들 중 최고 주파수와 관련된 제1 종점이 상기 제1 스케줄링 큐의 상단에 저장되도록 상기 복수의 종점들을 종점 주파수에 적어도 부분적으로 근거하여 내림차순(descending order)으로 상기 제1 스케쥴링 큐에 정렬하고;
    상기 내림차순에 적어도 부분적으로 근거하여 상기 복수의 종점들에 할당되는 복수의 데이터 패킷들을 포함하는 제1 전송 데이터 유닛을 생성하고; 그리고
    상기 제1 전송 데이터 유닛을 전달하도록 구성된 것을 특징으로 하는 시스템.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 제1항에 있어서,
    상기 종점들은 복수의 종점 대역폭들과 관련되고, 상기 제1 스케쥴링 큐는 상기 복수의 종점들 중 최고 종점 대역폭과 관련된 제1 종점이 상기 제1 스케쥴링 큐의 상단에 저장되도록 내림차순으로 상기 복수의 종점들을 저장하도록 구성되는 것을 특징으로 하는 시스템.
  6. 제1항에 있어서,
    상기 비일시적 컴퓨터 판독가능 저장 매체는 상기 제1 스케쥴링 큐에 저장되는 상기 복수의 종점들을 저장하도록 구성된 제2 스케쥴링 큐를 포함하고,
    상기 호스트 제어기는 또한:
    새로운 종점을 수신하고,
    상기 제2 스케쥴링 큐가 (i) 상기 제1 스케쥴링 큐에 저장되는 상기 복수의 종점들 및 (ii) 상기 새로운 종점을 포함하는 새로운 복수의 종점들을 포함하도록 상기 제2 스케쥴링 큐에 상기 새로운 종점을 저장하고,
    상기 제2 스케쥴링 큐에 상기 새로운 복수의 종점들을 정렬하고, 그리고
    상기 새로운 복수의 종점들에 대한 새로운 전송 데이터 유닛을 생성하기 위해 활성인 상기 제1 스케쥴링 큐로부터 활성인 상기 제2 스케쥴링 큐로 스위칭하도록 구성된 것을 특징으로 하는 시스템.
  7. 제1항에 있어서,
    상기 복수의 종점들은 제1 페이로드와 관련된 제1 종점 및 제2 페이로드와 관련된 제2 종점을 포함하고, 상기 제1 종점은 상기 내림차순에서 상기 제2 종점보다 높은 우선순위를 가지고,
    상기 호스트 제어기는 또한:
    상기 제1 페이로드 전체를 상기 제1 전송 데이터 유닛에 할당하고,
    상기 제2 페이로드를 제1 부분 및 제2 부분으로 분할하며,
    상기 제1 부분을 상기 제1 페이로드 다음에 상기 제1 전송 데이터 유닛에 할당하고,
    상기 제1 종점과 관련된 제3 페이로드 전체를 상기 제1 전송 데이터 유닛 후에 전송되는 제2 전송 데이터 유닛에 할당하고, 그리고
    상기 제2 부분을 상기 제3 페이로드 다음에 상기 제2 전송 데이터 유닛에 할당하는 것을 특징으로 하는 시스템.
  8. 제1항에 있어서,
    상기 복수의 종점들은 제1 페이로드와 관련된 제1 종점, 제2 페이로드와 관련된 제2 종점, 및 제3 페이로드와 관련된 제3 종점을 포함하고, 상기 제1 페이로드는 제1 개수의 데이터 패킷들에 대응하고, 상기 제2 페이로드는 제2 개수의 데이터 패킷들에 대응하며, 상기 제3 페이로드는 제3 개수의 데이터 패킷들에 대응하고, 상기 제1 종점은 상기 내림차순에서 상기 제2 종점보다 높은 우선순위를 가지고, 상기 제2 종점은 상기 내림차순에서 상기 제3 종점보다 높은 우선순위를 가지고,
    상기 호스트 제어기는 또한:
    상기 제1 종점에 상기 제1 전송 데이터 유닛 내의 상기 제1 개수의 데이터 패킷들을 할당하고,
    상기 제2 개수의 데이터 패킷들을 제4 개수의 데이터 패킷들 및 제5 개수의 데이터 패킷들로 분할하고,
    상기 제2 종점에 상기 제1 전송 데이터 유닛 내의 상기 제4 개수의 데이터 패킷들을 할당하고,
    상기 제2 종점에 제2 전송 데이터 유닛 내의 상기 제5 개수의 데이터 패킷들을 할당하고, 상기 제2 전송 데이터 유닛은 상기 제1 전송 데이터 유닛 다음에 전송되고,
    상기 제3 개수의 데이터 패킷들을 제6 개수의 데이터 패킷들 및 제7 개수의 데이터 패킷들로 분할하고,
    상기 제3 종점에 상기 제2 전송 데이터 유닛 내의 상기 제6 개수의 패킷들을 할당하고, 그리고
    상기 제3 종점에 제3 전송 데이터 유닛 내의 상기 제7 개수의 데이터 패킷들을 할당하도록 구성되고, 상기 제3 전송 데이터 유닛은 상기 제2 전송 데이터 유닛 다음에 전송되는 것을 특징으로 하는 시스템.
  9. USB 데이터 전달들을 관리하기 위한 시스템으로서,
    종점들을 정렬하기 위한 제1 스케쥴링 큐를 포함하는 비일시적 컴퓨터 판독가능 저장 매체와; 그리고
    호스트 제어기를 포함하며,
    상기 호스트 제어기는:
    데이터 전달들을 위한 복수의 종점들 - 하나의 종점은 USB 디바이스의 일부분에 대응함 - 을 상기 저장 매체에 저장하고;
    상기 복수의 종점들을 제1 순서로 정렬하고;
    복수의 오리지널 데이터 패킷들 - 상기 오리지널 데이터 패킷들은 상기 제1 순서에 적어도 부분적으로 근거하여 상기 복수의 종점들에 할당됨 - 을 포함하는 제1 전송 데이터 유닛을 생성하고; 그리고
    상기 제1 전송 데이터 유닛을 전달하도록 구성되며,
    상기 복수의 종점들은 하나 이상의 제1 종점들 및 제2 종점을 포함하고, 상기 제1 종점들은 상기 제2 종점보다 높은 우선순위를 가지고, 상기 제2 종점은 제2 개수의 데이터 패킷들에 대응하는 제2 페이로드와 관련되며,
    상기 호스트 제어기는 또한:
    상기 하나 이상의 제1 종점들에 상기 제1 전송 데이터 유닛 내의 제1 개수의 데이터 패킷들을 할당하고, 나머지 제1 전송 데이터 유닛은 제3 개수의 데이터 패킷들에 대응하며,
    상기 제2 개수의 데이터 패킷들을 제4 개수의 데이터 패킷들 및 제5 개수의 데이터 패킷들로 분할하고, 그리고
    상기 제3 개수의 데이터 패킷들이 상기 제4 개수의 데이터 패킷들보다 적음에 응답하여, 상기 제2 종점에 상기 제1 전송 데이터 유닛 내의 상기 제3 개수의 데이터 패킷들 및 오버플로우(overflow)를 위한 제6 개수의 데이터 패킷들을 할당하도록 구성되고, 상기 제4 개수의 데이터 패킷들은 상기 제3 개수의 데이터 패킷들 및 상기 제6 개수의 데이터 패킷들의 합(sum)과 동일한 것을 특징으로 하는 시스템.
  10. 제1항에 있어서,
    상기 호스트 제어기는 또한, 총 대역폭이 이용가능한 대역폭보다 작음에 응답하여 에러 신호를 생성하도록 구성되며, 상기 총 대역폭은 상기 복수의 종점들과 관련된 초기 종점 대역폭들의 합과 동일한 것을 특징으로 하는 시스템.
  11. USB 데이터 전달들을 관리하기 위한 방법으로서,
    데이터 전달들을 위한 복수의 종점들 - 하나의 종점은 USB 디바이스의 일부분에 대응하고, 각각의 종점은 종점 주파수와 관련됨 - 을 수신하는 단계와;
    상기 복수의 종점들 중 최고 주파수와 관련된 제1 종점이 제1 스케줄링 큐의 상단에 저장되도록 상기 복수의 종점들을 종점 주파수에 적어도 부분적으로 근거하여 내림차순으로 상기 제1 스케쥴링 큐에 정렬하는 단계와;
    상기 내림차순에 적어도 부분적으로 근거하여 상기 복수의 종점들에 할당되는 복수의 데이터 패킷들을 포함하는 제1 전송 데이터 유닛을 생성하는 단계와; 그리고
    상기 제1 전송 데이터 유닛을 전달하는 단계를 포함하는 것을 특징으로 하는 방법.
  12. 삭제
  13. 제11항에 있어서,
    상기 종점들은 복수의 종점 대역폭들과 관련되고,
    상기 복수의 종점들은 상기 복수의 종점들 중 최고 종점 대역폭과 관련된 제1 종점이 상기 제1 스케쥴링 큐의 상단에 저장되도록 상기 종점 대역폭들에 적어도 부분적으로 근거하여 내림차순으로 정렬되며,
    상기 데이터 패킷들은 상기 정렬된 복수의 종점들에 할당되는 것을 특징으로 하는 방법.
  14. 제11항에 있어서,
    새로운 종점을 수신하는 단계와;
    제2 스케쥴링 큐가 (i) 상기 제1 스케쥴링 큐에 저장되는 상기 복수의 종점들 및 (ii) 상기 새로운 종점을 포함하는 새로운 복수의 종점들을 포함하도록 상기 제2 스케쥴링 큐에 상기 새로운 종점을 저장하는 단계와;
    상기 제2 스케쥴링 큐에 상기 새로운 복수의 종점들을 정렬하는 단계와; 그리고
    상기 새로운 복수의 종점들에 대한 새로운 전송 데이터 유닛을 생성하기 위해 활성인 상기 제1 스케쥴링 큐로부터 활성인 상기 제2 스케쥴링 큐로 스위칭하는 단계를 포함하는 것을 특징으로 하는 방법.
  15. 제11항에 있어서,
    상기 복수의 종점들은 제1 페이로드와 관련된 제1 종점 및 제2 페이로드와 관련된 제2 종점을 포함하고, 상기 제1 종점은 상기 내림차순에서 상기 제2 종점보다 높은 우선순위를 가지고,
    상기 방법은 또한:
    상기 제1 페이로드 전체를 상기 제1 전송 데이터 유닛에 할당하는 단계와,
    상기 제2 페이로드를 제1 부분 및 제2 부분으로 분할하는 단계와,
    상기 제1 부분을 상기 제1 페이로드 다음에 상기 제1 전송 데이터 유닛에 할당하는 단계와,
    상기 제1 종점과 관련된 제3 페이로드 전체를 상기 제1 전송 데이터 유닛 후에 전송되는 제2 전송 데이터 유닛에 할당하는 단계와, 그리고
    상기 제2 부분을 상기 제3 페이로드 다음에 상기 제2 전송 데이터 유닛에 할당하는 단계를 포함하는 것을 특징으로 하는 방법.
  16. 제11항에 있어서,
    상기 복수의 종점들은 제1 페이로드와 관련된 제1 종점, 제2 페이로드와 관련된 제2 종점, 및 제3 페이로드와 관련된 제3 종점을 포함하고, 상기 제1 페이로드는 제1 개수의 데이터 패킷들에 대응하고, 상기 제2 페이로드는 제2 개수의 데이터 패킷들에 대응하며, 상기 제3 페이로드는 제3 개수의 데이터 패킷들에 대응하고, 상기 제1 종점은 상기 내림차순에서 상기 제2 종점보다 높은 우선순위를 가지고, 상기 제2 종점은 상기 내림차순에서 상기 제3 종점보다 높은 우선순위를 가지고,
    상기 방법은 또한:
    상기 제1 종점에 상기 제1 전송 데이터 유닛 내의 상기 제1 개수의 데이터 패킷들을 할당하는 단계와,
    상기 제2 개수의 데이터 패킷들을 제4 개수의 데이터 패킷들 및 제5 개수의 데이터 패킷들로 분할하는 단계와,
    상기 제2 종점에 상기 제1 전송 데이터 유닛 내의 상기 제4 개수의 데이터 패킷들을 할당하는 단계와,
    상기 제2 종점에 제2 전송 데이터 유닛 내의 상기 제5 개수의 데이터 패킷들을 할당하는 단계와, 상기 제2 전송 데이터 유닛은 상기 제1 전송 데이터 유닛 다음에 전송되고,
    상기 제3 개수의 데이터 패킷들을 제6 개수의 데이터 패킷들 및 제7 개수의 데이터 패킷들로 분할하는 단계와,
    상기 제3 종점에 상기 제2 전송 데이터 유닛 내의 상기 제6 개수의 패킷들을 할당하는 단계와, 그리고
    상기 제3 종점에 제3 전송 데이터 유닛 내의 상기 제7 개수의 데이터 패킷들을 할당하는 단계를 포함하고, 상기 제3 전송 데이터 유닛은 상기 제2 전송 데이터 유닛 다음에 전송되는 것을 특징으로 하는 방법.
  17. USB 데이터 전달들을 관리하기 위한 방법으로서,
    데이터 전달들을 위한 복수의 종점들 - 하나의 종점은 USB 디바이스의 일부분에 대응함 - 을 수신하는 단계와;
    제1 순서로 상기 복수의 종점들을 정렬하는 단계와;
    복수의 오리지널 데이터 패킷들 - 상기 오리지널 데이터 패킷들은 상기 제1 순서에 적어도 부분적으로 근거하여 상기 복수의 종점들에 할당됨 - 을 포함하는 제1 전송 데이터 유닛을 생성하는 단계와; 그리고
    상기 제1 전송 데이터 유닛을 전달하는 단계를 포함하고,
    상기 복수의 종점들은 하나 이상의 제1 종점들 및 제2 종점을 포함하고, 상기 제1 종점들은 상기 제2 종점보다 높은 우선순위를 가지고, 상기 제2 종점은 제2 개수의 데이터 패킷들에 대응하는 제2 페이로드와 관련되며,
    상기 방법은 또한:
    상기 하나 이상의 제1 종점들에 상기 제1 전송 데이터 유닛 내의 제1 개수의 데이터 패킷들을 할당하는 단계와, 나머지 제1 전송 데이터 유닛은 제3 개수의 데이터 패킷들에 대응하며,
    상기 제2 개수의 데이터 패킷들을 제4 개수의 데이터 패킷들 및 제5 개수의 데이터 패킷들로 분할하는 단계와, 그리고
    상기 제3 개수의 데이터 패킷들이 상기 제4 개수의 데이터 패킷들보다 적음에 응답하여, 상기 제2 종점에 상기 제1 전송 데이터 유닛 내의 상기 제3 개수의 데이터 패킷들 및 오버플로우를 위한 제6 개수의 데이터 패킷들을 할당하는 단계를 포함하고, 상기 제4 개수의 데이터 패킷들은 상기 제3 개수의 데이터 패킷들 및 상기 제6 개수의 데이터 패킷들의 합과 동일한 것을 특징으로 하는 방법.
  18. 제11항에 있어서,
    상기 복수의 종점들에 대해 등시성 데이터 전달(isochronous data transfer)들 또는 인터럽트 데이터 전달(interrupt data transfer)들을 수행하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  19. 제11항에 있어서,
    총 대역폭이 이용가능한 대역폭보다 작음에 응답하여 에러 신호를 생성하는 단계를 더 포함하고, 상기 총 대역폭은 상기 복수의 종점들과 관련된 초기 종점 대역폭들의 합과 동일한 것을 특징으로 하는 방법.
  20. USB 데이터 전달들을 관리하기 위한 프로그래밍 명령어들을 포함하는 비일시적 머신 판독가능 저장 매체로서, 상기 프로그래밍 명령어들은 하나 이상의 데이터 프로세서들로 하여금 동작들을 실행하도록 하며, 상기 동작들은:
    데이터 전달들을 위한 복수의 종점들 - 하나의 종점은 USB 디바이스의 일부분에 대응하고, 각각의 종점은 종점 주파수와 관련됨 - 을 수신하는 동작과;
    상기 복수의 종점들 중 최고 주파수와 관련된 제1 종점이 제1 스케줄링 큐의 상단에 저장되도록 상기 복수의 종점들을 종점 주파수에 적어도 부분적으로 근거하여 내림차순으로 상기 제1 스케쥴링 큐에 정렬하는 동작과;
    상기 내림차순에 적어도 부분적으로 근거하여 상기 복수의 종점들에 할당되는 복수의 데이터 패킷들을 포함하는 제1 전송 데이터 유닛을 생성하는 동작과; 그리고
    상기 제1 전송 데이터 유닛을 전달하는 동작을 포함하는 것을 특징으로 하는 비일시적 머신 판독가능 저장 매체.
KR1020167001089A 2013-07-16 2014-07-16 Usb 데이터 전달들을 관리하기 위한 시스템들 및 방법들 KR101832997B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201361846793P 2013-07-16 2013-07-16
US61/846,793 2013-07-16
PCT/US2014/046859 WO2015009833A1 (en) 2013-07-16 2014-07-16 Systems and methods for managing usb data transfers

Publications (2)

Publication Number Publication Date
KR20160020539A KR20160020539A (ko) 2016-02-23
KR101832997B1 true KR101832997B1 (ko) 2018-04-13

Family

ID=52344547

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167001089A KR101832997B1 (ko) 2013-07-16 2014-07-16 Usb 데이터 전달들을 관리하기 위한 시스템들 및 방법들

Country Status (6)

Country Link
US (1) US9367511B2 (ko)
EP (1) EP3022656A4 (ko)
JP (1) JP6418417B2 (ko)
KR (1) KR101832997B1 (ko)
CN (1) CN105393234B (ko)
WO (1) WO2015009833A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107704404B (zh) * 2017-09-29 2021-03-12 湖南国科微电子股份有限公司 一种提高usb从设备读取速度的方法
CN111090601A (zh) * 2019-12-07 2020-05-01 苏州浪潮智能科技有限公司 基于bmc芯片的多功能usb控制方法、系统、终端及存储介质
CN112347024A (zh) * 2020-10-28 2021-02-09 湖南国科微电子股份有限公司 一种usb数据传输优化方法及系统
KR20220074623A (ko) * 2020-11-27 2022-06-03 삼성전자주식회사 전자 디바이스와 통신하는 호스트 디바이스 및 호스트 디바이스의 통신 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030061381A1 (en) * 1999-12-21 2003-03-27 Mitch A. Brisebois Interface apparatus and method for wireless data communication
US20100049885A1 (en) * 2008-08-22 2010-02-25 Chandra Prashant R Unified multi-transport medium connector architecture
US20100069006A1 (en) * 2006-12-04 2010-03-18 Seung Ho Baek Priority-based wireless usb transfer service management apparatus and method thereof

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4089060B2 (ja) * 1999-01-13 2008-05-21 ソニー株式会社 情報記録装置
US6678761B2 (en) * 2001-03-30 2004-01-13 Intel Corporation Method and apparatus for budget development under universal serial bus protocol in a multiple speed transmission environment
US7603491B2 (en) * 2003-06-19 2009-10-13 Intel Corporation Bandwidth conserving protocol for command-response bus system
DE602005012952D1 (de) * 2004-06-15 2009-04-09 Nxp Bv Bus-controller zur datenübertragung
US20060277330A1 (en) * 2005-06-01 2006-12-07 Wilhelmus Diepstraten Techniques for managing priority queues and escalation considerations in USB wireless communication systems
US20070294457A1 (en) * 2006-06-16 2007-12-20 Alexander Gantman USB wireless network drive
WO2008069528A1 (en) * 2006-12-04 2008-06-12 Electronics And Telecommunications Research Institute Priority-based wireless usb transfer service management apparatus and method thereof
US8953644B2 (en) * 2011-12-27 2015-02-10 Intel Corporation Multi-protocol I/O interconnect time synchronization

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030061381A1 (en) * 1999-12-21 2003-03-27 Mitch A. Brisebois Interface apparatus and method for wireless data communication
US20100069006A1 (en) * 2006-12-04 2010-03-18 Seung Ho Baek Priority-based wireless usb transfer service management apparatus and method thereof
US20100049885A1 (en) * 2008-08-22 2010-02-25 Chandra Prashant R Unified multi-transport medium connector architecture

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"USB2.0 Specification", COMPAQ외 6사, http://sdphca.ucsd.edu/lab_equip_manuals/usb_20.pdf, (2000.04.27.)

Also Published As

Publication number Publication date
EP3022656A1 (en) 2016-05-25
JP6418417B2 (ja) 2018-11-07
EP3022656A4 (en) 2017-03-22
WO2015009833A1 (en) 2015-01-22
US9367511B2 (en) 2016-06-14
KR20160020539A (ko) 2016-02-23
JP2016529605A (ja) 2016-09-23
CN105393234A (zh) 2016-03-09
CN105393234B (zh) 2019-03-12
US20150026369A1 (en) 2015-01-22

Similar Documents

Publication Publication Date Title
EP2862290B1 (en) Multiple protocol tunneling using time division operations
KR101832997B1 (ko) Usb 데이터 전달들을 관리하기 위한 시스템들 및 방법들
US6785751B1 (en) Method and apparatus for minimizing bus contention for I/O controller write operations
US20120042105A1 (en) Bus arbitration apparatus
JP5975446B2 (ja) アクセス制御装置、中継装置、アクセス制御方法、コンピュータプログラム
CN107852423B (zh) 用于usb 2.0带宽保留的方法及系统
JP2017520052A (ja) ユニバーサルシリアルバス(usb)通信システムおよび方法
CN107667357B (zh) 用于分离突发带宽仲裁的方法及设备
KR20040106665A (ko) 송수신 흐름에 따라 공유 버퍼 메모리의 할당량을제어하는 송수신 네트워크 제어기 및 그 방법
US20160350247A1 (en) Latency improvements on a bus using modified transfers
US20040044809A1 (en) DMA controller and DMA transfer method
CN103927125B (zh) 分时缓冲器存取系统及存储器控制器
CN105446663A (zh) 一种数据处理方法及电子设备
US20090287862A1 (en) Host device and scheduling method
CN113934671B (zh) 一种接口控制芯片及网络设备
EP4332782A1 (en) Deterministic memory-to-memory pcie transfer
CN101727426B (zh) 基于高速串行总线的计算机系统
JP6364951B2 (ja) Dmaコントローラ
CN100568209C (zh) 将多个ide设备连接到usb装置的方法和系统
JP2013097718A (ja) 優先度制御システム、スイッチ、優先度制御方法、及びプログラム
KR20090131008A (ko) Usb디바이스 내의 엔드 포인트 메모리 효율 증대법
CN102467418A (zh) 一种实时性数据传输错误的恢复方法、装置及系统
KR20070070177A (ko) 어댑터, 시스템 및 접속 방법
JPS63222544A (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