CN105393234A - 用于管理usb数据传送的系统和方法 - Google Patents

用于管理usb数据传送的系统和方法 Download PDF

Info

Publication number
CN105393234A
CN105393234A CN201480040581.XA CN201480040581A CN105393234A CN 105393234 A CN105393234 A CN 105393234A CN 201480040581 A CN201480040581 A CN 201480040581A CN 105393234 A CN105393234 A CN 105393234A
Authority
CN
China
Prior art keywords
end points
packet
transmission data
data units
payload
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
CN201480040581.XA
Other languages
English (en)
Other versions
CN105393234B (zh
Inventor
文兴植
洪宇
朱贺飞
J·Q·蔡
张艳
S·郭
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.)
Kaiwei International Co
Marvell International Ltd
Marvell Asia Pte Ltd
Original Assignee
Mawier International Trade Co Ltd
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 Mawier International Trade Co Ltd filed Critical Mawier International Trade Co Ltd
Publication of CN105393234A publication Critical patent/CN105393234A/zh
Application granted granted Critical
Publication of CN105393234B publication Critical patent/CN105393234B/zh
Expired - Fee Related 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/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4295Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using an embedded synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices

Abstract

提供了用于管理通用串行总线(USB)数据传送的系统和方法。示例系统包括拥有用于将端点排序的第一调度队列的非瞬态计算机可读存储介质和主机控制器。主机控制器被配置为:将针对数据传送的多个端点存储至存储介质,端点对应于USB设备的一部分;以第一顺序将多个端点排序;生成包括多个原始数据分组的第一传输数据单元,原始数据分组至少部分基于第一顺序被分配给多个端点;以及传送第一传输数据单元。

Description

用于管理USB数据传送的系统和方法
相关申请的交叉引用
本公开要求2013年7月16日提交的美国临时专利申请No.61/846,793的优先权和权益,其全部内容通过引用并入于此。
技术领域
本专利文档中描述的技术总体上涉及数据传送,更具体地涉及数据传送管理。
背景技术
通用串行总线(USB)是开发用于允许即插即用或热插拔连接以及代替主机与外围设备之间的传统串行端口和并行端口的标准。USB对应于其中一个或多个附接的外围设备(即,USB设备)通过主机调度协议共享总线带宽的轮询总线。USB设备被允许在主机和其他USB设备正在操作时附接、配置、使用和分离。
通常,USB数据传送在主机与USB设备之间发生。当USB设备第一次连接到主机时,列举过程开始。复位信号被发送至USB设备以确定该USB设备的数据速率。继而,与该USB设备相关联的信息被主机读取并且该USB设备被指派唯一地址。主机控制器指导来自/去往该USB设备的业务流。例如,主机控制器执行USB操作以在主机存储器与设备端点之间移动数据,其中每个设备端点对应于USB设备中作为主机与该USB设备之间通信流中的数据源或槽的唯一可寻址部分。
USB规范支持四个基本类型的数据传送:控制数据传送、批量数据传送、中断数据传送和等时数据传送。控制数据传送经常用于非周期、主机软件发起的请求/响应通信(例如,针对命令/状态操作)。批量数据传送通常用于可以使用任意可用带宽并且可以被延迟直到带宽可用的非周期、大型分组通信。例如,在一个大分组中由打印机接收的数据可以使用批量数据传送进行传送。另外,中断数据传送经常用于低频率、有界延时通信。例如,发送非常少数据的鼠标或键盘可以使用中断数据传送。等时数据传送(还被称为流传输实时传送)通常用于主机与USB设备之间的周期、连续通信(例如,涉及时间敏感信息的通信)。例如,流传输设备(例如,音频扬声器)可以使用等时数据传送。
USB数据传送由主机控制器调度。例如,周期数据传送(诸如等时数据传送和中断数据传送)经常具有严格的时序要求,因此需要以及时方式跨总线移动。非周期数据传送(诸如批量数据传送和控制数据传送)经常不具有严格的时序要求。为了保证主机与USB设备之间的同步,总线时间经常被分成固定长度的段。针对低速或全速总线,总线时间被分成1毫秒单元,即,帧。针对高速总线,总线时间被分成125毫秒单元,即,微帧。微帧包括多个数据分组,并且数据分组包括1千字节。
发明内容
根据本文所述的教导,提供了用于管理通用串行总线(USB)数据传送的系统和方法。示例系统包括拥有用于将端点排序的第一调度队列的非瞬态计算机可读存储介质和主机控制器。主机控制器被配置为:将针对数据传送的多个端点存储至存储介质,端点对应于USB设备的一部分;以第一顺序将多个端点排序;生成包括多个原始数据分组的第一传输数据单元,原始数据分组至少部分基于该第一顺序被分配给多个端点;以及传送第一传输数据单元。
在一个实施方式中,提供了一种用于管理通用串行总线(USB)数据传送的方法。多个端点被接收用于数据传送。端点对应于USB设备的一部分。多个端点以顺序排序。生成包括多个数据分组的传输数据单元。数据分组至少部分基于所述顺序被分配给多个端点。传送传输数据单元。
在另一实施方式中,一种非瞬态机器可读存储介质包括用于管理通用串行总线(USB)数据传送的编程指令。该编程指令被配置为使得一个或多个数据处理器执行某些操作。多个端点被接收用于数据传送。端点对应于USB设备的一部分。多个端点以顺序排序。生成包括多个数据分组的传输数据单元。数据分组至少部分基于所述顺序被分配给多个端点。传输数据单元被传送。
附图说明
图1描绘了示出用于管理USB数据传送的系统的示例图。
图2描绘了示出用于管理USB数据传送的系统的另一示例图。
图3描绘了示出存储器设备中包括的两个调度队列的示例图。
图4描绘了示出针对三个端点的数据传送的示例图。
图5描绘了示出针对三个端点的数据传送的另一示例图。
图6描绘了示出针对数据传送调度的不同情况的示例图。
图7描绘了用于管理USB数据传送的示例流程图。
具体实施方式
通用串行总线(USB)数据传送通常由管理(例如,调度)周期数据传送和非周期数据传送的主机发起。在很大程度上,USB系统的性能取决于数据传送管理的效率。有时,80%-90%的USB总线带宽被分配给周期数据传送。因此,周期数据传送的管理在改进USB系统的性能中扮演关键角色。
图1描绘了示出用于管理USB数据传送的系统的示例图。如图1所示,主机控制器102以特定顺序将调度队列104中存储的多个端点(例如,EP1、EP2…EPn)排序,并且根据数据传送(例如,周期数据传送)的特定顺序向排序端点分配资源。
具体地,系统100包括附接至主机108的多个USB设备1061、1062…106m。多个端点(例如,EP1、EP2…EPn)中的每个端点对应于USB设备的唯一可寻址部分。在某些实施方式中,每个端点与频率相关联,并且主机控制器102基于相应频率将端点排序。例如,主机控制器102可以以降序将端点排序,其中具有最高频率的端点被存储在调度序列104的顶部并且首先接收针对数据传送的资源。
在某些实施方式中,每个端点与针对数据传送的端点带宽相关联,并且主机控制器102基于相应端点带宽将端点排序。例如,主机控制器102可以以降序将端点排序,其中具有最高端点带宽的端点被存储在调度序列104的顶部并且首先接收针对数据传送的资源。在某些实施方式中,调度序列104包括在可访问主机控制器102的存储器设备中。
主机控制器102生成包括多个数据分组(例如,16个数据分组)的传输数据单元(例如,微帧)。传输数据单元中的数据分组被分配给调度序列104中存储的端点(例如,从上而下)。在传输具有经分配的数据分组的传输数据单元之后,主机控制器102生成更多传输数据单元用于执行针对经排序端点的数据传送(例如,等时数据传送、中断数据传送等)。
图2描绘了示出用于管理USB数据传送的系统的另一示例图。如图2所示,主机控制器102管理针对数据传送的两个调度队列104和206,其中调度队列104被用作当前活动队列并且调度队列206被用作后备队列。在向调度队列206存储新的端点之后,主机控制器102将调度队列206排序并且针对数据传送(例如,周期数据传送)从调度队列104切换到调度队列206。
具体地,当接收新的端点Epn+1时,主机控制器102向还包括多个端点(例如,EP1、EP2…EPn)的调度队列206而不是当前调度队列104存储该新的端点Epn+1,使得系统100的当前操作不被干扰。主机控制器102对调度队列206中存储的端点(例如,EP1、EP2…Epn、Epn+1)排序,并且从调度队列104切换到调度队列206,使得调度队列206成为活动队列而调度队列104作为后备队列。随后,如果接收另一新的端点,则其将被存储至调度队列104。
在某些实施方式中,如图3所示,调度队列104和调度队列206包括在可访问主机控制器102的相同存储器设备中。例如,调度序列104从上而下处理,而调度队列206从下而上处理。在某些实施方式中,调度序列104和调度队列206包括在可访问主机控制器102的不同存储器设备中。在某些实施方式中,传输数据单元的不超过80%针对周期数据传送分配,而剩余传输数据单元针对非周期数据传送(例如,控制数据传送、批量数据传送等)分配。在某些实施方式中,传输数据单元的数据分组被分配给多达三个针对周期数据传送的端点。
作为示例,针对系统100的可用带宽是每微帧16个分组。主机控制器102管理针对三个等时端点(例如,EPA、EPB、EPC)的数据传送。具体地,主机控制器102例如通过命令处理器处理经配置的端点命令计算针对三个端点所需的总带宽。如果所需总带宽不超过可用带宽,则主机控制器102接受相关联的配置。否则,主机控制器102生成错误信号。
表1示出了与三个等时端点相关联的端点带宽。如表1所示,对应于三个等时端点EPA、EPB和EPC的最大端点服务间隔时间净荷分别是8个分组、10个分组和12个分组。根据相应传输时间间隔,这三个端点分别具有每微帧8个分组、每微帧4个分组和每微帧4个分组的端点带宽。针对此配置所需的总带宽是每微帧16个分组,这与可用带宽相同。因此,该配置被接受。微帧中的数据分组(例如,16个数据分组)可以根据端点带宽被分配给端点EPA、EPB和EPC。
表1
端点 最大ESIT净荷 间隔 带宽(分组/uF)
EP A 8个分组 0(每微帧) 8
EP B 10个分组 1(每2微帧) 4
EP C 12个分组 2(每4微帧) 4
总计 16
图4描绘了示出针对三个端点的数据传送的示例图。来自三个端点(例如,EPA、EPB和EPC)的数据使用多个微帧周期地传送。如图4中所示,四个微帧连续传输,并且三个端点的净荷被划分以在四个微帧中传输。
第一微帧402中的八个数据分组首先被分配给端点EPA。端点EPA的整个净荷通过第一微帧402传输。继而,第一微帧402中的八个数据分组被分配给端点EPB。不再有第一微帧402中的数据分组被分配给低优先级的端点EPC。
第二微帧404跟随第一微帧402。如图4中所示,第二微帧404中的八个数据分组首先被分配给端点EPA以传输端点EPA的整个净荷。继而,第二微帧404中的两个数据分组针对没有通过第一微帧402传输的剩余净荷被分配给端点EPB。第二微帧404中剩余的六个数据分组被分配给端点EPC。
跟随第二微帧404的第三微帧406被类似地分配给第一微帧402。第四微帧408用于端点EPB中没有通过第三微帧406传输的剩余净荷(例如,两个数据分组)和端点EPC中没有通过第二微帧404传输的剩余净荷(例如,六个数据分组)。
图5描绘了示出针对三个端点的数据传送的另一示例图。如图5中所示,来自三个端点(例如,EPA、EPB和EPC)的数据使用多个微帧周期地传送。具体地,除了用于周期数据传送的16个数据分组,微帧中的更多数据分组可以在某些情况下为周期数据传送保留。
如图5所示,第一微帧502中的八个数据分组首先被分配给端点EPA。端点EPA的整个净荷通过第一微帧502传输。继而,第一微帧502中的八个数据分组被分配给端点EPB。不再有第一微帧502中的数据分组被分配给低优先级的端点EPC。
第二微帧504跟随第一微帧502。如图5中所示,第二微帧504中的八个数据分组首先被分配给端点EPA以传输端点EPA的整个净荷。继而,第二微帧504中的两个数据分组针对没有通过第一微帧502传输的剩余净荷被分配给端点EPB。除了第二微帧404中剩余的六个数据分组,两个更多数据分组被分配给端点EPC使得端点EPC的净荷的八个数据分组可以通过第二微帧504传输。
跟随第二微帧504的第三微帧506被类似地分配给第一微帧502。第四微帧508用于端点EPB中没有通过第三微帧506传输的剩余净荷(例如,两个数据分组)和端点EPC中没有通过第二微帧504传输的剩余净荷(例如,四个数据分组)。将端点EPC的净荷(12个数据分组)分成八分组部分和四分组部分遵守USB3规范的要求。例如,端点的局部净荷中的数据分组数目对应于2的幂(例如,1、2、4、8等)
在某些实施方式中,对应于15微秒的七个数据分组被保留为溢出总线时间。例如,针对周期数据传送的可用带宽多达大约110微秒(或50个数据分组)。保留为溢出总线时间的七个数据分组在某些情况下除了可以用于可用带宽还可以用于周期数据传送。保留的数据分组还可以用于非周期数据传送(例如,批量数据传送、控制数据传送)。
图6描绘了示出针对数据传送调度的不同情况的示例图。如图6中所示,带宽T1(例如,对应于50个数据分组)被设置为针对每个微帧中周期传送的预算。多个数据分组(例如,七个数据分组)被保留为在某些情况下可以用于周期传送的溢出总线时间。
具体地,在情况a中,数据分组被分配给多个端点。预算T1下的剩余数据分组不足以附加端点的净荷602的传输。然而,保留的数据分组可以与剩余的数据分组一起使用来传输净荷602。即使保留的数据分组的剩余部分可以足以另一端点的净荷604的传输,这种传输也不会被调度,这是因为预算T1已经超出。
在情况b中,保留的数据分组用于端点的净荷606的传输。保留的数据分组的剩余部分可以不用于周期数据传送,但是可以用于非周期数据传送。在情况c中,在数据分组被分配给多个端点之后,预算T1中与保留的数据分组组合的剩余数据分组不足以附加端点的净荷的传输。该附加端点的净荷可以被分成两个部分,其中第一部分608(例如,八个数据分组)通过当前微帧传输而第二部分610被调度以通过下一微帧传输。
图7描绘了用于管理USB数据传送的示例流程图。在702,多个端点被接收用于数据传送。端点对应于USB设备的一部分并且与端点带宽相关联。在704,多个端点至少部分基于端点带宽按照顺序排序。在706,生成包括多个数据分组的传输数据单元。所述数据分组至少部分基于上述顺序被分配给多个端点。在708,传输第一传输数据单元。
本书面描述使用多个示例公开了包括最佳模式在内的本发明,并且还使得本领域技术人员能够制造并使用本发明。本发明的可专利范围还可以包括本领域技术人员所意识到的其它示例。然而,也可以使用其它实施方式,诸如被配置为实施这里所描述的方法和系统的固件或适当设计的硬件。例如,这里所描述的系统和方法可以在独立处理引擎中实施,被实施为协同处理器或硬件加速器。在又一个示例中,这里所描述的系统和方法可以在许多不同类型的包括计算机存储机制的计算机可读媒体(例如,CD-ROM、磁盘、RAM、闪存、计算机的硬盘等)上提供,计算机存储机制包含在由一个或多个处理器所执行时所使用以执行该方法的操作并且实施这里所描述的系统的指令(例如,软件)。

Claims (20)

1.一种用于管理通用串行总线(USB)数据传送的系统,所述系统包括:
非瞬态计算机可读存储介质,包括用于将端点排序的第一调度队列;以及
主机控制器,被配置为:
将针对数据传送的多个端点存储至所述存储介质,端点对应于USB设备的一部分;
以第一顺序将所述多个端点排序;
生成包括多个原始数据分组的第一传输数据单元,所述原始数据分组至少部分基于所述第一顺序被分配给所述多个端点;以及
传送所述第一传输数据单元。
2.根据权利要求1所述的系统,其中:
所述端点与多个频率相关联;以及
所述主机控制器进一步被配置为至少部分基于所述频率以降序将所述多个端点排序,并且向所述经排序的多个端点分配所述原始数据分组。
3.根据权利要求2所述的系统,其中所述第一调度队列被配置为以所述降序存储所述多个端点,与所述多个端点中的最高频率相关联的第一端点被存储在所述第一调度队列的顶部。
4.根据权利要求1所述的系统,其中:
所述端点与多个端点带宽相关联;以及
所述主机控制器进一步被配置为至少部分基于所述端点带宽以降序将所述多个端点排序,并且向所述经排序的多个端点分配所述原始数据分组。
5.根据权利要求4所述的系统,其中所述第一调度队列被配置为以所述降序存储所述多个端点,与所述多个端点中的最高端点带宽相关联的第一端点被存储在所述第一调度队列的顶部。
6.根据权利要求1所述的系统,其中:
所述非瞬态计算机可读存储介质包括第二调度队列;
所述第二调度队列被配置为存储所述多个端点;以及
所述主机控制器进一步被配置为:
接收与新端点带宽相关联的新端点;
将所述新端点存储至所述第二调度队列;
以第二顺序将所述新端点和与多个原始端点带宽相关联的所述多个端点排序;以及
从所述第一调度队列切换到所述第二调度队列作为活动队列以生成针对所述新端点和所述多个端点的新传输数据单元。
7.根据权利要求1所述的系统,其中:
所述多个端点包括与第一净荷相关联的第一端点和与第二净荷相关联的第二端点,所述第一净荷对应于第一数目的数据分组,所述第二净荷对应于第二数目的数据分组,根据所述第一顺序所述第一端点具有比所述第二端点更高的优先级;以及
所述主机控制器进一步被配置为:
向所述第一端点分配所述第一传输数据单元中的所述第一数目的数据分组;
将所述第二数目的数据分组分成第三数目的数据分组和第四数目的数据分组;
向所述第二端点分配所述第一传输数据单元中的所述第三数目的数据分组;以及
向所述第二端点分配第二传输数据单元中的所述第四数目的数据分组,所述第二传输数据单元在所述第一传输数据单元之后被传输。
8.根据权利要求1所述的系统,其中:
所述多个端点包括与第一净荷相关联的第一端点、与第二净荷相关联的第二端点和与第三净荷相关联的第三端点,所述第一净荷对应于第一数目的数据分组,所述第二净荷对应于第二数目的数据分组,所述第三净荷对应于第三数目的数据分组,根据所述第一顺序所述第一端点具有比所述第二端点更高的优先级,所述第二端点具有比所述第三端点更高的优先级;以及
所述主机控制器进一步被配置为:
向所述第一端点分配所述第一传输数据单元中的所述第一数目的数据分组;
将所述第二数目的数据分组分成第四数目的数据分组和第五数目的数据分组;
向所述第二端点分配所述第一传输数据单元中的所述第四数目的数据分组;
向所述第二端点分配第二传输数据单元中的所述第五数目的数据分组,所述第二传输数据单元在所述第一传输数据单元之后被传输;
将所述第三数目的数据分组分成第六数目的数据分组和第七数目的数据分组;
向所述第三端点分配所述第二传输数据单元中的所述第六数目的分组;以及
向所述第三端点分配第三传输数据单元中的所述第七数目的数据分组,所述第三传输数据单元在所述第二传输数据单元之后被传输。
9.根据权利要求1所述的系统,其中:
所述多个端点包括一个或多个第一端点和第二端点,所述第一端点具有比所述第二端点更高的优先级,所述第二端点与对应于第二数目的数据分组的第二净荷相关联;
所述主机控制器进一步被配置为:
向所述一个或多个第一端点分配所述第一传输数据单元中的第一数目的数据分组,所述剩余的第一传输数据单元对应于第三数目的数据分组;
将所述第二数目的数据分组分成第四数目的数据分组和第五数目的数据分组;以及
响应于所述第三数目的数据分组少于所述第四数目的数据分组,向所述第二端点分配所述第一传输数据单元中的所述第三数目的数据分组和针对溢出的第五数目的数据分组,所述第四数目的数据分组等于所述第三数目的数据分组和所述第五数目的数据分组的总和。
10.根据权利要求1所述的系统,其中所述主机控制器进一步被配置为响应于总带宽小于可用带宽生成错误信号,所述总带宽等于与所述多个端点相关联的最初端点带宽的总和。
11.一种用于管理通用串行总线(USB)数据传送的方法,所述方法包括:
接收针对数据传送的多个端点,端点对应于USB设备的一部分;
以第一顺序将所述多个端点排序;
生成包括多个原始数据分组的第一传输数据单元,所述原始数据分组至少部分基于所述第一顺序被分配给所述多个端点;以及
传送所述第一传输数据单元。
12.根据权利要求11所述的方法,其中:
所述端点与多个频率相关联;
所述多个端点至少部分基于所述频率以降序排序;以及
所述原始数据分组被分配给所述经排序的多个端点。
13.根据权利要求11所述的方法,其中:
所述端点与多个端点带宽相关联;
所述多个端点至少部分基于所述端点带宽以降序排序;以及
所述原始数据分组被分配给所述经排序的多个端点。
14.根据权利要求11所述的方法,进一步包括:
接收与新端点带宽相关联的新端点;
以第二顺序将所述新端点和与多个原始端点带宽相关联的所述多个端点排序;以及
生成针对所述新端点和所述多个端点的新传输数据单元。
15.根据权利要求11所述的方法,其中:
所述多个端点包括与第一净荷相关联的第一端点和与第二净荷相关联的第二端点,所述第一净荷对应于第一数目的数据分组,所述第二净荷对应于第二数目的数据分组,根据所述第一顺序所述第一端点具有比所述第二端点更高的优先级;以及
所述方法进一步包括:
向所述第一端点分配所述第一传输数据单元中的所述第一数目的数据分组;
将所述第二数目的数据分组分成第三数目的数据分组和第四数目的数据分组;
向所述第二端点分配所述第一传输数据单元中的所述第三数目的数据分组;以及
向所述第二端点分配第二传输数据单元中的所述第四数目的数据分组,所述第二传输数据单元在所述第一传输数据单元之后被传输。
16.根据权利要求11所述的方法,其中:
所述多个端点包括与第一净荷相关联的第一端点、与第二净荷相关联的第二端点和与第三净荷相关联的第三端点,所述第一净荷对应于第一数目的数据分组,所述第二净荷对应于第二数目的数据分组,所述第三净荷对应于第三数目的数据分组,根据所述第一顺序所述第一端点具有比所述第二端点更高的优先级,所述第二端点具有比所述第三端点更高的优先级;以及
所述方法进一步包括:
向所述第一端点分配所述第一传输数据单元中的所述第一数目的数据分组;
将所述第二数目的数据分组分成第四数目的数据分组和第五数目的数据分组;
向所述第二端点分配所述第一传输数据单元中的所述第四数目的数据分组;
向所述第二端点分配第二传输数据单元中的所述第五数目的数据分组,所述第二传输数据单元在所述第一传输数据单元之后被传输;
将所述第三数目的数据分组分成第六数目的数据分组和第七数目的数据分组;
向所述第三端点分配所述第二传输数据单元中的所述第六数目的分组;以及
向所述第三端点分配第三传输数据单元中的所述第七数目的数据分组,所述第三传输数据单元在所述第二传输数据单元之后被传输。
17.根据权利要求11所述的方法,其中:
所述多个端点包括一个或多个第一端点和第二端点,所述第一端点具有比所述第二端点更高的优先级,所述第二端点与对应于第二数目的数据分组的第二净荷相关联;
所述方法进一步包括:
向所述一个或多个第一端点分配所述第一传输数据单元中的第一数目的数据分组,所述剩余的第一传输数据单元对应于第三数目的数据分组;
将所述第二数目的数据分组分成第四数目的数据分组和第五数目的数据分组;以及
响应于所述第三数目的数据分组少于所述第四数目的数据分组,向所述第二端点分配所述第一传输数据单元中的所述第三数目的数据分组和针对溢出的第五数目的数据分组,所述第四数目的数据分组等于所述第三数目的数据分组和所述第五数目的数据分组的总和。
18.根据权利要求11所述的方法,进一步包括:
针对所述多个端点执行等时数据传送或中断数据传送。
19.根据权利要求11所述的方法,进一步包括:
响应于总带宽小于可用带宽生成错误信号,所述总带宽等于与所述多个端点相关联的最初端点带宽的总和。
20.一种包括用于管理通用串行总线(USB)数据传送的编程指令的非瞬态机器可读存储介质,所述编程指令被配置为使得一个或多个数据处理器执行以下操作,包括:
接收针对数据传送的多个端点,端点对应于USB设备的一部分;
以第一顺序将所述多个端点排序;
生成包括多个原始数据分组的第一传输数据单元,所述原始数据分组至少部分基于所述第一顺序被分配给所述多个端点;以及
传送所述第一传输数据单元。
CN201480040581.XA 2013-07-16 2014-07-16 用于管理usb数据传送的系统和方法 Expired - Fee Related CN105393234B (zh)

Applications Claiming Priority (3)

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

Publications (2)

Publication Number Publication Date
CN105393234A true CN105393234A (zh) 2016-03-09
CN105393234B CN105393234B (zh) 2019-03-12

Family

ID=52344547

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480040581.XA Expired - Fee Related CN105393234B (zh) 2013-07-16 2014-07-16 用于管理usb数据传送的系统和方法

Country Status (6)

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

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107704404A (zh) * 2017-09-29 2018-02-16 湖南国科微电子股份有限公司 一种提高usb从设备读取速度的方法
CN111090601A (zh) * 2019-12-07 2020-05-01 苏州浪潮智能科技有限公司 基于bmc芯片的多功能usb控制方法、系统、终端及存储介质
CN112347024A (zh) * 2020-10-28 2021-02-09 湖南国科微电子股份有限公司 一种usb数据传输优化方法及系统

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220074623A (ko) * 2020-11-27 2022-06-03 삼성전자주식회사 전자 디바이스와 통신하는 호스트 디바이스 및 호스트 디바이스의 통신 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020144031A1 (en) * 2001-03-30 2002-10-03 Garney John I. Method and apparatus for budget development under universal serial bus protocol in a multiple speed transmission environment
US20030061381A1 (en) * 1999-12-21 2003-03-27 Mitch A. Brisebois Interface apparatus and method for wireless data communication
US20100030930A1 (en) * 2003-06-19 2010-02-04 Intel Corporation Bandwidth conserving protocol for command-response bus system
US20100049885A1 (en) * 2008-08-22 2010-02-25 Chandra Prashant R Unified multi-transport medium connector architecture
US20100069006A1 (en) * 2006-12-04 2010-03-18 Seung Ho Baek Priority-based wireless usb transfer service management apparatus and method thereof

Family Cites Families (6)

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

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030061381A1 (en) * 1999-12-21 2003-03-27 Mitch A. Brisebois Interface apparatus and method for wireless data communication
US20020144031A1 (en) * 2001-03-30 2002-10-03 Garney John I. Method and apparatus for budget development under universal serial bus protocol in a multiple speed transmission environment
US20100030930A1 (en) * 2003-06-19 2010-02-04 Intel Corporation Bandwidth conserving protocol for command-response bus system
US20100069006A1 (en) * 2006-12-04 2010-03-18 Seung Ho Baek Priority-based wireless usb transfer service management apparatus and method thereof
US20100049885A1 (en) * 2008-08-22 2010-02-25 Chandra Prashant R Unified multi-transport medium connector architecture
CN102160341A (zh) * 2008-08-22 2011-08-17 英特尔公司 统一多传送介质连接器架构

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
COMPAQ等: ""Universal Serial Bus Specification"", 《URL:HTTP://WWW.USB.ORG/DEVELOPERS/DOCS/USB20_DOCS/#USB20SPEC》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107704404A (zh) * 2017-09-29 2018-02-16 湖南国科微电子股份有限公司 一种提高usb从设备读取速度的方法
CN111090601A (zh) * 2019-12-07 2020-05-01 苏州浪潮智能科技有限公司 基于bmc芯片的多功能usb控制方法、系统、终端及存储介质
CN112347024A (zh) * 2020-10-28 2021-02-09 湖南国科微电子股份有限公司 一种usb数据传输优化方法及系统

Also Published As

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

Similar Documents

Publication Publication Date Title
CN110083461B (zh) 一种基于fpga的多任务处理系统及方法
CN103793342B (zh) 一种多通道直接内存存取dma控制器
CN101616083B (zh) 一种报文转发方法和装置
KR20120087980A (ko) 다중 인터페이스 솔리드 스테이트 디스크, 및 다중 인터페이스 솔리드 스테이트 디스크의 처리 방법 및 시스템
EP3255553B1 (en) Transmission control method and device for direct memory access
CN105072182A (zh) 一种负载均衡方法、负载均衡器和用户终端
CN105393234A (zh) 用于管理usb数据传送的系统和方法
CN109408243B (zh) 一种基于rdma的数据处理方法、装置和介质
CN108519917A (zh) 一种资源池分配方法和装置
US8301805B2 (en) Managing I/O request in a storage system
CN105549916A (zh) PCIe固态硬盘控制器、基于PCIe的存储系统及其数据读写方法
CN103609077A (zh) 用于数据传输的方法、装置和系统以及物理网卡
CN103353851A (zh) 一种管理任务的方法和设备
CN104391656A (zh) 一种存储设备的io资源分配方法、装置及存储设备
CN105511964A (zh) I/o请求的处理方法和装置
CN104765701A (zh) 数据访问方法及设备
CN104111805A (zh) 一种i/o请求处理方法及存储系统
CN112202600B (zh) 一种多节点单主机与多主机通信自动切换装置及方法
CN103299298A (zh) 处理业务的方法和系统
CN104460857A (zh) 一种高速外设部件互连标准卡及其使用方法和装置
CN100414530C (zh) 处理多网络连接上的定序记录的设备和方法
CN109426643A (zh) Usb接口请求调度方法、装置及设备
CN112148663A (zh) 一种数据交换芯片及服务器
CN106598742B (zh) 一种ssd主控内部负载均衡系统及方法
CN104040477A (zh) 一种存储资源调度方法及终端

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20200511

Address after: Singapore City

Patentee after: Marvell Asia Pte. Ltd.

Address before: Ford street, Grand Cayman, Cayman Islands

Patentee before: Kaiwei international Co.

Effective date of registration: 20200511

Address after: Ford street, Grand Cayman, Cayman Islands

Patentee after: Kaiwei international Co.

Address before: Hamilton, Bermuda

Patentee before: Marvell International Ltd.

Effective date of registration: 20200511

Address after: Hamilton, Bermuda

Patentee after: Marvell International Ltd.

Address before: Babado J San Mega Le

Patentee before: MARVELL WORLD TRADE Ltd.

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20190312

Termination date: 20210716

CF01 Termination of patent right due to non-payment of annual fee