超高速通用串行总线集线器及其相关流量管理方法

文档序号:6498828阅读:233来源:国知局
超高速通用串行总线集线器及其相关流量管理方法
【专利摘要】本发明公开了一种超高速通用串行总线集线器,连接于一主机与多个元件之间,包括:一上传正面端口,连接至该主机;多个元件端口连接至所述多个元件;一交易分配单元,接收该主机输出的多个封包;一下传缓冲器,暂存所述多个下传封包;一集线器封包分析单元,接收该集线器指令封包;流量控制单元,根据选择目标以及控制模式,来管理该下传缓冲器中所述多个下传封包中即将传递至该选择目标的下传封包;以及一传送单元,接收该流量控制单元所输出的所述多个下传封包传递至对应的所述多个元件端口。
【专利说明】超高速通用串行总线集线器及其相关流量管理方法
【技术领域】
[0001]本发明是有关于一种集线器及其控制方法,且特别是一种超高速通用串行总线(USB)集线器及其相关流量管理方法。
【背景技术】
[0002]通用串行总线(USB)已经广泛的使用于电子产品中。基本上,USB元件(device)可以连接至USB主机(Host),使得USB主机得以控制USB元件,并且接收或传送USB元件产生的数据。
[0003]USB集线器(USB Hub),可连接于USB主机与USB元件之间,使得USB主机可以控制更多的USB元件。请参照图1,其所绘示为现有USB集线器示意图。USB集线器100包括一上传正面端口(upstream port) 102、一控制单元104、一复制与转交器(repeater/forwarder) 106、与N个元件端口 (device port) 121?12N。其中,上传正面端口 102连接至USB主机,而N个元件端口 12广12N可选择性地连接至N个USB元件。其中,复制与转交器106连接至控制单元104、上传正面端口 102、与N个元件端口(device port) 121?12N,并且该USB集线器100为USB2.0规格的集线器。而USB2.0规格又称为高速(High Speed) USB0
[0004]基本上现有USB集线器100以广播(Broadcast)机制来传输USB主机产生的封包(packet)。举例来说,假设USB集线器100插入N个USB元件,当USB主机产生一第一封包经由上传正面端口 102传递至复制与转交器106时,复制与转交器106会复制N个第一封包并传递至N个元件端口 121?12Ν。
[0005]由于第一封包中包括一 USB位置栏(address f ield),可对应至N个USB元件其中之一。因此,没有对应到的USB元件,在接收到该第一封包后并不会有任何动作。相反地,对应到的USB元件(例如第一 USB元件)即可根据该第一封包中的内容来与USB主机进行交易回应(transaction respond)。再者,当USB主机在等待上述第一 USB元件的交易回应时,USB主机并不会发出新的封包。
[0006]由以上的说明可知,USB主机需要等到USB元件的交易回应后才会产生新的封包,所以现有USB集线器100本身无法任意阻挡(block)主机所产生的封包。一旦有封包被USB集线器100所阻挡,USB元件将无法产生交易回应,而主机也无法产生新的封包。因此,现有以广播(Broadcast)机制来传递封包的USB集线器100并无法进行任何的流量管理。

【发明内容】

[0007]本发明的目的是提出一种超高速通用串行总线集线器,连接于一主机与多个元件之间,包括:一上传正面端口,连接至该主机;多个元件端口连接至所述多个元件;一交易分配单元,接收该主机输出的多个封包,其中所述多个封包至少包括多个下传封包以及一集线器指令封包;一下传缓冲器,暂存所述多个下传封包;一集线器封包分析单元,接收该集线器指令封包,其中当该集线器指令封包为一流量管理指令时,根据该流量管理指令产生一选择目标以及一控制模式;流量控制单元,根据该选择目标以及该控制模式,来管理该下传缓冲器中所述多个下传封包中即将传递至该选择目标的下传封包;以及一传送单元,接收该流量控制单元所输出的所述多个下传封包传递至对应的所述多个元件端口。
[0008]本发明有关于一种运用于超高速通用串行总线集线器的流量管理方法,包括下列步骤:分析接收的一集线器指令封包,以决定一选择目标以及一控制模式;暂存多个下传封包于一下传缓冲器;以及,根据该控制模式来管理该下传缓冲器中所述多个下传封包中即将传递至该选择目标的下传封包。
[0009]本发明有关于一种超高速通用串行总线集线器,连接于一主机与多个元件之间,包括:一上传正面端口,连接至该主机;多个元件端口连接至所述多个元件;一交易分配单元,接收该主机输出一集线器指令封包;一上传缓冲器,暂存所述多个元件所输出的多个上传封包;一集线器封包分析单元,接收该集线器指令封包,其中当该集线器指令封包为一流量管理指令时,根据该流量管理指令产生一选择目标以及一控制模式;以及,流量控制单元,根据该选择目标以及该控制模式,来管理该上传缓冲器中该选择目标产生且即将传递至该主机的上传封包。
[0010]本发明有关于一种运用于超高速通用串行总线集线器的流量管理方法,包括下列步骤:分析接收的一集线器指令封包,以决定一选择目标以及一控制模式;暂存多个上传封包于一上传缓冲器;以及,根据该控制模式来管理该上传缓冲器中由该选择目标所产生且即将传递至一主机标的上传封包。
[0011]本发明中所有USB元件的上传封包皆会暂存于上传缓冲器。而流量控制单元会控制上传缓冲器530中选择目标(或特定元件端口)输出的上传封包,达成流量管理的目的。
[0012]为了对本发明的上述及其他方面有更佳的了解,下文特举较佳实施例,并配合所附图式,作详细说明如下:
【专利附图】

【附图说明】
[0013]图1所绘示为现有USB集线器示意图。
[0014]图2所绘示为本发明USB3.0集线器第一实施例示意图。
[0015]图3A与图3B所绘示为决定选择目标的二个范例。
[0016]图4A至图4C所绘示为各种控制模式的控制流程示意图。
[0017]图5所绘示为本发明USB3.0集线器第二实施例示意图。
[0018]其中,附图标记说明如下:
[0019]100:USB 集线器
[0020]102:上传正面端口
[0021]104:控制单元
[0022]106:复制与转交器
[0023]121?12N:元件端口
[0024]200 =USB 集线器
[0025]202:上传正面端口
[0026]210:交易分配单元
[0027]212:集线器封包分析单元
[0028]214:流量控制单元[0029]221~22^元件端口
[0030]230:下传缓冲器
[0031]232:传送单元
[0032]310、320、330、340:USB 集线器
[0033]311 ~314、321 ~324、331 ~334、341 ~344:元件端口
[0034]500 =USB 集线器
[0035]502:上传正面端口
[0036]510:交易分配单元
[0037]512:集线器封包分析单元
[0038]514:流量控制单元
[0039]5221~52^元件端口
[0040]530:下传缓冲器 【具体实施方式】
[0041]USB3.0又称为超高速(Super Speed) USB,且根据USB3.0的规格,USB3.0主机可以连续产生多个封包至USB元件端口以进行多个交易。因此,本发明的USB3.0集线器并非利用现有广播(Broadcast)机制来传递USB主机产生的封包。本发明利用路由(routing)机制来传递封包,以控制每个元件端口的流量管制。详细说明如下。
[0042]请参照图2,其所绘示为本发明USB3.0集线器第一实施例示意图。本发明USB集线器200包括:一上传正面端口 202、N个元件端口 221~22Ν、一交易分配单元210、集线器封包分析单兀(Hub local packet parser) 212、流量控制单兀214、下传缓冲器(downstreambuffer) 230、传送单元(forwarding unit) 232?其中,上传正面端口 202连接至USB主机(例如USB3.0主机),而N个元件端口 22广22N可选择性地连接至N个USB元件。再者,本发明利用USB集线器200来暂时阻挡下传至特定USB元件的封包,或者暂时阻挡上传至USB主机的封包以控制其流量。
[0043]由于USB3.0主机不需要等到USB元件的交易回应后即可产生新的封包。也就是说,USB3.0可以产生多个封包进行多个交易。交易分配单元210可接收USB主机所输出的多个封包,并根据封包的档头来决定该封包为传递至USB端口的下传封包或者是传送至集线器200的集线器指令封包。当交易分配单元210确认接收的封包为下传封包,需要下传至USB元件时,则该下传封包会被暂存于下传缓冲器230中。反之,当交易分配单元210确认接收的封包为集线器指令封包,需要传送至集线器200时,则该封包会被传递至集线器封包分析单元212中。
[0044]当集线器封包分析单元212接收到集线器指令封包并且确认封包中的指令为流量管理指令时,则会将其控制参数传递至流量控制单元214。其中,控制参数中包含一选择目标(selected target)与控制模式(control mode),此选择目标可为任意的一个元件端口或者上传正面端口。
[0045]根据本发明的实施例,流量控制单元214会控制下传缓冲器230中传递至选择目标(或特定元件端口)的下传封包,达成流量管理的目的。再者,传送单元232根据接收到的下传封包,传递至特定元件端口所连接的USB元件。[0046]换句话说,当下传缓冲器230中暂存多个下传封包时,利用流量控制单元214的管制,使得选择目标(特定元件端口)上的USB元件的交易受到控制,进而达成流量管理的目的。
[0047]请参照图3A与图3B,其所绘示为决定选择目标的二个范例。假设集线器可以串接四级,而四个集线器310、320、330、340中各包括四个元件端口。如图3A与图3B所示,第一 USB集线器310的上传正面端口 318可连接至USB主机;第二 USB集线器320的上传正面端口 328连接第一 USB集线器310的第一元件端口 311 ;第三USB集线器330的上传正面端口 338连接第二 USB集线器320第二元件端口 332 ;以及,第四USB集线器340的上传正面端口 348连接第三USB集线器330的第三元件端口 333。
[0048]基本上,USB主机利用路由串列(route String)的规则来决定流量控制的选择目标,例如:路由串列为[Oxdcba]时其中a代表第一 USB集线端口 310上的元件端口号码;b代表第二 USB集线端口 320上的元件端口号码;0代表第三USB集线端口 330上的元件端口号码;(1代表第四USB集线端口 340上的元件端口号码。再者,当a、b、c、或d出现数字O时,代表该集线器的上传正面端口。
[0049]如图3A所示,假设主机发出集线器指令封包,其档头中包括[0x0321]的指示。其中,最后数字“I”代表连接于第一USB集线器310第一元件端口 311的第二USB集线器320 ;倒数第二个数字“2”代表连接于第二 USB集线器320的第二元件端口 322的第三USB集线器330 ;倒数第三个数字“3”代表连接于第三USB集线器330的第三元件端口 333的第四USB集线器340 ;倒数第四个数字“O”代表第四USB集线器340的上传正面端口 348。也即,选择目标为第四USB集线器340的上传正面端口 348。同理,如图3B所示,假设主机发出封包,其档头中包括[0x4321]的指示。与上述相同的规则,选择目标为第四USB集线器340的第四元件端口 344。
[0050]也即,当选择目标为第四USB集线器340的上传正面端口 348时,控制经过第四USB集线器340上传正面端口 348的数据量。当选择目标为第四USB集线器340的第四元件端口 344时,系控制经过第四USB集线器340第四元件端口的数据量。
[0051]当决定选择目标的后,流量控制单元322会开始进行流量管理。也即,流量管理指令中的参数除了选择目标之外,也包括控制模式。本发明的控制模式可区分为最大频宽模式(Max Bandwidth mode)、最小频宽模式(Min Bandwidth mode)、与侦测阻断时间模式(Block Timing detect mode)。以下详细说明的:
[0052]请参照图4A,其所绘示为最大频宽模式的控制流程示意图。首先,确认选择目标(步骤S402);接着,在单位时间内(例如IOms),计算该选择目标的封包数据量(dataamount of package)(步骤S404);接着,当单位时间内的封包数据量大于一预定最大数据量时(步骤S406),阻挡(block)该选择目标的封包(步骤S408);反之,当单位时间内的封包数据量未大于该预定最大数据量时(步骤S406),继续传送该选择目标的封包(步骤S410)。之后,继续回到步骤S404计算下一个单位时间的该选择目标的封包数据量。
[0053]由图4A的说明可知,最大频宽模式系限制选择目标的最大数据传输量无法超过预定最大数据量。换句话说,当单位时间之内,通过选择目标的数据量已经超过预定最大数据量时,则流量控制单元214将暂时阻档下传缓冲器230中该选择目标的封包,以控制通过选择目标的数据量小于预定最大数据量。[0054]请参照图4B,其所绘示为最小频宽模式的控制流程示意图。首先,确认选择目标(步骤S422);接着,在单位时间内(例如10ms),计算该选择目标的封包数据量(步骤S424);接着,当单位时间内的封包数据量小于一预定最小数据量时(步骤S426),优先传送下传缓冲器中新接收到该选择目标的封包(步骤S428);反的,当单位时间内的封包数据量未小于该预定最小数据量时(步骤S426),继续传送该选择目标的封包(步骤S430)。之后,继续回到步骤S424计算下一个单位时间的该选择目标的封包数据量。
[0055]由图4B的说明可知,最小频宽模式限制选择目标的最小数据传输量需要大于预定最小数据量。也即,当单位时间之内,通过选择目标的数据量已经大于预定最小数据量时,则持续继续传送该选择目标的封包,使得通过通过选择目标的数据量大于该预定数据量。如果无法大于预定最小数据量时,代表下传缓冲器230中已经没有该选择目标的封包。因此,只要下传缓冲器230中新接收到该选择目标的封包时,流量控制单元214即以最高的优先权传递该选择目标的封包,尽可能的让选择目标的数据量大于该预定最小数据量。
[0056]请参照图4C,其所绘示为侦测阻断时间模式的控制流程示意图。首先,确认选择目标(步骤S452);接着,将单位时间内(例如IOms)区分为一阻断时间周期(例如7ms)与一通行时间周期(例如3ms)(步骤S453);接着,于单位时间内的阻断时间周期时(步骤S454),阻挡(block)该选择目标的封包(步骤S456);反之,未于单位时间内的阻断时间周期时(步骤S454),继续传送该选择目标的封包(步骤S458)。之后,继续回到步骤S454进行下一个单位时间的计时。
[0057]由图4C的说明可知,侦测阻断时间模式在单位时间内计时阻断时间周期以及通行时间周期。而选择目标的封包仅能够在通行时间周期时传送。也就是说,流量控制单元214利用设定的阻断时间周期以及通行时间周期来控制通过选择目标的数据量。
[0058]本发明的目的第一实施例根据主机所产生的流量管理指令来决定选择目标并据以控制其封包的下传数据流量。当然,非选择目标的封包可以用任何的方式来进行控制,例如以先进先出的方式由下传缓冲器输出这些非选择目标的封包,不需要有特定的流量控制。
[0059]请参照图5,其所绘示为本发明USB3.0集线器第二实施例示意图。本发明USB集线器300包括:一上传正面端口 502、N个元件端口 521?52Ν、一交易分配单元510、集线器封包分析单元512、流量控制单元514、上传缓冲器(upstream buffer) 530o其中,上传正面端口 503连接至USB主机(例如USB3.0主机),而N个元件端口 521?52N可选择性地连接至N个USB元件。再者,本发明利用USB集线器500来控制特定USB元件上传至USB主机的上传封包以控制其流量。
[0060]同理,交易分配单元510可接收USB主机所输出的流量管理指令以决定选择目标与控制模式,并据以管理数据流量。而选择目标可以是图3A中的任一个元件端口或者上传正面端口,其决定方法不再赘述。
[0061]根据本发明的实施例,所有USB元件的上传封包皆会暂存于上传缓冲器530。而流量控制单元514会控制上传缓冲器530中选择目标(或特定元件端口)输出的上传封包,达成流量管理的目的。换句话说,当上传缓冲器530中暂存多个上传封包时,利用流量控制单元514的管制,使得选择目标(特定元件端口)上的USB元件的交易受到控制,进而达成流量管理的目的。[0062]当决定选择目标之后,流量控制单元510会开始进行流量管理。也即,流量管理指令中的参数除了选择目标之外,也包括控制模式。而控制模式与上述内容相同可区分为最大频宽模式、最小频宽模式、与侦测阻断时间模式。由于其控制流程非常类似,因此不再赘述。
[0063]换句话说,本发明的第二实施例根据主机所产生的流量管理指令来决定选择目标并据以控制其上传封包的数据流量。
[0064]综上所述,虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明。本发明所属【技术领域】中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视后附的申请专利范围所界定者为准。
【权利要求】
1.一种超高速通用串行总线集线器,连接于一主机与多个元件之间,包括: 一上传正面端口,连接至该主机; 多个元件端口连接至所述多个元件; 一交易分配单元,接收该主机输出的多个封包,其中所述多个封包至少包括多个下传封包以及一集线器指令封包; 一下传缓冲器,暂存所述多个下传封包; 一集线器封包分析单元,接收该集线器指令封包,其中当该集线器指令封包为一流量管理指令时,根据该流量管理指令产生一选择目标以及一控制模式; 流量控制单元,根据该选择目标以及该控制模式,来管理该下传缓冲器中所述多个下传封包中即将传递至该选择目标的下传封包;以及 一传送单元,接收该流量控制单元所输出的所述多个下传封包传递至对应的所述多个元件端口。
2.如权利要求1所述的集线器,其中该控制模式包括一最大频宽模式,于一单位时间内,计算即将传递至该选择目标的下传封包的一数据量,当该数据量大于一预定最大数据量时,阻挡该选择目标的下传封包;以及,当该数据量未大于该预定最大数据量时,传送该选择目标的下传封包。
3.如权利要求1所述的集线器,其中该控制模式包括一最小频宽模式,于一单位时间内,计算即将传递至该选择目标的下传封包的一数据量,当该数据量未小于一预定最小数据量时,传送该选择目标的下传封包;以及,当该数据量小于该预定最小数据量时,优先传送该下传缓冲器新接收到传递封包至该选择目标的下传封包。
4.如权利要求1所述的集线器`,其中该控制模式包括一侦测阻断时间模式,在一单位时间内设定一阻断时间周期,并且于该单位时间内的阻断时间周期时,阻挡该选择目标的下传封包;以及,于该单位时间内的非阻断时间周期时,传送该选择目标的下传封包。
5.一种运用于超高速通用串行总线集线器的流量管理方法,包括下列步骤: 分析接收的一集线器指令封包,以决定一选择目标以及一控制模式; 暂存多个下传封包于一下传缓冲器;以及 根据该控制模式来管理该下传缓冲器中所述多个下传封包中即将传递至该选择目标的下传封包。
6.如权利要求5所述的流量管理方法,其中该控制模式还包括下列步骤: 于一单位时间内,计算即将传递至该选择目标的下传封包的一数据量; 当该数据量大于一预定最大数据量时,阻挡该选择目标的下传封包;以及 当该数据量未大于该预定最大数据量时,传送该选择目标的下传封包。
7.如权利要求5所述的流量管理方法,其中该控制模式还包括下列步骤: 于一单位时间内,计算即将传递至该选择目标的下传封包的一数据量; 当该数据量未小于一预定最小数据量时,传送该选择目标的下传封包;以及 当该数据量小于该预定最小数据量时,优先传送该下传缓冲器新接收到传递至该选择目标的下传封包。
8.如权利要求5所述的流量管理方法,其中该控制模式还包括下列步骤: 在一单位时间内设定一阻断时间周期;于该单位时间内的阻断时间周期时,阻挡该选择目标的下传封包;以及 于该单位时间内的非阻断时间周期时,传送该选择目标的下传封包。
9.一种超高速通用串行总线集线器,连接于一主机与多个元件之间,包括: 一上传正面端口,连接至该主机; 多个元件端口连接至所述多个元件; 一交易分配单元,接收该主机输出一集线器指令封包; 一上传缓冲器,暂存所述多个元件所输出的多个上传封包; 一集线器封包分析单元,接收该集线器指令封包,其中当该集线器指令封包为一流量管理指令时,根据该流量管理指令产生一选择目标以及一控制模式;以及 流量控制单元,根据该选择目标以及该控制模式,来管理该上传缓冲器中该选择目标产生且即将传递至该主机的上传封包。
10.如权利要求9所述的集线器,其中该控制模式包括一最大频宽模式,于一单位时间内,计算该选择目标产生且即将传递至该主机的上传封包的一数据量,当该数据量大于一预定最大数据量时,阻挡该选择目标的上传封包;以及,当该数据量未大于该预定最大数据量时,传送该选择目标的上传封包。
11.如权利要求9所述的集线器,其中该控制模式包括一最小频宽模式,于一单位时间内,计算该选择目标产生且即将传递至该主机的一数据量,当该数据量未小于一预定最小数据量时,传送该选择目标的上传封包;以及,当该数据量小于该预定最小数据量时,优先传送该上传缓冲器新接收到由该选择目标所产生的上传封包。
12.如权利要求9所述的集线器,其中该控制模式包括一侦测阻断时间模式,在一单位时间内设定一阻断时间周期,并且于该单位时间内的阻断时间周期时,阻挡该选择目标的上传封包;以及,于该单位时间内的非阻断时间周期时,传送该选择目标的上传封包。
13.一种运用于超高速通用串行总线集线器的流量管理方法,包括下列步骤: 分析接收的一集线器指令封包,以决定一选择目标以及一控制模式; 暂存多个上传封包于一上传缓冲器;以及 根据该控制模式来管理该上传缓冲器中由该选择目标所产生且即将传递至一主机标的上传封包。
14.如权利要求13所述的流量管理方法,其中该控制模式还包括下列步骤: 于一单位时间内,计算该选择目标产生且即将传递至该主机的上传封包的一数据量; 当该数据量大于一预定最大数据量时,阻挡该选择目标的上传封包;以及 当该数据量未大于该预定最大数据量时,传送该选择目标的上传封包。
15.如权利要求13所述的流量管理方法,其中该控制模式还包括下列步骤: 于一单位时间内,计算该选择目标产生且即将传递至该主机的一数据量; 当该数据量未小于一预定最小数据量时,传送该选择目标的上传封包;以及 当该数据量小于该预定最小数据量时,优先传送该上传缓冲器新接收到由该选择目标所产生的上传封包。
16.如权利要求13所述的流量管理方法,其中该控制模式还包括下列步骤: 在一单位时间内设定一阻断时间周期; 于该单位时间内的阻断时间周期时,阻挡该选择目标的上传封包;以及于该单位时间内的非阻断时间周`期时,传送该选择目标的上传封包。
【文档编号】G06F13/38GK103853681SQ201310003475
【公开日】2014年6月11日 申请日期:2013年1月6日 优先权日:2012年11月29日
【发明者】林亮廷 申请人:智原科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1