JP2017531871A - Side channel access through USB stream - Google Patents
Side channel access through USB stream Download PDFInfo
- Publication number
- JP2017531871A JP2017531871A JP2017518102A JP2017518102A JP2017531871A JP 2017531871 A JP2017531871 A JP 2017531871A JP 2017518102 A JP2017518102 A JP 2017518102A JP 2017518102 A JP2017518102 A JP 2017518102A JP 2017531871 A JP2017531871 A JP 2017531871A
- Authority
- JP
- Japan
- Prior art keywords
- usb
- interface
- arbiter
- side channel
- lun
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
- G06F5/065—Partitioned buffers, e.g. allowing multiple independent queues, bidirectional FIFO's
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2205/00—Indexing scheme relating to group G06F5/00; Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F2205/06—Indexing scheme relating to groups G06F5/06 - G06F5/16
- G06F2205/067—Bidirectional FIFO, i.e. system allowing data transfer in two directions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
- Bus Control (AREA)
Abstract
システムが、USBストリームを使用したUSBデバイスのサイドチャネルアクセスを提供し得る。システムは、USBデバイスコントローラとのUSBインターフェースと、内部バスと、USBコントローラと内部バスとの間に結合される論理ユニット番号(LUN)アービタと、LUNアービタに結合される二次インターフェースとを含み得る。システムは、内部バスに結合される複数の記憶デバイスを含み得る。システムは、USBデバイスコントローラと二次インターフェースとの両方を介して、記憶デバイスへのアクセスを提供し得る。LUNアービタは、USBデバイスコントローラからの複数のUSBストリームと、二次インターフェースからの少なくとも1つの付加的USBストリームとを受け取り得る。LUNアービタは、USBデバイスコントローラおよび二次インターフェースから生じるUSBストリーム間のアクセスの優先順位を決定し得る。A system may provide side channel access for USB devices using a USB stream. The system may include a USB interface to a USB device controller, an internal bus, a logical unit number (LUN) arbiter coupled between the USB controller and the internal bus, and a secondary interface coupled to the LUN arbiter. . The system can include a plurality of storage devices coupled to an internal bus. The system may provide access to the storage device via both the USB device controller and the secondary interface. The LUN arbiter may receive multiple USB streams from the USB device controller and at least one additional USB stream from the secondary interface. The LUN arbiter may determine the priority of access between the USB stream originating from the USB device controller and the secondary interface.
Description
(関連特許出願)
本願は、2014年10月13日に出願された共同所有の米国仮特許出願第62/063,092号に対する優先権を主張し、この出願は、あらゆる目的のために、参照により本明細書に援用される。
(Related patent application)
This application claims priority to co-owned US Provisional Patent Application No. 62 / 063,092, filed October 13, 2014, which application is hereby incorporated by reference for all purposes. Incorporated.
(技術分野)
本開示は、ユニバーサルシリアルバス(USB)環境における使用のためのシステムおよび方法に関し、より具体的には、USBストリームを使用するUSBデバイスのサイドチャネルアクセスのための改善されたシステムおよび方法に関する。
(Technical field)
The present disclosure relates to systems and methods for use in a universal serial bus (USB) environment, and more particularly to improved systems and methods for side channel access of USB devices that use USB streams.
(背景)
USB環境は、現代の電子機器デバイス(例えば、サーバ、パーソナルコンピュータ(「PC」)、タブレットPC、携帯電話、自動車インフォテインメントシステム、パーソナルゲーミングシステム、玩具等)においてユビキタスである。キーボード、モニタ、プリンタ、記憶デバイス、カメラ、電話、玩具、ゲーム、および多数の他の電子デバイスが単一のインターフェースで機能することを可能にするものは、「ユニバーサル」インターフェースである。USBデバイス(特に、カードリーダおよび類似物のようなデバイス)では、下流USBリソース(例えば、カードリーダの場合ではメディアカード等)が直接アクセスされることが可能である別個のインターフェース(例えば、SPI、I2C、UART等)を使用して、デバイス内へのサイドチャネルを有することが有益である。1つのアプローチは、そのようなアクセスが上流USBポートを通してなされることを要求することであるが、これは、論理を複雑化させ、かつ/または、システム性能を損ない得る。
(background)
The USB environment is ubiquitous in modern electronic devices (eg, servers, personal computers (“PCs”), tablet PCs, mobile phones, automotive infotainment systems, personal gaming systems, toys, etc.). It is the “universal” interface that allows keyboards, monitors, printers, storage devices, cameras, phones, toys, games, and many other electronic devices to function with a single interface. For USB devices (especially devices such as card readers and the like), a separate interface (eg, SPI, I, etc.) through which downstream USB resources (eg, media cards in the case of card readers) can be directly accessed. 2 C, using a UART, etc.), it would be beneficial to have a side channel into the device. One approach is to require that such access be made through an upstream USB port, but this can complicate the logic and / or compromise system performance.
例えば、USBストリームをサポートしないUSBデバイス(例えば、デュアルカードリーダ)においては、1つのUSBパケットのみが所与の時点で処理されることが可能であり、任意のさらなるパケットは、現在のパケットの処理が完了するまで保留される。これは、サイドチャネル伝達が上流USBポートを通してシステム内へ入る場合、全てのUSBパケットは、物理的リソース(例えば、メモリカード)がアクセスされていない場合であっても、保留されなければならないことを意味する。 For example, in a USB device that does not support a USB stream (eg, a dual card reader), only one USB packet can be processed at a given time, and any additional packets can be processed for the current packet. Is held until is completed. This means that if a side channel transfer enters the system through the upstream USB port, all USB packets must be held even if no physical resources (eg memory card) are accessed. means.
USBストリームをサポートするUSBデバイスにおいては、USBデバイスコントローラが、順次入るN個の数のストリームを処理する。USBストリームを用いると、新しいパケットが、先のパケットが処理される前にデバイス内に(デバイスの記憶および処理能力にまで)受け取られることが可能である。これは、中央コマンドアービタを有することによって遂行されることが可能であり、中央コマンドアービタは、各USBパケットを検証し、どの物理的リソース(例えば、メモリカード#1、メモリカード#2、CPU等)にパケットがルーティングされるべきかを決定する。パケットが意図される物理的リソースにのみルーティングすることによって、物理的リソース内の論理は、簡略化されることが可能である。 In a USB device that supports USB streams, the USB device controller processes N streams that are sequentially input. With a USB stream, new packets can be received in the device (up to the device's storage and processing capabilities) before the previous packet is processed. This can be accomplished by having a central command arbiter that verifies each USB packet and determines which physical resource (eg, memory card # 1, memory card # 2, CPU, etc.). ) To determine if the packet should be routed. By routing packets only to the intended physical resource, the logic within the physical resource can be simplified.
しかしながら、USBストリームをサポートするデバイスであっても、デバイス上の物理的リソースのうちの1つへのサイドチャネルアクセスは、正しい進行を決定するために、CPUによって処理される必要がある。パケットの順不同処理をサポートしないデバイス(パケットの順不同処理をサポートしない方が単純なため、殆どのデバイス)では、全ての他のパケットの処理は、サイドチャネルパケットが正しく進行させられるまで保留されなければならず、その結果、全てのパケットの順序は、維持される。これは、サイドチャネル論理とUSBデバイスコントローラとの間の通信および同期を要求し、これは、正しく実装することが困難であり得る。 However, even for devices that support USB streams, side channel access to one of the physical resources on the device needs to be handled by the CPU to determine the correct progression. For devices that do not support out-of-order processing of packets (most devices because it is simpler to not support out-of-order processing of packets), processing of all other packets must be deferred until the side-channel packet proceeds correctly. As a result, the order of all packets is maintained. This requires communication and synchronization between the side channel logic and the USB device controller, which can be difficult to implement correctly.
さらに、上流USBポートを通してサイドチャネルアクセスを要求することは、USBデバイスにアクセスするために別個のインターフェース(例えば、SPI、I2C、UART等)を使用する必要がある(または使用することを所望する)一部のユーザに許容可能ではない場合がある。これらの別個のインターフェースのうちの1つを介してUSBデバイスへのサイドチャネルアクセスを可能にすることは、ハードウェアおよび関連付けられるソフトウェアルーチンを複雑化させ得る。例えば、そのようなサイドチャネル上の読取および書込コマンド/データをUSB上流の読取および書込コマンドを用いて多重化する機能性を実装することは、実装することが困難である可能性があり、多くの場合、専用コマンドならびにアドレス指定方式および/または付加的ハードウェア要求(例えば、USBホストから生じるコマンドと別個のSPI/I2C/UART等のインターフェースを介して生じるコマンドとの間のアクセス優先順位を決定する付加的アービタ層)をもたらす。 Furthermore, requesting side channel access through the upstream USB port requires (or is desired to use) a separate interface (eg, SPI, I 2 C, UART, etc.) to access the USB device. Yes) may not be acceptable to some users. Enabling side channel access to a USB device through one of these separate interfaces can complicate the hardware and associated software routines. For example, implementing functionality to multiplex read and write commands / data on such side channels using USB upstream read and write commands can be difficult to implement In many cases, dedicated commands and addressing schemes and / or additional hardware requests (e.g., access between commands originating from a USB host and commands originating via a separate interface such as SPI / I 2 C / UART) An additional arbiter layer that determines priority).
(要旨)
それ故、前述の複雑性を回避する効率的かつ単純なサイドチャネルアクセスを提供することが可能である改善されたUSB環境の必要性が存在する。
(Summary)
Therefore, there is a need for an improved USB environment that can provide efficient and simple side channel access that avoids the aforementioned complexity.
ある実施形態によると、USBデバイスコントローラおよびバッファメモリを有するUSBインターフェースを含み得るシステムが提供される。システムは、内部バスと、USBデバイスコントローラと内部バスとの間に結合される論理ユニット番号(LUN)アービタとをさらに含み得る。システムは、LUNアービタと結合される二次インターフェースをさらに含み得る。ある実施形態では、システムは、二次インターフェースと内部バスとの間に結合されるFIFOを含み得る。同一のまたは代替的な実施形態では、本システムは、内部バスに結合される複数の記憶デバイスを含み得、各記憶デバイスは、小型コンピュータシステムインターフェース(SCSI)コマンド処理ユニットと、メモリカードコントローラとを含み得る。同一のまたは代替的な実施形態では、システムは、USBデバイスコントローラとLUNアービタとの間に結合される複数のエンドポイントを含み得る。同一のまたは代替的な実施形態では、USBデバイスコントローラは、USBストリームをサポートし得、LUNアービタは、USBストリームアービタであり得る。同一のまたは代替的な実施形態では、LUNアービタは、USBデバイスコントローラからの複数のUSBストリームと、二次インターフェースからの少なくとも1つの付加的USBストリームとを受け取るように構成され得る。 According to an embodiment, a system is provided that may include a USB interface having a USB device controller and a buffer memory. The system may further include an internal bus and a logical unit number (LUN) arbiter coupled between the USB device controller and the internal bus. The system may further include a secondary interface coupled with the LUN arbiter. In certain embodiments, the system may include a FIFO coupled between the secondary interface and the internal bus. In the same or alternative embodiments, the system may include multiple storage devices coupled to an internal bus, each storage device comprising a small computer system interface (SCSI) command processing unit and a memory card controller. May be included. In the same or alternative embodiments, the system may include multiple endpoints coupled between the USB device controller and the LUN arbiter. In the same or alternative embodiments, the USB device controller may support a USB stream and the LUN arbiter may be a USB stream arbiter. In the same or alternative embodiments, the LUN arbiter may be configured to receive multiple USB streams from the USB device controller and at least one additional USB stream from the secondary interface.
さらなる実施形態によると、複数のハードウェアリソースと、USBストリームをサポートするUSBデバイスコントローラと、論理ユニット番号(LUN)アービタと、二次インターフェースとを有するシステム内の第1のハードウェアリソースへのサイドチャネルアクセスを提供するための方法が提供される。USBデバイスコントローラは、複数のハードウェアリソースのうちの第1のハードウェアリソースにアクセスするためのUSB要求を受信し得る。二次インターフェースは、複数のハードウェアリソースのうちの第1のハードウェアリソースにアクセスするためのサイドチャネル要求を受信し得る。USBデバイスコントローラは、USB要求をLUNアービタに転送し得、二次インターフェースは、サイドチャネル要求をLUNアービタに転送し得る。LUNアービタは、USB要求およびサイドチャネル要求が第1のハードウェアリソースに転送される順序を決定し得る。 According to a further embodiment, a side to a first hardware resource in a system having a plurality of hardware resources, a USB device controller that supports USB streams, a logical unit number (LUN) arbiter, and a secondary interface. A method is provided for providing channel access. The USB device controller may receive a USB request for accessing a first hardware resource of the plurality of hardware resources. The secondary interface may receive a side channel request to access a first hardware resource of the plurality of hardware resources. The USB device controller can forward the USB request to the LUN arbiter, and the secondary interface can forward the side channel request to the LUN arbiter. The LUN arbiter may determine the order in which USB requests and side channel requests are transferred to the first hardware resource.
さらなる実施形態によると、USBデバイスコントローラと、内部バスと、サイドチャネルインターフェースユニットとを含み得るシステムが提供される。システムはさらに、(i)USBデバイスコントローラと内部バスとの間、かつ、(ii)サイドチャネルインターフェースユニットと内部バスとの間に結合される論理ユニット番号(LUN)アービタを含み得る。システムは、内部バスに結合される少なくとも1つのハードウェアコントローラをさらに含み得る。システムは、少なくとも1つのプロセッサをさらに含み得る。少なくとも1つのプロセッサは、少なくとも1つのハードウェアコントローラにアクセスするための第1のUSBパケットおよび第2のUSBパケットを生成するように構成され得る。少なくとも1つのプロセッサは、USBインターフェースを介して第1のUSBパケットをUSBデバイスコントローラに伝送することと、サイドチャネルインターフェース通信プロトコルを経由して第2のUSBパケットをトンネリングすることによって第2のUSBパケットをサイドチャネルインターフェースユニットに伝送することとを実行するようにさらに構成され得る。第1のUSBパケットを受信すると、USBデバイスコントローラは、第1のUSBパケットを第1のUSBストリームとしてLUNアービタに転送し得る。第2のUSBパケットを受信すると、サイドチャネルインターフェースユニットは、第2のUSBパケットを第2のUSBストリームとしてLUNアービタに転送し得る。LUNアービタは、第1のUSBストリームと第2のUSBストリームと間のアクセス優先順位を決定し得る。少なくとも1つのハードウェアコントローラは、第1のUSBパケットおよび第2のUSBパケットに応答してアクセスされ得る。 According to a further embodiment, a system is provided that may include a USB device controller, an internal bus, and a side channel interface unit. The system may further include a logical unit number (LUN) arbiter coupled between (i) the USB device controller and the internal bus, and (ii) between the side channel interface unit and the internal bus. The system may further include at least one hardware controller coupled to the internal bus. The system may further include at least one processor. The at least one processor may be configured to generate a first USB packet and a second USB packet for accessing the at least one hardware controller. The at least one processor transmits the first USB packet to the USB device controller via the USB interface and tunnels the second USB packet via the side channel interface communication protocol to thereby generate the second USB packet. May be further configured to perform transmission to the side channel interface unit. Upon receiving the first USB packet, the USB device controller may transfer the first USB packet as a first USB stream to the LUN arbiter. Upon receiving the second USB packet, the side channel interface unit may transfer the second USB packet as a second USB stream to the LUN arbiter. The LUN arbiter may determine an access priority between the first USB stream and the second USB stream. At least one hardware controller may be accessed in response to the first USB packet and the second USB packet.
付随の図面と併せて検討される以下の説明を参照することによって、本開示のさらに完全な理解が取得され得る。 A more complete understanding of the present disclosure can be obtained by reference to the following description considered in conjunction with the accompanying drawings.
本開示は、種々の改変および代替的な形態の余地があるが、その具体的な例示的な実施形態が、図面に示され、本明細書で詳細に説明される。しかしながら、本明細書における具体的な例示的な実施形態の説明は、本開示を本明細書に開示される特定の形態に限定することを意図しておらず、反対に、本開示は、添付の特許請求の範囲によって定義されるような全ての改変および均等物を網羅するものであることを理解されたい。 While the present disclosure is susceptible to various modifications and alternative forms, specific exemplary embodiments thereof are shown in the drawings and are described in detail herein. However, the description of specific exemplary embodiments herein is not intended to limit the present disclosure to the specific forms disclosed herein, on the contrary, It should be understood that all modifications and equivalents are defined as defined by the following claims.
(詳細な説明)
種々の実施形態によると、USBストリームを使用したUSBデバイスの改良されたサイドチャネルアクセスを提供することが可能であるシステムが、提供されることが可能である。
(Detailed explanation)
According to various embodiments, a system can be provided that can provide improved side channel access for USB devices using USB streams.
ここで図面を参照すると、例示的な実施形態の詳細が、図式的に示される。図面中の同様の要素は、同様の番号によって表され、類似する要素は、異なる小文字の接尾辞を伴う同様の番号によって表される。 Referring now to the drawings, details of exemplary embodiments are shown schematically. Like elements in the drawings are represented by like numbers, and like elements are represented by like numbers with different lowercase suffixes.
図1は、本開示のある実施形態に従った、USBストリームを使用したUSBデバイスの改良されたサイドチャネルアクセスを提供することが可能である例示的なシステムのブロック図を示す。図1に描写されるように、システム100は、プロセッサ102aを有するハードウェアユニット102と、プロセッサ104aを有するハードウェアユニット104とを備え得る。システム100は、エンドポイントバッファ110およびバッファメモリ112に結合されたUSBデバイスコントローラ106をさらに備え得る。システム100は、FIFO122に結合された二次インターフェース108をさらに含み得る。システム100は、上流ポート126および128を有しかつ下流ポートを介して内部バス116に結合された論理ユニット(LUN)アービタ114をさらに備え得る。システム100は、メモリカード124aにアクセスするための小型コンピュータシステムインターフェース(SCSI)コマンド処理ユニット118aおよびメモリカードコントローラ120aと、メモリカード124bにアクセスするためのSCSIコマンド処理ユニット118bおよびメモリカードコントローラ120bとをさらに備え得る。バス103が、ハードウェアユニット102をUSBデバイスコントローラ106と結合し得、ハードウェアユニット102とUSBデバイスコントローラ106との間でUSB対応のシグナリングを伝搬することを可能にし得る。バス130が、ハードウェアユニット104を二次インターフェース108と結合し得、二次インターフェース108によってサポートされるプロトコルに対応するシグナリングを伝搬することを可能にし得る。図1は、ハードウェアユニット140を描写し、ハードウェアユニット140がハードウェアユニット102およびハードウェアユニット104とは別個のハードウェア(例えば、異なる物理的なチップ、基板等)であり得ることを示す。しかしながら、この描写されるハードウェア略図は、単に、例示的である。異なる実施形態(例えば、以下に説明される図2)が、異なるハードウェア構成を提供し得る。さらに、図1に描写される実施形態は、2つの物理的メモリカード(124a/b)ならびに対応するメモリカードコントローラ(120a/b)およびSCSIコマンド処理ユニット(118a/b)を含むが、代替的な実施形態は、任意の数のメモリカード(例えば、2個、3個、10個、16個等)および関連付けられるSCSIコマンド処理ユニットを含み得る。
FIG. 1 illustrates a block diagram of an exemplary system that can provide improved side channel access for USB devices using USB streams, in accordance with certain embodiments of the present disclosure. As depicted in FIG. 1, the
プロセッサ102aおよびプロセッサ104aは、プログラム命令を解釈および/または実行しかつ/またはデータを処理するように動作可能な任意のシステム、デバイス、もしくは装置を備え得、プログラム命令を解釈および/または実行しかつ/またはデータを処理するように構成されるマイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ、特定用途向け集積回路(ASIC)、または任意の他のデジタルもしくはアナログ回路を含み得るがこれらに限定されない。ハードウェアユニット102のプロセッサ102aは、USBデバイスコントローラ106に通信可能に結合されることにより、USBデバイスを実装/制御するために適切なシグナリングを提供し得る。ハードウェアユニット104のプロセッサ104aは、二次インターフェース108に通信可能に結合されることにより、二次インターフェース(例えば、SPI/I2C/UART等)を実装/制御するために適切なシグナリングを提供し得る。プロセッサ102aおよびプロセッサ104aはまた、メモリ(例えば、揮発性、不揮発性等)、記憶媒体(例えば、フラッシュ、EEPROM、ソリッドステート記憶媒体等)等を含む他のリソース(図示せず)に通信可能に結合され得る。
USBデバイスコントローラ106は、USBデバイスコントローラインターフェースを実装するように動作可能な任意のシステム、デバイス、または装置を備え得、USBデバイスコントローラインターフェースを実装するように構成される特定用途向け集積回路(ASIC)または任意の他のデジタルもしくはアナログ回路(および必要なソフトウェア/ファームウェア)を含み得るがこれらに限定されない。ある実施形態において、USBデバイスコントローラ106は、Microchip Technology, Inc.(Microchip)によって提供されるデバイスコントローラであり得る。USBデバイスコントローラ106は、(例えば、USB仕様のバージョン3.0において導入されるように)USBストリームをサポートし得る。USBデバイスコントローラ106は、エンドポイントバッファ110およびバッファメモリ112に結合され得る。エンドポイントバッファ110は、USB仕様によって許容される最大数まで、任意の数のエンドポイントを備え得る。エンドポイントバッファ110は、USBコマンドを記憶するために使用され得る一方で、バッファメモリ112は、USBデバイスコントローラ106によって取り扱われるUSBトランザクションに関連するデータを記憶するために使用され得る。
The
二次インターフェース108は、二次インターフェースを実装するように動作可能な任意のシステム、デバイス、または装置を備え得、二次インターフェースを実装するように構成される特定用途向け集積回路(ASIC)または任意の他のデジタルもしくはアナログ回路(および必要なソフトウェア/ファームウェア)を含み得るがこれらに限定されない。二次インターフェース108は、サイドチャネルアクセスインターフェースを実装するために適したシリアルペリフェラルインターフェース(SPI)、集積回路間(I2C)インターフェース、汎用非同期送受信機(UART)インターフェース、または任意の他の非USB通信インターフェースであり得る。二次インターフェース108は、FIFO122に結合され得る。FIFO122は、USBコマンドと、二次インターフェース108によって取り扱われるサイドチャネルアクセスUSBトランザクションに関連するデータとを記憶するために使用され得る。
論理ユニット番号(LUN)アービタ114は、USBストリームアービタを実装するように動作可能な任意のシステム、デバイス、または装置を備え得、USBストリームアービタを実装するように構成される特定用途向け集積回路(ASIC)または任意の他のデジタルもしくはアナログ回路(および必要なソフトウェア/ファームウェア)を含み得るがこれらに限定されない。LUNアービタ114は、エンドポイントバッファ110に結合された上流ポート126と、FIFO122に結合された上流ポート128とを含み得る。LUNアービタ114は、上流ポート126を介して、USBデバイスコントローラ106から生じる複数のUSBストリームをサポートし得る。LUNアービタ114は、上流ポート128を介して、二次インターフェース108から生じる少なくとも1つの付加的USBストリームをさらにサポートし得る。LUNは、SCSI、iSCSI、またはファイバチャネル(FC)プロトコルによってアドレス指定されるような別個のデバイス(そのデバイスの各々が論理ユニットである)を区別するために使用される一意の識別子である。
The logical unit number (LUN) arbiter 114 may comprise any system, device, or apparatus operable to implement a USB stream arbiter and is an application specific integrated circuit configured to implement the USB stream arbiter ( ASIC) or any other digital or analog circuitry (and required software / firmware). LUN arbiter 114 may include an
SCSIコマンド処理ユニット118aおよびSCSIコマンド処理ユニット118bは、内部バス116上に送られるSCSIコマンドを処理するように動作可能な任意のシステム、デバイス、または装置を備え得、内部バス116上に発行されるSCSIコマンドを処理するように構成される特定用途向け集積回路(ASIC)または任意の他のデジタルもしくはアナログ回路(および必要なソフトウェア/ファームウェア)を含み得るがこれらに限定されない。代替的な実施形態では、内部バス116は、LUNアービタとメモリカードコントローラ120aおよびメモリカードコントローラ120bとの間をインターフェースするために適したiSCSI、FC、または任意の他のバスであり得る。従って、図1は、SCSIコマンド処理ユニットとして要素118aおよび要素118bを描写しているが、これらの処理ユニットは、代替的な実施形態では、iSCSI、FC、または他のコマンド処理ユニットであり得る。
SCSI command processing unit 118a and SCSI command processing unit 118b may comprise any system, device, or apparatus operable to process SCSI commands sent on
メモリカードコントローラ120aおよびメモリカードコントローラ120bは、それぞれ、メモリカード124aおよびメモリカード124bを制御するように動作可能な任意のシステム、デバイス、または装置を備え得、メモリカード124aおよびメモリカード124bを制御するように構成される特定用途向け集積回路(ASIC)または任意の他のデジタルもしくはアナログ回路(および必要なソフトウェア/ファームウェア)を含み得るがこれらに限定されない。代替的な実施形態では、メモリカード124aおよびメモリカード124bは、メモリカード以外のハードウェアリソース(例えば、オーディオデバイス等)であり得る。従って、図1は、メモリカードコントローラとして要素120aおよび要素120bを描写しているが、これらのコントローラは、メモリカード以外のハードウェアリソース(例えば、オーディオデバイス等)を制御するように構成され得る。
動作時、システム100は、USBストリームを使用したUSBデバイスへの改良されたサイドチャネルアクセスを提供し得る。ハードウェアユニット102およびプロセッサ102aは、USBバス103を介してUSBデバイスコントローラ106と相互作用するように概して動作可能なソフトウェアおよび/またはファームウェア(例えば、USBホストコントローラスタック等)を実行し得る。USBバス103を介してUSBパケットを受信すると、USBデバイスコントローラ106は、USBストリームを含む対応するUSBコマンドをエンドポイントバッファ110に転送(例えば、記憶)し得、対応するデータをバッファメモリ112内に記憶し得る。
In operation,
任意の時点で、ハードウェアユニット104およびプロセッサ104aは、バス130を介してデータを二次インターフェース108に伝送することによって、USBデバイスのサイドチャネルアクセスを開始するように概して動作可能なソフトウェアおよび/またはファームウェアを実行し得る。先に開示されたように、バス130は、サイドチャネルアクセスインターフェースを実装するために適したSPIバス、I2Cバス、UARTバス、または任意の他の非USBバスであり得る。ハードウェアユニット104およびプロセッサ104aは、二次インターフェースプロトコルを経由してUSBパケットをトンネリングすることによって、バス130を経由してUSBパケットを送信し得る。言い換えると、USBプロトコルは、SPI/I2C/UART等のプロトコルの上にオーバーレイされ得、これは、USBをSPI/I2C/UART等にブリッジしないときは、反直観的である。実際には、逆ブリッジ機能がなされ、これは、使用することがより有能かつロバストなプロトコルとUSBがみなされるため、非常に奇異なことであるとみなされ得る。バス130を介してUSBパケットを受信すると、二次インターフェース108は、USBパケットをアンパックし、USBコマンドおよびデータをUSBストリームとしてFIFO122内に転送(例えば、記憶)する。
At any point in time, the
LUNアービタ114は、(USBデバイスコントローラ106からの)上流ポート126および(二次インターフェース108からの)上流ポート128において、USBストリームを介してUSBパケットを受信し得る。LUNアービタ114は、上流ポート126および上流ポート128において受信されたUSBパケットを、どの物理的LUN(例えば、図1におけるメモリカードコントローラ120aおよびメモリカードコントローラ120b)にパケットが行くことになっているかを決定し、かつ、USBパケット内に含まれる要求を正しいLUNに向かわせることによって、正しいオンチップリソースに進行させ得る。従って、LUNアービタ114は、SCSI、iSCSI、またはファイバチャネル(FC)プロトコルに従ってUSBパケット内に含まれる要求をコマンド(例えば、ユニキャストコマンド)に変換し得、変換された要求を内部バス116に転送し得る。
The LUN arbiter 114 may receive USB packets via the USB stream at the upstream port 126 (from the USB device controller 106) and the upstream port 128 (from the secondary interface 108). The LUN arbiter 114 determines which physical LUN (for example, the
SCSIコマンド処理ユニット118aおよびSCSIコマンド処理ユニット118bは、内部バス116からコマンドを受信し得、SCSIコマンド処理ユニット118aおよびSCSIコマンド処理ユニット118bは、それぞれ、メモリカードコントローラ120aおよびメモリカードコントローラ120b(または他のハードウェアコントローラ)とインターフェースすることにより、メモリカード124aおよびメモリカード124b(または他のハードウェアリソース)へのアクセスを生じさせ得る。メモリカード124aおよびメモリカード124bのアクセスは、正規のUSBアクセス(すなわち、USBデバイスコントローラ106を介して)またはサイドチャネルアクセス(すなわち、二次インターフェース108を介して)であり得る。
SCSI command processing unit 118a and SCSI command processing unit 118b may receive commands from
図2は、本開示のある実施形態に従った、USBストリームを使用したUSBデバイスへの改良されたサイドチャネルアクセスを提供することが可能である例示的なシステムのブロック図を示す。図2は、ほぼ全ての点で、図1と同じである。図2は、プロセッサ203が図1のハードウェアユニット102およびハードウェアユニット104に取って代わる代替的な実施形態を描写する。図2の実施形態はまた、要素140aの追加が図1とは異なる。
FIG. 2 illustrates a block diagram of an exemplary system that can provide improved side channel access to USB devices using USB streams, in accordance with certain embodiments of the present disclosure. FIG. 2 is the same as FIG. 1 in almost all respects. FIG. 2 depicts an alternative embodiment in which
図2に描写される実施形態によると、プロセッサ203は、プログラム命令を解釈および/または実行しかつ/またはデータを処理するように動作可能な任意のシステム、デバイス、もしくは装置を備え得、プログラム命令を解釈および/または実行しかつ/またはデータを処理するように構成されるマイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ、特定用途向け集積回路(ASIC)、または任意の他のデジタルもしくはアナログ回路を含み得るがこれらに限定されない。プロセッサ203は、USBデバイスコントローラ106に通信可能に結合されることにより、USBデバイスを実装/制御するために適切なシグナリングを提供し得る。プロセッサ203はさらに、二次インターフェース108に通信可能に結合されることにより、二次インターフェースを実装/制御するために適切なシグナリングを提供し得る。プロセッサ203はまた、メモリ(例えば、揮発性、不揮発性等)、記憶媒体(例えば、フラッシュ、EEPROM、ソリッドステート記憶媒体等)等を含む他のリソース(図示せず)に通信可能に結合され得る。したがって、図1のプロセッサ102aおよびプロセッサ104aは、別個のハードウェアユニットの一部であったが、図2のプロセッサ203は、通常のUSBアクセスおよびサイドチャネルアクセスの両方を開始する。
In accordance with the embodiment depicted in FIG. 2,
図2の要素140aは、本開示に従った種々の代替的な実施形態を表す。例えば、1つの実施形態では、プロセッサ203は、ハードウェアユニット140の一部であり得る。代替的な実施形態では、プロセッサ203は、ハードウェアユニット140とは別個のハードウェアユニットの一部であり得る。
図3は、本開示のある実施形態に従った、USBストリームを使用したUSBデバイスの改良されたサイドチャネルアクセスを提供するための例示的な方法300のフローチャートを示す。1つの実施形態によると、方法300は、好ましくは、ステップ302において開始する。上述されたように、本開示の教示は、システム100/200の種々の構成において実装され得る。したがって、方法300の好ましい初期化点および方法300を構成するステップ302〜314の順序は、選定された実装に依存し得る。
FIG. 3 shows a flowchart of an
ステップ302において、システム100/200は、初期化し得る。例えば、システム100/200は、(電源を介して、またはUSBホストへの接続を介して)電源オンにされ得、システム100/200のUSBデバイスコントローラ106、二次インターフェース108、および他の構成要素が、初期化し得る。ステップ304において、システム100/200は、USBバス103を介して第1のUSBパケットを受信し得る。第1のUSBパケットは、ハードウェアユニット102内のUSBホストから送信される通常のUSBトラフィックを表し得る。ステップ306において、システム100/200は、二次インターフェース108上に第2のUSBパケットを受信し得る。第2のUSBパケットは、二次インターフェースによって定義された通信プロトコル(例えば、SPI/I2C/UART等のインターフェースを経由してUSBパケットをトンネリングすること)に従って受信され得る。ステップ308において、USBデバイスコントローラは、第1のUSBパケットをUSBストリームとしてLUNアービタ114に転送し得る。ステップ310において、二次インターフェース108は、第2のUSBパケットをUSBストリームとしてLUNアービタ114に転送し得る(すなわち、二次インターフェースは、トンネリングされた第2のUSBパケットをFIFO122を介してLUNアービタ114に転送するために、トンネリングされた第2のUSBパケットをアンパックし得る)。ステップ312において、LUNアービタ114は、第1のUSBパケットと第2のUSBパケットと間のアクセスの優先順位を決定し得る。本文脈では、LUNアービタ114が、第1のパケットおよび第2のパケットは異なるハードウェアリソースに向かっていると決定する場合、LUNアービタ114は、第1のパケットおよび第2のパケット内に含まれる要求間に競合は全く存在しないと決定し得る。ステップ314において、LUNアービタ114は、第1のUSBパケットおよび第2のUSBパケットに関して決定された優先順位に従って、ハードウェアコントローラ120aおよび/またはハードウェアコントローラ120bにアクセスし得る。例えば、LUNアービタ114は、コマンド処理ブロック118a/118bによって処理され得るコマンドを内部バス116上に発行し得る。次に、ハードウェアコントローラ120aおよび/またはハードウェアコントローラ120bは、アクセスされ得、メモリカード124aおよび/またはメモリカード124bへのアクセスをもたらす。
In
図3は、図3に描写される方法に関して行われるべき特定の数のステップを開示しているが、その方法は、描写されるものよりも多いまたは少ないステップで実行され得る。加えて、図3は、図3に描写される方法に関して行われるべきある順序のステップを開示しているが、ステップは、任意の適した順序で完了され得る。例えば、ステップ304は、ステップ306の後に起こり得る。別の例として、ステップ308は、ステップ310の後に起こり得る。
Although FIG. 3 discloses a particular number of steps to be performed with respect to the method depicted in FIG. 3, the method may be performed with more or fewer steps than those depicted. In addition, although FIG. 3 discloses a certain order of steps to be performed with respect to the method depicted in FIG. 3, the steps may be completed in any suitable order. For example, step 304 can occur after
本明細書に開示される方法およびシステムを使用して、USBストリームを使用したUSBデバイスの改良されたサイドチャネルアクセスを提供することが可能であるシステムが、提供されることが可能である。開示される実施形態によると、ユーザは、有利に、USBデバイスのサイドチャネルアクセスを実行するために、既存のハードウェアインターフェースを使用し得る。サイドチャネルマスタ(例えば、SPI、I2C、UART等のマスタ)が、USBホストのように、チップ上に置かれ得る任意の種類のUSB下流デバイスに呼びかけ得る。さらに、開示される実施形態によると、システム140上に存在するCPUは、全てのサイドチャネルパケットを処理する負担を軽減され得る。さらに、開示される実施形態によると、アービトレーションは、集中化され、それ故、より単純かつより整合した状態になる。例えば、LUNアービタ114は、USBパケットを処理することのみを必要とし、これは、設計を簡略化し、専用プロトコルの必要性を排除し得る。別の例として、いくつかの実施形態では、LUNアービタ114は、以前から存在するUSBストリームアービタへの単純な修正である、サイドチャネルアクセスに関連する1つの付加的USBストリームをサポートすることのみを必要とする。またさらに、開示される実施形態は、サイドチャネルアクセスに関するコヒーレントな順不同処理を可能にする。
A system can be provided that can provide improved side channel access of USB devices using USB streams using the methods and systems disclosed herein. According to the disclosed embodiments, the user may advantageously use an existing hardware interface to perform side channel access of the USB device. A side channel master (eg, a master such as SPI, I 2 C, UART, etc.) can call any type of USB downstream device that can be placed on the chip, such as a USB host. Further, according to the disclosed embodiments, the CPU residing on the
本開示が詳細に説明されたが、種々の変更、置換、および改変が、添付される特許請求の範囲によって定義されるような本開示の精神および範囲から逸脱することなく、本明細書に成され得ることを理解されたい。 Although the present disclosure has been described in detail, various changes, substitutions, and alterations can be made herein without departing from the spirit and scope of the present disclosure as defined by the appended claims. It should be understood that this can be done.
Claims (25)
内部バスと、
前記USBデバイスコントローラと前記内部バスとの間に結合される論理ユニット番号(LUN)アービタと、
前記LUNアービタに結合される二次インターフェースと
を備える、システム。 A USB interface having a USB device controller and a buffer memory;
An internal bus,
A logical unit number (LUN) arbiter coupled between the USB device controller and the internal bus;
A secondary interface coupled to the LUN arbiter.
前記USBデバイスコントローラが、前記複数のハードウェアリソースのうちの前記第1のハードウェアリソースにアクセスするためのUSB要求を受信することと、
前記二次インターフェースが、前記複数のハードウェアリソースのうちの前記第1のハードウェアリソースにアクセスするためのサイドチャネル要求を受信することと、
前記USBデバイスコントローラが、前記USB要求を前記LUNアービタに転送することと、
前記二次インターフェースが、前記サイドチャネル要求を前記LUNアービタに転送することと、
前記LUNアービタが、前記USB要求および前記サイドチャネル要求が前記第1のハードウェアリソースに転送される順序を決定することと
を含む、方法。 To provide side channel access to a first hardware resource in a system having multiple hardware resources, a USB device controller that supports USB streams, a logical unit number (LUN) arbiter, and a secondary interface. The method comprising:
The USB device controller receives a USB request to access the first hardware resource of the plurality of hardware resources;
Receiving a side channel request for the secondary interface to access the first hardware resource of the plurality of hardware resources;
The USB device controller transfers the USB request to the LUN arbiter;
The secondary interface forwards the side channel request to the LUN arbiter;
The LUN arbiter includes determining the order in which the USB request and the side channel request are transferred to the first hardware resource.
内部バスと、
サイドチャネルインターフェースユニットと、
(i)前記USBデバイスコントローラと前記内部バスとの間、かつ、(ii)前記サイドチャネルインターフェースユニットと前記内部バスとの間に結合される論理ユニット番号(LUN)アービタと、
前記内部バスに結合される少なくとも1つのハードウェアコントローラと、
前記少なくとも1つのハードウェアコントローラにアクセスするための第1のUSBパケットおよび第2のUSBパケットを生成することと、
USBインターフェースを介して、前記第1のUSBパケットを前記USBデバイスコントローラに伝送することと、
サイドチャネルインターフェース通信プロトコルを経由して前記第2のUSBパケットをトンネリングすることによって、前記第2のUSBパケットを前記サイドチャネルインターフェースユニットに伝送することと
を実行するように構成される少なくとも1つのプロセッサと
を備えるシステムであって、
前記USBデバイスコントローラは、前記第1のUSBパケットを前記LUNアービタに第1のUSBストリームとして転送し、前記サイドチャネルインターフェースユニットは、前記第2のUSBパケットを前記LUNアービタに第2のUSBストリームとして転送し、前記LUNアービタは、前記第1のUSBストリームと前記第2のUSBストリームと間のアクセス優先順位を決定する、システム。 A USB device controller;
An internal bus,
A side channel interface unit;
(I) a logical unit number (LUN) arbiter coupled between the USB device controller and the internal bus; and (ii) between the side channel interface unit and the internal bus;
At least one hardware controller coupled to the internal bus;
Generating a first USB packet and a second USB packet for accessing the at least one hardware controller;
Transmitting the first USB packet to the USB device controller via a USB interface;
At least one processor configured to perform transmission of the second USB packet to the side channel interface unit by tunneling the second USB packet via a side channel interface communication protocol. And a system comprising:
The USB device controller transfers the first USB packet to the LUN arbiter as a first USB stream, and the side channel interface unit transfers the second USB packet to the LUN arbiter as a second USB stream. And the LUN arbiter determines an access priority between the first USB stream and the second USB stream.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462063092P | 2014-10-13 | 2014-10-13 | |
US62/063,092 | 2014-10-13 | ||
US14/880,699 US10042784B2 (en) | 2014-10-13 | 2015-10-12 | Side channel access through USB streams |
US14/880,699 | 2015-10-12 | ||
PCT/US2015/055213 WO2016061028A1 (en) | 2014-10-13 | 2015-10-13 | Side channel access through usb streams |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017531871A true JP2017531871A (en) | 2017-10-26 |
JP2017531871A5 JP2017531871A5 (en) | 2018-11-01 |
Family
ID=55655542
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017518102A Ceased JP2017531871A (en) | 2014-10-13 | 2015-10-13 | Side channel access through USB stream |
Country Status (7)
Country | Link |
---|---|
US (1) | US10042784B2 (en) |
EP (1) | EP3207459B1 (en) |
JP (1) | JP2017531871A (en) |
KR (1) | KR20170067715A (en) |
CN (1) | CN106663069B (en) |
TW (1) | TWI686699B (en) |
WO (1) | WO2016061028A1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9785595B2 (en) * | 2013-09-09 | 2017-10-10 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Multi-channel universal serial bus (USB) to subrate channel systems |
Family Cites Families (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5845329A (en) | 1993-01-29 | 1998-12-01 | Sanyo Electric Co., Ltd. | Parallel computer |
US5675813A (en) | 1995-10-26 | 1997-10-07 | Microsoft Corporation | System and method for power control in a universal serial bus |
US5983327A (en) | 1995-12-01 | 1999-11-09 | Nortel Networks Corporation | Data path architecture and arbitration scheme for providing access to a shared system resource |
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 |
KR100189781B1 (en) | 1996-05-07 | 1999-06-01 | 윤종용 | Power supply control for display device |
US6119190A (en) | 1996-11-06 | 2000-09-12 | Intel Corporation | Method to reduce system bus load due to USB bandwidth reclamation |
US6308239B1 (en) | 1996-11-07 | 2001-10-23 | Hitachi, Ltd. | Interface switching apparatus and switching control method |
US6205501B1 (en) | 1998-01-07 | 2001-03-20 | National Semiconductor Corp. | Apparatus and method for handling universal serial bus control transfers |
US6408351B1 (en) | 1998-03-31 | 2002-06-18 | Compaq Computer Corporation | Host modem having a peripheral codec powered by a peripheral bus |
US6266715B1 (en) * | 1998-06-01 | 2001-07-24 | Advanced Micro Devices, Inc. | Universal serial bus controller with a direct memory access mode |
JP2000076038A (en) | 1998-08-28 | 2000-03-14 | Matsushita Electric Ind Co Ltd | Usb hub circuit and display device |
GB2350212B (en) | 1999-02-09 | 2003-10-08 | Adder Tech Ltd | Data routing device and system |
US6601109B1 (en) | 1999-03-31 | 2003-07-29 | International Business Machines Corporation | USB-based networking and I/O hub |
GB9909849D0 (en) | 1999-04-28 | 1999-06-23 | Adder Tech Ltd | Usb switching device and system |
JP2000316006A (en) | 1999-04-28 | 2000-11-14 | Nec Corp | Node having provision for bus manager function automatic changeover, mobile terminal and mobile terminal system |
US6704824B1 (en) | 1999-07-27 | 2004-03-09 | Inline Connection Corporation | Universal serial bus adapter with automatic installation |
FR2799288B1 (en) | 1999-09-23 | 2005-02-25 | Ibm | WIRELESS COMMUNICATION SYSTEM USING UNIVERSAL SERIAL BUS (USB) |
US6957287B2 (en) | 2001-11-09 | 2005-10-18 | Aten International Co., Ltd. | Asynchronous/synchronous KVMP switch for console and peripheral devices |
JP2003256351A (en) | 2002-03-04 | 2003-09-12 | Yamaha Corp | Usb hub |
KR20040008365A (en) | 2002-07-18 | 2004-01-31 | 삼성전자주식회사 | Apparatus and method for display |
US6732218B2 (en) | 2002-07-26 | 2004-05-04 | Motorola, Inc. | Dual-role compatible USB hub device and method |
AU2003901297A0 (en) | 2003-03-20 | 2003-04-03 | Silverbrook Research Pty Ltd | Systems and apparatus (fpd001) |
US7502878B1 (en) * | 2003-06-27 | 2009-03-10 | Cypress Semiconductor Corporation | Method and apparatus for switching USB devices between multiple USB hosts |
WO2005018124A1 (en) | 2003-08-15 | 2005-02-24 | Xyratex Technology Limited | A data merge unit, a method of producing an interleaved data stream, a network analyser and a method of analysing a network |
US7085117B2 (en) * | 2003-10-02 | 2006-08-01 | Axiohm Transaction Solutions, Inc. | EMC immunity improvements to USB interface |
US7073010B2 (en) | 2003-12-02 | 2006-07-04 | Super Talent Electronics, Inc. | USB smart switch with packet re-ordering for interleaving among multiple flash-memory endpoints aggregated as a single virtual USB endpoint |
US7673080B1 (en) * | 2004-02-12 | 2010-03-02 | Super Talent Electronics, Inc. | Differential data transfer for flash memory card |
US20060227759A1 (en) | 2004-09-14 | 2006-10-12 | Bohm Mark R | Peripheral Sharing USB Hub |
US20060056401A1 (en) | 2004-09-14 | 2006-03-16 | Standard Microsystems Corporation | Peripheral sharing USB hub |
US20060059293A1 (en) | 2004-09-14 | 2006-03-16 | Henry Wurzburg | Universal serial bus switching hub |
JP2006085293A (en) | 2004-09-14 | 2006-03-30 | Matsushita Electric Ind Co Ltd | Interface bridge system |
JP2006127252A (en) | 2004-10-29 | 2006-05-18 | Fujitsu Component Ltd | Switch, switching method and program |
US7346728B1 (en) | 2005-04-18 | 2008-03-18 | Intel Corporation | Method and apparatus for a hub capable of being self-powered for use in a USB-compliant system |
US7246189B2 (en) | 2005-11-18 | 2007-07-17 | Vetra Systems Corporation | Method and apparatus for enhancing universal serial bus |
JP4725397B2 (en) * | 2006-04-05 | 2011-07-13 | セイコーエプソン株式会社 | USB composite device, USB communication system, and USB communication method |
US7478191B2 (en) | 2006-04-14 | 2009-01-13 | Standard Microsystems Corporation | Method for automatically switching USB peripherals between USB hosts |
US7523243B2 (en) | 2006-04-14 | 2009-04-21 | Standard Microsystems Corporation | Multi-host USB device controller |
JP2007293708A (en) | 2006-04-26 | 2007-11-08 | Nec Access Technica Ltd | Wireless usb device |
US20080189554A1 (en) * | 2007-02-05 | 2008-08-07 | Asad Ali | Method and system for securing communication between a host computer and a secure portable device |
US9495290B2 (en) * | 2007-06-25 | 2016-11-15 | Sonics, Inc. | Various methods and apparatus to support outstanding requests to multiple targets while maintaining transaction ordering |
CA2692395A1 (en) * | 2007-07-06 | 2009-01-15 | Kerry Berland | Unidirectional usb port |
CN101452369B (en) * | 2007-11-29 | 2012-01-25 | 国际商业机器公司 | Method and system for controlling logical unit of USB mass storage device |
TW201005654A (en) | 2008-07-24 | 2010-02-01 | Jmicron Technology Corp | Host controller disposed in multi-function card reader |
US9619417B2 (en) * | 2011-06-17 | 2017-04-11 | Alcatel Lucent | Method and apparatus for remote delivery of managed USB services via a mobile computing device |
US20130191568A1 (en) * | 2012-01-23 | 2013-07-25 | Qualcomm Incorporated | Operating m-phy based communications over universal serial bus (usb) interface, and related cables, connectors, systems and methods |
-
2015
- 2015-10-12 US US14/880,699 patent/US10042784B2/en active Active
- 2015-10-13 KR KR1020177005599A patent/KR20170067715A/en unknown
- 2015-10-13 WO PCT/US2015/055213 patent/WO2016061028A1/en active Application Filing
- 2015-10-13 EP EP15784899.5A patent/EP3207459B1/en active Active
- 2015-10-13 JP JP2017518102A patent/JP2017531871A/en not_active Ceased
- 2015-10-13 CN CN201580045945.8A patent/CN106663069B/en active Active
- 2015-10-13 TW TW104133583A patent/TWI686699B/en active
Also Published As
Publication number | Publication date |
---|---|
KR20170067715A (en) | 2017-06-16 |
TWI686699B (en) | 2020-03-01 |
WO2016061028A1 (en) | 2016-04-21 |
TW201633158A (en) | 2016-09-16 |
EP3207459B1 (en) | 2020-02-26 |
US10042784B2 (en) | 2018-08-07 |
CN106663069A (en) | 2017-05-10 |
EP3207459A1 (en) | 2017-08-23 |
CN106663069B (en) | 2020-07-10 |
US20160103772A1 (en) | 2016-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102109431B1 (en) | Transmission of multiple protocol data elements via an interface utilizing a data tunnel | |
CN102388357B (en) | Method and system for accessing memory device | |
TWI556174B (en) | System and method for assigning virtual functions and management host thereof | |
TW201937381A (en) | System and method for supporting multi-mode and/or multi-speed non-volatile memory (NVM) express (NVMe) over fabrics (NVME-oF) devices and storage device | |
US11425101B2 (en) | System, apparatus and method for tunneling and/or multiplexing via a multi-drop interconnect | |
US9087162B2 (en) | Using a PCI standard hot plug controller to modify the hierarchy of a distributed switch | |
JP2016536727A (en) | Flexible mobile device connectivity with automotive systems with USB hubs | |
JP2002300229A (en) | Device and method for controlling usb communication and usb communication system | |
EP3026530B1 (en) | Keyboard-video-mouse switch and operating method thereof | |
EP3382567B1 (en) | Multiple storage devices implemented using a common connector | |
US9280508B1 (en) | Apparatus and method for interoperability between SAS and PCI express | |
CN115298656A (en) | System and method for scheduling sharable PCIE endpoint devices | |
US20100169069A1 (en) | Composite device emulation | |
US8032675B2 (en) | Dynamic memory buffer allocation method and system | |
US10585842B2 (en) | Computer system for virtualizing I/O device and method of operating the same and hub device | |
JP2017531871A (en) | Side channel access through USB stream | |
US10942793B2 (en) | Information processing system | |
TWI579762B (en) | Solid state drive controlling circuit and related solid state drive device and solid state drive access system | |
WO2014036725A1 (en) | Method, device and equipment for pcie port configuration | |
JP5010471B2 (en) | Data processing system | |
US10025736B1 (en) | Exchange message protocol message transmission between two devices | |
JP2017531871A5 (en) | ||
US10042792B1 (en) | Method for transferring and receiving frames across PCI express bus for SSD device | |
CN116955250A (en) | Fast peripheral component interconnect device and method of operating the same | |
JP2008517369A (en) | Method and system for connecting a plurality of IDE devices to a USB device using a single USB-IDE adapter |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180921 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180921 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190507 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190426 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190723 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20190801 |
|
A045 | Written measure of dismissal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A045 Effective date: 20191219 |