交换系统的制作方法

文档序号:7661353阅读:148来源:国知局
专利名称:交换系统的制作方法
技术领域
本发明涉及用于数据交换的设备和装置。本发明应用的一个例子是为其中两个或多个处理器共享内存的系统提供高带宽互联。
用于创建一个具有增加的能力的系统的另外一种可能性是操作几个紧密相连的串联的处理节点。尽管每个节点在它自己的本地内存空间中工作,但是这种紧密的连接使得一定程度的内存共享变得必要。这种共享的内存可以以一单个中心复制或(更典型地)在节点的本地内存中复制和分配来实现。无论哪种方法都提升了对高带宽的节点间通信系统的需求,在前面的情况下,提供对中心内存的接入,在后面的情况下,确保分配的拷贝保持连贯。
通过这种通信系统产生业务的节点将频繁地需要在处理能够继续之前对它的请求的一个答复。这样,无论哪个节点必须延缓处理,或者(在可能的地方)它必须切换到没有被停止的另一个任务-无论哪种选择都将耗费整体的性能。在节点间通信系统中的低的等待时间因此是减小这样的损耗的一个首要要求。
在数据通信系统中,信元损失可以通过协议堆栈中的更高的层来处理,并因此可以被容忍。相比之下,在处理器互联系统中的信元损失由于延迟的请求处理,通常是不可接受的,然而这样的系统典型地以最小的协议层工作,目的是降低系统延迟。物理层因此必须以硬件中的一个可靠的传送协议来实现。
在WO 00/38375中,在这里被整体引入的公开事项,我们提出了一种拥有高带宽、可量测性、低等待时间、小的物理尺寸和低成本的内在特性的数据交换装置。该技术的有限的细节通过本申请的优先权日期可公开获得。它在图1中示意。
一个交换系统采用可以是双向的n+1个路由器。各个路由器的信息发送的方面表示为“入口路由器”ITM0,ITM1,..ITMn。路由器的信息接收方面表示为n+1个“出口路由器”ETM0,ETM1,..ETMn。每个路由器从一个或多个数据源(例如,一组构成一个“节点”的处理器)接收信息,例如,入口路由器ITM0从m+1个数据源ILE00,...ILE0m接收信息。类似地,每个出口路由器发送信息给一个或多个数据输出端,例如出口路由器ETM0发送信息给数据源ELE00,..ELE0m。控制设备SC和矩阵设备SW构成中心互联结构(CIF)。通过矩阵SW用于发送的信元是相等长度的,并且每一个与一个优先级级别相关联。当矩阵设备SW把那个入口路由器连到那个出口路由器时,每个入口路由器维护,对于每个出口路由器和对于每个优先级级别,用于发送到那个出口路由器的那个优先级级别的信元的各个“虚拟输出队列”。每个入口路由器向控制设备SC发送连接请求。控制设备SC通过第一仲裁过程确定连接哪个入口和出口路由器。已被通知它将连接到哪个出口路由器的每一个入口路由器执行第二次仲裁来确定它将发送到那个出口路由器的信元是什么优先级级别,并在确定了优先级级别之后,经由串行链路发送用于那个优先级级别和那个出口路由器的虚拟输出队列的头部到矩阵SW,并在连接信息被直接从控制器发出的同时到达。实际上,后者比前者明显要快,并且为了匹配经由路由器的路径的等待时间,不得不作人工延迟。总之,上面的系统使用了一种所有阻塞在路由器中缓存的无内存结构。
WO94/17617公开了根据权利要求1的前序部分的一种转换器。交换矩阵包括一个缓存器,该缓存器对于在单个交换周期期间形成的通过交换矩阵的每个路径只能够存储一个信元。在确定了哪些信元将通过转换器被发送之后,这些信元离开入口路由器,并通过交换矩阵被发送。这篇文章包括当它们通过信元时,并在它们不再能存储到入口路由器的时刻,在缓存器中信元的临时存储。

发明内容
本发明的目的是提供一种新的和有用的数据交换设备和方法。
总而言之,本发明提出交换矩阵自身维护将被发送的信元的队列缓存器的(例如,短的)头部。这些队列中的每一个对应于由入口路由器存储的一个虚拟输出队列中的一个,并且实际上存储在交换矩阵中的信元是从在各个虚拟输出队列中排队的第一个信元复制的。这样,当确定在交换矩阵的一个给定的输入和输出之间作一个连接时,适合于沿那个连接发送的信元对交换矩阵已经是可获得的。从一个入口路由器获得它是不必要的。一旦由一个入口路由器接收了一个新的信元,那么该信元被存储到对应于那个信元的出口路由器的入口路由器的一个虚拟输出队列中。每个虚拟输出队列和队列缓存器的头部可以是一个先进先出(FIFO)队列,队列缓存器的头部可以复制虚拟输出缓存器的第一部分的几个进入。这可以例如当它接收了一个新的信元并把它写入一个虚拟输出队列时,通过入口路由器来实现,并且如果那个缓存器有空间,同时把它写入队列缓存器的相应的头部。如果不是这样,信元可以被存储,当那个缓存器有用于它的空间时,写入队列缓存器的头部。缓存器是否有空间的问题通过检查对于那个各自的缓存器可变的一个信用量计数来回答,该计数指示在那个缓存器中的空闲信元的数目。
这样,虚拟输出队列被隔离为两个区域,第一区域包含等待复制到相应的队列缓存器的头部的信元,第二区域包含复制到相应的队列缓存器的头部的信元。
确保信用量计数正确地指示相应的队列缓存器的头部的空闲信元的数目的一个合适的方法如下。当一个新的信元被写入一个虚拟输出队列时,相应的队列缓存器的头部的信用量计数不是零,以便信元的复制被发送到队列缓存器的头部,信用量计数减1。一旦控制器引起一个连接以通过交换矩阵交换一个入口路由器的信元时,一个连接允许信号被发送到那个入口路由器,并将信用量计数加1。一旦确定在一个给定的虚拟输出队列的第一区域中至少有一个信元,并且相应的队列缓存器的头部的空闲信元的数目不是零,那么在第一区域中的至少一个信元的复制被发送到那个队列缓存器的头部。
在一个合适的时间,例如当入口路由器被满足队列缓存器的头部复制到相应的虚拟输出队列的头部时,入口路由器可以发送一个连接请求给控制器。
当已接收了多于一个连接请求时,控制器决定满足哪个。首先,控制器将确定是否接收请求中的任何给定的一个(例如,在这些请求中涉及在其中一个队列缓存器的头部前面的信元)都可以被满足,而不使得满足任何其它的接收请求变得不可能。在这种情况下,控制器使那个给定的请求被满足该请求的信元被发送。否则(即如果至少两个请求发生冲突),控制器将例如根据已知的技术,执行一个仲裁来决定满足哪个。
如上面提到的,对于每对入口和出口路由器,可以有多于一个的虚拟输出队列。例如,信元可以是不同的“类型”,例如优先级级别,对于每种类型有一个不同的虚拟输出队列(这样线队列的一个不同的头部)。在这种情况下,控制器将确定将依次连接哪个输入和输出端口对和在它们之间发送信元的优先级级别,并发送那个信息给交换矩阵,以便信元被从具有那个优先级级别和相应的输入和输出端口对的队列发送。对要发送的信元的优先级级别的确定可以由根据已知的技术通过仲裁(例如预定的准则)来执行。
特别地,在第一方面,本发明提供了具有多个入口路由器、多个出口路由器,一个交换矩阵和一个连接控制器的数据交换设备,交换矩阵具有连接到各个所述的入口路由器的输入端口和连到各个所述出口路由器的输出端口,并由控制器控制以形成输入和输出端口对之间的连接;每个入口路由器包括用于每个出口路由器的一个或多个虚拟输出队列,每个虚拟输出队列被配置用来存储具有定义在交换矩阵连接中用到的出口路由器的标题的固定长度信元;一旦由那个入口路由器接收了一个新的信元,每个入口路由器被配置用来在对应于用于那个信元的出口路由器的入口路由器的所述的一个虚拟输出队列中存储信元;其特征在于交换矩阵的每个输入端口包括用于连接到那个输入端口的入口路由器中的每个虚拟输出队列的各个队列缓存器的头部;一旦交换矩阵在给定的输入端口和输出端口之间形成一个连接,交换矩阵被配置用来发送一个来自相应的一个队列缓存器的头部信元到那个输出端口;一旦由那个出口路由器无差错接收了来自一个入口路由器的一个虚拟输出队列的信元,每个出口路由器被配置用来发送一个接收信号给那个入口路由器;一旦在所述的虚拟输出队列中存储了一个信元,并且如果指示相应的队列缓存器的头部的自由信元的个数的信用量计数不是零,那么每个入口路由器被配置用来发送一个信元的复制给队列缓存器的那个头部和一个连接请求到控制器;并且每个入口路由器被进一步配置为在相应的虚拟输出队列中保留每个接收的信元直到接收了相应的接收信号。
在第二个方面,本发明提供了一种操作数据交换设备的方法,所述数据交换设备具有多个入口路由器、多个出口路由器,一个交换矩阵和一个连接控制器,并且交换矩阵具有连接到各个所述的入口路由器的输入端口和连接到各个所述的出口路由器的输出端口,并由控制器控制以形成输入和输出端口对之间的连接;该方法包含步骤在每个入口路由器维护用于每个出口路由器的一个或多个虚拟输出队列,每个虚拟输出队列被配置用来存储具有定义在交换矩阵连接中用的出口路由器的标题的固定长度信元,并且一旦接收了一个新的信元,每个入口路由器被配置用来在对应于用于那个信元的出口路由器的入口路由器的所述的虚拟输出队列中存储信元;其特征在于该方法进一步包含步骤在交换矩阵的每个输入端口维护用于连接到那个输入端口的入口路由器中的每个虚拟输出队列的各个队列缓存器的头部;一旦交换矩阵在给定的输入端口和输出端口之间形成一个连接,交换矩阵从那个输入端口发送一个来自队列缓存器的一个或多个相应的头部中的一个的信元到那个输出端口,并且一旦由出口路由器无差错接收了来自一个入口路由器的一个虚拟输出队列的信元,那个出口路由器发送一个接收信号给那个入口路由器,一旦由一个入口路由器接收了一个新的信元,并且如果指示相应的队列缓存器的头部的自由信元的个数的信用量计数不是零,那么该入口路由器发送信元的复制给队列缓存器的那个头部和一个连接请求到控制器;并且每个入口路由器在相应的虚拟输出队列中维护每个接收的信元,直到接收了相应的接收信号。


本发明的一个实施例现在仅为了示例参考图形来描述,其中图1表示GB9828144.7的一个系统,并且是本发明的一个实施例;图2从原理上表示本发明的一个实施例的示意图;图3从原理上表示图2的实施例中的处理;图4示意由图2的实施例中的串行链路引起的延时;图5示意在不需要仲裁的情况下根据本发明的处理;图6示意在需要仲裁的情况下根据本发明的处理;图7示意与其它交换技术相比较,根据本发明的平均等待时间;和图8示意包括对信元已被正确发送的确认的根据本发明的处理。
具体实施例方式
在这里描述的本发明的实施例是建立参照图1上面描述的,进一步降低了等待时间和改进了容错的系统。实施例在图2中示意,它表示拥有多个(最高16个)多处理器节点1,3,…31的一个系统。每个节点包含一个路由器设备33。路由器设备在每个处理节点和一个中心互联结构57之间提供接口(接收和发送信息)。
结构57组织为具有独立的功率和时钟域的两个独立的信道。每个信道包含一单个主设备和几个矩阵设备,矩阵设备的数量决定结构的集合带宽。多处理器系统的每个节点的路由器通过经电缆工作的高速串行链路的阵列接入结构。象上面描述的如图1的已知系统中,本实施例包含3类设备路由器设备提供在互联和处理节点间的接口,主设备(控制器)在结构中提供时序和仲裁功能以及提供纵横功能的一个或多个矩阵设备。沿着一单一信道的节点的发送和接收与上面解释和图1中表示的结构相一致。就是说,路由器可以是双向路由器,其中数据输入和输出功能可以看作入口和出口路由器,并且使用一个主(控制器)和循环的交换矩阵进行通信(经由一个信道)。
在正常的无失败条件下,消息被通过平衡实施例中的业务的两个信道中的一个来分配路由。当一个信道失效时,另一个信道有能力在一个降低的全带宽内承载所有的业务。可靠的端口到端口的消息传递通过节点到节点的确认/非确认协议来支持,由此通过互联传递的每个消息都给源节点返回报告并且任何被破坏的消息被自动重发。
本实施例合并了与上面描述的GB 9828144.7的系统的下面的变化●为了接管路由器的仲裁功能,主设备(控制器)被给予各个消息的分类的选择的控制。
●矩阵维护一个有限的消息存储来容许对控制器产生的连接的立即反应,而不涉及路由器。这个可以通过在矩阵内保持一组队列缓存器的头部(HOQ)来实现,一个HOQ对应一个源端口、目的端口和消息种类的合并。这是在路由器缓存器(VOQ)和矩阵HOQ之间的一个1∶1的对应关系,以避免引入任何队列头的阻塞的这种附加的存储。
●在低负载条件下,当消息缓存器空时,它们可以被旁路以获得最小的可能的等待时间。
如下面讨论的,具有这些改进,矩阵能够立即响应从控制器接收的连接,不等待路由器的任何动作所有的控制器后仲裁的路由器的动作被从关键路径中有效去除,导致一个可以低到55ns的整体的端到端的等待时间。
图3是一个信道的一个入口和出口端口的操作的逻辑视图。当一个新的消息到达入口路由器60时,级别和目的地被从标题中提取出,并且消息被附加到合适的VOQ 62。消息在VOQ 62中被保持直到它的无错误接收之后被出口路由器64确认。多个矩阵设备支持一个由一个控制器(主)68控制的矩阵66。如果在矩阵设备中相应的HOQ 69不满,那么在写入VOQ的同时,一个消息的拷贝被转发到矩阵设备,并且路由器发送一个连接请求给控制器68通知它新的消息的目的地和级别。该控制器维护它还未能满足的请求的一个缓存。
在接收了一个连接请求时,控制器68立即用信号通知矩阵设备哪个HOQ缓存器来接收到达的消息。该特征是必要的(在这个实施例中)原因是每个矩阵设备接收了消息的一个不同部分,所以典型地只有一个设备能够从消息标题中解码出该信息。
控制器68之后在竞争的请求之间进行仲裁,并且之后发出由矩阵66建立的一组连接,其中一个是用于在考虑中的消息。控制器68同时通知矩阵用于每个连接的要被转发的消息的级别,去辨识包含每个消息的特定的HOQ。矩阵66因此能够创建连接并转发消息,只要来自控制器68的这个信息到达。出口路由器64被发送数据有效来指示来自矩阵66的消息的到达,并且入口路由器60被发送连接允许来指示一个消息已被从矩阵转发。
当一个出口路由器64接收了一个消息,它检查消息CRC字段并转发一个响应(指示正确的接收的确认,否则非确认)给发起的入口路由器。出口路由器64丢弃失败的消息,并在它们从那里被发送到节点的用于那个级别的合适的出口路由器EQ中将好的消息进行排队。
与参照图1的上面讨论的已知系统相比,等待时间被降低的基本方法,是通过包含HOQ缓存器,如上面解释的,根据控制器对连接的仲裁,经由连接允许,入口路由器仲裁和到矩阵的串行链路从关键路径中去除该路径。
在低负载的情况下,当一个消息到达一个空的VOQ时,它将继续传送到HOQ,请求连接在写入VOQ时将同时产生。这避免了缓存器写和读的开销。
当控制器68接收了一个连接请求,如果对于输入或输出没有竞争的请求,控制器68将旁路正常的仲裁算法并产生一个到矩阵66的立即连接。这代替了HOQ接收到达的消息的正常的指标,并导致矩阵66创建连接并把消息继续发送到要求的目的地,而不把它存储到(空的)HOQ。
最终地,如果具有一个好的CRC的消息到达一个空的EQ,并且节点(即与接收消息的出口路由器相关联的节点)能够接收它,消息被立即转发从而避免了另一个不必要的缓存器读和写。
从入口路由器60到矩阵66的消息的传送由一个信用量协议控制。这允许入口路由器60始终知道矩阵66是否能够接收一个新的消息,而没有对请求/应答系统的开销。
入口路由器60维护一个用于每个VOQ/HOQ对的信用量计数,它启动了对每个空的HOQ的消息的容量的初始化。当一个消息对于发送到HOQ是可获得的,该计数器的状态被检查。如果有一个有效的信用量(计数器非零),则消息经串行接口发送,信用量数减1。当一个连接允许之后被接收,指示消息已被从HOQ去掉,信用量计数被增加。如果对于要发送到矩阵的一个新的消息没有足够的信用量,消息在VOQ中存储并之后当信用量变得可获得时被发送。
在本发明的范围内对该方案的一个简单的扩展可以允许系统处理不同大小的消息。不是信用量计数器简单计算整个消息,它将计算消息字。计数器之后被减小或增加一个消息被加入或去除的字的数目,能够加入一个新的消息的准则是计数器在减法之后不能变为负的。
在任何时间可获得的信用量是从入口路由器60的角度看在矩阵66中的那个HOQ中自由的剩余的容量。
在上面参考图1描述的系统中,当消息被转发到矩阵时,这些消息从它们的VOQ中被删除。然而,在本实施例中,消息在VOQ中保持直到出口路由器64报告了成功接收,目的是支持可靠的传递协议。VOQ占用的区域于是在概念上被分成3个区域(其中任何一个或所有的可以是空的)●W-该区域包含等待发送到HOQ的消息。该区域只是在目前没有用于到相应的HOQ的进一步的消息的信用量时被占用。
●H-该区域表示已转发到HOQ并在那里等待转发到它们的目的地的消息。
●A-该区域包含已从HOQ转发但还未接收任何响应(确认或未确认)的消息。
注意尽管H和A被表示为VOQ的独立的区域,这些区域是概念上的只要考虑入口路由器60,区域H和A构成已经被发送到矩阵66的信元的一单个区域。路由器通过连接允许信号跟踪该边界是可能的,但实际上这是不必要和没有做的。
每个到达的消息在出口路由器64中被检查一个正确的CRC,和产生的一个确认(好的)或未确认(坏的)响应。在消息标题内的序列数同时被检查以避免丢失的消息——如果最新的消息的序列数目与前面的消息相邻,对于任何丢失的消息的一个未确认响应在对当前消息的响应之前被产生。由出口路由器64产生的响应被发送到控制器68,该控制器68于是将它们分配路由回到发出的入口路由器60。
在入口路由器60中,一个到达的响应总是参考在合适的VOQ的头部的消息(这由标签消息检查并以序列号响应)。消息被从VOQ中去掉如果响应是确认,那么消息已被正确转发并因此被丢弃。如果响应是非确认的,消息被重新排队到VOQ的尾部并被处理好象它是一个新的消息。
每个HOQ缓存器的深度被选择来允许经由VOQ满足的信用量协议在整个带宽上工作,并提供足够的消息来允许在高负载条件下有效地处理的进度安排和仲裁。
对于前者的要求,考虑其中消息缓存器是空的并且消息的全带宽流从节点到达的一个系统。对于保持流出到HOQ而不在VOQ的区域W中排队的这个消息流,一个新的消息必须从不遇到一个为零的信用量。考虑在从节点到达的第一消息和用于那个消息的信用量的返回之间的延迟连接请求产生 5ns路由器-控制器串行控制接口 20ns控制器仲裁 10ns连接允许产生 5ns控制器-路由器串行控制接口 20ns解码和信用量恢复 5ns总计 65ns如果全带宽的消息到达路由器以便在这个信道上每隔10ns发送,这指示HOQ应该保持最小7个消息以避免因缺少信用量而阻塞消息流。在实现过程中,由于端口争用,控制器仲裁可以考虑比10ns要长。额外的HOQ空间可以推迟在这种情况下消息流阻塞的发作。
为了提供允许在高负载条件下有效地处理的进度安排和仲裁的足够的消息,考虑一个系统,其中HOQ已充满,控制器68启动对一个连续系列的连接的仲裁。假定有在VOQ的区域W中等待的消息的积压,HOQ应该包含满足连接的足够的消息直到返回的信用量从VOQ重新启动消息流。考虑在控制器中产生的连接和从路由器到达的新的连接请求之间的延迟
连接允许产生 5ns控制器-路由器串行控制接口20ns解码和信用恢复 5ns从VOQ的区域W中的消息提取 10ns连接请求产生 5ns控制器-路由器串行控制接口20ns总共65ns如果连接每隔10ns产生,这暗示在等待来自路由器的新的消息时,HOQ应该包含最小7个消息以避免任何对连接的中断。
图4到8表示在本实施例的组件中的操作的顺序和定时。通过实施例的等待时间已被定义为从在入口路由器60中消息有效到消息有效并在出口路由器64中检查。通过串行链路的等待时间在图4中被细化。我们现在详细描述执行各种操作所需的时间。
1.快速消息转发如果控制器68接收了一个连接请求并检测到那个请求所涉及的输入和输出端口没有争用(HOQ和仲裁状态),那么控制器68能够旁路掉仲裁阶段(这里为了公正地解决争用)并立即允许连接。当实施例在低负载的条件下或它在支持随机的非争用的流时,这种“快速消息转发”特性降低了消息转发的等待时间。
在快速消息转发中,HOQ寻路由数据不经控制器-矩阵接口发送到矩阵设备,原因是消息不需要在HOQ中存储。
工作的时间标准在图5中提出。在没有目的地端口的争用时,实施例支持所有端口上的整个端口带宽具有如上面所示的55ns的“最快消息转发”等待时间。该实施例是一个严格的非阻塞结构,因此没有输入或内部的争用。
2.仲裁消息转发图6表示一个“正常”的消息转发的定时,其中在结构中有一些争用,但其中请求的消息被没有额外的排队延迟地转发。在输出端口有争用(在结构中的两个或多个消息预定发送到相同的输出节点)的情况下,路由器节点的接口的有限带宽强制除了一个以外的所有消息在HOQ缓存器中排队。由于消息之间的冲突的这种排队作为通过结构的平均等待时间的一个增加。这个增加的幅度取决于应用的业务类型(消息冲突的概率)。
图7表示通过实施例一个16端口TSI的平均消息等待时间,假定所有的端口以相等的概率和随机的消息间的间隙向所有其它的端口发送。该图示意实施例的性能与一个M/M/1队列的最佳特性相近(也就是说,M/M队列,是指具有泊松分布到达率和泊松分布服务率的一单个服务器Q的一个技术术语),特别与一个简单的FIFO队列结构(没有VOQ)比较。
注意该图表不能示意上面描述的(例如,关于图5)在低负载时进一步降低平均等待时间的快速消息转发的效果。
同时应该注意在高负载条件下消息等待时间的增加不是本结构的一个特征,而是由输出争用所导致,也就是说,为了减轻该效果,一个节点将不得不以一个比一单个节点能够发出消息的更快的速率(快~20%)接收(和处理)消息。实际上,这只充当将冲突点进一步向下移动到数据流,而没有必要地改进整个系统的性能。
路由器确认/非确认等待时间定义要求的VOQ的最小的深度,目的是维护在两个节点之间的一个全带宽流。图8表示正常的确认/非确认等待时间是115ns。对于10ns消息,这指示对于H&A区域一个绝对最小VOQ深度为12个消息。W区域的尺寸由重新开始来自节点的一个暂停的接口的等待时间来决定。
尽管本发明只针对一单个实施例在上面作了描述,在本发明的范围内作许多变化是可能的。例如,本发明不仅仅限于多信道发送。而且,本发明不仅仅限于数据处理器之间的数据发送,而是可以用在任何数字通信系统中。
同时,尽管本发明参照每个只发送到一单个节点的信元在上面作了描述,本发明同时可以应用在多播信号的情况下。例如,一个被发送到多于一个出口路由器的信元可以被入口路由器分成每个用于发送到一单个出口路由器的多个信元。类似地,被发送到与一单个出口路由器相关联的多个输出的信元可以在它们的标题中包含该信息,以便出口路由器可以相应地发送它们。
类似地,尽管本发明的信元通常是相同长度的,一个给定信元的一些字段可以是“无效”的,意思是说它们不被用来携带有用的信息。
权利要求
1.一种数据交换设备,具有多个入口路由器(33;60)、多个出口路由器(33;64),一个交换矩阵(57;66)和一个连接控制器(68),所述交换矩阵(57;66)具有连接到各个所述的入口路由器(33;60)的输入端口和连接到各个所述的出口路由器(33;64)的输出端口,并由控制器(68)控制来形成在输入和输出端口对之间的连接;每个入口路由器(33,60)包括用于每个出口路由器(33;64)的一个或多个虚拟输出队列(62),每个虚拟输出队列(62)被配置用来存储具有定义在交换矩阵(57;66)连接中用到的出口路由器(33;64)的标题的固定长度信元;一旦由那个入口路由器(33;60)接收了一个新的信元,每个入口路由器(33;60)被配置用来在对应于用于信元的出口路由器(33;64)的入口路由器(33;60)的所述的一个虚拟输出队列(62)中存储信元;其特征在于交换矩阵(57;66)的每个输入端口包括连接到那个输入端口的入口路由器(33;60)中的每个虚拟输出队列(62)的各个队列缓存器(69)的头部;一旦交换矩阵(57;66)在给定的输入端口和输出端口之间形成一个连接,交换矩阵(57;66)被配置用来发送一个来自相应的一个队列缓存器(69)的头部的信元到那个输出端口;一旦由那个出口路由器(33;64)无差错接收了来自一个入口路由器(33;60)的一个虚拟输出队列(62)的信元,每个出口路由器(33;64)被配置用来发送一个接收信号给那个入口路由器;一旦在所述的虚拟输出队列(62)中存储了一个信元,并且如果指示相应的队列缓存器(69)的头部的自由信元的个数的信用量计数不是零,那么每个入口路由器(33;60)被配置用来发送一个信元的复制给队列缓存器(69)的那个头部和一个连接请求到控制器(68);并且每个入口路由器(33;60)被进一步配置在相应的虚拟输出队列(62)中保留每个接收的信元,直到接收了相应的接收信号。
2.根据权利要求1的设备,其特征在于,一旦控制器(68)引起一个连接以通过交换矩阵(57;66)交换入口路由器(33,60)的信元时,一个连接允许信号被发送到那个入口路由器(33;60)并将信用量计数加1。
3.根据权利要求1或2的设备,其特征在于,一旦所述的信元复制到队列缓存器(69)的头部时,各个信用量计数被减1。
4.根据任何前述的权利要求的设备,其特征在于,虚拟输出队列(62)被隔离为2个区域,包含等待复制到相应的队列缓存器(69)的头部的信元的第一区域(W),和包含已复制到队列缓存器(69)的头部的信元的第二区域(H,A),并且,一旦确定在第一区域中至少有一个信元和相应的队列缓存器(69)的头部的自由信元的数目不是零时,在第一区域(W)中的至少一个信元的复制被发送到队列缓存器(69)的那个头部,信元被转发到第二区域(H,A),并且一个连接请求被发送到控制器(68)。
5.根据任何前述的权利要求之一的设备,其特征在于,每个信元与一个优先级级别相关联,所述的虚拟输出队列(62)包含用于每个各自的优先级级别的信元的一个虚拟输出队列(62),所述的控制器(68)确定将依次连接哪个输入和输出端口对,以及在它们之间发送的信元的优先级级别。
6.根据任何前述的权利要求之一的设备,其特征在于,控制器(68)确定在虚拟输出队列(62)中的任何给定的一个信元是否能在合适的输入和输出端口对之间发送,而不阻止在另一个输入和输出端口对之间的一个虚拟输出队列(62)中的一个信元的发送,在这种情况下,引起那个给定的信元被发送。
7.根据任何前述的权利要求之一的设备,其特征在于,每个出口路由器(33;64)被配置用来检测由交换矩阵(57;66)发送的一个信元未被正确接收,并且在这种情况下发送一个重新发送请求给相应的入口路由器(33,60)。
8.根据权利要求4和7的设备,其特征在于,一旦接收了重新发送请求,入口路由器(33,60)把第二区域(H,A)中的相应的信元转发到第一区域(W),并发送一个相应的连接请求给控制器(68)。
9.一种操作数据交换设备的方法,所述数据交换设备具有多个入口路由器(33,60),多个出口路由器(33;64),一个交换矩阵(57;66)和一个连接控制器(68),所述交换矩阵(57;66)具有连接到各个所述的入口路由器(33;60)的输入端口和连接到各个所述的出口路由器(33;64)的输出端口,并由控制器(68)控制来形成在输入和输出端口对之间的连接;该方法包含步骤在每个入口路由器(33,60)维护用于每个出口路由器(33;64)的一个或多个虚拟输出队列(62),每个虚拟输出队列(62)被配置用来存储具有定义在交换矩阵(57;66)连接中使用的出口路由器(33;64)的标题的固定长度信元,并且一旦接收了一个新的信元,每个入口路由器(33;60)被配置用来在对应于用于信元的出口路由器(33;64)的入口路由器(33,60)的所述虚拟输出队列(62)中存储信元;其特征在于,该方法进一步包括步骤在交换矩阵(57;66)的每个输入端口维护连接到那个输入端口的入口路由器(33;60)中的每个虚拟输出队列(62)的各个队列缓存器(69)的头部;一旦交换矩阵(57;66)在给定的输入端口和输出端口之间形成一个连接,交换矩阵(57;66)从那个输入端口发送来自一个或多个相应的队列缓存器(69)的头部的一个的信元到那个输出端口;一旦由那个出口路由器(33;64)无差错接收了来自一个入口路由器(33;60)的一个虚拟输出队列(62)的信元,那个出口路由器(33;64)发送一个接收信号给那个入口路由器(33,60);一旦由一个入口路由器(33,60)接收了一个新的信元,并且如果指示相应的队列缓存器(69)的头部的自由信元的个数的信用量计数不是零,那么入口路由器(33;60)发送信元的复制给队列缓存器(69)的那个头部和一个连接请求到控制器(68);并且每个入口路由器(33;60)在相应的虚拟输出队列(62)中维护每个接收的信元,直到接收了相应的接收信号。
10.根据权利要求9的方法,其特征在于,一旦控制器(68)引起一个连接以通过交换矩阵(57;66)交换入口路由器(33,60)的信元时,一个连接允许信号被发送到那个入口路由器(33;60)并将信用量计数加1。
11.根据权利要求9或10的方法,其特征在于,一旦所述的信元复制到队列缓存器(69)的头部时,各个信用量计数被减1。
12.根据权利要求9到11的任何一个的方法,其特征在于,虚拟输出队列(62)被隔离为两个区域,包含等待复制到相应的队列缓存器(69)的头部的信元的第一区域(W),和包含已复制到队列缓存器(69)的头部的信元的第二区域(H,A),并且,一旦确定在第一区域中至少有一个信元和相应的队列缓存器(69)的头部的自由信元的数目不是零时,在第一区域(W)中的至少一个信元的复制被发送到那个队列缓存器(69)的头部,信元被转发到第二区域(H,A),并且一个连接请求被发送到控制器(68)。
13.根据权利要求9到12的任何一个的方法,其特征在于,每个信元与一个优先级级别相关联,所述的虚拟输出队列(62)包含用于每个各自的优先级级别的信元的一个虚拟输出队列(62),所述的控制器(68)确定将依次连接哪个输入和输出端口,以及在它们之间发送的信元的优先级级别。
14.根据权利要求9到13的任何一个的方法,其特征在于,控制器(68)确定在虚拟输出队列(62)中的任何给定的一个信元是否在合适的输入和输出端口对之间发送,而不阻止在另一个输入和输出端口对之间的一个虚拟输出队列(62)中的一个信元的发送,在这种情况下,引起那个给定的信元被发送。
15.根据权利要求9到14的任何一个的方法,其特征在于,每个出口路由器检测由交换矩阵(57;66)发送的一个信元未被正确接收,并且在这种情况下发送一个重新发送请求给相应的入口路由器(33,60)。
16.根据权利要求12或15的方法,其特征在于,一旦接收了重新发送请求,入口路由器(33,60)把第二区域中的相应的信元转发到第一区域,并发送一个相应的连接请求给控制器(68)。
全文摘要
一种数据交换设备,具有由控制器控制的交换矩阵互连的入口路由器和出口路由器。每个入口路由器维护对于每个出口路由器的一个或多个虚拟输出队列。交换矩阵自身维护要发送的信元的队列缓存器的头部。这些队列中的每一个对应虚拟输出队列中的一个,存储于交换矩阵中的信元是从在各自的虚拟输出队列中排队的信元复制的。这样,当确定在交换矩阵的一个给定的输入和输出之间作一个连接时,适合于沿那个连接发送的一个信元对于交换矩阵已经是可获得的。一旦由一个入口路由器接收到一个新的信元,信元被存储在对应于用于该信元的出口路由器的入口路由器的一个虚拟输出队列中,并且如果缓存器有空间,就同时写队列缓存器的相应的头部。如果没有空间,信元就被存储,并当缓存器有空间给它时,再写入队列缓存器的头部。
文档编号H04Q11/04GK1443413SQ0181314
公开日2003年9月17日 申请日期2001年6月1日 优先权日2000年6月6日
发明者伊恩·D·约翰逊, 马勒克·S·皮卡斯基, 马丁·杜克斯布利 申请人:动力X有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1