2024年6月10日发(作者:)

(19)中华人民共和国国家知识产权局

(12)发明专利说明书

(21)申请号 CN2.3

(22)申请日 2007.01.25

(71)申请人 华为技术有限公司

地址 518129 广东省深圳市龙岗区坂田华为总部办公楼

(72)发明人 杜文华 吴振耀 唐德智 罗焰斌

(74)专利代理机构 北京凯特来知识产权代理有限公司

代理人 郑立明

(51)

H04L12/56

H04L1/16

(10)申请公布号 CN 101035067 A

(43)申请公布日 2007.09.12

权利要求说明书 说明书 幅图

(54)发明名称

一种基于输出队列的流控实现方法

及装置

(57)摘要

本发明涉及一种基于输出队列的流

控实现方法及装置。本发明主要包括:采

用基于输出端口的信元排队和对信元从不

同角度进行统计计数来实现队列的调度和

流控。在这种体系下,流控和队列的管理

是分开进行;所述的队列管理直接应用于

信元的调度,所述的流控不是直接依赖于

队列管理中的信元统计结果,而是通过从

信元的优先级、输出端口、信元的源芯片

号等角度出发,采用不同的组合对信元进

行统计计数,并在此基础上实现流控。因

此,本发明的实现可以使参加调度的队列

数目少而简单,易于管理,信元调度易于

实现。而且本发明可以使反压控制力度做

的很细,并且十分灵活,可以根据实际选

择使用。

法律状态

法律状态公告日

法律状态信息

法律状态

权 利 要 求 说 明 书

1、一种基于输出队列的流控实现方法,该方法应用的系统中包括信息发送端和信

息接收端,且在信息接收端中包括输入处理单元、信元调度单元和队列管理单元,

其中,所述的队列管理单元采用基于输出端口的队列管理方式,其特征在于,该方

法包括:

统计获取信息接收端中所述输入处理单元和信元调度单元中的信元处理信息;

根据统计获取的信元处理信息确定需要进行反压控制的信息发送端,并对相应的信

息发送端进行反压控制。

2、根据权利要求1所述的方法,其特征在于,所述的信元处理信息包括:输入处

理单元的入队信息和信元调度单元中的信元出队信息。

3、根据权利要求1所述的方法,其特征在于,所述的对输入处理单元以及信元调

度单元的信元处理信息的统计处理包括:

对信元调度单元送进来的出队信息,根据信元的优先级和输出端口确定信元的源芯

片号,并结合输入处理单元送进来的入队信息,基于信元的优先级、输出端口和信

元的源芯片号中的至少一项对相应信元的处理数目进行统计。

4、根据权利要求1、2或3所述的方法,其特征在于,所述的对相应的信息发送端

反压控制的处理过程具体包括:根据信息接收端的承载能力及应用需求,预先设定

一组反压控制信元数量阈值,当统计输出端口的相关信元数量大于预先设定的阈值,

则针对该相关信元产生反压信息,并根据该相关信元处理信息的统计结果,通知该

相关信元的信息发送端暂停发送。

5、根据权利要求4所述的方法,其特征在于,所述的方法还包括对相应的信息发

送端进行反压取消控制,具体包括:根据信息接收端的承载能力及应用需求预先设

定一组取消反压控制信元数量阈值,当统计输出端口的相关信元数量小于或等于预

先设定的阈值,则针对该相关信元产生反压取消信息,并根据该相关信元处理信息

的统计结果,通知该相关信元的信息发送端恢复信元的发送操作。

6、根据权利要求4所述的方法,其特征在于,所述的信元数量阈值是根据信息接

收端的承载能力以及实际的应用需要进行设置。

7、根据权利要求1、2或3所述的装置,其特征在于,所述的反压控制包括针对整

个缓存信元的全局反压控制、针对某个优先级的信元的反压控制、针对某个输出端

口信元的反压控制和针对某一个队列的信元的反压控制中的至少一项。

8、一种基于输出队列的流控实现装置,该装置应用的系统中包括信息发送端和信

息接收端,且在信息接收端中依次包括连接输入处理单元、队列管理单元和信元调

度单元,其中,所述的队列管理单元采用基于输出端口的队列管理方式,其特征在

于,该装置包括:

信元统计单元,用于分别获取并统计信息接收端中所述输入处理单元和信元调度单

元中的信元处理信息;

反压控制单元,用于根据统计获取的信元处理信息确定需要进行反压控制的信息发

送端,并对相应的信息发送端进行反压控制。

9、根据权利要求8所述的装置,其特征在于,所述的反压控制单元进行的反压控

制包括对信元发起反压,且所述对信元发起反压的处理过程包括:根据预先设定的

反压控制信元数量阈值,当统计输出端口的相关信元数量大于预先设定的该阈值,

则针对该相关信元产生反压信息。

10、根据权利要求8所述的装置,其特征在于,所述的反压控制单元进行的反压控

制包括对信元发起反压取消,且所述发起反压取消的处理过程包括:根据预先设定

的取消反压控制信元数量阈值,当统计输出端口的相关信元数量小于或等于预先设

定的该阈值,则针对该相关信元产生反压取消信息。

11、根据权利要求8、9或10所述的装置,其特征在于,所述的反压控制单元包括

针对整个缓存信元的全局反压控制、针对某个优先级的信元的反压控制、针对某个

输出端口信元的反压控制和针对某一个队列的信元的反压控制中的至少一项。

说 明 书

技术领域

本发明涉及网络通信领域,尤其涉及一种流控实现技术。

背景技术

目前,三级交换系统已经广泛应用于通信设备中。如图1所示,组成三级交换系统

的芯片主要包括:

(1)共享缓存交换芯片(SM,Switching Memory chip),主要实现信元缓存、队列管理

和调度等功能。

(2)纵横交叉交换芯片(SC,Switching Crossbar Chip),主要完成对SM的请求进行

仲裁、实现无阻塞空分交换以及对收集到的反压信息处理后转发给相应的SM。

其中,如图1所示,所述的SM进一步又可以分成以下两部分:

(1)SMi,即SM的上行部分,有输入端口和输出端口,主要实现对需要交换的信元

进行缓存、进行队列管理、发送请求给SC、根据SC送来的仲裁信号完成调度的

功能。

(2)SMe,即SM的下行部分,也是既有输入端口也有输出端口,主要实现把SC交

换过来的信元进行缓存、实现队列管理、向SMi反映SMe的反压状况、完成信元

的调度等功能。

在三级交换系统中,任何一个SMe可以接收来自任何一个SMi的信元;任何一个

SMi发出的信元都可以通过SC交换到任何一个SMe。

这样,三级交换系统中,当各个SMi在一段时间内同时向某一个SMe发送信元时,

就需要对来自于各个SMi的信元进行合理的管理,从而实现信元的合理调度。

另外,三级交换系统中,还需要提供相应的流控措施,以保证整个信元传输过程可

以正常进行。

目前,在三级交换系统中,如图2所示,采用了相应的反压控制措施对相应的信元

传输过程进行控制,具体方案为:

当SMe检测到空闲缓存小于设定的阈值时,该SMe可以将相关信息(即反压信息)

通知SMi,SMi将反压信息放在信元头发送给SC;

SC通过信元头获取反压信息后,将反压信息发往各个SMe;

各个SMe收到反压信息后,将反压信息通知各自的SMi,各个SMi收到反压信息

后,相应的有发送请求的SMi将停止发送请求。

当SMe BP(指发生反压的SMe,BP,即back pressure,反压)发现空闲缓存大于相

应的阈值,则采用和发送反压信息相同的手法,将反压取消的信息通过SC告诉各

个SM,具体如图3所示,各个SM检测到反压信息已经被取消后,需要发送信息

的SMi重新向SC发送请求,并可以通过SC继续将信元发给SMe。

目前,在三级交换系统中,基于上述反压控制机制,分别提供了两种可供选择的流

控和调度实现方案,下面将分别进行说明。

(一)实现方案一

该方案为基于源芯片排队的流控和调度实现方案,该方案中具体是采用一种特定的

队列管理机制,利用该机制同时实现流控和信元的调度。

基于源芯片排队的队列管理机制的原理为:假设在交换系统中有N个SM,每个

SMe有M个输出端口,信元的优先级有W种。对于每一个SMe,其对收到的信元

按照具有相同源SM号、相同输出端口、相同优先级的信元构成一个队列的原则进

行分类,则将需要维护N×M×W个队列的信息,队列的信息包括队列的长度以及

队列中每一个信元在缓存中的位置等信息。

基于上述维护的N×M×W个队列的信息,在基于源芯片排队的队列管理机制中,

相应的输出端口调度方案为:首先,选择输出端口,之后,选择源芯片号及优先级,

最后,根据选择的结果在对应的队列中选择一个信元,并输出。当一个信元可以从

SMe的某个输出端口出去时,则相应的队列的信元数目减一,并更新队列信息。

在基于源芯片排队的队列管理机制下,相应的队列反压的流控实现方案为:某个

SMe(比如编号A),检测到来自一个SMi(比如编号B)的信元或者数据包的队列长

度超过预定的阀值后,就单独通知SMi(B),让其停止或者降低速率向SMe(A)发送

数据的流量。也就是说,SMe(A)对所有SMi的流控是可以做到各自独立的。相应

的全局反压的流控实现方案为:当检测到某一SMe空闲缓存低于一定阀值时,则

生成相应的全局反压信号,并通过本芯片的SMi传递给SC,由SC通知所有的

SMi停止向该SMe发送信元。

在该实现方案,由于参加调度的队列数目众多,因此需要的资源随着交换网的扩展

快速地增加。相应的调度的实现也越复杂,使得在有限的时间内完成众多的队列管

理工作较为困难

(二)实现方案二

该方案是基于输出端口排队实现流控和调度,即采用一种特定的队列管理机制,利

用该机制可以同时实现基于输出端口的流控和信元的调度。

基于输出端口排队的队列管理机制的原理为:假设在交换系统中,每个SMe有M

个输出端口,信元的优先级有W种。对于每一个SMe,其对收到的信元按照所有

相同输出端口、相同优先级的信元构成一个队列的规则进行分类,共有M×W个队

列,该队列管理机制需要维护M×W个队列的信息,队列的信息包括队列的长度以

及队列中每一个信元在缓存中的位置等信息。

在基于上述的输出端口排队的队列管理机制下,对信元的调度方案包括:首先确定

输出端口,接着选择优先级,然后根据选择的结果在对应的队列中选择一个信元并

输出,当一个信元从SMe的某个输出端口出去的时候,相应的该队列的信元数目

减一,同时需要对信元占用的缓存进行回收,并更新队列信息。

在基于上述的输出端口排队的队列管理机制下,对信元反压的流控实现过程包括:

当某个SMe检测到需要从该端口出去的信元数目超出阀值的时候,该SMe就会生

成相应的反压信号,并通过本芯片的SMi传递给SC,再由SC通知所有SMi都停

止向该端口发送数据流。相应的全局反压的流控实现方案包括:当检测到空闲缓存

低于一定阀值的时候,生成相应的反压信号,该反压信号就会通过本芯片的SMi

传递给SC,再由SC告诉所有的SMi停止往该SMe发送信元。

在该方案中,反压控制只限于端口,而无法实现单独针对某一队列信元的反压控制,

因此,控制的粒度不够细,同时,还存在流控的不公平性问题。比如,当有多个

SMi向同一个SMe发送流量,其中一个SMi的送来的流量特别大,其他SMi的送

来的流量比较小,此时,若端口出现堵塞,则将让所有SMi停止向该端口发送流

量,这对于流量小的SMi而言显然是不公平的。

发明内容

本发明的实施例提供一种基于输出队列的流控实现方法及装置,从而可以使参加调

度的队列减少,管理简单,并具有易于实现及流控机制可以灵活设置以满足实际应

用的特点。

本发明的实施例提供了一种基于输出队列的流控实现方法,该方法应用的系统中包

括信息发送端和信息接收端,且在信息接收端中包括输入处理单元、信元调度单元

和队列管理单元,其中,所述的队列管理单元采用基于输出端口的队列管理方式,

且该方法包括:

统计获取信息接收端中所述输入处理单元和信元调度单元中的信元处理信息;

根据统计获取的信元处理信息确定需要进行反压控制的信息发送端,并对相应的信

息发送端进行反压控制。

本发明的实施例提供了一种基于输出队列的流控实现装置,该装置应用的系统中包

括信息发送端和信息接收端,且在信息接收端中依次包括连接输入处理单元、队列

管理单元和信元调度单元,其中,所述的队列管理单元采用基于输出端口的队列管

理方式,该装置包括:

信元统计单元,用于分别统计获取信息接收端中所述输入处理单元和信元调度单元

中的信元处理信息;

反压控制单元,用于根据统计获取的信元处理信息确定需要进行反压控制的信息发

送端,并对相应的信息发送端进行反压控制。

由上述本发明实施例提供的技术方案可以看出,本发明的实施例可以使得对反压的

控制基于对信元的各种统计来实现,而队列的管理直接作用于信元的调度。本发明

由于对反压控制和队列的管理分开,因此,可以使反压控制粒度根据需要进行相关

调整,选择不同的组合方式来进行使用,从而在需要时可以使控制粒度做到很细。

而且本发明还具有管理简单,易于实现,占用资源较少,并具有灵活的流控机制以

满足实际的应用的特点。

附图说明

图1为现有技术提供的由SM和SC组成的三级交换系统的示意图;

图2为现有技提供的实现反压控制的流程图;

图3为现有技提供的实现反压取消控制的流程图;

图4为本发明提供的实现信元流控机制的装置结构图;

图5为本发明提供的实现信元调度的流程图;

图6为本发明提供的实现信元流控的流程图。

具体实施方式

本发明是从不同角度对信元进行统计计数以实现针对队列的流控。本发明中,相应

的流控功能的实现不再是直接依赖于队列管理中的信元统计结果,而是通过从信元

的优先级、输出端口、信元的源芯片号等多角度出发,对信元进行统计计数,并在

此基础上实现流控。

本发明在实现对信元队列流控所应用的系统包括信息发送端和信息接收端,且在信

息接收端中包括:用于接收输入的信元的连接输入处理单元及用于对队列管理单元

管理的信元队列进行调度发送处理的信元调度单元;其中,所述的队列管理单元采

用基于输出端口的队列管理方式。

基于上述系统,本发明提供的对信元传输的流控机制则是根据对信元的各种统计信

息,产生各种反压信息和反压取消信息,以达到对信元流控的目的,相应的具体处

理过程包括:

1、统计处理信息接收端中所述输入处理单元和信元调度单元中的信元处理信息,

具体包括:

对信元调度单元送进来的出队信息,根据信元的优先级和输出端口,确定信元的源

芯片号,另一方面,结合输入处理单元送进来的入队信息,从信元的优先级、输出

端口、信元的源芯片号等角度考虑,统计出相关信元的数目,并将统计结果送给反

压控制单元;

2、根据统计获取的针对各个单元的信元处理信息确定需要进行反压控制的信息发

送端,并对相应的信息发送端进行反压控制;

在该过程中,所述的对相应的信息发送端反压控制包括发起反压控制和反压取消控

制两个过程,其中:

(1)所述的发起反压控制的具体处理过程包括:

根据信息接收端的承载能力预先设定一组信元数量阈值,即设置相应的反压控制信

元数量阈值,当统计输出端口的相关信元数量大于预先设定的该阈值,则针对该相

关信元产生反压信息,并根据该相关信元处理信息的统计结果,通知该相关信元的

信息发送端暂停发送;下面将举例对反压控制过程进行说明:

例一:设定针对某一优先级的反压控制信元数量阈值,若统计的各单元收到或处理

的具有某一优先级的信元的数量超过该阈值,则产生反压控制信息,对发送相应优

先级信元的信息发送端进行反压控制;另一方面,设定全局反压的阀值,当缓存中

所有信元的数目超过该阀值,则可以发送全局反压信息,控制所有的SM停止往该

SM发送信元;

相应的反压控制的应用实例可以为:

假设SMe(A)的总的缓存数目为10000,对SMe(A)进行如下的设置:优先级为0的

信元反压阀值为5000,优先级为1、2、3的信元的反压控制信元反压阀值为2000,

全局反压控制阀值设置为7500,假设在某一时刻,统计单元的统计结果为:优先

级为0的信元为4998个,优先级为1、2、3的信元为800个。假设在接下来的时

间内,输入处理单元通知信元统计单元:在这一段时间内,优先级为0的信元新增

加了20个,优先级为1、2、3的信元新增加3个。另一方面,信元调度单元告诉

信元统计单元:在这一段时间内,优先级为0的信元被送出了2个,优先级为1、

2、3的信元被送出了2个。信元统计单元根据输入处理单元和信元调度单元送来

的信息,得出以下的统计信息:目前优先级为0的信元为5016个,优先级为1、2、

3的信元为801个,缓存中信元的总数为7419个。信元统计单元把统计信息发送

给反压控制单元,由于优先级为0的信元数目为5016个,超过了设定的阀值5000,

因此反压控制模块就会把优先级为0的反压信息通过上行的信元头携带给SC,SC

收到该反压信息,就会告诉所有的SM停止往该SM发送优先级为0的信元,但是

可以发送其他优先级的信元。这样经过一段时间,由于其他SM停止向该SM发送

优先级为0的信元,而该SMe(A)又不断的把优先级为0的信元调度出去,因此在

缓存中的信元数目必然会不断减少,从而确保了缓存中优先级为0的信元不会严重

偏离5000这一阀值。另一方面,假设又经过一段时间后,统计单元的统计结果为:

优先级为0的信元为3000个,优先级为1、2、3的信元为1502个。这样整个缓存

中的信元数目为7506个,超过了全局反压阀值7500。反压控制单元就会把该信息

通过SC告诉所有的SM,所有SM就会停止往该SM(A)发送信元,这样就可以避

免SMe(A)中缓存被耗尽而不得不丢弃信元的现象。

上面所说的仅仅是实际应用中的一个例子。事实上,采用什么样的流控手段完全是

根据实际需要来确定,比如说:如果实际应用中需要对各个SM进行不同的流控,

可以对针对不同的SM设定不同的阀值。整个反压的产生和取消的过程同上述的例

子都是一样的。

(2)所述的反压取消控制的具体处理过程包括:

根据信息接收端的承载能力以及实际应用的需要预先设定一组信元数量阈值,即设

置相应的取消反压控制信元数量阈值,当统计输出端口的相关信元数量小于或等于

预先设定的该阈值,则针对该相关信元产生反压取消信息,并根据该相关信元处理

信息的统计结果,通知该相关信元的信息发送端恢复发送;该取消反压控制信元数

量阈值可以与之前的反压控制信元数量阈值相同,也可以各自独立设置;

其中,所述的取消反压控制信元数量阈值是根据信息接收端的承载能力,从信元的

优先级信息、信元的输出端口和/或信元的源端信息等角度考虑,并结合实际需要

进行相关的设置,具体可以包括针对整个缓存全局反压的信元数量阈值,针对某个

输出端口反压的信元数量阈值和/或针对某一个信元队列反压的信元数量阈值等;

当然,还可以包含其他阈值,例如,可以设置来自某个芯片或者某个优先级的信元

数量阀值等。

比如,统计输入处理单元缓存的所有信元的数目,可以用来发送当缓存不足的反压

信号,这种反压称为全局反压;统计输出端口的信元数目或者统计某个输出端口中

具有同一优先级的信元的数目,可以对需要从该输出端口出去的队列进行反压控制;

对具有同源芯片号、同输出端口、同优先级的信元进行统计,可以具体控制某个队

列的反压;总的来说,反压的控制力度都可以针对信元的优先级、输出端口、信元

的源芯片号这几方面根据需要进行相关配置,通过不同的组合方式来进行使用。

本发明还提供了一种基于输出队列的流控实现装置,该装置应用的系统中包括信息

发送端和信息接收端,且在信息接收端中依次包括连接输入处理单元、队列管理单

元和信元调度单元,其中,所述的队列管理单元采用基于输出端口排队的队列管理

方式直接应用于信元的调度;为实现本发明,在该装置中还设置了以下两个处理单

元,具体为:

信元统计单元,一方面用于对信元调度单元送进来的出队信息,根据信元的优先级

和输出端口,确定信元的源芯片号,另一方面,用于结合输入处理单元送进来的入

队信息,从信元的优先级、输出端口、信元的源芯片号等角度出发,统计出相关信

元的数目,相应的统计结果将被发送给反压控制单元;

反压控制单元,用于根据统计获取的信元处理信息确定需要进行反压控制的信息发

送端,并对相应的信息发送端进行反压控制。

为了便于理解本发明,下面将结合如图4所示的具体实现结构图对各个单元的作用

作具体的说明。

(一)输入处理单元

所述的输入处理单元负责接收下行信元,同时把信元的入队信息作为信元处理信息

发给队列管理单元和信元统计单元;其中,所述的入队信息主要包括信元的源端信

息(即发送信元的源芯片)、信元的输出端口信息、信元的优先级信息等。

(二)队列管理单元

所述的队列管理单元主要有两方面的功能,即入队管理和出队管理。

所述的入队管理是指队列管理单元会根据输入处理单元送来的入队信息,采用基于

输出端口排队的方式,令所有具有相同输出端口、相同优先级的信元构成一个队列,

例如,输出端口数为M,有W种优先级,则同时需要管理M×W个队列的信息;

所述的出队管理是指队列管理单元会根据信元调度单元送来的出队信息,将调度出

去的信元信息从相关的队列中删除。

(三)信元统计单元

所述的信元统计单元根据当前的入队信息和出队信息(其中,在处理出队信息时,

还会根据出队信元的输出端口和优先级找出信元的源芯片号),从信元的优先级、

输出端口、信元的源芯片号等角度出发,统计出相关信元的数目,并且把统计结果

送给反压控制单元,作为反压产生或取消的依据;比如说,统计缓存中所有信元的

数目,可以用来发送当缓存不足的反压信号;统计输出端口的信元数目或者统计某

个输出端口中具有同一优先级的信元的数目,可以对需要从该输出端口出去的队列

进行反压控制,对具有同源芯片号、同输出端口、同优先级的信元进行统计,可以

具体控制某个队列的反压;

所述的信元统计单元具体为针对信元的优先级、输出端口、信元的源芯片号等任意

一种或多种信息的统计,以作为反压或反压取消控制的依据。

(四)信元调度单元

所述的信元调度单元会根据队列管理单元送来的各个端口的信元数目来决定当前是

否有信元可调,如果当前端口有信元可调,则进一步进行优先级的选择,从而完成

从M×W个队列中选出一个队列的操作,然后把排在该队列最前面的信元调度出去,

这样就确保了最早到达的信元可以最早得到服务,实现了信元的公平调度;同时还

会把出队信息通知队列管理单元和信元统计单元。

(五)反压控制单元

所述的反压控制单元主要是根据信元统计单元送过来的各种统计信息,发送各种反

压信息以及各种反压取消的信息;

所述的反压控制单元进行反压的处理过程包括:根据预先设定的信元数量阈值,当

统计输出端口的相关信元数量大于预先设定的阈值,则针对该相关信元产生反压信

息;

同理,所述的反压控制单元进行反压取消的处理过程包括:根据预先设定的信元数

量阈值,当统计输出端口的相关信元数量小于或等于预先设定的阈值,则针对该相

关信元产生反压取消信息。

下面将结合附图对本发明在某一信元队列进来后,各个单元是如何相互合作来实现

信元的调度和流控为实施例对本发明的实现方案进行详细的说明。

(一)图5所示的是本发明信元由输入到调度出去的过程,其具体步骤包括:

步骤51:信元从输入端口进来,输入处理单元把信元缓存起来,然后把相关的入

队信息告诉队列管理单元和信元统计单元。所述的入队信息主要包括信元来自哪个

芯片、要从哪个端口输出、信元的优先级等信息。

步骤52:队列管理单元和信元统计单元对入队信息进行处理;

所述的队列管理模块对入队信息的入队管理具体包括:根据输入处理单元送来的入

队信息,采用基于输出端口排队的方式,让所有相同输出端口,相同优先级的信元

构成一个队列。所述的信元统计单元对入队信息的处理具体包括:对输入处理单元

送来的入队信息,根据信元的优先级、输出端口、信元的源芯片号等这几方面,通

过不同的组合方式进行统计,统计信元的数目,并把统计结果发送给反压控制单元,

作为反压产生的依据。

步骤53:信元调度单元检查到输出队列中信元个数不为0,把信元调度出去,同时

返回出队信元的信息给队列管理单元和信元统计单元。

步骤54、步骤55:队列管理单元和信元统计单元对出队信息进行处理。所述的出

队信息主要包括出队信元输出端口、信元的优先级等信息。所述的队列管理单元对

出队信息的管理包括把已经调度出去的信元信息从队列中删除。所述的信元统计单

元根据信元的出队信息,基于信元的优先级、输出端口确定信元的源芯片号,并根

据信元的优先级、输出端口、信元的源芯片号等进行相关信元的数目的统计,之后,

再将统计结果发给反压控制单元,以作为反压取消的依据。

通过上述过程,共享缓存交换芯片的下行部分SMe可以在接收到信元后,基于信

元的优先级、输出端口等信息,对输出端口的信元队列进行排队来管理每一个端口

的信元,从而实现信元的调度。

(二)图6所示的是本发明实现信元流控的具体过程,为了描述方便,这里以如何对

来自芯片A优先级为0的队列实现流控为例进行说明,实现其他类型的流控过程

与该过程类似,其具体步骤如下:

反压控制过程包括:

步骤61:输入信元被正确接收并缓存后,输入处理单元将相关的队列信息发送给

信元统计单元;

步骤66:当芯片A优先级0的信元被信元调度单元调度出去以后,相关的出队信

息发给信元统计单元;

步骤62:信元统计单元根据入队信息和出队信息,对信元进行统计,同时把各种

统计结果发送给反压控制单元;

步骤63:反压控制单元根据统计结果产生反压信号;

具体为:反压控制单元处理各种统计结果,并检测来自芯片A优先级为0的信元

个数是否超出预先设置的阀值,如果超出阀值,则产生反压信号,并继续执行步骤

64;

步骤64:反压信号通过下行信元发送给纵横交叉交换芯片SC,并通过SC转发该

反压信号;

步骤65:纵横交叉交换芯片SC将反压信号发送给芯片A后,芯片A接收该反压

信号则暂时停发0优先级的信元。

反压取消控制过程包括:

步骤61:输入信元被正确接收并缓存后,输入处理单元把相关的队列信息发送给

信元统计单元;

步骤66:当芯片A优先级0的信元被信元调度单元调度出去以后,相关的出队信

息发给信元统计单元;

步骤62:信元统计单元根据入队信息和出队信息进行统计,同时把各种统计结果

发送给反压控制单元;

步骤67:反压控制单元产生反压取消信号;

具体为:反压控制单元处理各种统计结果,并检测来自芯片A优先级为0的信元

个数是否低于阀值,如果是,则产生反压取消信号;

步骤68:反压取消信号通过下行信元发送给纵横交叉交换芯片SC,并由SC转发

该反压取消信号;

步骤69:SC将反压取消信息发送给芯片A后,芯片A接收该反压取消信号则可

以重新发送0优先级的信元。

通过上述过程,SMe可以在接收到信元后,基于对信元的优先级、输出端口、信

元的源芯片号等不同角度进行设置,统计信元的数目,从而实现从粗到细对反压进

行控制,最粗可以实现针对整个缓存的全局反压,最细可以对来自某个芯片的某个

优先级队列进行反压。

综上所述,本发明不仅可以实现对信元的调度,而且使参加调度的信元队列少,易

于管理;同时可以实现多种反压控制粒度。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,

任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或

替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要

求的保护范围为准。