Atm交换器及其自选路由方法

文档序号:7576598阅读:390来源:国知局
专利名称:Atm交换器及其自选路由方法
技术领域
本发明涉及一种大规模容错ATM交换器以及使用具有大规模容错ATM交换器结构、故障检测器以及反压信号发生器的2n×n复用交换器和使用n×n输出交换器实现大规模ATM交换器的一种方法。


图1示出现有的N×N交换器结构。它显示了使用2n×n复用交换器结构和n×n输出交换器实现大规模N×N交换器的方法。
n×n输出交换器可以使用任何类型的交换器,但2n×n复用交换器是由输出缓冲型交换器构成的。复用交换器仅选择要被传输给n输出端口的信元,根据在2n输入中的每个交换器的位置考虑路由选择标记(tag)并发送信元做为输出。
为了实现大规模N×N交换器,需要1+log2(N/n)级并且每级需要(N/n)交换器。从第一级至log2(N/n)级的各级由2n×n复用交换器组成并且最后一级由n×n输出交换器组成。因此,实现大规模N×N交换器要求(N/n)×log2(N/n)个2n×2复用交换器以及(N/n)个n×n输出交换器。
如上所述作为实现现有的大规模N×N交换器的模拟结果,我们已知道平均来说,与n×n输出交换器位置最近的2n×n复用交换器(即在s(log2(N/n),k)处的2n×n复用交换器)中的缓冲器有丢失的信元。越是前面的级,缓冲器就具有越少的信元。因此,结果是在最后一级的2n×n复用交换器中的信元丢失的发生概率变得很高,但另一方面在较前面级的信元丢失率变得相当的低。
在2n×n复用交换器中,由每个交换器看来,在同等条件下的信元被输出给n个输出端口。不过在这里存在一个问题如果n个输出端口之一有一些问题,则就会连续地发生信元丢失。
为了解决上述问题,本发明的目的是提供一种大规模容错ATM交换器以显著地降低信元丢失可能性以及在2n×n复用交换器中的一种自选路由方法,以便更快地发送信元。
一种用于大型容错ATM交换器的2n×n复用交换器,包括2n VD(有效)提取部分,产生VD信号并根据路由选择标记从每信元期间输入的2n信元中选择信元并存储所述信元到FIFO;FIFO选择部分,选择要存储利用该VD信号选择的每个信元的FIFO,并发送该信元给相应的FIFO;2n共用FIFO缓冲器,存储经FIFO选择部分发送的2n个信元;输出部分,把在该共用FIFO缓冲器中所存的信元发送至输出端口;信元计数部分,利用从FIFO选择部分和输出部分发送的信息计数在共用FIFO缓冲器中所存储的信元数;反压信号发生部分,利用来自信元计数部分的信息生成反压信号;和故障检测器,通过从VD提取部分输入的2n VD信号监示输入端口的故障。
依据用于大规模容错ATM交换器的2n×n复用交换器的一个实施例,更可取的是,该FIFO选择部分还包括FIFO地址提取部分,生成要存储输入信元的FIFO的地址;和榕树路由选择网络,利用在FIFO地址提取部分中所生成的数据发送信元至共用FIFO缓冲器。
依据用于大规模容错ATM交换器的2n×n复用交换器的一个实施例,更可取的是,该FIFO地址提取部分还包括2n个加法器,以使2n个VD信号之一输入至一个加法器并且操作的结果被输出给该加法器的刚好下一级;和2n个缓冲器,输入在2n个加法器中当前级的加法器的输出。
依据用于大规模容错ATM交换器的2n×n复用交换器的一个实施例,更可取的是,该输出部分还包括RFA(读FIFO地址)发生器,生成用于选择要读的FIFO数量的n个RFA信号;FRE(FIFO读启动)发生器,利用RFA信号生成2n个FRE信号;和输出信元复用部分,利用RFA信号从共用FIFO缓冲器部分读出的2n个信元中发送n个信元至输出端口。
依据用于大规模容错ATM交换器的2n×n复用交换器的一个实施例,还可取的是,RFA发生器还包括移位寄存器,依次地输入n个故障检测标识符(FDI);n个与门,分别输入来自移位寄存器的n个故障检测标识符之一、来自信元计数部分由信元计数(CCNT)所确定的信号以及反压标识符(BPI);寄存器,同时输入每个与门的输出;n个加法器,使寄存器的AEN输入一个加法器并且把运算结果输出至该加法器的刚好下一级;和n个缓冲器,输入在n个加法器中当前级的加法器的输出。
依据用于大规模容错ATM交换器的2n×n复用交换器的一个实施例,更可取的是,FRE发生器利用(4n+1)个比较器、8n个与门以及(4n+1)个或门生成2n个FRE(FIFO读启动)信号。
依据用于大规模容错ATM交换器的2n×n复用交换器的一个实施例,更可取的是,故障检测器包括含有(2n+1)个比较器、4n个与门、(2n+1)个或门和移位寄存器的两个故障信号发生器并且为输入级的每个端口生成故障信号。
依据用于大规模容错ATM交换器的2n×n复用交换器的一个实施例,更可取的是,输出信元复用部分包括n个2n×1复用器。
依据用于大规模容错ATM交换器的2n×n复用交换器的一个实施例,更可取的是,信元计数器由两个减法器和一个计数器构成。
依据用于大规模容错ATM交换器的2n×n复用交换器的一个实施例,更可取的是,反压信号发生部分包括二个与门;二个比较器,分别输入与门的输出;或门,逻辑地加两个比较器的输出;和缓冲器,暂时地存储或门的输出。
一种用于大规模容错ATM交换器的2n×n复用交换器中自选路由方法,包括以下步骤搜索输入端口的故障;向前级的交换器通知搜索的结果;接收来自后级的故障线路的结果并防止信元发送至与故障线路的结果相对应的输出端口;如果在交换器中存储器所存的信元的数量大于特殊值,则反压信号通知该状态;和如果接收到该反压信号,则暂时停止发送信元。
依据在用于大规模容错ATM交换器的2n×n复用交换器中的一种自选路由方法的一个实施例,更可取的是,当规定A表示每个交换器的级以及k表示在n×n输出交换器的每级中的第k位置,并且规定j=[(k-1)n2ZN],]]>[x]意味着小于或等于x的整数中的最大整数,并且Z=log2Nn-A+1]]>时,该方法包括以下步骤从特殊交换器的A、k值决定s(A,k)的值,即特殊交换器所属于的交换器组;定义交换器组sg(A,i)并初始化路由选择标记i的值;决定它是否满足条件i≤Nn;]]>决定它是否满足条件i≥jNn2Z+1;]]>决定它是否满足条件i≤(j+1)Nn2Z;]]>决定它是否满足条件f(i)=0;和进行信元传输。
依据在用于大规模容错ATM交换器的2n×n复用交换器中的自选路径方法的一个实施例,更可取的是,如果不满足条件i≤Nn,]]>则不进行信元传输。
依据在用于大规模容错ATM交换器的2n×n复用交换器中的自选路径方法的一个实施例,更可取的是,如果不满足条件i≥jNn2Z+1,i≤(j+1)Nn2Z,]]>f(i)=0,则路由选择标记i的值递增1并且决定是否满足条件i≤Nn]]>图1A和1B示出现有的大规模N×N交换器结构。
图2A和2B示出依照本发明的大规模N×N交换器的结构。
图3示出使用32×16复用交换器和16×16输出交换器实现的一种128×128交换器结构。
图4示出依照本发明的一种2n×n复用交换器的结构。
图5示出图4的FIFO选择部分的结构。
图6示出图5的FIFO地址提取部分的结构。
图7示出图4的输出部分的结构。
图8示出图7的读FIFO地址发生器的结构。
图9示出图7的FIFO读启动发生器的结构。
图10示出图7的输出-信元复用部分的结构。
图11示出图4的信元计数器的结构。
图12示出图4的反压信号发生器的结构。
图13示出依照本发明的CLAST发生器的结构。
图14示出图4所示的故障检测器的FDO0的结构。
图15示出图4所示的故障检测器的FDO1的结构。
图16示出用于大规模N×N交换器的信元格式与现有信元格式的比较图。
图17示出在2n×n复用交换器中使用的路由选择标记。
图18示出依照本发明在2n×n复用交换器结构中决定发送信元的流程图。
上述图中单元的简单说明102:2n×n复用交换器 102:1×2拷贝器103:n端口数据线 104:反压信号参照附图将详细地描述本发明。
尽管可以对本发明进行各种修改以及结构替换,但在此将参照附图详细地描述其特殊实施例。不过,应该了解,所公开的特殊结构并不意味着限制本发明,相反,本发明覆盖落入由所附权利要求所定义的本发明的精神和范围之内的所有更改、等效物以及替换物。
图2示出依据本发明由2n×n个复用交换器和n×n个输出交换器构成的一种大规模容错N×N ATM交换器的结构。这里,任何类型的交换器被允许用于n×n输出交换器,另一方面2n×n复用交换器是由输出缓冲型交换器组成的。参考基于在2n输入中每个交换器的位置的路由选择标记,复用交换器仅选择将要发送给n个输出端口的信元,并发送信元作为输出。
为了实现大规模N×N交换器,需要1+log2(N/n)级并且每级需要(N/n)个交换器。由2n×n个复用交换器和n×n输出交换器组成的从第一级至log2(N/n)级的那些级需要从起始级(为方便称为第0级)定位以发送信元至信元目的地。因此,实现大规模N×N交换器需要(N/n)×log2(N/n)个2n×n复用交换器和(N/n)个n×n输出交换器。
如图2所示,每个2n×n复用交换器称做s(A,B)并且N输入由n组分组的i来表示以解释依据本发明的交换器的结构。这里,A表示每个交换器的级,具有1到log2(N/n)范围的一个值;并且B表示在每个级的位置,具有从1至N/n范围的一个值;i表示从(i-1)×n至(i×n)-1的各个输入端口,具有从1至N/n范围的一个值。A和B可以具体地认为芯片的标识符。可以把A的值认为具有来自图1中输入级的值1,但是为了继续扩展就必须从n×n输出交换器的下一个输出交换器开始朝着输入级增加该值。结果,就可能朝着更大容量交换器诸如2N×2N交换器等等扩展该交换器而不必改变现有的N×N交换器。
为了发送信元,首先分别拷贝输入信元为两个,然后,第k个和第(k+N/2n)个输入组,分别地输入位于log2(N/n)级的s(log2(N/n),k)和s(log2(N/n),k+(N/2n))的2n×n复用交换器,其中1≤k≤N/2n并且k是整数。
只选择将要从该交换器发送给更低级交换器的信元并存储在缓冲器中,然后输出。从log2(N/n)级输出的信元再次拷贝并发送给log2(N/n)-1级。从s(log2(N/n),k)和s(log2(N/n),k+(N/4n))输出的信元发送给s(log2(N/n)-1,k)和s(log2(N/n)-1,k+(N/4n)),其中1≤k≤N/4n并且k是整数。从s(log2(N/n),k+N/2n)和s(log2(N/n),k+(N/4n)+N/2n)输出的信元发送给s(log2(N/n)-1,k+N/2n)和s(log2(N/n)-1,k+(N/4n)+N/2n),式中1≤k≤N/4n和k是整数。
并且从第二级的s(log2(N/n)-1,k)和s(log2(N/n)-1,k+(N/8n))输出的信元,再次拷贝并发送给log2(N/n)-2级的s(log2(N/n)-2,k)和s(log2(N/n)-2,k+(N/8n)),其中1≤k≤N/8n并且k是整数。从s(log2(N/n)-1,k+N/4n)和s(log2(N/n)-1,k+(N/8n)+(N/4n))输出的信元发送给s(log2(N/n)-2,k+(N/4n))和s(log2(N/n)-1,k+(N/8n)+(N/4n)),其中1≤k≤N/8n并且k是整数。从s(log2(N/n)-1,k+2×N/4n)和s(log2(N/n)-1,k+(N/8n)+2×N/4n)输出的信元发送给s(log2(N/n)-2,k+2×N/4n)和s(log2(N/n)-2,k+(N/8n)+2×N/4n),其中1≤k≤N/8n并且k是整数。从s(log2(N/n)-1,k+3×N/4n)和s(log2(N/n)-1,k+(N/8n)+3×N/4n)输出的信元发送给s(log2(N/n)-2,k+3×N/4n)和s(log2(N/n)-2,k+(N/8n)+3×N/4n),其中1<k≤N/8n并且k是整数。
并且从第A级的s(A,k+m×N/(2zn))和s(A,k+N/(2Z+1n)+m×N/(2Zn)输出的信元,发送给第(A-1)级的s(A-1,k+m×N/(2Zn))和s(A-1,k+N/(2Z+1n)+m×N/(2Zn)),其中1≤k≤N/(2Z+1n)、1≤m≤2Z-1、Z=log2(N/n)-A+1和每个k、m分n×n输出交换器。如上所述的步骤使得实现如图1中所示的大规模N×N交换器成为可能。
如上所述的线路连接方法可简短地描述如下(1)第k和第(k+N/2n)输入端口组输入给s(log2(N/n),k)和s(log2(N/n),k+N/2n)的每个交换器,其中1≤k≤N/2n并且k是整数。
(2)从s(A,k+m×N/(2Zn))和s(A,k+N/(2Z+1n)+m×N/(2Zn))输出的信元被输入给s(A-1,k+m×N/(2Zn))和s(A-1,k+N/(2Z+1n)+m×N/(2Zn))的每个交换器,其中每个A、k、m和z是满足下面等式1的条件的整数。2≤A≤log2(N/n),1≤k≤N/(2Z+1n),1≤m≤2Z-1,Z=(log2N)/n-A+1(3)s(1,k)的输出被输入给第k个n×n输出交换器,其中k是满足下面等式2的条件的整数。1≤k≤N/n图2中虚线所示的反压信号和故障检测信号按上述线路连接方法的相反顺序相连。
一般地,当由于许多信元输入至一个ATM交换器以致在交换器中发生阻塞时,反压信号表示一个用来使直到在该ATM交换器之内存在的信元的数量达到一个特殊水平以下为止才能输入信元的信号。
在本发明中,当在该交换器中检测到故障时,反压信号被用来阻止更多的信元输入输入侧。
下面,参照附图将详细地叙述使用依照本发明实现大规模交换器的方法的一个实施例。假设n=16、N=128。图3示出依据本发明的实现大规模交换器的方法的实施例。即,使用16×16交换器和32×16复用交换器实现128×128交换器的情况叙述如下,依照上述线路连接方法(a)如上简述的线路连接方法(1),k是整数,其中1≤k≤N/2n,并且第k和第(k+4)输入端口组输入给s(3,k)和s(3,k+4)的每个交换器,i=1,5→s(3,1),s(3,5);i=2,6→s(3,2),s(3,6);i=3,7→s(3,3),s(3,7);
i=4,8→s(3,4),s(3,8);(b)如上简述的线路连接方法(2),A,k,m和Z是整数,其中2≤A≤3、1≤k≤4/2Z、0≤m≤2Z-1和Z=4-A,并且从s(A,k+m×8/2Z)和s(A,k+4/2Z+m×8/2Z)输出的信元被输入给s(A-1,k+m×8/2Z)和s(A-1,k+4/2Z+m×8/2Z)的每个交换器,s(3,1),s(3,3)→s(2,1),s(2,3)s(3,2),s(3,3)→s(2,2),s(2,4)s(3,5),s(3,3)→s(2,5),s(2,7)s(3,6),s(3,3)→s(2,6),s(2,8)s(2,1),s(2,2)→s(1,1),s(1,2)s(2,3),s(2,4)→s(1,3),s(1,4)s(2,5),s(2,6)→s(1,5),s(1,6)s(2,7),s(2,8)→s(1,7),s(1,8)(c)如上简述的线路连接方法(3),k是整数,其中1≤k≤8,并且s(1,k)的输出被输入至第k个n×n输出交换器,s(1,1)的输出被输入给第1个16×16交换器;s(1,2)的输出被输入给第2个16×16交换器;s(1,3)的输出被输入给第3个16×16交换器;s(1,4)的输出被输入给第4个16×16交换器;s(1,5)的输出被输入给第5个16×16交换器;s(1,6)的输出被输入给第6个16×16交换器;s(1,7)的输出被输入给第7个16×16交换器;s(1,8)的输出被输入给第8个16×16交换器。
利用这种线路连接方法,实现了如图3所示的结构。
上述实施例仅是一个代表性实施例,并且本发明的范围并不受仅此实施例限制。
图4示出用来实现大规模N×N交换器的2n×n复用交换器结构。2n×n复用交换器是这样一种装置,即根据路由选择标记在每个时间间隔输入的2n信元(I0~I2n-1)中任意地选择信元,并把它们存储在先进先出缓冲器中(以下简称FIFO缓冲器),然后每个时间间隔向输出端口输出n信元(I0~In-1)。2n×n复用交换器包括VD(有效)提取部分,根据输入的信元的路由选择标记来生成指示该信元是否存储在FIFO缓冲器内的VD信号;故障检测器,利用该VD信号检测输入端口的故障;FIFO选择部分,利用VD信号来选择要存储每个信元的缓冲器并向对应的FIFO侧传送信元;共用FIFO缓冲器,由2n个FIFO缓冲器组成并存储信元;输出部分,读取在FIFO缓冲器(FO0~FO2n-1)中所存的信元并朝输出端口侧传送它们;信元计数器,利用从FIFO选择部分和输出部分发送的数据来计算在当前FIFO缓冲器中所存的信元的数量;和反压发生部分,利用来自信元计数器的信元的数量生成反压信号。
图16示出与现有的信元类型相比在大规模N×N交换器中发送信元的一种新信元类型。如图所示,该大规模N×N交换器为了信元传输而在该信元的前面额外地附加了一个路由选择标记并使用该路由选择标记发送该信元至所需的输出端口。
此时,所需的路由选择标记的数量是用于在2n×n复用交换器中路由选择的N/n个比特与用于在n×n交换器中发送信元至所需输出端口的路由选择标记比特的k个比特之和。
因此,路由选择标记比特的总数是N/n+k比特。并且图4中的复用交换器利用如图18所示的信元的路由选择标记进行信元处理的一种方法在VD提取部分产生VD信号。
如图1所实现的大规模N×N交换器,当如图16所示,输入网络节点接口(NNI)信元时,使用在信元的最前端附带着的路由选择标记的自选路由方法来发送信元至所需输出端口。这里,所需的路由选择标记的比特数量是(N/n)+k,其中k表示n×n输出交换器的路由选择标记比特的数量。
在如图1所实现的大规模N×N交换器中,(N/n)比特的路由选择标记表示每个输出组。即如图17所示,第1比特表示第一输出组,第i比特表示第i输出组((i-1)n~in-1)和第(N/n)比特表示第(N/n)输出组(N-n~N-1)即最后输出组。并且,如果路由选择标记比特是“0”,意味着信元应发送给该比特所表示的输出组,而如果是“1”,意味着阻止信元发送。
即,如果第i个路由选择标记是“0”,意味着该信元应发送至第i输出组中的一个或几个输出端口,而如果是“1”,意味着禁止发送该信元至输出组侧。此时,通过写入“0”至(N/n)路由选择标记比特的每个比特使每个信元可以发送到所需的输出组,能够进行广播和多信道广播。
即,在发送信元至所有输出端口的情况下,全部的路由选择标记比特赋值为“0”并最后在n×n输出交换器,发送信元至全部输出端口。通过具有如图3所示的交换器结构的2n×n复用交换器发送的信元,它们根据在大规模N×N交换器中的位置,即,根据A和k的值而彼此不同。
位于从s(log2(N/n),1)至s(log2(N/n),N/2n)的交换器应该输出要输出给上部N/2端口(0~N/2-1)的信元,而位于从s(log2(N/n),N/2n+1)至s(log2(N/n),N/n)的交换器应该输出要输出给下部N/2端口(N/2~N-1)的信元。
接着,位于从s(log2(N/n)-1,1)至s(log2(N/n)-1,N/4n)的交换器应该输出要输出给上部N/4端口(0~N/4-1)的信元,而位于从s(log2(N/n)-1,N/4n+1)至s(log2(N/n)-1,N/2n)的交换器应该把要输出给第二N/4端口(N/4~N/2-1)的信元输出至该输出端口。位于从s(log2(N/n)-1,N/2n+1)至s(log2(N/n)-1,3N/4n)的交换器应该把要输出至第三N/4端口(N/2~3N/4-1)的信元输出至该输出端口,而位于从s(log2(N/n)-1,3N/4n)至s(log2(N/n)-1,N/n)的交换器应该把要输出至最后N/4端口(3N/4~N-1)的信元输出至该输出端口。
即,位于从s(A,jN/(2Zn)+1)至s(A,(j+1)N/(2Zn))的交换器应该把信元输出给位于从jN/2z至(j+1)N/2Z-1的输出端口。这里,j和z是满足下面等式3的条件的整数[等式3]0≤j≤2Z-1,Z=(log2N)/n-A+1这里再一次,将表示交换器组的sg(A,j)定义如下,则根据每个交换器组所处的级,交换器组具有一个或n个交换器。每级的交换器被分成2Z(Z=log2(N/n)-A+1)个交换器组并且每级的交换器组有N/n2Z个交换器。
即,交换器组sg(A,j)包括位于从s(A,jN/(2Zn)+1)至s(A,(j+1)N/(2Zn))的这些交换器。这里,j和z是满足下面等式4的条件的整数[等式4]0≤j≤2Z-1,Z=(log2N)/n-A+1如上所述,所定义的交换器组变成应该输出具有同等条件的路由选择标记的信元的一组交换器。当输入具有如图16所示的用于2n×n复用交换器的路由选择标记比特的信元时,执行下面的工作,决定属于每个交换器组sg(A,j)的2n×n复用交换器是否应该发送信元至输出端口(A)属于交换器组sg(A,j)的2n×n复用交换器应该输出的信元是要输出给jN/2Z至(j+1)N/2Z-1输出端口的信元;
(B)路由选择标记的第i比特表示交换器组(i-1)n~in-1;(C)(i-1)n=jN/2Z→i=jN/(2Zn)+1;(D)in-1=(j+1)N/(2Zn);(E)属于交换器组sg(A,j)的2n×n复用交换器应该输出的信元是在满足条件jN/(2Zn)+1≤i≤(j+1)N/(2Zn)的所有第i比特中其比特的值为“0”的信元。
因此,如果在jN/(2Zn)+1与(j+1)N/(2Zn)之间的路由选择标记比特之一是“0”,则属于交换器组sg(A,j)的2n×n复用交换器发送信元至输出端口侧。
在上面描述中,每个2n×n复用交换器s(A,k)决定它是否按下面顺序输出所输入的信元①根据它的A和k,决定该2n×n复用交换器所属的sg(A,j),[等式5]j=[(k-1)n2ZN],]]>其中[x]表示在小于或等于x的整数中的最大整数;②需要从上面决定的sg(A,j)得出的路由选择标记比特,决定满足条件jN/(2Zn)+1≤i≤(j+1)N/(2Zn)的第i比特;③在输入的信元的路由选择标记中,检验上面所决定的比特,并且如果它们中的一个比特是“0”,则发送该信元。
图18示出上面描述的步骤的流程。
如果这些信元利用依据上述方法的路由选择标记在图4所示的2n×n复用交换器中发送,则每个信元被发送至所需的n×n输出交换器。并且在该n×n输出交换器中,利用k比特的路由选择标记比特,这些信元被发送至最后输出端口。
此时,在n×n输出交换器中的自选路由方法随所用的交换器的类型而彼此不同。
首先,在2n×n复用交换器中信元传输方法和2n×n复用交换器的结构的描述如下如图4所示,该2n×n复用交换器包括VD提取部分、FIFO缓冲器、共用FIFO缓冲器、输出部分、故障检测器和反压发生部分。
在VD提取部分中,输入的信元通过2n×n复用交换器并决定该信元是否要发送。当该信元要发送时,VD信号设置为“0”,并且当不发送信元时,VD信号设置为“1”,因此FIFO选择部分和故障检测器能够使用它。即,VD提取部分根据图18所示的流程图通过处理信元的路由选择标记来执行产生VD信号的功能。
FIFO选择部分查阅经2n VD提取部分发送的2n信元(I0~I2n-1)以及每个VD比特(VD0~VD2n-1)选择每个信元要存储的一个FIFO缓冲器,并发送这些信元至相应的FIFO缓冲器侧。图5示出FIFO选择部分的基本结构。FIFO选择部分包括FIFO地址提取部分和榕树路由选择网络。
图6示出FIFO地址提取部分的结构,该FIFO地址提取部分包括2n个加法器和缓冲器。
如果Vd0是“0”,则加法器0加1至在前次时间间隔最后读取的FIFO缓冲器号,并且如果VD0是“1”,加“0”至FIFO缓冲器号,然后发送该和至下一个加法器和缓冲器。如果VDi是“0”,加法器i加1至在第(i-1)个加法器的和,而如果VDi是“1”,则加法器i加“0”至那个加法器,然后发送该和至下一个加法器和缓冲器。
在缓冲器中存储的值(FAB0~FAB2n-1)表示应该存储每个信元的FIFO缓冲器号,还表示在后面的榕树路由选择网络中所用的路由选择标记。该榕树路由选择网络的功能在于利用每个信元的FAB来发送这些信元至所需的FIFO缓冲器。
输出部分读出在共用FIFO缓冲器中所存储的信元,直至最大n个信元并且发送这些信元至输出端口。输出部分包括FIFO读启动(下面简称FRE)发生器、读FIFO地址(下面简称RFA)发生器以及输出信元复用部分。
图8示出输出部分的RFA发生器以及RFA发生器n加法器和缓冲器的电路图。在每个缓冲器中,存储着要读取的FIFO地址。如果AEN0是“0”,加法器0加1至在前次时间间隔最后读取的FIFO地址,而如果是“1”,加0给它。相加结果被同时发送至缓冲器0和加法器1。如果AENi是“0”,则加法器i加“1”至来自前面级的加法器的相加结果,并且如果不是0,则加法器i加“0”给它,并把相加结果存储在缓冲器i中。
AEN被看成每个时间间隔操作加法器的信号。该信号包括从后级输入的反压信号、故障检测标识符(FDI)以及表示在信元计数器中所存储的信元数量的信元计数(CCNT),如图8所示。FRE发生器利用在RFA发生器中所制成的RFA生成FRE信号,并且如图9所示它包括与门和或门。比较器0比较RFA0与RFAn-1,如果RFAn-1大于RFA0,则比较器0输出“1”,而如果RFAn-1小于或等于RFA0,则输出“0”。
并且如果比较器0的结果是“1”,则每个RFEk有对比较器k0和比较器k1(Lk,Hk)的结果进行逻辑与运算的结果,并且如果比较器0的结果是“0”,则每个RFEk有对比较器k0和比较器k1(Lk,Hk)的结果进行逻辑或运算的结果。如果RFEk是“1”,则从第k个FIFO缓冲器中读出一个信元,而如果是“0”,则不从相应的FIFO缓冲器中读信元并且FOk做成虚信元。
如上面所读出的信元(FO0~FO2n-1)被发送至输出信元复用部分。在图10中的输出信元复用部分利用在RFA发生器中所生成的RFA选择已经读取的信元(FO0~FO2n-1)中的一个信元。即,输出端口0根据RFA0,“X”选择第X个FOx信元。
信元计数器是写在当前共同FIFO缓冲器中所存储的信元数量的部件。如图11所示,它包括两个减法器和一个加法-减法器。两个减法器被用来计算在这个时间间隔新存储信元(新存储的信元NsC)的数量和新读取的信元(新读取的信元NRC)的数量。在一个时间间隔之前,加法器-减法器把NsC加到在共用FIFO缓冲器中所存的CCNT,并且在这个时间间隔从CCNT减去NRC来最后计算在共用FIFO缓冲器中所存储的信元数量。
图12示出反压信号发生器的电路图。反压信号发生器的功能是产生防止更多的信元发送至前级交换器的信号(BPO)。如果在当前交换器中的信元数量变得大于最大值(MaxL),该发生器产生BPO信号以使前级的交换器不能发送信元。如果在产生BPO之后信元的数量减少并变得小于或等于最小值(MinL),则停止生成BPO信号。
图13至15示出检测输入端口的故障的故障检测器的电路图。2n×n复用交换器通常从端口0开始依次地发送信元至输出级的每个端口。并且每个端口经过2n×n复用交换器连接,因此在VD提取部分所产生的VD信号也应该依次地从端口0和端口16中产生。因此,当每个端口安排VD信号时,如果在“1”中存在“0”时,则认为该端口是故障的。利用这个情况,参见图13至图15的结构图,就产生了输入级的每个端口的故障信号FDO。
利用如上所述的结构,利用依照本发明的大规模交换器可以进行多信道广播和广播。同样,由于在一个板上实现的交换器的最大容量受到限制,因此可以简单利用有限容量的交换器制成大规模交换器,并且可以利用自选路由方法简便地和快速地发送信元。
另外,可以通过依据本发明利用输出缓冲器型交换器作为具有交换器结构的复用交换器来改进交换器的性能。并且如果在已经提出的实现交换器的现有方法中增加产生反压信号的功能,则可以检测在每个交换器的输出级与输入级之间出现的故障并阻止发送信元至该端口。结果,可以显著地减少信元丢失的可能性。同样,根据本发明实现2n×n复用交换器是非常简便的。
权利要求
1.一种用于大规模容错ATM交换器的2n×n复用交换器,包括2n VD(有效)提取部分,产生VD信号并用于根据路由选择标记在每信元期间输入的2n个信元中选择信元并存储所述信元至FIFO;FIFO选择部分,选择要存储利用所述VD信号所选出的每个信元的FIFO并发送所述信元给对应的FIFO;2n共用FIFO缓冲器,存储通过所述FIFO选择部分发送的2n信元;输出部分,把在所述共用FIFO缓冲器中所存储的信元发送至输出端口;信元计数部分,利用从所述FIFO选择部分和输出端口发送的信息计算在所述共用FIFO缓冲器中存储的信元数量;反压信号发生部分,利用来自所述信元计数部分的信息生成反压信号;和故障检测器,通过从所述VD提取部分输入的2n VD信号监示输入端口的故障。
2.如权利要求1所述的2n×n复用交换器,其中所述FIFO选择部分还包括FIFO地址提取部分,生成要存储输入信元的FIFO的地址;榕树路由选择网络,利用所述FIFO地址提取部分中生成的数据发送信元至所述共用FIFO缓冲器。
3.如权利要求2所述的2n×n复用交换器,其中所述FIFO地址提取部分还包括2n加法器,以使2n个VD信号中的一个信号输入至一个加法器并且该运算的结果输出给该加法器的刚好下一级;和2n缓冲器,输入所述2n加法器中当前级的加法器的输出。
4.如权利要求1所述的2n×n复用交换器,其中所述输出部分还包括RFA(读FIFO地址)发生器,生成用于选择要读的FIFO号的n个RFA信号;FRE(FIFO读启动)发生器,利用所述RFA信号生成2n个FRE信号;和输出信元复用部分,利用所述RFA信号在从所述共用FIFO缓冲器部分读出的2n信元中发送n个信元至输出端口。
5.如权利要求4所述的2n×n复用交换器,其中所述RFA发生器还包括移位寄存器,依次地输入n个故障检测标识符(FDI);n个与门,分别输入来自所述移位寄存器的n个故障检测标识符之一、来自所述信元计数部分由信元计数(CCNT)所确定的信号以及反压标识符(BPI);寄存器,同时输入所述每个与门的输出;n个加法器,使所述寄存器的AEN输入至一个加法器并且把运算结果输出至该加法器的刚好下一级;和n个缓冲器,输入在所述n个加法器中当前级的加法器的输出。
6.如权利要求4所述的2n×n复用交换器,其中所述FRE发生器利用(4n+1)个比较器、8n个与门以及(4n+1)个或门生成2n个FRE(FIFO读启动)信号。
7.如权利要求1所述的2n×n复用交换器,其中所述故障检测器包括含有(2n+1)个比较器、4n个与门、(2n+1)个或门和移位寄存器的两个故障信号发生器并且为输入级的每个端口生成故障信号。
8.如权利要求4所述的2n×n复用交换器,其中所述输出信元复用部分包括n个2n×1复用器。
9.如权利要求1所述的2n×n复用交换器,其中所述信元计数器由2个减法器和一个计数器构成。
10.如权利要求1所述的2n×n复用交换器,其中所述反压信号发生部分包括2个与门;2个比较器,分别输入所述与门的输出;或门,逻辑加所述两个比较器的输出;和缓冲器,暂时地存储所述或门的输出。
11.在用于大规模的容错ATM交换器的2n×n复用交换器中的一种自选路由方法,包括以下步骤搜索输入端口的故障;向前级的交换器通知所述搜索的结果;接收来自后级的故障线路的结果并阻止信元发送至与故障线路的结果相对应的输出端口;如果在所述交换器内的缓冲器中所存储的信元的数量大于特殊值,则发送反压信号通知该情况;和如果接收到所述反压信号,则暂时停止发送信元。
12.在用于大规模容错ATM交换器的2n×n复用交换器中的一种自选路由方法,当规定A表示每个交换器的级以及k表示在n×n输出交换器的每级中第k位置,并且规定j=[(k-1)n2ZN],]]>[x]意味着小于或等于x的整数中的最大整数,并且Z=log2Nn-A+1,]]>则包括以下步骤由特殊交换器的A,k值,决定特殊交换器所属的交换器组s(A,k)的值;定义交换器组sg(A,j)并且初始化路由选择标记i的值;决定是否满足i≤Nn]]>的条件;决定是否满足i≥jNn2Z+1]]>的条件;决定是否满足i≤(J+1)Nn2Z]]>的条件;决定是否满足f(i)=0的条件;和进行信元传输。
13.如权利要求12所述的自选路由的方法,其中如果不满足所述i≤Nn]]>的条件,则不进行信元传输。
14.如权利要求12所述的自选路由的方法,其中如果不满足所述条件i≥jNn2Z+1,i≤(j+1)Nn2Z,f(i)=0]]>则使所述路由选择标记i的值递增1并且决定是否满足所述i≤Nn]]>的条件。
全文摘要
一种大规模容错ATM交换器和一种2n×n复用交换器中的自选路由方法。2n×n复用交换器包括:2n VD(有效)提取部、FIFO选择部、2n共用FIFO缓冲器、输出部、信元计数部、反压信号发生部以及故障检测器。自选路由方法通过搜索输入端故障,使前级交换器接收后级故障线路通知以阻止信元发送至故障线路输出端,根据交换器缓冲器中信元数量多少,发送反压信号来停止发送信元,能够显著降低信元丢失概率,更快发送信元。
文档编号H04L12/56GK1212583SQ9810339
公开日1999年3月31日 申请日期1998年6月30日 优先权日1997年6月30日
发明者徐荣翊, 李钟南 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1