CN106663069A - 通过通用串行总线流进行的侧信道存取 - Google Patents

通过通用串行总线流进行的侧信道存取 Download PDF

Info

Publication number
CN106663069A
CN106663069A CN201580045945.8A CN201580045945A CN106663069A CN 106663069 A CN106663069 A CN 106663069A CN 201580045945 A CN201580045945 A CN 201580045945A CN 106663069 A CN106663069 A CN 106663069A
Authority
CN
China
Prior art keywords
usb
lun
interface
moderators
side channel
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.)
Granted
Application number
CN201580045945.8A
Other languages
English (en)
Other versions
CN106663069B (zh
Inventor
迈克尔·西蒙斯
斯瓦鲁普·阿杜苏米利
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microchip Technology Inc
Original Assignee
Microchip Technology Inc
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 Microchip Technology Inc filed Critical Microchip Technology Inc
Publication of CN106663069A publication Critical patent/CN106663069A/zh
Application granted granted Critical
Publication of CN106663069B publication Critical patent/CN106663069B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • 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/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods 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/065Partitioned buffers, e.g. allowing multiple independent queues, bidirectional FIFO's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2205/00Indexing scheme relating to group G06F5/00; Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F2205/06Indexing scheme relating to groups G06F5/06 - G06F5/16
    • G06F2205/067Bidirectional 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装置控制器介接;内部总线;逻辑单元号LUN仲裁器,其耦合在所述USB控制器与所述内部总线之间;以及次级接口,其与所述LUN仲裁器耦合。所述系统可包含耦合到所述内部总线的多个存储装置。所述系统可提供经由所述USB装置控制器及所述次级接口两者的对所述存储装置的存取。所述LUN仲裁器可接受来自所述USB装置控制器的多个USB流(例如,存储装置存取请求)和来自所述次级接口的至少一个额外USB流(例如,存储装置存取请求)。所述LUN仲裁器可确定源自所述USB装置控制器和所述次级接口的USB流之间的存取优先级。

Description

通过通用串行总线流进行的侧信道存取
相关专利申请案
本申请案要求2014年10月13日申请的共同拥有的美国临时专利申请案第62/063,092号的优先权,所述美国临时专利申请案出于全部目的特此以引用的方式并入本文中。
技术领域
本发明涉及用于通用串行总线(USB)环境中之系统和方法,且更特定来说,涉及用于使用USB流的USB装置的侧信道存取的改进系统和方法。
背景技术
USB环境在现代电子装置(例如,服务器、个人计算机(“PC”)、平板PC、蜂窝式电话、汽车信息娱乐系统、个人游戏系统、玩具等)中普遍存在。“通用”接口容许键盘、监视器、打印机、存储装置、相机、电话、玩具、游戏及许多其它电子装置在单一接口上运作。使用USB装置(尤其是如读卡器和类似者的装置),具有使用(例如)自其可直接存取下游USB资源(例如在读卡器的情况下是媒体卡等)的单独接口(例如SPI、I2C、UART等)的到装置中的侧信道是有价值的。一种方法是要求通过上游USB端口进行此存取,但这可使逻辑复杂和/或危害系统性能。
例如,在不支持USB流的USB装置(例如双用途读卡器)中,在给定时间仅可处理一个USB数据包,且推迟任何另外的数据包直到完成当前数据包的处理为止。这意味着如果侧信道传送通过上游USB端口进入系统中,那么即使不存取物理资源(例如,存储卡),仍必须推迟全部USB数据包。
在支持USB流的USB装置中,USB装置控制器将处理依序进入的N个流。通过USB流,可在处理先前数据包前将新数据包接受到装置中,达到装置的存储及处理能力。此可通过使用检查各个USB数据包且确定数据包应路由到的物理资源(例如,存储卡#1、存储卡#2、CPU等)的中央命令仲裁器而完成。通过仅路由到数据包希望的物理资源,可简化物理资源中的逻辑。
然而,即使使用支持USB流的装置,仍将需要由CPU处理对装置上的物理资源中的一者的侧信道存取以便确定正确导引。在不支持数据包的无序处理(大多数装置是这样,这是因为不支持所述无序处理是更为简单)的装置上,必须推迟对所有其它数据包的处理直到正确导引侧信道数据包为止,使得维持所有数据包的顺序。这需要正确实施可为复杂的侧信道逻辑与USB装置控制器之间的通信和同步。
此外,要求通过上游USB端口的侧信道存取对于必须使用(或想要使用)单独接口(例如SPI、I2C、UART等)以存取USB装置的一些用户来说可能不可接受。容许经由这些单独接口中的一者的对USB装置的侧信道存取可使硬件及相关联的软件例程复杂化。例如,实施多路传输此侧信道上的读取和写入命令/数据以及USB上游上的读取和写入命令的功能可为实施复杂的且通常将导致专属命令和寻址方案及/或额外硬件要求(例如,确定如在源于USB主机的命令与经由单独SPI/I2C/UART等接口发源的命令之间的存取优先级的额外仲裁器层)。
发明内容
因此,存在对于可提供避免先前提及的复杂性的有效且简单的侧信道存取的改进USB环境的需要。
根据实施例,提供一种系统,其可包含与USB装置控制器及缓冲器存储器介接的USB接口。系统可进一步包含内部总线及耦合在USB装置控制器与内部总线之间的逻辑单元号(LUN)仲裁器。系统可进一步包含与LUN仲裁器耦合的次级接口。在某些实施例中,系统可包含耦合在次级接口与内部总线之间的FIFO。在相同或替代实施例中,系统可包含耦合到内部总线的多个存储装置,且各个存储装置可包含小型计算机系统接口(SCSI)命令处理单元及存储卡控制器。在相同或替代实施例中,系统可包含耦合在USB装置控制器与LUN仲裁器之间的多个端点。在相同或替代实施例中,USB装置控制器可支持USB流且LUN仲裁器可为USB流仲裁器。在相同或替代实施例中,LUN仲裁器可经配置以接受来自USB装置控制器的多个USB流及来自次级接口的至少一个额外USB流。
根据另一实施例,提供一种方法,其用于提供对具有多个硬件资源、支持USB流的USB装置控制器、逻辑单元号(LUN)仲裁器及次级接口的系统中的第一硬件资源的侧信道存取。USB装置控制器可接收存取多个硬件资源中的第一硬件资源的USB请求。次级接口可接收存取多个硬件资源中的第一硬件资源的侧信道请求。USB装置控制器可将USB请求转发到LUN仲裁器,且次级接口可将侧信道请求转发到LUN仲裁器。LUN仲裁器可确定将USB请求及侧信道请求转发到第一硬件资源的顺序。
根据另一实施例,提供一种系统,其可包含USB装置控制器,内部总线和侧信道接口单元。系统可进一步包含逻辑单元号(LUN)仲裁器,其耦合在(i)USB装置控制器与内部总线之间和(ii)侧信道接口单元与内部总线之间。系统可进一步包含耦合到内部总线的至少一个硬件控制器。系统可进一步包含至少一个处理器。至少一个处理器可经配置以产生用于存取至少一个硬件控制器的第一USB数据包和第二USB数据包。至少一个处理器可进一步经配置以经由USB接口将第一USB数据包发射到USB装置控制器,且通过经由侧信道接口通信协议以隧道方式传输第二USB数据包而将第二USB数据包发射到侧信道接口单元。在接收到第一USB数据包后,USB装置控制器便可将第一USB数据包转发到LUN仲裁器作为第一USB流。在接收到第二USB数据包后,侧信道接口单元便可将第二USB数据包转发到LUN仲裁器作为第二USB流。LUN仲裁器可确定第一USB流与第二USB流之间的存取优先级。可响应于第一USB数据包及第二USB数据包而存取至少一个硬件控制器。
附图说明
可通过参考结合附图进行的以下描述获取对本发明的更完整理解,其中:
图1说明根据本发明的某些实施例的可提供使用USB流的USB装置的侧信道存取的实例系统的框图;
图2说明根据本发明的某些实施例的可提供使用USB流的USB装置的侧信道存取的实例系统的框图;
图3说明根据本发明的某些实施例的用于提供使用USB流的USB装置的侧信道存取的实例方法的流程图。
虽然本发明可具有多种修改及替代形式,但在附图中展示且在本文中详细描述本发明的特定实例实施例。然而,应理解,本文中对特定实例实施例的描述并不意欲将本发明限于本文中揭示的特定形式,而是相反地,本发明意欲涵盖如由所附权利要求定义的全部修改和等效物。
具体实施方式
根据多种实施例,可提供一种系统,其可提供使用USB流的USB装置的增强型侧信道存取。
现在参考附图,示意性地说明实例实施例的细节。附图中的相同元件将由相同数字表示,且类似元件将由具有不同小写字母后缀的相同数字表示。
图1说明根据本发明的某些实施例的可提供使用USB流对USB装置的增强型侧信道存取的实例系统的框图。如图1中所描绘,系统100可包括分别具有处理器102a和104a的硬件单元102和104。系统100可进一步包括耦合到端点缓冲器110和缓冲器存储器112的USB装置控制器106。系统100可进一步包含耦合到FIFO 122的次级接口108。系统100可进一步包括具有上游端口126和128且经由下游端口耦合到内部总线116的逻辑单元(LUN)仲裁器114。系统100可进一步包括小型计算机系统接口(SCSI)命令处理单元118a和118b以及分别用于存取存储卡124a和124b的存储卡控制器120a和120b。总线103可使硬件单元102与USB装置控制器106耦合,且可能够在硬件单元102与USB装置控制器106之间载送符合USB的信令(USB-compliant signaling)。总线130可使硬件单元104与次级接口108耦合,且可能够载送对应于由次级接口108支持的协议的信令。图1描绘硬件单元140,指示其可为与硬件单元102和104分开的硬件(例如,不同物理芯片、板等)。然而,此所描绘的硬件定界仅为例示性的。不同实施例(例如,在下文中描述的图2)可提供不同硬件配置。此外,虽然图1中描绘的实施例包含两个物理存储卡(124a/124b)和对应存储卡控制器(120a/120b)及SCSI命令处理单元(118a/118b),但替代实施例可包含任何数目的存储卡(例如,2、3、10、16等)及相关联的SCSI命令处理单元。
处理器102a和104a可包括可操作以解释和/或执行程序指令和/或过程数据的任何系统、装置或设备,且可包含(但不限于)微处理器、微控制器、数字信号处理器、专用集成电路(ASIC)或经配置以解释和/或执行程序指令和/或过程数据的任何其它数字或模拟电路。硬件单元102的处理器102a可经通信耦合到USB装置控制器106以提供适合于实施/控制USB装置的信令。硬件单元104的处理器104a可通信耦合到次级接口108以提供适合于实施/控制次级接口(例如,SPI/I2C/UART等)的信令。处理器102a和104a也可经通信耦合到包含存储器(例如,易失性、非易失性等)、存储媒体(例如,闪存、EEPROM、固态存储媒体等)等的其它资源(未展示)。
USB装置控制器106可包括可操作以实施USB装置控制器接口的任何系统、装置或设备,且可包含(但不限于)专用集成电路(ASIC)或经配置以实施USB装置控制器接口的任何其它数字或模拟电路(及必要的软件/固件)。在某些实施例中,USB装置控制器106可为由微芯技术有限公司(Microchip)提供的装置控制器。USB装置控制器106可支持USB流(例如,如USB规范的第3.0版中所引入)。USB装置控制器106可耦合到端点缓冲器110和缓冲器存储器112。端点缓冲器110可包括任何数目的端点,多达由USB规范容许的最大值。端点缓冲器110可用于存储USB命令而缓冲器存储器112可用于存储与由USB装置控制器106处置的USB事务有关的数据。
次级接口108可包括可操作以实施次级接口的任何系统、装置或设备,且可包含(但不限于)专用集成电路(ASIC)或经配置以实施次级接口的任何其它数字或模拟电路(及必要的软件/固件)。次级接口108可为串行外围接口(SPI)、集成电路间(I2C)接口、通用异步接收器/发射器(UART)接口或适合于实施侧信道存取接口的任何其它非USB通信接口。次级接口108可耦合到FIFO 122。FIFO 122可用于存储与由次级接口108处置的侧信道存取USB事务有关的USB命令和数据。
逻辑单元号(LUN)仲裁器114可包括可操作以实施USB流仲裁器的任何系统、装置或设备,且可包含(但不限于)专用集成电路(ASIC)或经配置以实施USB流仲裁器的任何其它数字或模拟电路(及必要的软件/韧体)。LUN仲裁器114可包含分别耦合到端点缓冲器110和FIFO 122的上游端口126及128。LUN仲裁器114可经由上游端口126支持源自USB装置控制器106的多个USB流。LUN仲裁器114可进一步经由上游端口128支持源自次级接口108的至少一个额外USB流。LUN是用于区分如由SCSI、iSCSI或光纤信道(FC)协议寻址的单独装置(其各为逻辑单元)的唯一标识符。
SCSI命令处理单元118a和118b可包括可操作以处理在内部总线116上发出的SCSI命令的任何系统、装置或设备,且可包含(但不限于)专用集成电路(ASIC)或经配置以处理在内部总线116上发出的SCSI命令的任何其它数字或模拟电路(及必要的软件/固件)。在替代实施例中,内部总线116可为iSCSI、FC或适合于介接在LUN仲裁器与存储卡控制器120a和120b之间的任何其它总线。因此,虽然图1将元件118a和118b描绘为SCSI命令处理单元,但这些处理单元在替代实施例中可为iSCSI、FC或其它命令处理单元。
存储卡处理器120a和120b可包括可操作以分别控制存储卡124a和124b的任何系统、装置或设备,且可包含(但不限于)专用集成电路(ASIC)或经配置以控制存储卡124a和124b的任何其它数字或模拟电路(及必要的软件/固件)。在替代实施例中,存储卡124a和124b可为除存储卡外的其它硬件资源(例如,音频装置等)。因此,虽然图1将元件120a和120b描绘为存储卡控制器,但这些控制器可经配置以控制除存储卡外的其它硬件资源(例如,音频装置等)。
在操作中,系统100可提供使用USB流的对USB装置的增强型侧信道存取。硬件单元102和处理器102a可执行一般可操作以经由USB总线103(例如,USB主机控制器堆栈等)与USB装置控制器106交互的软件和/或固件。在经由USB总线103接收到USB数据包后,USB装置控制器106便可将包括USB流的对应USB命令转发(例如,存储)到端点缓冲器110且可将对应数据存储在缓冲器存储器112中。
在任何时候,硬件单元104和处理器104a可执行一般可操作以通过经由总线130将数据发射到次级接口108而起始USB装置的侧信道存取的软件和/或固件。如之前所揭示,总线130可为SPI总线,I2C总线、UART总线或适合于实施侧信道存取接口的任何其它非USB总线。硬件单元104和处理器104a可通过经由次级接口协议以隧道方式传输USB数据包而经由总线130发送USB数据包。换句话说,USB协议可叠加在当不将USB桥接到SPI/I2C/UART等时是反直觉的的SPI/I2C/UART等协议的顶部上。实际上,已完成反向桥接功能,可将此视为非常奇怪的事,这是因为USB被视为使用起来更有能力且稳固的协议。在经由总线130接收到USB数据包后,次级接口108便解压缩USB数据包且将USB命令和数据作为USB流转发(例如,存储)到FIFO 122中。
LUN仲裁器114可在上游端口126处(自USB装置控制器106)和上游端口128处(自次级接口108)经由USB流接收USB数据包。LUN仲裁器114可通过确定数据包所指定哪些物理LUN(例如,图1中的存储卡控制器120a和120b)且将USB数据包中含有的请求引导到正确的LUN而将在上游端口126和128处接收的USB数据包导引到正确的芯片上资源。因此,LUN仲裁器114可根据SCSI、iSCSI或光纤信道(FC)协议将USB数据包中含有的请求转换成命令(例如,单播命令)且将经转换的请求转发到内部总线116。
SCSI命令处理单元118a及118b可从内部总线116接收命令且分别与存储卡控制器120a和120b(或其它硬件控制器)介接以导致对存储卡124a和124b(或其它硬件资源)的存取。对存储卡124a和124b的存取可作为正规USB存取(即,经由USB装置控制器106)或作为侧信道存取(即,经由次级接口108)。
图2说明根据本发明的某些实施例的可提供使用USB流对USB装置的增强型侧信道存取的实例系统的框图。图2在几乎所有方面都与图1相同。图2描绘替代实施例,其中处理器203取代图1的硬件单元102和104。图2的实施例也通过添加元件140a而不同于图1。
根据图2中描绘的实施例,处理器203可包括可操作以解释及/或执行程序指令和/或过程数据的任何系统、装置或设备,且可包含(但不限于)微处理器、微控制器、数字信号处理器、专用集成电路(ASIC)或经配置以解释及/或执行程序指令和/或过程数据的任何其它数字或模拟电路。处理器203可经通信耦合到USB装置控制器106以提供适合于实施/控制USB装置的信令。处理器203可进一步经通信耦合到次级接口108以提供适合于实施/控制次级接口的信令。处理器203也可通信耦合到包含存储器(例如,易失性、非易失性等)、存储媒体(例如,闪存、EEPROM、固态存储媒体等)等的其它资源(未展示)。因此,虽然图1的处理器102a和104a是单独硬件单元的部分,但图2中的处理器203起始正常USN存取和侧信道存取两者。
图2的元件140a表示根据本发明的多种替代实施例。例如,在一个实施例中,处理器203可为硬件单元140的部分。在替代实施例中,处理器203可为与硬件单元140分开的硬件单元的部分。
图3说明根据本发明的某些实施例的用于提供使用USB流的USB装置的增强型侧信道存取的实例方法300的流程图。根据一个实施例,方法300优选开始于步骤302。如上文中所述,可以系统100/200的多种配置实施本发明的教示。因而,对于方法300的优选初始化点及包括步骤302到314的方法300的顺序可取决于所选择的实施方案。
在步骤302处,系统100/200可初始化。例如,可通电系统100/200(经由电源或连接到USB主机),且USB装置控制器106、次级接口108和系统100/200的其它组件可初始化。在步骤304处,系统100/200可经由USB总线103接收第一USB数据包。第一USB数据包可表示从硬件单元102中的USB主机发送的正常USB业务。在步骤306处,系统100/200可在次级接口108上接收第二USB数据包。可根据由次级接口(例如,经由SPI/I2C/UART等接口以隧道方式传输USB数据包)定义的通信协议接收第二USB数据包。在步骤308处,USB装置控制器可将第一USB数据包作为USB流转发到LUN仲裁器114。在步骤310处,次级接口108可将第二USB数据包作为USB流转发到LUN仲裁器114(即,次级接口可解压缩经以隧道方式传输的第二USB数据包,以便经由FIFO122而将其转发到LUN仲裁器114)。在步骤312处,LUN仲裁器114可确定第一USB数据包与第二USB数据包之间的存取优先级。在这上下文中,如果LUN仲裁器114确定将第一数据包及第二数据包引导到不同硬件资源,那么LUN仲裁器114可确定第一数据包及第二数据包中含有的请求之间不存在竞争。在步骤314处,LUN仲裁器114可根据针对第一USB数据包和第二USB数据包所确定的优先级存取硬件控制器120a和/或120b。例如,LUN仲裁器114可在内部总线116上发出可由命令处理块118a/118b处理的命令。继而,可存取硬件控制器120a和/或120b,此导致对存储卡124a和/或124b的存取。
虽然图3揭示关于本文中描绘的方法进行的特定数目的步骤,但所述方法可经执行具有比所描绘的更多或更少的步骤。另外,虽然图3揭示关于本文中描绘的方法进行的特定顺序的步骤,但可以任何适合顺序完成步骤。例如,步骤304可在步骤306后进行。作为另一实例,步骤308可在步骤310后进行。
使用本文中揭示的方法及系统,可提供一种系统,其可提供使用USB流的USB装置的增强型侧信道存取。根据所揭示的实施例,用户可有利地使用现有硬件接口以执行USB装置的侧信道存取。侧信道主控(例如,SPI、I2C、UART等主控)可如同USB主机对可放置在芯片上的任何类型的USB下游装置一样应答(speak)。此外,根据所揭示的实施例,可解除驻留在系统140上的CPU处理全部侧信道数据包的负担。另外,根据所揭示的实施例,仲裁变得集中且因此更简单且更一致。例如,LUN仲裁器114仅需要处理USB数据包,此可简化设计且去除对于专属协议的需要。作为另一实例,在一些实施例中,LUN仲裁器114仅需要支持与侧信道存取有关的一个额外USB流、对预先存在的USB流仲裁器的简单修改。仍另外,所揭示的实施例将容许用于侧信道存取的相干无序处理。
虽然已详细描述本发明,但应理解,可对其作出多种改变、取代和替代而不会脱离如由所附权利要求定义的本发明的精神和范围。

Claims (25)

1.一种系统,其包括:
USB接口,其与USB装置控制器和缓冲器存储器介接;
内部总线;
逻辑单元号LUN仲裁器,其耦合在所述USB装置控制器与所述内部总线之间;
次级接口,其与所述LUN仲裁器耦合。
2.根据权利要求1所述的系统,其进一步包括耦合在所述次级接口与所述内部总线之间的FIFO。
3.根据权利要求1所述的系统,其进一步包括与所述内部总线耦合的多个存储装置。
4.根据权利要求3所述的系统,其中各存储装置包括小型计算机系统接口SCSI命令处理单元和存储卡控制器。
5.根据权利要求1所述的系统,其进一步包括耦合在所述USB装置控制器与所述LUN仲裁器之间的多个端点。
6.根据权利要求5所述的系统,其中所述USB装置控制器支持USB流,且所述LUN仲裁器是USB流仲裁器。
7.根据权利要求6所述的系统,其中所述LUN仲裁器经配置以接受来自所述USB装置控制器的多个USB流及来自所述次级接口的至少一个额外USB流。
8.根据权利要求1所述的系统,其中所述次级接口是以下各者中的一者:串行外围接口SPI、集成电路间I2C接口或通用异步接收器/发射器UART接口。
9.一种用于提供对具有多个硬件资源、支持USB流的USB装置控制器、逻辑单元号LUN仲裁器及次级接口的系统中的第一硬件资源的侧信道存取的方法,所述方法包括:
所述USB装置控制器接收存取所述多个硬件资源中的所述第一硬件资源的USB请求;
所述次级接口接收存取所述多个硬件资源中的所述第一硬件资源的侧信道请求;
所述USB装置控制器将所述USB请求转发到所述LUN仲裁器;
所述次级接口将所述侧信道请求转发到所述LUN仲裁器;
所述LUN仲裁器确定将所述USB请求和所述侧信道请求转发到所述第一硬件资源的顺序。
10.根据权利要求9所述的方法,其中所述次级接口不是USB接口,且所述侧信道请求是通过所述次级接口以隧道方式传输的USB数据包。
11.根据权利要求10所述的方法,其中所述次级接口是以下各者中的一者:串行外围接口SPI、集成电路间I2C接口或通用异步接收器/发射器UART接口。
12.根据权利要求9所述的方法,其中所述次级接口使用FIFO将所述侧信道请求转发到所述LUN仲裁器。
13.根据权利要求10所述的方法,其中所述次级接口解压缩所述USB数据包且将所述USB数据包存储在FIFO中。
14.根据权利要求9所述的方法,其中所述LUN仲裁器接收所述USB请求和作为USB数据包的所述侧信道请求。
15.根据权利要求14所述的方法,其中所述LUN仲裁器使用小型计算机系统接口SCSI命令将所述USB请求和所述侧信道请求转发到所述第一硬件资源。
16.根据权利要求9所述的方法,其中所述LUN仲裁器是USB流仲裁器,所述USB装置控制器将所述USB请求转发到所述LUN仲裁器作为第一USB流,且所述次级接口将所述侧信道请求转发到所述LUN仲裁器作为第二USB流。
17.一种系统,其包括:
USB装置控制器;
内部总线;
侧信道接口单元;
逻辑单元号LUN仲裁器,其耦合在(i)所述USB装置控制器与所述内部总线之间及(ii)所述侧信道接口单元与所述内部总线之间;
至少一个硬件控制器,其耦合到所述内部总线;以及
至少一个处理器,其经配置以:
产生用于存取所述至少一个硬件控制器的第一USB数据包和第二USB数据包;
经由USB接口将所述第一USB数据包发射到所述USB装置控制器;且
通过经由侧信道接口通信协议以隧道方式传输所述第二USB数据包而将所述第二USB数据包发射到所述侧信道接口单元;
其中所述USB装置控制器将所述第一USB数据包转发到所述LUN仲裁器作为第一USB流,所述侧信道接口单元将所述第二USB数据包转发到所述LUN仲裁器作为第二USB流,且所述LUN仲裁器确定所述第一USB流与所述第二USB流之间的存取优先级。
18.根据权利要求17所述的系统,其中响应于所述第一USB数据包和所述第二USB数据包存取所述至少一个硬件控制器。
19.根据权利要求17所述的系统,其中所述至少一个硬件控制器是存储卡控制器。
20.根据权利要求17所述的系统,其中所述内部总线是小型计算机系统接口SCSI总线,且所述至少一个硬件控制器经由SCSI命令处理单元耦合到所述内部总线。
21.根据权利要求17所述的系统,其中所述侧信道接口通信协议是以下各者中的一者:串行外围接口SPI协议、集成电路间I2C接口协议或通用异步接收器/发射器UART接口协议。
22.根据权利要求17所述的系统,其中所述侧信道接口单元使用FIFO将所述第二USB数据包转发到所述LUN仲裁器。
23.根据权利要求17所述的系统,其中所述LUN仲裁器经配置以接受来自所述USB装置控制器的多个USB流及来自所述侧信道接口单元的至少一个额外流。
24.根据权利要求17所述的系统,其中所述第一USB数据包是由所述至少一个处理器中的第一处理器产生,且所述第二USB数据包是由所述至少一个处理器中的第二处理器产生。
25.根据权利要求24所述的系统,其中所述第一处理器是第一硬件单元的部分,所述第二处理器是第二硬件单元的部分,且所述USB装置控制器是第三硬件单元的部分。
CN201580045945.8A 2014-10-13 2015-10-13 通过通用串行总线流进行的侧信道存取 Active CN106663069B (zh)

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
CN106663069A true CN106663069A (zh) 2017-05-10
CN106663069B CN106663069B (zh) 2020-07-10

Family

ID=55655542

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580045945.8A Active CN106663069B (zh) 2014-10-13 2015-10-13 通过通用串行总线流进行的侧信道存取

Country Status (7)

Country Link
US (1) US10042784B2 (zh)
EP (1) EP3207459B1 (zh)
JP (1) JP2017531871A (zh)
KR (1) KR20170067715A (zh)
CN (1) CN106663069B (zh)
TW (1) TWI686699B (zh)
WO (1) WO2016061028A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
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

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070245055A1 (en) * 2006-04-05 2007-10-18 Seiko Epson Corporation USB composite device, USB communication system, and USB communication method
US20090144477A1 (en) * 2007-11-29 2009-06-04 International Business Machines Corporation Method and system for adding or removing a logical unit of a usb mass storage device
US20100146279A1 (en) * 2007-02-05 2010-06-10 Gemalto S.A Method and system for communication between a usb device and a usb host
US20120036296A1 (en) * 2007-06-25 2012-02-09 Sonics, Inc. Interconnect that eliminates routing congestion and manages simultaneous transactions
CN103608794A (zh) * 2011-06-17 2014-02-26 阿尔卡特朗讯 通过移动计算设备远程交付被管usb服务的方法和装置

Family Cites Families (40)

* Cited by examiner, † Cited by third party
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 (ko) 1996-05-07 1999-06-01 윤종용 디스플레이 장치 및 그의 전원공급제어방법
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 (ja) 1998-08-28 2000-03-14 Matsushita Electric Ind Co Ltd Usbハブ回路及びディスプレイ装置
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 (ja) 1999-04-28 2000-11-14 Nec Corp バスマネージャ機能自動切換対応ノード、移動端末、及び、移動端末システム
US6704824B1 (en) 1999-07-27 2004-03-09 Inline Connection Corporation Universal serial bus adapter with automatic installation
FR2799288B1 (fr) 1999-09-23 2005-02-25 Ibm Systeme de communication sans fil utilisant un bus serie universel (usb)
US6957287B2 (en) 2001-11-09 2005-10-18 Aten International Co., Ltd. Asynchronous/synchronous KVMP switch for console and peripheral devices
JP2003256351A (ja) 2002-03-04 2003-09-12 Yamaha Corp 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
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
US7711006B2 (en) 2003-08-15 2010-05-04 Napatech A/S 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
US20060056401A1 (en) 2004-09-14 2006-03-16 Standard Microsystems Corporation Peripheral sharing USB hub
JP2006085293A (ja) 2004-09-14 2006-03-30 Matsushita Electric Ind Co Ltd インタフェースブリッジ装置
US20060059293A1 (en) 2004-09-14 2006-03-16 Henry Wurzburg Universal serial bus switching hub
US20060227759A1 (en) 2004-09-14 2006-10-12 Bohm Mark R Peripheral Sharing USB Hub
JP2006127252A (ja) 2004-10-29 2006-05-18 Fujitsu Component Ltd 切替機、切替方法及びプログラム
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
US7523243B2 (en) 2006-04-14 2009-04-21 Standard Microsystems Corporation Multi-host USB device controller
US7478191B2 (en) 2006-04-14 2009-01-13 Standard Microsystems Corporation Method for automatically switching USB peripherals between USB hosts
JP2007293708A (ja) 2006-04-26 2007-11-08 Nec Access Technica Ltd ワイヤレスusb装置
CA2692395A1 (en) * 2007-07-06 2009-01-15 Kerry Berland Unidirectional usb port
TW201005654A (en) 2008-07-24 2010-02-01 Jmicron Technology Corp Host controller disposed in multi-function card reader
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070245055A1 (en) * 2006-04-05 2007-10-18 Seiko Epson Corporation USB composite device, USB communication system, and USB communication method
US20100146279A1 (en) * 2007-02-05 2010-06-10 Gemalto S.A Method and system for communication between a usb device and a usb host
US20120036296A1 (en) * 2007-06-25 2012-02-09 Sonics, Inc. Interconnect that eliminates routing congestion and manages simultaneous transactions
US20090144477A1 (en) * 2007-11-29 2009-06-04 International Business Machines Corporation Method and system for adding or removing a logical unit of a usb mass storage device
CN103608794A (zh) * 2011-06-17 2014-02-26 阿尔卡特朗讯 通过移动计算设备远程交付被管usb服务的方法和装置

Also Published As

Publication number Publication date
EP3207459B1 (en) 2020-02-26
TWI686699B (zh) 2020-03-01
CN106663069B (zh) 2020-07-10
TW201633158A (zh) 2016-09-16
US10042784B2 (en) 2018-08-07
US20160103772A1 (en) 2016-04-14
JP2017531871A (ja) 2017-10-26
EP3207459A1 (en) 2017-08-23
WO2016061028A1 (en) 2016-04-21
KR20170067715A (ko) 2017-06-16

Similar Documents

Publication Publication Date Title
US8356118B2 (en) Storage device and storage device access control method
US7660922B2 (en) Mechanism to flexibly support multiple device numbers on point-to-point interconnect upstream ports
KR102427550B1 (ko) 재구성 가능한 멀티 포트들을 구비한 PCIe 스토리지 시스템을 위한 서비스 품질을 인식하는 입출력 관리
US20080183926A1 (en) Communications system and method with multilevel connection identification
US10162784B2 (en) Adapter for transmitting signals
CN105468548B (zh) 串行外围接口的通信
US11055499B2 (en) Card device, host device, and communication method
US8566416B2 (en) Method and system for accessing storage device
US8706927B2 (en) Method for the recovery of a clock and system for the transmission of data between data memories by remote direct memory access and network station set up to operate in the method as a transmitting or, respectively, receiving station
CN107025203B (zh) 第一板卡、第二板卡及一种设备
US7159065B1 (en) Method for issuing vendor specific requests for accessing ASIC configuration and descriptor memory while still using a mass storage class driver
CN106407145A (zh) 接口访问方法、系统及存储卡
CN105786736A (zh) 一种多芯片级联的方法、芯片和装置
US10762030B2 (en) Storage system, method, and apparatus for fast IO on PCIE devices
EP3382567B1 (en) Multiple storage devices implemented using a common connector
US10387363B2 (en) Multipurpose adapter card and integration method therefor
CN107291641B (zh) 用于计算单元的存储器直接访问控制装置及其运行方法
CN104615558A (zh) 一种数据传送方法及电子装置
CN103412838A (zh) 一种扩展系统、通信方法、地址配置方法、设备及装置
CN106663069A (zh) 通过通用串行总线流进行的侧信道存取
CN105022707B (zh) 接口单元装置
KR101260313B1 (ko) 전자장치 및 그 데이터 송수신방법과, 슬레이브 장치 및복수의 장치 간의 통신방법
CN104598410B (zh) 一种免写驱动程序的计算机板卡及其开发方法
US20050256977A1 (en) Integrated circuit having processor and switch capabilities
CN116340217A (zh) 数据处理方法及相关装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant