专利名称:信元重排序方法、使用该方法的信元处理方法及装置的利记博彩app
技术领域:
本发明涉及通信领域,尤其涉及信元重排序方法、信元处理方法、以及信元处理装置。
背景技术:
交换网(Switch Fabric)是路由器中的核心模块,完成多个端口之间包或信元(信元定义输入交换网的数据分组单元)的交换,即把到达输入端口的信元交换至相应的输出端口。
交换网主要有时分交换和空分交换两种。时分交换网的典型例子是共享缓存和共享总线交换结构,由于其扩展性较差,一般用在小交换容量设备中。而在空分交换网中比较典型的是多级交换网,如CLOS结构、Banyan结构、Crossbar等,由于其很好的扩展性,在大容量设备中比较常用。
交换网的一个基本需求就是交换出去的信元仍需要保持原来的顺序。在多级交换网中,一般一个信元(或包)可以通过多条路径到达目的端口,而各条路径的时延又很难做到完全一致,这就导致属于一个流的信元(从同一个输入端口到达同一个输出端口)在到达目的端口时,会存在乱序的现象。因此,在多级交换网中一般都要解决重排序的问题。
由于一般在交换网的第一级内不会导致信元的乱序,乱序一般发生在第一级出口到第三级出口之间。因此,目前一种解决这个重排序问题的方案是,在交换网的入口处先把乱序的信元排好序后再送入后续逻辑进行处理,包括入共享缓存、入队、调度等。这样,就不可避免地在第三级入口处设置一些信元缓存,先把这些乱序的信元缓存起来,直至下一个期望的信元(用时间标记来识别)来到时,再把信元送入芯片的共享缓存,进行后续交换处理。
重排序需要占用一定的共享缓存空间,用于存储尚未重排序的信元,这段被占用的缓存空间被称为重排序信元缓存(reorder cellbuffer,RCB)。随着交换网容量的扩展,该方案需要的RCB容量快速增加,如果RCB的容量过大,其可实现性就有问题。
图1是现有技术中的典型的三级交换网络100的结构图。在这个交换网中,从任一个输入端口输入的信元能够通过m条路径到达任一个输出端口,图中示出三条不同的路径,分别为路径一102、路径二104、和路径三106。由于m条路径中布线的延时差异和第二级芯片110的处理延时差异,所以当第一级芯片108交换出去的信元通过不同路径到达第三级芯片112时,顺序不一定能保持不变。因此,在这种类型的交换网中,一般需要在把信元送出目的端口之前解决信元乱序的问题。仅仅依靠序列号进行重排序的方案虽然也可以解决此问题,但是其重排序过程占用的RCB随着交换网的规模扩大而迅速增加,实现代价太大。
假定交换网有64个源模块(第一级),假定一个源模块送往一个目的模块的信元数据路径有36条,不同路径之间的延时差异最大为4个信元周期,信元大小为72Byte,最坏情况下需要约64×{36×4-1}×72×8=5Mbit缓存,其中64表示源模块数目,36表示路径数目,72表示每个信元占用的字节数目,8表示一个字节等于8个bit。
发明内容
本发明的目的在于提供能够克服现有技术中存在的重排序信元占用缓存空间太大的缺陷的一种信元重排序方法,以及一种信元处理方法和一种信元处理装置。
本发明提供的信元重排序方法包括以下步骤步骤410,使用排序标签生成模块将时间标记和序号标记插入信元,然后将信元从源端口发送到目的端口;以及步骤420,重排序模块根据在目的端口接收到的、来自所述源端口的信元所携带的时间标记和序号标记,重排序信元的入队信息。
本发明提供的信元处理方法包括以下步骤步骤910,使用排序标签生成模块将时间标记和序号标记插入信元,在目的端口使用重排序模块对插入有时间标记和序号标记的信元的入队信息进行重排序;以及步骤930,将排队后的入队信息依次输出,并将相应信元从信元缓存中调度出去。
以上方法在步骤910和步骤930之间还包括步骤920,使用队列管理模块对经过重排序的入队信息进行排队。
本发明提供的信元处理装置包括重排序模块,接收来自输入处理器的各个信元的入队信息,并根据时间标记和序号标记对信元的入队信息进行排序。
信元处理装置还包括输入处理器,用于接收来自第一级芯片的信元,将信元直接保存到共享信元缓存中,同时提取信元的入队信息,并将信元的入队信息按照信元到达第三级芯片的顺序输出到重排序模块中;共享信元缓存,用于存储输入处理器接收到的信元;以及队列管理器,接收通过重排序模块进行排序后的信元的入队信息,使入队信息排队。
重排序模块进一步包括多路分配器,用于接收来自输入处理器的信元的入队信息,并根据源端口号将入队信息分配到相应的重排序缓存;多个重排序缓存,用于对入队信息进行排序,每个重排序缓存对应一个源端口。在携带某个时间标记的信元是唯一具有这个标记的信元的情况下,重排序缓存开始对该时间标记进行计时,当计时值大于等于最大延迟时间时,重排序缓存检查在具有该时间标记的信元之前的信元的入队信息是否已经输出,如果都已经输出,则将具有该时间标记的信元的入队信息输出,如果之前信元的入队信息没有全部输出,则强制将没有输出的入队信息先输出,然后再将具有该时间标记的信元的入队信息输出;以及多路复用器,用于将从多个重排序缓存输出的入队信息进行时分复用处理。
本发明通过在源端口插入时间标记和序号标记,在目的端口利用时间标记和序号标记对信元的入队信息进行排序,然后对信元进行调度,这样,不需要这些尚未排好序的信元进行缓存,节省了大量资源。并且本发明通过使在一定时间内未从信元缓存中输出的信元强制输出,进一步节省了所需的信元缓存,从而解决了大容量多级交换网的扩展性设计中的重要问题。
本发明参考附图以举例方式进行描述而不是以限制性方式加以描述,其中相同的参考数字指示相同的部件,其中图1是现有技术中的典型的三级交换网络结构图;图2是根据本发明的信元处理装置的方框图;图3是根据本发明的重排序模块的内部结构的方框图;图4是根据本发明的信元重排序方法的流程图;图5是根据本发明的优选实施例中的重排序缓存的结构的示意图;图6是根据本发明的优选实施例中的源端口发送信元,并且发送的信元可以通过4条时延不等的路径到达目的端口的示意图;图7是根据本发明的优选实施例中的目的端口的信元到达规律的示意图;
图8是根据本发明的优选实施例中的目的端口接收信元的重排序过程的示意图;以及图9是根据本发明的信元处理方法的流程图。
具体实施例方式
本发明通过对每个交换出来的信元按其原来的顺序依次编号,即,插入时间标记和序号标记。时间标记和序号标记作为信元头的一部分连同信元净荷一起被交换往目的端口。在目的端口对信元进行排序,输入处理器将从不同路径交换来的信元先被按信元到达的先后顺序依次保存到芯片内的共享信元缓存(Cell Buffer)中,但暂不入队列,入队所需的信息被送往重排序模块进行排序后再依次送往队列管理器(Queue Management)进行排队,以便按序输出,即重排序模块只对一些与入队相关的信息进行缓存和处理。这样,不需要在输入处理器中对这些尚未排好序的信元进行缓存,节省了大量资源。并且本发明通过使在一定时间内未从信元缓存中输出的信元强制输出,进一步节省了所需的信元缓存。
现在参照附图对本发明的具体实施例进行说明,应当理解,此处所描述的具体实施例仅用于解释本发明,并不用于限定本发明。
图2是根据本发明的信元处理装置200的方框图。在第一级芯片中将时间标记和序号标记插入信元后,在信元处理装置200中对信元进行处理。图2示出了重排序模块206在芯片中的位置,其中,共享信元缓存204是芯片内所有信元的共享缓存,队列管理器208用于对信元的入队信息进行排队,通过入队信息调度出去的信元被依次送出交换网。在本发明中,从不同路径交换来的信元按照信元到达的先后顺序被依次保存到芯片内的共享信元缓存204中,但暂不入队列,同时将信元入队所需的信息(简称入队信息)按照信元到达目的端口的顺序送往重排序模块206,在重排序模块中进行排序之后,将入队信息送往队列管理器208进行排队,即,重排序模块206只对入队信息进行缓存和处理。这样做的好处是,不需要在输入处理器202中对这些尚未排好序的信元进行缓存,节省了大量资源。
图3是根据本发明的重排序模块206的内部结构的方框图。该重排序模块206包括一个多路分配器302,用于接收来自输入处理器的信元的入队信息,并根据源端口号将入队信息分配到相应的重排序缓存;多个重排序缓存304,用于对入队信息进行排序,每个重排序缓存对应一个源端口;一个多路复用器306,用于将从多个重排序缓存输出的入队信息进行时分复用处理。
对应交换网内的每个源端口在目的端口都有一个重排序缓存304,在该重排序缓存304中缓存的不是信元而是入队信息,入队信息包括如信元在共享缓存中的地址、目的端口、信元优先级等信息。从输入处理器来的信元入队信息由多路分配器302根据源模块号被分配到相应的重排序缓存304中,并在相应的重排序缓存中进行排序,只有来自相同的源端口的信元之间才会需要重排序,而来自不同源端口的信元不需要重排序。
在携带某个时间标记的信元是唯一具有这个标记的信元的情况下,重排序缓存对该时间标记开始计时,当计时值大于等于最大延迟时间时,则重排序缓存检查在具有该时间标记的信元之前信元的入队信息是否已经输出,如果都已经输出,则将具有该时间标记的信元的入队信息输出,如果之前信元的入队信息没有全部输出,则强制将没有输出的入队信息先输出,然后再将具有该时间标记的信元的入队信息输出。其中,重排序缓存中设置有老化计数器,用于对时间标记进行计时。
系统中可能同时存在多个流(流的定义从一个源端口到一个目的端口的所有信元),所以每个目的端口都有多个重排序缓存304,很可能出现多个重排序缓存304同时完成重排序并输出排序后的入队信息的情况,所以需要在多个重排序缓存304的输出端口进行时分复用处理,该时分复用处理由多路复用器306来完成。多路复用器306仲裁各个重排序缓存304送来的请求,按照轮询的方法确定哪个重排序缓存304可以输出入队信息。
图4是根据本发明的信元重排序方法的流程图。该方法包括以下步骤步骤410,使用排序标签生成模块将时间标记和序号标记插入信元,然后将信元从源端口发送到目的端口。
步骤420,重排序模块根据在目的端口接收到的、来自源端口的信元所携带的时间标记和序号标记,重排序信元的入队信息。
其中,时间标记(timing stamp,ts)用于解决时间上的乱序问题,即,“先发后到”或者“后发先到”的问题。如果属于同一条流的多个信元在同一时间输出,必须在多个信元中插入相同的时间标记。时间标记的最大值取决于路径延迟的最大差值。序号标记(sequence number,sn)用于解决空间上的乱序问题,如果属于同一条流的多个信元在同一时间输出,则它们之间必定也存在先后次序,所以必须分别在多个信元中插入不同的序号标记。时间标记按照统一的规律排列,时间标记的数量至少为,各条路径延时之差的最大值所包含的信元周期的数量的2倍。序号标记按照统一的规律排列,序号标记的数量为从一个源端口到多个目的端口的路径数。
其中,时间标记和序号标记都通过排序标签生成模块被插入到信元头中,与信元净荷一起被交换往目的端口。建议,每过一个信元时隙,每条流的时间标记加1。时间标记达到最大值后,又归零重新开始。时间标记和序号标记所需的比特数取决于信元通过各个路径到达目的端口的延时之差的最大值SKEWmax,和从一个输入端口到输出端口存在的路径数PATH_NUM。可以将时间标记的取值范围定义为0~(SKEWmax×2-1),将序号标记的取值范围定义为是0~(PATH_NUM-1)。假设PATH_NUM为4,SKEWmax为2个信元周期,在这种情况下,需要2bit的时间标记和2bit的序号标记。时间标记和序号标记的标记规律是按照源端口和目的端口约定规律变化的。
其中,所述重排序模块根据所述时间标记和所述序号标记,重排序所述信元的入队信息,具体包括以下步骤步骤422,输入处理器按照信元到达目的端口的先后顺序,将信元依次保存到共享信元缓存中,并提取信元的入队信息。
步骤424,输入处理器将入队信息按照信元到达目的端口的顺序发送到重排序模块进行排序。
其中,步骤424包括以下步骤步骤424a,多路分配器根据源端口号将来自输入处理器的入队信息分配到相应的重排序缓存中。
步骤424b,在携带某个时间标记的信元是唯一具有这个时间标记的信元的情况下,重排序缓存开始对时间标记进行计时,当计时值大于等于最大延迟时间时,重排序缓存检查在具有该时间标记的信元之前的信元的入队信息是否已经输出,如果都已经输出,则将具有该时间标记的信元的入队信息输出,如果之前信元的入队信息没有全部输出,则强制将没有输出的入队信息先输出,然后再将具有该时间标记的信元的入队信息输出。
重排序缓存使用老化计数器对入队信息进行计时。在携带某个时间标记的信元是唯一具有这个时间标记的信元的情况下,老化计时器将老化使能Time_start置为1,使老化计数器开始计时,如果老化计数器计算的老化时间Time超过或等于老化时间门限Tth,则老化计数器将老化到期Time_over置为1,然后检查在具有该时间标记的信元之前信元的入队信息是否已经输出,如果都已经输出,则输出具有该时间标记的信元的入队信息,如果还没有全部输出,则强制使它们先输出,然后输出具有该时间标记的信元的入队信息。
步骤424c,多路复用器按照轮询的方法,对多个重排序缓存的输出进行时分复用处理。
其中,老化时间Time为信元在RCB(重排序缓存)中等待完成排序的时间,Time
表示时间标记为0的信元在RCB中待的时间,...,Time[N]表示时间标记为N的信元在RCB中待的时间。如果RCB中有多个时间标记为0的信元,则Time
表示这些信元中“最早到达的信元”的保存时间。
老化使能Time_start如果携带某个时间标记的信元到达目的端口时,发现自己是RCB中唯一具备这个时间标记的信元,则开始对这个时间标记进行计时,即,将time_start[ts]置为1,此时Time[ts]就开始计时。
老化到期Time_over如果与具有某个时间标记的所有信元的入队信息相关的排序工作已经完成,则称这些信元(或信元的入队信息)处于老化到期状态。如果时间标记为0的信元老化到期,则time_over
被设置为1,...,时间标记为N的信元老化到期,则time_over[N]被设置为1。以下说明的“自然老化”、“强制老化”都可以导致信元老化到期。
老化时间门限Tth老化时间只要超过或者等于该门限,time_over就置为1,表示老化到期。Tth的取值完全取决于各条路径的延迟之差的最大值n,即Tth=n。
自然老化由于老化时间大于或者等于老化时间门限而导致老化到期,这个过程称为自然老化。
强制老化自然老化时,除了将老化时间大于或者等于Tth的信元的time_over置为1,还需要将一些其他的信元(并未老化到期,但是由于信元传输的路径和延时,导致在目的端口不能通过自然老化被正确排序的信元)的time_over强行置为1,这个过程称为强制老化。
老化调度输出因为很可能出现不同时间标记的信元的入队信息同时老化到期的情况,所以必须选出一组老化到期的信元的入队信息,并将他们从重排序缓存中输出,将对应信元从信元缓存中调度出去,然后释放相关的内存空间,这个过程称为老化调度输出。
在此所选择的调度输出方法可以为在存在N(N为偶数)个时间标记的情况下,用一个N位序列对应表示N个时间标记的状态,其中,N位状态序列的首位和末位视为相邻位,1表示时间标记的计时值大于等于延迟时间,0表示时间标记的计时值小于延迟时间。在N位状态序列中找出连续N/2个相邻位都为0的状态位,然后判断连续N/2个相邻位后的第一位是否为1,如果为1,则将具有与该状态位对应的时间标记的信元的入队信息输出,如果为0,则继续判断后面的状态位是否为1,直到找到某一状态位为1,则将具有与该状态位对应的时间标记的信元的入队信息输出;其他情况则上报重排序错误,并选择一个时间标记的计时值大于等于延迟时间的信元的入队信息,将其输出。
如果各条路径的最大延时之差为4,则时间标记的取值范围为0至7,老化调度方法可以描述为
图5是根据本发明的优选实施例的重排序缓存的结构的示意图。假设路径数PATH_NUM为4,最大路径时延SKEWmax为2个信元周期,在这种情况下,需要2比特的时间标记(ts)和2bit的序号标记(sn)。每个重排序缓存包括4个时标序号单元(ts单元)502,每个时标序号单元502包括4个重排序单元504和1个定时单元506。重排序单元504缓存一个信元的入队信息(例如,信元在共享缓存中的地址、信元优先级等)。每个信元入队信息对应的时间标记决定占用哪个时标序号单元502,其携带的序号标记决定占用时标序号单元502中的哪个重排序单元504。
定时单元506是一个定时老化器。对于时标序号单元502,如果4个重排序单元504都没有被占用,那么对应的定时单元506处于清零状态。当有任意一个重排序单元504被占用(或称有效)时,则定时单元506开始计数,每个信元时隙加1。如果定时单元506等于最大值Tth(这里Tth=2),则表示对应的时标序号单元502的重排序已经完成,必须将对应的有效重排序单元读走,然后将定时单元506清零。
图6是根据本发明的优选实施例的源端口从4个延时不同的路径向一个目的端口发送信元的示意图,图中将如时间标记为0(ts=0),序号标记为0(sn=0)的信元简写为t0s0,其它信元以相同的方式进行简写。图中是一个单流的例子(即,系统中只有一个源端口和一个目的端口),示出了假定源端口发送16个信元,每个信元的时间标记和序号标记以及它们所走的路径。图中的路径数PATH_NUM为4,最大路径时延SKEWmax为2个信元周期。
图7是根据本发明的优选实施例的目的端口信元到达规律的示意图,图中示出了对应于图6的单流的例子(即,系统中只有一个源端口和一个目的端口)。可以发现,每个信元到达目的端口后最多等待3个信元时隙,具有相同的时间标记的一组信元就都到齐了,此时具有该时间标记的一组信元的重排序就已经完成。对于完成重排序的时标序号单元,按照序号标记从小到大的顺序读出各个重排序单元,然后定时单元被清零。
图8是图7中的目的端口对接收的信元进行重排序的过程的示意图。在时隙2,时标序号单元0完成了排序,按照序号标记为0至3的顺序读出时标序号单元0中的所有重排序单元,同时时标序号单元0的定时单元被清零。在时隙3,时标序号单元1完成了重排序,按照序号标记为0至3的顺序读出时标序号单元1中的所有重排序单元,同时时标序号单元1的定时单元被清零。在时隙4,时标序号单元2完成了重排序,按照序号标记为0至3的顺序读出时标序号单元2中的所有重排序单元,同时时标序号单元2的定时单元被清零。在时隙5,时标序号单元3完成了重排序,按照序号标记为0至3的顺序读出时标序号单元3中的所有重排序单元,同时时标序号单元3的定时单元被清零。
图9是根据本发明的信元处理方法的流程图。信元处理方法包括以下步骤步骤910,使用排序标签生成模块将时间标记和序号标记插入信元,在目的端口使用重排序模块对插入有时间标记和序号标记的信元的入队信息进行重排序;以及步骤930,将排队后的入队信息依次输出,并将相应信元从信元缓存调度出去。
信元处理方法在步骤910和步骤930之间还包括步骤920,使用队列管理模块对经过重排序的入队信息排入输出的队列中。
其中,步骤910包括以下步骤步骤912,使用排序标签生成模块将时间标记和序号标记插入信元,然后将信元从源端口发送到目的端口。其中,在属于同一条流、在同一时间输出的多个信元中插入相同的时间标记。时间标记可以按照统一的规律排列,时间标记的数量至少为,各条路径延时之差的最大值所包含的信元周期的数量的2倍。在属于同一条流、在同一时间输出的多个信元中插入不同的序号标记。序号标记可以按照统一的规律排列,序号标记的数量为从一个源端口到多个目的端口的路径数。
步骤914,重排序模块根据在目的端口接收到的来自源端口的信元所携带的时间标记和序号标记,重排序信元的入队信息。
其中,所述重排序模块根据所述时间标记和所述序号标记,重排序所述信元的入队信息,具体包括以下步骤步骤914a,输入处理器按照信元到达目的端口的先后顺序,将信元依次保存到共享信元缓存中,并提取信元的入队信息。
步骤914b,输入处理器将入队信息按照信元到达目的端口的顺序发送到重排序模块进行排序。
其中,步骤914b包括以下步骤步骤914b1,多路分配器根据源端口号将来自输入处理器的入队信息分配到相应的重排序缓存中。
步骤914b2,在携带某个时间标记的信元是唯一具有这个标记的信元的情况下,重排序缓存对该时间标记开始计时,当计时值大于等于最大延迟时间时,重排序缓存检查在具有该时间标记的信元之前的信元的入队信息是否已经输出,如果都已经输出,则将具有该时间标记的信元的入队信息输出,如果之前信元的入队信息没有全部输出,则强制将没有输出的入队信息先输出,然后再将具有该时间标记的信元的入队信息输出。
步骤914b3,多路复用器通过轮询对多个重排序缓存的输出进行时分复用处理。
在步骤914b2中,重排序缓存使用一老化计数器对时间标记进行计时。
本发明的RCB占用量比现有技术的占用量要小的多,约为36×4×72byte=81Kb。本发明通过在源端口插入时间标记和序号标记,在目的端口利用时间标记和序号标记对信元的入队信息进行排序,然后对信元进行调度,这样,不需要这些尚未排好序的信元进行缓存,节省了大量资源。并且本发明通过使在一定时间内未从信元缓存中输出的信元强制输出,进一步节省了所需的信元缓存,从而解决了大容量多级交换网的扩展性设计中的重要问题。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种信元重排序方法,其特征在于包括以下步骤步骤410,排序标签生成模块将时间标记和序号标记插入信元,然后将所述信元从源端口发送到目的端口;以及步骤420,重排序模块根据所述时间标记和所述序号标记,重排序所述信元的入队信息。
2.根据权利要求1所述的方法,其特征在于,所述排序标签生成模块将时间标记和序号标记插入信元的具体步骤为所述排序标签生成模块在属于同一条流和同一时间输出的多个信元中插入相同的时间标记;以及所述排序标签生成模块在属于同一条流和同一时间输出的多个信元中插入不同的序号标记。
3.根据权利要求2所述的方法,其特征在于所述时间标记按照统一的规律排列,所述时间标记的数量至少为各条路径延时之差的最大值所包含的信元周期的数量的2倍;以及所述序号标记按照统一的规律排列,所述序号标记的数量为从一个源端口到多个目的端口的路径数。
4.根据权利要求1所述的方法,其特征在于,所述重排序模块根据所述时间标记和所述序号标记,重排序所述信元的入队信息,具体包括以下步骤步骤422,输入处理器按照信元到达所述目的端口的先后顺序,将信元依次保存到共享信元缓存中,并提取信元的入队信息;以及步骤424,所述输入处理器将所述入队信息按照信元到达目的端口的先后顺序发送到重排序模块进行排序。
5.根据权利要求4所述的方法,其特征在于,所述步骤424包括以下步骤步骤424a,多路分配器根据所述源端口号将来自所述输入处理器的入队信息分配到相应的重排序缓存;步骤424b,在携带某个时间标记的信元是唯一具有这个标记的信元的情况下,重排序缓存开始对所述时间标记进行计时,当计时值大于等于最大延迟时间时,所述重排序缓存检查在具有该时间标记的信元之前的信元的入队信息是否已经输出,如果都已经输出,则将具有该时间标记的信元的入队信息输出,如果之前信元的入队信息没有全部输出,则强制将没有输出的入队信息先输出,然后再将具有该时间标记的信元的入队信息输出;以及步骤424c,多路复用器通过轮询对多个重排序缓存的输出进行时分复用处理。
6.根据权利要求5所述的方法,其特征在于,在步骤424b中,对所述时间标记进行计时是通过老化计数器完成的。
7.一种信元处理方法,其特征在于包括以下步骤步骤910,使用排序标签生成模块将时间标记和序号标记插入信元,在目的端口使用重排序模块对插入有时间标记和序号标记的信元的入队信息进行重排序;以及步骤930,将排队后的入队信息依次输出,并将相应信元从信元缓存调度出去。
8.根据权利要求7所述的方法,其特征在于,在步骤910和步骤930之间还进一步包括以下步骤步骤920,使用队列管理模块将经过重排序的入队信息排入输出的队列中。
9.根据权利要求7所述的方法,其特征在于,所述步骤910包括以下步骤步骤912,使用排序标签生成模块将所述时间标记和序号标记插入信元,然后将所述信元从源端口发送到目的端口;以及步骤914,重排序模块根据在目的端口接收到的来自所述源端口的信元所携带的所述时间标记和所述序号标记,重排序所述信元的入队信息。
10.根据权利要求9所述的方法,其特征在于,所述排序标签生成模块将时间标记和序号标记插入信元的具体步骤为所述排序标签生成模块在属于同一条流和同一时间输出的多个信元中插入相同的时间标记;以及所述排序标签生成模块在属于同一条流和同一时间输出的多个信元中插入不同的序号标记。
11.根据权利要求10所述的方法,其特征在于所述时间标记按照统一的规律排列,所述时间标记的数量至少为各条路径延时之差的最大值所包含的信元周期的数量的2倍;以及所述序号标记按照统一的规律排列,所述序号标记的数量为从一个源端口到多个目的端口的路径数。
12.根据权利要求9所述的方法,其特征在于,所述重排序模块根据所述时间标记和所述序号标记,重排序所述信元的入队信息,具体包括以下步骤步骤914a,输入处理器按照信元到达所述目的端口的先后顺序,将信元依次保存到共享信元缓存中并提取信元的入队信息;以及步骤914b,所述输入处理器将所述入队信息按照信元到达目的端口的顺序发送到重排序模块进行排序。
13.根据权利要求12所述的方法,其特征在于,所述步骤914b包括以下步骤步骤914b1,多路分配器根据所述源端口号将来自所述输入处理器的入队信息分配到相应的重排序缓存;步骤914b2,在携带某个时间标记的信元是唯一具有这个标记的信元的情况下,重排序缓存开始对该时间标记进行计时,当计时值大于等于最大延迟时间时,所述重排序缓存检查在具有该时间标记的信元之前的信元的入队信息是否已经输出,如果都已经输出,则将具有该时间标记的信元的入队信息输出,如果之前信元的入队信息没有全部输出,则强制将没有输出的入队信息先输出,然后再将具有该时间标记的信元的入队言息输出;以及步骤914b3,多路复用器通过轮询对多个重排序缓存的输出进行时分复用处理。
14.根据权利要求13所述的方法,其特征在于,在步骤914b2中,对所述时间标记进行计时是通过老化计数器完成的。
15.一种信元处理装置,其特征在于,所述信元处理装置包括重排序模块,接收来自所述输入处理器的各个信元的入队信息,并根据信元所携带的时间标记和序号标记,重排序所述信元的入队信息。
16.根据权利要求15所述的信元处理装置,其特征在于,所述信元处理装置进一步包括共享信元缓存,用于存储所述输入处理器接收到的信元。
17.根据权利要求15所述的信元处理装置,其特征在于,所述信元处理装置进一步包括输入处理器,用于接收来自源端口的信元,将信元保存到共享信元缓存中,同时提取信元的入队信息,并将所述信元的入队信息按照所述信元到达目的端口的顺序输出到重排序模块中。
18.根据权利要求15所述的信元处理装置,其特征在于,所述重排序模块进一步包括队列管理器,接收通过所述重排序模块进行排序后的信元的入队信息,将所述入队信息排入输出的队列中。
19.根据权利要求15所述的信元处理装置,其特征在于,所述重排序模块进一步包括多路分配器,用于接收来自所述输入处理器的信元的入队信息,并根据源端口号将所述入队信息分配到相应的重排序缓存;多个重排序缓存,用于对所述入队信息进行排序,每个重排序缓存对应一个源端口;以及多路复用器,用于将从多个重排序缓存输出的入队信息进行时分复用处理。
20.根据权利要求19所述信元处理装置,其特征在于,所述重排序缓存在携带某个时间标记的信元是唯一具有这个标记的信元的情况下,开始对该时间标记进行计时,当计时值大于等于最大延迟时间时,所述重排序缓存检查在具有该时间标记的信元之前的信元的入队信息是否已经输出,如果都已经输出,则将具有该时间标记的信元的入队信息输出,如果之前信元的入队信息没有全部输出,则强制将没有输出的入队信息先输出,然后再将具有该时间标记的信元的入队信息输出。
21.根据权利要求20所述的信元处理装置,其特征在于,所述重排序缓存中设置有老化计数器,用于对时间标记进行计时。
全文摘要
本发明提供了信元重排序方法以及利用该方法的信元处理方法及装置。该信元重排序方法包括以下步骤使用排序标签生成模块将时间标记和序号标记插入信元,然后将信元从源端口发送到目的端口;重排序模块根据在目的端口接收到的信元携带的时间标记和序号标记,重排序信元的入队信息。本发明所需要的重排序信元缓存RCB非常少,解决了大容量多级交换网的扩展性设计中的重要问题。
文档编号H04L12/04GK1859263SQ20051010148
公开日2006年11月8日 申请日期2005年11月16日 优先权日2005年11月16日
发明者唐德智 申请人:华为技术有限公司