KR20070102438A - 멀티 호스트 usb 장치 제어기 - Google Patents

멀티 호스트 usb 장치 제어기 Download PDF

Info

Publication number
KR20070102438A
KR20070102438A KR1020070037075A KR20070037075A KR20070102438A KR 20070102438 A KR20070102438 A KR 20070102438A KR 1020070037075 A KR1020070037075 A KR 1020070037075A KR 20070037075 A KR20070037075 A KR 20070037075A KR 20070102438 A KR20070102438 A KR 20070102438A
Authority
KR
South Korea
Prior art keywords
host
usb
usb device
function block
hosts
Prior art date
Application number
KR1020070037075A
Other languages
English (en)
Other versions
KR100892007B1 (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=38606165&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR20070102438(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 스탠다드 마이크로시스템즈 코포레이션 filed Critical 스탠다드 마이크로시스템즈 코포레이션
Publication of KR20070102438A publication Critical patent/KR20070102438A/ko
Application granted granted Critical
Publication of KR100892007B1 publication Critical patent/KR100892007B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • 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

Abstract

공유 USB 장치는, 멀티 호스트 가능 장치 제어기를 이용하여, 2개 이상의 USB 호스트에 의해 동시에 구성 및 액세스될 수 있다. 멀티 호스트 가능 장치는 각 호스트에 대해 개별 업스트림 포트 및 버퍼를 포함할 수 있고, 하나 이상의 호스트로부터 USB 요구에 응답할 수 있도록 구성될 수 있다. 멀티 호스트 가능 장치는 각 호스트에 대해 전용 어드레스, 구성 및 응답 정보를 유지할 수 있다. 따라서, 각 호스트는, 업스트림 호스트가 USB 장치를 번갈아 액세스할 때마다 공유 장치가 재구성 또는 재배열되어야 할 필요 없이, 공유 장치와의 전용 USB 접속을 구축할 수 있다.
USB 장치, 멀티 호스트, 업스트림, 버퍼, 공유

Description

멀티 호스트 USB 장치 제어기{MULTI-HOST USB DEVICE CONTROLLER}
도 1은 본 발명의 일 실시예에 따른, 다수의 호스트에 연결된 멀티-호스트 가능 USB 장치의 시스템 다이아그램을 나타낸다.
도 2는 본 발명의 일 실시예에 따른, 다수의 호스트에 연결된 멀티-호스트 가능 장치를 나타낸다.
도 3은 본 발명의 일 실시예에 따른, USB 멀티-호스트 장치의 로직 다이아그램을 나타낸다.
<도면의 주요 부분에 대한 부호의 설명>
102: 호스트 1
104; 호스트 2
106: 멀티 호스트 장치
108: USB 멀티 호스트 장치 제어기
120: 프린터
122, 123: PC
126: 키보드
128: 마우스
130: PDA
본 출원은 2006년 4월 14일자로 제출된, 마크 알. 봄(Mark R. Bohm) 및 애티시 고시(Atish Ghosh)가 발명한 "멀티-호스트 USB 장치 제어기(Multi-Host USB Device Controller)"로 명명되는 가출원 일련 번호 제60/792,178호의 우선권의 이익을 주장한다.
본 발명은 전반적으로 컴퓨터 하드웨어에 관한 것으로, 특히 USB 제어기(Universal Serial Bus controllers)에 관한 것이다.
USB는 주변 장치를 컴퓨터 시스템에 연결하는 것을 허용한다. USB는 호스트 컴퓨터와 광범위한 동시 접속가능한 장치들 사이의 데이터 교환을 위한 직렬 케이블 버스(serial cable bus)이다. 버스는, 호스트가 동작하는 동안, 주변 장치들이 부착, 구성, 사용 및 분리되는 것을 허용한다. 예를 들어, USB 프린터, 스캐너, 디지털 카메라, 저장 장치, 카드 판독기 등은 USB를 통해 호스트 컴퓨터 시스템과 통신할 수 있다. USB 기반 시스템은, USB 호스트 제어기가 호스트 시스템 내에 제공되는 것과, 호스트 시스템의 OS(Operating System)가 USB 및 USB 대용량 저장 클래스(Mass Storage Class) 장치를 지원하는 것을 필요로 할 수 있다.
USB 장치는 USB 버스를 통해 LS(Low-Speed), FS(Full-Speed), 또는 HS(High-Speed)로 통신할 수 있다. USB 장치와 호스트 간의 접속은 인터칩(interchip) USB, ULPI, UTMI 등과 같은 디지털 상호 접속(digital interconnect)을 통해, 또는 전력 라인, 접지 라인, 및 한 쌍의 데이터 라인 D+ 및 D-을 포함하는 4개의 유선 인터페이스를 통해 구축될 수 있다. USB 장치가 호스트에 접속할 경우, USB 장치는, 먼저, D+ 라인상의 풀업 저항(pull up resistor)을 이용하여, D+ 라인 - 장치가 저속 장치인 경우에는 D- 라인 - 을 하이(high)로 풀링(pulling)한다. 호스트는 USB 장치를 리셋함으로써 응답할 수 있다. USB 장치가 고속 USB 장치인 경우에는, USB 장치는 상기 리셋 동안 D- 라인을 하이로 구동함으로써 "처프(chirp)"할 수 있다. 호스트는 D+ 및 D- 라인을 교번하여 하이로 구동함으로써 "처프"에 응답할 수 있다. 그런 다음, USB 장치는 풀업 저항을 전자적으로 제거하고, 계속하여 고속으로 통신할 수 있다. 접속해제된 경우, FS 장치(Full-Speed devices)는 D+ 라인으로부터 풀업 저항을 제거(즉, 상기 라인을 "3 상태화(tri-state)")할 수 있지만, HS USB 장치(High-Speed USB devices)는 D+ 라인 및 D- 라인을 모두 3 상태화할 수 있다.
USB 허브(hub)는 USB 호스트 제어기에 연결되어, 다수의 USB 장치가 USB 호스트 제어기를 통해 호스트 시스템에 연결되는 것을 허용할 수 있다. 또한, 상기 USB 허브에 다른 USB 허브가 연결되어, USB 호스트 제어기에 부가적인 USB 장치 접속을 제공할 수 있다. 일반적으로, USB 규격(specification)은, 단일 호스트 제어기가 모든 장치를 구성(configure) 및 액세스(access)하도록 구조화되어 있다. 전형적으로, 소비자는 최대한의 유연성(flexibility)을 원하며, 저렴하게 장치를 공유할 수 있는 단순한 수단을 가지기를 원할 수 있다. 현재, 장치가 다수의 USB 호 스트 제어기들 간에 스위칭되는 것을 허용하는 스위칭 장치가 몇몇 존재하지만, 일반적으로 장치는 임의의 주어진 시간에 단일 호스트에 의해서만 구성 및 액세스될 수 있다. 또한, 업스트림 USB 호스트 제어기들(upstream USB Host Controllers) 사이에서 장치를 스위칭하는 능력을 제공하는 자립형 USB 스위치들(stand-alone USB switches)도 존재한다. 그러나, 이 솔루션은 허브 또는 스위치의 다운스트림(downstream)인 USB 장치에 대한 동시적 액세스(simultaneous access)를 허용하지 못한다. 전형적으로, USB 장치는 하나의 단일 호스트에 의해 한 번만 액세스되고, USB 장치에 대한 액세스가 스위칭되는 경우에는, 상기 장치가 재구성되어야 하기 때문에, 내부 상태 정보(internal state information)를 소실하게 된다.
종래 기술과 관련된 다른 대응 이슈들(issues)은, 여기서 기술하는 바와 같은 종래 기술과 본 발명의 비교 이후에, 본 기술 분야에 숙련된 자에게 명백해질 것이다.
본 발명의 목적은, 업스트림 호스트가 USB 장치를 교번하여 액세스할 때마다 공유 장치가 재구성 또는 재배열되어야 할 필요 없이, 각 호스트각 공유 장치와의 전용 USB 접속을 구축할 수 있도록 하는 것이다.
본 발명의 일 실시예에서, 단일 USB 장치는, 업스트림 호스트가 USB 장치에 교번하여 액세스할 때마다 재구성 또는 재배열될 필요 없이, 다수의 USB 호스트와 공유될 수 있다. 각 호스트는 상기 장치를 동시에 배열하였기 때문에, 상기 장치 를 분주하게 분리 및 재구성할 필요가 없다. 다수의 USB 호스트는 단일 장치/기능, 예를 들어, 기가비트 이더넷 제어기(Gigabit Ethernet controller)를 동시에 공유할 수 있다. 최근의 실행에 있어서, 이더넷 액세스를 갖도록 구성된 각 호스트는 자체의 이더넷 제어기 및 이더넷 스위치로 구현되지만, 본 발명의 다양한 실시예에서는, 이더넷 스위치가, 더 저렴하고 소형이며 각 호스트가 USB 장치에 직접적으로 액세스하는 것을 허용하는, 멀티-호스트 USB 제어기(multi-host USB controller)로 대체될 수 있다. 본 발명의 다른 실시예에서, 저장 매체 장치(storage media devices)는 멀티-호스트 USB 제어기로 구성되어, 다수의 USB 호스트로부터의 저장 요구를 처리할 수 있는 USB 기반 NAS(Network Attached Storage) 장치를 제공할 수 있다.
다양한 실시예에서는, 멀티-호스트 가능 장치 제어기(multi-host capable device controller)를 사용함으로써, 둘 이상의 USB 호스트가 공유 USB 장치(shared USB device)를 동시에 구성 및 액세스할 수 있다. 멀티-호스트 가능 장치는 각 호스트에 대해 개별 버퍼들을 포함할 수 있으며, 하나 이상의 호스트로부터의 USB 요구에 응답하는 능력을 갖도록 구성될 수 있다. 상기 장치는 각 호스트에 대해 전용 어드레스(dedicated address), 구성 및 응답 정보를 유지할 수 있다. 따라서, 각 호스트는 공유 장치와의 전용 USB 접속을 구축할 수 있다.
USB 장치는 3개의 세그먼트(segment) 또는 블럭(block)으로 분할될 수 있다. 제1 블럭은, 물리적(physical; PHY) 또는 디지털 링크와, USB 링크 레이어(SIE)와, USB를 통해 데이터를 송신 및/또는 수신하는데 필요한 다른 회로를 포함하는 USB 인터페이스를 포함할 수 있다. 제2 블럭은, 제1 블럭 및 제3 블럭에 의해 사용되어 데이터를 버퍼링하고 USB로의 기록 및 USB로부터의 판독을 제어하는 엔드포인트 버퍼 - 제1 블럭을 통해 전송받음 - , 및/또는 주변 기능을 포함할 수 있는, 엔드포인트 버퍼 블럭(Endpoint Buffer Block) - 제3 블럭을 통해 전송 받음 - 을 포함할 수 있다. 제3 블럭은 특정 USB 장치 기능에 필요한 회로인, 예를 들어, 이더넷 제어기, 프린터, 비디오 카메라 등을 포함할 수 있는 "주변 기능(Peripheral Function)"을 자체에 포함할 수 있다.
본 발명의 일 실시예에서, 제1 블럭은 각각의 업스트림 호스트 포트(upstream host port)에 대해 중복될(replicated) 수 있으며, 제2 블럭의 일부 또는 전부도 각 업스트림 호스트 포트에 대해 중복될 수 있다. 각각의 경우에 있어서, 블럭 및/또는 블럭의 일부가 중복되는 정도는 USB 장치 유형에 기초하여 변할 수 있다. 제3 블럭은 다수의 USB 호스트에 의해 공유될 USB 장치에 대응할 수 있으며, 이에 따라 중복되지 않아도 된다. 제4 블럭이 부가되어 - 전형적으로 제1 블럭과 제2 블럭 사이에, 또는 제2 블럭 또는 제3 블럭 중 어느 한쪽으로서 -, 중재 블럭(arbitration block)으로서 구성될 수 있다. 내부 중재 메카니즘(internal arbitration mechanism)은, 호스트 액세스를 인터리빙(interleaving)함으로써, 또는 통상의 요구/허락 구조(common request/grant structure)를 이용하여, 각 호스트가 공유된 주변 기능(shared Peripheral Functions)에 액세스하는 것을 가능하게 할 수 있는데, 이는 다른 호스트가 공유 장치로의 또는 공유 장치로부터의 데이터 전송을 완료하는 동안 하나의 호스트를 보류(hold-off)할 수 있다. 사용되는 특정 메카니즘의 선택은, 공유되고 있는 특정 USB 장치 유형에 따라 결정될 수 있다.
몇몇 실시예에서는, 각 호스트가 동일하게 액세스하는 것을 허용하기 위해, 각 호스트에 대한 공유 주변 기능으로부터의 대역폭이 감소될 수 있다. 다른 실시예에서는, 주변 기능의 대역폭이 호스트의 대역폭을 초과할 수 있기 때문에, 대역폭이 감소하지 않을 수 있다. 본 발명의 다른 양태는, 후속하는 도면 및 도면에 대한 상세한 설명을 참조하여 명백히 설명될 것이다.
본 발명은 다양한 변형 및 다른 형태를 허용하지만, 그 특정 실시예는 도면의 예에 의해 도시되는 것으로, 이하 상세히 설명될 것이다. 그러나, 도면 및 그에 대한 상세한 설명은 본 발명을 개시한 특정 형태에 한정하고자 하는 것이 아니라, 반대로 첨부한 청구범위에 의해 정의되는 본 발명의 사상 및 범주에 포함되는 모든 변형, 등가물, 및 대안물을 포괄하고자 하는 것임이 이해되어야 한다. 표제는 편성적 목적만을 위한 것이지 상세한 설명 및 청구 범위를 한정 또는 해석하는데 사용하고자 함이 아님에 유의하라. 또한, "할 수 있다"와 같은 용어는 본 출원을 통틀어서 허용적 의미(가령, 몇몇 실시예에서 잠재성이 있거나 가능성 가짐 을 의미)로 사용되며, 의무적인 의미(가령, 해야만 한다는 의미)는 아님에 유의하라. "포함한다"와 같은 용어 및 그 파생어는, "포함하되 한정하는 것은 아니다"라는 의미이다. "연결(coupled)"이라는 용어는 "직접적 또는 간접적으로 접속(connection)되는 것"을 의미한다.
<실시예>
이하, 첨부 도면과 함께 후술할 상세한 설명을 참조하면 본 발명을 더 잘 이 해할 수 있을 것이다.
본 발명이 일 실시예에서, 멀티 호스트 USB 장치는, 각 업스트림 호스트에 개별적 구성 및 액세스 인터페이스를 제공함으로써, 장치를 다수의 호스트에 저렴하게 공유하도록 하는 최대 유연성 및 단순한 수단을 제공할 수 있다. 도 1은 USB 멀티 호스트 장치 제어기(108)로 구성되고, 양자 모두 멀티 호스트 장치(106)에 대한 제어를 구축할 수 있는 제1 호스트(102)와 제2 호스트(104)와 연결된 멀티 호스트 장치(106)의 블럭도를 나타낸다. 도 2에 도시된 바와 같이, 예에 의하면, 멀티 호스트(106) - USB 멀티 호스트 장치 제어기(108)로 구성됨 - 는 PC(122) 및 PC(123)에 의해 공유되는 PDA(130), 키보드(126), 마우스(128), 및/또는 프린터(120)일 수 있다. 유사하게, 많은 다른 장치가 멀티 호스트 장치 제어기(108)를 포함하는 멀티 호스트 장치로 구성될 수 있으며, 그러한 장치의 수는 도 2에 도시된 장치의 수에 한정되는 것은 아니다.
도 3에 도시된 바와 같이, 멀티 호스트(또는 USB 공유) 장치(106)의 일 실시예에서, 업스트림 포트 또는 PHY는 각 호스트에 대해 접속되도록 구성된다. 이 경우, 업스트림 포트(302)는 제1 호스트(예를 들어, 도 1에 도시된 제1 호스트(102))에 인터페이스/연결되도록 구성되고, 업스트림 포트(304)는 제2 호스트(예를 들어, 도 1에 도시된 제2 호스트(104))에 인터페이스/연결되도록 구성된다. 멀티 호스트 장치(106)는 각 호스트에 의해 개별적으로 어드레스될(addressed) 수 있고, USB 특정 제한 내에서 각 호스트에 응답할 수 있다. 멀티 호스트 장치 제어기(108)는, 어느 호스트가 즉각 완전하게 서비스하라고 요구하는 지를 내부적으로 판정할 수 있고, USB 특정 방식으로 되지 않는 패킷을 다른 호스트에 송신하거나 호스트 요구를 인터리빙할 수 있다. 주변 장치/기능(312) - 이는 이더넷 제어기, 대용량 저장 드라이브 등과 같은, 주요 소비자 컴포넌트를 포함할 수 있음 - 은 USB 컴포넌트의 멀리 호스트 능력을 인식하지 못할 수 있으며, 표준 기성 아이템(standard off-the-shelf item)일 수 있다.
또한, 멀티 호스트 장치(106)는, USB 멀티 호스트 장치 제어기(108)를 PHY(302) 및 PHY(304)에 각각 연결하는 엔드포인트 및 상태 버퍼(306, 308)로 구성될 수 있다. 엔트포인트(306, 308)는 업스트림 포트(302, 304), 데이터를 버퍼링하고 PHY(302) 및 PHY(304)에 대응하는 각각의 개별 호스트로의 기록 및 그로부터의 판독을 제어하는 USB 멀티 호스트 제어기(108), 및/또는 USB 멀티 호스트 제어기(108)에 연결되는 주변 장치/기능(312)에 의해 이용될 수 있다.
일 실시예에서, USB 멀티 호스트 장치 제어기(108)는, 호스트 액세스를 인터리빙하는 것 또는 타측의 호스트가 공유 장치/기능(312)으로의 데이터 전송 또는 그로부터의 데이터 전송을 완료하는 동안 일측의 호스트를 보류하는 통상의 요구/허락 구조를 사용하는 것 중 어느 하나에 의해, 각 호스트 - 가령, 제1 호스트(102) 및 제2 호스트(104) - 가 공유 주변 기능(312)을 액세스하는 것을 허용할 수 있는 내부 중재 메카니즘으로 구성될 수 있다. 사용된 특정 메카니즘의 선택은 공유되고 있는 특정 USB 장치 유형에 따라 구성될 수 있다. 일 실시예에서, 공유 주변 장치/기능(312)으로부터 각 호스트까지의 대역폭은, 각 호스트가 액세스를 동등하게 액세스하는 것을 허용하기 위해, 감소될 수 있다. 일 실시예에서, 주변 기 능의 대역폭이 호스트의 대역폭을 초과하는 경우에는 대역폭이 감소될 수 있다.
도 3은 2개의 호스트와 연결되는 2개의 업스트림 포트를 나타내지만, 다른 실시예는, 비록 도시하지는 않지만, 2개 이상의 업스트림 포트로 구성(이에 따라, 2 이상의 엔드 포인트 및 상태 버퍼가 요구됨)도 가능하며 예상될 수 있다는 점에 유의해야 한다. 예를 들어, 멀티 호스트 장치(가령, 키보드)는 3개 또는 4개의 호스트 등에 연결되는 멀티 호스트 장치 제어기로 구성될 수 있다.
상기 실시예들은 매우 상세히 설명되었지만, 다른 버전도 가능하다. 본 기술분야에 숙련된 자에게는, 상기 개시가 온전히 이해되는 경우, 많은 변형 및 변경이 명백할 것이다. 후속하는 청구범위는 그러한 모든 변형 및 변경을 포함하도록 해석되어야 한다. 여기서 사용된 각 섹션 헤드는 편성적 목적을 위한 것이며 여기에 제공되는 설명 또는 여기에 첨부되는 청구범위를 한정하고자 의도된 것은 아님에 유의해야 한다.
본 발명에 의하면, 각 호스트는, 업스트림 호스트가 USB 장치를 교번하여 액세스할 때마다 공유 장치가 재구성 또는 재배열되어야 할 필요 없이, 공유 장치와의 전용 USB 접속을 구축할 수 있는 효과가 있다.

Claims (22)

  1. 제1 호스트 및 제2 호스트에 대응하게 연결되도록 구성되는 제1 업스트림 포트 및 제2 업스트림 포트와,
    USB 장치/기능 블럭과,
    상기 USB 장치/기능 블럭을 상기 제1 업스트림 포트 및 상기 제2 업스트림 포트에 연결시키는 멀티 호스트 장치 제어기
    를 포함하고,
    상기 멀티 호스트 장치 제어기는 상기 USB 장치/기능 블럭과 상기 제1 업스트림 포트 및 상기 제2 업스트림 포트 사이에 전용 USB 접속을 구축하도록 동작가능하고, 상기 USB 장치/기능 블럭은 상기 제1 호스트 및 상기 제2 호스트가 상기 USB 장치/기능 블럭을 교번하여 액세스할 때마다 재구성되지 않는 USB 멀티 호스트 장치.
  2. 제1항에 있어서,
    상기 제1 업스트림 포트와 상기 멀티 호스트 장치 제어기 사이에 연결된 제1 엔드포인트 버퍼와, 상기 제2 업스트림 포트와 상기 멀티 호스트 장치 제어기 사이에 연결된 제2 엔드포인트 버퍼를 더 포함하는 USB 멀티 호스트 장치.
  3. USB 장치/기능 블럭과,
    상기 USB 장치/기능 블럭을 제1 호스트 및 제2 호스트에 연결시키는 멀티 호스트 장치 제어기
    를 포함하고,
    상기 멀티 호스트 장치 제어기는 상기 제1 호스트와 상기 USB 장치/기능 블럭 사이, 및 상기 제2 호스트와 상기 USB 장치/기능 블럭 사이에 전용 USB 접속을 구축하도록 동작가능하고, 상기 USB 장치/기능 블럭은 상기 제1 호스트 및 제2 호스트가 상기 USB 장치/기능 블럭을 교번하여 액세스할 때마다 재구성되지 않는 USB 멀티 호스트 장치.
  4. 제3항에 있어서,
    상기 USB 장치/기능 블럭은, 상기 제1 호스트 및 상기 제2 호스트가 상기 USB 장치/기능 블럭을 교번하여 액세스할 때마다 재배열되지 않는 USB 멀티 호스트 장치.
  5. 제3항에 있어서,
    상기 제1 호스트와 상기 멀티 호스트 장치 제어기 사이에 연결되는 제1 업스트림 포트, 및 상기 제2 호스트와 상기 멀티 호스트 장치 제어기 사이에 연결되는 제2 업스트림 포트를 더 포함하는 USB 멀티 호스트 장치.
  6. 제3항에 있어서,
    상기 제1 업스트림 포트와 상기 멀티 호스트 장치 제어기 사이에 연결되는 제1 엔드포인트 버퍼, 및 상기 제2 업스트림 포트와 상기 멀티 호스트 장치 제어기 사이에 연결되는 제2 엔드포인트 버퍼를 더 포함하는 USB 멀티 호스트 장치.
  7. USB 장치/기능 블럭과,
    상기 USB 장치/기능 블럭을 복수의 호스트에 연결하도록 구성되는 멀티 호스트 장치 제어기
    를 포함하고,
    상기 멀티 호스트 장치 제어기는, 상기 USB 장치/기능 블럭과 상기 복수의 호스트 각각 사이에 개별적인 전용 USB 접속을 구축하도록 동작가능하고, 상기 USB 장치/기능 블럭은 상기 복수의 호스트가 상기 USB 장치/기능 블럭을 교번하여 액세스할 때마다 재구성되지 않는 장치.
  8. 제7항에 있어서,
    상기 멀티 호스트 장치 제어기는 상기 복수의 호스트로부터 각 호스트 요구를 수신하고, 상기 멀티 호스트 장치 제어기는 상기 각 호스트 중 어느 것이 즉각 서비스하도록 요구하는지를 내부적으로 판정하도록 동작할 수 있는 장치.
  9. 제8항에 있어서,
    상기 멀티 호스트 장치 제어기는 상기 각 호스트 요구를 인터리빙하도록 동 작할 수 있는 장치.
  10. 제8항에 있어서,
    상기 멀티 호스트 장치 제어기는 USB 특정 방식으로 되지 않는 패킷을, 요구가 즉시 서비스되지 않은 호스트에 송신하도록 동작가능한 장치.
  11. 제7항에 있어서,
    상기 멀티 호스트 장치 제어기는, 호스트 액세스를 인터리빙함으로써, 및/또는 통상의 요구/허락 구조를 사용함으로써, 상기 복수의 호스트 각각이 상기 USB 장치/기능 블럭에 액세스하는 것을 허용하도록 구성되는 내부 중재 메카니즘을 포함하고,
    상기 통상의 요구/허락 구조는, 상기 복수의 호스트 중 하나의 호스트가 상기 USB 장치/기능 블럭에 액세스하는 것은 허용되지만, 상기 복수의 호스트 중 나머지 호스트는 상기 복수의 호스트 중 하나의 호스트가 상기 USB 장치/기능 블럭을 액세스하는 것을 행할 때까지 보류(hold-off)되는 장치.
  12. 제11항에 있어서, 상기 중재 메카니즘은 상기 USB 장치/기능 블럭 내에 포함되는 특정 USB 장치 유형에 따라 구성되는 장치.
  13. 제7항에 있어서,
    상기 USB 장치/기능 블럭으로부터 상기 복수의 호스트 중 각 개별 호스트까지의 대역폭은, 상기 복수의 호스트 중 각 개별 호스트가 상기 USB 장치/기능 블럭에 동등하게 액세스하는 것을 허용하도록, 감소되는 장치.
  14. 제13항에 있어서,
    상기 대역폭은, 상기 복수의 호스트 중 상기 개별 호스트의 대역폭을 초과하는 경우, 감소되지 않는 장치.
  15. 제7항에 있어서,
    상기 멀티 호스트 장치 제어기와 상기 복수의 호스트 각각 사이에 연결되는 개별 업스트림 포트를 더 포함하는 장치.
  16. 제15항에 있어서,
    각각의 상기 개별 업스트림 포트와 상기 멀티 호스트 장치 제어기 사이에 연결되는 개별 버퍼를 더 포함하는 장치.
  17. 제7항에 있어서,
    상기 멀티 호스트 장치 제어기는 상기 복수의 호스트 중 각각에 대해 전용 어드레스, 구성, 및 응답 정보를 유지하도록 구성되는 장치.
  18. 다수의 호스트 간에 장치를 공유하는 방법에 있어서,
    공유 USB 장치/기능과 복수의 호스트 각각 사이에 각각의 전용 USB 접속을 구축하는 단계와,
    상기 공유 USB 장치/기능에 대한 상기 2 이상의 복수의 호스트로부터의 개별적 액세스 요구를 교번하여 수신하는 단계와,
    상기 공유 USB 장치/기능을 액세스하라는 상기 교번하는 각각의 개별적 액세스 요구를 처리하는 단계
    를 포함하고,
    상기 USB 장치/기능은 상기 USB 장치/기능이 액세스될 때마다 재구성되지 않는 방법.
  19. 제18항에 있어서,
    상기 처리하는 단계는, 상기 교번하는 각각의 개별 액세스 중 어느 것이 즉각 서비스하라고 요구하는 것인지를 판정하고, 상기 개별적 액세스가 요구하는 것을 서비스하는 단계를 포함하는 방법.
  20. 제19항에 있어서,
    상기 처리하는 단계는, 공유된 상기 USB 장치/기능이 서비스된 상기 개별 액세스 요구에 의해 더 이상 액세스되지 않을 때까지, 즉각 서비스되지 않는 개별 액세스 요구를 교번하여 하는 것에 의해 상기 공유된 USB 장치/기능에 대한 액세스를 보류하는 단계를 포함하는 방법.
  21. 제18항에 있어서,
    상기 처리하는 단계는, 상기 공유된 USB 장치/기능에 대한 상기 교번하는 개별 액세스 요구에 의해 요구되는 액세스를 인터리빙하는 단계를 포함하는 방법.
  22. 제18항에 있어서,
    상기 복수의 호스트 각각에 대해 전용 어드레스, 구성 및 응답 정보를 유지하는 단계를 더 포함하는 방법.
KR1020070037075A 2006-04-14 2007-04-16 멀티 호스트 usb 장치 제어기 KR100892007B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US79217806P 2006-04-14 2006-04-14
US60/792,178 2006-04-14
US11/425,613 US7523243B2 (en) 2006-04-14 2006-06-21 Multi-host USB device controller
US11/425,613 2006-06-21

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020080112594A Division KR101192954B1 (ko) 2006-04-14 2008-11-13 멀티 호스트 usb 장치 제어기

Publications (2)

Publication Number Publication Date
KR20070102438A true KR20070102438A (ko) 2007-10-18
KR100892007B1 KR100892007B1 (ko) 2009-04-07

Family

ID=38606165

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020070037075A KR100892007B1 (ko) 2006-04-14 2007-04-16 멀티 호스트 usb 장치 제어기
KR1020080112594A KR101192954B1 (ko) 2006-04-14 2008-11-13 멀티 호스트 usb 장치 제어기

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020080112594A KR101192954B1 (ko) 2006-04-14 2008-11-13 멀티 호스트 usb 장치 제어기

Country Status (4)

Country Link
US (2) US7523243B2 (ko)
KR (2) KR100892007B1 (ko)
SG (1) SG136900A1 (ko)
TW (1) TWI338224B (ko)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050080961A1 (en) * 2003-10-09 2005-04-14 Bedwell Ryan D. Communication steering for use in a multi-master shared resource system
US7523243B2 (en) * 2006-04-14 2009-04-21 Standard Microsystems Corporation Multi-host USB device controller
WO2007148372A1 (ja) * 2006-06-19 2007-12-27 Fujitsu Limited 無線通信デバイス及びその通信方法
US8315269B1 (en) 2007-04-18 2012-11-20 Cypress Semiconductor Corporation Device, method, and protocol for data transfer between host device and device having storage interface
CA2692395A1 (en) * 2007-07-06 2009-01-15 Kerry Berland Unidirectional usb port
TWI448902B (zh) 2007-08-24 2014-08-11 Cypress Semiconductor Corp 具頁存取基礎處理器介面之橋接裝置
US8090894B1 (en) * 2007-09-21 2012-01-03 Cypress Semiconductor Corporation Architectures for supporting communication and access between multiple host devices and one or more common functions
KR101345623B1 (ko) * 2007-09-28 2013-12-31 삼성전자주식회사 무선 범용 직렬 버스 시스템 및 그 구동 방법
US7937514B2 (en) * 2007-11-12 2011-05-03 Realtek Semiconductor Corp. CWUSB host management system
JP2009176152A (ja) * 2008-01-25 2009-08-06 Sony Corp 情報処理装置
US7873774B2 (en) 2008-02-01 2011-01-18 Telefonaktiebolaget Lm Ericsson (Publ) Connections and dynamic configuration of interfaces for mobile phones and multifunctional devices
US20090307389A1 (en) * 2008-06-10 2009-12-10 Sandisk Corporation Switchable access states for non-volatile storage devices
US7886106B2 (en) * 2008-11-11 2011-02-08 Aten International Co., Ltd. USB sharing switch with automatic switching capabilities
US20110016253A1 (en) * 2009-07-16 2011-01-20 Musa Ibrahim Kakish Auto-function USB port
EP2312450B1 (en) * 2009-10-15 2013-09-11 Seiko Epson Corporation Electronic device, control method thereof and recording medium
BRPI1004997A2 (pt) * 2009-11-11 2013-02-26 Seiko Epson Corp dispositivo eletrânico e mÉtodo de controle do mesmo
US20110320676A1 (en) * 2010-06-29 2011-12-29 Action Star Enterprise Co., Ltd. Sharing device with multi connecting ports for computer periphry devices
US9182874B2 (en) * 2011-01-31 2015-11-10 Dell Products, Lp System and method for out-of-band communication between a remote user and a local user of a server
US8996771B1 (en) 2011-05-09 2015-03-31 Google Inc. System and method for communication via universal serial bus
US8620218B2 (en) * 2011-06-29 2013-12-31 Broadcom Corporation Power harvesting and use in a near field communications (NFC) device
KR101831785B1 (ko) * 2011-12-30 2018-04-05 에스프린팅솔루션 주식회사 복수의 호스트들과 연결 가능한 화상형성장치 및 화상형성장치에서 화상형성 작업을 제어하는 방법
EP2820553B1 (de) 2012-03-02 2018-08-01 Unify GmbH & Co. KG Kopplungseinrichtung und verfahren zum dynamischen belegen von usb-endpunkten einer usb-schnittstelle sowie börsen-tradingsystem-endgerät mit kopplungseinrichtung
TWI544337B (zh) * 2012-10-25 2016-08-01 緯創資通股份有限公司 共用通用串列匯流排(usb)裝置之雙作業系統架構,以及雙作業系統架構共用通用串列匯流排(usb)裝置之方法
US8954623B2 (en) * 2013-04-23 2015-02-10 Mediatek Inc. Universal Serial Bus devices supporting super speed and non-super speed connections for communication with a host device and methods using the same
US9460037B2 (en) 2013-09-26 2016-10-04 Delphi Technologies, Inc. Flexible mobile device connectivity to automotive systems with USB hubs
US9645962B2 (en) 2013-09-26 2017-05-09 Delphi Technologies, Inc. Flexible mobile device connectivity to automotive systems with USB hubs
EP2899641B1 (en) * 2014-01-22 2018-08-22 Harman Becker Automotive Systems GmbH Multimedia USB device server
EP3103219A4 (en) 2014-02-04 2017-11-15 Bretford Manufacturing, Inc. Remote monitoring system for handheld electronic devices
US10127181B2 (en) 2014-04-30 2018-11-13 Microchip Technology Incorporated Port disconnect charging function for USB hub
US9971395B2 (en) 2014-08-20 2018-05-15 Microchip Technology Incorporated Low power connection detect method and system for USB charging
US10042784B2 (en) 2014-10-13 2018-08-07 Microchip Technology Incorporated Side channel access through USB streams
US9804977B2 (en) 2015-04-28 2017-10-31 Microchip Technology Incorporated Universal serial bus smart hub
US10191874B2 (en) 2015-12-22 2019-01-29 Microchip Technology Incorporated Method and apparatus for providing USB power delivery negotiated through a dedicated transmission channel
KR101827704B1 (ko) * 2016-04-12 2018-03-22 현대자동차주식회사 Usb 멀티 호스트 장치, 그를 포함하는 차량 및 usb 멀티 호스트 장치의 제어방법
WO2018013107A1 (en) 2016-07-13 2018-01-18 Hewlett-Packard Development Company, L.P. Transmitting signals via usb ports
EP3282366B1 (en) * 2016-08-11 2022-01-19 GN Audio A/S A usb enabled base station for a headset
US10162788B2 (en) 2016-08-19 2018-12-25 Microchip Technology Incorporated USB on the go (OTG) multi-hub endpoint reflector hub
WO2018038705A1 (en) 2016-08-22 2018-03-01 Hewlett-Packard Development Company, L.P. Concurrent communications via a connector
EP3549026A4 (en) 2016-12-12 2020-06-03 Crossport Network Solutions Inc. AD-HOC-DETECTING SWITCHED DATA SWITCHING TO CONNECT NETWORK HOSTS AND PERIPHERAL DEVICES
US10331604B2 (en) 2017-05-17 2019-06-25 Microchip Technology Incorporated USB host-to-host auto-switching
US10994718B2 (en) * 2018-06-27 2021-05-04 Hyundai Autron Co., Ltd. Multi-master system, power controller and operating method of the multi-master system
CN110069288B (zh) * 2019-03-13 2022-03-04 北京淳中科技股份有限公司 Usb设备共享方法、装置及系统
TWI760880B (zh) * 2020-10-07 2022-04-11 瑞昱半導體股份有限公司 與儲存裝置相關的傳輸控制電路、資料傳輸系統及操作資料傳輸系統的方法
TWI746385B (zh) * 2021-03-08 2021-11-11 創惟科技股份有限公司 資料傳輸方法
CN113572888B (zh) * 2021-06-17 2023-04-18 厦门亿联网络技术股份有限公司 一种多路设备工作系统
CN117453599A (zh) * 2022-07-25 2024-01-26 创惟科技股份有限公司 具有主机桥接功能的usb集线装置及其控制方法

Family Cites Families (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5784581A (en) * 1996-05-03 1998-07-21 Intel Corporation Apparatus and method for operating a peripheral device as either a master device or a slave device
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
US6308239B1 (en) * 1996-11-07 2001-10-23 Hitachi, Ltd. Interface switching apparatus and switching control method
US5890015A (en) * 1996-12-20 1999-03-30 Intel Corporation Method and apparatus for implementing a wireless universal serial bus host controller by interfacing a universal serial bus hub as a universal serial bus device
US5953511A (en) * 1997-04-08 1999-09-14 National Instruments Corporation PCI bus to IEEE 1394 bus translator
US6185641B1 (en) * 1997-05-01 2001-02-06 Standard Microsystems Corp. Dynamically allocating space in RAM shared between multiple USB endpoints and USB host
US6119196A (en) * 1997-06-30 2000-09-12 Sun Microsystems, Inc. System having multiple arbitrating levels for arbitrating access to a shared memory by network ports operating at different data rates
US6480927B1 (en) * 1997-12-31 2002-11-12 Unisys Corporation High-performance modular memory system with crossbar connections
US6145045A (en) * 1998-01-07 2000-11-07 National Semiconductor Corporation System for sending and receiving data on a Universal Serial Bus (USB) using a memory shared among a number of end points
DE19900245B4 (de) * 1998-01-07 2005-09-15 National Semiconductor Corp.(N.D.Ges.D.Staates Delaware), Santa Clara Vorrichtung und Verfahren zum Senden von Daten von einem USB-Endpunkt an einen USB-Host
US6205501B1 (en) * 1998-01-07 2001-03-20 National Semiconductor Corp. Apparatus and method for handling universal serial bus control transfers
US5978389A (en) * 1998-03-12 1999-11-02 Aten International Co., Ltd. Multiplex device for monitoring computer video signals
US6233640B1 (en) * 1999-03-19 2001-05-15 In-System Design, Inc. Universal serial bus peripheral bridge with sequencer
US6601146B2 (en) * 1998-06-16 2003-07-29 International Business Machines Corporation Technique for efficiently transferring moderate amounts of data across address space boundary
JP2000076038A (ja) * 1998-08-28 2000-03-14 Matsushita Electric Ind Co Ltd Usbハブ回路及びディスプレイ装置
US6279060B1 (en) * 1998-12-04 2001-08-21 In-System Design, Inc. Universal serial bus peripheral bridge simulates a device disconnect condition to a host when the device is in a not-ready condition to avoid wasting bus resources
US6141719A (en) * 1998-12-10 2000-10-31 Network Technologies, Inc. USB selector switch
US6324605B1 (en) * 1998-12-10 2001-11-27 Network Technologies, Inc. Computer and peripheral switch with USB
US6304995B1 (en) * 1999-01-26 2001-10-16 Trw Inc. Pipelined architecture to decode parallel and serial concatenated codes
JP2000242377A (ja) 1999-02-24 2000-09-08 Nec Corp ディスプレイ装置
US6601109B1 (en) 1999-03-31 2003-07-29 International Business Machines Corporation USB-based networking and I/O hub
JP2000316006A (ja) 1999-04-28 2000-11-14 Nec Corp バスマネージャ機能自動切換対応ノード、移動端末、及び、移動端末システム
GB9909849D0 (en) 1999-04-28 1999-06-23 Adder Tech Ltd Usb switching device and system
AU4501200A (en) * 1999-04-30 2000-11-17 Daniel Kelvin Jackson Method and apparatus for extending communications over usb
TW435758U (en) * 1999-05-28 2001-05-16 Aten Int Co Ltd Electronic switching apparatus for general-purpose sequential bus interface
US6600739B1 (en) * 1999-06-07 2003-07-29 Hughes Electronics Corporation Method and apparatus for switching among a plurality of universal serial bus host devices
JP2001043178A (ja) 1999-07-30 2001-02-16 Nec Home Electronics Ltd 切換装置
US7028114B1 (en) * 1999-08-11 2006-04-11 Henry Milan Universal serial bus hub with wireless communication to remote peripheral device
KR20010019355A (ko) * 1999-08-26 2001-03-15 윤종용 초소형 전자 장치를 위한 범용 직렬 버스 커넥터 및 이를 구비한 전자장치
FR2799288B1 (fr) * 1999-09-23 2005-02-25 Ibm Systeme de communication sans fil utilisant un bus serie universel (usb)
US6671765B1 (en) * 1999-11-22 2003-12-30 Texas Instruments Incorporated Architecture enabling code overlay using a dedicated endpoint
US6546450B1 (en) * 1999-12-22 2003-04-08 Intel Corporation Method and apparatus for sharing a universal serial bus device among multiple computers by switching
JP2001229119A (ja) 2000-02-16 2001-08-24 Hitachi Ltd 複数コンピュータによるデバイス選択hubbox
JP3415567B2 (ja) * 2000-06-21 2003-06-09 エヌイーシーマイクロシステム株式会社 Usb転送制御方法およびusbコントローラ
US6901471B2 (en) * 2001-03-01 2005-05-31 Synopsys, Inc. Transceiver macrocell architecture allowing upstream and downstream operation
JP2002288112A (ja) * 2001-03-27 2002-10-04 Hitachi Ltd 通信制御用半導体装置およびインタフェースシステム
US6973078B2 (en) * 2001-04-20 2005-12-06 Sun Microsystems, Inc. Method and apparatus for implementing low latency crossbar switches with integrated storage signals
US6435904B1 (en) * 2001-06-01 2002-08-20 Fellowes, Inc. Multiple peripheral connection device for connecting multiple peripheral devices to a host device
US6775733B2 (en) * 2001-06-04 2004-08-10 Winbond Electronics Corp. Interface for USB host controller and root hub
JP2003084919A (ja) * 2001-09-06 2003-03-20 Hitachi Ltd ディスクアレイ装置の制御方法およびディスクアレイ装置
JP2003195991A (ja) 2001-12-26 2003-07-11 Matsushita Electric Ind Co Ltd Usbホスト切り替え装置
KR20040008365A (ko) 2002-07-18 2004-01-31 삼성전자주식회사 디스플레이 장치 및 방법
US6732218B2 (en) * 2002-07-26 2004-05-04 Motorola, Inc. Dual-role compatible USB hub device and method
US6618776B1 (en) * 2002-08-15 2003-09-09 Logitech Europe, S.A. USB bandwidth monitor
US7024501B1 (en) * 2002-11-18 2006-04-04 Cypress Semiconductor Corp. Method and apparatus for attaching USB peripherals to host ports
US7185126B2 (en) * 2003-02-24 2007-02-27 Standard Microsystems Corporation Universal serial bus hub with shared transaction translator memory
US6959355B2 (en) * 2003-02-24 2005-10-25 Standard Microsystems Corporation Universal serial bus hub with shared high speed handler
US6993620B2 (en) * 2003-06-13 2006-01-31 Hewlett-Packard Development Company, L.P. User resource sharing through the USB interface
KR100618814B1 (ko) * 2003-07-04 2006-08-31 삼성전자주식회사 다중 호스트 인터페이스를 지원하는 스마트 카드 겸용이동형 저장 장치 및 이에 대한 인터페이스 방법
TWI221980B (en) * 2003-09-02 2004-10-11 Prolific Technology Inc Apparatus for multiple host access to storage media
US20050060636A1 (en) * 2003-09-15 2005-03-17 Zsolt Mathe Digital photo album
US20050216620A1 (en) * 2004-03-26 2005-09-29 Francisc Sandulescu KVM and USB peripheral switch
US20060059293A1 (en) * 2004-09-14 2006-03-16 Henry Wurzburg Universal serial bus switching hub
US20060056401A1 (en) * 2004-09-14 2006-03-16 Standard Microsystems Corporation Peripheral sharing USB hub
KR100490068B1 (ko) 2004-09-22 2005-05-17 서명석 복수의 컴퓨터 본체와 하나 또는 복수의 디스플레이 장치를 선택적으로 연결하여 주는 인터페이스가 구비된 교탁
US7246189B2 (en) * 2005-11-18 2007-07-17 Vetra Systems Corporation Method and apparatus for enhancing universal serial bus
US7523243B2 (en) * 2006-04-14 2009-04-21 Standard Microsystems Corporation Multi-host USB device controller

Also Published As

Publication number Publication date
KR101192954B1 (ko) 2012-10-18
US20070245057A1 (en) 2007-10-18
SG136900A1 (en) 2007-11-29
US7523243B2 (en) 2009-04-21
KR100892007B1 (ko) 2009-04-07
US7627708B2 (en) 2009-12-01
US20090106474A1 (en) 2009-04-23
KR20080102355A (ko) 2008-11-25
TW200813725A (en) 2008-03-16
TWI338224B (en) 2011-03-01

Similar Documents

Publication Publication Date Title
KR100892007B1 (ko) 멀티 호스트 usb 장치 제어기
KR102392204B1 (ko) 멀티-모드 및/또는 멀티-속도 NVMe-oF 장치들을 지원하는 시스템 및 방법
US20060059293A1 (en) Universal serial bus switching hub
US7953074B2 (en) Apparatus and method for port polarity initialization in a shared I/O device
US8156270B2 (en) Dual port serial advanced technology attachment (SATA) disk drive
US20060056401A1 (en) Peripheral sharing USB hub
US20160274798A1 (en) Systems and methods for scalable storage management
US20060227759A1 (en) Peripheral Sharing USB Hub
US5925120A (en) Self-contained high speed repeater/lun converter which controls all SCSI operations between the host SCSI bus and local SCSI bus
US20060106962A1 (en) USB On-The-Go implementation
US11086813B1 (en) Modular non-volatile memory express storage appliance and method therefor
US20090100209A1 (en) Universal serial bus hub with shared high speed handler
US20090177804A1 (en) Serial advanced technology attachment (sata ) switch
US20060095642A1 (en) USB on-the-go controller
KR20050044247A (ko) 피시아이 익스프레스 링크의 동적 재구성 방법 및 장치
US10095652B2 (en) Host configured multi serial interface device
EP0855819A1 (en) Network switch stacking mechanism
EP3382567B1 (en) Multiple storage devices implemented using a common connector
JPH0652095A (ja) バス・アダプタ・システム
WO2014081658A1 (en) Configuring signals based on device conditions
EP1415234B1 (en) High density severlets utilizing high speed data bus
Sumathi et al. Interface Buses
Chassis Interface Buses

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
A107 Divisional application of patent
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130321

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140312

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150310

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160311

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170320

Year of fee payment: 9