CN102893566B - 用于实现非阻塞式基于优先级流控的方法和装置 - Google Patents

用于实现非阻塞式基于优先级流控的方法和装置 Download PDF

Info

Publication number
CN102893566B
CN102893566B CN201180024325.8A CN201180024325A CN102893566B CN 102893566 B CN102893566 B CN 102893566B CN 201180024325 A CN201180024325 A CN 201180024325A CN 102893566 B CN102893566 B CN 102893566B
Authority
CN
China
Prior art keywords
buffer
signal
controller
queue
queue controller
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.)
Active
Application number
CN201180024325.8A
Other languages
English (en)
Other versions
CN102893566A (zh
Inventor
A·迪贝
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.)
Altera Corp
Original Assignee
Altera Corp
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 Altera Corp filed Critical Altera Corp
Publication of CN102893566A publication Critical patent/CN102893566A/zh
Application granted granted Critical
Publication of CN102893566B publication Critical patent/CN102893566B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/266Stopping or restarting the source, e.g. X-on or X-off
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/50Overload detection or protection within a single switching element
    • H04L49/505Corrective measures

Abstract

提供了一种包括链路控制器以及和链路控制器通信的多个队列控制器的集成电路。多个队列控制器的每个队列控制器可操作用于耦合到集成电路外部的远程数据发送器的专用缓冲器。多个队列控制器可操作用于监控专用缓冲器的缓冲器充满水平,并且多个队列控制器的每个队列控制器可操作用于发送指示缓冲器充满水平的信号给链路控制器。链路控制器可用于向远程发送器发送优先级流控信号,其中,从发送指示缓冲器充满水平的信号到检测到缓冲器充满水平的时间段对于每个专用缓冲器是一致的。

Description

用于实现非阻塞式基于优先级流控的方法和装置
背景技术
随着存储域网络(SAN)到通过以太网光纤通道(FCoE)的变迁以及10吉比特(Gb)以太网标准的普及,必须使用无损方法来支持FCoE。基于优先级的流控旨在消除由于线端阻塞造成的拥塞引起的丢帧。目前用于优先级流控(PFC)的方法(即802.3x机制及其扩展)试图在数据中心桥接网络存在拥塞时保证无丢包并指定可被暂停的业务流量类型。在存储需要更多带宽时,该方法倾向于阻止其他类型的数据业务流量。此外,由于目前所使用的该架构的部分阻塞性质,在管理来自多个优先级队列的业务流量的业务流量调度器阻塞所有优先级的线头时会出现缓冲器溢出的情况。
基于该上下文提出了实施例。
发明内容
此处所述实施例提供了实现用于诸如10吉比特(Gb)以太网通信标准的基于优先级流控的电路和方法。应该理解,本实施例可用众多方式实现,如方法、装置、系统、设备或计算机可读介质上的方法。以下描述若干创造性实施例。
在一个实施例中,提供了一种具有此处所述的基于优先级流控逻辑的集成电路。该集成电路包括链路控制器以及和链路控制器通信的多个队列控制器。多个队列控制器的每个队列控制器可操作用于耦合到集成电路外部的远程数据发送器的专用缓冲器。多个队列控制器可操作用于监控专用缓冲器的缓冲器充满水平,并且多个队列控制器的每个队列控制器可操作用于向链路控制器发送指示缓冲器充满水平的信号。链路控制器可操作用于向远程发送器发送优先级流控信号,其中,从发送指示缓冲器充满水平的信号到检测到缓冲器充满水平的时间段对于每个专用缓冲器是一致的。在一个实施例中,多个队列控制器的每个队列控制器可操作用于独立控制对指示缓冲器充满水平的信号的响应。
在另一实施例中,提供了用于以非阻塞方式提供基于优先级流控的方法。该方法包括监控处理数据的多个外部缓冲器的缓冲器级别。该监控通过多个缓冲器中的每个缓冲器的专用队列控制器执行,其中专用队列控制器位于多个外部缓冲器芯片外。该方法还包括通过第一队列控制器检测第一缓冲器的缓冲器充满状况并发送可操作用于引起第一缓冲器中断处理的第一信号。将对第一缓冲器的监控暂停由第一信号指定的时间段。在该时间段结束后,继续监控第一缓冲器的缓冲器水平,其中,在暂停对第一缓冲器的监控期间,通过第二队列控制器监控第二缓冲器的缓冲器充满状况。
通过以下结合附图对实施例原理举例而进行的详细说明,其他方面将变得明显。
附图说明
通过结合附图参考下面描述可最好地理解实施例。
图1是图示出采用根据一个实施例的基于优先级的流控的系统的高层概览图的简化图。
图2是图示出根据一个实施例的基于优先级的流控的电路的更多细节的简化图。
图3的简化示意图示出根据一个实施例的基于优先级的流控使用的示例性分组格式。
图4是图示出根据一个实施例分开的链路控制和队列控制的简化图。
图5是图示出根据一个实施例的链路控制器和队列控制器之间交换状态信息的状态图的简化图。
图6是图示出根据一个实施例的队列之间的非阻塞流控的波形图。
图7是根据一个实施例实现基于优先级流控方法的有限状态机的简化流程图。
具体实施方式
以下实施例描述用于基于优先级的流控机制的电路和方法。应该理解,本示例实施例可以无需某些或全部这些具体细节而实现。在其他实例中,未详细描述公知操作以免不必要地模糊本实施例。
用于基于优先级的流控的本实现要求在带宽和响应时间之间进行折衷,响应时间即验证或重新检查是否要发送Xoff/Xon信号的时间段。本实施例通过解耦(decoupling)功能而解决该问题。解耦是通过每个队列专用的队列控制器以及和专用队列控制器通信的链路控制器实现的。该解耦后的架构处理以太网全双工链路中的基于优先级的流控并可升级以支持多个优先级队列,其中,为每个队列提供专用队列控制器。以近似独立的方式实现链路控制功能和队列控制功能的分开。链路控制器和队列控制器把它们当前的状态公布给对方并提供最早可为每个队列发送Xoff或Xon帧的最早可能时机。每个队列控制器可访问链路控制器的状态以指示何时发送Xon/Xoff帧。链路控制器访问每个队列控制器的状态以为相应优先级发送Xoff/Xon帧。一个实施例中,可提供系统所需数量的队列控制器。例如,如果用户希望优先级流控(PFC)控制器支持四个队列,会有如四个实例的队列有限状态机(FSM)和一个共用链路FSM。通过下文详细描述的实施例提供用于以太网传输的基于优先级的流控技术,例如用于10Gb以太网系统上的传输。
图1是示出采用根据一个实施例的基于优先级的流控的系统的高层概览的简化示意图。系统100包括存储域网络(SAN)102、局域网(LAN)104和服务器106a到106c,每个部件通过设备108连接。一个实施例中,设备108是交换机,交换机使得可对统一光纤进行统一访问,统一光纤可包括LAN业务流量、基于因特网协议(IP)的存储业务流量以及基于光纤通道的存储业务流量。另一实施例中,通过10Gb以太网系统提供统一光纤。应该理解,以下实施例定义的逻辑在一个示例性实现中可驻留于设备108内,或位于106a到106c上。
图2是图示出用于根据一个实施例的基于优先级的流控的电路的更多细节的简化图。图2中,客户端122和集成电路120通信,集成电路120转而和存储域网络102通信。应该理解,一个实施例中,集成电路120和客户端122可驻留于图1所示的服务器或设备上。另一实施例中,客户端122可以是本地中央处理单元。另一实施例中,集成电路120可以是可编程逻辑器件,如现场可编程门阵列或专用集成电路。集成电路120内有优先级流控(PFC)逻辑124a、介质访问控制(MAC)逻辑124b和物理(PHY)层124c。如所示出的,这些模块的每一个内有相应的发送(Tx)和接收(Rx)部件。客户端122也包括相应的发送和接收部件,其中每个发送和接收部件包括多个队列。客户端122的发送部件内有队列126a到126n,客户端122的接收部件内有队列128a到128n。集成电路120的优先级流控逻辑124a为客户端122内的每个队列提供专用队列控制器。此外,优先级流控逻辑124a包括和如下文参照图4详细描述的多个专用队列控制器通信的链路控制器。
图3是图示出根据一个实施例的基于优先级的流控所使用的分组格式的简化图。分组150配置成包括多个字段,如报头152和操作码154。使能向量156是指示下面设置的参数有效或是无效(即忽略暂停时间或考虑暂停时间)的位设置。参数158a-158n为每个相应队列提供暂停时间,每个相应队列和相应队列控制器通信。在一个实施例中,分组150可覆盖多达八个队列的各个队列时间。在另一示例性实施例中,使能向量156中值为1的位指示应该设定和相应队列关联的相应参数的暂停时间。应该理解,可用位值指示暂停时间量。代表暂停时间的位值可被称为量子(quanta)。使能向量156的零值实质上会禁止相应参数158指示的任何值。在另一实施例中,基于参数158a-158n中的相应位值确定是否向外部缓冲器发送了Xoff或Xon帧。例如,如果参数158a内的位值是零,那么向相应的外部缓冲器发送了Xon帧。如果位值是包括零的任何值,那么向位于网络链路远端处的外部缓冲器发送了Xoff帧。此外,如果位值是包括零的任何值,位值代表重新检查缓冲器级别之前的暂停时间量或量子,一个量子等于512位时间。分组配置的更多细节可以参考IEEE802.1Qbb标准。
图4是图示出根据一个实施例分开的链路控制和队列控制的简化图。优先级流控逻辑124a包括队列控制逻辑180a到180n。链路控制器逻辑182和队列控制器逻辑180的每个实例通信。应该理解,一个实施例中,客户端中的队列或入口缓冲器的数量与优先级流控逻辑中队列控制器180的数量一一对应,即,一个队列控制器专用于一个缓冲器。例如,如果有八个队列,那么就有八个队列控制器,其中每个队列和专用的队列控制器相关联。队列控制器180a-180n接收指示相应队列或入口缓冲器充满的脉冲。在一个实施例中,队列控制器180a-180n监控信号线的转换。例如,信号从逻辑低值转换到逻辑高值时,这指示缓冲器/队列达到充满限制。注意,在一个实施例中,充满限制可以是队列充满水平的某个百分比。进而,相应的队列控制器180a-180n发出如队列状态信号的信号给链路控制器182,链路控制器182触发链路控制器以指示远程发送方中断发送分组至队列。在一个示例性实施例中,Xoff信号提供中断发送分组至队列的指示。
仍参照图4,链路控制器182发送Xoff信号给相应的远程发送方,然后通过链路状态信号通知队列控制器180a-180n链路控制器182为任何进一步的动作做好准备。如果队列控制器监控的信号从高值转换到低值,相应的队列现在可用于额外数据。因而,队列状态信号会转换以向链路控制器182指示可向远程发送方发送Xon信号以继续发送分组。如上所述,通过相应的队列控制器180把链路控制器182检查队列状态信号之前所等待的时间段(量子)传送给链路控制器。因而,可通过此处所述的实施例自定义每个队列/缓冲器的时间段(量子),从而实现了不阻塞任何其他队列Xoff请求的非阻塞式无损以太网连接。因而,在链路控制器182等待时段(量子)以检查第一队列状态时,链路控制器可检查其他队列状态并根据需要为每一个其他队列发送适当的Xon和Xoff信号。此外,实施例消除了如参考图6详细描述的缓冲器溢出的可能性。
图5是图示出根据一个实施例状态控制器和链路控制器之间交换状态信息的状态图的简化图。队列控制器180的状态图指示队列控制器最初空闲,直到接收到缓冲器充满信号。如上所述,可在缓冲器级别到达完全充满水平的某个百分比时触发缓冲器充满信号。响应于缓冲器充满信号,出现Xoff状态并向链路控制器指示入口缓冲器充满。传送完Xoff信号后,链路控制器182把传送完成传达给队列控制器180,而且,出现让链路控制器重新检查正遭遇缓冲器充满状况的队列的队列控制器信号状态的等待时段。一旦检测到缓冲器未充满状况,就出现Xon状态,链路控制器182传送Xon帧。如果缓冲器拥塞依然在持续,那么状态转换回XOFF状态。至于链路控制器182的状态图,链路控制器空闲,直到通过link_xoff_xon_valid和link_pquanta值检测到Xoff或Xon状况。在一个实施例中,link_xoff_xon_valid信号指示入口缓冲器要求链路控制器发送Xoff或Xon帧。可通过如上所述的非零暂停量子值指示帧类型。在一个实施例中,link_pquanta信号指示客户端请求的暂停量子。链路控制器182把相应的优先级流控帧(Xon或Xoff)传送给相应的远程发送方并返回空闲状态。link_ready信号指示链路控制器发送了相应的优先级流控帧(Xon或Xoff)而且要从(多个)队列控制器扫描当前状态信息。
图6是图示出根据一个实施例的队列之间的非阻塞式流控的波形图。如波形对200/202以及204/206所示,专用队列控制器能够以一致时序为它们的专用的队列提供服务并使链路控制器能够不受阻塞地传送Xoff帧。此外,通过此处所述实施例,可为每个缓冲器定制指定的等待时段。波形200的ingress_buffer_full信号转换成高电平并触发波形202所示的Xoff[0]传送。Xoff[0]之后的等待/暂停时段期间,波形204的ingress_buffer_full信号转换成高电平。作为响应,触发如波形206所示的Xoff[n]传送。继续波形202,第一等待时段结束后,对波形200的ingress_buffer_full信号电平进行采样,并且由于电平保持在逻辑高电平,造成Xoff传送,随后是第二等待时段。波形202的第二等待时段结束后,波形200已转换成逻辑低值,传送Xon[0]信号,以指示缓冲器0可继续接收数据。类似地,波形206的第一等待时段结束后,对波形204的ingress_buffer_full信号电平进行采样,由于电平保持在逻辑高电平,造成Xoff传送,随后是如波形206所示的第二等待时段。波形206的第二等待时段结束后,波形204已转换成逻辑低值,传送Xon[n]信号,以指示缓冲器n可继续接收数据。应该理解,由于队列控制器独立地控制对指示缓冲器充满水平的信号的响应,从传送指示缓冲器充满水平的信号到检测到缓冲器充满水平的时间对每个专用缓冲器是一致的,所以此处所述实施例消除了缓冲器溢出的可能性。还应该理解,在单个控制器架构的情况下,能够在等待时段定义的时间段内阻塞新的Xoff请求,而且,在该等待时段期间,缓冲器之一会溢出,造成数据丢失。链路和队列控制器功能的解耦保证了非阻塞环境即无损环境,这是用单个统一控制器架构无法实现的。虽然示例性实施例讨论了用链路控制器维护暂停,应该理解,在备选实施例中,每个队列控制器可包括管理或维护它们各自暂停的功能。
图7是根据一个实施例用于实现基于优先级流控方法的有限状态机的简化流程图。在操作250扫描入口缓冲器的充满状况。应该理解,每个入口缓冲器的相应队列控制器可执行对相应缓冲器充满状况的扫描。操作252中,分别为缓冲器发送Xoff/Xon信号以及缓冲器充满标志/未满标志。如参考图6所示,ingress_buffer_full信号线上逻辑值之间的转换可表示从缓冲器充满状况(缓冲器充满标志)到缓冲器未满状况(缓冲器未满标志)的转换。在操作254中,当缓冲器充满标志确立时,为相应的暂停缓冲器启动定时器,由此暂停发送给该缓冲器的数据。如果在操作252确立缓冲器未满标志,那么跳过操作254,该方法返回操作250,并如上所述重复该方法。
上述实施例可用各种计算机系统配置实现,包括手持式设备、微处理器系统、基于微处理器的或可编程消费电子产品、微型计算机、大型机等。这些实施例也可在分布式计算环境上实现,其中,由通过有线或无线网络连接的远程处理设备执行任务。
至此描述的实施例是参照集成电路描述的。此处所述方法和装置可结合至任何适当电路中。例如,该方法和装置可结合到许多类设备中,例如微处理器或可编程逻辑器件。仅举数例,示例性可编程逻辑器件包括可编程阵列逻辑(PAL)、可编程逻辑阵列(PLA)、现场可编程逻辑阵列(FPLA)、电子可编程逻辑器件(EPLD)、电子可擦除可编程逻辑器件(EEPLD)、逻辑单元阵列(LCA)、现场可编程门阵列(FPGA)、专用标准产品(ASSP)、专用集成电路(ASIC)。
此处所述可编程逻辑器件可以是包括下述一个或多个部件的数据处理系统的一部分:处理器、存储器、I/O电路和外围设备。数据处理系统可用于很多应用,如计算机网络、数据网络、仪器、视频处理、数字信号处理或者期望使用可编程或可重新编程逻辑的优点的任何其他适当应用。可编程逻辑器件可用于执行许多不同逻辑功能。例如,可编程逻辑器件可被配置成和系统处理器协同工作的处理器或控制器。可编程逻辑器件也可用作用于仲裁对数据处理系统中的共享资源的访问的仲裁器。在另一示例中,可编程逻辑器件可被配置成处理器和系统中的其他部件之一之间的接口。在一个实施例中,可编程逻辑器件可以是受让人所有的器件族之一。
虽然方法的操作是根据特定顺序描述的,应该理解,所述操作之间可执行其他操作,可调整所述操作从而这些操作在略微不同的时间处出现,或者所述操作可分布在允许处理操作以和处理关联的各种间隔发生的系统上,只要以希望方式执行之上操作的处理即可。
虽然为清楚起见描述了上述实施例的一些细节,但是很明显可在所附权利要求的范围内进行某些改变和修改。因而,本实施例应视为示例性的而非限制性的,本发明不限于此处所给出的细节,而是可在所附权利要求的范围及其等价范围内修改。
考虑到上述实施例,应该理解,本发明可采用涉及存储在计算机系统上的数据的各种计算机实现的操作。这些操作是需要对物理量进行物理运作的操作。通常而非必须的是,这些量采用能够存储、转换、组合、比较及进行其他运作的电信号或磁信号的形式。
此处所述构成本发明一部分的任何操作都是有用机器操作。实施例还涉及用于执行这些操作的设备或装置。装置可以是专门为所需目的构造的装置,或者装置可以是计算机中存储的计算机程序选择性地激活或配置的通用计算机。具体而言,各种通用机器可用于根据此处教导编写的计算机程序,或者更简便地构造更专用的装置来执行所需操作。
实施例还实现成计算机可读介质上的计算机可读代码。计算机可读介质是可存储之后由计算机系统读取的数据的任何数据存储设备。计算机可读介质的示例包括硬盘驱动、网络附接式存储(NAS)、只读存储器、随机存取存储器、CD-ROM、CD-R、CD-RW、磁带和其他光学和非光学数据存储设备。计算机可读介质还可以分布在网络耦合的计算机系统上,从而以分布方式存储并执行计算机可读代码。
虽然为了便于清楚理解描述了上述实施例的一些细节,但很明显可以在所附权利要求的范围内实现某些改变和修改。因而,本实施例应视为示例性的而非限制性的,本发明不限于此处所述细节,而是可在所附权利要求的范围及其等价范围内修改。

Claims (17)

1.一种集成电路(IC),包括:
链路控制器;以及
和所述链路控制器通信的多个队列控制器,所述多个队列控制器的每个队列控制器可操作用于耦合到对应的外部专用缓冲器,其中每个外部专用缓冲器驻留在所述IC外部的远程数据发送器中,并且其中所述多个队列控制器的每个队列控制器可操作用于:
监控并检测所述对应的外部专用缓冲器的缓冲器充满水平,
向所述链路控制器发送指示与所述对应的外部专用缓冲器关联的所述缓冲器充满状况或缓冲器未充满状况中的一项的信号,并且
其中,所述链路控制器可操作用于:
从第一队列控制器接收与第一外部专用缓冲器关联的所述缓冲器充满状况的所述信号,
发送优先级流控信号,以基于与第一外部专用缓冲器相关联的所述缓冲器充满状况的所述信号,中断向所述第一外部专用缓冲器发送数据,
向所述第一队列控制器传达被所述第一队列控制器解析为指示完成对所述优先级流控信号的所述发送的信号。
2.根据权利要求1所述的IC,其中所述链路控制器被进一步配置为从对应的队列控制器接收与每个外部专用缓冲器关联的暂停时间,所述暂停时间指示在重新检查缓冲器水平之前所述链路控制器等待的时间段,并且其中所述暂停时间可针对每个外部专用缓冲器独立编程。
3.根据权利要求1所述的IC,其中所述IC是可编程逻辑器件。
4.根据权利要求1所述的IC,其中所述IC结合到可操作用于处理网络上的存储数据的交换机中。
5.一种可编程逻辑器件(PLD),包括:
链路控制器逻辑;以及
和所述链路控制器逻辑通信的多个队列控制器,所述多个队列控制器的每个队列控制器可操作用于耦合到对应的专用缓冲器,其中每个专用缓冲器驻留在所述PLD外部的远程数据发送器中,并且其中所述多个队列控制器中的每个队列控制器可操作用于:
监控所述对应的专用缓冲器的缓冲器充满水平,
向所述链路控制器逻辑发送指示与所述对应的专用缓冲器关联的所述缓冲器充满状况或缓冲器未充满状况中的一项的信号,并且
其中所述链路控制器逻辑可操作用于:
发送优先级流控信号以基于指示与所述专用缓冲器关联的所述缓冲器充满状况的所述信号来中断向所述专用缓冲器中的至少一个专用缓冲器发送数据,
其中,所述多个队列控制器的每个队列控制器可操作用于独立控制所述链路控制器逻辑对指示所述缓冲器充满状况的信号的响应的时间段。
6.根据权利要求5所述的PLD,其中所述优先级流控信号由指示所述缓冲器充满状况的所述信号触发。
7.根据权利要求5所述的PLD,其中从所述链路控制器逻辑发送所述优先级流控到检测到所述缓冲器充满状况的时间段对于给定专用缓冲器是一致的。
8.根据权利要求5所述的PLD,其中所述链路控制器被进一步配置为从对应的所述队列控制器接收与每个专用缓冲器关联的暂停时间,其中所述暂停时间指示在重新检查缓冲器水平之前所述链路控制器等待的时间段,并且其中所述暂停时间可针对每个专用缓冲器独立编程。
9.根据权利要求5所述的PLD,其中所述PLD结合到用于处理网络上的存储数据的交换机中,并且其中每个专用缓冲器被包括在所述PLD外部的集成电路中。
10.根据权利要求5所述的PLD,其中所述优先级流控信号是可操作用于使所述专用缓冲器根据数据分组中的位设置而进行停止发送数据或开始发送数据之一的所述数据分组。
11.根据权利要求10所述的PLD,其中所述位设置代表暂停时间,并且位设置为零使得所述专用缓冲器开始发送数据。
12.一种非阻塞式优先级流控方法,包括:
监控指示多个缓冲器处理数据的缓冲器状态的多个缓冲器水平信号,所述监控通过多个队列控制器执行,其中所述多个队列控制器中的每个队列控制器可操作用于耦合到所述多个缓冲器中的对应缓冲器,其中所述多个缓冲器驻留在所述多个队列控制器所驻留的集成电路(IC)外部的远程数据发送器中;
通过第一队列控制器检测处理数据的所述多个缓冲器的第一缓冲器的缓冲器充满状况;
发送可操作用于引起处理数据的所述多个缓冲器的所述第一缓冲器中断所述处理的第一信号;
将对所述第一队列控制器的输出信号的监控暂停由所述第一信号指定的时间段,所述第一队列控制器的所述输出信号指示缓冲器充满状况;以及
在所述时间段结束后,继续监控所述第一队列控制器的所述输出信号,其中,在暂停对所述第一队列控制器的所述输出信号的所述监控期间的同时,监控第二队列控制器的输出信号。
13.根据权利要求12所述的方法,还包括:
响应于通过所述第二队列控制器在处理数据的所述多个缓冲器中的第二缓冲器处检测到缓冲器充满状况而发送可操作用于使得所述多个缓冲器的所述第二缓冲器中断所述处理的第二信号;以及
将对所述第二队列控制器的输出信号的所述监控暂停由所述第二信号指定的时间段,其中发送所述第二信号出现在由所述第一信号指定的所述时间段之前。
14.根据权利要求13所述的方法,其中由所述第二信号指定的所述时间段和由所述第一信号指定的所述时间段不同。
15.根据权利要求12所述的方法,还包括:
发送具有使得所述第一缓冲器中断所述处理的位设置的数据分组,其中所述处理是发送数据分组或接收数据分组之一,并且其中处理数据的所述多个缓冲器位于所述多个队列控制器的芯片外。
16.根据权利要求12所述的方法,还包括:
在所述时间段结束后检测缓冲器未充满状况;以及
发送可操作用于使得所述第一缓冲器继续所述处理的第三信号。
17.根据权利要求16所述的方法,其中所述第三信号和所述第一信号是数据分组,并且其中所述第三信号和所述第一信号的区别仅在于所述数据分组共用字段的单个位设置。
CN201180024325.8A 2010-05-16 2011-05-16 用于实现非阻塞式基于优先级流控的方法和装置 Active CN102893566B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US34512410P 2010-05-16 2010-05-16
US61/345,124 2010-05-16
US13/107,689 US8861364B2 (en) 2010-05-16 2011-05-13 Method and apparatus for implementing non-blocking priority based flow control
US13/107,689 2011-05-13
PCT/US2011/036666 WO2011146400A2 (en) 2010-05-16 2011-05-16 Method and apparatus for implementing non-blocking priority based flow control

Publications (2)

Publication Number Publication Date
CN102893566A CN102893566A (zh) 2013-01-23
CN102893566B true CN102893566B (zh) 2016-08-03

Family

ID=44972441

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180024325.8A Active CN102893566B (zh) 2010-05-16 2011-05-16 用于实现非阻塞式基于优先级流控的方法和装置

Country Status (4)

Country Link
US (1) US8861364B2 (zh)
EP (1) EP2572480B1 (zh)
CN (1) CN102893566B (zh)
WO (1) WO2011146400A2 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7639608B1 (en) * 2003-10-23 2009-12-29 Foundry Networks, Inc. Priority aware MAC flow control
US7761589B1 (en) 2003-10-23 2010-07-20 Foundry Networks, Inc. Flow control for multi-hop networks
EP2747507B1 (en) * 2012-12-21 2015-03-25 Telefonaktiebolaget L M Ericsson (publ) Scheduling for devices with limited signal processing capability
JP6036426B2 (ja) * 2013-03-15 2016-11-30 富士通株式会社 制御タイミング同期方法、光伝送システム及び光伝送装置
US20150085647A1 (en) * 2013-08-12 2015-03-26 Nec Laboratories America, Inc. Eliminating External Buffer for Hitless Protection by Using Channelized Flow Control
US9674086B2 (en) * 2013-11-05 2017-06-06 Cisco Technology, Inc. Work conserving schedular based on ranking
US9843518B2 (en) 2014-03-14 2017-12-12 International Business Machines Corporation Remotely controlled message queue
US9542243B2 (en) 2014-03-14 2017-01-10 International Business Machines Corporation Coalescing stages in a multiple stage completion sequence
US9588734B2 (en) * 2014-06-13 2017-03-07 Ati Technologies Ulc Translation layer for controlling bus access
US10912626B2 (en) 2015-02-18 2021-02-09 James R. Glidewell Dental Ceramics, Inc. Integrated digital workflow for providing dental restoration
US20200404541A1 (en) * 2019-06-19 2020-12-24 Qualcomm Incorporated System and method for flow control and acknowledgement transmission
CN112398748A (zh) * 2021-01-21 2021-02-23 全时云商务服务股份有限公司 基于mq的智能限流方法、装置及计算机可读介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101572672A (zh) * 2002-01-03 2009-11-04 英特尔公司 以太网体系结构中基于优先级的流控制方法和装置
CN101621833A (zh) * 2009-08-13 2010-01-06 中兴通讯股份有限公司 一种报文流量控制方法和基站控制器

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2285167C (en) * 1998-10-12 2004-12-07 Jinoo Joung Flow control method in packet switched network
US6618378B1 (en) 1999-07-21 2003-09-09 Alcatel Canada Inc. Method and apparatus for supporting multiple class of service connections in a communications network
US6721797B1 (en) 2000-05-16 2004-04-13 Lucent Technologies Inc. Partial back pressure (PBP) transmission technique for ATM-PON using rate controllers to reduce a maximum output rate from a peak rate to a controlled rate
JP4484317B2 (ja) 2000-05-17 2010-06-16 株式会社日立製作所 シェーピング装置
US7239636B2 (en) 2001-07-23 2007-07-03 Broadcom Corporation Multiple virtual channels for use in network devices
JP3970138B2 (ja) 2002-09-09 2007-09-05 富士通株式会社 イーサネットスイッチにおける輻輳制御装置
US7649843B2 (en) * 2004-02-09 2010-01-19 Transwitch Corporation Methods and apparatus for controlling the flow of multiple signal sources over a single full duplex ethernet link
US7593329B2 (en) * 2004-10-29 2009-09-22 Broadcom Corporation Service aware flow control
US7948880B2 (en) 2004-10-29 2011-05-24 Broadcom Corporation Adaptive dynamic thresholding mechanism for link level flow control scheme
US7773504B2 (en) 2007-11-13 2010-08-10 Intel Corporation Bandwidth allocation for network packet traffic
JP2009212634A (ja) * 2008-03-03 2009-09-17 Nec Corp ノード装置、パケットスイッチ装置、通信システム、およびパケットデータの通信方法
US20090300209A1 (en) * 2008-06-03 2009-12-03 Uri Elzur Method and system for path based network congestion management
US7936669B2 (en) * 2008-06-04 2011-05-03 Entropic Communications, Inc. Systems and methods for flow control and quality of service
US8107365B2 (en) * 2008-11-24 2012-01-31 Cisco Technology, Inc. Interim PHY solution for LPI compatibility with legacy devices
US8312188B1 (en) * 2009-12-24 2012-11-13 Marvell International Ltd. Systems and methods for dynamic buffer allocation
US20110261686A1 (en) * 2010-04-21 2011-10-27 Kotha Saikrishna M Priority Pause (PFC) in Virtualized/Non-Virtualized Information Handling System Environment
US8576713B2 (en) * 2010-04-23 2013-11-05 Ixia Traffic generator with priority flow control

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101572672A (zh) * 2002-01-03 2009-11-04 英特尔公司 以太网体系结构中基于优先级的流控制方法和装置
CN101621833A (zh) * 2009-08-13 2010-01-06 中兴通讯股份有限公司 一种报文流量控制方法和基站控制器

Also Published As

Publication number Publication date
US20110286335A1 (en) 2011-11-24
EP2572480A2 (en) 2013-03-27
US8861364B2 (en) 2014-10-14
EP2572480B1 (en) 2014-12-03
CN102893566A (zh) 2013-01-23
WO2011146400A2 (en) 2011-11-24
EP2572480A4 (en) 2013-12-04
WO2011146400A3 (en) 2012-04-05

Similar Documents

Publication Publication Date Title
CN102893566B (zh) 用于实现非阻塞式基于优先级流控的方法和装置
US11962490B2 (en) Systems and methods for per traffic class routing
US8248930B2 (en) Method and apparatus for a network queuing engine and congestion management gateway
US8812725B2 (en) System and method for latency reduction in a network environment
CN105359468B (zh) 用于传送数据的装置、方法、系统和介质
Vattikonda et al. Practical TDMA for datacenter Ethernet
US10333648B1 (en) System and method for provisioning resources for lossless operation in a network environment
US11502952B2 (en) Reorder resilient transport
CN103997465A (zh) 一种生成cnm的方法及设备
CN108989235A (zh) 一种报文转发控制方法及装置
CN102132511A (zh) 用于虚拟机的虚拟交换机服务质量
KR20140145096A (ko) 네트워크 디바이스들을 위한 감소된 버퍼 사용을 갖는 흐름 제어
US20080059686A1 (en) Multiple context single logic virtual host channel adapter supporting multiple transport protocols
CN102025638A (zh) 基于优先级的数据传输方法、装置及网络设备
US11134125B2 (en) Active link during LAN interface reset
US8018851B1 (en) Flow control for multiport PHY
US20170149666A1 (en) Data traffic optimization system
US10834672B2 (en) Power management of network links
CN110121868A (zh) 通过被配置为加速服务的加速组件的消息传输
CN116868553A (zh) 用于管理端点资源和拥塞缓解的数据中心网络上的动态网络接收器驱动的数据调度
US20210203620A1 (en) Managing virtual output queues
CN103890746B (zh) 报文发送控制方法、处理方法、设备及系统
Zhao et al. ZD: a scalable zero-drop network stack at end hosts
US20120278514A1 (en) Systems and Methods for Notification of Quality of Service Violation
CN115967686A (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