CN1783839A - 先进交换体系结构中的虚拟信道的流量控制信用更新 - Google Patents
先进交换体系结构中的虚拟信道的流量控制信用更新 Download PDFInfo
- Publication number
- CN1783839A CN1783839A CNA2005100990869A CN200510099086A CN1783839A CN 1783839 A CN1783839 A CN 1783839A CN A2005100990869 A CNA2005100990869 A CN A2005100990869A CN 200510099086 A CN200510099086 A CN 200510099086A CN 1783839 A CN1783839 A CN 1783839A
- Authority
- CN
- China
- Prior art keywords
- flow control
- control credit
- pseudo channel
- credit update
- pseudo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/38—Flow control; Congestion control by adapting coding or compression rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/17—Interaction among intermediate nodes, e.g. hop by hop
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/16—Flow control; Congestion control in connection oriented networks, e.g. frame relay
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/39—Credit based
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Bus Control (AREA)
- Small-Scale Networks (AREA)
Abstract
先进交换结构中的装置可包括状态机,用于控制链路合作方之间的流量控制更新数据链路层数据包的产生和传送。链路合作方可采用状态机来为所有可用虚拟信道产生流量控制更新数据链路层数据包,并连续传送流量控制更新数据链路层数据包,以防止任何给定虚拟信道在流量控制更新超时周期内因流量控制更新数据链路层数据包之间大数据包(例如先进交换事务处理层数据包)的注入而无法执行流量控制更新刷新。
Description
技术领域
本发明涉及先进交换体系结构,更具体地说,涉及先进交换体系结构中的虚拟信道的流量控制信用更新所用的方法、装置以及相应的产品。
背景技术
PCI(外围部件互连)Express是为满足下一代计算机系统的不断增长的带宽需求而开发的串行I/O互连标准。PCI Express设计成与广泛使用的PCI局部总线标准完全兼容。PCI正开始达到其能力的极限,虽然对PCI标准的扩展已经发展到支持更高的带宽以及更快的时钟速率,但这些扩展可能不足以满足不久的将来PC的迅速增长的带宽需求。通过它的高速及可缩放串行体系结构,PCI Express对于与计算机系统中的PCI配合使用或者作为可能的替代可能是一种有吸引力的选择。在“PCI Express基本体系结构规范修订版1.0a”(2003年4月15日首次发布)中描述了PCI Express体系结构,它可通过PCI-SIG(PCI特别兴趣小组)(http://www.pcisig.com)获得。
先进交换(AS)是对PCI Express体系结构的扩展。AS采用在PCIExpress物理和数据链路层上工作的基于分组的事务处理层协议。AS体系结构提供诸如刀片服务器、群集、存储阵列、电信路由器和交换器之类的多主机对等通信装置共同的多个特征。这些特征包括对灵活拓扑、分组路由选择、拥塞管理(例如基于信用的流量控制)、结构冗余以及故障切换机制的支持。在“先进交换核心体系结构规范修订版1.0”(“AS规范”)(2003年12月)中描述了AS体系结构,它可通过ASI-SIG(先进交换互连-SIG)(http://www.asi-sig.org)获得。
发明内容
根据本发明的一个方面,提供一种方法,包括:响应在交换结构中具有链路合作方的装置中的流量控制信用更新事件,为多个活动虚拟信道中每一个产生流量控制信用更新数据包;以及将所述流量控制信用更新数据包连续地传送到所述链路合作方。
在一个实施例中,所述产生步骤包括在先进交换结构中产生所述流量控制信用更新数据包。
在一个实施例中,所述产生步骤包括产生流量控制信用更新数据链路层数据包。
在一个实施例中,产生步骤包括响应流量控制信用更新刷新周期到期而产生。
在一个实施例中,所述方法还包括:产生包括保持状态和多个流量控制信用更新状态的状态机,每个流量控制信用更新对应于一个虚拟信道索引。
在一个实施例中,所述产生流量控制信用更新数据包的步骤包括经过所述状态机中的多个流量控制信用更新状态,并在每个所经过的流量控制信用更新状态产生流量控制信用更新数据包。
在一个实施例中,所述方法还包括:在对应虚拟信道索引的流量控制信用更新状态中,产生与所述虚拟信道索引对应的流量控制信用更新数据包,并在转变到所述状态机中的下一个状态之前传送所述流量控制信用更新数据包。
在一个实施例中,所述方法还包括:在对应虚拟信道索引的流量控制信用更新状态中,产生对应所述虚拟信道索引的流量控制信用更新数据包;存储所述流量控制信用更新数据包;以及在经过所述状态机中的所述流量控制信用更新状态之后,连续传送所述流量控制信用更新数据包与一个或多个其它存储的流量控制信用更新数据包。
在一个实施例中,所述产生状态机的步骤包括:识别多个所支持的虚拟信道索引;以及为每个所支持的虚拟信道索引产生流量控制更新状态。
在一个实施例中,所述方法还包括:确定是否存在任何可能支持的虚拟信道索引;以及为每个可能支持的虚拟信道索引产生可能的流量控制更新状态。
在一个实施例中,所述支持的虚拟信道索引包括与旁路虚拟信道对应的虚拟信道索引以及与从旁路虚拟信道、有序虚拟信道以及多播虚拟信道中选择的虚拟信道对应的一个或多个虚拟信道索引。
在一个实施例中,所述确定步骤包括确定所述装置是否支持一个以上旁路虚拟信道;以及所述产生步骤包括响应确定所述装置支持一个以上旁路虚拟信道,产生对应于与一个或多个有序虚拟信道关联的一个或多个虚拟信道索引的一个或多个可能的流量控制信用更新状态。
在一个实施例中,所述方法还包括:
在所述装置与所述链路合作方之间执行发现和初始化操作;识别任何降级的旁路虚拟信道;以及将所述降级的旁路虚拟信道映射到所述可能的流量控制信用更新状态中的一个或多个。
在一个实施例中,所述流量控制信用更新状态中的每一个包括到所述保持状态的可能转变。
在一个实施例中,所述流量控制信用更新状态中的一个或多个还包括到与相同类型的虚拟信道索引对应的流量控制信用更新状态的可能转变以及到与不同类型的虚拟信道索引对应的流量控制信用更新状态的可能转变。
根据本发明的另一方面,提供一种装置,包括:流量控制信用更新计时器,产生流量控制信用更新事件;以及流量控制信用更新模块,响应接收流量控制信用更新事件,为多个活动虚拟信道中每一个产生流量控制信用更新数据包,并将所述多个流量控制信用更新数据包连续传送给交换结构中的链路合作方。
在一个实施例中,所述装置还包括:状态机,其中包括保持状态和多个流量控制信用更新状态,以及其中所述流量控制信用更新模块可用于响应接收所述信用更新事件而经过所述多个信用更新状态。
在一个实施例中,所述多个流量控制信用更新状态包括多个所支持的流量控制信用更新状态。
在一个实施例中,所述多个所支持的流量控制信用更新状态包括与旁路虚拟信道对应的虚拟信道索引以及与从旁路虚拟信道、有序虚拟信道以及多播虚拟信道中选择的虚拟信道对应的一个或多个虚拟信道索引。
在一个实施例中,所述装置还包括一个或多个可能的流量控制信用更新状态。
在一个实施例中,所述一个或多个可能的流量控制信用更新状态对应于与一个或多个有序虚拟信道关联的一个或多个虚拟信道索引。
在一个实施例中,所述流量控制信用更新模块可用于:与所述链路合作方协商多个活动虚拟信道;识别从所支持的流量控制信用更新状态以及所述一个或多个可能的流量控制信用更新状态中选择的多个活动流量控制信用更新状态;以及响应所述流量控制信用更新事件而经过所述活动流量控制信用更新状态。
在一个实施例中,所述状态机中的所述多个流量控制信用更新状态中的每个包括到所述保持状态的可能转变。
在一个实施例中,所述流量控制信用更新状态中的一个或多个还包括到与相同类型的虚拟信道索引对应的流量控制信用更新状态的可能转变以及到与不同类型的虚拟信道索引对应的流量控制信用更新状态的可能转变。
根据本发明的又一方面,提供一种产品,包括机器可读媒体,其中包括机器可执行指令,用于使机器:响应在交换结构中具有链路合作方的装置中的流量控制信用更新事件,为多个活动虚拟信道中的每一个产生流量控制信用更新数据包;以及将所述流量控制信用更新数据包连续地传送到所述链路合作方。
在一个实施例中,所述交换结构包括先进交换结构。
在一个实施例中,所述产品还包括使所述机器执行以下步骤的指令:产生包括保持状态和多个流量控制信用更新状态的状态机,每个流量控制信用更新对应于一个虚拟信道索引。
附图说明
图1是根据一个实施例的交换结构网络的框图。
图2表示PCI Express和先进交换(AS)体系结构的协议栈。
图3说明AS事务处理层数据包(TLP)格式。
图4说明AS路由报头格式。
图5是流程图,描述根据一个实施例的FC信用更新操作。
图6说明用于准备和传送FC信用更新数据链路层数据包(DLLP)的序列的状态机。
具体实施方式
图1表示根据一个实施例的交换结构网络100。网络可包括交换单元102和端节点104。交换单元102构成网络100的内部节点,并提供与其它交换单元102和端节点104的互连。端节点102位于交换结构的边缘,表示交换结构的数据入口和出口点。端节点可封装和/或转换进出交换结构的数据包,并且可被看作交换结构与其它接口之间的“桥”。
网络100可具有先进交换(AS)体系结构。AS采用在PCI Express物理和数据链路层202、204上工作的基于分组的事务处理层协议,如图2所示。
AS采用路径定义的路由选择方法,其中,数据包的源提供交换器(或多个交换器)将数据包路由到预期目的地所需的全部信息。图3表示AS事务处理层数据包(TLP)格式300。数据包包括路由报头302和封装数据包净荷304。AS路由报头302包含通过AS结构路由数据包必需的信息(即“路径”)以及指定封装数据包的协议接口(PI)的字段。AS交换器仅采用路由报头302中包含的信息来路由数据包,而不关心封装数据包304的内容。
路径可由路由报头中的转向池402、转向指针404和方向标志406来定义,如图4所示。数据包的转向指针指明转向池内交换器的“转向值”的位置。当接收数据包时,交换器可采用转向指针、方向标志和交换器的转向值位宽来提取数据包的转向值。交换器的所提取转向值则可用来计算出口端口。
AS路由报头302中的PI字段306(图3)指定封装数据包的格式。PI字段由始发AS数据包的端节点插入,并由端接数据包的端节点用来正确地解释数据包内容。路由选择信息与数据包的其余部分的分开使AS结构能够隧道封装任何协议的数据包。
PI表示对交换结构网络100的结构管理和应用级接口。表1提供AS规范当前支持的PI的列表。
PI号 | 协议封装标识(PEI) |
0 | 结构发现 |
1 | 多播 |
2 | 拥塞管理 |
3 | 分割和重新组装 |
4 | 节点配置管理 |
5 | 结构事件通知 |
6 | 保留 |
7 | 保留 |
8 | PCI-Express |
9-223 | ASI-SIG定义的PEI |
224-254 | 厂商定义的PEI |
255 | 无效 |
表1-AS协议封装接口
PI0-7被保留以用于各种结构管理任务,以及PI8-254为应用级接口。如表1所示,PI8用来隧道封装或封装原始PCI Express。其它PI可用来隧道封装其它各种协议,例如以太网、光纤信道、ATM(异步转移模式)、InfiniBand以及SLS(简单负载存储)。AS交换结构的一个优点在于,协议的混合可通过单个通用交换结构来同时隧道封装,使它成为诸如媒体网关、宽带接入路由器以及刀片服务器之类的下一代模块化应用的强大且符合需要的特征。
AS体系结构支持网络中的每个AS装置中的AS配置空间的实现。AS配置空间是一个存储区,它包含指定装置特性的字段以及用来控制AS装置的字段。信息以功能结构和其它存储结构、如表格和一组寄存器的形式来提供。表2提供由AS规范所定义的一组功能结构(“AS原始功能结构”)。
AS原始功能结构 | 端节点 | 交换单元 |
基准装置 | R | R |
生成树 | R | R |
生成树选择 | O | N/A |
交换生成树 | N/A | R |
装置PI | O | O |
中间结果暂存器 | R | R |
门铃 | O | O |
多播路由选择表 | N/A | O |
旗语 | R | R |
AS事件 | R | R |
AS事件假脱机 | O | N/A |
AS公共资源 | O | N/A |
电源管理 | O | N/A |
虚拟信道 | Rw/OE | Rw/OE |
配置空间许可 | R | R |
端点注入率极限 | O | N/A |
基于状态的流量控制 | O | O |
最小带宽调度器 | N/A | O |
丢包 | O | O |
统计计数器 | O | O |
SAR | O | N/A |
集成装置 | O | N/A |
图例:O=可选规范R=求Rw/OE=要求与可选规范要素N/A=不适用 |
表2--AS原始功能结构
AS原始功能结构中存储的信息可通过用于装置管理的PI-4数据包来访问。
在交换结构网络的一个实现中,网络中的AS装置可限制为对另一个AS装置的AS原始功能结构的只读访问,但已经被选作结构管理器的一个或多个AS端节点除外。
结构管理器选择过程可由各种硬件或软件机制来发起,从而选择交换结构网络的一个或多个结构管理器。结构管理器是一个AS端点,它“拥有”网络中包括其本身在内的所有AS装置。如果选择了多个结构管理器、例如主结构管理器和辅助结构管理器,则每个结构管理器可拥有网络中的AS装置的子集。或者,辅助结构管理器可在主结构管理器出故障时声明对网络中的AS装置的所有权,例如从结构冗余度和故障切换机制得到。
一旦结构管理器声明了所有权,它具有对其AS装置的AS原始功能结构的特许访问权。换言之,结构管理器对网络中的所有AS装置的AS原始功能结构具有读和写访问权,而其它AS装置则被限制为只读访问,除非由结构管理器授予写许可。
根据PCI Express链路层定义,链路或者为不工作(DL_Inactive=没有任何类型的数据包的发送或接收),或者为完全活动(DL_Active),即完全可工作并且能够发送和接收任何类型的数据包,或者处于被初始化过程(DL_Init)。
AS体系结构通过引入一个成为DL_Init与DL_Active状态之间的中间状态的新数据链路层状态DL_Protected,来添加到这种状态机的PCI Express的定义。PCI Express DL_Inactive、DL_Init和DL_Active状态被保留。新的状态可能是通信功能的中间程度所需的,并且用于增强AS结构的健壮性和HA(高可用性)预备。
链路状态可经由作为在共用链路的两个装置之间传递链路管理特定信息的6字节数据包的DLLP(数据链路层数据包)在链路合作方之间传递。链路状态DLLP具有优于除正在处理的数据包之外的所有数据包(TLP和DLLP)的严格优先级。链路状态确认必须尽早发送,即,当前占用链路的数据包的传送一完成就立即发送。
AS体系结构支持称作虚拟信道(VC)的直接端点到端点逻辑路径的建立。这使单个交换结构网络能够同时服务于多个独立的逻辑互连,每个VC互连用于控制、管理和数据的AS端节点。每个VC提供其本身的队列,使得一个VC中的阻塞不会导致另一个VC中的阻塞。由于每个VC具有独立的数据包排序要求,因此每个VC可与其它VC不相关地被调度。
AS体系结构定义三个VC类型:能够旁路单播(BVC);仅有序单播(OVC);以及多播(MVC)。BVC具有两个队列,一个有序队列和一个旁路队列。旁路队列提供BVC旁路能力,它可能是协议的无死锁隧道封装所需的。OVC是单队列单播VC,它可适合于面向消息的“推送”业务。MVC是用于多播“推送”业务的单队列VC。
当结构被加电时,结构中的链路合作方可协商各VC类型的虚拟信道的最大公共数量。在链路训练过程中,各VC类型的VC的最大公共集合在任何非DLLP AS数据包注入结构之前被初始化和激活。
在链路训练过程中,过剩的BVC可转换为OVC。BVC可通过不利用其旁路功能、例如它的旁路队列及关联逻辑,作为OVC进行工作。例如,如果链路合作方A支持三个BVC和一个OVC,以及链路合作方B支持一个BVC和两个OVC,则商定的VC数量为一个BVC和两个OVC,其中链路合作方A的BVC之一被转换为OVC。
AS体系结构提供多种拥塞管理技术,其中之一是用于防止数据包因拥塞而丢失的基于信用的流量控制(FC)技术。网络中的链路合作方(例如端点104和交换单元102)交换FC信用信息、例如本地装置对于特定VC的可用缓冲空间,以便保证链路的接收端具有接受数据包的能力。
FC信用可由链路的接收端基于VC来计算,并传递给链路的发送端。通常,只有在存在足够信用可用于特定VC传送数据包时,TLP才可被传送。在发送数据包时,链路的发送端可从其可用信用帐户中扣除反映所发送数据包大小的FC信用量。当链路的接收端处理(例如转发给端点104)所接收数据包时,在相应VC上使空间可用,以及FC信用返回给链路的发送端。链路的发送端则将FC信用加入其信用帐户。
AS端口通过定期向其链路合作方发送FC信用更新信息,来刷新它们的信用信息。信用更新信息采用FC更新DLLP来传送。虽然FC信用帐目通常在FC信用更新之间由发送端口来跟踪,但FC更新DLLP优先于本地计算的信用可用性信息。对于每个FC信用更新,FC信用更新的接收方可丢弃任何本地FC信用可用性跟踪信息,并与FC更新DLLP所提供的信用信息重新同步。
FC更新DLLP可用来更新单播VC(VC ID 0-15)和多播VC(VC ID16-19)的可用信用。每个FC更新DLLP对应一个或者两个VC,取决于VC索引(VCI)字段所指定的值。指定在范围VCI0-VCI7中的VCI的FC更新DLLP包含一个BVC的信用值、即指定BVC的有序队列的一个信用值和旁路队列FC信用信息的一个信用值。指定在范围VCI8-VCI11(它们支持OVC VC8-VC15)中的VCI的FC更新DLLP包含相同DLLP中两个连续编号OVC的队列的信用值。同样,指定在范围VCI12-VCI13(它们支持MVC VC16-VC19)中的VCI的FC信用更新DLLP包含相同DLLP中两个连续编号MVC的队列的信用值。VC索引14-15被保留。
DLLP传输可能是不可靠的,使DLLP易于受到静态丢失或损坏。根据AS规范,所有AS端口均被要求保持定期FC信用更新“刷新循环”,使得每个活动VC的FC信用由FC更新DLLP以不大于2158b/10b符号时间的间隔进行通告。如果对于给定VC超过了最大信用刷新间隔,则仅对于这种情况,信用通告端口必须将FC更新DLLP提高到最高优先级,以便主题VC的FC更新DLLP在最早时机被传送。
FC更新DLLP通常可在不同的可用VC上以预定超时间隔(例如小于或等于最大215符号时间)单独被发送。但是,存在可能相当大的TLP可能在不同的活动VC的FC更新DLLP之间被发送的可能性。这可能延迟FC更新DLLP的发送,使得超过超时间隔,这可能导致信用相关的不足,例如因可用信用信息的缺少而可能缺少从链路合作方发送的数据包。
在一个实施例中,所有活动VC的FC更新DLLP可能一个接一个被发送,从而防止FC更新DLLP之间的TLP的注入以及任何相应的信用相关性能问题。该技术可确保链路合作方在所分配时间周期内得知更新信用值。与由于可用信用信息的缺少而可能缺少从链路合作方发送的数据包相比,与这个FC更新DLLP传输技术关联的任何附加开销可能被抵消。
图5是流程图,描述根据一个实施例的FC信用更新操作。在开始(框502)之后,链路合作方可协商虚拟信道的最大公共集合(框504)。VC协商可以是二阶段过程。在第一阶段,链路合作方可发现BVC的最大集合,并发送初始化DLLP以便为BVC提供初始FC信用值。在第二阶段,链路合作方可发现并初始化OVC和MVC的最大公共集合。然后,可执行BVC到OVC转换。
更新时钟可对可能是小于或等于指定最大215符号时间的值的更新超时周期递减计数(框506)。在更新之间,链路合作方可正常工作(框508),在链路上传送TLP和非FC信用更新DLLP,例如链路状态DLLP、链路管理DLLP等等。当超时周期到期时,可执行FC信用更新操作,其中,所有活动VC的FC更新DLLP一个接一个被传送(框510)。
链路合作方可利用例如图6所示的状态机600来准备及传送FC信用更新DLLP的序列。状态机在建立(“空闲”601)之后进入NOFC(即“保持”)状态602,并在超时周期之间(例如在正常传输过程中)保持在NOFC状态607。当超时事件发生时,链路合作方可在经过状态机中的状态时准备及传送FC更新DLLP。
如图6所述的状态机600对应于原本支持四个BVC和一个MVC的本地装置。因此,状态机包括四个BVC VCI(VCI0至VCI3)、两个OVC VCI(VCI8和VCI9)以及一个MVC VCI(VCI12)的可能状态。提供两个OVC VCI(可处理多达四个OVC FC信用更新),因为四个BVC中的三个可能在初始化过程中降级到OVC。原本支持其它VC集的装置可能具有不同的状态机配置,但是,根据AS规范,每个AS端口必须支持至少一个BVC(VC0)。状态机在必要时可扩充到具有各VCI的状态。
状态机600首先可转变603到状态604(VCI0),并产生和传送BVC VC0的FC更新DLLP。如果存在更多的活动BVC,则状态机可转变605到状态606(VCI1),并产生和传送BVC VC1的FC更新DLLP。如果不再有BVC以及存在一个或更多活动OVC(原本支持或降级的BVC),则状态机可转变607到状态608(VCI8),并传送OVCVC8和VC9(如果为活动的)的FC更新DLLP(VC索引8),因为OVC和MVC的VCI可包含两个连续VC的信用值。自状态604,如果不再有活动BVC,没有活动OVC,以及存在一个或多个活动MVC,则状态机可直接转变609到状态610(VCI12),并产生VC16和VC17(如果为活动的)的FC更新DLLP(VC索引12)。自状态604,如果不再有活动BVC,以及没有活动OVC或MVC,则状态机可转变611回到NOFC 602。
各状态可具有与状态604(VCI0)相似的选项数量,根据需要移动到它的种类的下一状态或者跳转到VCI的下一个集合或者跳转到NOFC 602。在一个实施例中,FC更新DLLP可经过缓冲,直到要传送的所有FC更新DLLP被产生,然后可一个接一个发送给链路合作方。
例如,如果具有状态机600、原本支持四个BVC和一个MVC的本地装置的链路合作方具有原本支持两个BVC、两个OVC和一个MVC的链路合作方,则商定的活动VC将为两个BVC、两个OVC和一个MVC。在发现和初始化过程中,本地装置的BVC中的两个将被降级到OVC,并被映射到VC8和VC9(VCI8)。当超时(更新)事件发生时,NOFC 602中的本地装置中的状态机将转变603到状态604(VCI0),并对链路合作方产生和传送具有BVC VC0的旁路及有序队列的信用值的FC更新DLLP。状态机则可转变605到状态606(VCI1),并向链路合作方产生和传送具有BVC VC1的信用值的FC更新DLLP。由于不再有活动BVC,因此状态机可转变612到状态608(VCI8),并产生和传送具有OVC VC8和VC9的信用值的FC更新DLLP。由于不再有活动OVC,因此状态机可转变614到状态610(VCI12),并产生和传送具有MVC VC17的信用值的FC更新DLLP。FC更新DLLP为不活动MVC VC18保留的部分可以为空(例如全零)。在传送VCI12的FC更新DLLP之后,状态机可转变615到NOFC 602,直到下一个超时事件。
没有中断地(例如连续地)将每个活动VC的FC更新DLLP发送到链路合作方可确保信用值将在指定时间周期内到达装置的链路合作方,这可有助于简化FC信用更新逻辑。
已经描述了多个实施例。然而,大家会理解,可进行各种修改而没有背离本发明的精神和范围。例如,流程图中的框可被忽略或次序颠倒地执行,而仍然产生符合需要的结果。因此,其它实施例也在以下权利要求的范围之内。
Claims (27)
1.一种方法,包括:
响应在交换结构中具有链路合作方的装置中的流量控制信用更新事件,为多个活动虚拟信道中每一个产生流量控制信用更新数据包;以及
将所述流量控制信用更新数据包连续地传送到所述链路合作方。
2.如权利要求1所述的方法,其特征在于,所述产生步骤包括在先进交换结构中产生所述流量控制信用更新数据包。
3.如权利要求1所述的方法,其特征在于,所述产生步骤包括产生流量控制信用更新数据链路层数据包。
4.如权利要求1所述的方法,其特征在于,产生步骤包括响应流量控制信用更新刷新周期到期而产生。
5.如权利要求1所述的方法,其特征在于还包括:
产生包括保持状态和多个流量控制信用更新状态的状态机,每个流量控制信用更新对应于一个虚拟信道索引。
6.如权利要求5所述的方法,其特征在于,所述产生流量控制信用更新数据包的步骤包括经过所述状态机中的多个流量控制信用更新状态,并在每个所经过的流量控制信用更新状态产生流量控制信用更新数据包。
7.如权利要求6所述的方法,其特征在于还包括:
在对应虚拟信道索引的流量控制信用更新状态中,产生与所述虚拟信道索引对应的流量控制信用更新数据包,并在转变到所述状态机中的下一个状态之前传送所述流量控制信用更新数据包。
8.如权利要求6所述的方法,其特征在于还包括:
在对应虚拟信道索引的流量控制信用更新状态中,产生对应所述虚拟信道索引的流量控制信用更新数据包;
存储所述流量控制信用更新数据包;以及
在经过所述状态机中的所述流量控制信用更新状态之后,连续传送所述流量控制信用更新数据包与一个或多个其它存储的流量控制信用更新数据包。
9.如权利要求5所述的方法,基特征在于,所述产生状态机的步骤包括:
识别多个所支持的虚拟信道索引;以及
为每个所支持的虚拟信道索引产生流量控制更新状态。
10.如权利要求9所述的方法,其特征在于还包括:
确定是否存在任何可能支持的虚拟信道索引;以及
为每个可能支持的虚拟信道索引产生可能的流量控制更新状态。
11.如权利要求10所述的方法,其特征在于,所述支持的虚拟信道索引包括与旁路虚拟信道对应的虚拟信道索引以及与从旁路虚拟信道、有序虚拟信道以及多播虚拟信道中选择的虚拟信道对应的一个或多个虚拟信道索引。
12.如权利要求10所述的方法,其特征在于,所述确定步骤包括确定所述装置是否支持一个以上旁路虚拟信道;以及
所述产生步骤包括响应确定所述装置支持一个以上旁路虚拟信道,产生对应于与一个或多个有序虚拟信道关联的一个或多个虚拟信道索引的一个或多个可能的流量控制信用更新状态。
13.如权利要求12所述的方法,其特征在于还包括:
在所述装置与所述链路合作方之间执行发现和初始化操作;
识别任何降级的旁路虚拟信道;以及
将所述降级的旁路虚拟信道映射到所述可能的流量控制信用更新状态中的一个或多个。
14.如权利要求5所述的方法,其特征在于,所述流量控制信用更新状态中的每一个包括到所述保持状态的可能转变。
15.如权利要求14所述的方法,其特征在于,所述流量控制信用更新状态中的一个或多个还包括到与相同类型的虚拟信道索引对应的流量控制信用更新状态的可能转变以及到与不同类型的虚拟信道索引对应的流量控制信用更新状态的可能转变。
16.一种装置,包括:
流量控制信用更新计时器,产生流量控制信用更新事件;以及
流量控制信用更新模块,响应接收流量控制信用更新事件,为多个活动虚拟信道中每一个产生流量控制信用更新数据包,并将所述多个流量控制信用更新数据包连续传送给交换结构中的链路合作方。
17.如权利要求16所述的装置,其特征在于还包括:
状态机,其中包括保持状态和多个流量控制信用更新状态,以及
其中所述流量控制信用更新模块可用于响应接收所述信用更新事件而经过所述多个信用更新状态。
18.如权利要求17所述的装置,其特征在于,所述多个流量控制信用更新状态包括多个所支持的流量控制信用更新状态。
19.如权利要求18所述的装置,其特征在于,所述多个所支持的流量控制信用更新状态包括与旁路虚拟信道对应的虚拟信道索引以及与从旁路虚拟信道、有序虚拟信道以及多播虚拟信道中选择的虚拟信道对应的一个或多个虚拟信道索引。
20.如权利要求19所述的装置,其特征在于还包括一个或多个可能的流量控制信用更新状态。
21.如权利要求20所述的装置,其特征在于,所述一个或多个可能的流量控制信用更新状态对应于与一个或多个有序虚拟信道关联的一个或多个虚拟信道索引。
22.如权利要求20所述的装置,其特征在于,所述流量控制信用更新模块可用于:
与所述链路合作方协商多个活动虚拟信道;
识别从所支持的流量控制信用更新状态以及所述一个或多个可能的流量控制信用更新状态中选择的多个活动流量控制信用更新状态;以及
响应所述流量控制信用更新事件而经过所述活动流量控制信用更新状态。
23.如权利要求17所述的装置,其特征在于,所述状态机中的所述多个流量控制信用更新状态中的每个包括到所述保持状态的可能转变。
24.如权利要求23所述的装置,其特征在于,所述流量控制信用更新状态中的一个或多个还包括到与相同类型的虚拟信道索引对应的流量控制信用更新状态的可能转变以及到与不同类型的虚拟信道索引对应的流量控制信用更新状态的可能转变。
25.一种产品,包括机器可读媒体,其中包括机器可执行指令,用于使机器:
响应在交换结构中具有链路合作方的装置中的流量控制信用更新事件,为多个活动虚拟信道中的每一个产生流量控制信用更新数据包;以及
将所述流量控制信用更新数据包连续地传送到所述链路合作方。
26.如权利要求25所述的产品,其特征在于,所述交换结构包括先进交换结构。
27.如权利要求25所述的产品,其特征在于还包括使所述机器执行以下步骤的指令:
产生包括保持状态和多个流量控制信用更新状态的状态机,每个流量控制信用更新对应于一个虚拟信道索引。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/934,085 US7522520B2 (en) | 2004-09-03 | 2004-09-03 | Flow control credit updates for virtual channels in the Advanced Switching (AS) architecture |
US10/934085 | 2004-09-03 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1783839A true CN1783839A (zh) | 2006-06-07 |
CN1783839B CN1783839B (zh) | 2010-11-03 |
Family
ID=35406988
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2005100990869A Expired - Fee Related CN1783839B (zh) | 2004-09-03 | 2005-09-02 | 先进交换体系结构中的虚拟信道的流量控制信用更新 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7522520B2 (zh) |
EP (1) | EP1794939A1 (zh) |
JP (1) | JP2008511911A (zh) |
KR (1) | KR100896791B1 (zh) |
CN (1) | CN1783839B (zh) |
WO (1) | WO2006028650A1 (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060050716A1 (en) * | 2004-09-03 | 2006-03-09 | Intel Corporation | Generic flow control state machine for multiple virtual channel types in the advanced switching (AS) architecture |
JP4394624B2 (ja) * | 2005-09-21 | 2010-01-06 | 株式会社日立製作所 | 計算機システム及びi/oブリッジ |
US7764675B2 (en) * | 2006-05-30 | 2010-07-27 | Intel Corporation | Peer-to-peer connection between switch fabric endpoint nodes |
US7975027B2 (en) * | 2007-08-06 | 2011-07-05 | International Business Machines Corporation | Credit depletion notification for transmitting frames between a port pair |
US7787375B2 (en) * | 2007-08-06 | 2010-08-31 | International Business Machines Corporation | Performing a recovery action in response to a credit depletion notification |
CN100574310C (zh) * | 2007-08-24 | 2009-12-23 | 中国科学院计算技术研究所 | 一种信誉流量控制方法 |
US20090097401A1 (en) * | 2007-10-12 | 2009-04-16 | Wael William Diab | Method and system for configurable data rate thresholds for energy efficient ethernet |
US8667095B2 (en) * | 2007-11-09 | 2014-03-04 | Cisco Technology, Inc. | Local auto-configuration of network devices connected to multipoint virtual connections |
US8953486B2 (en) * | 2007-11-09 | 2015-02-10 | Cisco Technology, Inc. | Global auto-configuration of network devices connected to multipoint virtual connections |
JP4802229B2 (ja) * | 2008-08-25 | 2011-10-26 | 株式会社日立製作所 | 複数の集積回路を備えたストレージシステム |
US7852757B1 (en) * | 2009-03-10 | 2010-12-14 | Xilinx, Inc. | Status based data flow control for chip systems |
US20100312928A1 (en) * | 2009-06-09 | 2010-12-09 | Brownell Paul V | System and method for operating a communication link |
US8856420B2 (en) * | 2011-12-27 | 2014-10-07 | Intel Corporation | Multi-protocol I/O interconnect flow control |
US9590914B2 (en) * | 2013-11-05 | 2017-03-07 | Cisco Technology, Inc. | Randomized per-packet port channel load balancing |
WO2015142336A1 (en) * | 2014-03-20 | 2015-09-24 | Intel Corporation | A method, apparatus, and system for controlling power consumption of unused hardware of a link interface |
US20200076742A1 (en) * | 2018-08-28 | 2020-03-05 | Hewlett Packard Enterprise Development Lp | Sending data using a plurality of credit pools at the receivers |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5432824A (en) * | 1994-07-06 | 1995-07-11 | Mitsubishi Electric Research Laboratories, Inc. | Credit/rate-based system for controlling traffic in a digital communication network |
US6078565A (en) * | 1997-06-20 | 2000-06-20 | Digital Equipment Corporation | Method and apparatus to expand an on chip FIFO into local memory |
DE69942017D1 (de) * | 1998-06-16 | 2010-04-01 | Alcatel Lucent | Digitaler verkehrsvermittler mit kreditbasierter puffersteuerung |
US20020087720A1 (en) * | 2000-12-28 | 2002-07-04 | Davis Arlin R. | System and method for communications management and control over an unreliable communications network |
US7042842B2 (en) * | 2001-06-13 | 2006-05-09 | Computer Network Technology Corporation | Fiber channel switch |
US20030026267A1 (en) * | 2001-07-31 | 2003-02-06 | Oberman Stuart F. | Virtual channels in a network switch |
US6691192B2 (en) * | 2001-08-24 | 2004-02-10 | Intel Corporation | Enhanced general input/output architecture and related methods for establishing virtual channels therein |
AUPR918001A0 (en) * | 2001-11-30 | 2001-12-20 | Foursticks Pty Ltd | Credit based algorithm for traffic shaping |
KR100519040B1 (ko) * | 2003-02-14 | 2005-10-06 | (주)아해 | 사염화티타늄 및 질산수용액을 사용한 브루카이트상 이산화티타늄의 초미세입자의 제조방법 |
US7385925B2 (en) * | 2004-11-04 | 2008-06-10 | International Business Machines Corporation | Data flow control method for simultaneous packet reception |
-
2004
- 2004-09-03 US US10/934,085 patent/US7522520B2/en not_active Expired - Fee Related
-
2005
- 2005-08-12 JP JP2007529924A patent/JP2008511911A/ja active Pending
- 2005-08-12 KR KR1020077005102A patent/KR100896791B1/ko not_active IP Right Cessation
- 2005-08-12 EP EP05786799A patent/EP1794939A1/en not_active Withdrawn
- 2005-08-12 WO PCT/US2005/028695 patent/WO2006028650A1/en active Application Filing
- 2005-09-02 CN CN2005100990869A patent/CN1783839B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
WO2006028650A1 (en) | 2006-03-16 |
KR20070042570A (ko) | 2007-04-23 |
CN1783839B (zh) | 2010-11-03 |
US20060050632A1 (en) | 2006-03-09 |
JP2008511911A (ja) | 2008-04-17 |
EP1794939A1 (en) | 2007-06-13 |
KR100896791B1 (ko) | 2009-05-11 |
US7522520B2 (en) | 2009-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1783839B (zh) | 先进交换体系结构中的虚拟信道的流量控制信用更新 | |
CN100348000C (zh) | 用于封装帧以在存储区域网络中传输的方法和装置 | |
Boden et al. | Myrinet: A gigabit-per-second local area network | |
US7187687B1 (en) | Pipeline method and system for switching packets | |
Mayhew et al. | PCI Express and Advanced Switching: Evolutionary path to building next generation interconnects | |
US7738450B1 (en) | System architecture for very fast ethernet blade | |
US4939724A (en) | Cluster link interface for a local area network | |
CN100531125C (zh) | 在交换结构网络中仲裁虚拟信道传输队列 | |
CN104104616B (zh) | 数据调度和交换的方法、装置及系统 | |
US20030026267A1 (en) | Virtual channels in a network switch | |
US20240283742A1 (en) | DMA in PCI Express Network Cluster | |
EP2003823B1 (en) | Autonegotiation over an interface for which no autonegotiation standard exists | |
US20060239194A1 (en) | Monitoring a queue for a communication link | |
WO2003052617A1 (en) | A system and method for efficient handling of network data | |
US7436845B1 (en) | Input and output buffering | |
JP2000506701A (ja) | 効率的な出力―要求パケット交換機および方法 | |
EP2092436A2 (en) | A network interface card for use in parallel computing systems | |
GB2363041A (en) | Fibre channel interface controller having separate buffers for data frames and link control frames (e.g. ACK frames) | |
US20060256793A1 (en) | Efficient multi-bank buffer management scheme for non-aligned data | |
GB2418319A (en) | Packet transmission using output buffer | |
GB2401518A (en) | Efficient arbitration using credit based flow control | |
TW200947957A (en) | Non-block network system and packet arbitration method thereof | |
GB2367712A (en) | Flow architecture for remote high-speed interface application | |
RU2257678C2 (ru) | Модульный масштабируемый коммутатор и способ распределения кадров в сети быстрого ethernet | |
CN1325071A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20101103 Termination date: 20190902 |