光纤环通信系统的制作方法

文档序号:7608316阅读:382来源:国知局
专利名称:光纤环通信系统的制作方法
技术领域
本发明一般涉及光纤通信系统,尤其,涉及一种系统结构,这种系统结构有效地应用光纤通信环,并在网络节点之间提供可靠的逻辑连接。
背景技术
已经安装光纤环,从1999年起在许多城市中正在进行安装。这些通信网络有潜力在数英里的地理区域中提供低成本、高带宽连接,以及到诸如互联网之类的其它通信网络的低成本、高带宽连接。然而,到目前止,在这些网络上可用于提供数据通信的设备已经是充分地昂贵的,对于这些光纤网络的使用仍相当少。
本发明提供一种低成本系统结构,它允许光纤信道(FC)和千兆位以太网(GE)数据流通过这种光纤环以极高可靠性无接缝地进行路由传递,而同时对于可用的带宽进行有效的使用。
发明概要光纤环网络包括多个互连的节点,每一对相邻节点通过一对光纤链路互连。使用粗略的波分多路复用,在每根光纤链路的两个方向上发送数据,使用第一光波长λ1在链路上的第一方向上发送数据,并使用第二光波长λ2在链路上的第二相反方向上发送数据。两个光波长至少相差10nm。
在较佳实施例中,经过光学链路发送的每个数据流具有至少2.5Gbps的带宽。此外,每个数据流具有嵌入其中的至少两个逻辑流。
在网络的每个节点处,有一个链路多路复用器,它包括一个或多个链路卡,用于把链路多路复用器耦合到客户机装置,以及一个或多个多路复用器单元,用于把链路多路复用器耦合到光学链路。每个链路卡包括能够存储许多光纤信道帧的帧缓冲器,所述许多光纤信道帧是发送到与该链路卡耦合的客户机装置和从与该链路卡耦合的客户机装置发送的。链路卡还包括流量控制逻辑,用于在接收客户机装置发送流量控制消息以请求它们的发送之前用数据帧预先—填充帧缓冲器。即使当网络节点离开很远而且客户机装置具有较小的输入数据缓冲器时,帧缓冲器和流量控制逻辑的结合的效果是可以利用链路的整个带宽。
附图简述从下面结合附图的详细描述中,对本发明的另外的目的和特征将更为明了,其中

图1是具有使用本发明的多个节点的光纤环网络的方框图;图2是方框图,示出网络接点之间的多个物理通信路径;图3是供在光纤环网络的任何一个节点处使用的链路多路复用器的方框图;图4是链路卡的方框图,它是图3的链路多路复用器的一个部件;图5是链路卡的详细方框图;图6是MUX(多路复用器)接口帧处理器的方框图,它是图5的链路卡的部件;图7是链路卡FC链路接口帧处理器的方框图,它是图5的链路卡的部件;图8是链路卡GE链路接口帧处理器的方框图,它是图5的链路卡的部件;图9是多路复用器单元的方框图,它是图3的链路多路复用器的部件;图10是时分多路复用器和发送速率平滑电路的方框图,它是图6的多路复用器单元的部件;图11是接收数据路径电路的方框图,在图7的时分多路复用器和发送速率平滑电路中使用它的多个实例;图12是示出一段光纤环网络的方框图;图13是方框图,示出根据本发明的光纤环网络;图14是方框图,示出由光纤断开而引起故障的期间如何重新配置在图13中示出的光纤环网络;图15是方框图,示出由有故障的(客户机装置)节点引起故障的期间如何重新配置在图13中示出的光纤环网络;以及图16是方框图,示出由在光纤环网络头端处的有故障的MUX引起故障的期间如何重新配置在图13中示出的光纤环网络。
较佳实施例的详述参考图1,在图中示出光纤环网络100。网络包括遍历一个环路或环的一对光缆102。在网络的每个节点104处使光缆分段,以致在该节点处的链路多路复用器106接收在这对光缆上的信号,然后进行处理或传递到下一段光纤102。
链路多路复用器106执行许多功能把信号从一根光纤分段传递到下一根光纤分段,使信号通过选择路由从光缆传递到客户机装置或通信线路,以及使信号通过选择路由从客户机装置或通信线路传递到光缆。链路多路复用器106还使用时分和波分技术组合来自多个源的信号,以致经过光缆102发送这些信号。
一般通过交换机或交换机网络(fabric)108把在每个节点104处的链路多路复用器106耦合到其它装置或通信线路。交换机108把各种装置和通信信道连接到链路多路复用器的主机(或客户机)侧端口。一般,交换机108是传统的交换装置和网络,诸如时分多路复用总线,在某些情况中不是必需的,因此在本文件中不进一步描述。
节点104-1的例子是耦合到局域网(LAN)的一个节点。依次,可以把LAN耦合到任何数目的服务器计算机110和终端用户工作站112。可以通过交换机108和路由器114把LAN耦合到节点104的链路多路复用器106,如果不需要其它交换功能,则也许只要路由器114。
节点104-2的第二例子是通过耦合到链路多路复用器104-2的路由器114,提供到网络100的互联网连接116的一个节点。
节点104-3的另一个例子是包括“盘场地(disk farm)”118的一个节点,一般,它是提供中央化数据存储器的一组盘,耦合到节点104的其它节点的装置使用所述中央化的数据存储器。本发明使建筑物分布在整个城市或相同区域的多个位置处的公司使用中央化数据存储器得以实用。光纤网络100提供的数据访问速度是如此地高,以致如果把数据存储在许多设备中的每一个中与把数据存储在环网络上的单个中央存储器节点处对于终端用户来说有任何可觉察的差别的话,只有很小的差别。
每对节点之间的多个物理路径参考图2,在一个较佳实施例中,链路多路复用器104(图1)包括在每根光纤102上发送和接收信号的光学收发机。结果,当使用在每根光纤上具有物理发送和接收信道的两根光纤时,在网络的任何两对节点之间存在4个双向通信路径。例如,在节点1和节点2之间的双向物理信号路径如下1)OL12-1、2)OL12-2、3)OL13-1-OL23-1以及4)OL13-2-OL23-2。由于在网络中的每对节点之间存在4个全带宽物理信号路径,所以任何信号分段故障的影响比在每对节点之间只有两个物理信号路径的现有技术系统要不严重得多。在这种现有技术系统中,使用每个光纤信道仅在一个方向上发送信号。
使用特定类型的“粗波分多路复用”形成在每根光纤上的双向信号路径。尤其,使用一个光波长发送数据流,而使用第二光波长接收数据流。使用“粗”波分多路复用意味着两个光信号的光波长相互至少相距10nm(最好至少相距20nm)。在一个较佳实施例中,每根光缆以1510nm携带第一2.5Gbps数据流,而以1570nm携带第二2.5Gbps数据流。两个数据流的方向相反。由于有两根光缆耦合到每个链路多路复用器,所以实际上有耦合到链路多路复用器的4根光纤(即,4根光缆分段)两根耦合到环上的第一相邻节点,两根耦合到环上的第二相邻节点。为了简化和便于说明,这里假设以第一光波长λ1(例如,1510nm)发送“顺时针”流过环的数据,以第二光波长λ2(例如,1570nm)发送“逆时针”流过环的数据。尤其,在下列表中示出
如在图2中所示,把在一个节点中的Mux 1的端口A始终连接到在相邻节点中的Mux 1的端口B,相似地,把在一个节点中的Mux 2的端口A始终连接到在相邻节点中的Mux 2的端口B。结果,λ1信号以一个方向流过环,而λ2信号以相反的方向流过环。
在另一个实施例中,使用每个彼此相隔至少10nm的,并且最好每个彼此相隔20nm的4个不同的发送光波长,经过每根光缆分段发送4个数据信号的一些信号。在这个实施例中,每个链路多路复用器使用4个Mux单元142。在这个实施例的一个实施中,所使用的4个光波长是1510nm、1530nm、1550nm以及1570nm。
在再另一个实施例中,经过光缆发送的每个数据信号以5.0Gbps或10Gbps的速率发送数据,从而使光纤环的带宽加倍或加4倍而无需增加所使用的光缆数。
链路多路复用器结构参考图3,在图中示出链路多路复用器106的较佳实施例。链路多路复用器106包括多达8个链路卡140以及两个多路复用器单元142。每个链路卡140提供到客户机装置或通信信道的高速连接。在一个较佳实施例中,使用两种类型的链路卡一种用于光纤信道连接,它工作于1.0625Gbps,而另一种用于到千兆位以太网信道的连接,它工作于1.25Gbps。在内部,链路卡工作于1.25Gbps。在另一个实施例中,链路卡和多路复用器以大于1.25Gbps的速率工作,诸如以1.28Gbps或1.5Gbps或甚至2.0Gbps的速率工作。可以使用另外类型的链路卡,使用其它信号协议来发送和接收信号,只要信号的最大数据速率不超过链路多路复用器的信道带宽(在较佳实施例中是1.25Gbps)。包括在链路多路复用器106中的链路卡140可以包括光纤信道和千兆位以太网链路卡的任意的组合(例如,两个FC(光纤信道)链路卡或两个GE(千兆位以太网)链路卡,或每种一个,或每种四个等)。
每个多路复用器单元处理多达4个全双工器、全带宽光纤信道(FC)或千兆位以太网(GE)数据流。尤其,每个多路复用器可以经过每个工作于2.5Gbps的两个物理信道发送最高为5.0Gbps的数据,而且可以经过每个工作于2.5Gbps的两个物理信道接收最高为5.0Gbps的数据。
链路卡参考图4,在图中示出链路卡140的功能方框图。尤其,链路卡140包括光纤信道或千兆位以太网接口150,用于耦合全双工器光纤信道或千兆位以太网数据流。还可以使用接口150耦合分数(fractional)数据流,尤其,耦合半带宽数据流(对于光纤信道工作于0.503125Gbps,或对于千兆位以太网工作于0.5125Gbps)。
使用两个缓冲器152来缓冲在每个方向上发送的数据,尤其,用于提供Mux单元(即,Mux 1和Mux 2)的时钟域和客户机装置的时钟域之间的再定时。最后,使用Mux单元接口154把链路卡耦合到两个多路复用器单元142-1和142-2。
图5示出链路卡140的更详细的图,现在将从图5下面的千兆位接口卡(GBIC)160开始描述,并且向上一直描述到Mux单元接口154。链路卡140包括一对GBIC160,GBIC 160的每一个把链路卡140耦合到全双工器光纤信道或千兆位以太网发送媒体158。把客户机装置159(有时也称之为主机系统或用户通信信道)连接到链路卡140的一般是一同轴电缆或光缆。GBIC 160发送和接收串行数据流。
为了以一致的方式描述数据流,把从Mux单元142到客户机装置的数据流称为出境的数据流,而在相反方向上的数据流称为入境数据流。
通过相应的串行器/解串器(SERDES)电路162(诸如Vitesse VSC7125(用于运行在1.0625Gbps的光纤信道数据流)或Vitesse VSC7135(用于运行在1.25Gbps的千兆位以太网数据流))把两个GBIC 160中的每一个耦合到相应的链路接口帧处理器164。SERDES 162把从GBIC 160接收到的入境串行数据流转换成10-位并行数据流,并把经转换的数据流发送到链路接口帧处理器164。还有,SERDES162把从链路接口帧处理器164接收到的10-位并行出境数据流转换成串行数据流,并把经转换的数据流发送到GBIC 160。
链路接口帧处理器164对在来自GBIC的入境数据流中的10位码元解码成8位码元,并把从出境帧缓冲器168接收到的8位码元编码成适合于发送的10位码元。链路接口帧处理器164还控制入境帧缓冲器166和出境帧缓冲器168的操作。
链路卡信道包括GBIC 160、SERDES 162、链路接口帧处理器164以及一对入境和出境FIFO(先进先出)帧缓冲器166、168,可以在用户控制下以两种模式中的一种模式操作链路卡信道距离缓冲启动或禁止。当禁止距离缓冲时,使数据帧和流量控制基元(primitive)尽可能快地通过入境和出境帧缓冲器166、168。任何时候当在出境缓冲器168中存在数据帧或流量控制基元时,就从缓冲器168读出它们,并立刻通过链路卡信道传递到客户机装置。把从客户机装置接收到的所有数据帧和流量控制基元都写入入境帧缓冲器166。
当启动距离缓冲时,链路接口帧处理器164接收和解释从客户机装置接收到的流量控制基元,然后控制读出用户置请求的来自出境帧缓冲器168的数据。客户机装置使用流量控制基元控制从出境帧缓冲器168的数据读出。当启动距离缓冲时,流量控制基元不通过缓冲器166、168。作为替代,链路接口帧处理器164使用流量控制基元。相似地,当启动距离缓冲时,链路接口帧处理器164产生流量控制基元,以根据入境帧缓冲器166的充满度而发送到客户机装置。此外,当启动距离缓冲时,Mux接口帧处理器170产生和接收它自己的流量控制基元,这些流量控制基元是发送到与其连接的链路卡的。应该注意,在启动或禁止距离缓冲的正常操作中,缓冲器166、168最好不溢出。
链路接口帧处理器164获取来自出境数据流的“额外的”空位码元(有时称为“空位”),只存储数据帧和在入境FIFO帧缓冲器166中的数据帧之间的空位。因此,如果在数据帧之间存在一个以上的空位,则不把额外的定位存储在入境FIFO帧缓冲器166中。对于出境数据流,链路接口帧处理器164插入和可能需要的空位一样多的空位,以填充发送到客户机装置的数据帧之间的空间。
当链路接口帧处理器164读出来自出境帧缓冲器168的链路同步字符,和另外,出境帧缓冲器168是空的时,就复制链路同步字,直到接收到其它数据并存储在出境帧缓冲器168中。对于总数为18位的,存储在帧缓冲器166和168中的每个字,包括一对8-位字符、指示所述对的第一字符是否是“K”字符的一个标志以及一致校验位。K字符是用于控制的特殊码元,因此不是常规数据。K字符的例子有空位、流量控制基元以及帧的开始和帧码元的结束。
最好每个帧缓冲器166、168大到足以存储数以百计的光纤信道(FC)或千兆位以太网帧。例如,在一个较佳实施例中,每个帧缓冲器166、168足够地大,允许存储240个全尺寸的FC帧(2148字节的帧,每个包括标头、CRC以及定界符)。结果,链路卡140能够从客户机装置的每个数据信道接收多达240个全尺寸的光纤信道(FC)帧,比已经表示准备接收的下一个下游装置要多。
链路接口帧处理器164还把协议特定的帧定界符、空位字以及链路同步字符译成通过光纤环网络100的其余部分发送的普通副本。结果,除了链路接口处理器外的光纤环网络的所有组成部分的操作以与协议无关的方式工作。在光纤信道链路卡的情况下,链路接口处理器把4字节的空位和链路同步字符译成写入入境帧缓冲器166的2字节的普通形式。相似地,当从出境帧缓冲器168读出这些码元的2字节的普通形式时,把它们转换回4字节的光纤信道形式,当需要把数据帧对齐到4字节界限时暂停对出境帧缓冲器的读取。
Mux单元接口154包括Mux接口帧处理器170,它控制帧缓冲器166、168以及Mux单元142(图3的Mux 1和Mux 2)之间的数据流。Mux接口帧处理器170还把从Mux 1和Mux 2接收到的两个数据流中的10位码元解码成8位码元,并把从帧缓冲器168接收到的8位码元编码成适合于经过光缆发送的10位码元。
Mux接口帧处理器170处理流量控制如下。当禁止距离缓冲时,Mux接口帧处理器170尽快地通过入境和出境帧缓冲器166、168传递数据帧和流量控制基元。如果链路卡信道是在FC模式,则在Mux接口帧处理器170开始把帧发送到Mux142之前要等待入境帧缓冲器166收集足够的(即,预定量的)FC帧,以避免缓冲器的欠载运行状态。这是因为Mux单元接口154始终以1.25Gbps操作而FC链路接口以1.0625Gbps操作。为了避免在FC模式中的欠载运行状态,Mux接口帧处理器170等待直到在读出帧之前在入境FIFO缓冲器166中至少有384字节的FC帧,或等待直到更多的时间已经消逝以应付当帧的长度小于384字节的情况。在千兆位以太网的情况中,在开始从缓冲器读出帧之前不需要等待,因为客户机装置和Mux单元接口154的的时钟速度是一致的。
当链路卡信道已经启动距离缓冲时,Mux接口帧处理器170执行对于该信道的与链路接口帧处理器164的流量控制协议。例如,如果出境帧缓冲器168开始填充,而Mux接口帧处理器170检测到这个状态,它通过把流量控制信号发送到在“发送链路卡”(连接到发送客户机装置)中的Mux接口帧处理器170而响应,然后停止通过光纤网络发送帧,把它们留在发送链路卡的入境帧缓冲器166中。一旦出境帧缓冲器168开始清零(即,接收客户机装置接收足够的帧使出境帧缓冲器的充满度降到预定水平之下),在发送和接收链路卡中的Mux接口帧处理器170将交换流量控制消息(使用流量控制基元),并允许数据帧再次开始流动。
当接收到链路同步字符时,只把它们中的一个存储在入境FIFO帧缓冲器166中。当Mux接口帧处理器170从入境FIFO帧缓冲器166读出数据时,需要多少它就复制多少链路同步字符和/或空位,以填充发送到下游的数据流。
Mux单元接口154从入境帧缓冲器166提取数据,且只要Mux单元142能够接收数据时以及在入境帧缓冲器166中有要发送的数据就以固定速率把它发送到Mux单元142。在出境方向上,只要出境帧缓冲器168有存储至少一个附加的全尺寸帧(即,对于千兆位以太网帧为32k字节)的空间,Mux单元接口就接收来自Mux单元142的数据,而且一旦出境帧缓冲器168传递预定的充满度标志,就停止接收来自Mux单元142的数据(即,数据的新的帧)。
通过相关的串行器/解串器(SERDES)电路174,诸如Vitesse VSC7135,把Mux接口帧处理器170耦合到两个多路复用器Mux 1和Mux 2(142)中的每一个。SERDES 174把来自多路复用器142的串行数据流转换成发送到Mux接口帧处理器170的10位并行数据流,并把从Mux接口帧处理器170接收到的10位并行数据流转换成发送到Mux单元142中之一的串行数据流。
在较佳实施例中,静态地由用户来配置Mux接口帧处理器170,以从和到MUX(即,MUX 1或MUX)2中之一通过选择路由把数据传递到和从客户机装置接口0。然后把客户机装置接口1数据通过选择路由传递到和从客户机装置接口0未使用的另一个MUX(142)。
在另一个实施例,或较佳实施例的另一个配置中,配置MUX接口帧处理器170,以把帧通过选择路由从两个用户接口159传递到相同的MUX 142,对帧要特殊地加标记,以致可以通过在链路另一端的合适的客户机装置接口把它们发送到合适的客户机装置。在原始路径中的硬件部件中存在故障的情况中,则使用用于故障的另一个MUX 142。当已经通过链路接口帧处理器164对帧进行压缩时(即,在链路接口帧处理器164包括数据压缩电路的实施例中),通过选择路由把帧从两个装置接口159传递到相同的MUX是特别有用的。
每个链路卡140还包括CPU或控制器180,用于控制链路卡140的操作,尤其,用于配置通过链路卡140的数据路径和用于在加电、复位或改变系统的数据信道配置(改变通过链路卡140的数据路径)时使链路卡140初始化。
在某些较佳实施例中,链路接口帧处理器164进一步执行数据压缩和解除压缩功能,使用预定的数据压缩来压缩出境数据流,使用相应的解除压缩方法解除入境数据流的压缩。熟悉本技术领域的人员众知许多合适的数据压缩方法,因此这里不进行描述。通过使用平均地说得到至少2∶1的数据压缩的数据压缩方法,可以使系统的带宽加倍。
Mux接口帧处理器图6示出Mux接口帧处理器170的方框图。Mux接口帧处理器170包括一对FIFO读出电路181为接口0入境FIFO提供的第一FIFO读出块181-1以及为入境接口1提供的第二FIFO读出块181-2。配置每个FIFO读出电路181-1、181-2以控制读出相应的入境FIFO帧缓冲器166(图5)。如果在缓冲器166中没有什么(即,无分组以及除空位或链路初始化基元以外无其它数据),则FIFO读出电路将重复输出最近读出的链路初始化字或空位字。如果相应的带内Tx电路185-1或185-2正在处理未完成的请求或如果启动相应的Rx信贷逻辑190-1或190-2而且指示没有可得到的信贷,则每个FIFO读出电路181-1、181-2还拖延从它的相应的入境FIFO166的读出。在FC模式中,FIFO读出电路181延迟从入境FIFO读出分组,直到出现保证不会发生欠载运行的足够的帧(如上面已经描述)。
把一对FIFO读出电路181-1、181-2耦合到配置成允许接口0静态地连接到MUX 1或MUX 2而接口1连接到其它MUX的一对多路复用器183-1、183-2。如以前所指出,可以加强MUX配置,以允许来自两个客户机装置的数据流可以混合并通过多个MUX 142(MUX 1或MUX 2)经过选择路由传递,例如在故障期间。
在每个MUX之后,Mux接口帧处理器170还包括一系列电路块带内Tx电路185、TX信贷电路186以及8位/10位编码器187。
每个带内Tx电路185包括用于保存机内CPU 180希望发送的未完成的带内帧的寄存器,以及仲裁逻辑,当FIFO读出电路181发出信号表示在待通过Mux接口帧处理器发送的入境帧中存在间隙时,所述仲裁逻辑用于发送带内帧。链路卡140周期性地发送带内帧。在接收链路卡中的带内Rx电路189从数据流取出带内帧,把所接收的带内帧发送到该链路卡的本地CPU/控制器180,用于处理。如此,在通信信道两端处的两个链路卡上的CPU 180可以发送回消息(即,带内帧)或向前发送消息,以检查信道的功能和协调用户的设置(即,确认用户设置是相同的,包括指示启动还是禁止距离缓冲的用户设置)等。
当启动距离缓冲而且在出境帧缓冲器168(图5)中存在存储附加分组的空间时,配置每个Tx信贷电路186,把链路信贷字插入链路以代替空位,考虑以前发送的所有链路信贷字。
配置每个8位/10位编码器187,以对从FIFO读出的16数据位和1-位k-字符标志编码成两个10位字符,并把所产生的20位字发送的SERDES 174。
Mux接口帧处理器170的数据接收电路包括用于每个接收信道的3个电路块的级联链Rx数据路径电路191、Rx信贷电路190以及带内Rx电路189。Rx数据路径电路191-1基本上与在MUX 1和MUX 2中的TDM平滑器中的Rx数据路径电路191相同,将在下面参考图11进行说明。如果启动距离缓冲,则Rx信贷电路190从数据流剥离链路信贷字,并把每个如此的链路信贷字加到可得到存储信贷。通过Rx信贷电路190累加的存储信贷表示相应的FIFO读出电路181可以从它的入境FIFO读出多少数据帧和向到在信道的另一侧上的链路卡的信道发送多少数据帧。如上所述,Rx带内电路189从数据流剥离带内帧,并存储它们,供链路卡的本地CPU 180读出。
配置一对出境多路复用器184-1和184-2,以允许把MUX 1静态地连接到客户机装置接口0或接口1,以及把MUX 2连接到其它接口。如上所述,可以加强这个MUX配置,以允许来自两个客户机装置接口的数据流混合和经过单个MUX142(MUX 1或MUX 2)通过选择路由传递。
把每个多路复用器184的输出发送到FIFO写入电路182,它把所接收的帧写入出境FIFO帧缓冲器168(图5),当链路初始化字和空位与在数据流中前面紧接的字不同时,还把它们写入缓冲器168。
Mux接口帧处理器170进一步包括状态和控制寄存器192,它是链路卡的本地CPU 180可读出的和/或可写入的一组寄存器,以便监测和控制Mux接口帧处理器。
链路接口帧处理器在较佳实施例中,每个通信信道是光纤信道(FC)模式的或千兆位以太网(GE)模式的。当更多的协议得到普遍使用时,这种模式的数目将增加。在每种模式中,提供链路接口帧处理器164(图5)的不同形式,与客户机装置一起使用用于发送和接收数据。提供在图7中描绘的FC链路接口帧处理器,用于FC模式;提供在图8中描绘的GE链路接口帧处理器,用于GE模式。
FC链路接口帧处理器现在参考图7,FC链路接口帧处理器164-1包括基本上与在Mux接口帧处理器中的Mux TDM平滑器中使用的RX数据路径电路(下面参考图11描述)相似的FC Rx数据路径电路193-1。然而,在RX数据路径电路193-1的前端具有附加的逻辑,以把4字符FC空位和链路初始化字转换到预定的2字符一般对应。只在光纤环网络的内部(即,在链路卡140、MUX 142和光缆中)使用这些对应码元。
FC链路接口帧处理器164-1进一步包括·Rx信贷电路194-1,它从数据流剥离链路信贷字(RRDY),如果启动距离缓冲,则把每个如此的链路信贷字加到可得到的存储信贷。
·FIFO写入电路195-1,它把所接收的帧写入入境FIFO帧缓冲器166(图5),并当链路初始化字和空位与在数据流中前面紧接的字不同时,把它们写入FIFO。
·FIFO读出电路200-1,它控制从出境FIFO帧缓冲器168(图5)的数据帧的读出。如果在出境FIFO帧缓冲器中没有什么,则FIFO读出电路200-1将重复输出最近读出的链路初始化或空位字。如果启动距离缓冲,若不可得到数据帧信贷则FIFO读出电路进一步拖延从FIFO读出数据帧。
·到FC转换电路199-1的一个环,该FC转移电路把2-字符一般空位和链路初始化字转换成它们的标准FC 4-字符对应表示。
·Tx信贷电路198-1,当启动距离缓冲和在入境FIFO帧缓冲器166中有空间存储附加数据帧时,它把链路信贷字插入链路以代替空位,考虑以前发送的链路信贷字(见距离缓冲详细说明的较后部分)。
·8位/10位编码器197-1,配置成把从出境FIFO帧缓冲器168读出的16个数据位和1-位k-字符标志编码成两个10位字符,并把所产生的20位字发送到SERDES 162(图5)。
·FC统计电路196-1,它包括逻辑,以保持在一个光纤信道链路上的统计。支持数种操作模式,以提供用户详细的协议特定信息,例如,分组计数、差错计数、K字符的各种特定类型的计数等。
·状态和控制寄存器201-1,它们是链路卡的本地CPU 180可读出的和/或可写入的一组寄存器,以便监测和控制链路接口帧处理器164-1。
GE链路接口帧处理器参考图8,在链路卡上使用GE链路接口帧处理器164-2,它使用千兆位以太网把客户机装置耦合到光纤网络。GE/IFP 164-2包括基本上与在Mux接口帧处理器的Mux TDM-平滑器中使用的RX数据路径电路(下面相对于图11描述)相似的FC GE数据路径电路。然而, 在RX数据路径电路193-1的前端具有附加的逻辑,以把GE空位字转换成预定的2个一般对应表示。此外,把形成千兆位以太网帧的定界符修改成一般格式。只在光纤环网络的内部(即,在链路卡140、MUX 142和光缆中)使用这些对应码元。
GE链路接口帧处理器164-2进一步包括·Rx暂停逻辑电路194-2,它从数据流剥离暂停帧,如果启动距离缓冲,则开始链路卡内部的暂停定时器。
·FIFO写入电路195-1,它把所接收的帧写入入境FIFO帧缓冲器166(图5),并当链路初始化字和空位与在数据流中前面紧接的字不同时,把它们写入FIFO166。
·FIFO读出电路200-1,它控制从出境FIFO帧缓冲器168(图5)的数据帧的读出。如果在出境FIFO帧缓冲器中没有什么,则FIFO读出电路200-1将重复输出最近读出的链路初始化或空位字。如果启动暂停逻辑(连同距离缓冲一起使用),则FIFO读出电路进一步从FIFO拖延读出数据帧,如果Rx暂停逻辑电路194-2指示应该暂停发送的话。
·到GE转换电路199-2的一个环,该GE转移电路把2-字符一般空位转换成千兆位以太网空位字,并把一般帧定界符转换回千兆位以太网帧定界符。
·Tx暂停电路198-2,当启动距离缓冲和在入境FIFO帧缓冲器166中至少一半充满时,它产生暂停帧和把暂停帧插入出境数据流。用于产生暂停帧的FIFO充满度门限电平可以与其它实施例中的不同。见下面距离缓冲的详细讨论。
·8位/10位编码器197-2,配置成把从出境FIFO帧缓冲器168(图5)读出的16个数据位和1-位k-字符标志编码成两个10位字符,并把所产生的20位字发送到SERDES 162(图5)。
·GE统计电路196-2,它包括逻辑,以保持在一个千兆位以太网信道链路上的统计。支持数种操作模式,以提供用户详细的协议特定信息,例如,分组计数、差错计数、K字符的各种特定类型的计数等。
·状态和控制寄存器201-2,它们是链路卡的本地CPU 180可读出的和/或可写入的一组寄存器,以便监测和控制链路接口帧处理器164-2。
多路复用器单元参考图9,每个Mux单元142包括一对波分多路复用器和去复用器电路(WDM)202-1、202-2,把它们中的每一个的一端耦合到相应的光缆分段,例如,OL12-1和OL13-1。WDM 202-1、202-2的每一个包括光信号接收机,用于以第一光波长接收和解调信号;以及光信号发射机,用于以第二光波长发送信号。尤其,在较佳实施例中,第一WDM 202-1以第二WDM 202-2接收的相同光波长λ1发送,并且以第二WDM 202-2发送的相同光波长接收。在另一个实施例中,配置每个Mux单元142以处理经过8个信道的4种波长。与图9中描绘的2波长-4信道Mux相比,4波长-8信道具有的SERDES 208、TDM/平滑器206和SERDES 204电路有两倍那么多。把4个附加的SERDES 208连接到交点式交换机210。然后把2个SERDES 204连接到它的光纤1/WDM和光纤2/WDM电路的每一个。然后光纤1/WDM以波长λ1和λ3发送,以及以波长λ2和λ4接收。光纤2/WDM以波长λ2和λ4发送,以及以波长λ1和λ3接收。
在较佳实施例中,在光学侧和在电气(内部)侧,WDM 202-1、202-2接收和发送的数据信号的每一个都是2.5Gbps串行数据信号。在其它实施例中,可以使用其它数据发送速率,诸如5.0Gbps或10Gbps。
通过相应的串行器/解串器(SERDES)电路204(诸如Vitesse VSC7146(用于运行在2.5Gbps的数据流))把每个WDM 202耦合到相应的时分多路复用器和平滑电路(TDM平滑器)206。每个SERDES 204把来自它的相应的WDM 202的2.5Gbps串行数据流转换成发送到它所耦合的TDM平滑器206的20位并行数据流,并把从TDM平滑器206接收到的20位并行数据流转换成发送到WDM 202的串行数据流。
TDM平滑器206执行许多功能,包括时钟域之间的信号再定时、从两个1.25Gbps信道到单个2.5Gbps数据流的数据流的多路复用以及从2.5Gbps数据流到两个1.25Gbps信道的数据流的去复用。下面参考图10和11对TDM平滑器206进行更详细的描述。
仍参考图9,TDM平滑器206内部使用20位并行数据流。在它的信道AB接口上(该接口耦合到WDM 202),它输出和接收20位并行数据流。在耦合到交点式交换机210的它的信道A接口和信道B接口上,TDM输出10位并行数据流。把一对SERDES电路208(诸如Vitesse VSC7135)耦合到每个TDM的交换机侧,以把趋向和来自交换机侧TDM接口的10位、125MHZ数据流转换成发送到和从交点式交换机210的1.25GHz(即,1.25Gbps)串行数据流。在较佳实施例中,交点式交换机210是16×16交点式交换机,诸如Triquint TQ8017 1.25Gbps 16×16数字交点式交换机。在每个Mux单元142中有一个交点式交换机210。
Mux单元142从每根光缆接收到的2.5Gbps信号包括两个1.25Gbps数据信号,依次可以把它分割成两个或多个逻辑信号。认为每个1.25Gbps数据信号是一个独立的逻辑信道,每个如此的信道可以是一个FC信道或GE信道。在单根光缆上的两个数据信道可以是两个FC信道、两个GE信道或一个FC信道和一个GE信道。由于已经把FC和GE数据流两者转换成与协议无关的一般数据流,在每个2.5Gbps信号中的两个数据信道可以是基础数据流的任何组合。
如果通过网络节点把整个1.25Gbps数据信号传递到下一个网络节点,则数据流通过选择路由从第一光纤向上传递通过WDM 202和TDM平滑器206到交点式交换机端口,通过交点式交换机端口到第二交换机端口,向下传递通过该多路复用器单元的另一个TDM平滑器206和WDM 202,并返回输出到用于发送到下一个网络节点的第二光缆。
每个Mux单元142包括CPU或控制器212,用于配置交换机210和保持跟踪TDM平滑器206和WDM 202的状态。
TDM平滑器电路图10示出TDM平滑器206的更详细的图。图的左边表示在TDM平滑器206和SERDES电路208(图9)之间的交换机侧接口,而图的右边表示TDM和SERDES电路204(图9)之间的WDM侧接口。通过TDM平滑器206的入境数据路径把信道A和信道B Rx数据流转换成组合的信道AB Tx数据流,而通过TDM平滑器206的出境数据路径把从WDM电路接收到的信道AB Rx数据流转换成一对信道A和信道B Rx数据流。
为了说明TDM平滑器206的操作,需要某些背景信息。不管链路多路复用器106(图3)的链路卡140所接收的信号的协议,链路卡把输入数据转换成具有“封装”数据的帧(即,被特定的开始和结束帧字符所包围)的1.25Gbps流。通过链路多路复用器发送的每个数据帧以特定的20位封装字符开始和结束。此外,链路多路复用器在链路卡之间发送20位流量控制字符,以停止和开始在链路卡中的FIFO帧缓冲器之间的帧的流。
通过链路多路复用器以20位字节片成对地发送每个10位的数据字符。因此,在链路多路复用器中用于数据和控制字符两者的发送基本单元是20位长。
在较佳实施例中的链路多路复用器使用的预定20位控制字符组包括如下,但是不限于·帧封装字符(帧的开始和结束);·流量控制字符(准备接收附加的帧);·链路初始化字符,用于建立通过链路多路复用器106的数据路径;·“内部违章”(VIO)字符,用于表示在帧的中间出现无效字;·“内部不操作序列”(NOS)字符,用于指示缺少同步;以及·空位字符,任何时候当没有数据或其它字符要通过链路多路复用器中的任何通信信道发送时发送这个字符。
在链路多路复用器中使用的每个特定的20位字符包括有10位字符特定代码跟随着的预定义的K28.5 10位字符。K28.5字符是在光纤信道和千兆位以太网中使用最普通的,表示相对于数据字符的控制字符的“特定”字符。它是一个理想字符,因为它具有预定义的“逗号”位图案(“0011111”),解串器电路使用它把所接收的位流与字边界对准。
把另外的特定字符称为K28.1字符,它也包括逗号位图案。当把通过光缆发送的两个或多个数据流组合时,链路多路复用器通过把数据流的第一个的所有K28.5字符用K28.1字符代替而标出数据流的第一个,这使接收装置能够用所接收的物理数据流来分开和正确地识别不同的逻辑数据流。
两个入境数据路径,每个以每秒存储10位字符的锁存器230开始,然后与紧跟的10位字符组合,以形成20位字符的流。通过Rx数据路径电路232-1或232-2把20位字符发送到时分多路复用器(TDM)234,下面参考图12,更详细地描述Rx数据路径电路232。
TDM 234使用严格的替换来组合信道A和信道B数据流。即,它在从信道A发送20位字符和从信道B发送20位字符之间替换。例如,在偶数时钟周期上,TDM234选择发送信道A数据,而在奇数时钟周期上,TDM 234选择发送信道B数据。
为了使接收端的装置知道哪个周期是偶数周期和哪个周期是奇数周期,TDM234用K28.1字符替代在信道A中的所有K28.5字符。在另一个实施例中,TDM 234把多个逻辑信道(信道A到信道n)组合成经过光缆发送的单个信号,TDM 234通过用K28.1字符替代K28.5字符来标出逻辑信道中的第一个逻辑信道,这使接收装置能够识别在所接收信号中的所有逻辑信道。没有变更在所有其它逻辑信道中的K28.5字符。
由于在系统中的每个链路多路复用器106使用相同的多路复用器单元,所以经过光缆分段发送的所有数据流使用相同的标记方案,用于在每个数据流中的第一子信道和在相同数据流中的一些其它子信道之间进行区分。由于“盲目地”组合20位数据流,可能有“假逗号”跨在两个无联系的20位字符之间的边界上。结果,除了在链路初始化期间,在链路卡和多路复用器单元中的SERDES电路都以禁止它们的“逗号检测”模式而运行,以致防止SERDES电路偶然在假逗号上重新对准所接收的位流。
在TDM平滑器206中的入境数据路径中,时分多路复用器(TDDM)240接收20位125 MHZ信号。所接收信号包括形式为替换20位字符的两个逻辑子信道。TDDM240检查所接收信号,(A)寻找在信号中的20位字边界,以及(B)确定哪个逻辑子信道具有K28.1字符而因此它是信道A。TDDM 240通过第一Rx数据路径电路232-3把20位字符从第一子信道发送到第一输出缓冲器244-1,并通过第二Rx数据路径电路232-4把第二子信道的20位字符发送到第二输出缓冲器244-2。每个输出缓冲器244把所接收的20位62.5MHZ数据信号的流转换成10位字符的125MHZ流。
Rx数据路径电路232的每一个接收20位码元的流,但是输出18位码元的数据流,其中每一个包括16位数据、表示是否需要把最前面的8位编码成“K字符”的一个标志以及表示数据字是有效的还是无效的有效位。然后通过8位/10位编码器242中相应的一个编码器对这些18位进行编码。
在Rx数据路径电路中的信道A数据路径电路还具有带内Tx电路246,用于在空位时间期间把特定的带内控制帧插入数据流。通过在光纤网络上的单个计算机系统或单个节点控制器可以把控制信息分配到在链路卡中的控制器和光纤网络的多路复用器单元。在网络系统中的控制器与具有Mux单元142的控制CPU 212(以及链路卡140的控制CPU 180)发送这些带内帧的每一个进行通信。控制CPU 212把帧写入在带内Tx电路246中的64字节寄存器。然后,控制CPU写入标志,告诉硬件准备要发送帧。当Rx数据路径电路232-1表示有插入控制帧的足够空位空间时(如下面详述),带内Tx电路246把带有特定起始的帧定界符插入数据路径来代替空位。
当在经过光缆发送之后带内控制帧到达另一个Mux单元时,带内Rx电路248检测帧定界符的特定起始,并把64字节帧数据存储在8个Rx缓冲器(包括在状态和控制寄存器254中)中的下一个缓冲器中。带内Rx电路248把代替带内控制帧数据的空位传送到接着的8位/10位编码器242-3。一旦接收到整个带内帧,带内Rx电路对写入帧的缓冲器作出正在使用的标志,并把可得到带内控制帧的信号发给控制CPU 250。一旦控制CPU 212已经读出帧,它就对Rx缓冲器作出可用的标志。如果接收到特定带内帧并且不可用下一个Rx缓冲器,则带内Rx电路248废弃带内帧数据。
TDM平滑器206还包括一组状态和控制寄存器254,Mux单元的CPU 212通过CPU接口252读出它们。
在另一个实施例中,TDM 234不改变数据流中之一的K字符而对A和B信道作出标志。作为替代,系统的链路卡在紧接着每个帧的前面插入特定的分组起始(SOP)的K字符,用SOP码元来代替紧接在帧前面的空位。逻辑和Rx数据路径电路执行这个任务,尤其,在FC Rx数据路径电路193-1和GE Rx数据路径电路193-2中。TDM 234根据接收到的来自信道A数据路径的SOP码元把该码元转换成SOP1码元,从而对在信道A中的数据作出作为第一数据信道的标志。TDDM 240检查所接收到的信号,以(A)在信号中找到20位字边界,以及(B)确定哪个逻辑子信道具有SOP1字符而因此是信道A。TDDM 240从第一子信道通过第一Rx数据路径电路232-3把20位字符发送到第一输出缓冲器244-1,并通过第二Rx数据路径电路232-4把第二子信道的20位字符发送到第二输出缓冲器244-2。此外,TDDM 240把SOP和SOP1码元转换回空位码元,因为特定码元只是在光纤网络中内部使用的。
Rx数据路径电路参考图11,Rx数据路径电路232(它在图10的每个TDM平滑器206中有4个实例,以及在图6的每个Mux接口帧处理器170中有2个实例)接收20位信号,把它转换成16位数据,K字符标志以及无效字标志。
Rx数据路径电路232用特定违章字(FVIO)替换帧中的任何无效字,消除在帧外的任何无效字,并使数据流按链路卡或Mux单元的本地时钟再定时。它还保留所接收的无效字的计数,以致可容易地隔离有故障的链路。
开始时通过10位到8位解码器电路274把每个所接收的20位字解码成16位数据和标志。解码器电路274产生K字符标志加上指示是否由有效的10位代码构成20位字的有效标志。把16位数据和标志发送到字解码器和同步状态丢失的机器276。
字解码器276通过识别帧的起始和帧的结束定界符,对所接收数据是在帧内还是在帧外保持跟踪。如果所接收的字是有效的,则传递16位数据和K字符标志,照原来样子到丢弃电路278。如果所接收的字是无效的,而数据是在帧的中间,则用特定的FVIO字来替代这个字。下游逻辑将识别这不是原始数据,但是它不会认为这是无效字而促使查出差错,因为不知道差错发生在数据路径的何处,除非发生在接收节点前面的一个节点处。如果所接收的字是无效的,而数据不在帧中,则把强制丢弃标志施加到丢弃电路278,以致将从数据流完全地丢弃无效字。
如果状态机276检测到在任何10个连续字中有4个无效字,则状态机276假定所接收的数据流已经丢失同步。在这种情况下,它将把FNOS字传递到丢弃电路278,用K字符标志和插入/丢弃OK标志作出标记。此后,状态机检查输入数据流,并用FNOS字替代在数据流中的每个字,直到它接收到是链路初始化字或空位的3个连续的有效字,在此时,状态机276假定已经重新建立所接收数据的同步,并恢复把字从数据流传送到丢弃电路278。
此外,字解码器和同步状态丢失机器276确定所接收字是否为空位或4个链路初始化字的预定组之一。当检测到这5种码元中的任何一种时,状态机276设置5个空位/初始化解码标志中相应的一个,而且还设置插入/丢弃OK标志。
通过23位宽FIFO 280传递16位数据、K字符标志、5个空位/初始化解码标志以及插入/丢弃OK标志。在较佳实施例中,FIFO 280存储多达128个每个宽23位的字。
丢弃电路278、128×23位FIFO 280以及插入电路282形成平滑器或数据再定时电路。丢弃电路278和FIFO 280的写入侧以Rx时钟(从串行接收数据通过外部SERDES电路恢复)操作。
插入电路282和FIFO 280的读出侧以从本地振荡器来的系统时钟操作。一般,两个如此的时钟工作于相同的频率,但是实际上它们略有差别,因此需要对数据流进行再定时。
丢弃电路278一般每时钟周期都写入FIFO 280。然而,如果存在(即,设置)强制丢弃标志,或如果FIFO 280充满得比一半多一些并且存在插入/丢弃OK标志,则将抑制FIFO写使能,并将丢弃来自解码器276的当前字(即,不把它写入FIFO280)。
插入电路282一般每个时钟周期从FIFO 280读出,然而,如果FIFO 280充满得少于四分之一而且从FIFO 280读出的最后的字设置有插入/丢弃OK标志,则抑制FIFO读出,并把最后的字复制到输出。
因此,如果Rx时钟比系统时钟略快,则FIFO 280有时将趋向于半充满,因为从FIFO读出的速率比写入FIFO的速率略慢。丢弃电路278有时将丢弃字,以保持FIFO 280充满少于一半。如果系统时钟比Rx时钟略快,则FIFO有时将趋向充满少于四分之一,因为从FIFO读出的速率比写入速率略快。插入电路282将把一个字插入到数据流以保持FIFO充满四分之一以上。
此外,插入电路282具有某些特定的特征以支持带内数据的发送。当带内Tx电路246(例如,TDM平滑器的带内Tx电路)具有要发送的带内帧,它将发出一个带内Tx请求信号。如果FIFO 280充满少于一半,并且当前字具有插入/丢弃OK标志,则插入电路282停止从FIFO 280读出,并把“带内Tx进行”信号发送到紧接在Rx数据路径电路232下游的带内Tx电路。插入电路继续在它的输出上复制当前字达数个时钟周期,直到带内Tx电路已经把整个未完成的带内帧插入数据流。
当发出带内Tx进行信号时,下游带内Tx电路将用带内Tx帧来更换来自Rx数据路径电路的数据。一旦完成带内帧发送,带内Tx电路就搞撤消带内Tx请求信号,而且插入电路282恢复正常操作。在已经发送带内帧之后,FIFO 280的充满度将经常多于一半,因此丢弃电路278将尽可能丢弃许多字使FC帧返回半充满。
由于带内帧的长度是64字节,而FIFO的一半保持128字节(64个2字节的字),在进行带内发送时,FIFO 280将不会溢出,因为要到FIFO 280少于半充满时才会开始带内发送。
插入电路282的另一个功能是设置Rx数据路径电路232的Mux接口帧处理器实例使用的有效输出标志。任何时候当(A)从FIFO读出的字中没有设置它的插入/丢弃OK标志时,或(B)从FIFO读出的字不是与通过FIFO传递的5个空位/初始化标志所确定的以前字相同的空位或链路初始化字时,插入电路282设置有效输出标志。Mux接口帧处理器使用有效输出标志来确定需要把哪些字写入出境帧缓冲器168(图5)。TDM平滑器206不使用Rx数据路径有效输出标志。
要注意,在Rx数据路径电路中使用深的FIFO,使之能简单地使用半充满和四分之一充满标志来控制插入和丢弃电路。使足够宽的FIFO 280传送插入/丢弃OK标志和5个空位/初始化标志避免了必须在FIFO的输出上进行再解码。另外的实施例可能具有不同的技术限制和选择,使用具有另外解码逻辑的较浅的和较窄的FIFO,以实现相同的功能。
在使用SOP和SOP1码元对信道A和信道B数据流作出标志的另一个实施例中,在链路卡中的Rx数据路径电路193-1和193-2具有略为修改的字解码器和状态机器276。在这个实施例中,字解码器276包括FIFO,它可以具有一个或两个字的长度,使字解码器能够执行朝前看有空位引导的帧起始(SOF)码元。任何时候当字解码器276检测到两个码元的组合时,字解码器用SOP码元更换紧接在SOF前面的空位。如上所述,在Mux单元的TDM平滑器电路中的TDM 234用SOP1码元代替在信道A中的SOP码元。
环网络的静态配置在正常操作期间,静固地配置通过环网络的数据流路径。即,不是在工作中不断地确定信号路径。而是,假定在网络上使用租借带宽的用户是基于正在进行的情况。一般,只有当(A)在网络上的租借的一组信道有变化,或(B)存在链路故障时,才改变通过网络的信号路径。
距离缓冲在许多应用中,通过环网络通信的主机装置(也称为客户机或客户机装置)离开好多公里远。例如,当两个装置离开50公里远时,环程通信路径为100公里,环程通信时间至少为500微秒,包括接收装置接收和响应输入信号所费的时间。如果接收装置的输入缓冲器较小(例如,8k字节),则1.0625Gbps信道的有效带宽可能比全带宽要小得多。例如,考虑在一个系统中,客户机装置向离开50公里的节点处的盘场地请求文件,而请求用户的输入缓冲器只保存8k字节(即,约4个光纤信道帧)。当用户发送它的初始数据请求时,它还把4个存储信贷发送到盘场地节点。它不发送比4个更多的信贷,因为这将导致盘场地发送比用户能够可靠地缓冲和处理的数据更多的数据,这将导致高成本的再发送请求和较大的延迟。
使用现有技术方法的盘场地只发送4个FC数据帧作为响应,并在发送任何更多信息之前一直等待到它接收到来自请求用户的更多的存储信贷。然而,对于用户,至少要费500微秒的时间来接收第一数据和返回另外三个信贷。因此,相对于每秒100兆字节的信道带宽,最好,客户机每500微秒周期能够接收8k字节,或每秒约16兆字节的总数据速率。因此,在这个例子中,由于发送存储信贷到发送装置所需要的长环程时间而浪费了约84%的可用带宽。增加请求客户机的输入缓冲器的大小,以及接收到现金帧立刻发送新的存储信贷可以改进这个性能。
在本发明中,通过提供在链路卡中的帧缓冲器166、168(图5),然后把流量控制分开成3个独立的域而改进了带宽使用。域是(1)客户机装置到链路卡;(2)链路卡到越过光纤网络的链路卡;以及(3)链路卡到客户机装置。只要在客户机装置中的缓冲足以处理从客户机装置到链路卡的环程链路时间,就可以保持全带宽,一部分是由于在链路卡中提供了大的帧缓冲器166、168,一部分是由于使用链路卡作为存储信贷的发送器和接收器。
根据在入境帧缓冲器166中的许多帧,链路帧接口处理器将把流量控制基元发出到所连接的客户机装置,以保持最大带宽,而同时保证入境帧缓冲器不溢出。根据所连接的客户机装置发出的流量控制基元,链路接口帧处理器将控制出境帧缓冲器168的读出。
光纤信道链路卡的距离缓冲的详述在使光纤信道链路初始化之后,光纤信道装置执行登录过程,该过程包括要交换多少缓冲器来缓冲它们所具有的信贷。在光纤信道链路一端的第一用户所通告的缓冲信贷的缓冲器数目是通过链路连接到第一用户的第二用户在它需要等待另外的信贷之前可以发送给第一用户的帧的数目。发送称之为RRDY的特定字传递另外的信贷。一个RRDY字传递一个信贷,它使接收装置能够在光纤信道帧上发送。
本发明的光纤网络允许完成两个连接客户机装置之间的登录过程而无需修改所交换的信息。然而,系统的链路卡通过当登录帧通过时对它进行检查而确定在链路的每一端的装置所支持的缓冲信贷的缓冲器数目。
参考图7,入境帧缓冲器166和出境帧缓冲器168的每一个最多可以保存240个最大尺寸的光纤信道帧。任何时候当把帧写入入境帧缓冲器166时,RX_信贷电路194-1使在链路卡内部的“未完成RRDY”计数器递增1。任何时候当到客户机装置的出境链路是空位、入境帧缓冲器少于半充满、以及未完成RRDY计数器大于零时,TX_信贷电路198-1把光纤信道RRDY字插入Tx数据流,并使未完成RRDY计数器递减1。如果入境帧缓冲器大于半充满,则使RRDY保持未完成直到入境帧缓冲器跌落到半充满以下。因此,在入境帧缓冲器中有多达120个到达帧可用的空间而无需发送任何另外的RRDY。所连接的FC客户机装置实际上是在下述假设之下操作的,所述假设是它只能够发送如光纤网络的远程端上的客户机装置所指定的帧那么多的帧。只要远程装置缓冲信贷的缓冲器小于或等于120个帧,本地客户机装置和入境帧缓冲器之间的流量控制将正确地操作。如果所通告的缓冲器信贷(远程用户的)大于120,则可以禁止距离缓冲,在这种情况下,所有帧和RRDY将通过系统从一端到一端而没有存储信贷的内部缓冲。到2000年为止,大多数FC客户机装置具有范围为2到16帧的缓冲信贷的缓冲器。极少数FC客户机装置甚至具有有64个FC帧那么多的内部缓冲。
从出境帧缓冲器168到客户机装置的帧的流量控制操作如下。在登录期间,链路卡必须听从所连接装置通告的缓冲器信贷的缓冲器。当TX_信贷电路198-1检查登录帧时,它使可用的信贷计数器初始化到所通告的数目。接着,任何时候当它发送帧时,它使可用的信贷计数器递减1。任何时候当RX_信贷电路194-1接收RRDY时,它使可用的信贷计数器递增1。只要可用的计数器大于0,就从出境帧缓冲器读出帧和把帧发送到客户机装置。如果可用的信贷计数器是0,则在出境帧缓冲器中保持帧未完成直到一个RRDT到达。
千兆位以太网链路卡的距离缓冲的详述参考图8,任何时候当入境帧缓冲器大于半充满时,Tx_暂停电路198-2把带有暂停_时间字段设置为最大值的一个以太网暂停帧发送到所连接的装置。这应该导致所连接装置停止发送以太网帧。一旦入境帧缓冲器小于半充满,Tx_暂停电路198-2就发送带有暂停_时间字段为0的以太网暂停帧,以允许所连接的装置恢复发送帧。
如果Rx_暂停电路194-2接收到暂停帧,而且距离缓冲是启动的,则从暂停_时间字段装载暂停时间计数器。每512位时间使暂停时间计数器递减1(这是以太网标准)。如果暂停时间计数器大于0,则FIFO读出电路200-2使帧在出境帧缓冲器中保持未完成。
相连接链路卡之间的距离缓冲的详述以前两部分已经描述了链路卡和连接的光纤信道或千兆位以太网装置之间的流量控制操作的详细说明。此外,在越过光纤网络而连接的两个链路卡上的Mux接口帧处理器之间存在流量控制机构。使用相同的机构,与正在使用的链路是用千兆位以太网还是用于光纤信道无关。
参考图6,链路卡到链路卡的流量控制以与标准光纤信道流量控制机构极相似的方式操作。在初始化时,Mux接口帧处理器170假设所连接的链路卡具有120个可用的缓冲器信贷。每次从入境帧缓冲器发送一个帧时,就使可用的缓冲器信贷递减1(通过Tx信贷电路186)。每次接收到网络内缓冲器信贷字(对于“FinisarFRRDY”称为FRRDY)时,就使可用的缓冲器信贷递增1(通过Rx信贷电路190)。如果可用的缓冲器信贷是0,则在入境FIFO帧缓冲器中使帧保持未完成。
只要出境FIFO帧缓冲器小于半充满,每次把帧写入出境FIFO帧缓冲器,就越过网络把FRRDY网络内缓冲器信贷发送回(通过Tx信贷电路186)。如果出境帧缓冲器大于半充满,则使FRRDY网络内缓冲器信贷保持未完成(并且一旦出境FIFO帧缓冲器变成小于半充满时,就发送)。
信道混合大多数信道不使用在接近100%容量的任何地方。实际上,大多数时间信道的利用大大低于50%,虽然峰值利用可以达到100%。存在于本发明的光纤网络中的设施允许多个外部的每秒千兆位信道“混合”到单个每秒千兆位信道,然后经过相当昂贵的长的远程光纤发送。这允许长的远程光纤接近它们的满容量而使用。本发明提供把信道混合在一起的两种方法。
参考图5,第一信道混合方案允许通过Mux单元接口154使在单个链路卡上的两个信道混合到单个信道中。因此双信道链路卡将使用一个MUX单元上仅有的单个1.25Gbps信道,代替如上所述的两个MUX单元的每一个上的一个信道。然后把在这个链路卡上的两个信道连接到在另一个链路卡上的两个信道。在一个信道正在把帧发送到MUX单元接口154的同时,使来自其它信道的任何帧保存在它的入境FIFO帧缓冲器166中。在链路卡上的帧缓冲器166的大尺寸使系统有能力吸收相当长的帧的突发,达360个帧,这些帧来自两个信道,在相同的时刻到达,而无需减慢发送器。任何时候当来自信道的帧突发比它短,就使用突发之间的空位时间经过单个Mux信道出空入境帧缓冲器,而无需发送流量控制字来强制客户机装置降低它发送帧的速率。在这个方案中,在光纤网络内部使用的正常SOF(帧的起始)定界符具有经修改的1位,以表示数据正在发送到和从哪个链路卡信道。
在第二信道混合方案中,在逻辑环中连接多个链路卡(在两个以上的网络节点中)。用目标链路卡ID(识别符)封装所有的帧。当帧到达MUX接口帧处理器中时,对目标链路卡ID进行解码。如果在帧中的目标链路卡ID与接收链路卡的ID匹配,则把帧存储在合适的出境帧缓冲器中。如果目标链路卡ID不匹配,则通过MUX接口帧处理器把数据传递到另一个节点。如果数据不是通过MUX接口帧处理器当前正在传递回来的,则可以把来自入境帧缓冲器中之一的数据送出到MUX单元。为了处理在从入境帧缓冲器开始发送帧之后较短时间当通过帧开始从MUX单元到达时的这种情况,提供补充缓冲器来缓冲在MUX接口帧处理器内的一个帧。此外,链路卡通过使用“泄漏容器”的方法测量它们到网络上的数据流量,以把它们的带宽保持在用户指定的量。如果给定的链路卡没有使用它的所有的指定的带宽,则它可以发送带宽信贷到网络上,另一个链路卡可以要求临时突发在它的用户指定的最大值以上。
对链路故障的响应可以使用带有冗余技术的本发明的环结构,以提供完整的冗余解决方案,使系统根据实际上的任何部件故障而进行重新配置,以使系统的所有或几乎所有节点恢复数据发送业务。
图12示出码元,将在下面图中使用这些码元,以表示根据本发明的光纤网络的一个节点。节点的每个Mux单元以矩形框表示,而通过两根线来表示连接到节点的光缆,每根线表示一个不同的逻辑信道。用在Mux框中之一旁边的较小的框表示链路卡。诸如“2LC1A2/1B2”之类的标记表示链路卡号,也表示哪个Mux单元端口连接到链路卡。
图13示出根据本发明的典型光纤网络。如图所示,在使用本发明的许多网络中,将存在一个“头端”节点,它具有独立的链路卡,通过网络把该独立的链路卡连接到在数个不同用户节点中的一些链路卡。可以认为“头端”节点是一个业务提供器的“存在点”的节点,而“用户”节点是通过存在点服务的高带宽客户机。在这个例子中,用户3和5具有两个一直到头端节点的“清晰”信道。其它用户每个具有一个清晰信道,同时还有到另外的用户节点另一个清晰信道。应该理解,在图13中示出的系统配置只是许多、许多这种配置的可能性中的一个例子。
为了提供多种故障冗余模式,最好把标准交换机(光纤信道或千兆位以太网)安装在紧接每个用户节点中的链路卡后面处。只在操作的某些排除故障模式期间启动交换机,将如下所述。如所示,在本发明的情况中使用这些交换机,以自动地选择路由从交换机到链路卡,或用链路卡本身绕过在链路中的任何故障。
这些交换机还允许光纤网络提供“跳过”这些外部交换机的备用路径。在正常操作中因为通过网络的最短的路由将用作为基本数据路径,它不通过这些交换机,从而不使用这些备用路径。在图中作为备用路径使用的保留链路卡以对角阴影线的图案作为标志。
然而,当光纤断裂时,如在图14中所示,则链路的丢失将反映到所连接的交换机,而且启动一个或多个交换机以激励备用路径。如在图14中所示,启动在用户节点#2处的交换机,在该节点处的两个链路卡之间通过路由来回传递话务。用户节点#6丢失了到头端的直接连接,但是在用户节点#2处的交换机的激励向它提供了通过用户节点#2到头端的路径。节点2和6的总的最大带宽将削减成一半,然而如果其它节点是空闲的,则每个节点可以使用最大的原始带宽。用户节点#3丢失了它到头端的直接路径之一,但是具有有效的到头端的第二路径。
参考图15,当在用户节点中的Mux卡有故障时出现更复杂的故障情况。为了在正常操作期间最大地使用环的带宽,把有两个链路卡的节点配置成使用相同的Mux单元,一个链路卡从一个Mux端口出来,另一个链路卡从另一个Mux端口出来。如果两根链路卡都连接的Mux单元有故障,从而把两根链路卡与网络切断,则链路卡控制器将配置两个链路卡使用在其它Mux单元上的用户指定的备用路径,并且将激励在该节点上的外部交换机,如对于在图15中的用户节点#1所示。在使用所有网络数据路径的一个系统中,这种重新配置将导致有故障Mux单元的节点的两个链路卡插入在已经使用的链路的中间。
对于在光纤网络上的其它节点,用户节点Mux单元故障的现象与光纤断裂相同,因此如上述处理。
参考图16,当“头端”Mux单元之一有故障时使用另一种排除故障模式。为了正确地处理,将把头端连接到光缆,以致每个Mux单元都连接到两个光纤环。此外,将需要激励在两个或多个用户节点处的外部交换机。因此,如果头端Mux单元之一有故障,则每个用户节点将具有仍通过活动数据路径连接到在头端处余留的有效Mux单元的至少一个链路卡。
另外的实施例在已经参考数个特定实施例描述本发明的同时,上述说明是本发明的示例,不解释为限制本发明。熟悉本技术领域的人员可以进行各种修改而不偏离如所附的权利要求书中定义的本发明的精神和范围。
权利要求
1.在光纤环网络的节点处使用的设备,其特征在于,包括至少一个链路卡,它发送数据流到客户机装置和从客户机装置接收数据流;至少一个多路复用器单元,它向和从至少第一和第二光缆发送和接收数据流;以及交换设备,用于互连多路复用器单元到链路卡;每个多路复用器单元包括粗光学波分多路复用器和去复用器,使用第一光波长经过第一光缆发送第一数据流,以及以第二光波长从第一光缆接收第二数据流,其中,第一和第二光波长至少相差10nm。
2.如权利要求1所述的设备,其特征在于,粗光学波分多路复用器和去复用器使用第二光波长经过第二光缆发送第三数据流以及以第一光波长经过第二光缆接收第四数据流。
3.如权利要求1所述的设备,其特征在于,每个链路卡包括入境FIFO帧缓冲器,具有存储从客户机装置发送到链路卡的至少120个光纤信道帧的存储器容量,以及出境FIFO帧缓冲器,具有存储从另一装置发送到链路卡以用于向客户机装置发送的至少120个光纤信道帧的存储器容量。
4.如权利要求3所述的设备,其特征在于,每个链路卡包括电路,它与通过第一和第二光缆之一与其耦合的另外链路卡交换缓冲器信贷信号,以致在客户机装置发送流量控制消息以请求通过耦合到另外链路卡的另外客户机装置发送这些数据帧之前用数据帧预—填充出境FIFO帧缓冲器。
5.如权利要求3所述的设备,其特征在于,每个链路卡包括流量控制电路,用于在客户机装置发送流量控制消息以请求发送这些数据帧之前用数据帧预—填充出境FIFO帧缓冲器。
6.如权利要求1所述的设备,其特征在于,每个链路卡包括入境FIFO帧缓冲器,它存储客户机装置发送到链路卡的帧,以及出境FIFO帧缓冲器,它存储另外装置发送到用于发送到客户机装置的链路卡的帧;以及链路卡以与客户机装置相关联的第一时钟速率把数据存储在入境FIFO帧缓冲器中,以及读出在入境FIFO帧缓冲器中的数据,用于发送到多路复用器单元,以及把从多路复用器单元接收到的数据以与链路卡相关联的第二时钟速率存储在出境FIFO帧缓冲器中,从而对到和从客户机装置发送和接收的数据流从第一时钟速率到第二时钟速率进行再定时。
7.如权利要求6所述的设备,其特征在于,到和从客户机装置发送和接收的数据流是光纤信道数据流,第一时钟速率约为1.0625Gbps,而第二时钟速率至少为1.25Gbps。
8.如权利要求6所述的设备,其特征在于,多路复用器单元包括平滑电路,它使从客户机装置发送的数据流进行从第二时钟速率到与多路复用器单元相关联的第三时钟速率的再定时,多路复用器单元以第三时钟速率经过第一和第二光缆之一发送数据流。
9.在光纤环网络的节点处使用的设备,其特征在于,包括第一链路卡,它向和从客户机装置发送和接收第一和第二数据流;第二链路卡,它向和从客户机装置发送和接收第三和第四数据流;第一多路复用器单元,它把第一和第三数据流合并成第一组合数据流,并通过第一光缆发送第一组合数据流,以及从第一光缆接收第二组合数据流,并从第二组合数据流获取第二和第四数据流;以及交换设备,用于互连第一多路复用器单元到第一和第二链路卡;第一多路复用器单元包括粗光学波分多路复用器和去复用器,使用第一光波长经过第一光缆发送第一组合数据流,以及以第二光波长从第一光缆接收第二组合数据流,其中,第一和第二光波长至少相差10nm。
10.如权利要求9所述的设备,其特征在于,第一和第二数据流是光纤信道数据流,而第三和第四数据流是千兆位以太网数据流。
11.如权利要求9所述的设备,其特征在于,第一多路复用器单元和第一链路卡之一包括在第一数据流和第三数据流合并之前插入第一数据流的电路;标志码元,用于对第一数据流作出标志,以致使接收第一组合数据流的接收装置能够识别在第一组合数据流中的第一数据流。
12.如权利要求11所述的设备,其特征在于,第一多路复用器单元包括去复用器,它对第二组合数据流进行去复用成为第二和第四数据流,并通过识别在第二组合数据流中的标志码元的实例来识别第二数据流。
13.如权利要求9所述的设备,其特征在于,粗光学波分多路复用器和去复用器使用第二光波长经过第二光缆发送第三组合数据流,并以第一光波长经过第二光缆接收第四组合数据流。
14.如权利要求9所述的设备,其特征在于,第一和第二链路卡每个包括入境FIFO帧缓冲器,具有存储从客户机装置发送到链路卡的至少120个光纤信道帧的存储器容量,以及出境FIFO帧缓冲器,具有存储从另一装置发送到用于到客户机装置的发送的链路卡的至少120个光纤信道帧的存储器容量。
15.如权利要求14所述的设备,其特征在于,第一和第二链路卡每个包括电路,它与通过第一和第二光缆之一与其耦合的另外链路卡交换缓冲器信贷信号,以致在客户机装置发送流量控制消息以请求通过耦合到另外链路卡的另外客户机装置发送这些数据帧之前用数据帧预—填充出境FIFO帧缓冲器。
16.如权利要求14所述的设备,其特征在于,第一和第二链路卡每个包括流量控制电路,用于在客户机装置发送流量控制消息以请求发送这些数据帧之前用数据帧预—填充出境FIFO帧缓冲器。
17.如权利要求9所述的设备,其特征在于,第一和第二链路卡每个包括入境FIFO帧缓冲器,用于存储客户机装置发送到链路卡的帧,以及出境FIFO帧缓冲器,用于存储另外装置发送到链路卡以用于的客户机装置发送的帧;以及第一和第二链路卡每个以与客户机装置相关联的第一时钟速率把数据存储到入境FIFO帧缓冲器和从出境FIFO帧缓冲器读出数据,并读出入境FIFO帧缓冲器的数据,用于发送到第一多路复用器单元,以及把从多路复用器单元接收到的数据以与链路卡相关联的第二时钟速率存储在出境FIFO帧缓冲器中,从而到和从客户机装置对发送和接收的数据流进行从第一时钟速率到第二时钟速率的再定时。
18.如权利要求17所述的设备,其特征在于,到和从客户机装置发送和接收的第一和第二数据流是光纤信道数据流,第一时钟速率约为1.0625Gbps,而第二时钟速率至少为1.25Gbps。
19.如权利要求17所述的设备,其特征在于,第一多路复用器单元包括平滑电路,它使从客户机装置发送的第一数据流进行从第二时钟速率到与第一多路复用器单元相关联的第三时钟速率的再定时,第一多路复用器单元以第三时钟速率经过第一和第二光缆之一发送第一数据流。
全文摘要
一种光纤环网络(100)包括多个互连节点(104-1、104-2、104-3、104-4),每一对相邻节点通过一对光学链路互连。使用粗波分多路复用,经过每个链路在两个方向上发送数据,使用第一波长λ1经过链路在第一方向上发送数据,以及使用第二波长λ2经过链路在相对的第二方向上发送数据。两个波长λ1和λ2至少相差10nm。经过光学链路(102)发送的每个数据流具有至少2.5Gbps的带宽。此外,每个数据流具有嵌入其中的至少两个逻辑流。在网络(100)的每个节点处的链路多路复用器(106)包括一个或多个链路卡(140-1、140-2),用于把链路多路复用器(106)耦合到客户机装置(159),以及一个或多个多路复用器单元(142-1、142-2),用于把链路多路复用器(106)耦合到光学链路。每个链路卡(140)包括能够存储许多光纤信道帧的帧缓冲器(152),这些光纤信道帧是发送到耦合到该链路卡(140)的客户机装置(159)和从这些客户机装置(159)发送的。
文档编号H04Q11/00GK1390403SQ00815642
公开日2003年1月8日 申请日期2000年9月13日 优先权日1999年9月13日
发明者C·D·菲南, M·法雷 申请人:昂尼体系股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1