电脑仲裁系统、其带宽分配设备以及方法

文档序号:7988521阅读:121来源:国知局
电脑仲裁系统、其带宽分配设备以及方法
【专利摘要】一种电脑仲裁系统、其带宽分配设备以及方法,带宽分配设备具有高带宽仲裁模块、低带宽仲裁模块以及多工器,高带宽仲裁模块用以挑选高带宽下游装置群组中准予向上传输的一下游装置;低带宽仲裁模块用以挑选低带宽下游装置群组中准予向上传输的一下游装置;多工器由高带宽仲裁模块与低带宽仲裁模块当中,挑选出其中之一上传至上游装置,其中,高带宽仲裁模块与低带宽仲裁模块借由一计数电路分别计数一存取传输次数,当高带宽仲裁模块或是低带宽仲裁模块的存取传输次数,超过各自的一存取传输次数默认值时,多工器改为接受另一带宽仲裁模块所输出的存取要求。
【专利说明】电脑仲裁系统、其带宽分配设备以及方法
【【技术领域】】
[0001]本发明是有关于一种互连(Interconnect)领域,且特别是有关于一种互连领域的周边装置互连高速(Peripheral Component Interconnect Express) ?
【【背景技术】】
[0002]电脑系统通常包括数个构件及元件。这些构件通常通过总线或互连(Interconnect)来稱合。传统上,装置是经由外设组件互连(Peripheral ComponentInterconnect ;PCI)的多点下传(Mult1-drop)并行总线架构来稱合在一起。近来则已开始使用新一代的1/0总线,例如周边装置互连高速(Peripheral Component InterconnectExpress ;PCIE)来耦合各个构件,使得串行物理层通讯协议装置之间能够更快速的传输。
[0003]在电脑系统当中,多个下游装置会同时共享一数据总线,例如局域网络,因此需要一个仲裁机制来控制数据在此总线上的流通,决定允许哪一个下游装置进行存取传输。仲裁架构往往牵涉到两个衡量(trade-off)的因素:公平性以及效率。然而,一个能够确保公平性的仲裁架构却可能使得总线的使用缺乏效率。
[0004]假如有些下游装置必须在一定的时间内将数据传输完毕,完全公平的仲裁机制可能因为迟迟无法分配总线存取权给他,而使该下游装置发生传输上的错误而死锁。另一方面,倘若某些下游装置长时间不合理地占用带宽阻碍封包(Packet)的传输,将会影响整个电脑系统数据传输 的顺畅程度。

【发明内容】

[0005]本发明提供一种带宽分配设备、电脑仲裁系统,以及带宽分配方法,能够兼顾公平性以及效率,避免某些下游装置不合理地占用带宽,提升上下游方向的传输效率。
[0006]在本发明一实施例当中,带宽分配设备用以对数个下游装置往上游方向的多个存取要求进行仲裁,下游装置依据其传输速率,区分为至少一高带宽下游装置群组与至少一低带宽下游装置群组,此带宽分配设备具有一高带宽仲裁模块、一低带宽仲裁模块,以及一多工器。高带宽仲裁模块用以挑选高带宽下游装置群组中准予向上传输的一下游装置;低带宽仲裁模块用以挑选低带宽下游装置群组中准予向上传输的一下游装置;多工器由高带宽仲裁模块与低带宽仲裁模块当中,挑选出其中之一上传至一上游装置,其中,高带宽仲裁模块与低带宽仲裁模块借由一计数电路分别计数一存取传输次数,当高带宽仲裁模块或是低带宽仲裁模块的存取传输次数,超过各自的一存取传输次数默认值时,多工器改为接受另一带宽仲裁模块所输出的存取要求。
[0007]在本发明的另一实施例当中,电脑仲裁系统包含多个下游装置、一上游装置,以及一带宽分配设备。下游装置发出多个存取要求来进行数据存取,这些下游装置依据其传输速率,区分为至少一高带宽下游装置群组与至少一低带宽下游装置群组;上游装置进行数据存取;带宽分配设备对这些下游装置往上游方向的传输进行带宽分配,此带宽分配设备含有一高带宽仲裁模块、一低带宽仲裁模块、一多工器,以及一输出控制开关。高带宽仲裁模块用以挑选高带宽下游装置群组中准予向上传输的一下游装置;低带宽仲裁模块用以挑选低带宽下游装置群组中准予向上传输的一下游装置;多工器由高带宽仲裁模块与低带宽仲裁模块当中,挑选出其中之一上传至一上游装置,其中,高带宽仲裁模块与低带宽仲裁模块借由一计数电路分别计数一存取传输次数,当高带宽仲裁模块或是低带宽仲裁模块的存取传输次数,超过各自的一存取传输次数默认值时,多工器改为接受另一带宽仲裁模块所输出的存取要求;输出控制开关电性连接于下游装置与带宽仲裁模块,以决定是否让下游装置所发出的数个存取要求传递至带宽仲裁模块。
[0008] 在本发明的再一实施例当中,电脑仲裁系统的带宽分配方法用以对多个下游装置向一上游装置所发出的多个存取要求进行仲裁,此带宽分配方法先依照传输速率,将下游装置区分为至少一高带宽下游装置群组与至少一低带宽下游装置群组;在一高带宽仲裁模块所对应的高带宽下游装置群组中的多个下游装置所发出的多个存取要求当中,挑选出其中之一准予向上传输;在一低带宽仲裁模块所对应的低带宽下游装置群组中的多个下游装置所发出的多个存取要求当中,挑选出其中之一准予向上传输;计数高带宽仲裁模块向上游装置进行存取传输的次数;判断存取传输的次数是否超过一存取传输次数默认值;当存取传输次数超过存取传输次数默认值,改为接受低带宽仲裁模块的存取要求,准予上传。
[0009]以上实施例的带宽分配设备、电脑仲裁系统,以及带宽分配方法,利用下游装置往上游方向的仲裁算法来进行数据传输的带宽分配,能够兼顾公平性以及效率,有效并合理地分配带宽,避免某些下游装置不合理地占用带宽,阻碍封包传输的顺畅度,提升上下游方向的传输效率。
【【专利附图】

【附图说明】】
[0010]图1所示为本发明一实施方式的电脑仲裁系统示意方块图。
[0011]图2所示为本发明一实施方式的电脑仲裁系统方块图。
[0012]图3所示为本发明一实施方式的带宽分配方法流程图。
【【具体实施方式】】
[0013]以下实施例的带宽分配设备、电脑仲裁系统,以及带宽分配方法,利用两种层次的仲裁(Arbitration)机构来对下游装置的存取要求进行选择,在第二层当中,仲裁机构会依据下游装置的传输速度来进行仲裁,因此能够兼顾公平性以及效率,提升上下游方向的传输效率,有效并合理地分配带宽,避免某些下游装置不合理地占用带宽,阻碍封包传输的顺畅度。
[0014]图1所示为本发明一实施方式的电脑仲裁系统示意方块图。在此电脑仲裁系统当中存在着许多下游装置107,这些下游装置107可以是串行高级技术附件(Serial ATA ;SATA)装置、显卡、或是以太网络装置。这些下游装置107可能同时对同一上游装置101 (例如南桥芯片)提出存取要求,因此需要一个带宽分配设备105来决定哪一个下游装置107能够对上游装置101进行存取。一般而言,这些存取需求必须通过一总线(BUS)来完成传输,此总线通常设置于PCIE交换器103与上游装置101之间(未显示于图中)。
[0015]图2所示为本发明一实施方式的电脑仲裁系统方块图。电脑仲裁系统具有依据传输速率(Link speed)所区分的低带宽下游装置群组206 (包含多个低带宽下游装置206-1~206-n)以及高带宽下游装置群组208 (包含多个高带宽下游装置208-1~208_n)、一上游装置201,以及一带宽分配设备205,其中带宽分配设备205主要应用于PCIE交换器(Switch)当中,此带宽分配设备205具有低带宽仲裁模块207以及高带宽仲裁模块209、多工器211,以及计数电路213。
[0016]低带宽下游装置群组206、高带宽下游装置群组208与上游装置201之间会进行数据存取传输,这些存取传输可以是对内存写入数据,或是从内存读取数据。带宽仲裁模块则对应地区分为高带宽仲裁模块209与低带宽仲裁模块207,分别对应于高带宽下游装置群组208及低带宽下游装置群组206所发出的存取要求进行仲裁。当低带宽下游装置群组206或高带宽下游装置群组208的传输速率改变,则动态切换所对应的带宽仲裁模块(低带宽仲裁模块207或是高带宽仲裁模块209)。
[0017]低带宽仲裁模块207由低带宽下游装置群组206所对应的低带宽下游装置206-1~206-n中,挑选出其中之一准予向上传输;高带宽仲裁模块209由高带宽下游装置群组208中挑选出准予向上传输的下游装置;其中,低带宽仲裁模块207与高带宽仲裁模块209可采用轮转仲裁(Round robin arbitration)方式对低带宽下游装置群组206与高带宽下游装置群组208进行仲裁。
[0018]轮转仲裁方式是电脑系统当中的公平仲裁架构,在一个轮转仲裁器中,多个下游装置是依序地获得传输存取权。当一个已经获得过一次存取权的下游装置,必须要等待其他下游装置也存取过一次之后,才能再次获得存取传输的权力。因此,借由这样的存取分配方式能够确保低带宽下游装置群组206中的多个低带宽下游装置206-1~206-n与高带宽下游装置群组208中的多个高带宽下游装置208-1~208-n都平均获得向上传输的机率。除此之外,也可以采用先到先用仲裁(First come firs t serve arbitration)方式来进行仲裁。先到先 用仲裁方式是依照发出存取要求210的顺序来给予其存取权。
[0019]多工器211挑选低带宽仲裁模块207和高带宽仲裁模块209所选择的存取要求212中的其中之一,上传至上游装置201。所使用的挑选方式必须考虑优先级以及公平性。例如,使高带宽仲裁模块209所输出的存取要求被挑选中的机率高于低带宽仲裁模块207所输出的存取要求被挑选中的机率;或是,可先给予高带宽仲裁模块209四次存取传输权,再给予低带宽仲裁模块207 一次存取传输权。
[0020]计数电路213计数同一个带宽仲裁模块所获得的存取传输次数,当所计数的存取传输次数超过存取传输次数默认值时,控制多工器211选择另外一个带宽仲裁模块,例如,当低带宽仲裁模块207的存取传输次数超过存取传输次数默认值时,则变换至高带宽仲裁模块209。存取传输次数默认值可以透过组态(Configuration)程序来进行设定,设定的考虑主要使高带宽仲裁模块209所输出的存取要求被挑选中的机率,高于低带宽仲裁模块207所输出的存取要求被挑选中的机率,所以需要使高带宽仲裁模块209所对应的存取传输次数默认值,高于低带宽仲裁模块207所对应的存取传输次数默认值,借以使高带宽下游装置群组208优先进行数据传输;但存取传输次数默认值的设定同时也需要考虑读取、写入的数据长度,倘若读取、写入的数据长度过长,则需要降低存取要求被挑选中的机率,以避免此类型的下游装置长时间地占用带宽。
[0021]带宽分配设备205更包含输出控制开关215,电性连接于低带宽下游装置群组206与低带宽仲裁模块207 ;高带宽下游装置群组208与高带宽仲裁模块209,以决定是否让低带宽下游装置206-1~206-n的存取要求传递至低带宽仲裁模块207,以及高带宽下游装置208-1~208-n的存取要求传递至高带宽仲裁模块209。当同一下游装置(例如,低带宽下游装置群组206或是高带宽下游装置群组208中的其中一个下游装置)所写入的数据长度、所读取的数据长度超过一长度限制时,输出控制开关215阻隔该下游装置所发出的存取要求,这个阻隔会持续一段时间,以将带宽让给其他下游装置使用,阻隔时间的长短可由组态程序设定。
[0022]图3所示为本发明一实施方式的带宽分配方法流程图。带宽分配方法用来对多个下游装置所发出的多个存取要求进行仲裁,此方法首先依照传输速率,将下游装置区分为高带宽下游装置群组208与低带宽下游装置群组206 (步骤301);在高带宽下游装置群组208与低带宽下游装置群组206所对应的存取要求当中,分别挑选出其中的一个下游装置准予向上传输(步骤303),挑选方法可以采用轮转仲裁方法或先到先用仲裁方法来进行挑选(如图2的实施例所记载),挑选出来的存取要求总数,会与所区分的带宽下游装置群组的总数相同,在此一实施例当中,由于下游装置分成高带宽下游装置群组208与低带宽下游装置群组206两组,因此所挑选出来的存取要求的总数就会等于二,以此类推;计数高带宽仲裁模块209向上游装置201进行存取传输的次数(步骤305);判断存取传输次数是否超过存取传输次数默认值(步骤307);当存取传输次数超过存取传输次数默认值,则改为接受低带宽仲裁模块207的存取要求,准予上传(步骤309);当存取传输次数没有超过存取传输次数默认值,则继续接受高带宽仲裁模块209的存取要求,准予上传(步骤311)。
[0023]以上实施例的带宽分配设备、电脑仲裁系统,以及带宽分配方法,会考虑下游装置的传输速率,来对下游装置往上游方向的传输要求进行仲裁,可避免慢速的下游装置占用太多下游方向的带宽,使得高速下游装置的数据无法连接;同时也利用带宽分配,避免上游装置的接收缓存器因为某一特定的下游装置发出太多存取要求,来不及消耗而被阻塞,阻挡了往其他下游装置的传输。因此上游装置不会因为来不及处理的需求太多,而回堵到往上游方向的传输,可使整体传输更加流畅。
[0024]虽然本发明已以实施例揭露如上,然其并非用以限定本发明,任何所属【技术领域】中具有通常知识者,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明的保护范围当视权利要求书所界定者为准。
【权利要求】
1.一种带宽分配设备,用以对多个下游装置往上游方向的多个存取要求进行仲裁,这些下游装置依据其传输速率,区分为至少一个高带宽下游装置群组与至少一个低带宽下游装置群组,其特征是,该带宽分配设备包含: 高带宽仲裁模块,用以挑选该高带宽下游装置群组中准予向上传输的下游装置; 低带宽仲裁模块,用以挑选该低带宽下游装置群组中准予向上传输的下游装置;以及 多工器,由该高带宽仲裁模块与该低带宽仲裁模块当中,挑选出其中之一上传至上游装置, 其中,该高带宽仲裁模块与该低带宽仲裁模块借由计数电路分别计数存取传输次数,当该高带宽仲裁模块或是该低带宽仲裁模块的该存取传输次数,超过各自的存取传输次数默认值时,该多工器改为接受另一个该带宽仲裁模块所输出的存取要求。
2.如权利要求1所述的带宽分配设备,其特征是,该多工器挑选该高带宽仲裁模块所输出的存取要求的机率高于该低带宽仲裁模块所输出的存取要求的机率。
3.如权利要求1所述的带宽分配设备,其特征是,该高带宽仲裁模块的该存取传输次数默认值高于该低带宽仲裁模块的该存取传输次数默认值。
4.如权利要求1所述的带宽分配设备,其特征是,这些带宽仲裁模块采用轮转仲裁方法,对这些下游装置进行仲裁,借以使这些下游装置平均地获准向上传输。
5.如权利要求1所述的带宽分配设备,其特征是,还包含输出控制开关,电性连接于这些下游装置与这些带 宽仲裁模块之间,用以决定是否让这些下游装置所发出的这些存取要求传递至这些带宽仲裁模块。
6.如权利要求5所述的带宽分配设备,其特征是,当同一个该下游装置所写入的数据长度或是所读取的数据长度超过长度限制时,则阻隔该下游装置所发出的该存取要求。
7.一种电脑仲裁系统,其特征是,包含: 多个下游装置,以发出多个存取要求来进行数据存取,这些下游装置依据其传输速率,区分为至少一个高带宽下游装置群组与至少一个低带宽下游装置群组; 上游装置,以进行数据存取;以及 带宽分配设备,以对这些下游装置往上游方向的传输进行带宽分配,该带宽分配设备包含: 高带宽仲裁模块,用以挑选该高带宽下游装置群组中准予向上传输的下游装置; 低带宽仲裁模块,用以挑选该低带宽下游装置群组中准予向上传输的下游装置; 多工器,由该高带宽仲裁模块与该低带宽仲裁模块当中,挑选出其中之一上传至该上游装置, 其中,该高带宽仲裁模块与该低带宽仲裁模块借由计数电路分别计数存取传输次数,当该高带宽仲裁模块或是该低带宽仲裁模块的该存取传输次数,超过各自的默认值时,该多工器改为接受另一个该带宽仲裁模块所输出的该存取要求;以及 输出控制开关,电性连接于这些下游装置与这些带宽仲裁模块,以决定是否让这些下游装置所发出的这些存取要求传递至这些带宽仲裁模块。
8.一种用于电脑仲裁系统的带宽分配方法,用以对多个下游装置向上游装置所发出的多个存取要求进行仲裁,其特征是,该带宽分配方法包含: 依照传输速率,将这些下游装置区分为至少一个高带宽下游装置群组与至少一个低带宽下游装置群组; 在高带宽仲裁模块所对应的该高带宽下游装置群组中的这些下游装置所发出的这些存取要求当中,挑选出其中之一准予向上传输; 在低带宽仲裁模块所对应的该低带宽下游装置群组中的多个下游装置所发出的这些存取要求当中,挑选出其中之一准予向上传输; 计数该高带宽仲裁模块向该上游装置进行存取传输的次数; 判断存取传输的次数是否超过默认值;以及 当存取传输次数超过该默认值,改为接受该低带宽仲裁模块的存取要求,准予上传。
9.如权利要求8所述的带宽分配方法,其特征是,采用轮转仲裁方法,对这些下游装置进行仲裁,借以使这些下游装置有相同的机率获准向上传输。
10.如权利要求8所述的带宽分配方法,其特征是,当下游装置写入的数据长度或是读取的数据长度超过长度 限制时,阻隔该下游装置所发出的这些存取要求。
【文档编号】H04L12/911GK103905339SQ201210586696
【公开日】2014年7月2日 申请日期:2012年12月28日 优先权日:2012年12月28日
【发明者】刘仰真, 唐惠昱, 郭立峰 申请人:祥硕科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1