CN101507145B - 执行不同路由信道级联的***和方法 - Google Patents

执行不同路由信道级联的***和方法 Download PDF

Info

Publication number
CN101507145B
CN101507145B CN2006800054611A CN200680005461A CN101507145B CN 101507145 B CN101507145 B CN 101507145B CN 2006800054611 A CN2006800054611 A CN 2006800054611A CN 200680005461 A CN200680005461 A CN 200680005461A CN 101507145 B CN101507145 B CN 101507145B
Authority
CN
China
Prior art keywords
channel
lcas
data
vcg
vcat
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2006800054611A
Other languages
English (en)
Other versions
CN101507145A (zh
Inventor
保罗·纳维兹
穆瑞特·鲍格
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Netlogic I LLC
Original Assignee
RMI Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by RMI Corp filed Critical RMI Corp
Publication of CN101507145A publication Critical patent/CN101507145A/zh
Application granted granted Critical
Publication of CN101507145B publication Critical patent/CN101507145B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/552Prevention, detection or correction of errors by ensuring the integrity of packets received through redundant connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/062Synchronisation of signals having the same nominal but fluctuating bit rates, e.g. using buffers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/12Arrangements providing for calling or supervisory signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/16Time-division multiplex systems in which the time allocation to individual channels within a transmission cycle is variable, e.g. to accommodate varying complexity of signals, to vary number of channels transmitted
    • H04J3/1605Fixed allocated frame structures
    • H04J3/1611Synchronous digital hierarchy [SDH] or SONET
    • H04J3/1617Synchronous digital hierarchy [SDH] or SONET carrying packets or ATM cells
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/351Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J2203/00Aspects of optical multiplex systems other than those covered by H04J14/05 and H04J14/07
    • H04J2203/0001Provisions for broadband connections in integrated services digital network using frames of the Optical Transport Network [OTN] or using synchronous transfer mode [STM], e.g. SONET, SDH
    • H04J2203/0064Admission Control
    • H04J2203/0067Resource management and allocation
    • H04J2203/0069Channel allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J2203/00Aspects of optical multiplex systems other than those covered by H04J14/05 and H04J14/07
    • H04J2203/0001Provisions for broadband connections in integrated services digital network using frames of the Optical Transport Network [OTN] or using synchronous transfer mode [STM], e.g. SONET, SDH
    • H04J2203/0073Services, e.g. multimedia, GOS, QOS
    • H04J2203/0082Interaction of SDH with non-ATM protocols
    • H04J2203/0085Support of Ethernet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J2203/00Aspects of optical multiplex systems other than those covered by H04J14/05 and H04J14/07
    • H04J2203/0001Provisions for broadband connections in integrated services digital network using frames of the Optical Transport Network [OTN] or using synchronous transfer mode [STM], e.g. SONET, SDH
    • H04J2203/0089Multiplexing, e.g. coding, scrambling, SONET
    • H04J2203/0094Virtual Concatenation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/16Time-division multiplex systems in which the time allocation to individual channels within a transmission cycle is variable, e.g. to accommodate varying complexity of signals, to vary number of channels transmitted
    • H04J3/1605Fixed allocated frame structures
    • H04J3/1611Synchronous digital hierarchy [SDH] or SONET

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

提供了一种用于在网络***中执行本地中心授权服务(LCAS)的***。该***具有经配置以根据支路的组来调整输入数据字节的数据调整器。该***还包括LCAS控制管理器,该LCAS控制管理器经配置以响应于自数据调整器输入的数据产生解序控制命令。该***进一步包括解序器,该解序器经配置以根据自LCAS控制管理器接收的解序控制命令来为自数据调整器输入的数据解序。

Description

执行不同路由信道级联的***和方法
优先权要求
本申请要求于2005年1月24日提交的美国临时申请No.60/645,841的优先权。
技术领域
本发明通常涉及时分复用通信***,更具体地,涉及使用虚拟级联信号的***。
背景技术
虚拟级联被用于适于通过同步光网络(SONET)和同步数字层级(SDH)进行数据业务的传输的***。术语“时分复用(TDM)”可以用于代表SONET和SDH。新协议包括在T1.105附录中说明的宽带低阶(LO)和高阶(HO)虚拟级联(VCAT)、以及G.7042链路容量调整方案(LCAS),所述新协议允许TDM网络更好的适应数据通信。国际电信联盟(ITU)已经公布了考虑到LCAS并针对虚拟级联信号的标准。ITU-T建议G.7042/Y.1305规定了网络链接的源端和接收端所要求的状态,并且规定了在链接的源端和接收端之间进行切换的控制信息,以便能够对于虚拟级联信号进行灵活地调整。用于通过传输网络传送控制信号的实际的信息字段在针对SDH的ITU-T建议G.707,G.783以及针对OTN的ITU建议G.709和G.798中得到规定。所有这些对于本领域的技术人员而言被普遍地认可并且众所周知且是有效的,出于该申请的目的,以引用的方式进行合并,其包括包含在其中的普遍使用的规定。
虚拟级联提供了发送和接收几种非连续的STS/VC片段作为信号流的能力。该组STS/VC被称为虚拟级联组(VCG)。利用之前段落中的相同的样例,可以将STS-3c负载转换为VCAT负载,并且非连续地映射至三个STS-1,如图7所示。
用于SONET的VCAT符号(notation)是STS-n-mv,其中,n是用于传输整个VCG的非连续STS片段的大小。m的值是n个片段的全部数量,其构成整个VCG。“v”表示这是一个VCAT负载。所以在前述样例中,VCG应该是STS-1-3v流。
三个STS-1构成了STS-3的整个流。STS-12c可以分解为STS-1或者STS-3c片段;因此,其可以作为STS-1-12v或者STS-3c-4v传输。用于SDH的VCAT符号是VC-n-mv,其中,n和m的定义与SONET中所定义的相同。例如,VC-4-16c负载可以映射到VC-3-16v或者VC-4-4v。
不像非公共级联,例如,STS-24c/VC-4-8c,因为多帧的顺序重新排列和指示通过H4字节的通道开销字段(path overhead field)进行执行,所以VCAT仅仅需要在通道终端设备中实施。通道开销仅仅用在TDM流的源和目的处。因为VCAT由STA-1/VC-3和STS-3c/VC-4组成,其由实际的所有的SONST/SDH设备支持,所以传统的非通道终端传输设备不需要支持VCAT。因此,利用增益(utilization gain)可以由余下的TDM网络享有,而无需如早期所解释的那样,使线路映射到较大的固定级联,使较小流集合成较大的固定级联。
VCAT间接支持的另一个特征——尽管它没有指定装置——是能够提供STS/VC通路的无中断调整(hitless resizing)。LCAS是一种定义无中断调整的方案。因为VCAT负载分解为几个片段,如在以后的段落中所讨论的那样,增加或者去除带宽可以通过将片段增加至现有流(existing flow)或者从现有流中清除而完成。虽然VCAT并不指定保护方案,但是LCAS方案还可以提供保护控制。
最终,用于虚拟支路(VT)-1.5(1.544Mbps)和VC-12(2.048Mbps)的其他宽带支持即使对于较小间隔的选择也有效,这是低阶(LO)VCAT。LCAS
改变用户的带宽轮廓一直是一个问题。采取有作用的措施、对其进行改变、以及确定其继续工作而无须任何人通知是重要的。很多用户这样要求,并且很多人将它写在他们的服务合同中。增加或者减少带宽的最好方案发生在对于在补偿期间共存的旧的和新的通路都具有足够的带宽时。在达到两个电路时,执行桥接-翻转(bridge-and-roll)以将用户移动至新的电路,但是当对于两个共存流没有足够的带宽时,必须在新的电路建立之前清除旧的电路,那么就产生了用户损耗。LCAS的目的在于使改变带宽成为一种较简单和较安全的任务。
LCAS提供了一种控制机制,其用于“无中断”的增加或者减少VCG链接的容量以满足应用的带宽需要。还提供了对于已经经历失败的支路链接(member link)的临时清除。LCAS假定,在容量开始、增加或减少时,每个单独的VCG支路的端对端通路的修改由网络和单元管理***负责。即,LCAS提供了一种带宽补偿的机制,但是其不是决定何时和为何进行操作的控制机制。
LCAS特征包括:在增加其分段带宽、无中断的带宽变化、失败VCG片段的自动清除时,能够增加和减少VCG容量,而不用清除全部的VCG,同时,用工作片段动态地代替了失败的片段,LCAS VCG可以和非LCASVCG进行相互操作;即,LCAS发送机可以切换为非LCAS接收机,反之亦然,VCG的单向控制,给出了具有不对称连接的能力,以及很多其他的特征。这些特征提供了可以很大地改进传输网络的效益列项。LCAS提供增加和去除VCG中带宽容量的灵活性,而不影响服务或者卸除VCG。这样不仅仅节约了补偿时间,而且消除了“维持窗口(maintenance widow)”期间工作的限制。此外,需要很少的计划编制,因为工程师仅仅需要为线路找出增加的带宽,而不是桥接-翻转所要求的附加带宽。
另一个关键的益处在于LCAS增加和删除VCG增量中的带宽。这样允许提供商提供更大范围的SLA。同样,增加SLA特征表是LCAS根据要求增加带宽的能力。因此,其有助于产生基于用户要求的带宽变化——对于服务商而言的另一优势。
除了管理补偿和用户要求,LCAS可以结合信令协议运行,以动态地改变网络中的通信流。对于它的一个应用是全网络(network-wide)或者基于整体范围(span-based)的负载均衡(load balancing)。此外,负载均衡/网络恢复将向为高效性付款的那些顾客方偏移。负载分享补偿方案可以潜在地是一种服务的构成,当数据包等级优先次序排列和拥塞控制方案结合时,产生新型的增强的服务供应。
通过LCAS,VCAT灵活性还将得到增强。这就很大地提高了供应商灵活提供和高效SLA的能力,还提供了动态的TDM通路恢复。
SONET/SDH(“同步光网络/同步数据层级”)传输层级设计成提供给电信载波一种实用装置,以利用时分复用承载声音和专线服务。在其最初设计中,SONET/SDH维持具有受限系列数据率(例如,51Mb/s、155Mb/s、622Mb/s、2.5Gb/s、10Gb/s、40Gb/s)的固定的层级结构。随着互连网和企业数据网的增长,以及因为业务范围和类型的扩展,需要这样的结构更加灵活和强大。
一系列下一代SONET/SDH技术的引入,包括GFP、VCAT和LCAS,将SONET/SDH传输网络转变为数据和语音电路的灵活和有效的载体,同时,保留为了执行监控和故障隔离(fault isolation)而在SONET/SDH标准中建立的优先运行和管理功能。GFP、VCAT以及LCAS已经平行地发展,当它们结合起来使用时,实现了其优点。它们彼此互补,从而提供传输源的有效利用和弹性带宽控制。基于此的器件、销售设备以及测试设备变得日益成熟,并且互连成高级网络。以上提及的三种基础技术中的每一种对于下一代SONET/SDH都具有独特的贡献:
通用成帧规程/GFP(ITU-T G.7041和G.806)是一种对任何数据类型的简便的封装方法,用于将不同比特流类型灵活映射进单字节-同步信道中。其提供了具有每数据包固定但小开销的有效的封装。存在两种主要类型的GFP:
基于帧的GPF(GFP-F)在单个GFP帧中存储和转发全部用户帧。对于大部分包类型而言,这是优选方法。
透明的GFP(GFP-F)通过传输诸如存储区字段网络(或者SAN)应用的分组编码信号而提供低等待时间。
虚拟级联/VCAT(ITU-T G.707和G.783)是结合任意SONET/SDH通道的反向复用技术,从而产生了单字节同步流。不像在每个网络组件中需要级联功能的连续级联,VCAT仅仅需要通道终端设备上的级联功能。VCAT可以传输一种负载,该负载并不有效地适合通常由现有的SONET/SDH NE支持的标准STS-Nc或者VC SPE的大小。VCAT功能仅仅在通道终端组件上被要求,而不是通道中的每个NE上。VCAT利用较小的带宽容器来建立较大的带宽端对端连接。单独的容器可以利用有利于各个容器之间不同时延的补偿来各自选择路由。
链路容量调整方案LCAS(ITU-T G.7042,G.806以及G.783)是一种信令机制,其动态且无中断地调整在具有VCAT的SONET/SDH网络中进行传输的容器大小。这是对VCAT允许使用中的SONET/SDH信道数量动态变化的扩展,并且在通道开销字节上带内执行。
假定已经规定了路径,LCAS调整端点上的带宽调整。其还包括可选的故障恢复(failover recovery)特征。
在SONET/SDH网络的边缘,可以存在诸如多服务提供平台(MSPP)的设备,以调整用于在SONET/SDH网络中传输的以太网物理接口。除去MAC帧中的前导码(preamble)和帧起始定界符(start of frame delimiter),并且将MAC帧中余下的内容(包括源和目标地址、长度/类型字段、MAC数据、填充字节和帧校验序列(frame check sequence))映射进GFP负载。增加GFP开销字节,并将GFP帧分配给VCAT组(VCG),这样可以利用跨网络的不同的通路(注意,在OIF世界互操作性检验证(WorldInteroperability Demonstration)中,SONET/SDH网络可以由利用不同卖方设备的多领域和多载波实验室组成)。LCAS信令意图增加或者去除VCG链接的支路,以调整应用的带宽需要,并响应于VCG支路链接的故障或者修复。在网络出口MSPP处,VCG的负载从GFP中解映射,以时间顺序重新集合,在以太网物理接口上得到复用和发送。
OIF世界互操作性检验中检测服务调整特征集中在四个领域:
SONET/SDH基础设施上以太网专用线业务的吞吐量;
通过GFP和VCAT适配分速率和全速率的以太网传输;
对于不同网络特征(差分延时)进行弹性调整;
利用LCAS,对增加/减小带宽要求和网络故障情况的即时反应;
这些测试情况不仅仅证明了不同卖方设备之间的相互作用,也证明了GFP-F、VCAT以及LCAS实质特征之间的相互作用。
作为VCAT和LCAS应用的实例,图1A-1D中示出了利用LCAS可由VCAT***提供的以太网服务的示例。图1示出了具有由VCAT和LCAS提供服务的以太网***。节点A和节点Z之间的链接利用三个支路的虚拟级联组传输以太网帧,并且可以是任何数量的支路。三个独立的LCAS协议连续地监控对等位置,包括:节点R的LCAS-a与节点Z的LCAS-a进行会话,LCAS-b(R)与LCAS-b(Z)进行会话,...LCAS-n(R)与LCAS-n(Z)进行会话等等。LCAS协议建立了用于这样的***的许多结构参数和状态机,但是它没有为在特定的节点中执行LCAS功能指定组件的具体实施。为了实现通信,每个节点需要发送和接收组件,其从例如CP1和CP2发送和接收数据,且多个节点是可以的。
CP1发送具有发送至节点R的数据包的以太网信号,于此,其适于数据业务,以太网帧根据通用成帧规程(GFP)进行处理。接着,根据VCAT的过程分离帧。
历史上,定向分组、例如IP和以太网的统计复用技术都不能使频带与由连续级联提供的粒度(granularity)很好地匹配。VCAT是一种反向复用技术,其允许带宽和单个VC-n单元的粒度增加。在源节点处,VCAT产生的连续负载等于VC-n的X倍。该组X个容器被称为虚拟容器组(VCG),并且,每个单独的VC是VCG的组成部分。低阶虚拟级联(LO-VCAT)使用X倍的VC 11、VC 12或者VC 2容器(VC 11/12/2-X:X等于1...64)。高阶虚拟级联(HO-VCAT)使用X倍的VC 3或者VC 4容器(VC 3/4-X等于1...256),提供X倍的48384或者149760kbit/s的负载容量。
参照图1A的虚拟级联操作,更具体地,示出了由VCAT/LCAS提供的以太网服务。处理器CP1连接至以太网连接,在该以太网中,根据以太网协议执行流控制。根据新的协议,节点R根据虚拟级联操作接收通用成帧规程中的以太网信号,以进行业务适配,随后进行负载分离。在节点R通过交叉开关(cross bar switch)输出数据之前,根据LCAS协议执行通信控制,这里显示为传统的STH。如图所示,以太网帧附加于VCAT支路信息上,并通过传统的STH传输至节点Z。节点Z的配置类似于节点R,节点Z经配置以通过LCAS操作协议接收数据,进行负载合成以重新构建数据,从而使接收以太网信号的控制器CP 2使用该数据。通过以太网协议的流量控制,此流量控制类似地运行或者实现。为了通信,每个节点都具有发送和接收以太网信号的能力。利用虚拟级联,由LCAS操作完成通信控制,传统的STH能够增加其带宽和效率。
参照图1B,虚拟级联用图形表示出,其中,例如,连续负载VC3/4V被分解为X个片段,每个片段具有多个序列和相关的MFI号。每个片段具有X倍的VC 3、虚拟级联组,其中,每个片段对应于特定的MFI号和序列。如所见到的,虚拟地级联组(VCG)被分开发送。
参照图1C,示出了由LCAS管理的VCAT信道。在节点A和节点B之间,通过VCG(管道方式的虚拟级联组),信号由X发送并由Rx接收。每个节点具有源和与其同步的装置(sync),且每个还具有相应的LCAS配置。LCAS帮助网络操作员有效地控制建立在VCAT站点的NG SDH连接。LCAS的使用不是必须的,但是可以改进VCAT管理。如所看见的,源和与其同步的装置之间的支路状态对应有4/空闲(idle)、增加(add)/失败(fail)、正常(norm)/ok、DNU/失败以及清除/Ok。同时,还可以看到,传输信道A、B、C和D以传输模式的信道示出,并且对应信道H、I、J和K示出为从所述源向所述与其同步的装置发送信号的信道,从节点B向节点A。
参照图1D,示出了复帧K4(VCAT和LCAS编号)。低阶通道开销在K4复帧中的17-20位置中示出。同样,在复帧中的是MFI号、序列号、控制号、控制位、RS-ACK、MST号和CRC-3。同样,K4超帧被示出具有对应的MFI号、序列号控制以及CRC-3。(SQ是在-VCG[0...]中的序列指示)MFI:复帧计数指示[0...31]。K4超级帧具有512ms的时间长度。K4是LO-PO开销的一部分,并且每500毫秒重复一次。在完整的复帧中发送32个比特,花费16毫秒重复一次(500×32=16ms)。第二位的超级帧由32个复帧构成,并且花费了512毫秒进行重复。在高阶侧,参照图1E,复帧H4以VACT和LCAS编号的形式示出。H4是HO-PO(高阶开销)的一部分。A4表示每125毫秒进行重复。1-6字节的复帧花费16毫秒。完整的4096字节的复帧花费512毫秒来重复(125×4096=512ms)。
为了获得灵活和强大的结构,人们已经进行过很多尝试。然而,传统***中硬件和软件之间功能的分割是不公平的。尤其,当要求某种处理时,例如,改变不工作组的尺寸和支路状态,处理中的指令会阻碍支路状态活动。
例如,在基于音速的***中,更新V-4的空间G 707中的ITU要求虚拟级联。例如,如果要求7兆的信道,期望的结果可以是7个1兆的信道。因此,需要实现LCAS附加。需要根据标准的要求改变不工作组的尺寸和支路状态。在传统***中,这样的处理是冗长的,并且对于处理器的要求很高。例如,要求的处理是检查配置、中断、命令、故障、重置和其他操作。给定新的标准要求,***将由实时处理要求所负担。
通过允许SONET/SDH信道以任意布置进行复用,虚拟级联(VCAT)使传输管道对于各种数据负载都是“合适的尺寸”。VCAT分解数据包,并将他们映射进TDM帧的基本单元;例如,用于SONET的STS-1(51Mb/s),以及用于SDH的AU 4(155Mb/s)。这样的数据接着在变动尺寸的多个数据流中聚合,以产生较大的合成的负载,选择性地配置其尺寸以匹配有效SONET/SDH管道的容量。VCAT在连接的端点处得到应用,这就允许每个使用的信道通过传统的传输网络进行单独地发送。通常利用GFP对数据进行封装。VCAT(在ITU-T G.707中定义)与一些小的SDH/SONET虚拟容器(VC)负载进行组合,以构成较大的虚拟级联组(VCG)。VC具有三个不同的尺寸,其中,VC-12提供大约2Mbit/s,VC-3大约50Mbit/s,而VC-4大约150Mbit/s,使得例如8Mbit/s的数据流可由4个VC-12组成。产生这些可变化容量的精细调谐的SDH/SONET管道提高了数据处理的可测量性和效率,同时,还控制了服务质量(QoS)和用户业务级协定。VCG被作为一组单独VC进行处理,这就意味着每个VC可以利用任何有效的时隙(time slot)通过端对端路径,并且,VCG在另一端进行重组。例如,以上所述的8Mbit/s的负载可以在整个SDH.SONET信号中分割跨越4个VC-12。
对于通过SDH/SONET进行的灵活的数据传输,同样重要的是链路容量调整方案(LCAS),其在ITU-T G.7042中进行定义,这样使得VCG的负载可以通过增加或清除单个的VC得到调整。LCAS建议为在两个端点之间通知要求的变化提供了机制,而不会丢失包,因为负载容量得到了调整。
结合链路容量调整方案(LCAS,ITU-T G.7042)的VCAT是一种合算的弹性机制,其允许数据服务覆盖现有的光传输网络。这些标准利用已经存在和使用的技术允许载波收益最大化。因为服务提供商受到了利用多种传输机制发送相同(或增加的)服务的挑战,通过一个传输架构结合以太网和传统语音和数据业务的这样的基于标准的方法已经逐渐流行起来。这些要求对于那些传统上由城域分组网络(metro packet network)覆盖的区域之外的服务区域是尤其重要的。参见:http://www.haliplex.com.au/multis1600.html
对于传统***及相关的解决方案,这就产生了一个显著的问题。在这样的***中,硬件和软件之间的处理功能的划分是不对等的。因为这样的***仅仅用于为发送、接收和仅交换语音数据而建立,所以没有实现更现代的数据发送所要求的效率。在网络***中,快速地管理支路链接活动对于***有效地运行是必要的,其包括解决完全不同的支路链接。例如,如果支路要求7兆比特的信道,但是接收7个1兆比特的信道,那么为了改变该组的尺寸和支路状态,应该另外需要执行LCAS。这在ITU-T G.7042中提出。根据新ITU标准要求,这必须在非工作状态执行,或无间断执行。然而,该标准并未严格地提出如何进行这样的方案。对于处理器,这是非常沉重的,其需要检测配置,需要编译命令,并且,为了有效并高效地进行链接以及提供新标准所要求的VCAT,程序必须是坚固耐用的(robust)。简化的LCAS源和接收器(sink)状态机在图1F中示出。
因此,在本领域中需要一种在基于SONET***环境中执行LCAS操作的***和方法,这样就提供了网络通信中硬件和软件操作之间的更加有效的均衡,并且该***和方法能够以不受实时处理要求限制的方式执行LCAS操作。如将要见到的那样,本发明以精巧的方式提供了这样的***和方法。
发明内容
本发明目的在于在虚拟级联信号中的新的硬件和软件***、方法、设备和配置,包括用于使TDM网络能够更好地适应数据业务的新协议。提供了用于在网络***中执行本地中心授权服务(LCAS)的***和方法,该***具有配置成根据支路组来调整输入数据字节的数据调整器。该***还包括配置成响应于从数据调整器输入的数据而产生解序控制命令的LCAS控制管理器。该***还包括解序器,其配置成根据自LCAS控制管理器接收的解序控制命令对自数据调整器接收的输入数据进行解序。
本发明的某些实施方式提供了用于在网络中执行本地中心授权服务(LCAS)的***。这些实施方式中的一些包括配置成根据支路组来调整输入数据字节的数据调整器,所述支路组包括虚拟级联组(VCG)。这些实施方式中的一些包括配置成响应于从数据调整器输入的数据而产生解序控制命令的LCAS控制管理器。这些实施方式中的一些包括解序器,其配置成根据自LACS控制管理器接收的解序控制命令对自数据调整器接收的被调整的输入数据进行解序。这些实施方式中的一些包括用于配置LCAS控制管理器的处理器,其中LCAS控制管理器包括产生所述解序控制命令的可配置的硬件状态机,且其中状态机在执行一个或多个LCAS操作时是可配置的。这些实施方式中的一些包括一个或多个其它FIFO。这些实施方式中的一些包括多个自由运行日程表,每个日程表配置成确定在相应的FIFO中的数据内容,且如果所述数据内容低于固定阈值就发起读请求。在这些实施方式的一些中,每个日程表遵循预先配置的共同的信道顺序。在这些实施方式的一些中,一个或多个日程表的循环周期不同于其它日程表的循环周期。这些实施方式中的一些包括VC/LCAS调整块,其配置成补偿多个不同信道所积累的网络差分延时,用于对属于公共虚拟级联组(VGC)的支路信道去除偏斜,其中所述***嵌入SONET传输处理器中。在这些实施方式的一些中,调整块包括写管理器,其配置成暂时积累数据,并在为对选定的信道积累了预定数量的数据之后,以突发方式将所积累的数据传输到存储设备。在这些实施方式的一些中,调整块包括读管理器,其配置成从存储设备读取所积累的数据的突发,将所积累的数据的突发存储在相应于选定的信道的FIFO中,并选择性地清空FIFO,以便调整存储在FIFO中的VCG的数据。
在这些实施方式的一些中,状态机在处理器没有参与的稳态条件下操作。在这些实施方式的一些中,LACS控制管理器监控被调整的输入数据,且控制命令基于所监控的被调整的输入数据。在这些实施方式的一些中,控制命令基于支路组的预定的发送间隙顺序。在这些实施方式的一些中,解序器包括至少两个缓冲器,由此允许处理器动态地改变组的支路状态,同时状态机执行所述一个或多个LCAS操作。在这些实施方式的一些中,解序器包括配置成从一个缓冲器中读取支路状态变化数据的读管理器和配置成将支路状态变化数据写入另一缓冲器中的写管理器,其中读管理器和写管理器的读和写功能在这两个缓冲器之间交替进行。在这些实施方式的一些中,读和写功能响应于交叉连接请求而执行。在这些实施方式的一些中,数据调整器配置成调整输入数据的信道,并包括:写管理器,其配置成将输入数据接收进第一存储器中;多信道透明模块,其具有第二存储器,第二存储器配置成存储自写管理器接收的输入数据,且写管理器将输入数据写入第二存储器;以及读管理器,其配置成将存储在第二存储器中的输入数据传输到第三存储器,其中所传输的输入数据被调整。在这些实施方式的一些中,状态机配置成存储并管理与LCAS有关的状态数据。
这些实施方式中的一些包括配置成执行虚拟和标准级联处理的虚拟级联模块(VCT)以及交叉连接接口。在这些实施方式的一些中,VCT包括配置成通过SONET/SDH逻辑端***换被传输的数据包数据的数据包引擎接口,其中所述交叉连接接口配置成与内部SONET/SDH交叉连接交换(发送)SONET/SDH业务,在所述SONET/SDH业务中数据被映射。这些实施方式中的一些包括SONET/SDH交叉连接以及STM-16接口,其中VCT配置成使用接口与所述交叉连接交换被传输的SONET/SDH业务,在SONET/SDH业务中数据被映射。在这些实施方式的一些中,支路组包括多个VCG,其中正向控制信息在每信道的基础上配置,并在每VCG的基础上触发,且其中反向控制信息在每VCG的基础上配置并在每VCG的基础上触发。这些实施方式中的一些包括自由运行日程表,所述自由运行日程表确定FIFO中的数据内容,以及如果数据内容低于固定阈值,则发起读请求。在这些实施方式的一些中,读管理器对多个不同信道中的每个信道包括一个FIFO,以及其中在每个FIFO,数据一次到达一个字节。
本发明的某些实施方式提供了一种在本地中心授权服务(LCAS)中调整输入数据的方法。这些实施方式中的一些包括使用写管理器积累数据。这些实施方式中的一些包括在为选定的信道积累了预定数量的数据之后将所积累的数据传输到存储设备。这些实施方式中的一些包括将所积累的数据的突发从存储设备传送到预定用于选定的信道的FIFO,其中所积累的数据的突发包括与虚拟级联组(VCG)相关的数据。这些实施方式中的一些包括处理将要存储在外部存储器或者自外部存储器中检索的在写管理器和读管理器中的所述虚拟级联组的每个支路的帧。这些实施方式中的一些包括选择性地清空所述FIFO,以便在FIFO中调整与VCG相关的数据。在这些实施方式的一些中,执行所述积累、传输、传送、处理和清空步骤中的一个或多个的硬件包括可动态配置的状态机、多个FIFO和多个自由运行日程表,其中写管理器具有用于每个信道的一个FIFO,且读管理器具有用于每个信道的一个FIFO,且多个自由运行日程表周期性地将所述FIFO的数据内容传送给RAM。在这些实施方式的一些中,每个日程表确定在相应的FIFO中的数据内容,且如果所述数据内容低于固定阈值就发起读请求。在这些实施方式的一些中,每个日程表遵循预先配置的共同的信道顺序。在这些实施方式的一些中,一个或多个日程表的循环周期不同于其它日程表的循环周期。在这些实施方式的一些中,FIFO的内容被周期性地存储,所述周期由自由运行日程表确定。
本发明的某些实施方式提供了一种将本地中心授权服务(LCAS)事务分解成一系列操作的方法。这些实施方式中的一些包括维持正向控制信息配置和反向控制信息配置的映射复制。这些实施方式中的一些包括当操作开始时将新的控制信息写到映射复制中。这些实施方式中的一些包括在所述写步骤之后,触发每虚拟级联组的配置位以迫使相应的每虚拟级联组(VCG)的所有支路转换配置存储数据,从而使得自动操作中的所有变化将在硬件中同时执行。在这些实施方式的一些中,硬件包括状态机、多个FIFO和多个自由运行日程表。在这些实施方式的一些中,每个日程表确定在相应的FIFO中的数据内容,且如果数据内容低于固定阈值就发起读请求。在这些实施方式的一些中,每个日程表遵循预先配置的共同的信道顺序。在这些实施方式的一些中,其中一个或多个日程表的循环周期不同于其它日程表的循环周期。
附图说明
图1A-F是背景技术的LCAS和相关的网络的示图;
图2A是根据本发明配置的***的简图;
图3A-G是根据本发明的源和接收器的示图;
图4A-E是根据本发明的调整方法和***的示图;
图5是ANA的示图;
图6是LVC的示图;
图7是DSQ的示图;
图8是VCT_TX的示图;
图9是缓冲器***的示图;
图10是用于基于信道类型的日程表循环(calendar round)的***的示图;
图11是缓冲器***的示图;
图12是VCT调整器的示图;
图13是VCT调整器如何产生日程表的示图;
图14是复位和故障模式一起如何作用于授权和非授权支路;
图15是主FIFO的示图;
图16是64字节字的示图;
图17是接收电路中主FIFO的示图;
图18是状态如何被重置的示图;
图19是用于LCAS的状态图表的示图;以及
图20是如何分配主FIFO的示图。
具体实施方式
本发明涉及一种用于在网络***中执行本地中心授权服务(LCAS)的新颖的***和方法,克服了现有技术的缺点。该***是多方面的,并向用于VCAT传输的***提供了很多特征,更具体地但不限于那些提供LCAS功能性的特征。本领域的技术人员应该理解以下的实施例可以用在任何***和方法中,在所述***和方法中,以下的功能和器件是有用的。
新颖***的一个实施例提供了对虚拟级联过程中的数据进行调整、排序和解序的独特配置。这样的***和进程会用在SONET/SDH传输处理器或类似物中,但不限于任何特定的网络协议。更具体地,***和过程可以用于具有虚拟级联和LCAS功能的高阶和低阶帧调节器和处理器中。本领域的技术人员应该理解,本发明的实质和范围延伸至较宽的应用,并在所附权利要求及其等价物中界定。
本发明的另一实施例提出了在这样的***中的硬件和软件功能之间的新的平衡,其中,从过程中去除了繁琐的处理,并在操作路径之外执行。这就允许***以更加有效的方式执行LCAS,并加速了通用进程。本发明在基于SONET的***环境中执行LCAS操作的***和方法的环境中进行描述,但是本领域的技术人员应该理解本发明在范围上实际更加宽广,而且扩展到从网络通信和其他应用中的硬件和软件之间更加有效的平衡中获益的任何***。
在本发明的一个实施例中,处理器被配置成以有效的方式增加和删除支路,其中,处理器开销类似于传统的基于硬件的状态机。共同性是类似的配置检测、命令解译以及设备编程。但是,根据本发明,根据本发明配置的LCAS处理器运行在显著降低的处理时间下,并要求不明显的实时处理器要求。在稳定状态或者正常操作中,没有加载处理器,并仅仅在配置变化期间要求处理器。因此,本发明通过在稳定状态运行期间很大地降低处理器上的负担提出了克服了现有技术的缺点解决方案。例如,在增加或者删除支路时,对于操作的源和接收器侧,***仅仅需要对两个中断(在增加操作中)或者一个中断(在删除操作中)进行响应。同样,实际上,在这样的操作中每支路的处理时间可以小于1毫秒,并且可以独立于具体的实施(HO:高阶,LO:低阶)而运行,例如:
最好情况                最差情况
HO:8ms+4XProp延时          70ms+4XProp延时
LO:128ms+4XProp延时        352ms+4XProp延时
如果发生故障事件,那么本发明在100毫秒内向发生故障的支路提供响应。对于LO,中断的LCAS故障速率可以是每32ms接收高达8个故障支路状态消息,对于HO,可以是每2ms接收高达8个故障支路状态消息。总之,对于LCAS协议执行,基本上可以忽略处理器执行时间。
调整
本发明还提供了一种执行LCAS的调整***,其中,数据调节器配置成调整输入数据的信道。在一个实施例中,调整器包括写管理器,其经配置将输入数据接收进第一存储器中。写管理器接着将字节从多个信道中写入具有第二存储器的多路透明模块(MCT)中。MCT配置成存储自写管理器接收的第二存储器中的输入数据,使各个信道的数据保持分开。调整***还包括读管理器,其配置成以调整的方式将存储在第二存储器中的输入数据读取进第三存储器中。在一个实施例中,读管理器配置成自一组信道读取信道数据,当所有的数据自VCG接收时,该组信道构成了虚拟级联组(VCG)。在一种配置成执行LCAS类型处理的***中,不同的单独的虚拟级联(VC)信道组在不同时间抵达传输的接收端。根据本发明,读管理器允许信道数据填充MCT中的空间,直到所有组支路数据到达。此时,它们已经准备好被读出,接着发送给后续过程,例如解序。将解序作为调整过程的一部分执行也是可以的。在优选实施例中,调整与单独的信道数据的序列的变化分开执行。
排序和解序
本发明还提供了一种用于对来自VCG中的信道数据进行排序的新颖的***和方法。该***包括排序模块,其配置成根据VCG的支路信道的预定的发送间隙顺序对数据字节重新排序及处理动态VCG支路状态变化。***还包括至少两个缓冲器,其配置成使得模块能够执行双缓冲处理,以执行VCG支路状态变化,从而支持LCAS。读管理器配置成自一个缓冲器读取支路状态变化,而写管理器配置成将支路状态变化写入另一缓冲器,其中,读管理器和写管理器的读和写功能在两个缓冲器之间交替。在一个实施例中,每个缓冲器的字节容量等于或大于VCG支路的数量。
根据不同的实施例发明配置而成***(可以独立或者可以是合成使用)可以以很多方式很大地受益。***可以提供用于下一代的可高度集成语音/数据的低成本的固定结构代理、SONET/SDH使能的客户终端设备(CPE)***、用于下一代的高度集成的先进以太网服务传递解决方案、SONET/SDH使能的MSPP线卡、支持Ethernet-over-SONET(EOS)、Packet-Over-SONET、POS、和TDM业务的网络单元、用于将数据业务的智能(重)集合进SONET/SDH电路的业务卡/线路卡、数据和/或电路分类(grooming)***、支持增强的以太网E-线路、E-LIN/VPLS、PWE数据业务以及传统的TDM业务以及其他应用。
本发明允许处理器能够使***平台传送这样的业务,同时,降低与业务发送相关的传输成本。此外,通过将低成本的以太网接口用于通用客户访问,根据本发明配置的硬件和软件解决方案可以激活业务速率和其他的SLA性能。这些可以根据客户开始时的要求进行自动地修改,还省去了成本高昂的上门服务(truck roll)。
利用本发明高度集成的解决方案,由于本发明提供的成本/服务/价值,***供应商可以享受额外的运载量。服务供应商可以利用先进的服务模式增加他们的月收益几率(随着与运作的每月额外费用大约相同的CAPEX支出),同时,通过业务复用技术降低他们的OPEX。终端的用户可以利用更多的服务选择。本发明提供了灵活的接口选择,包括兆比特以太网、10/100以太网、受保护的SONET/SDH(光或者MSOO光纤)、PDH扩展总线、高达STS-48带宽,其具有完整的SONET/SDH以及数据包处理。其利用GFP、虚拟级联和LCAS,使在现有SONET/SDH构架上的以太网业务的传输最优化。本发明还提供了一种用于通过以太网载波网络发送以太网业务的载波分类方案。
根据本发明配置的***允许高带宽以太网虚拟专用线(E-Line)、虚拟专用LAN(E-LAN和VPLS)以及伪线(pseudowire)业务的传送,允许广泛的服务分布。该***还激活虚拟开关,其中,很多虚拟开关服务于产生E-LAN的多种收益,它们的每个带宽、端口以及静态源都在功能上和管理上被隔离。
在本发明的一个实施例中,***包括LCAS状态机,其配置成存储和管理与***LCAS硬件的状态有关的状态日期。虚拟级联(VCT)模块经配置执行***中的虚拟和标准级联过程,更具体地,根据调用这样的过程的ITU标准。VCT模块包括数据包引擎接口,其配置成发送、接收或者通过SONET/SDH逻辑端口与数据包引擎进行包数据交换。VCT模块还包括交叉连接接口(cross connect interface),其配置成发送、接收以及利用内部SONET/SDH交叉连接交换其中具有映射数据的SONET/SDH业务。可以将***VCT配置成利用内部SONET/SDH交叉连接通过内部STM-16接***换(发送)其中具有映射数据的SONET/SDH业务。
HW***
参照图2A,示出了根据本发明配置的接收信道的硬件***的简图。
参照图2A,示出了LCAS结构的接收信道的配置。在运行中,数据202由***200中的调整器204进行接收,调整器调整数据支路。在分立的处理中,解序器206根据MFI信息对VCG支路的序列重新排序。这都由LCAS控制数据包处理208进行控制,其接收与排序器相同的数据并控制解序处理。接着,将输出发送至缓冲器210,然后发送到复用器212。同样被接收进复用器的是来自模块214的非-VCAT传输的数据包通路开销(POH)处理的输出。
根据本发明,以一种新颖的获得最佳效率的方式划分LCAS结构中的硬件和软件。ITU标准中,LCAS通常在软件中规定。然而,在实际中,发现应用程序中软件的单独使用太慢了。发现软件和硬件的更好结合提供了更好的结果。通常,与控制路径有关数据由软件控制。硬件仅仅在需要的时候使用,例如,在数据路径传输中。
根据本发明,基本上开销数据(overhead data)的所有功能由软件产生。硬件同步地确定变化发生。进程必须在软件中排列所有的非限时步骤,其中,硬件提供控制路径和数据路径的同步。因此,挂钩(hook)和硬件是为了软件置入数据和获取数据而配置的。
当单独地考虑控制路径时,控制路径的控制专用于软件领域。为了***控制数据包,硬件挂钩允许软件***控制数据包。为了提取,硬件挂钩允许软件读取数据流中被遗弃的控制包。其实,软件定义何时变化必须发生,而硬件判断变化何时可以发生并进行改变。因此,硬件提供同步性。
考虑控制路径和数据路径,在配置的接收侧,软件配置硬件,使得数据路径尺寸、支路数量与LCAS控制数据包中接收的开销一致。在发送侧,依然考虑控制和据路径,软件指示硬件改变第一数据路径尺寸以及LCAS控制数据包中的发送开销。这两种功能由硬件同步地执行,因此,软件和硬件分离。
考虑内部资源同步,不同的虚拟级联组具有不同的尺寸。因此,一些缓冲器分类为不同的组尺寸,并且软件控制硬件以设置缓冲器大小。类似地,资源分配可以通过使用该硬件软件区分而实现,其中,软件规定资源分配,而硬件因此而做出反应。在缓冲器切换同步中,软件指示硬件改变由特定的VC组使用的缓冲器。硬件在严格恰当的时间执行改变。
本领域的技术人员应该理解,软件可以处于存储器的外部或内部或者CPU的外部或者内部。其可以在相同的线路卡或者不同的线路卡上实现。同样,软件可以位于分离的或者类似的芯片(die)上。因此,本发明并不受限于任何特定配置,在所述配置中,在CPU或者特定芯片或芯片组的外部或者内部使用软件。
参照图3A-G,示出了本发明的一个实施例中使用的硬件和软件分割的简易流程图。示出的图3A至3G结构和***流程图用以帮助描述根据本发明的***的操作。根据本发明,LCAS业务被分解为一系列自动操作,利用配置的硬件执行每个自动操作,其中,软件负责发出每个业务的适当自动操作。
参照图3A,示出了根据本发明配置的源/同步LCAS***。***包括源的第一驱动器302、源的硬件控制模块304、同步的硬件控制模块306以及同步号的软件驱动器308。操作步骤顺序的步骤形式示出,并在本文中将进行描述。
参照图3B,在操作中,当增加NMS的新支路310时,进程前进至***空闲的步骤312。在增加新支路时,这是一种运行状态。在步骤314中,增加控制设置,其中,增加新的支路,并且序列号依次加1,从而序列号等于N加1。在步骤316中,发送LCAS控制。在步骤318中,置位定时器。在步骤320中,开始增加序列,并且分别通过线序列路径326和328发送控制。在步骤328中,执行检查序列和检查控制操作。在步骤330中,将控制设置为标准并且将序号设置为N。在步骤332中,将控制设置为序列末端(EOS),并且序列号等于N加1。在步骤334中,开始发送LCAS控制的操作,在步骤336中,发送负载。在步骤338中,将负载标准化,并发送给硬件器件304。在硬件***中,控制字产生器(generator)/提取器(exactor)接收准备发送负载的负载信息。在步骤340中,负载序列器确立负载、数据包342的顺序。来自源的增加号序列中的控制字产生器/提取器产生并且接着通过发送路径344将控制字发送至数据包342。在相反方向,路径346,控制字由控制字产生器/提取器324进行提取。数据包接着通过路径343进行发送并在接收器306处作为数据包348而接收。这些数据包通过路径352由接收器控制字产生器/提取器350进行接收。如果数据包通过路径343被发送回源硬件,控制字产生器/提取器会产生控制字并通过路径354将其附加至数据包。控制字产生器/提取器接着将从源硬件接收的数据包发送至软件驱动器308。首先,将来自控制字产生器/提取器350的控制字发送给驱动308中的路径356的OK 355,以判断在355支路状态附加是否OK。在步骤366中执行检查序列和检查控制操作。序列接着推进到步骤364,其中开始了RS-ACK翻转(flip)。一旦这些操作结束,程序推进至表示接收负载的步骤362。如果增加支路359,空闲步骤372开始并且操作反向进行至驱动器302。在空闲步骤372之后,检查序列和检查控制操作在步骤370中开始,并且在步骤368中随后开始发送LCAS控制,操作反向进行。
参照图3C,示出了LCAS增加业务序列的更加详细的描述。在操作中,处理驱动器302和308与开销一起运行,基本上代替了传统的基于硬件的状态机。根据本发明,对于源和接收器,结构检查可以是公共的。此外,命令编译和设备编程也可以是公共的。LCAS状态机表现出小于20%的总处理时间,并且没有额外引入进程的明显的实时要求。在稳定状态操作中,在正常操作期间没有处理或加载,此外,仅仅在结构改变期间要求处理器。在增加或者删除支路时,源和接收器存在显著降低的操作。当增加支路时,仅仅需要两个中断来响应。当删除支路时,仅仅要求一个中断。在最后分析时,每个支路要求小于1毫秒的整体处理时间。这是由LCAS标准规定的最小的整体LCAS协议完成时间。因此,执行时间的处理明显地与LCAS协议执行有关。依然参照图3C,示出了LCAS增加业务序列实例的流程图。在步骤380中,源通过设置发送控制数据包(增加)以增加到新支路上来开始业务。在步骤382中,接收器检测控制中的变化,并发送支路状态变化(MST),在步骤384中,在存在的情况下,通过设置控制=新支路上的EOS和控制=之前最后支路上的NORM来增加支路。在步骤386中,接收器检测控制中的变化并触发RS-ACK或者RS序列确认。
参照图3D和图3A,更加详细地示出了与增加新支路过程相关的路径。在操作中,在步骤312,路径1开始处于idle,并通过路径388前进至控制字产生器/提取器324,其中,控制字为了数据包342而产生,接着被发送至在接收器306,发送接收器306中的数据包348。控制字提取器接着提取控制字,增加新支路,然后依然通过路径388进行至步骤342。
参照图3E,步骤2示出了接收器检测控制中的变化以及发送等于OK的命令MST的操作。这通过路径390进行。驱动器308的增加支路372通过路径390发送命令至通过路径390的控制字产生器/提取器,其将控制字发送至产生的数据包348。这些数据包通过路径390传送以给出数据包342。接着,控制字提取器324提取等于OK的MST命令,然后将其发送至增加操作模块320以完成增加序列。
在步骤3F中,从增加序列模块320开始,处理进行至步骤328,并通过路径392继续,其中,源检测MST变化,并在存在的情况下,通过设置控制=新支路上的EOS和控制=之前最后支路上的NORM。依然继续下行路径392,处理同时前进至控制字产生器/提取器324和负载排序器340,以产生数据包342,从而继续通过路径392至接收器硬件306。接着,控制字产生器/提取器提取控制字,控制=EOS,并且过程进行至步骤358,其中,新的组件处于OK状态。
参照图3G,最终的步骤,其中接收器检测控制中的变化,并触发RS-ACK或者确认命令,这样处理下行至步骤394,开始在其中进行检测序列和检测控制,向下进行至路径394,从而控制字产生器/提取器提取控制字、确认命令并通过路径394将其发送至数据包348。在源硬件304中,这些数据包作为数据包342而接收,接着,处理进行至源硬件的控制字产生器/提取器以提取确认命令,然后,处理返回NORM过程。
1.1自动操作
1.2反向控制信息
根据本发明,自动操作最初在软件中利用响应于软件命令的硬件执行,最大地优化了***。考虑反向控制信息,并参照图3A,接收器303操作管理这些操作,接收器定位在接收器或者LCAS操作的接收侧。在LCAS链接的接收器,Orion能够***反向控制信息,例如,支路状态(MST)以及重新排序确认(RS-ACK)。这样的信息由软件配置。此外,当软件改变信息时,变化在虚拟级联组(VCG)的所有支路上同时发生。该变化还与新LCAS控制数据包的开始同步。
在LCAS连接的源处,源从进入的LCAS控制包中提取反向控制信息,例如,MST和RS-ACK。源还执行CRC校验以证实该数据的有效性。如果这样的信息改变,源处理器将中断软件,并允许软件读取接收到的新值。
1.3正向控制信息
考虑正向控制信息,在LCAS连接的源处,源处理器***正向控制信息,例如,序列号(SQ)和控制字(CTRL)。这样的信息由软件配置。当软件改变这样的信息时,必须将新的控制数据写入下一个LCAS控制包。此外,数据路径改变必须与控制路径改变同步。由新的SQ和CTRL值定义的新的数据路径配置必须严格地在跟随写入新的SQ和CTRL值的控制包的控制包开始时发生。
在LCAS连接的接收器处,接收器处理器从进入的LCAS控制包中提取正向控制信息,例如,SQ和CTRL。接收器处理器还执行CRC校验以验证这样的数据。如果新的SQ和CTRL值到达,接收器处理器将会中断软件,并呈现新接收的值。如果信道已经由软件配置为“授权”模式,那么接收器处理器将使用来自该信道的新的SQ和CTRL信息,以控制实际数据的提取。数据路径结构变化是同步的,使得其严格地在跟随具有新的SQ和CTRL值的控制包的控制包开始时发生。
参照图3B-G,示出了描绘软件和硬件分离操作的一个实例。
HW/SW分离说明
2综述
本申请描述了基于寄存器模式的各种LCAS方案所要求的硬件和软件相互作用,在LCAS/VCAT寄存器的文献中提供了寄存器模式。反应LCAS的不对称性质,软件需要执行的操作分开讨论,因为接收器与源侧分开。
在本文件覆盖下列内容:
·接收器侧
ο产生VCG
ο删除VCG
ο提供新支路至VCG
ο从VCG中解除供给新支路
ο增加VCG带宽
ο降低VCG带宽
ο因为故障而降低VCG带宽
ο改变反向控制信息提取配置
·源侧
ο产生VCG
ο删除VCG
ο提供新支路至VCG
ο从VCG中解除供给新支路
ο增加VCG带宽
ο降低VCG带宽
ο因为故障而降低VCG带宽
ο改变反向控制信息***配置
本申请并不覆盖错误方案的详细分析,并且假定在与业务相关的配置期间没有错误。本申请旨在帮助理解如何利用LCAS配置和由Orion提供的状态接口在软件中执行LCAS协议功能。
3接收器侧方案
3.1产生VCG
当想要产生新的接收器VCG时,NMS为接收器节点侧指定下列操作:
·接收LPID以用于该接收器VCG
·VCG的信道类型
·如果存在,识别所述接收信道,最初其将被作为该接收器VCG的支路而提供
·对于每个初始支路信道,如果存在,LCAS反向控制信息是否应该从其中提取,且如果是,其应该应用至本地源VCG的发送LPID。不同的支路信道可以承载用于不同本地源VCG的反向控制信息。反向控制信号还可以不在一些或者所有的初始支路信道上提取
制定了下列假设:
·接收端口LPID未处于使用中(即,置位了用于该接收LPID的RX_SK_SW_CFG_EN)
·如果存在,初始支路信道与接收器VCG类型相同
·如果存在,初始支路信道未处于使用状态(即,他们的RX_SK_SW_CFG_EN位被置位),并且它们源于远端源节点
软件执行下列配置步骤以产生接收器VCG:
1.置位RX_SK_VCAT_EN和RX_SK_LCAS_EN以用于分配至接收器VCG的接收LPID
2.将接收器VCG的TX_SK_LCAS_INS_MST字段置位为FALL以用于所有可能的序列值(即,将该字段置为全1)
3.通过清除SK_SW_CFG_EN位,使接收器VCG脱离复位状态。
如果任何接收信道被指定最初被提供至接收器VCG,余下的配置步骤与当将这些接收信道提供至现有接收器VCG时执行的步骤相同。
3.2删除VCG
当希望删除接收器VCG时,NMS将下列操作指定给接收器节点:
·接收LPID分配至该接收器VCG
发明人假定在删除接收器VCG之前,已经不再提供所有的支路。在这样的情况下,软件需要执行下列操作:
1.通过设置其SK_SW_CFG_EN位将接收LPID置于重置状态。
3.3将新的支路信道提供进VCG
当希望将新的支路信道提供进现有接收器VCG时,NMS将下列配置参数指定给接收器节点:
·分配至该接收器VCG的接收LPID
·接收信道的标识,该接收信道应该作为该接收器VCG的新支路而提供
·对于每个初始支路信道,LCAS反向控制信息是否应该从其中提取,且如果是,其应该应用至本地源VCG的发送LPID。不同的支路信道可以承载用于不同本地源VCG的反向控制信息。反向控制信号还可以不在一些或者所有的初始支路信道上提取。
制定了下列假设:
·接收器VCG已经被激活,即,已经设置了用于接收LPID的RX_SK_VCAT_EN和RX_SK_LCAS_EN位,而没有设置接收LPID的RX_SK_SW_EN位
·新支路信道与接收器VCG的类型相同
新支路信道未处于使用状态(即,置位了它们的RX_SK_SW_CFG_EN位),并且它们源于远端源节点。
软件执行下列操作以提供新支路信道:
1.检查利用这些作为支路的信道可以补偿差分延时。在VCAT方案文档中详细描述了其细节。
2.如下述这样配置每个新支路信道:
·将其RX_CH_LPID字段设置为分配至接收器VCG的接收LPID
·清除它的RX_CH_VCAT_ACCEPT位
·如果信道将要用于提取LCAS反向控制信息,那么将它的RX_CH_LCAS_RSV_EXT_SO_LPID字段设置为提供的值,并设置其RX_CH_LCAS_REV_EXT_EN位
3.通过清除它们的RX_CH_SW_CFG_EN位,将重置的新支路信道取出。因为没有任何一个具有在同步交换之前增加的负载,用于此的顺序是不重要的。
4.一直等待,直到差分延时补偿在包括新支路信道的接收器VCG上进行。这样可以通过观察所有的(不仅仅是新的)支路信道的RX_CH_VCAT_TD_STATE位进行确定。当所有的支路信道将此比特置位时,进行差分延时补偿。软件可以轮询这些位或者出于这样的目的利用它们相关的中断。
5.在不同的延时补偿之后,等待一个复帧(根据接收器VCG是低阶还是高阶决定持续时间)或者更长的时间以确保所有的信道至少处理一个LCAS控制包。
6.读取所有的新支路信道的RX_CH_LCAS_CTRL、RX_CH_VCAT_SQ以及RX_CH_LCAS_CRC_ERR字段。
因为在接收器侧之前,NMS在源侧完成新支路信道的供应,一旦在接收器侧获得差分延时补偿,接收器侧应该在所有的新支路信道上发现IDLE控制字。应该将这些信道的序列号设置为比由接收器节点VCG所使用的当前最大的序列高的值。
但是,因为正确的配置或者NMS或源侧的行为没有得到保证,所以软件应该检查IDLE是否正被作为控制字而接收,以及接收的序列号是否高于接收器VCG当前的最大值。如果发现任何错误,整个供应业务就会通过将所有的支路信道置为复位而被取消,并且NMS会被告以故障。
应该读取RX_CH_LCAS_CRC_ERR字段以确定控制字和序列号字段读取有效。发明人假定没有CRC错误,并且控制字和序列号是所期望的。
7.通过将一个写入其中,清除所有新支路信道的RX_CH_VCAT_SQ_CHG位
这个步骤是必要的,因为RX_CH_LCAS_CTRL_SQ字段的复位值为零。当Orion处理新支路信道上的第一控制包时,控制包中的序列号应该不同于零,从而置位RX_CH_VCAT_SQ_CHG。
此时,供应业务已经自视图的接收器VCG点成功地完成,并且可以将成功告知NMS。
3.4从VCG中解除供给支路信道
当想要从现有接收器VCG中去除供应支路信道时,NMS将下列配置参数指定给接收器节点:
·分配至该接收器VCG的接收LPID
·应该解除供给的接收信道的标识
制定下列假设:
·支路信道已经被提供有接收器VCG的支路,但是它们当前并未使用(即,接收IDLE作为控制字,其RX_CH_VCAT_ACCEPT位没有置位)
软件执行下列操作以去除提供新支路信道:
1.通过设置其RX_CH_SW_CFG_EN位,将新的支路信道置为复位状态。
此时,从视图的接收器VCG点已经成功完成解除供给业务,并且NMS可以被告以成功。
3.5增加VCG的带宽
假定远端源可以同步增加多个支路信道。因此,接收器侧将等待,直到在所有支路信道上发现ADD控制字,在为它们中的任何一个发送MST=OK之前,将在支路信道上增加ADD控制字。在此方式中,只有在发现所有支路信道上增加NORM/EOS后,接收器侧才会触发RS_ACK。
如果远端源能够仅仅在某一时刻增加一个支路信道,那么应该将该源的多个支路的增加分解为很多与各个接收器节点截然不同的业务。因为这仅仅是多个支路信道增加的特殊情况,所以这对于基于Orion的接收器不会产生任何差异。
当希望将新支路增加给接收器VCG时,NMS将下列配置参数指定给接收器节点:
·分配至本地接收器VCG的接收LPID
·增加的支路信道的标识
制定下列假设:
·支路信道已经被提供有接收器VCG的支路,但是它们当前并处于承载负载的使用状态(即,接收IDLE作为控制字,其RX_CH_VCAT_ACCEPT位没有置位)
软件执行下列操作以增加支路信道:
1.一直等待,直到每个将要增加的支路信道正接收ADD控制字,或者协议错误或超时发生。
因为发明人假定远端源节点同时增加所有的支路信道,所以在将MST=OK发送至其中任何一个之前,软件会等待接收所有支路信道上的ADD。
软件可以通过观察将要增加的支路信道的RX_CH_LCAS_CTRL字段,确定所有的信道何时接收ADD控制字。软件可以轮询这些字段或者出于这样的目的利用它们相关的中断。
如果在所有增加的支路信道上发现ADD控制字之前发生超时,软件会取消业务,并将故障报告给NMS。
在软件判断接收的控制字在增加的支路信道上是否发生变化时(通过轮询或者利用RX_CH_LCAS_CTRL_CHG中断),应该检查新值是否是ADD。同样,软件应该读取其接收的序列号,从而可以验证由源节点分配至所述支路信道的序列号的健全性。它们应该形成连续的序列,所述序列从比在本地接收器VCG上当前使用的最大的序列号更高的一个序列号开始。任何协议错误会导致业务取消和对NMS的故障报告。
2.对于每个增加的支路信道,置位其RX_CH_VCAT_ACCEPT位。
3.将在接收器VCG的TX_SK_LCAS_INS_MST字段中用于序列号的映射(shadow)MST位置位为OK,所述序列号对应增加的支路信道。
假定其他支路的映射MST位保持与激活的相同。
4.触发接收器VCG的TX_SK_LCAS_REV_SEL位。
5.一直等待,直到置位TX_SK_LCAS_REV_CHG_DONE位。
软件可以利用TX_SK_LCAS_REV_CHG_DONE中断或者为此轮询TX_SK_LCAS_REV_CHG_DONE位。
6.一直等待,直到增加的每个支路信道接收NORM/EOS控制字,或者协议错误或者超时发生。
因为,发明人假定远端源节点同时增加所有的新支路信道,发明人希望源同时开始在新支路接收信道上发送NORM/EOS。软件将会等待,直到在触发RS-ACK之前,其在所有的新支路信道上发现NORM/EOS控制。
在软件确定接收的控制字在增加的支路信道上发生变化时(通过轮询或者利用RX_CH_LCAS_CTRL_CHG中断),其应该根据信道是否具有最高序列号,检查新值是否是NORM或者EOS。
如果接收器在超时期间没有从所有支路信道中发现NORM/EOS,那么需要取消该业务。为了这样进行,软件应该清除所有增加的支路的RX_CH_VCAT_ACCEPT位。
假定,除了具有最高序列号的那一个,新的接收支路信道现在将接收NORM。具有最高序列号的那一个正接收EOS。它们的序列号将会与之前保持地一样。这也应被检查。
软件还应该检查以前具有最高序列号的支路接收信道的RX_CH_LCAS_CTRL字段现在是否置位为NORM。
不计之前的最后的支路,还应该假定用于现有支路接收信道(若有的话)的序列号和控制字没有发生变化。
如果在业务期间检测到协议错误,那么可能需要重置VCG,并告知NMS发生故障。
7.触发用于本地接收器VCG的TX_SK_LCAS_REV_SEL位的映射复制(copy)。
8.触发接收器VCG的TX_SK_LCAS_REV_SEL位。
9.一直等待,直到设置TX_SK_LCAS_REV_SEL_CHG_DONE位。
此时,业务自视图的本地接收器VCG点已经成功地完成,并且可以通知NMS。
3.6降低VCG带宽
发明人假定接收器侧没有得到来自NMS的请求就自动地响应源侧的清除请求(即,接收的控制字从NORM/EOS变为IDLE)。源侧在其接收到来自NMS的降低带宽请求时发送清除请求。在源侧得到来自接收器的正确确认时(即,在清除支路上接收MST=FAIL ,并且发现了RS_ACK触发),告知NMS,其接着可以要求接收器节点侧解除供给支路,如果需要的话。
尽管在本申请中没有明确地进行描述,但是可选地,即使信道在NORM/EOS状态下(即,源侧没有发起清除请求),NMS也可以要求接收器侧清除支路信道。在这种情况下,接收器侧可以表现出好像其从源侧接收了该信道上的IDLE,但是其不应该将RS_ACK信号发送给源侧。接着,如果希望,最好还是解除供给信道。
假定,远端源可以尝试同时清除多个信道,即,多个信道的控制字已在相同的复帧中变化为IDLE。接收器侧软件能够处理这种情况。
当软件在接收器VCG的支路信道上接收RX_CH_LCAS_CTRL_CHG中断时,其应该执行下列操作:
1.等待大约2K核心时钟(core clock)并读取VCG所有支路的RX_CH_LCAS_CTRL和RX_CH_VCAT_SQ号。
这样允许软件判断是否多于一个支路信道可以接收IDLE控制字。还允许核对协议错误。
根据正被清除的信道的序列号,可以改变余下支路接收信道的序列号和/或控制字。例如,如果正被清除的信道支路具有最高的序列号,那么具有下一个最高序列号的支路接收信道的控制字应该变为EOS。
2.对于接收IDLE控制字的每个支路信道,将与支路的之前的(即,在其开始接收IDLE之前)序列号有关的接收器VCG的TX_SK_LCAS_INS_MST字段中的比特置为FAIL。
3.触发接收器VCG的TX_SK_LCAS_REV_SEL位。
4.一直等待,直到设置TX_SK_LCAS_REV_CHG_DONE位。
5.触发用于本地接收器VCG的TX_SK_LCAS_INS_RS_ACK位的映射复制。
6.触发接收器VCG的TX_SK_LCAS_REV_SEL位。
7.一直等待,直到设置TX_SK_LCAS_REV_SEL_CHG_DONE位。
8.清除去除的支路信道的RX_CH_VCAT_ACCEPT位。
此时,业务自视图的本地接收器VCG点已经成功地完成,并且可以通知NMS。
3.7由于故障降低VCG带宽
接收器侧软件需要响应在使用中(即,NORM/EOS状态)的支路信道上检测到的故障。根据信道是否已知受到保护,考虑处理影响支路信道的错误(例如LOS、LOF、LOP、OOM),存在两种情况。
如果信道没有受到保护,软件执行下列操作:
1.清除故障信道的RX_CH_VCAT_ACCEPT位
2.将与接收器VCG的SK_LCAS_INS_MST字段中对应故障支路信道的映射MST位设置为FAIL
3.触发接收器VCG的TX_SK_LCAS_REV_SEL位;
4.一直等待,直到设置TX_SK_LCAS_REV_CHG_DONE位。
如果信道受到保护,软件应该等待恢复信道的定义周期(definedperiod)。如果这没有发生,软件应该为了未受保护信道而执行以上步骤。
在通过切换至保护信道或者通过故障信道恢复而恢复信道时,软件应该执行以下操作:
1.检查以此信道作为支路是否可以补偿差分延时
2.在差分延时补偿后,软件应该检测信道上的控制字是否为DNU
3.置位用于支路信道的RX_CH_VCAT_ACCEPT
4.将接收器VCG的TX_SK_LCAS_INS_MST字段中的对应支路信道的映射MST位设置为OK
5.触发接收器VCG的SK_LCAS_REV_SEL位
6.一直等待,直到设置TX_SK_LCAS_REV_SEL_CHG_DONE位。
3.8改变反向控制提取配置
当想要改变接收器VCG的支路信道的反向控制提取配置时,NMS为接收器节点侧指定下列操作参数:
·信道标识,其反向控制提取配置需要改变
·对于每个这样的信道,是否应该将LCAS反向控制信息从其中提取出来,且如果是,其应该应用至本地源VCG的发送LPID
制定下列假设:
信道已经被提供有使能接收器接VCG的LCAS支路。
软件执行下列操作以改变专用支路信道的反向控制提取配置:
1.如下所述这样配置每个新的支路信道:
如果信道将用于提取LCAS反向控制信息,那么将其RX_CH_LCAS_RSV_EXT_SO_LPID字段设置为提供的值并设置其RX_CH_LCAS_REV_EXT_EN位。否则,清除它的RX_CH_LCAS_REV_EXT_EN位。
4源侧方案
假设,是源节点软件而不是NMS管理发送序列号对发送VCG的支路发送信道的分配。
4.1产生VCG
当希望产生新的源VCG时,NMS将下列操作指定给源节点:
·将要用于源VCG的发送LPID
·VCG的信道类型
·发送信道的标识,如果存在,其应该在开始就作为该源VCG的支路而提供
·对于每个初始支路信道,如果存在,是否应该将LCAS反向控制信号***每个初始支路信道,且如果是,其应该应用于本地接收器VCG的接收LPID。可能不同的支路信道承载用于不同本地接收器VCG的反向控制信息。还可能反向控制信息没有***在一些或者所有的初始支路信道上。
制定下列假设:
发送端口LPID未处于使用状态(即,没有发送信道将其TX_CH_LPID字段置位给该LPID,所述发送信道未复位)
·如果存在初始支路信道,初始支路信道就与源VCG的类型相同
·如果存在初始支路信道,初始支路信道就并不处于使用状态(即,它们的TX_CH_SW_CFG_EN位被置位),并且它们被传送至远端接收器节点。
软件执行下列配置步骤以产生源VCG:
1.为分配给源VCG的发送LPID设置TX_SO_VCAT_EN和TX_SO_LCAS_EN位
如果任何发送信道被指定将在初始时提供至源VCG,那么剩余配置步骤应该与在将这些接收信道提供至现有源VCG时执行的步骤相同。
4.2删除VCG
发明人假定在删除源VCG之前,已经去解除供给了它的所有支路。源VCG实际上从观察点的硬件上删除。
4.3将新的支路信道提供进VCG
当希望将新的支路信道提供至现有源VCG时,NMS将下列配置参数指定给源节点:
·分配至该源VCG的发送LPID
·应该作为该源VCG的新支路提供的发送信道的标识
·对于每个新的支路信道,是否应该将LCAS反向控制信息***进去,且如果是,其应该应用于本地接收器VCG的接收LPID。可能不同的支路信道承载用于不同的本地接收器VCG的反向控制信息。还可能反向控制信息没有***在一些或者所有的新支路信道上。
制定下列假设:
·已经设置发送LPID的TX_SO_VCAT_EN和TX_SO_LCAS_EN位
·新的支路信道与源VCG的类型相同
·新的支路信道没有处于使用状态(即,它们的TX_CH_SW_CFG_EN位被置位),并且它们被传送至远端接收器节点。
软件执行下列操作以提供新的支路信道:
1.如下所述那样,配置每个新的支路信道:
·将它的TX_CH_LPID字段设置给分配至源VCG的发送LPID
·如果信道将要用于***LCAS反向控制信息,那么将它的TX_CH_LCAS_REV_INS_SK_LPID字段设置为提供的值并设置它的TX_CH_LCAS_REV_INS_EN位
2.通过清除它们的TX_CH_SW_CFG_EN位,使新的支路信道摆脱复位。因为在信号同步交换(handshake)之前它们中没有任何一个将使其负载增加,所以这样的顺序是不重要的。
应该注意,因为TX_CH_LCAS_CTRL的复位值是IDLE,所以并不需要将新的支路信道的TX_CH_LCAS_CTRL字段的映射复制设置为IDLE,以及不需要触发源VCG的TX_SO_LCAS_FWD_SEL位。
4.4从VCG中解除供给支路信道
当希望从现有源VCG中解除供给支路信道时,NMS将下列配置参数指定给源节点:
·分配给该源VCG的发送LPID
·应该被解除供给的发送信道的标识
制定下列假设:
·支路信道已经被提供了源VCG的支路,但是,它们当前并没有用于发送负载或者反向控制信息(即,它们的TX_CH_LCAS_CTRL字段的激活复制被设置为IDLE,而它们的TX_CH_LCAS_REV_INS_EN位没有得到设置)
软件执行下列操作以解除供给新的支路信道:
1.通过设置它们的TX_CH_SW_CFG_EN位,将新的支路信道置为复位状态。
此时,从视图的源VCG点解除供给业务已经成功地完成,并且可以告知NMS成功。
4.5增加VCG的带宽
假定,远端接收器可以同时增加多个支路。通过这样,我们打算一旦它在所有正被增加的所有支路信道上确认了增加命令,远端接收器将会触发RS_ACK。当增加多个支路时,源软件将会在相同的复帧中将所有正被增加的支路信道的控制字设置为ADD。
如果远端接收器在某一时刻仅仅能增加一个支路信道,那么源侧软件可以将需要增加多个支路的业务分解为多个单支路增加子业务。
通常,不一定知道远端接收器是否能够在某一时刻增加多个支路。可能来说,源可以在多个支路上同时发送ADD控制字,认为接收器将一起确认它们,但是远端接收器可以不这样做。所以,源侧软件应该能够处理多个RS_ACK触发。为了简洁,在本申请中不对这样的情况进行讨论。
当希望将新的支路添加至源VCG时,NMS将下列配置参数指定给源节点:
·分配至本地接收器VCG的接收LPID
·将要被添加的支路信道的标识
制定下列假设:
·支路信道已经被提供有源VCG的支路,但是它们当前没有用于承载负载(即,发送作为控制字的IDLE)
软件执行下列操作以增加支路信道:
1.将所有将被添加的支路信道的TX_CH_LCAS_CTRL字段设置为ADD
2.从一个比用于源VCG的当前最高序列号还高的序列号开始,将序列号分配给将要被增加的支路
3.将会被增加的每个支路信道的TX_CH_VCAT_PL_SQ和TX_CH_LCAS_OH_SQ设置给分配至它的序列号
4.触发源VCG的TX_SO_VCAT_FWD_DONE位
5.一直等待,直到设置源VCG的TX_SO_VCAT_FWD_CHG_DONE位
软件可以利用TX_SO_VCAT_FWD_CHG_DONE中断,或者为此轮询TX_SO_VCAT_FWD_CHG_DONE位。
6.一直等待,直到正增加的每个支路接收MST=OK状态或者超时发生
因为发明人假定,在触发RS_ACK之前,远端接收器将发送所有正增加的新支路的MST=OK,软件一直等待,直到其在所有支路信道上检测到MST=OK。
软件可以通过观察源VCG的RX_SO_LCAS_EXT_MST字段确定何时所有的信道正接收MST=OK状态。软件可以轮询这样的字段或者利用相关的RS_SO_LCAS_EXT_MST_CHG中断。在用于将被增加的给定支路信道的该字段中查询的位是基于分配给该信道的序列号。
如果在MST=OK状态在将增加的所有支路信道上检测到之前,发生超时,那么软件会取消业务,并将故障报告给NMS。为了取消业务,软件将把增加的所有支路的控制字设置为IDLE,并触发TX_SO_VCAT_FWD_SEL位。
7.将会增加的支路信道的TX_CH_LCAS_CTRL字段设置为NORM/EOS(EOS用于具有最高序列号的支路)
8.如果存在已经激活的支路,将之前具有最高序列的现有支路的TX_CH_LCAS_CTRL字段设置为NORM
9.触发源VCG的TX_SO_VCAT_FWD SEL
10.一直等待,直到设置源VCG的TX_SO_VCAT_FWD_CHG_DONE位
11.一直等待,直到耗尽用于本地VCG触发或者RS_ACK定时器的接收的RS_ACK值
此时,增加带宽业务已经自视图的源VCG点成功地完成,并且可以告知NMS成功。
4.6降低VCG的带宽
假定,远端接收器可以同时清除多个支路。通过这样,我们打算一旦它在所有正被清除的所有支路信道上确认了清除命令,远端接收器将会触发RS_ACK。当清除多个支路时,源软件将会在相同的复帧中将所有正被清除的支路信道的控制字设置为IDLE。
如果远端接收器在某一时刻仅仅能清除一个支路信道,那么源侧软件可以将需要清除多个支路的业务分解为多个单支路清除子业务。
通常,不一定知道远端接收器是否能够在某一时刻清除多个支路。可能来说,源可以在多个支路上同时发送IDLE控制字,认为接收器将一起确认它们,但是远程接收器可以不这样做。所以,源侧软件应该能够处理接收的多个RS_ACK触发。为了简洁,在本申请中不对这样的情况进行讨论。
当希望将新的支路添加至源VCG时,NMS将下列配置参数指定给源节点:
·分配至本地接收器VCG的接收LPID
·将要被清除的支路信道的标识
制定下列假设:
·支路信道已经被提供有源VCG的支路,并且承载负载(即,发送作为控制字的NORM/EOS)
软件执行下列操作以增加支路信道:
1.将所有将被清除的支路信道的TX_CH_LCAS_CTRL字段设置为IDLE
2.有必要将序列号重新分配给一些或全部剩余支路,使得它们维持从零开始的连续片段。如果这样,将这样的支路的TX_CH_LCAS_OH_SQ和TX_CH_VCAT_PL_SQ字段设置给新的序列号。对于具有最高序列的剩余支路,还可有必要将它的TX_CH_LCAS_CTRL字段值从NORM改变为EOS
3.触发源VCG的TX_SO_VCAT_FWD_DONE位
4.一直等待,直到设置源VCG的TX_SO_VCAT_FWD_CHG_DONE位
5.一直等待,直到正清除的每个支路处于接收MST=FAIL状态或者发生超时
因为发明人假定,在触发RS_ACK之前,远端接收器将为所有正清除的支路发送MST=FAIL,软件一直等待,直到其在所有支路信道上检测到MST=FAIL。
软件可以通过观察源VCG的RX_SO_LCAS_EXT_MST字段确定何时所有的信道处于接收MST=FAIL状态。软件可以轮询该字段或者利用相关的RS_SO_LCAS_EXT_MST_CHG中断。在用于将被增加的给定支路信道的该字段中查询的位是基于在清除产生效果之前分配至该信道的序列号。
6.一直等待,直到耗尽用于本地VCG触发或者RS_ACK定时器的接收的RS_ACK值。
此时,降低带宽业务已经自视图的源VCG点成功地完成,并且可以告知NMS成功。
4.7由于故障降低VCG带宽
当使用中(即,处于NORM/EOS状态)未受保护的支路信道发生故障时,接收器侧将会将MST=FAIL状态发送给源侧。当源侧检测到该状态信号时,其将执行下列操作:
1.将所有故障支路信道的TX_CH_LCAS_CTRL字段设置为DNU
2.如果发生故障的信道不是源VCG的最后支路,将具有比故障信道更高序列号的所有支路的TX_CH_VCAT_PL_SQ字段减少1
如果发生故障的信道是源VCG的最后支路,将具有下一最高序列的支路的TX_CH_LCAS_CTRL字段设置为EOS。
3.触发源VCG的TX_SO_VCAT_FWD_SEL位
4.一直等待,直到设置源VCG的TX_SO_VCAT_FWD_CHG_DONE位当发生故障的支路信道恢复时,接收器侧会将MST=OK状态发送给源侧。在源侧检测到该状态时,它将执行下列操作:
1.如果恢复的信道是最后的支路,将恢复的支路信道的TX_CH_LCAS_CTRL字段设置为EOS,并将具有下一个最高序列的支路的TX_CH_LCAS_CTRL字段设置为NORM。
否则,将恢复的支路信道的TX_CH_LCAS_CTRL字段设置为NORM。
2.如果恢复的信道不是最后的支路,将具有比该信道更高序列号的所有支路的TX_CH_VCAT_PL_SQ字段增加1。
3.触发源VCG的TX_SO_VCAT_FWD_SEL位。
4.一直等待,直到设置源VCG的TX_SO_VCAT_FWD_CHG_DONE位。
4.8改变反向控制***配置
当希望改变源VCG的支路信道的反向控制***配置时,NMS将下列配置参数指定给源节点:
·需要改变反向控制提取配置的信道的标识
·对于每个这样的信道,是否应该将LCAS反向控制信息***其中,且如果是,其应该应用至本地源VCG的接收LPID
制定下列假设:
·信道已经提供有LACS使能源VCG的支路
软件执行下列操作以改变特定支路信道的反向控制提取配置:
2.如下所述配置每个新支路信道:
如果信道将用于***LCAS反向控制信息,那么将它的TX_CH_LCAS_REV_INS_SK_LPID字段设置为提供的值并设置它的TX_CH_LCAS_REV_INS_EN位。否则,清空它的TX_CH_LCAS_REV_INS_EN位。
调整
参照图4A至4E,示出了根据本发明配置的接收信道的硬件***的简图。这些实施例示出了体现LCAS功能的接收信道,并且体现了本发明的各种新颖的实施例和功能。这些功能在以下将结合信道的调整、解序和属于本发明的其他功能进行详细描述。
参照图4A,示出了根据本发明配置的调整器的示例。***400包括接收信道中的高阶和低阶(HO/LO)、复帧指示(MFI)分析器,一起称为ANA。ANA将数据流发送至写管理器405,并具有多个先入/先出(FIFO)记忆存储电路,FIFO-A(406)、FIFO-B(408)...FIFO-N(410)。对于本领域的技术人员而言这样的配置众所周知。根据本发明,写管理器接收每个FIFO中的VCG的每个支路,并将数据写入多信道透明模块412。在一个实施例中,写管理器配置在静态随机存取存储器(SRAM)中,而多信道透明模块配置成动态随机存取存储器(DRAM)。然而,本领域的技术人员众所周知,可以使用不同的配置和不同类型的存储器和存储元件。根据本发明,读管理器414配置成将多信道透明模块的内容读进存储器存储装置中。与写管理器类似,读管理器配置有先入先出-A(416)、-B(418)...-N(420)。根据本发明,当虚拟级联组(VCG)的支路是完整的并在多信道透明模块412进行调整时,读管理器将多信道透明模块的内容读进其各自的FIFO存储中。一旦其得到调整,读管理器将调整后的VCG发送至解序器(de-sequencer)。在一个实施例中,读管理器配置在静态随机访问存储器(SRAM)中。本领域的技术人员应该理解存储器结构是灵活的,并且在不背离本发明的精神和范围的情况下,可以使用其他类型的存储器或结构,这在所附权利要求和其等价物中进行限定。
参照图4B,流程图示出了根据本发明的实施例的接收信道的一个操作。在步骤424中,接收输入VCG信道数据,例如,图4A中的ANA 402处。在步骤426中,检测LCAS包标识(LPID)以确定传输是否是VCAT传输。如果不是,那么将传输发送给POH,图4A中的422,并且进程返回至步骤424。如果LPID表明该传输是VCAT传输,处理进行至步骤430,其中数据存储在写管理器,图4A中405,其可以是SRAM。在步骤432中,写管理器写入MTC,图4A中的412,其可以是DRAM。在步骤434中,判断VCG的支路是否得到调整。如果它们没有被调整,那么处理返回至步骤424以接收进一步数据。在步骤434中,它们调整一次。以下将对实施例进行更详细地描述。接着,在步骤436中,读管理器读取VCG的支路。在步骤438中,数据被发送至解序器以进行进一步处理,并且在步骤440中,输出输出信号。
参照图4C,方块图象征性地示出了如何调整组中的支路。在步骤448中,接收输入信号,其中数据没有被调整或者不处于适当顺序。在步骤450中,执行调整,其中调整相应组,在该实施例中为一个组的两个支路。在步骤452中,对序列重新排序,从而调整了VCG的支路并顺次排列。
参照图4D,还以简图的形式示出了接收信道中调整处理的另一实例,当从接收信道角度考虑时,也认为是解调整(de-alignment)。在第一步骤442中,在多信道透明模块处从写管理器接收单独的信道A、B、C以及D。根据本发明的一个实施例,这些由读管理器开始读取,其中,将被及时接收的第一信道由读管理器读取,并且在载入(GO)状态设置MFI号。在读管理器中具有三种状态。GO状态是从写管理器到MCT的完全接收信道的状态,在其他的信道被完全接收和调整并因此也处于GO状态时,其准备好被读取。清空(DRAIN)状态是信道的状态,其中,在MCT中没有完全地接收整个信道数据,并且还需要接收进一步信息来完成。等待或者停止状态是在初始信道之前已经被接收的信道的状态,但是当设置MFI时,其已经经过了第一读信道,并且被设置为等待直到调整所有的信道。
如可以看到的那样,信道A处于GO状态,因为它是将要接收的第一信道。在此,设置MFI号。因为信道B后来被及时接收,并且并不完整,所以信道B被设置为清空状态。相反,信道C被提前接收,其中,其为完整的并在等待状态中设置以等待其他信道赶上以进行调整。信道D的情况类似,其也在等待状态设置。可以重置MFI以消除等待或者停止状态。然而,LCAS规范要求无中断操作,并且重置MFI会产生中断。因此,在优选实施例中,一旦接收组的第一信道支路,就设置MFI,并因此设置抵达的组中的后续的支路。
在下一步骤444中,信道通过所有它们的数据已经抵达的事实进行重新调整,并且将其设置为GO。在步骤446中,将所有信道A-D设置为GO状态,表示他们已经得到调整,处于GO状态,并准备从读管理器中读取。此后,读管理器整个地读取VCG。VCG接着被发送至排序器进行排序。
根据本发明,无论硬件的模块性是在单个管芯上还是在芯片集上实现,硬件的模块性都允许接收数据的调整独立于接收数据的序列。在随后的操作中,对接收信道的序列进行重新排序。这是在现有技术之上的改进,其中这些处理在一个单独的步骤中实现。因此,数据平稳抵达并且退出接收电路,而没有发生波动,这导致了退耦。在操作中,首先进行调整,一旦对其进行了调整,以时域复用顺序(time domain multiplex order)自存储器的日期中读取这些数据。操作比较稳定、冗长,其中每个间隙获得了一个时隙。所有的操作是预先设定好的。在配置中不存在突发业务流、异常数据突发或者不确定。每个信道获得了周期时隙,所以数据稳定地传输和流过。
这个与现有操作相反,现有操作中,在数据抵达并以相同顺序提取出时,存储数据。重新排序或者同步在数据块(chunk)中进行,导致有问题的突发业务流,并使用了多个存储器。这个的结构改变了传输模式,而且任意性非常复杂。根据本发明,周期的解决方案比较稳定,其中首先执行调整,基本上避免了任何突发业务流或者丢失数据。
参照图4E,流程图示出了根据本发明的设置MFI号的***。在步骤458中,信道数据由支路信道接收。在步骤460中,MFI号自信道中读取。在步骤462中,判断信道是否是自组中读取的第一信道。如果是,那么为该组设置MFI号。接着,在步骤484中,判断是否已经接收了所有的支路数据。如果没有,那么过程返回至步骤458,其中,当它们抵达时,写下进一步的支路信道。在步骤460中,来自信道的MFI进行读取,并且如果它不是第一信道,处理从步骤462推进至步骤470,其中将随后接收的信道的MFI与设置的MFI进行比较,MFI由确立的第一信道进行设置。在步骤472中,判断MFI是否大于设置的MFI。如果大于设置的MFI,那么状态在步骤474中被设置为等待。如果不是,或者在状态设置后,在步骤476中,判断MFI是否小于设置的MFI。如果答案是“是”,在步骤478中,认为在现有步骤其可能已知,在步骤478中将状态设置为“DRAIN”,并且过程进行至步骤480以判断其是否等于设置的MFI。如果等于设置的MFI,在步骤482中,过程将状态设置为GO,并且过程返回至步骤484以判断是否接收所有支路数据。此过程在围绕步骤458和后续步骤循环,直到所有信道被接收。回来参照图4D,其示出了如图4E中所述的MFI在信道被接收后如何设置状态。依然参照图4D,示出并描述了处理过程,图4E中示出了当每个信道被接收时如何对状态进行设置。当信道A首先及时抵达时,将其设置为GO状态,建立第一个MFI。在其他信道被接收后,例如信道B、C以及D,比较MFI以设置它们的状态。在图4D中,步骤444示出了因为信道A是第一个抵达的信道,故将其设置为GO状态。在可以读取并进一步处理组之前,所有的信道必须进行至GO状态。因为信道B没有被完全地接收,故将信道B设置为清空,并且信道C和D保持等待或者停止状态,直到信道B完成了它的传输。在步骤446中,一旦所有的信道数据从所有的信道A、B、C以及D中抵达,必须将它们设置为GO,并准备好由读管理器读取。
回来参照图4A,当所有的信道数据被设置为GO时,读管理器读取信道数据,接收FIFO 416、418以及其他FIFO中的每个信道的数据。实际上,读管理器可以重复地读取MCT 412中的位置,直到所有处于GO状态。一旦处于GO状态,读管理器完整地读取所有的数据。在操作中,当信道数据从ANA 402中抵达时,写管理器接收信道数据,并将其存储在MCT存储器存储装置中。在一个实施例中,写管理器是SRAM,而MCT是DRAM,读管理器也可以是SRAM。因此,写管理器和读管理器的尺寸与MCT相比可以小些,MCT可以是用于大量存储的DRAM。写管理器可以将大量的数据写入MCT,而不要求大量的存储器,同时接收多个信道的数据。MCT可以存储数据,直到其得到调整。一旦得到调整,读管理器可以自MCT中以时域复用方式读取数据。自读管理器的输出被发送至解序模块,其从而对信道数据进行重新排序。
5综述
在一个实施例中,在多个模块中分布着接收电路或者VCT_RX功能块的功能。在一个实施例中,模块包括配置(CFG)模块、日程表/故障/寄存器(CFR)模块、MFI分析器(ANA)模块、调整器写管理器(ALIG_WR)、调整器读管理器(ALIG_RD)、LCAS/VC控制器(LVC)以及负载解序器(DSQ)。在优选实施例中,和VCAT业务相比,非VCAT数据包业务沿着VCT_RS功能块中不同的路径传递。
配置(CFG)
5.1综述
CFG模块维持所有的全局配置和状态参数以及所有的中断状态参数。其将用于所有其他配置和状态寄存器的CPU请求指派给执行其的模块。CFG模块可以从单个CPU请求中产生出多个请求,以执行在其中组合多个模块参数的寄存器。
CFG模块实现由RX_VCT功能块中所有其他模块使用的间接存取方案。应该注意,这些模块中所有的配置和状态参数使用间接存取,而CFG功能块中的参数被直接地存取。间接存取方案与数据包功能块中使用的那种相同,即,其支持自动增加模型。
CFG模块负责生成中断总和状态和生成对Orion中顶级CPU模块的中断。
5.2接口
CFG模块连接至利用单独的点对点总线的VCT_RX功能块中的所有其他模块,所述总线传递CPU的配置或者状态读/写请求。注意,CFG模块本身维护一些配置和状态参数,包括所有的中断状态参数。
除了ALIG_WR模块之外,所有的模块利用单独的点对点中断总线,以将中断事件表示给CFG模块。ALIG_WR可以产生的唯一中断用于信道状态存储器上的奇偶校验误差(parity error)。其通过破坏受影响信道的读指针而将奇偶校验误差事件指示给ALIG_RD模块。ALIG_RD模块将来自ALIG_WR模块的奇偶校验误差事件与其自身信道级奇偶校验误差事件结合。因为ALIG_RD和LVC模块由相同的日程表驱动,所以CFG功能块可以排列中断,所述中断在来自其的相同时钟内发生(没有中断来自DSQ)。
5.3配置和状态参数
在一个实施例中,CFG模块维护下列参数:
·所有的全局配置参数
·所有的信道级中断使能配置参数
·所有的接收器端口级中断使能配置参数
·所有的源端口级中断使能配置参数
·所有的全局状态参数
·所有的全局中断状态参数
·所有的信道级中断状态参数
·所有的接收器端口级中断状态参数
·所有的源端口级中断状态参数
利用例如触发器(flop)、翻转电路(flip flop)或者其他存储器设备或者配置,如下所述执行这些参数:
·利用触发器执行全局参数
·利用触发器执行接收器端口级或者源端口级中断使能和中断状态参数
·利用存储器执行信道级中断使能和中断状态参数
根据代表硬件和软件处理的冲突算法(collision algorithm),处理在CFG功能块中维护的参数的软件和硬件之间的冲突。在一个实施例中,处理如下:
·如果用于配置参数的来自软件的写请求与来自硬件的读请求冲突,来自软件的值将由硬件使用
·如果用于全局状态或者中断状态参数的来自软件的写请求与来自硬件的读请求冲突,来自硬件的值将被传输给软件。
5.3.1全局配置
根据组的尺寸,配置VCAT DRAM。这些参数是静态的。当VCAT_RX功能块没有处于复位状态时(或者当任何VCAT使能信道没有处于复位状态时),它们不应该被改变。
计数器被配置成进入/退出OOM以及进入LOM。命令以RX_VCAT_HO_OOM1_IN、RX_VCAT_HO_OOM1_OUT、RX_VCAT_LO_OOM1_IN以及RX_VCAT_LO_OOM1_OUT等形式出现。这些参数也是静态的,并且当VCAT_RX功能块没有处于复位状态时(或者当任何VCAT使能信道没有处于复位状态时),它们不应该被改变。
其他计数器用于设置和清除LCAS持续CRC告警(DCRC)。
它们的形式为RX_LCAS_DCRC_N1、RX_LCAS_DCRC_K1等。类似得,它们的参数是静态的,并且当VCAT_RX功能块没有处于复位状态时(或者当任何VCAT使能信道没有处于复位状态时),它们不应该被改变。
MFI捕获(capture)配置成捕获每个信道的MFI值。命令的形式为RX_VCAT_MFI_CAP_CHAN1、...RX_VCAT_MFI_CAP_CHAN(n)以及RX_VCAT_MFI_CAP_DONE_INT_EN。
组标识类似地被捕获。命令可以是以下形式:RX_LCAS_GID_CAP_PORT、RX_LCAS_GID_CAP_DONE_INT_EN等。
DRAM FIFO级测量根据适当的阈值配置在信道的软件中。命令的形式可以是RX_VCAT_DRAM_FIFO_LVL_CAP_CHAN、RX_VCAT_DRAM_FIFO_LVL_THSLD、RX_VCAT_DRAM_FIFO_LVL_CAP_DONE_INT_EN、RX_VCAT_DRAM_FIFO_BELOW_THSLD-CHG_INT_EN或者其他类似的形式。
中断总和使能可配置在各种环境和应用程序中。例如,中断使能位可以配置成位于STS级(48位寄存器)的中断总和状态位。它们还可以配置成位于VT级(48×28位寄存器)的中断总和状态位。它们还可以配置成位于端口级(128位寄存器)处的中断总和状态位、所有信道的中断总和状态位、或/和所有端口的中断使能位、中断总和状态位。本领域的技术人员应该理解各种中断配置使能不同的应用程序。
DRAM可以配置成利用中断使能读取请求FIFO溢出。命令形式可以为RX_VCAT_DRAM_RD_WR_FIFO_OVFL_CNT_CHG_INT_EN。
同样,DRAM可以配置成使能写入未准备好(静态的)错误中断使能,其形式可以为RX_VCAT_DRAM_WR_NOT_RDY_ERR_INT_EN。类似地,DRAM可以配置成读取未准备好(静态的)错误中断使能,其形式可以为RX_VCAT_DRAM_RD_NOT_RDY_ERR_INT_EN。
5.3.2信道级中断使能配置
信道中断使能配置参数可以组合进存储器的双重端口中,例如1344×12双重端口存储器。这可由高阶和低阶信道共享。一个实例是下表,其示出了该存储器中的条目的结构:
Figure GSB00000798550500481
在优选实施例中,硬件没有禁止来自信道的中断,所述信道在具有奇偶校验差错的存储器中具有条目。
5.3.3接收器端口级中断使能配置
下表示出了接收器端口中断使能配置参数:
注意,因为接收器端口级配置和状态参数在触发器中实现,所以在接收器端口级中没有配置或者控制奇偶校验。
5.3.4源端口级中断使能配置
下表示出了源端口级使能配置参数:
  参数   尺寸   静态   初始化后的值
  RX_SO_LCAS_MST_CHG_INT_EN   1   N   0
  RX_SO_LCAS_RS_ACK_CHG_INT_EN   1   N   0
注意,因为源端口没有配置参数或者状态变量,所以在源端口级处没有配置或者控制奇偶校验中断使能。
5.3.5全局状态
全局状态可以包括MFI捕获状态、DRAM-FIFO级测量状态、中断总和状态,包括下列参数:DRAM读请求FIFO溢出、DRAM写未准备错误以及其他状态信息。一些实例如下:
MFI捕获状态:
○RX_VCAT_CHAN1_MFI
○RX_VCAT_CHAN2_MFI
○RX_VCAT_MFI_CAP_DONE
DRAM-FIFO级测量状态:
○RX_VCAT_DRAM_FIFO_LVL
○RX_VCAT_DRAM_FIFO_LVL_CAP_DONE
○RX_VCAT_DRAM_FIFO_LVL_BLW_THSLD_CHG
中断总和状态:
ο在STS级的中断总和状态比特(在2个寄存器中)
ο在VT级的中断总和状态比特(在48个寄存器中)
ο在端口级的中断总和状态比特(在4个寄存器中)
ο所有信道的中断总和状态比特(在STS级)
ο所有端口的中断总和状态比特
DRAM读要求FIFO溢出:
○RX_VCAT_DRAM_RD_REQ_FIFO_OVFL_CNT
○RX_VCAT_DRAM_RD_REQ_FIFO_OVFL_CNT_CHG
DRAM写未准备错误:
○RX_VCAT_DRAM_WR_NOT_RDY_ERR
下列全局中断状态位可以组合进一个寄存器中:
●RX_VCAT_MFI_CAP_DONE
●RX_VCAT_DRAM_FIFO_LYL_CAP_DONE
●RX_VCAT_DRAM__FIFO_LVL_BLW_THSLD_CHG
●RX_VCAT_DRAM_RD_REQ_FIFO_OVFL_CNT_CHG
●RX_VCAT_DRAM_WR_NOT_RDY_ERR
●所有信道的中断总和状态比特
●所有端口的中断总和状态比特
5.3.6信道级中断状态
除了RX_CH_VCAT_FAIL_STICKY_STICKY,所有的信道中断参数可以组合进双重端口1344×12存储器中,其由高阶和低阶信道共享。下表示出了该存储器配置中条目结构的实例:
Figure GSB00000798550500511
可选地,当RX_CH_VCAT_MFI_EN被设置为零时,可以复位这些位。
同样,对于承载扩展信号标签(lable)的低阶信道,这样的参数可以有效。硬件可以不配置成检测在提取扩展信号标签时,是否使用了表示扩展信号标签的V5位。同样,这样的存储器可以不通过奇偶校验进行保护。
5.3.7接收器端口级中断状态
以下为接收器端口中断状态参数的实例,其中命令是RX_SK_VCAT_RBID_CHG_DONE,大小为1比特,并且是初始化或接收器端口复位后的值为0。如果所有的接收器端口级配置和状态参数在触发器中实现,在接收器端口级上将没有配置或者控制奇偶校验。
5.3.8源端口级中断状态
源端口级中断状态参数的实例为RX_SO_LCAS_MST_CHG和RX_SO_LCAS_RS_ACK_CHG,其中,每个大小为1比特,在初始化之后具有的值为零。如果没有源端口的状态变量或配置参数,那么在源端口级处可以不具有配置或者控制奇偶校验差错中断状态位。同样,如果没有源端口级复位,这些状态变量必须一直由软件写为1以清除。
5.4中断总和产生
中断状态总和可以在几个级别上产生。例如,可以存在相关于STS-1的所有中断状态参数的总和。注意,如果STS-1是VT映射的,则此和覆盖该STS中的所有VT信道的中断状态参数。STS中断总和比特保存在48个触发器中。
还可以具有与VT信道相关的所有中断状态参数的总和。VT总位由STS进行组织并保持在48×28个的触发器中。如果STS信道不是VT映射的,那么对应于该STS的VT信道的总和状态位将被清除触发器。
还可以具有与接收器端口有关的所有中断状态参数的总和。注意,这些中断参数只有在接收器端口是VCAT使能时才有意义。接收器端口中断总位将保持在128个触发器中。
此外,还可以具有与源端口有关的所有中断状态参数的总和。注意,这些中断参数仅仅在接收器端口是LCAS使能时才有意义。源端口中断总位将保持在128个触发器中。
当复位信道时,CFG清除该信道的中断状态位。它不直接地清除与该信道有关的总中断位。在接收器端口被复位时,CFG清除该接收器端口的中断状态位。其不直接地清除与该接收器端口有关的总中断位。不存在清除源端口级中断状态位的源端口复位。软件需要将1写入RX_SO_LCAS_MST_CHG和RX_SOL_LCAS_RS_ACK_CHG中断状态位以将其清除。如果没有设置特定中断状态位的中断使能配置位,那么该中断状态位对于总和没有贡献。
5.4.1信道中断总和产生
CFG模块配置成处理来自两个独立源的同时的信道中断,例如,来自ANA和ALIG_RD/LVC。为了处理这种情况,CFG可以配置成将两个独立双重端口存储器用于来自ANA和ALGN_RD/LVC的信道级中断状态参数。为了执行中断总和,CFG模块可以持续地读取信道中断状态存储器和接收器以及源端口中断状态寄存器。信道中断总和产生过程和CPU共享双重端口存储器上的端口,其中,CPU存取给定的奇偶校验。
6日程表故障寄存器模块(CFR)
6.1综述
CFR模块可以具有多种功能。例如,其可以具有下列功能:第一,存储所有的信道级配置。同样,基于分配给VCAT的整个DRAM、信道类型以及DRAM诊断模式,计算分配给信道的DRAM空间的开始和结束地址。此外,其还可以基于信道结构配置,配置成产生用于整个VCT_RX功能块的内部自由运行的日程表(1x、2x、56x以及62x)。还可以将其配置成将信道配置和故障/复位状态随同日程表信息一起分配给其他的模块。而且,其还可以配置成用于VCAT调整故障处理。日程表产生、DRAM空间位置以及故障处理功能在“VCT_Aligner”文档中进行描述。
6.2接口
CFR模块连接至ANA、ALIG_WR、ALIG_RD以及CFG模块。参见针对接口信号的“vct_rx_cfr”微结构文档。
6.2.1ANA的接口
对于ANA,ANA的接口最初用于获取信道配置信息。但是来自ANA的对结构要求的响应除了配置参数外还包括信道失败位(fail bit)。
ANA模块不处理来自CFR模块的信道失败指示。它仅仅将这个信号发送给ALIG_WR模块,该模块利用该信号来判断是否应该将数据写入相关信道的分段(staging)FIFO中,并且判断是否应该破坏相关信道的写指针。注意,信道失败条件可以存在,即使ANA模块没有报告信道上的告警。
CFR将作为配置响应的一部分的CH_CFG_PRTY_ERR条件发送给ANA。尽管这不是ANA功能的要求,但是ANA将这样的位存储在它的状态存储器中。当其检测到变化时,将产生CFG中断。
6.2.2ALIG_WR的接口
ALIG_WR的CFR接口具有依赖于1x和2x日程表两个独立信号组:
·CFR的基于2x日程表的信号组,用于将当前日程表循环中的信道的TID和它的失败情况传递给ALIG_WR,其利用他们将数据从分段的FIFO中将数据移至主FIFO中;以及
·CFR的基于62x日程表的信号组,用于将当前日程表循环中的信道的TID、它的失败情况和在DRAM中分配给它的空间的开始和结束的地址传递给ALIG_WR,其利用他们将数据从主FIFO中移至DRAM。
6.2.3ALIG_RD的接口
在一个实施例中,ALIG_RD的CFR接口具有5个独立的信号组,这些信号中的四个可以基于56x、62x以及1x日程表。
CFR的一个基于56x日程表的信号组用于将当前日程表循环中的信道的TID、它的失败情况和在DRAM中分配给它的空间的开始和结束的地址传递给ALIG_WR,其利用他们将数据从DRAM中移至信道的主要FIFO,并复位信道的主要FIFO。
CFR的另一个基于2x日程表的信号组用于将当前日程表循环中的信道的TID和它的复位和失败情况传递给ALIG_WR,其利用他们将数据从信道的主FIFO中移至信道的分段FIFO中,并复位信道的分段FIFO。
CFR的再一个基于1x日程表的信号组用于将当前日程表循环中的信道的TID、它的复位和失败情况、它的配置、它的类型、它作为支路所属的VCG的复位状态、它的配置存储器条目的奇偶校验状态、以及当前的日程表产生计数器传递给ALIG_WR,其利用他们将数据从信道的分段运输的FIFO中移至LVC中,并复位其维持的信道和VCG状态。
利用1x日程表传递的信道配置数据可以包括不仅仅由ALGI_RD需要还被下行流LVC和DSQ模块所需要的数据。信道类型和日程表产生计数器由ALIG_RD和DSQ使用。
又一个信号组可以基于用于ALIG_WR的1x日程表,从而将当前日程表循环中的信道的TID、它的DRAM溢出错误或者告警检测状态传输给CFR,其利用它们来更新信道和VCG失败状态。其他的信号组不可以基于日程表,但是可以由ALIG_RD所使用,从而从CFR获得信道的失败状态。
在CFR和CFG之间的交互中,CFG访问CFR以读取和写入信道配置。CFR配置成将中断事件发送至CFG。
6.3配置
CFR模块维护所有每信道配置参数和STS信道结构配置参数。不计重排序缓冲器标识(RX_SK_VCAT_RBID0/1),其维护所有的接收器端口级配置参数。配置信息随同1x日程表一起管道传送至需要它的功能块中。
6.3.1STS信道接口配置
STS信道结构配置寄存器利用48×9的触发器实现。
  参数   尺寸   静态   初始化后的值1
  RX_CH_STS_VT   1   Y1   0
  RX_CH_STS_VC4   1   Y1   0
  RX_CH_STS_VTG_TYPES   7   Y1   0
注意1:在某种意义上信道结构配置参数是静态的,在受变化影响的任何当前信道摆脱复位状态时,它们不应该发生变化。同样,VCT_RX功能块中的这些参数的变化应该与SONET/SDH接收功能块中的响应配置一致地进行。
6.3.2信道级配置
因为ANA模块需要关于自由运行的1x日程表异步访问配置信息,该日程表驱动其他模块,所以由ANA所要求的配置信息在单独的双重端口存储器中进行复制。当软件更新这些参数时,也更新了两个存储器。当软件读取它们时,获得由1x日程表所使用的存储器中的值。
6.3.2.11x日程表存取的信道配置的存储器
将所有的信道级配置参数组合进1344×25双重端口存储器中,其由高阶和低阶信道所共享。下表示出了该存储器中的条目的结构:
  参数   尺寸   静态   初始化后的值
  RX_CH_SW_CFG_EN   1   N/A   1
  RX_CH_VCAT_MFI_EN   1   N3   1
  RX_CH_SK_LPID   7   Y   01
  RX_CH_VCAT_ACCEPTED   1   N   02
  RX_CH_LCAS_REV_EXT_EN   1   N   0
  RX_CH_LCAS_REV_EXT_SO_LPID   7   N   01
  RX_CH_NL_VCAT_EXP_SQ   6   N   01
  奇校验   1   N/A   1
注意1:这些参数不需要具有用于操作目的的初始值,然而,对于奇偶校验保护,它们设置为0。
注意2:在操作循环期间,在信道摆脱复位状态之前,如果信道属于LCAS使能的VCG,那么应该将RX_CH_VCAT_ACCEPTED参数设置为零。
注意3:RX_CH_VCAT_MFI_EN独立于RX_CH_SW_CFG_EN而使用。参见7.4章节中的讨论。
6.3.2.2ANA存取的信道配置的存储器
ANA所要求的下列配置参数组合进1344×10双重端口存储器中,其由高阶和低阶信道所共享。下表示出了该存储器中的条目结构:
  参数   尺寸   静态   初始化后的值
  RX_CH_SW_CFG_EN   1   N/A   1
  RX_CH_VCAT_MFI_EN   1   N2   1
  RX_CH_SK_LPID   7   Y   01
  奇校验   1   N/A   1
注意1:出于操作目的,这样的参数不需要具有初始值。然而,对于奇偶校验保护,将它们设置为零。
6.3.3接收器端口级配置
利用128×4触发器实现下列接收器端口配置参数:
注意1:当存在映射至该端口的摆脱复位状态的信道或者当没有设置RX_SK_SW_CFG_EN时,不应该改变RX_SK_VC_EN和RX_SK_LCAS_EN配置参数。
6.4状态
将信道配置存储器中的奇偶校验误差传送给ALIG_RD模块,其将它们存储在自身的信道状态存储器中。这样就避免了需要在该模块中具有状态存储器。
因为状态参数需要由CFR功能块中的所有三个日程表进行存取,所以利用1344个触发器,RX_CH_VCAT_FAIL_STICKY状态参数在CFR功能块中实现。
  参数   尺寸   初始化后的值
  RX_CH_VCAT_FAIL_STICKY   1   0
注意,在某种意义上,RX_CH_VCAT_FAIL_STICKY不是典型的状态参数,其不是故障的活跃状态。它更可能是中断参数,某种意义上,其是锁存的值,但是,在软件中也需要向其写入1将其清除。然而,其不完全象其它中断状态参数,因为它不产生也不中断,并且因而不具有相关的中断使能参数。这是有意图的,因为故障的主要原因将产生中断。
6.5状况
CFR模块利用触发器维护信道和VCG的故障状态。同样,CFR模块维持用于每个信道的计数器,从而清除它们的故障/复位状态,以确保对于所有模块,信道故障/复位维持地足够长以能够被检测到。这些计数器利用1344×7双重端口存储器(没有奇偶校验保护)实现。更加详细的情况参见“vct_rx_cfr”微结构文档。
6.6中断事件
CFR对CFG产生下列中断事件:
●RX_CH_CFG_PRTY_ERR_CHG
6.7日程表产生
日程表产生是基于STS信道结构配置和四个内部计数器。参见“VCT_Aligner”构架和“vct_rx_cfr”微构架。
6.8故障处理
参见“VCT_Aligner”构架和“vct_rx_cfr”。
7MFI分析器(ANA)
7.1综述
参见图5,示出了MFI分析器的实施例。ANA 502与交叉连接(CXC)504、解序器506、调整写入器(align writer)508、输入帧模块(IFR)510、配置模块(CFG)512以及CFR514连接。ANA还包括信道(CH)状况/状态存储器和非VCAT信道数据存储器。在一个实施例中,ANA执行下列功能:
·基于存储在CFR模块中的配置,将VCAT数据包业务从非VCAT数据包业务中划分出来
·在VCAT信道上,在将其发送至ALIG_WR之前,除了用于VCAT/LCAS的H4/K4字节外,去除所有的开销和填充字节(stuff byte)
·在非VCAT数据包信道上,在将其写入内部数据缓冲器之前,去除所有的开销和填充字节
·对于VCAT信道,执行基于存储在CFG模块中的全局编程的匹配和不匹配计数器的MFI锁定(lock)状态机
·将在VCAT信道上表示的CXC告警与调整的MFI损失相结合,以将单个告警条件表示给ALIG_WR模块
·与数据字节一起,将信道的当前MFI值提供给ALIG_WR模块(当信道没有处于告警条件时)
·将每个信道上的MFI锁定状态提供给软件
·在CFG功能块要求时,捕获VCAT信道对上的MFI值的瞬像(snapshot)
·提取低阶信道的扩展信号标签
在将其发送给IFR之前,将来自DSQ的VCAT数据包业务与非VCAT数据包业务合并。
7.2CFR的接口
当ANA模块从给定信道的CXC获得有效请求时,其向CFR要求该信道的配置。信道通过基于信道ID和来自CXC的信号类型的11位ana_cfr_tid信号进行识别。用于信道的由CFR返回的配置信息包括下列内容:
·在该信道上是否使能MFI分析(RX_CH_MFI_EN)
·在VCT_RX功能块的其余部分,信道是否处于复位状态(RX_CH_SW_CFG_EN)
·信道是否与VCAT使能逻辑端口有关联
如下所示,ana_cfr_tid信号来自于CXC信号:
注意,ana_cfr_tid总是基于cxc_vct_rx_sts_master设置。使用了用于承载非VCAT数据的VC4-Nc连续级联组(其中,N>=2)、单信道配置条目的这种方法。
CFR将CH_CFG_PRTY_ERR条件作为配置响应的一部分传送给ANA。尽管这不是ANA所要求的功能,但是ANA将这样的位存储在其状态存储器中。当其检测到变化发生时,将产生CFG的中断。
7.3ALIG_WR的接口
如果来自CFR的配置结果表明信道属于VCG,那么ANA将产生对ALIG_WR的请求。
ana_alig_wr_alm是ANA从该信道的CXC获得的告警信号和该信道的OOM1/2状态的结合。
如下所示,ana_alig_wr_alm信号来自于CXC信号:
Figure GSB00000798550500602
如下所示,ana_alig_wr_sof信号来自于CXC信号:
Figure GSB00000798550500611
ana_alig_wr_ch_ctrl_prty_err和ana_alig_wr_mfi信号分别基于当前MFI字段值和奇偶校验误差位,并是由ana_alig_wr_tid信号的值索引的位置的状态存储器条目。
7.4信道MFI使能对比信道复位
信道MFI使能操作独立于信道复位操作进行。信道复位不影响ANA模块的MFI捕获功能和MFI状态机。只是MFI使能控制这些功能。ANA模块利用信道复位来判断是否应该使得数据通过。
即使在信道处于复位状态时,如果MFI分析被使能,ANA处理MFI信息并执行MFI捕获功能。这样的模式对于测量可发生在现有VCG上的差分延时变化是有利的,因为新信道附加,而实际没有影响该VCG上数据流。这将在章节7.8中详细描述。
在信道没有处于复位状态时,可以禁止MFI分析。这样的情况不会在正常操作中使用。这对于验证期间快速锁定操作有利。在这样的模式下,因为OOM/LOM状态位设置为缺省(即,当MFI使能没有被设置时),ANA将最初就把告警条件指示给ALIG_WR管理器。对于快速锁定操作,当工作台(bench)检测应该使用的第一H4/K4字节时,其以后门(back-door)写入设置RX_CH_MFI_EN。
如果复位了信道,无论是否设置了RX_VCAT_MFI_EN,ANA不将任何请求发送给ALIG_WR,或者不将任何数据写入非VCAT数据缓冲器。
如果在信道上检测到控制奇偶校验误差,注意,需要触发RX_VCAT_MFI_EN和RX_CH_SW_CFG_EN位。这是因为奇偶校验误差的源可以在ANA的状态存储器中或者其他模块的状态存储器中。
7.5CFG的接口
出于下列目的,ANA模块连接至CFG模块:
·为了发送中断事件(即,信道的OOM1/2、LOM或CFG_PRTY_ERR状态已经变化)
·为了获得MFI锁定状态机使用的全局配置参数
·为了提供对存储在ANA模块中的信道MFI锁定状态的访问
·为了接收MFI捕获请求以及发送捕获值。
7.5.1信道状态
LVC向CFG提供下列信道状态信息:
●RX_CH_VCAT_OOM1
●RX_CH_VCAT_OOM2
●RX_CH_VCAT_LOM
●RX_CH_ACC_ESL(仅仅用于低阶信道)
●RX_CH_CFG_PRTY_ERR
注意,即使ANA不具有任何信道级配置,它也获得用于CFG的信道配置存储器的奇偶校验误差情况,并将其存储在它的状况和代表CFR的状态存储器中。如以下所示,当存在变化时,其还产生中断。
尽管ANA的信道状况存储器受到保护,ANA没有提供控制奇偶校验误差状态或者为其产生中断。相反,它将信道控制奇偶校验条件传送给ALGI_WR,ALIG_WR将其传送给ALIG_RD,接着提供信道控制奇偶校验误差状态并产生中断。
7.5.2中断
为下列事件,LVC产生对于CFG的信道中断状态设置请求:
●RX_CH_VCAT_OOM1_CHG
●RX_CH_VCAT_OOM2_CHG
●RX_CH_VCAT_LOM_CHG
●RX_CH_ACC_ESL_CHG(仅仅用于低阶信道)
●RX_CH_CFG_PRTY_ERR_CHG
7.6DSQ的接口
ANA模块从DSQ中获得VCAT数据,以将其与IFR之前的非VCAT数据进行合并。自DSQ的接口包括ANA用来从非VCAT信道的内部数据缓冲器中获得数据的dsq_ana_tid信号。
7.7MFI锁定状态机
参照“vct_mfi_ana_uarch”文献。
注意,当不处于LOM时,ANA将期望的MFI值而不是在H4/K4字节中接收的值传送给ALIG_WR。
7.8MFI捕获
7.8.1差分延时测量
在供应期间,给定为VCAT分配的DRAM容量,需要判断VCG的备选支路信道之间的差分延时是否可以被支持。Orion提供一种机制,该机制简短描述两个信道的MFI值。通过这样做,对于所有合适的支路对结合,软件可以决定VCG中最大的差分延时。
在新的信道将被增加至给定的LCAS VCG时,期望确定最大的差分延时,该最大差分延时将会在VCG上实践,而不会实际地将信道和该VCG进行关联。这样做可以影响该VCG上的数据流(至少潜在地引起了停止)。如果未使用的接收逻辑端口有效,当其摆脱复位状态以避免该事件时,这样的信道可以首先被映射至这样的端口。然而,这不是一直行得通的。
这个问题的解决方案在于使RX_CH_VCAT_MFI_EN位独立于RX_CH_SW_CFG_EN位。ANA将RX_CH_VCAT_MFI_EN用作所有基于MFI分析的功能的复位位(包括扩展信号标签提取)。其将RX_CH_SW_CFG_EN位作为复位位,仅仅用于开销/填充删改(pruning)、数据分离以及数据合并功能。
利用该方案,当在将要被增加至VCG的信道上进行差分延时测量时,仅有该VCG的RX_CH_VCAT_MFI_EN位被初始地设置。一旦进行延时测量并且可以将该信道增加至实际的VCG,可以清除RX_CH_VCAT_SW_CFG_EN位。
7.8.2接口和操作
当软件写入CFG模块中的全局RX_VCAT_MFI_CAP_CHAN1/2寄存器时,CFG模块将会把MFI捕获请求与两个信道的标识一起发送给ANA模块。作为响应,ANA读取MFI值,其具有用于基于CXC请求的两个信道的况存储器,并将执行信号与其读取的值一起发送给CFG。
当响应于具有存储在状况存储器中的两个信道的MFI值的CFG模块时,MFI分析器不检查信道是否处于MFI锁定状态。软件检查在产生捕获请求之前信道是否处于MFI锁定状态。然而,如果信道经过ANA获得请求的时间后摆脱了MFI锁定,MFI值可以不为有效。由软件来确保在捕获发生之后没有锁定的MFI损失出现。
注意,MFI分析器不检查信道是否是MFI使能的或者它们是否是VCAT信道。如果软件试图在这样的信道上执行捕获,其将获得无用数据。
当先前的一个在运行中时,软件不可能足够快地产生对于CFG的写请求以发送ANA捕获请求。所以ANA不需要担心这种情况的发生。
7.9扩展信号标签提取
在低阶信道上,ANA从自K4字节的第一位构成的32位帧(基于12位MFAS模式进行调整)中提取扩展信号标签。如果在一排信道中三次接收了相同的值,ANA将这样的值作为接收的扩展信号标签写进该信道的状态存储器条目中。
在给定信道上的扩展信号标签提取明显地依赖于该信道的OMM1状态。当信道处于OOM1状态时,ANA不执行提取。
当处于IM1状态时,ANA基于MFI1计数器确认K4字节是否承载ESL位(即,必须在11和18之间)。
7.10配置
ANA模块不具有其自身的任何配置参数。
7.11状况
7.11.1公共状况
当等待CXC日程表寻获第二信道时,响应于MFI捕获请求的自信道状况存储器中读取的第一MFI值需要存储在公共寄存器中。
7.11.2信道状况
信道状况参数组合在1344×45双重端口存储器中。由CXC请求驱动对它的写和读访问。
一些状况参数仅仅适用于低阶信道。因此,根据条目是用于高阶信道还是低阶信道,在信道状态存储器中具有两种不同的词条。
存储在该存储器中的RX_CH_CFG_PARITY_ERR_COPY位不是ANA使用的真正的状态参数。当软件清除RX_CH_VCAT_MFI_EN时,复位所有的其他状态位时,当设置RX_CH_SW_CFG_EN,该位被复位。
7.11.3信道状态存储器条目的高阶视图
下表示出了在该存储器中的条目结构:
Figure GSB00000798550500661
7.11.4信道状态存储器条目的低阶视图
Figure GSB00000798550500662
7.12状态
因为状态参数是全局的,所以与MFI捕获有关的状态参数保持在CFG功能块中。
信道状态参数组合在1344×12双重端口存储器中。
Figure GSB00000798550500671
注意1:该参数仅仅适用于低阶信道。同样,如果信道处于OOM1状态,它的值将不会有效。
7.13非VCAT信道数据缓冲器
非VCAT信道数据缓冲器利用两个存储器来执行。第一个是1344×8双重端口存储器,除VC4外,其在低阶信道和高阶信道之间共享。第二个是256×8双重端口存储器,其由VC4信道使用。
因为其使实现用于VC 4-Nc应用程序的FIFO意图比较容易,所以将单独的存储器用于VC 4信道。单个FIFO意图被要求用于VC 4-Nc(N>=2)情况,以支持接收帧在4Xoc-3/12模型中配置的场合。在这种情况下,CXC将为VCT_RX功能块以交错的方式呈现在不同帧上接收的字节。然而,用于VCT_RX以从ANA中获取非VCAT数据的1x日程表假定VC 4信道好像被交错在OC-48线路上。不为给定VC 4-Nc使用单个FIFO,当CXC在用于该VC 4-Nc的时隙(即,空闲时隙)期间不提供字节时,这可以使数据顺序被破坏。
VC 4信道的存储器用于执行16个FIFO,每个FIFO16字节长,以处理所有可能的VC 4-Nc组合(包括N=1,以便不产生特殊情况)。
写入两个存储器由CXC请求驱动。对于与VC 4信道有关的高阶时隙(即,来自CXX的sts_vt=0、sts_vc4=1),ANA利用VC 4缓冲存储器。CXC表示VC 4-Nc(N>=1)中从STS的主STS信道ID。ANA可以利用其来确定写数据到哪个VC 4FIFO。
DSQ驱动自缓冲存储器中的读取,其由1x日程表依次地驱动。对于与VC 4信道相关的时隙,ANA不能判断哪个FIFO用在由SDQ提供的TID的VC 4缓冲存储器中。ANA清楚CXC提供的信息以对此进行判断。ANA存储用于VC 4的一个比特以表明VC 4是从VC 4-Nc还是主VC 4-Nc。对于从VC 4,主VC 4的ID可以从这些状态位中确定。
注意,在至少一个日程表从信道在基本SDH接收侧(包括CXC)上摆脱复位状态的时刻循环(rotation)之后,VCT RX中的VC 4信道必须摆脱复位状态。这是需要的,因为在试图自VC 4数据缓冲器读取之前,必须设置ANA存储的VC 4主状态位。
ANA管道(pipeline)应该为单个字节缓冲器的读和写冲突提供旁路,以避免溢出。ANA利用1344个触发器来具有每个信道数据有效位。当复位信道(置位RX_CH_SW_CFG_EN)时,应该清除该数据有效位。
不需要为16字节VC 4FIFO提供读和写旁路。
7.14合并VCAT和非VCAT数据
解序器(DSQ)的dsl_ana_tid信号驱动VCAT和非VCAT数据的合并。ANA读取与该信号的值有关的非VCAT数据缓冲器。如果没有***dsq_ana_vld,并且非VCAT数据缓冲器不为空,那么将来自VCAT数据缓冲器的数据发送至IFR。如果***了dsq_ana_vld,那么将dsq_ana_data发送至IFR。在两种情况中,利用作为LPID的dsq_ana_lpid限制数据。如果没有***dsq_ana_vld,并且非VCAT数据缓冲器为空,那么没有数据会被传送给IFR。
注意,为了防止非VCAT数据缓冲器的溢出,确保在VCT_RX功能块摆脱复位时,所有的信道最初都将处于复位状态(RX_CH_SW_CFG_EN=1)。
8LCAS/VC控制器(LVC)
8.1综述
参照图6,示出了LVC 602,其与调整模块(ALN)、配置(CFG)608和解序器606连接。LVC包括CH状况存储器、CH状态存储器、SK状况存储器、SK状态存储器和SO状态存储器。LV模块连接至ALIG_RD、DSQ以及CFG模块。LVC模块的基本功能如下:
从H4/K4字节中提取正向控制信息(在LCAS情况中的SQ和CTRL)
·从H4/K4字节中提取LCAS反向控制信息
·执行LCAS控制数据包上的CRC校验
·执行每个LCAS VCG的dCRC设置/清除功能
·执行LCAS VCG上的GID检查
·捕获由给定LCAS VCG的支路接收的GID值
·同步地控制(即,序列)和发送给DSQ的数据
·基于信道的授权配置,处理LCAS信道复位和故障条件
·当接收器被配置为LCAS时,非LCAS源的检测。
图4G:LVC模块
8.2ALIG_RD的接口
无论有效数据(不但负载并且H4/K4)字节是否可以在在该循环中被传递给该信道上的LVC,ALIG_RD都向每个时钟循环中的LVC提供下列配置和控制信息以及信道的ID(即TID)。
8.2.1配置信息
因为VCT_RX功能块中的所有的配置存储器维持在CFR模块中,CFR模块需要通过ALIG_RD将LVC和下行流DSQ所需要的配置(除了RX_SHORT_FRAME_EN)管道传送给LVV。对于给定信道的从ALIG_RD到LVC的请求,LVC需要与用于其自身操作的与该信道有关的下列配置参数:
●RX_CH_STS_VT
●RX_CH_SK_LPID
●RX_SK_LCAS_EN
●RX_CH_NL_VCAT_EXP_SQ
●RX_CH_VCAT_ACCEPTED
●RX_CH_LCAS_REV_EXT_EN
●RX_CH_LCAS_REV_EXT_SO_LPID
还需要将仅仅由DSQ缓冲器翻转所要求的下列日程表信息提供至VLC,使得其可以将它们管道传送至DSQ。LVC仅仅将这些参数传递过去,而没有任何处理。这并意味着这些是传送给DSQ的仅有的参数。
●RX_WID
●RX_CH_VC4
●RX_CH_STS_VTG_TYPE
在信道处于失败状态时,应该将以上日程表和配置信息提供给LVC。
当授权的支路信道进入失败或者复位状态时,DSQ需要使当前的写缓冲器无效。为了这样做,需要至少在支路信道进入复位状态的第一始终循环中将RX_SK_LPID配置参数传送给DSQ。当软件重置信道时,在改变该信道的配置之前,应该等待足够长的时间,以使DSQ检测该信道上信道的重置。
CFR将非VCAT信道的配置和失败信息发送给ALIG_RD,其并未确认信道是否是VCAT信道。但是注意,因为ALIG_WR绝不会将数据写入用于非VCAT信道的DRAM,并且ALIG_RD也绝不会从DRAM中读取任何数据,对于这样的信道,该信道失败条件将再也不会被设置。对于这样的信道,ALIG_RD只是绝不把这些信道的有效数据提供给LVC,但是其将依然将日程表和信道配置传送给LVC。
注意,CFR使VCG失败变成所有支路信道的信道失败。信道和VCG复位被通过ALIG_RD分别地传送给LVC。
8.2.2控制信息
ALIG_RD在每个时钟循环中将下列控制信息提供给ALIG_RD:
·数据有效
·信道失败条件
·信道重置条件
·接收器端口重置条件
·H4/K4字节指示
·HO/LO MFI
·SOF
H4/K4字节指示、HO/LO MFI以及SOF仅仅在数据有效是正确并且信道没有处于复位/失败状态时具有意义。
HO/LO MFI计数器应该不仅在H4/K4字节时钟循环中提供,还应该在SOF时钟循环中(或者通常在信道未处于故障状态时的所有的时钟循环中)。
8.2.2.1H4
在当前信道是高阶信道以及当前字节是用于该信道的H4字节时,ALIG RD将H4/K4标识位设置给VLG。因为TOH、其他的HO POH以及STS-1帧中的填充字节在将其内容写入DRAM之前就被删除,所以用于高阶信道的所有其他字节是负载字节。
对于VC 4/STS-3c类型VCG,ALIG RD将仅用于主STS-1的H4字节传送给LVC。
8.2.2.2K4
在当前信道为低阶信道以及当前字节是用于该信道的K4字节时,ALIG RD将H4/K4标识位设置给VLG。因为TOH、其他的HO POH以及映射STS-1帧的VT中的填充字节在将其内容写入DRAM之前就被删除,所以用于低阶信道的所有其他字节是负载字节。
8.3DSQ的接口
如果存在日程表、配置和控制信息,LVC在具有负载字节的每个时钟循环中将下列日程表、配置和控制信息提供至DSQ。
8.3.1日程表和配置信息
●RX_CH_STS_VT
●RX_CH_STS_VTG_TYPE
●RX_CH_VC4
●RX_WID(所有循环(whool)的级联位置)
●RX_CH_SK_LPID
●RX_SK_VCAT_EN
注意,LVC不使用RX_CH_STS_VTG_TYPE、RX_CH_VC4以及RX_WID信息,其仅仅将它们传送至DSQ,而未进行任何处理,从而将它们用于缓冲器翻转。
13位RX_WID信号的结构如下:
  VC4_WID(4)   VC3_WID(2)   VC2_WID(3)   VC11_WID(2)   WC12_WID(2)
8.3.2控制信息
·负载数据有效
·信道失败条件
·信道重置条件
·DNU
·SQ
8.4CFG的接口
LVC产生对CFG的中断状态置位请求。CFG将软件状态读(在源端口状态存储器的情况下,写)请求指派给LVC。
8.4.1状态
LVC向CFG提供下列状态信息:
●RX_CH_LCAS_SQ/RX_CH_NL_VCAT_ACC_SQ(不同视图)
●RX_CH_LCAS_CTRL
●RX_CH_LCAS_CRC_ERR
●RX_CH_NL_VCAT_SQM
●RS_SK_LCAS_GID_ERR
●RX_SO_LCAS_MST
●RX_SO_LCAS_RS_ACK
8.4.2接口状态
LVC产生用于下列事件的对CFG的中断状态设置请求:
●RX_CH_LCAS_SQ_CHG/RX_CH_NL_VCAT_ACC_SQ_CHG
●RX_CH_LCAS_CTRL_CHG
●RX_GH_LCAS_ERR_CHG
●RX_CH_LCAS_NL_SRC_CHG
●RX_CH_NL_VCAT_SQM_CHG
●RX_SK_LCAS_GID_ERR_CHG
●RX_SO_LCAS_MST_CHG
●RX_SO_LCAS_RS_ACK_CHG
8.5状况和状态参数
所有的状况和状态存储器是双重端口。状况存储器仅仅由硬件存取。
状态存储器的一个端口专用于CPU存取。注意,CPU需要写入源端口状态存储器以对其初始化。如果来自软件的状态读请求与来自硬件的写请求冲突,来自写请求的新值将作为读结果而进行传送。
在源端口状态存储器的情况下,如果来自软件的状态写请求与来自硬件的状态写请求冲突,那么应该将软件值写入存储器。这应该由于适当的软件行为而不会发生(用于该源端口之前,软件应该禁止LCAS反向控制信息),但是硬件应该准备处理该冲突。
硬件不会以超过每16时钟循环一次的频率访问同样的信道状况存储器条目(对于STS-3VCG)。类似地,硬件不会以超过每16时钟循环一次的频率写入相同的信道状态存储器条目。如果需要,微结构设计可以利用这样的优势。
信道状况和状态存储器条目具有不同的视图,取决于信道是否被映射至LCAS或者非LCAS VCG。注意,复位值使得对于两种情况奇偶校验是相同的。实际上,为了状态存储器这样执行,使用了虚拟位。
端口级状态和状态参数可应用于仅仅为LCAS配置的端口。
这样的存储器如何被硬件所利用的详细描述在下列章节中进行提供。
8.5.1信道状况
信道状况参数组合在1344×40双重端口存储器中,由高阶和低阶信道共享。下表示出了该存储器中的词条的LCAS和非LCAS视图:
8.5.1.1信道状况存储器条目的LCAS视图
  参数   尺寸   初始化或信道复位后的值
  RX_CH_LCAS_NEXT_SQ   8   01
  RX_CH_LCAS_SQ_CHG   1   0
  RX_CH_LCAS_NEXT_CTRL   6   01
  RX_CH_LCAS_CTRL_CHG   1   0
  RX_CH_LCAS_CRC_ALGNED   1   0
  RX_CH_LCAS_CRC_VLD   1   0
  RX_CH_LCAS_CRC   8   0
  RX_CH_LCAS_CRC_ERR_COPY   1   01
  RX_CH_LCAS_GID   1   01
  RX_CH_LCAS-MST   8   01
  RX_CH_LCAS_MST_CHG   1   01
  RX_CH_LCAS_RS_ACK   1   01
  RX_CH_LCAS_RS_ACK_CHG   1   01
  RX_CH_LCAS_ZERO_CRC   1   01
  RX_CH_LCAS_NL_SRC_COPY   1   01
  奇偶校验   1   0
注意1:出于操作目的,这些参数不需要具有初始值。然而,因为奇偶校验保护,它们被设置为零。
8.5.1.2信道状况存储器条目的非LCAS视图
参数 尺寸 初始化或信到复位后的值
  RX_CH_NL_VCAT_PREV_SQ   8   01
  RX_CH_NL_VCAT_PREV_SQ_MATCH   1   0
  RX_CH_NL_VCAT_PREV_SQ_RPT_CNT   2   0
  RX_CH_NL_VCAT_SQM_COPY   1   1
  RX_CH_NL_VCAT_ACC_SQ_CHG   1   0
  未使用   26   0
  奇偶校验   1   0
注意1:出于操作目的,这些参数不需要具有初始值。然而,因为奇偶校验保护,它们被设置为零。
8.5.2信道状态
将信道状态参数组合进1344×15双重端口存储器中,由高阶和低阶信道共享。下表示出了该存储器中的条目的LCAS和非LCAS视图:
8.5.2.1信道状态存储器条目的LCAS视图
Figure GSB00000798550500761
在LCAS VCG的情况下,软件一直自信道状态存储器中读取数据以确定在信道上接收的序列和控制字段。这是很重要的,因为不像VCT_TX功能块,LCAS控制信息变化没有发生在软件的控制下,而且对于软件第一次判断哪个存储器具有用于给定信道/VCG的新的正向控制信息是很困难的。
8.5.2.2信道状态存储器条目的非LCAS视图
  参数   尺寸   初始化或信道复位后的值
  RX_CH_NL_VCAT_ACC_SQ   8   0
  RX_CH_NL_VCAT_SQM   1   1
  未使用   6   0
8.5.3接收器端口状况
接收器端口状况参数利用128×3触发器执行。
  参数   尺寸   初始化或接收器端口复位后的值
  RX_SK_LCAS_GID_VLD   1   0
  RX_SK_LCAS_GID   1   未定义
  RX_SK_LCAS_GID_MFI2_LSB   1   未定义
  RX_SK_LCAS_GID_ERR_COPY   1   0
8.5.4接收器端口状态
接收器端口状态参数利用128×1触发器执行。
  参数   尺寸   初始化或接收器端口复位后的值
  RX_SK_LCAS_GID_ERR   1   0
8.5.5源端口状态
将源端口状态参数组合进128×65双重端口存储器中。下表示出了该存储器中的条目结构:
Figure GSB00000798550500771
注意1:出于操作目的,这些参数不需要具有初始值。不存在源端口复位,但是软件可以写入初始值。
8.6用于非VCAT信道的操作
对于非VCAT信道,ALIG_RD绝不会具有用于LVC的有效数据,但是,接收器端口LPID以及信道的授权配置将与信道类型和日程表信息一起被发送至LVC。
因为将不会存在有效数据,LVC不会执行任何信道或者相关的接收器端口和(虚拟)源端口的任何状况或者状态更新操作。
8.7LCAS操作
如果aln_rd_lv_ch_sk_lcas_en信号被***在给定的时钟循环中,执行LCAS操作。在该部分中,发明人假定这是一种情况,并且没有明确地示出其是用于更新状况和状态信息的条件的一部分。
将LCAS操作规格分为下列两个区域:
·状况和状态信息的更新
·控制信息和负载数据至DSQ的传送
还详细描述了复位/故障的处理。
8.7.1状况和状态更新
8.7.1.1高阶
表8-1为高阶信道指定了由LVC执行的LCAS状况和状态更新操作(发明人假定ALIG_RD_STS_VT为错误)。
Figure GSB00000798550500801
Figure GSB00000798550500811
Figure GSB00000798550500821
Figure GSB00000798550500831
Figure GSB00000798550500841
表8-1:HO信道上的LCAS状况/状态更新操作
基于在表8-1中的更新操作说明,表8-2总结了存储器存取要求,以更新用于高阶信道的LCAS操作的状态和状况存储器。应该注意,对于任何类型的来自ALIG_RD请求,硬件不需要为读和写而存取状态存储器。因此,状态存储器的一个端口可以专用于CPU存取。如果软件试图在硬件试图更新状态存储器条目的同时读取状态存储器条目,由硬件即将写入的值应该被传送给软件。
Figure GSB00000798550500852
Figure GSB00000798550500861
Figure GSB00000798550500871
Figure GSB00000798550500881
表8-2:用于HO信道上进行LCAS状况/状态更新操作的存储器存取模式
注意,上表示出了对于来自ALIG_RD的给定请求,读和写访问对于状态存储器发生。为了设计成与利用双重端口状态存储器的单个端口的硬件一起工作,给定状态存储器的读或写访问需要发生在相同的管道级中。下面的一个LVPC管道的例子示出了这种情况的实施例。
表:LVC管道样例
注意,信道状况存储器正在存储关于正向或反向信息是否发生变化的信息。因此,更新就必须等到这些存储器读取完成。同时,是否写入状态存储器的决定不得不进行等待,直到读取了状况存储器并执行了CRC计算。因为需要将对状态存储器的读和写访问进行排列,所以可以发现管道中存储器存取的顺序必须如上所示。
8.7.1.1.1CRC校验
当VCG在初始化之后或者在从VC故障中恢复之后获得调整时,ALIG_RD会把数据传送给一直在帧边界处开始的VLC。然而,该帧可以不响应于LCAS控制数据包开始(即,HO_MFI为8)的帧,或者信道可以在H4字节在该帧中被接收后摆脱复位。如果是这种情况,在执行CRC校验之前,VLC需要等待LCAS控制数据包的开始。对于每个信道,CH_LCAS_CRC_ALIGNED状况位用于该目的。
如果信道摆脱了复位/故障,使得其发现的第一个H4字节不是用于HO_MFI=8,那么在设置CH_LCAS_CRC_ALIGNED位之前,信道将必须一直等待,直到用于HO_MFI1的H4字节为7。但是,此时仍不会存在有效CRC。所以不能使用任何提取出的LCAS控制数据包字段。一旦处理了完整的LCAS控制数据包,将设置CH_LCAS_CRC_VLD状况变量。
当LVC被初始化时,清除所有信道的CH_LCAS_CRC_ALIGNED以及CH_LCAS_CRC_VLD状况位。在正常操作期间,当复位VCG或者故障被表示在其上时,LVC清除信道的CH_LCAS_CRC_ALIGNED以及CH_CRC_VLD位。8.7.2章节提供了关于复位和故障处理的更多的信息。
无论H4字节在何时被接收用于给定信道,LVC都读取用于该信道的CH_LCAS_CRC状况变量,并基于接收的H4字节的高半字节计算LCAS_CRC变量的下一个值。如果ALIG_RD表明已经设置了HO_MFI1值15和CH_LCAS_CRC_ALIGNED,那么LVC检查更新的LCAS_CRC值是否等于零。如果不是,这就表示已经发生了CRC差错。在另一情况时,LVC将CH_LCAS_CRC状况变量设置为零,以准备下一个LCAS控制数据包。
在CRC校验的最后,在更新CH_LCAS_CRC_ERR状态位之前,LVC读取CH_LCAS_CRC_ERR_COPY状况位的当前值,以检查之前的值中是否变化。如果变化,将CH_LCAS_CRC_ERR_CHG中断请求发送给该信道的CFR。
注意,在信道状况存储器中保持CH_LCAS_CRC_ERR状态位复制的原因在于避免不得不读取状态存储器以判断是否应该产生中断请求。
将LCAS_CRC_ERR状态变量及其监控CH_LCAS_CRC_ERR_COPY状况变量初始化为零。当信道进入复位/故障情况时,也复位这些变量。
8.7.1.1.2持续的CRC故障校验(dCRC)
利用移动窗口在VCG级对持续的CRC故障进行计数。对于所有的VCG,设置/清除窗口和设置/清除阈值的的长度是全局固定的。窗口长度按照复帧数量来指定。对于每个VCG,Orion计数在其任何支路上检测的LCAS CRC差错的整个数目。
当初始化LVC时,清除所有端口的SK_LCAS_DCRC状态位、SK_LCAS_CRC_CNT以及SK_LCAS_DCRC_WDW_CNT字段。在正常操作期间,当复位接收器端口时,LVC将清除该端口的这些字段。
无论何时在给定的信道上对当前控制数据包进行CRC校验,逐一的增加包括LCAS接收器VCG的SK_LCAS_DCRC_WDW_CNT。如果检测CRC差错,那么逐一地增加LCAS接收器VCG的CRC计数。
如果在SK_LCAS_DRC_WDW_CNT达到RX_LCAS_DCRC_N1值时,没有设置SK_LCAS_DCRC状态位,那么CRC计数被核对LCAS_DCRC_K1值。如果CRC计数等于或者较高,那么置位LCAS_DRCR状态位。
如果在SK_LCAS_DRC_WDW_CNT达到RX_LCAS_DCRC_N2值时,设置了SK_LCAS_DCRC状态位,那么SK_LCAS_CRC_CNT被核对LCAS_DCRC_K2值。如果SK_LCAS_CRC_CNT等于或者较高,那么置位LCAS_DRCR状态位。
在置位或者清除窗口结束时,将SK_LCAS_DRC_WDW_CNT和SK_LCAS_CRC_CNT复位为零。同样,如果SK_LCAS_DCRC的值发生变化,那么置位SK_LCAS_CRC_CHANGED中断状态位。
8.7.1.1.3探查VCG支路上的CRC差错
LVC可以表明在特定VCG上设置/清除dCRC故障。但是除非软件在每个复帧上观察到所有支路信道的LCAS CRC状态(难以做到),否则不可能在这样的条件下判断一个支路是否具有所有的大部分差错或者差错一律被分配在所有的支路上。每次可以选择一个接收器VCG用以详细地计数其所有支路上的CRC差错。
软件选择VCG来计算支路CRC差错或者通过将其端口ID写入全局LCAS_DCRC_CAP_PORT寄存器。软件还利用全局LCAS_DCRCWS寄存器来指定应该收集CRC差错计数的窗口(在复帧中)。为了开始该计数,软件清除LCAS_DCRC_CAP_VLD位。
当计数窗口耗尽时,Orion设置LCAS_DCRC_CAP_DONE中断状态位。利用间接存储器,自LCAS_CRC_CNT寄存器,对于升至64支路信道的CRC计数是可行的,该间接寄存器利用序列号进行寻址。
注意,硬件不检查选择的端口是否摆脱了复位,以及其是否是LCAS配置端口。如果软件错误地进行了该操作,CRC计数捕获过程将不会启动。软件可以将健全值写入LCAS_DCRC_CAP_PORT以进行恢复。
如果存在CRC捕获激活(即,LCAS_DCRC_CAP_VLD=0),硬件不会写至LCAS_DCRC_CAP_PORT或者LCAS_DCRC_CAP_WS寄存器。
8.7.1.1.4正向控制信息更新
硬件将当前LCAS控制数据包中接收的序列和控制字段分别写入CH_LCAS_NEXT_SQ和CH_LCAS_NEXT_CTRL状态变量中。如果这样的控制数据包具有有效的CRC并且其不具有CRC差错,那么在开始下一个LCAS控制数据包的帧开始,硬件将CH_LCAS_NEXT_SQ和CH_LCAS_NEXT_CTRL参数的值分别复制给CH_LCAS_CUR_SQ和CH_LCAS_CUR_CTRL参数。但是如果存在CRC差错,将不更新状态参数。
为了控制将负载字节到DSQ的传送,LVC利用CH_LCAS_CUP_SQ和CH_LCAS_CUR_CTRL状态参数。因此在是负载字节的SOF字节中,LVC不读取信道状态存储器,相反地,出于该目的,其利用序列和控制参数来使用来自状态存储器的数据。这样确保在SOF循环中对于信道状态存储器仅仅要求一次存取。
当LVC接收SQ和CTRL字段时,其读取CH_LCAS_CUR_SQ和CH_LCAS_CUR_CTRL状态参数,并且将它们与接收的值进行比较。如果存在差异,LVC置位CH_LCAS_SQ_CH和/或CH_LCAS_CTRL_CH位。
在LCAS控制数据包末端,如果存在有效CRC,并且CRC校验为OK,并且CH_LCAS_SQ_CHG和/或CH_LCAS_CTRL_CHG位被置位,那么LVC将对CFR产生中断状态设置请求以进行序列和/或控制字变化。
以上讨论应用于信道不处于复位/失败状况的情况。如果信道处于复位/失败状况,硬件将表现为8.7.2章节中所述的情况。
8.7.1.1.5反向控制信息更新
反向控制信息的执行仅仅在信道的RX_CH_LCAS_REV_EXT_EN参数被置位的情况下发生。在以下描述中,发明人假定处于这种情况。
并不试图检查在用于相同的HO_MFI2中相同源端口的承载反向信息的信道上接收的MST和RS_Ack值是否完全相同地。注意,任何与这些字段冲突的差错可能由CRC校验进行检测。
该章节的讨论适用于信道不处于复位/故障状态的情况。如果信道处于复位/故障条件下,硬件不会试图更新反向控制状况/状态,并且其不会产生用于在信道的相关源端口上发生变化的中断,如果有变化的话。
软件可以写入源端口状态存储器以初始化MST和RS_ACK值。通常,MST位会被初始化为全1(MST=Fail)。RS_ACK的初始值无关紧要,除非软件应该知道其是什么。
8.7.1.1.5.1MST
在给定信道的LCAS控制数据包中接收的MST字段被存储在该信道的信道状况存储器条目中。当根据MFI2值,在给定信道上接收MST字段的低半字节时,LVC也将其同与该信道相关的源端口状态中的相应的MST位进行比较。如果比较表明不同,置位用于该信道的CH_LCAS_MST_CHG状态位。
因为发明人提供的信道最大数量在Orion中限定为64,所以一些LCAS控制数据包不承载任何有用的MST信息。这是基于MFI2决定的。如果存在来自源端口状态存储器条目的MST,那么将来自源端口状态存储器词条的MST用于比较,并在如下确定后进行更新:
Figure GSB00000798550500931
在LCAS控制包的末端,如果存在有效CRC,并且CRC校验为OK,而且如果LCAS反向控制提取在该信道上被使能,那LVC更新与在该信道上接收的MST字段相关的源端口状态中的相应的MST位。如果置位CH_LCAS_MST_CHG位,那么LVC还产生用于与该信道有关的源端口的SO_LCAS_MST_CHG中断。
8.7.1.1.5.2RS_ACK
在给定信道上的LCAS控制数据包中接收的RS_ACK位被存储在该信道的信道状况存储器条目中。此时,LVC还将其与该信道相关的源端口状态中RS_ACK位进行比较。如果比较表明不同,置位用于该信道的CH_LCA_RS_ACK_CHG状况位。
在LCAS控制数据包的末端,如果存在有效CRC,并且CRC校验为OK,而且如果LCAS反向控制提取在该信道上被使能,那么LVC更新与在该信道上接收的RS_ACK位有关的源端口状态中的RS_ACK位。如果置位CH_LCAS_RS_ACK_CHG位,那么LVC还产生与该信道有关的源端口的SO_LCAS_RS_ACK_CHG中断。
8.7.1.1.6GID检查
LVC检查接收器端口的每个授权支路信道是否接收了相同的LCAS控制数据包中的相同的GID位(即,每个支路接收的最后一个)。如果不同信道上GID位不匹配,那么LVC设置SK_LCAS_GID_ERR状态位,并且如果状态位具有改变的值,产生接收器端口GID中断请求。除了这样的状态位之外,LVC还保持下列接收器端口级状况位:
●SK_LCAS_GID_VLD
●SK_LCAS_GID
●SK_LCAS_GID_MFI2_LSB
●SK_LCAS_GID_ERR_COPY
尽管在设计中SK_LCAS_GID_ERR_COPY状态位用于避免读取接收器端口状态以判断是否应该产生中断,但是不是必须具有这样的状态位。因为接收器端口状态位处于触发器中,所以他们可以在读取接受器端口状况/状态位的同时进行读取,而不用担心与软件读取发生冲突。伪代码未示出SK_LCAS_GID_ERR_COPY的使用。
当GID位在给定信道接收时,其被存储在信道状态存储器中,因为LVC直到CRC在LCAS控制数据包上被验证时,才能对其起作用。
在LCAS控制包的末端,如果存在有效CRC,并且CRC校验为OK,LVC首先检查信道是否被授权(以及还检查其未接收作为控制字的IDLE)。如果是,LVC接着查看接收器级GID状况。
如果没有置位SK_LCAS_GID_VLD,就意味着这是GID比较第一次在该接收器端口中执行。在这样的情况下,LVC设置SK_LCAS_GID_VLD,将CH_LCAS_GID复制给SK_LCAS_GID并将SK_LCAS_GID_MFI2_LSB设置给HO_MFI2[0]。然而,可以仍不执行差错校验。
如果设置了SK_LCAS_GID_VLD,LVC将SK_LCAS_GID_MFI2_LSB与HO_MFI2[0]进行比较。如果它们不同,就意味着已经进行至该接收器端口的新的LCAS控制数据循环,并且当前信道为处于LCAS控制数据包末端的第一信道。在这种情况下,LVC将SK_LCAS_GID_VLD设置给CH_LCAS_GID,并将SK_LCAS_GID_MFI2_LSB设置给HO_MFI2[0]。再次,仍可以不执行差错校验。
如果设置了SK_LCAS_GID_VLD,并且SK_LCAS_GID_MFI2_LSB等于HO_MFI2[0]的LSB,就意味着当前信道不是将其接收的GID与接收器端口GID进行比较的接收器端口中的第一信道(其被设置给在第一信道上接收的GID)。在这样的情况下,LVC将CH_LCAS_GID与SK_LCAS_GID进行比较。如果它们不同,那么设置SK_LCAS_GID_ERR和SK_LCAS_GID_ERR_COPY。但是在这样做之前,LVC将SK_LCAS_GID_ERR的新值与SK_LCAS_GID_ERR_COPY进行比较。如果它们不同,那么LVC产生用于相关接收器端口的SK_LCAS_GID_ERR_CHG中断。
8.7.1.1.7探查VCG支路上的GID值
LVC在GID差错在特定VCG上检测出时进行报告。在该级,不可能确定产生GID差错的严格条件。例如,如果一个支路具有不同于其他的GID值,就不可能定义该支路。此时可以选择一个接收器VCG以详细地探查该支路的GID值。硬件捕获所选择VCG的所有支路的GID位并且使其对于软件有效。
软件选择VCG,在此VCG上,捕获支路将其端口ID写至全局LCAS_GID_CAP_PORT寄存器。GID捕获通过设置全局LCAS_GID_CAP_VLD位开始。
在下一个控制数据包循环期间,硬件将基于其接收的序列号把每个支路的接收的GID值写入全局LCAS_GID_CAP状态寄存器。因为Orion中接收器VCG的最大尺寸为64,出于该目的使用两个32位寄存器。在这之后,硬件将清除LCAS_GID_CAP_VLD位并设置LCAS_GID_CAP_DONE中断状态位。
注意,硬件不检查选择的端口是否摆脱了复位,以及如果是摆脱复位,其是否是LCAS配置端口。如果硬件错误地执行了这些操作,GID捕获过程将不会启动。软件可以将健全值写入LCAS_GID_CAP_PORT以进行恢复。
如果存在GID探查激活(即,LCAS_GID_CAP_VLS=0),硬件不应该写至LCAS_GID_CAP_PORT寄存器。
 8.7.1.2低阶
下表表明了由用于低阶信道的LVC执行的LCAS状况和状态更新操作(假定ALIG_RD_STS_VT是正确的)。
Figure GSB00000798550500971
Figure GSB00000798550500981
Figure GSB00000798550500991
Figure GSB00000798550501001
Figure GSB00000798550501011
Figure GSB00000798550501031
Figure GSB00000798550501041
Figure GSB00000798550501061
表8-3:LO信道上的LCAS状况/状态更新操作
高阶和低阶信道之间的差异在于:每次以1比特接收LCAS控制数据包,而不是每次以4比特接收。但是因为总会有一些字段大于4比特,这使得LO与HO比较不具有额外的复杂性。
注意,对于何时执行更新操作,该方法对于高阶信道和低阶信道是相同的。还应该注意,对于LO信道不需要不同的管道设计。
8.7.2处理接收器端口复位、信道故障以及信道复位
在讨论VCG复位、信道故障和信道复位的LVC行为中,首先回顾ALIG_RD和软件表现是有益的。
8.7.2.1ALIG_RD和软件行为
以下从软件上总结了ALIG_RD的故障/复位行为:
·授权支路信道上的故障或复位触发VCG上的故障,接着触发无论是否被授权的所有支路信道上的故障。
·非授权支路信道上的故障或复位不会触发VCG上的故障。在失败的信道的时隙期间,ALIG_RD不将有效数据传送给LVC,但是继续向LVC表明信道失败状况。未授权的信道没有自动地摆脱故障。软件不得不清除静止故障状态位。
·无论是否被授权,软件发起的接收器端口复位触发所有支路信道上的信道失败(未复位)。注意,ALIG_RD模块将接收器端口复位条件单独地传送给LVC。
·对于影响VCG的复位和故障条件(即,软件接收器端口复位或者授权信道故障/复位),保证条件应该被***地足够长以便于VCG的所有支路信道能够看到该情况。
·如果授权的支路信道进入故障,并且信道没有受到保护,那么软件清除该信道的授权位,使得一旦来自剩余的支路信道的数据被重新调整,这些数据将被传送至LVC和DSQ。因为将失败信道重新配置为未授权,该信道的故障状态不会使得DSQ无效掉缓冲器。
以上对于在LCAS中实施DNU机制是必要的。如果失败的信道是VCG的活动支路,即,在该信道上源发送NORM/EOS,那么在从接收器得到支路信道失败状态时,源将开始发送作为控制字的DNU。接收器将不会明显地发现DNU控制字,但是它必须操作地好像发现了控制字一样。这就要求接收器能够从剩余支路信道中提取数据。
·如果软件了解到失败的授权支路信道将要受到保护,那么软件将不会清除该信道的授权位,并且其将不会把失败状态发送给源。在保护信道进入时,VCG将重新调整所有支路,并且ALIG_RD将开始再次从所有支路信道将数据发送给LVC。在该方法之后的假设是:在供应期间,软件可以确定因为转换至受保护路径而发生的差分延时变化保持在***限制中。对于预先计算的保护路径应用,该假设有效。
·在其首先变为LCAS_VCG的支路之前,信道需要进行复位。如果这样的信道已经是LVCAS_VCG的授权信道,那么LCAS协议首先将用于删除来自该VCG的信道。此时,在将信道设置为复位状态之前,软件将清除信道的授权位。
注意,如果LCAS_VCG的授权信道被置为复位状态,其将会使得VCG被置为复位状况。一般不会这样处理。利用LCAS删除规程首先将去除授权信道,并且接着在将信道置为复位状态之前,通过软件清除该信道上的授权位。但是,当删除非可恢复VCG级错误时,可以复位授权信道,而不进行下列步骤。然而,在通过软件将信道从复位状态中转出之前,软件应该清除其授权位。
·不可能自动地从一些网络故障中恢复。例如,差分延时可以变得过大(通常,在可以或者不可以由保护机制触发的网络配置之后)或者协议错误(例如,在授权信道上的无效序列号和/或序列号组合)可以由软件检测。在这些情况下,VCG还可以由软件进行复位(或者可以将所有的信道置为复位状态),而不遵循计划的支路去除程序。注意,软件还可以通过配置VCT_TX功能块发送该VCG的所有支路信道上的失败状态。
注意,在给定的时钟循环中,接收器端口复位仅仅在信道未处于复位状态时具有意义。这是因为如果信道处于复位,那么它的RX_CH_SK_LPID参数不是有效的。
8.7.2.2LVC行为
根据信道的授权配置位,LVC响应于来自ALIG_RD的该信道上的信道复位/故障标识表现为如下:
·当LVC发现信道(授权或未授权)上的信道故障标识时,其将信道的CH_LCAS_CRC_ALIGNED、CH_LCAS_CRC_VLD以及CH_LCAS_CRC状态变量分别设置为零。
·当复位信道时,LVC将信道的状况和状态变量复位为它们的初始值。
·当信道维持在失败或者复位状况或者相关的接收器端口处于复位状况时,LVC不处理该信道上的H4/K4字节以更新与该信道相关的状况/状态变量(信道或者端口级)。然而,LVC在用于该信道的时钟循环中将日程表信息以及信道的配置、复位和失败状况传送给DSQ。
·当接收器端口处于复位状态时,复位RX_SK_GID_VLD状况位和RX_SK_GID_ERR状态位。
可以在帧中的任何点将信道故障/复位或者接收器端口复位指示给LVC。在这样的时钟循环期间,替换8.7.1章节中讨论的状况/状态更新操作,如上所述,硬件会设置状况和状态变量。
8.7.3将控制和负载数据传送给DSQ
下列伪代码正式地说明了LVC如何将控制和负载数据传送给DSQ:
Figure GSB00000798550501091
Figure GSB00000798550501101
LVC_SQ_CH_DATA =ALIG_RD_LVC_CH_DATA
LVC_DSQ_CH_FAIL=ALIG_RD_LVC_CH_FAIL
LVC_DSQ_CH_RST=ALIG_RD_LVC_CH_RST
LVC_DSQ_SK_RST=ALIG_RD_LVC_SK_RST
LVC_DSQ_CH_ACCEPTED=ALIG_RD_LVC_CH_ACCEPTED
LVC_DSQ_SK_LPID=ALIG_RD_LVC_SK_LPID
LVC_DSQ_WID=ALIG_RD_LVC_WID
LVC_DSQ_CH_STS_VT=ALIG_RD_LVC_CH_STS_VT
LVC_DSQ_CH_STS_VC4=ALIG_RD_LVC_HC_STS_VC4
LVC_DSQ_CH_STS_VTG_TYPE=ALIG_RD_LVC_CH_STS_VTG_TYPE
如上在章节9中所描述,DSQ模块中的读/写缓冲器翻转基于日程表循环,与在VCT_TX功能块的SQ模块进行方式类似。例如,每当由日程表产生的STS号为零时,所有的STS-1类型VCG翻转它们的读/写缓冲器。这可能的,因为SLIG_RD读管理器保证VCG绝不会在日程表循环的中间停止。
不过,关于缓冲器翻转在接收侧和发送侧之间存在一项重要的差异。在发送侧,缓冲器翻转仅仅在由CXC牵引的当前字节是负载字节时进行。接收侧不能将ALIG_RD推动的当前字节是负载字节作为条件来使用。这是因为如果信道处于故障中,那么用于该信道的时隙不能被分类为负载或者H4字节时隙。
为了处理这种情况,LVC在每个时钟循环中将请求发送给DSQ,无论在该循环中是否存在来自ALIG_RD的有效数据,并且无论数据是否为负载或H4字节。然而,除了用于授权信道的负载循环外,DNU位被设置用于所有的情况,所述授权信道没有处于复位/失败状态,并且没有将它们的CUR_CH_SQ状况变量设置为DNU(或者NEXT_CH_SO,如果SOF是正确的)。
当DSQ试图设置由非授权信道的CH_CUR_SQ表示的当前写入缓冲器的DNU位时,可以发现CH_CUR_SQ的值大于相关VCG的重新排序的缓冲器的尺寸。在这样的情况下,DSQ无声地忽略了该请求。如果这发生在授权信道上,应该是协议错误。参见LCAS协议错误处理的8.7.4章节。
在授权信道不具有有效数据或者数据为H4/K4字节的时隙期间,LVC将DNU位设置给DSQ。除了在其中LCAS控制数据包开始的帧的第一负载字节,在授权信道的负载时隙期间,LVC仅仅在信道使它的CH_CUR_CTRL状态变量设置为DNU时设置DNU位,LVC设置用于该信道的DNU位。
注意,LVC将授权配置和信道失败情况发送给DSQ。如果信道没有被授权,那么DSQ忽略失败情况。LVC也不会在该时隙期间更新数据缓冲器。这样保证在未授权信道具有与授权信道的序列号冲突的序列号的情况下,不会引起VCG数据流失败。尽管以上情况在LCAS协议中不合法,但是这样做将防止不必要的数据破坏。注意,对于未授权信道,DSQ将会把日程表和信道的接收器端口发送给ANA。
8.7.4LCAS协议错误处理
除了CRC和GID外,所有的LCAS协议错误也由软件检测。下列是可能的LCAS协议错误:
·无效的控制字(例如,不合法的或者不希望的值)
·在序列号范围之外(例如,在授权信道上的值大约VCG尺寸)
·授权支路上的序列号和/或控制字的无效组合(例如,序列号中的间隙或者交叠,序列号与控制字不兼容,等)。
8.8非LCAS操作
8.8.1状况和状态更新
在非LCAS操作中,即,当LVC确定信道映射至非LCAS接收器端口时,LVC不对在H4/K4字节中接收的控制字、GID、MST以及RS_ACK字段进行提取和处理,并且不执行任何CRC检查。
LVC仅仅对用于非LVC信道的SQ字段进行提取和处理。LVC将提取的SQ字段存储在CH_PREV_SQ状态变量中。在当接收到新SQ值时对其进行更新之前,LVC读取该状况变量中的先前值以将其与接收的值进行比较。
如果两个相同,那么LVC增加用于该信道的CH_NL_VCAT_PREV_SQ_PRT_CNT状态变量。如果计数器值达到3,那么将接收的值复制给CH_VC_ACC_SQ状态参数。注意,计数器并不从3开始翻转。根据CH_VC_ACC_SQ状态参数与用于该信道的期望序列是否相同或不同,LVC设置或者清除CH_VC_SQM状态变量。如果状态变量的值发生变化,那么LVC将产生用于该信道的CH_VC_SQM_CHG中断。
如果两个相同,那么LVC将CH_NL_VCAT_SQ_PRT_CNT设置为零。当信道处于复位/失败状况时,还复位该计数器。
注意,在某一时刻,对于非LCAS信道,存储器存取要求并不相同,但是对于LCAS和非LCAS信道使用相同的管道。非LCAS情况是LCAS情况中的一个子集,因为,其具有较少要求的存储器存取(例如,不需要读取信道状态存储器)。
8.8.1.1高阶
以下列表说明了由用于高阶信道的LVC执行的非LCAS状况和状态更新操作:
Figure GSB00000798550501131
Figure GSB00000798550501141
Figure GSB00000798550501161
表8-4:HO信道上的非LCAS VCAT状况/状态更新操作
根据表8-4中列出的更新操作说明,针对高阶信道,以下的表8-5总结了为非LCAS VCAT操作更新状况和状态存储器的存储器访问要求。
Figure GSB00000798550501162
Figure GSB00000798550501171
表8-5:用于非LCAS VCAT HO信道上的状况/状态更新的存储器存取模式
8.8.1.2低阶
下表针对低阶信道,说明了由LVC执行的非LCAS VCAT状况和状态更新操作(发明人假定ALIG_RD_STS_VT是正确的)。
Figure GSB00000798550501181
Figure GSB00000798550501191
Figure GSB00000798550501201
表8-6:LO信道上的非LCAS VCAT状况/状态更新操作
8.8.2将控制和数据传送给DSQ
对于非LCAS信道,LVC在将数据字节传送给DSQ时利用配置好的期望的序列号。该信道的期望序列号被保持在CFG功能块中并且在与该信道有关的每个时钟循环中发送给LVC。
为了保持数据传送设计在LCAS和非LCAS VCG之间尽可能地类似,除了下列不同外,LVC表现出与将控制和数据传送给DSQ路径相同的方式:
·将自ALIG_RD接收的期望序列号作为所有负载字节的序列号传送给DSQ
·DNU仅为非负载时隙设置并且绝不为负载时隙设置
·将所有的信道作为授权信道进行处理(即,忽略alig_rd_lvc_accepted信号)。
下列伪代码正式地说明了LVC如何将控制和负载数据传送给DSQ:
Figure GSB00000798550501211
LVC_DSQ_CH_FAIL=ALIG_RD_LVC_CH_FAIL
LVC_DSQ_CH_RST=ALIG_RD_LVC_CH_RST
LVC_DSQ_SK_RST=ALIG_RD_LVC_SK_RST
LVC_DSQ_CH_DATA=ALIG_RD_LVC_CH_DATA
LVC_DSQ_SK_LPID=ALIG_RD_LVC_SK_LPID
LVC_DSQ_WID=ALIG_RD_LVC_WID
LVC_DSQ_CH_STS_VT=ALIG_RD_LVC_CH_STS_VT
LVC_DSQ_CH_STS_VC4=ALIG_RD_LVC_CH_STS_VC4
LVC_DSQ_CH_STS_VTG_TYPE=ALIG_RD_LVC_CH_STS_VTG_TYPE
8.9配置为与非LCAS源LCAS相互作用的接收器
当LCAS信道检测到CRC和控制字均为零时,其设置RX_CH_LCAS_NL_SRC状态位。这很可能是因为网络管理配置错误而发生的,其中非LCAS源与LCAS接收器有关联。在这种情况下,软件应该发现在VCG的所有信道上设置的这样的状态位。注意,这不会改变任何其他的LCAS操作。
软件接着可以将信道和接收器端口重置以将它们重新配置为非LCASVCG。一般,对于非LCAS VCG的每个支路,需要由NMS对期望序列号进行配置。然而,在这种情况中,可以希望软件来使用接收的序列号。为了这样处理,软件首先可以将具有虚拟的期望序列号的VCG分配给支路信道。软件接着将对软件正通过接收序列号状态参数进行利用的实际的序列号进行确定。在这段期间,信道的授权位可以关闭(或者禁止相关的IFR端口)。最后,软件将根据之前步骤中的接收的状态变量重新配置信道的期望的序列号。
9解序器(DSQ)
在该输入数据路径中,DSQ模块链接至LVC。在将负载数据字节传输给IFR之前,由重新排序后的DSQ产生的负载数据字节与来自非VC信道的负载数据复用。
DSQ的功能根据其支路信道的接收间隙顺序对自网络抵达的VCG的负载字节进行重新排序,以匹配这些信道的VC序列顺序。在LCAS VCG的情况下,用于重新排序的VC序列号自H4/K4开销字节中提取。在非LCAS VCG情况下,使用配置好的期望的序列号。注意,DSQ模块本身不知道VCG是LCAS还是非LCAS模式。
利用公共配置和日程表发生器模块中的固定的1344×1日程表,将在VCG支路的信道上接收的数据(负载和H4/K4)字节推动至DSQ。相同的日程表还用于将重新排序的数据从其中提取出。
在分配给VCG支路的给定信道的每个时隙中,无论字节是否被推进,都一直提出提取要求。当将负载推至DSQ时,DSQ可以不将字节变量传送至数据管理包侧。反之也是正确的。
图7示出了DSQ模块的接口和包括在其中的存储器。解序器702与LVC704、ANA复用器706(其输出至输入帧(IFR)708)以及CFG 710连接。DSQ包括重排序数据缓冲存储器、重排序状态存储器以及重排序缓冲选择配置存储器。
9.1LVC的接口
DSQ在每个时钟循环中从LVC接收下列日程表、配置和控制信息以及负载字节(如果有的话)
9.1.1日程表和配置信息
●RX_CH_STS_VT
●RX_CH_STS_VTG_TYPE
●RX_CH_VC4
●RX_WID
●RX_CH_SK_LPID
9.1.2控制信息
·负载数据有效
·信道失败条件
·信道复位条件
·DNU
·SQ
9.2ANA的接口
DSQ在每个时钟循环中将下列配置和控制信息随同负载字节(如果有的话)一起提供给ANA:
●RX_CH_LPID
●RX_CH_DATA_VLD
9.3CFR的接口
DSQ为下列事件对CFR产生中断状态设置请求:
●RX_SK_RBID_CHG_DONE
不存在保持在DSQ中的状态变量。
9.4CFG的接口
DSQ保持用于每个VCG的下列配置参数:
●RX_SK_RBID_0
●RX_SK_RBID_1
CFG模块将用于这些参数的读和写要求指示给DSQ模块。
DSQ不具有任何状态参数。
无论何时为其产生中断,DSQ都将自LVC接收的接收器端口信号传送给CFG。注意,DSQ不为其自身操作使用接收器端口复位信息。
9.4.1中断事件
DSQ对于CFG产生下列中断事件:
●RX_CH_VCAT_SK_RBID_CHG_DONE
9.5配置
利用128×20触发器执行下列配置参数。
RX_VCAT_SK_RBID_SEL参数。
  配置参数   尺寸   初始化后的值
  RX_VCAT_SK_RBID_0   10   未定义
  RX_VCAT_SK_RBID_1   10   未定义
注意,在映射至VC使能接收器端口的任何信道摆脱复位之前,应该合理地配置该端口的重排序缓冲配置参数。
注意,DSQ模块执行用于这些参数的激活/映射存取方案,以保持与VCT_TX结构兼容。在没有相关的未决变化时,RX_VCAT_SK_RBID_SEL参数识别激活复制。软件应该能够仅仅读取激活复制。软件可以自映射复制中读取数据或者将数据写入映射复制中。软件要求激活或映射复制将通过触发RX_VCAT_SK_RBID_SEL参数而进行转换。当进行改变时,DSQ模块将产生变化执行中断。
9.6状态
利用128×11触发器执行下列接收器端口级状态参数。
  状态变量   尺寸   初始化后的值
  WR_BUF_SEL   1   0
  BUFO_VLD   1   0
  BUF1_VLD   1   0
  NEXT_RD_POS   6   0
  RBID_RD_COPY   1   0
  RBID_WR_COPY   1   0
9.7重排序缓冲数据存储器
不计数据宽度为9比特,重排序缓冲存储器的结构与VCT_YX功能块中的重排序缓冲存储器相同。用1位作为DNU位。
9.8负载解序算法
很多方面,DSQ使用的算法类似于VCT_TX功能块中使用的负载解序算法,包括重排序缓冲器和基于日程表循环的缓冲器翻转。然而,还存在一些重要的差异。在写入重排序缓冲器时,负载解序算法利用信道序列号,并清楚每个VCG的下一个读取位置。此外,DSQ需要处理停止、信道故障和DNU情况。
ALIG_RD可以停止,不但因为数据读取比其到达快,而且因为当增加比现有支路具有更长延时的新支路时,可能必须停止来自LCAS VCG的现有支路的数据流。然而,ALIG_RD设计保证VCG不会在中间停止。换句话说,在相应类型的日程表循环期间(并且在没有支路信道故障时),VCG的所有支路将会把数据传送给LVC/DSQ或者它们中没有任何一个会传送数据。这样降低了清楚写入每个VCG的字节数的需要,并且允许日程表循环被用于缓冲器翻转。
在授权信道上的故障需要由DSQ进行处理。在这样的情况下,DSQ将使当前写缓冲器无效。LVC在未授权的信道上屏蔽故障,但设置了DNU位。
如以上在8.7.3章节中所述,无论是否存在有效数据,无论其是否为负载或H4/K4,或者无论信道是否处于失败/复位状况下,LVC都在每个时钟循环中将数据传递给DSQ。然而,除了具有来自当前控制字未被设置为DNU的授权信道的有效负载字节的情况,LVC在其它所有情况下都设置DNU位。这样,DSQ不需要关心写入其中的字节是否真正地是有效负载字节。
DSQ在处于复位或者未授权的信道的时钟循环中不处理数据或者更新它的状况。注意,非VCAT信道通常会将其授权配置位设置为零。
9.9重排序缓冲器
根据VCG的当前尺寸,从四个池(pool)的一个中给每个VCG分配重排序缓冲器。逻辑上,重排序缓冲器包括两个缓冲器,对于VCG的每个可能支路,两个都具有一个字节的空间。当负载字节被写入一个缓冲器时,在任何有效的情况下,从另一个缓冲器中读取负载字节。在与VCG的类型对应的日程表循环时,交换给定VCG的缓冲器。
不计数据宽度为容纳DNU位的9比特,用于VCT_TX功能块的相同的重排序数据缓冲器核心可以用在DSQ中。此核心将四个单端口存储器以逻辑双重端口存储器的形式呈现,利用重排序缓冲器ID以及指定重排序缓冲器中的相关位置可以进行寻址。
当VCG的尺寸需要增加为比分配给其的当前的重排序缓冲器的容量大时,需要给VCG分配较大的重排序缓冲器。当在VCT_TX构架中进行讨论时,给池容量定出所需的尺寸,使得可以容纳VCG的任何组合。
如在VCR_TX功能块中所使用的负载排序算法那样,负载解序算法处理重排序缓冲器变化。首先,写过程在该VCG的下一个日程表循环开始的时候切换至新的重排序缓冲器,接着在下一个循环中进行读取过程。
DSQ功能块使其自身同步于重排序缓冲器变化。软件配置重排序缓冲器ID,并且为给定的VCG配置DSQ将使用的其中的那个。在VCG的任何支路信道时隙中,在DSQ发现其使用的当前的一个不同于软件配置的新值时,其在下一个循环开始时开始变化。在循环结束时,执行切换,并且DSQ将会把重排序缓冲器执行变化信号提供给CFR功能块。
9.10基于日程表循环的缓冲器翻转
因为在RX_WID信号中编码的日程表发生器状态被明确地提供给DSQ,DSQ在发现相应类型的转换位置(wheel position)变为零时,翻转给定类型的VCG的缓冲器。
下表示出了用于不同VCG类型的全局缓冲器翻转条件:
 VCG类型   何时全局缓冲器选择翻转
  VC-4   当RX_WID[13:10]为零时(VC-4转换位置为零)
  VC-3   当RX_WID[13:8]为零时(VC-4和VC-3转换位置为零)
  TU-3   当RX_WID[13:8]为零时(VC-4和VC-3转换位置为零)
  VC-12   当RX_WID[13:2]为零时(VC-4、VC-3、VC-2和VC-11转换位置为零)
  VC-11   当RX_WID[13:4]以及RW_WID[1:0]为零时(VC-4、VC-3、VC-2和VC-12转换位置为零)
对于每个VCG类型,DSQ维护全局WR_BUF_SEL状态变量。这些变量根据以上条件进行翻转。
此外,每个VCG维护其自身的WR_BUF_SEL状态变量。在VCG的第一支路信道发现该VCG的WR_BUF_SEL变量不同于相应的全局状态变量时,触发VCG状态变量。这样保证VCG状态变量在相应的日程表循环中仅仅被触发一次。
9.11ANA的TID
根据从LVC模块接收的日程表和信道类型信息,DSQ模块产生如下的提供至ANA的dsq_ana_tid信号:
Figure GSB00000798550501281
“vct_rx_uarch”文件具有这些方程的优化的实施形式。
无论与该时隙有关的信道是否与VCAT接收器端口有关或者信道是否处于失败/复位情况,TID产生都在每个时钟循环中进行。
注意,无论信道是否处于复位情况,都不影响信道结构。信道结构信息保持在单独的STS级寄存器中。
9.13伪代码
//全局写缓冲器选择更新检查
Figure GSB00000798550501291
Figure GSB00000798550501311
Figure GSB00000798550501321
Figure GSB00000798550501331
Figure GSB00000798550501341
1综述
1.1功能分解模型
图8示出了虚拟级联发送(VCT_TX)功能块的高阶元件。VCT_TX 800与CPU 802连接,并包括用于与CPU进行通信的配置模块804。该配置模块还与负载排序器806(其与输出OFR 808进行连接)进行通信,并且还与通道开销发生器810进行通信。该配置模块以及通道开销发生器都接收来自全局复帧指示(indicator)以及组标识(GID)发生器模块812的输入。负载排序器和通道开销发生器是复用的,都是SPE字节和控制数据,以及输出被发送至交叉连接(CXC)。VCT_TX功能块的数据路径完全由来自CXC的请求驱动,从而产生了帧日程表(包括VT超级帧循环)。
当CXC在给定的时钟循环中进行有效请求时,其指定信道ID和帧位置信息,例如行号和列号。根据这样的信息,TX_VCAT功能块确定来自CXC的请求是否用于负载字节或者用于开销字节,并且在以后的情况中,其确定应该产生哪种具体的开销字节。负载请求被传送至负载排序器功能块,而开销字节请求被传送至通道发生器功能块。来自这些功能块的数据输出是同步的,并且多路传输至CXC的数据输入。
为了支持VCAT功能,将自OFR提取的负载字节传送通过负载排序器。因为分配至VCG的支路信道的序列号可以出现与信道的发送间隙顺序不同的顺序,在发送至CXC之前,需要缓冲自OFR提取的负载数据字节。在本文中描述了选择的特定的负载排序算法。
通道开销发生器提供了对于所有通道开销字节的响应。然而,不计H4/Z7字节,产生了0。通道开销发生器使用全局MFI和GID计数器和每个信道内部状况来产生H4/Z7开销字节。
为了支持LCAS,维持存储VCAT正向控制信息和LCAS反向控制信息的配置存储器的两个复制。当软件要求改变特定LCAS VCG的配置以更改其支路状态或者更新LCAS反向控制信息时,响应于LCAS控制包的开始,全局MFI计数器用于使配置变化与帧边界同步。
附图中没有示出用于信道的数据路径,该信道承载数据包数据,但不是虚拟级联。然而,在本文中以动作说明的形式描述了该信道的数据流处理。2负载排序和解序算法
根据本发明的一个实施例,用于执行负载排序算法的***和方法对于从数据包侧根据VCG支路信道的发送间隙数顺序提取的字节重新排序,以匹配这些信道的编程序列顺序。其还配置成处理动态VCG支路状态变化。
VCT_TX功能块所使用的负载排序算法可以在不同级别中进行描述。在一个级别中,描述了用于单个VCG的基本的重新排序算法,其是整个负载排序算法的核心。重新排序算法利用双重缓冲来处理VCG支路状态变化以支持LCAS。
应该指出的是,在VCT_RX功能块的解序器模块设计中,可以重新使用基本的重新排序算法。实际上,可能在两个功能块中使用相同的重新排序核心逻辑。
接着,描述了在VCT_RX功能块环境中该算法如何为多个VCG进行工作。此处关键点在于不同类型(即,支路信道的类型)的VCG具有不同的日程表循环周期。例如,忽略无效时钟循环,STS-1类型的VCG将具有48个时钟的循环日程表,而VT-1.5/TU-11类型的VCG将具有1344个时钟的循环日程表。VCG的日程表循环周期的构思在VCT_TX功能块中是重要的,因为负载排序算法利用日程表循环来控制VCG在读和写过程之间何时变换。
最后,引入了基于最大化VCG尺寸的VCG缓冲器对池(pair pool)的概念,给出的缓冲器对支持该最大化VCG尺寸。对于降低缓冲存储器的数量,这是最佳技术。因为VCG支路状态变化,要求重新排序算法的扩展,用于在来自不同池的缓冲器对之间进行切换。
2.1用于虚拟级联组(VCG)的重新排序算法
图9示出了重新排序算法如何将一对缓冲器用于每个VCG。每个缓冲器的字节容量等于或大于VCG支路的数量。读和写过程在这两个缓冲器之间进行切换。当写过程写入一个缓冲器时,读过程从另一缓冲器中读取数据。注意,两个过程都由CXC请求所驱动。
写过程为每个VCG维护NEXT_WR_POS状况变量。最初,该变量被设置为零。当CXC为给定的信道要求负载字节时,写过程将字节从利用该信道的TX_PL_LPID配置参数的OFR中提取出,并在利用NEXT_WR_POS状况变量索引的位置处将其存储在该VCG的当前写缓冲器中。
在每次将字节写入VCG的当前写缓冲器时,VCG的NEXT_WR_POS状况变量逐一地增加。在写入VCG的字节数等于该VCG的尺寸时,再次将该变量设置为零,并且下一次写入该VCG的步骤会在交换缓冲器之后发生。
当CXC为给定的信道要求负载字节时,读过程在对应于该信道的配置VCAT序列号的位置,从VCG的当前读缓冲器中加载字节。因此不像写操作,连续的读取不可以访问当前读缓冲器中连续位置。
重新排序算法不知道VCG的尺寸,并且因此不能由其自身确定何时在读和写过程之间切换VCG缓冲器。假定,这被分别地追随,并且缓冲器将进行切换,在外部代理的控制下NEXT_WR_POS变量将被重置。在VCT_TX功能块的情况中,因为给定类型的VCG的所有支路应该在用于该类型的一个日程表循环中写入一个字节,可以切换缓冲器,并且可以在该类型的日程表循环开始或结束时重置该类型的所有VCG的NEXT_WR_POS状况变量。
注意,重新排序算法假定,到写完成时,来自之前循环的读操作也完成。因为读和写都从相同的日程表驱动,所以对于VCT_TX功能块这明显是正确的。注意,因为IFR每时钟可以接收新请求,而不会停止,所以这个假设还支持VCT_RX功能块。VCT_RX功能块需要处理写停止,但是这在重新排序算法围之外处理。
2.1.1动态支路改变
为了处理动态VCG支路改变,读过程根据其使用的配置值在写过程之后运行一个循环日程表。配置变化可以仅仅对与LCAS控制数据包的开始相对应的帧边界产生影响。所以对于给定类型的VCG,在该类型的第一次循环日程表时,写过程可以利用新的配置(根据哪个信道是该VCG的支路以及是要求的数据,即,控制字为NORM/EOS的信道),该循环日程表类型与帧一致,该帧与该类型的LCAS控制数据包的开始一致,而读过程利用之前的配置(哪个信道是该VCG的支路以及是要求的数据和它们的序列号)。在下一个日程表循环中,读过程也利用新的配置。
在VCG的初始化期间,在支路信道摆脱复位状态之前,发明人假定软件将用于该信道的控制字的复制设置为IDLE。因此,读或者写过程会在初始化期间访问重新排序缓冲器。然后,在一些或全部的支路信道的控制字配置被设置为NORM/EOS时,写过程将首先发现配置改变,并且开始在读过程发现配置改变和开始读取之前开始写一个循环。
在下一章节中提供的实例示出了动态配置改变之下的算法的运行。为了简化,发明人在实例中将考虑STS-3帧中的单个高阶VCG。
2.1.2重新排序算法运行实例
在该章节提供的实例中,考虑开始具有两个支路的单个VCG。在每个时隙中,实例示出了从OFR中提取并写入缓冲器的数据字节、从缓冲器中读取并传送给CXC的数据字节、以及缓冲器的内容。
Figure GSB00000798550501381
表A:初始支路的实例
Figure GSB00000798550501382
表B:支路附加实例
在表A中示出的第一实施例显示了从循环0开始的算法运行(即,STS-1的第一负载字节0),假设循环0对应于高阶复帧开始。注意,将VCG配置从之前的循环中不具有激活支路修改为具有两个激活支路(即,STS-1的最后负载字节2),其被标号为-1。
在表B中提供的下一个实例示出了当在下一复帧中将新支路增加至VCG时的算法运行,其在日程表循环12,384处开始,再次注意,因为在写过程之后,读过程落后了一个循环,所以配置在复帧边界的末端(即,日程表循环12,383)发生变化。发明人假定VCG缓冲器的尺寸至少为3字节以容纳新的支路增加。
在表C中提供的最后的实例示出了在下一复帧处将具有序列号0的支路从VCG中去除时的算法操作,其在日程表循环24,768处开始。
表C:支路去除实例
2.1.3处理LCAS临时支路去除
LCAS协议利用DNU控制字来表示支路被临时去除。当信道处于DNU状态时,其不承载负载数据。在写入侧,硬件应该因此不在该信道的时隙中将负载数据从OFR中提取出。在读取侧,其应该发送零。
然而,在LCAS控制数据包中传送的序列号在一个或更多支路处于DNU状况时不发生变化。如果使用应该在LCAS控制数据包中发送的序列号来控制读处理,那么重新排序算法在VCG的一个或更多支路处于DNU状况时不会正确地运行。因此,硬件利用负载和开销的单独的序列号来处理临时支路去除。
表D示出了在具有序列1的支路进入DNU状态而不是被永久删除时算法如何运行。假定循环12384对应于H4字节启始第一LCAS控制数据包的帧中的第一日程表循环,其表示该支路的DNU。对于小于一个日程表的16个帧,即,直到循环24767,负载配置不会发生变化。在该日程表循环处,负载配置改变。
Figure GSB00000798550501401
表D:临时支路去除实例
注意,将用于负载重新排序的、被称为TX_VCAT_PL_SQ的序列号配置为仿佛支路被清除了一样,尽管在开销中使用的、被称为TX_LCAS_OH_SQ的序列号没有发生变化。
2.2考虑多个VCG的负载排序算法
下面的表格示出了负载排序算法如何以四个不同类型的VCG运行。缓冲器A和B代表两个复制数据缓冲存储器,其用于支持重新排序算法的双重缓冲方案。假定,用于所有信道类型的日程表产生在时钟0处开始。
根据(有效)时钟循环数目的这些VCG的日程表循环周期在下表中示出:
  VCG号   类型   日程表翻转周期
  1   STS-3c   16
  2   STS-1   48
  3   VT-2   1008
  4   VT-1.5   1340
因为不同信道类型的日程表循环周期之间的差异,对于每个VCG类型,需要清楚重排序缓冲存储器的哪个复制应该被用于写入以及哪个复制用于读取。当日程表为给定信道类型循环时,该类型的所有VCG切换它们的重排序缓冲存储器的写/读视图。图10示出了具有不同类型VCG的负载排序算法。
注意,通过调整读和写处理管道,可以将单端口存储器用于数据缓冲器,使得在给定的时钟内,仅仅一个VCG从缓冲存储器中读取和写入。
2.3重排序缓冲器池
根据重排序缓冲器的容量,将重排序缓冲器组合进下列池中:
·64字节池;
·32字节池;
·16字节池;以及
·8字节池。
VCG由软件根据该VCG的尺寸,分配给具体池中的重排序缓冲器。例如,如果VCG最初具有10个支路信道,可以将其分配给16字节池中的重排序缓冲器。如果稍后需要将该VCG的尺寸增加超过16个支路,那么会需要将VCG映射给其中的较大的缓冲器。通过相同的标记,如果VCG的尺寸在未来降低至低于8,VCG可以切换位8字节缓冲器对,以使16字节缓冲器对对于可能需要它的另一VCG有效。在以下章节中将对缓冲器对之间的该切换机制进行描述。
给出可能需要虚拟级联的信道的总数,可以确定每个池需要具有的缓冲器对的数目,以在VCG组合中不具有限制。对于1344个信道,我们可以进行如下操作:
1.33个支路VCG的最大号是40。因为可以用于这些VCG的唯一的池是64字节池,所以64字节缓冲器池的容量必须是40;
2.17个支路VCG的最大号为79。对于它们,既可以利用64字节池也可以利用32字节池。如果对于它们使用64字节池中的所有缓冲器对,在32字节池中会需要79-40=39个缓冲器对;
3.9个支路VCG的最大号为149。对于它们,可以利用64字节池、32或者16字节池。如果对于它们使用64字节池、32字节池以及16字节池中的所有缓冲器对,在16字节池中会需要149-79-40=70个缓冲器对;
4.8个支路VCG的最大号为168。对于它们,可以利用64字节池、32字节池或者16字节池。如果对于它们使用64字节池、32字节池以及16字节池中的所有缓冲器对,在8字节池中会需要168-70-39-40=19个缓冲器对。
总之,支持1344信道的每个池的需要的容量如下:
  池类型   池容量
  64字节   40
  32字节   39
  16字节   70
  8字节   19
要求具有缓冲器池优化的缓冲字节的整个数量为10160字节。没有这样的优化,即,假定每个VCG可以具有64个支路,要求的字节会是32768字节。忽略涉及支持缓冲器池的存储器结构的低效,这表示节约了大约69%。
注意,因为重新排序缓冲器的整体数量(168)大于需要被支持的VCG的数量(128),所以不关心使用了所有VCG以的情况且它们中没有一个具有超过8个的支路。
2.3.1切换重排序缓冲器
从一种类型的重排序缓冲器切换至另一类型在日程表边界处发生。因为读和写过程毕竟在帧边界上的重排序缓冲器的两个缓冲器之间的变化,从一种类型的重排序缓冲器切换为另一类型可以像处理动态支路变化一样使用相同的方法,即,通过在写过程之后,使得读发现配置改变了一个日程表。对于重排序缓冲器切换,VCG变成重排序缓冲器映射配置。
图10示出了应该怎样完成重排序缓冲器切换。在日程表循环N中的较小的缓冲器对是VCG使用的当前重排序缓冲器。在循环N+1中,写过程使用新的缓冲器对,但是读过程从旧缓冲器对中读取。从循环N+2开始,对于读和写过程,VCG已经切换至新的较大的缓冲器对,而且旧的缓冲器对可以返回到池。
软件需要指定VCG应该使用的下一个重排序缓冲器,并向硬件提供关于受影响的VCG请求的变化的指示。一旦硬件发现到指示,其将首先在下一日程表边界处将该VCG的切换写处理切换至新缓冲器。在下列日程表边界中,读过程也将切换到新缓冲器。
图11示出了在缓冲器对之间进行切换的实例。注意,重排序缓冲器切换可以发生在任何日程表边界处,所以其可以从发生在复帧边界的支路配置变化中分离出来。例如,在将新支路增加给VCG之前,软件可以首先将VCG切换至新缓冲器或者较大的容量,并且接着将新支路增加给VCG。当支路被去除时,软件可以在完成去除操作之后,将VCG切换至较小的缓冲器对。
另一方面,对于为什么重排序缓冲器切换不能在支路配置变化的同时在VCT_TX功能块中进行,没有任何原因。通过组合它们,相同的软件配置变化机制可以用于进行VCAT正向配置改变。发明人假定这是章节3中描述的配置模式中的一种情况。
2.3.2重排序缓冲器切换样例
表E提供了在缓冲器切换期间如何利用两个重排序缓冲器的一个实例。在该实例中,利用具有两个字节容量的重排序缓冲器1在日程表循环0中初始化VCG。在循环2中开始,VCG切换至重排序缓冲器2,其具有3个字节的容量。在循环4的结束处,完成切换操作,并且重排序缓冲器1可为另一VCG使用。
Figure GSB00000798550501441
表E:切换至较大的缓冲器对实例
3配置模型
一些配置参数在信道级进行说明,而另一些在VCG级进行说明。根据它们是否各自指正向或者反向,将信道级参数加上前缀TX_CH,并将VCG级参数加上前缀TX_SO或者TX_SK。
除了TX_CH_SO_LPID参数之外,所有的配置参数可应用于是VCG支路的信道。这些参数中的一些仅仅应用于LCAS VCG。而其他参数应用于非LCAS和LCAS VCG。通过将LCAS用在参数名中区分仅仅应用于LCAS VCG的参数。通过将VCAT用在参数名中区分应用于非LCAS和LCAS VCG的参数。
当存在任何一种映射至给定逻辑端口的未复位发送信道时,在某种意义上,控制发送逻辑端口的负载类型的配置参数,即TX_SO_VCAT_EN以及TX_SO_LCAS_EN参数,是静态的,用于该逻辑端口的这些参数值不应该发生变化。
在某种意义上,所有其他的参数是动态的,可以改变它们而不用复位信道。然而,在TX_CH_SO_LPID参数的情况下,如果信道当前被分配给VCG(即,置位SO_VCAT_EN),那么在改变该信道的TX_CH_SO_LPID参数之前,应该首先将该信道的TX_CH_VCAT_CTRL参数改变为IDLE(并且完全地改变)。
软件可以独立地在四个级中的一个上触发配置改变:
·VCG级VCAT/LCAS正向配置;
·VCG级LCAS反向MST以及RS_ACK配置;
·信道级LCAS反向***接收器端口以及***使能的配置;以及
·映射配置的信道级源端口。
在VCG正向或反向级改变的配置参数要求两个复制以支持动态VCG配置改变,从而支持LCAS,并且还在非LCAS VCG的情况下支持VCG有序地抵达目的地并停止。
注意,即使在信道级指定了一些动态配置参数(如TX_VCAT_CTRL),但是在VCG级它们改变。这允许包括多个支路信道的配置改变同时进行。
下表提供了一列配置参数、它们的静态/动态类以及它们在哪种级改变:
  配置参数   静态或动态   改变级   复制
  TX_CH_SO_LPID   动态1   信道正向   1
  TX_CH_VCAT_PL_SQ   动态   VCG正向   2
  TX_CH_LCAS_OH_SQ   动态   VCG正向   2
  TX_CH_VCAT_CTRL   动态   VCG正向   2
  TX_CH_LCAS_REV_INS_EN   动态   信道反向   1
  TX_CH_LCAS_REV_INS_SK_LPID   动态   信道反向   1
  TX_SO_VCAT_EN   静态   N/A   1
  TX_SO_LCAS_EN   动态   N/A   1
  TX_SO_VCAT_RBID   动态   VCG正向   2
  TX_SK_LCAS_MST   动态   VCG反向   2
  TX_SK_LCAS_RS_ACK   动态   VCG反向   2
注意1:即使TX_CH_SO_LPID参数为动态,为了有序地保证VCG配置改变,如果信道在当前被分配至VCG,那么首先应该将该信道的TX_CH_VCAT_CTRL参数改变为IDLE并在完成改变它的TX_CH_SO_LPID参数之前完成正向改变。
对于具有两个复制的配置参数,相同类型的配置变化控制机制用于正向或反向VCG级变化。软件利用选择位指定硬件应该使用的配置的复制。硬件使此变化与合适的帧边界同步,并且在变化由中断完成时告知软件。
在从先前的配置切换为新配置期间,因为硬件可以使用之前的配置,所以软件不应该改变VCH的之前的配置。切换时间的量取决于正向配置的反向是否发生变化以及VCG是否是LCAS使能的。
3.1配置存储器
存储静态配置参数以及动态配置改变控制参数的存储器必须是双重端口,以支持硬件和软件的同时访问。
存储静态配置参数的存储器也是双重端口,以降低软件在之前的变化处于处理中时必须为实现新改变(很可能变化为其他VCG)而进行等待的时间量。这是因为在配置切换处理期间,对于低阶LCAS VCG,配置参数的两个复制都需要在高达32ms内有效。
因为CXC提供具有每个请求的这样的信息,所以在VCT_TX功能块中不要求信道类型配置。
没有示出在配置存储器中用于错误检测的奇偶校验位。
注意,用于VCT_TX的全局复位位保持在功能块之外。
3.1.1全局配置
  参数   尺寸   全局复位后的初始值
  FAST_LOCK_EN   1   0
  TX_MFI_EN   1   0
  TX_SHORT_FRAME_EN   1   0
FAST_LOCK_EN应用至VCT_TX和VCT_RX。所以其应该保持在VCT_TX功能块之外。TX_MFI_EN和TX_SHORT_FRAME_EN仅仅应用于VCT_TX功能块,但是它们也可以保持在该功能块之外。
注意,设计这些全局配置参数的目的在于加速验证。它们不应该被包括在数据表中。
3.1.2每个信道配置
3.1.2.1TX_LPID_CFG_MEM
下列配置参数被组合进1344×9的双重端口存储器中,其由高阶和低阶信道共享:
  参数   尺寸   全局复位后的初始值
  TX_CH_RST   1   1
  TX_CH_SO_LPID   8   未定义
  TX_CH_LCAS_REV_INS_EN   8   0
  TX_CH_LCAS_REV_INS_SK_LPID   8   未定义
3.1.2.2TX_CH_VCAT_FWD_CFG_MEM_0/1
下列配置参数被组合进1344×16的双重端口存储器中,其由高阶和低阶信道共享:
  参数   尺寸   全局复位后的初始值
  TX_CH_VCAT_PLSQ   6   未定义
  TX_CH_VCAT_OH_SQ   6   未定义
  TX_CH_VCAT_PL_CTRL   4   IDLE
存在这样的存储器的两个复制以支持动态VCG配置改变。软件利用TX_SO_VCAT_FWD_SEL配置参数制定每个VCG切换要求。硬件将TX_SO_VCAT_FWD_SEL配置参数与内部TX_SO_VCAT_FWD_COPY状况变量进行比较。如果它们不同,这就意味着软件已经要求改变。当切换进行时,硬件将置位TX_SO_VCAT_FWD_CHG_DONE中断状态位。
3.1.3每个VCG配置存储器
3.1.3.1TX_SO_PL_TYPE_CFG_MEM
下列配置参数被组合进128×2的存储器中:
  参数   尺寸   全局复位后的初始值
  TX_SO_VCAT_EN   1   0
  TX_SO_LCAS_EN   1   0
当信道脱离映射至该端口的复位时,不应该改变这些参数。
3.1.3.2TX_SO_VCAT_RBID_CFG_MEM_0/1
下列配置参数被组合进双重端口128×10的存储器中:
  参数   尺寸   全局复位后的初始值
  TX_SO_VCAT_RBID   10   未定义
存在这样的存储器的两个复制以支持动态VCG配置改变。软件利用TX_SO_VCAT_FWD_SEL配置参数制定每个VCG切换要求。硬件将TX_SO_VCAT_FWD_SEL配置参数与内部TX_SO_VCAT_FWD_COPY状况变量进行比较。如果它们不同,这就意味着软件已经要求改变。当切换进行时,硬件将置位TX_SO_VCAT_FWD_CHG_DONE中断状态位。
3.1.3.3SO_VCAT_FWD_SEL_CFG_MEM
下列配置参数被组合进双重端口128×2的存储器中:
  参数   尺寸   全局复位后的初始值
  TX_SO_VCAT_FWD_SEL   1   0
  TX_SO_VCAT_FWD_CHG_INT_EN   1   0
3.1.3.4SK_LCAS_REV_SEL_CFG_MEM
下列配置参数被组合进双重端口128×2的存储器中:
  参数   尺寸   全局复位后的初始值
  TX_SK_LCAS_REV_SEL   1   0
  TX_SK_LCAS_REV_CHG_INT_EN   1   0
3.1.3.5SK_LCAS_REV_CFG_MEM_0/1
下列配置参数被组合进双重端口128×65的存储器中:
  参数   尺寸   全局复位后的初始值
  TX_SK_LCAS_INS_MST   64   1
  TX_SK_LCAS_INS_RS_ACK   1   0
存在这样的存储器的两个复制以支持动态VCG配置改变。软件利用TX_SK_LCAS_REV_SEL配置参数制定每个VCG切换要求。硬件将TX_SK_LCAS_REV_SEL配置参数与内部TX_SK_LCAS_REV_COPY状况变量进行比较。如果它们不同,这就意味着软件已经要求改变。当切换进行时,硬件将置位TX_SK_LCAS_REV_CHG_DONE中断状态位。
4中断状态模式
4.1中断状态存储器
软件具有对于中断状态存储器的读和写访问,以读取和清除中断状态位。硬件仅仅需要写访问以设置中断状态位。
如果来自软件的中断状态位读请求与来自硬件的写(即,置位)请求冲突,那么来自写请求的新值作为读结果进行传送。
如果来自软件的中断状态清除请求与来自硬件的置位请求冲突,那么置位中断状态。
4.1.1每个VCG中断状态存储器
4.1.1.1TX_SO_VCAT_FWD_CHG_DONE_MEM
下列中断配置参数被组合进双重端口128×1的存储器中:
  参数   尺寸   全局复位后的初始值
  TX_SK_LCAS_REV_CHG_DONE   1   0
5状况模式
除非在诊断模式中可能,状态存储器不需要通过软件访问。
在该章节中,除了负载排序器缓冲器之外,在所有状况存储器中未示出用于错误检测的奇偶校验位。
5.1状况存储器
5.1.1每个信道状况存储器
5.1.1.1TX_CH_LCAS_STATE_MEM
下列状态变量被组合进双重端口的1344×12存储器中,其由高阶和低阶信道共享:
  参数   尺寸   信道复位后的初始值
  TX_CH_LCAS_CRC   8   0
  TX_CH_LCAS_CRC_ALIGNED   1   0
5.1.2每个VCG状况存储器
5.1.2.1TX_SO_VCAT_STATE_MEM
下列状态变量被组合进双重端口128×10的存储器中:
  参数   尺寸   全局复位后的初始值
  TX_SO_VCAT_FWD_COPY   1   0
  TX_SO_VCAT_FWD_TOGGLE_STATE   2   0
  TX_SO_VCATWR_SEL   1   0
  TX_SO_VCAT_WR_POS   6   0
尽管以上存储器假定每VCG保持写缓冲存储器选择状况,出于这样的目的,可以使用每个VCG类型的全局变量。
5.1.2.2TX_SK_LCAS_STATE_MEM
下列状态变量被组合进双重端口128×3的存储器中:
  参数   尺寸   全局复位后的初始值
  TX_SK_LCAS_REV_COPY   1   0
  TX_SK_LCAS_REV_TOGGLE_STATE   1   0
  TX_SK_LCAS_TOGGLE_MFI2_LSB   1   未定义
5.2全局状态变量
  参数   尺寸   全局复位后的初始值
  HO_MFI1   4   0
  HO_MFI1   8   0
  HO_GID   16   0
  LO_MFI1   5   0
  LO_MFI1   5   0
  LO_GID   16   0
5.3负载重排序缓冲存储器
5.3.1PL_RECORDER_BUF_MEM_0/1
存在负载重排序缓冲存储器的两个复制,以实现由重新排序算法使用的双缓冲方案。可以通过调整读和写处理管道利用单端口存储器,使得在一个时钟内,从缓冲存储器中读取和写入仅仅一个VCG。
调整器的说明
6引言
Orion的VC/LCAS调整功能块负责去偏斜(de-skew)和解序属于相同虚拟级联组(VCG)的支路信道。去偏斜通过在外部DRAM中补偿不同信道积累的网络差分延时而执行。
VCT调整器在每个时钟循环从VCT分析器接收一个字节的数据、以及该字节的控制信息。数据序列由时间交叉(time interleaved)同步光网络(HO_SPE或者LO_VT_SPE)组成。在不同的SPE之间不存在未进行复帧调整的帧。它们之间的差分延时是任意的,并且取决于外部网络拓扑结构。
在通过调整器后,属于相同VCG的所有信道的SPE被复帧调整。在VCT调整器的输出端,使每个VCG(不同的)的毗邻的负载字节有效。这足以使VCT解序器恢复字节和恢复VCG负载。
图12示出了VCT调整模块中的各种模块。VCT调整器由写管理器模块和读管理器模块组成。其还利用由配置信息、日程表生成以及故障处理逻辑产生的信息。写管理器临时地在某一时刻将达到一个字节的数据存储在每个信道FIFO上。在积累了用于给定信道的足够字节之后,它们立即以突发形式发送到DRAM。读管理器执行反向处理:其从DRAM中以突发形式读取数据,并且在某一时刻发送出一个字节之前,将数据存储在每个信道FIFO上。
调整处理本身由读管理器执行。这通过选择性清空信道FIFO而进行,使得给定VCG的所有FIFO数据被调整。
整个VCT调整器充分地利用自由运行的TDM日程表,以将数据从一个阶段移至下一个阶段。所有日程表遵循信道的相同顺序(通过配置进行确定),但是每个日程表可以根据需要被移动的数据量以不同的速度循环。
同样,故障处理单元确定在任何给定时间时激活哪个信道和VCG。图12的***示出了***100,其具有诸如MFI分析器的分析器、VCT调整器1204,VCT调整器1204包括写管理器1206以及读管理器1208。***还包括MCT 1210,其可以位于***的内部或者外部。输出被发送至解序器1212。
7日程表
在VCT调整功能块中存在5种状态,其中,自由运行的日程表用于决定下面为哪个信道服务。出在该目的,存在4个不同的日程表(阶段中的2个共享相同的日程表)。每个日程表遵循通过配置确定的相同顺序。然而,每个不同的日程表利用不同的速度以该顺序进行,产生不同的周期。VCT调整功能块中4个日程表具有下列时钟循环周期:1×1344、2×1344、56×1344以及62×1344。
图13示出了日程表如何由VCT调整器产生。日程表A(尺寸为X,其中X为1、2、56或者62)具有用于5个转换VC-4、VC-3、VC-2、VC-12以及VC-11中的每个的计数器。VC-4转换尺寸为16,VC-3转换尺寸为3,VC-2转换尺寸为7,VC-12转换尺寸为3,以及VC-11转换尺寸为4。
每X个核心时钟循环,VC-4计数器增加1。在15时,计数器翻转回0。因为每个VC-4循环,VC-3计数器增加1。同样地,因为每个VC-3循环,VC-2计数器增加1.最后,对于每VC-2循环,VC-11和VC-12计数器增加1。
对于每个其他的日程表,执行相同的机制,只是用于更新第一转换(VC-4)的周期可以变化。
以这样的方式,VCT调整功能块产生了不同速度的四个日程表。在任何时间,每个日程表提供当前的VC-4、VC-3、VC-2、VC-12以及VC-11计数器。这样的信息随同信道配置一起足以确定下一个将被处理的信道号。
如表7所示,信道配置要求48×9个比特。不得不为每个日程表复制这样的信息以避免读取冲突。
Figure GSB00000798550501531
Figure GSB00000798550501541
表7:在VCT调整功能块中要求的信道信息
8DRAM组织和共享状况
VCT调整功能块以64字节转换写入和读取数据至/从外部DRAM。外部DRAM可以支持64MB的VCT数据。如果要求少些的存储,DRAM还可以配置成仅仅支持16、32或者48MB的存储器。注意,这是用于整个VCT功能块的全局配置设置。
Figure GSB00000798550501542
表8:DRAM尺寸配置
在每个信道FIFO中组织DRAM中的VCAT数据。这样的FIFO高达1344个。每个FIFO的最大尺寸取决于信道的类型以及VCAT DRAM(16MB-64MB)的全局尺寸。每个FIFO利用DRAM中固定的位置,其在VCT功能块摆脱复位之后固定。
以将连续读和写发布给不同的DRAM存储单元的方式,确定每个FIFO使用的DRAM位置。表F示出了如何在DRAM中配置不同的VC-4(sts-3),从而对VC-4的连续存取将导致0到3存储单元持续地周期地交叉。
Figure GSB00000798550501551
表F:VCAT FIFO的DRAM存储单元交叉
每个FIFO的尺寸取决于信道类型和整个VCAT DRAM尺寸。最小的FIFO对应于16MB大小的VCAT DRAM中的vt1.5信道,而最大的FIFO对应于64MB大小的VCAT DRAM的sts-3c信道。为了容纳这样的可变FIFO尺寸,发明人定义了VCAT存储器单元(VMU),其是可以重新分配给不同FIFO的基本存储器尺寸。
VMU具有4096或者4KB的尺寸。VMU可以支持来自VCT功能块的64个64字节转换。当处于16MB模式时,vt1.5信道被分配DRAM存储的3个VMU,vt 2被分配4个VMU,sts-1被分配84个VMU,并且sts-3c分配256个VMU。如果VCAT DRAM具有多于16MB,就成比例地增加每个信道存储。
可以使用固定公式来计算由给定的FIFO所使用的DRAM中的位置。该信道的日程表索引以及信道类型作为公式的输入来使用,以计算FIFO的开始地址。FIFO的最大尺寸仅仅取决于信道类型。将下列变量A、B、C、D以及E设置为用于给定信道的日程表索引:
  索引   值   索引   值
  VC-4   VC-4:a1a2a3a4(4bits)   VC-3   VC-3:B(2bits)
  VC-2   VC-2:C(3bits)   VC-12   VC-12:D*(2bits)
  VC-11   VC-11:E(2bits)
表9:用于给定信道的日程表索引
利用日程表索引和信道类型,表10说明了用于计算存储单元号、开始地址以及DRAM中每个信道FIFO的最大尺寸的公式。倒不是在这些公式中,VMU为4KB,并且“S”是说明VCAT(0-16MB、1-32MB、2-48MB、3-64MB)使用的整个空间的全局配置寄存器。
Figure GSB00000798550501561
表10:用于VCAT的DRAM分配
注意,无论该空间是否用于sts-3c,以上的存储器分配方案都为每个1MB留下16KB的空间。
以上计算产生了2位的存储单元号和18位的存储器地址(在64字节单元中)。
对于每个信道FIFO,调整功能块需要携带状态信息:
Figure GSB00000798550501562
表11:共享用于DRAM FIFO的状态
指针存储在64字节单元中,并且添加至信道FIFO基本地址以获得实际的DRAM存储器单元。当将新的64字节块存储进DRAM中时,写指针由写管理器进行更新。当从DRAM获得新的64字节转换,读指针由读管理器进行更新。
读指针由写管理器进行读取,以保证FIFO未被填满。写指针也由读管理器进行读取,以验证FIFO不为空。
当FIFO由读管理器进行复位时,其将首先将无效FIFO位设置为1,接着,将0写入写和读指针。一旦FIFO脱离复位状态,写管理器将首先将新的有效数据的MFI号写入“头MFI”字段中。接着,其将新64字节转换写入DRAM,更新写指针,且不设置无效FIFO位。
9复位、故障以及告警
调整功能块支持每个信道和每个VCG置位,两个置位都由软件通过写入适当的RX配置寄存器来启动。当信道处于置位状态时,调整功能块不会处理该信道,并将清空属于该FIFO的任何FIFO。当整个VCG处于复位状态时,其将使得所有的支路信道处于复位状态。
调整功能块还支持每个信道和每个VCG故障模式。故障模式非常类似于复位模式,只是该模式可以由硬件而不是由软件直接触发。对处于故障模式下的信道不进行处理,并且清空它的FIFO。故障模式中的VCG将迫使所有它的支路处于故障模式下。不像影响整个RX功能块中的信道和VCG的软件复位,故障模式仅仅影响调整功能块中的信道和VCG。
在调整功能块中,还存在两种类型的每个信道告警。当接收来自分析器的告警时,写管理器具有每个信道告警状况。同样地,当接收来自MCT的告警时,读管理器具有每个信道告警状况。下一章节中将描述如何检测告警。
根据给定的信道是否被软件“授权”,故障方案有所不同。授权支路是一种承载或希望承载有效数据的支路。非授权支路是一种未承载有效数据(处于LCAS idle状况)但需要与剩余的VCG结合以处理它的LCAS信息的支路。因为它们的问题不应该影响VCG的其他授权支路,所以区别地对待非授权支路。
图14示出了复位和故障模式如何一起为授权和非授权支路工作。VCG复位和信道复位是由软件写入的配置状况。另一方面,每个信道读取和写入告警是由硬件维护的内部状况。类似地,VCG故障和信道故障也是由硬件维护的内部状况。
利用任何有效日程表的单片逻辑利用复位和告警状况来确定故障状况。
如果VCG的任何授权信道使其读告警置位,将设置VCG故障位。另一方面,如果VCG中没有任何一个信道对其写告警置位,那么VCG故障位就被清除。为了保证清除FIFO的足够的时间,对于1344×64核心时钟循环的最小量,需要确定VCG故障状况。
当VCG处于故障或者复位模式时,那么所有的它的支路(授权的和非授权的)将对它们的故障位置位。还将在信道处于复位模式时置位信道故障位。将仅仅在信道复位、相应的VCG复位以及相应的VCG故障位清除时,清除授权信道故障位。进入的数据也必须处于帧初始状态。
对于非授权支路,告警不会引起VCG故障。相反,信道读告警(非授权支路上)将使得支路进入故障模式。如果信道处于复位状态,信道也将进入故障模式。一旦处于故障状态,非授权信道将设置静止的故障位。
对于非授权支路脱离故障模式,必须没有写告警、没有复位。软件必须清除静止位,并且其必须接收帧的开始。
下表总结了要求维持告警、复位以及故障状况的位。注意,用于复位状态、授权位以及故障静止位的空间位于RX配置中。
Figure GSB00000798550501581
表12:调整功能块告警、复位以及故障状态
10写管理器
图15示出了写管理器的另一简图。
写管理器具有1344个主FIFO,每个信道一个。在每个FIFO之前,存在2字节分段RAM。在所有的主FIFO之后,存在单个62字节RAM,其用于在被作为单个转换发送给MCT之前存储字节。
从CXC抵达的字节存储在对应于其信道的2字节存储器中。自由运行的日程表周期性地将2字节存储器的内容腾空,置入相应的主FIFO中。注意,大部分时间将写入占有2字节的数据,但是有时可以仅仅是1字节或者0字节。
主FIFO由单端口存储器构成。因此,这些FIFO的读出出和写入互相交叉。在每两个写循环之间存在读循环,反之依然。将数据从2字节RAM转换进其相应的FIFO的自由运行日程表全速运行(无空闲)。每两个时钟循环访问一个新的FIFO,并且在该时钟循环中***高达2个字节。每1344×2个循环该周期重复一次。
类似地,自由运行的日程表每62时钟循环选择一次主FIFO,并且将其内容(62字节或更少)传入62字节RAM中。对数据转换的量进行计数。该计数和空字节被预先计划在数据的62字节中,以形成64字节的转换。开销还包括通知入信道的故障(AIS)的比特和保护1字节首部的奇偶校验位。表G示出了64字节的转换发送给MCT。每1344×62个循环此周期将重复一次。这样的情况在图16中示出。
10.1告警和故障状况
如果给定信道从分析器功能块接收具有告警信号的数据,其设置信道写告警状况。当其停止接收告警数据时,将清除写告警状况。
如果信道处于写告警状况,但是不是故障状况,写管理器继续将数据写入MCT,但是该数据由全1组成,同时激活64字节转换中的告警位。2字节和主FIFO未被使用,但无需被清空(只要信道未处于故障模式中)。当未失败信道摆脱写告警时,写管理器继续写入MCT。尽管该数据失效,但将其写入MCT并无危害。
如在下一章节中所示,在64字节转换单元中设置告警位将最终引起读告警和因此而发生的VCG故障。VCG故障还可能由VCG复位或者试图写入完全的FIFO的VCG支路引起。VCG故障接着在所有它的支路上产生信道故障。
如果给定的信道处于故障状态,写管理器不再将数据写入MCT。相反,专用于该信道的时间间隔被用于清空2字节的FIFO、主FIFO以及DRAMFIFO。丢弃由用于该信道的CXC推进的数据。通过照常读取数据而不将数据传递给下一阶段,清空2字节FIFO以及主FIFO。通过置位有效FIFO比特和置位读和写指针,清空DRAM FIFO。
当支路脱离故障状况时(其必须位于帧的开始),将新帧的MFI写入首部MFI字段中。将新数据转换发送给MCT,并更新写指针。最后,FIFO无效比特未置位。
11读管理器
图17示出了读管理器的结构图。读管理器具有1344个主FIFO,一个用于每个信道,每个FIFO具有120字节的规格。在每个FIFO之后,存在2字节分段RAM。在主FIFO之前,存在单个62字节RAM,其用于存储从单个MCT转换接收的字节,同时,将这些字节正被写入主FIFO。
自由运行的日程表每56时钟循环选择一个主FIFO。如果主FIFO级小于58字节,那么对于该FIFO向MCT进行读请求。当进行读请求时,最终将62字节(或少于)写入该FIFO。读请求周期每56×1344时钟循环重复一次。因为每个MCT转换承载至少56字节,这保证了只要在DRAM中存在数据,FIFO不会全部为空。
读管理器维护为还没有接收数据的MCT进行的FIFO请求。当进行新请求时,新的条目安置在该请求不工作(request-on-the-fly)的FIFO的尾部。此条目包括请求的信道ID。当自MCT接收到新的数据片时,恢复请求不工作FIFO的首部的条目。条目上的信道ID表明数据属于的FIFO。
该请求不工作FIFO的最大规格为16个条目。如果FIFO曾满,其预示着DRAM带宽问题。这不是灾难性的事件。读管理器简单地越过当前的时隙(在该时隙不进行新的请求),并保持正常操作。如果这样的溢出情况只是临时的,读管理器最终将补偿丢失的带宽。
如果请求FIFO溢出情况发生得过于频繁,DRAM FIFO最终将溢出并且调整过程将会失败。这表明DRAM带宽不充足。为了能够检测这种情况,读管理器保持记录次数的全局32位状态计数器,检测溢出条件或者不检测未准备好的MCT。无论计数值何时改变,都通过(可屏蔽的)中断告知CPU。
读管理器还可以需要高达16个62字节缓冲器以存储来自MCT的数据突发(burst)。如果写入主FIFO的速度快于用于每两个周期2字节的速度,可以潜在地降低该缓冲。
主FIFO由单端口存储器构成。因此,这些FIFO的读出和写入互相交叉。在每两个写循环之间存在读循环,反之依然。
通过从相应的主FIFO中传送出数据,另一自由运行日程表周期性地填充2字节存储器的内容。每2个循环一次进行2个字节(仅仅在读循环期间)。每1344×2循环该周期重复一次。
另一自由运行日程表从2字节分段RAM中提取数据,以发送给解序器。可以每时钟循环从不同的RAM中读取一个字节。每1344个循环此周期重复一次。章节11.2描述了读状态机如何确定是否读取字节。
11.1告警和故障状况
读管理器通过观察从MCT中读取出的64字节传送单元中的告警位来检测读告警。
如果在授权信道上检测到读告警,那么其将使得整个VCG进入故障状态。然后,这样会使得该VCG的每个支路进入故障模式。如果在非授权信道上检测到读告警,其仅仅使得该信道进入故障状态。
当信道处于故障模式时,读管理器不从MCT中读取数据。在专用于该信道的时间间隙中,读管理器简单地清空相应的主FIFO以及2字节FIFO。在解序器的接口上,其发送一个全1的字节以及告警标识。
当信道摆脱故障模式时,其检查以观察是否清除了DRAM FIFO有效位。一旦清除有效位,其读取用于该信道的首部MFI值。其现在可以继续从MCT中读取数据并与正常操作一起进行。
11.2读状态机
下列状态机描述了为了获得VCG的所有支路的调整而由读管理器执行的操作。对于每个信道,状态机决定位于2字节FIFO首部的字节是否应该保持在其上、是否应该进行读取和丢弃、或者是否读取并传送给解序器。这3种操作的适当组合将字节调整(byte-align)相同VCG的所有支路。
表13示出了为每个VCG所要求的附加状态。每个VCG状态包括当试图调整自身时描述给定VCG情况的信息。调整MFI(AMFI)是目标MFI,整个VCG试图将其自身调整至目标MFI。调整的支路具有锁定给VCG的AMFI的其自身的MFI。SOF位表示VCG的调整支路正面临帧的开始。DRAM位表示存在试图指出调整支路的组(稍后在DRAIN状况时,对其定义)的至少一个支路。最后STALL位表示VCG的至少一个调整支路具有空FIFO。这就意味着该整个VCG需要等待这样的一个支路。
表13:读管理器状态机要求的附加的每个VCG状态
存在每个VCG状况NSOF、DRAIN以及STALL(或者等待)的3个复制。图18示出了如何使用3个复制。在一个日程表循环周期中,状态机写入一个复制,从另一中进行读取,并且清除第三个复制。在日程表循环之后,写复制变为读复制,读复制变为清除复制,并且清除复制变成写复制。
注意,VCG(VC-4、VC-3、VC-2以及VC-11)的每个类型具有不同的日程表循环周期。VC-4日程表每16核心时钟循环循环一次,VC-3日程表每48核心时钟循环循环一次,VC-12日程表每1008循环循环一次,以及VC-11日程表每1344循环循环一次。因此,对于4个VCG类型的每一个,需要一组指针来表示3个复制的哪个为读、写或者清除。
表14示出了该状态机所要求的附加的每个信道状况。
Figure GSB00000798550501631
表14:读管理器状态机所要求的附加的每个信道状态
图19示出了读管理器用来执行调整的算法的高级状态图。当未处于信道故障模式时,每个信道可以处于4种状态中的一种:INIT、WAIT、DRAIN以及GO。
在INIT状态,信道等待从首部MFI字段中获得MFI值。一旦获得当前MFI值,信道可以判断其是否在调整MFI的前部太远(等待状态),或者其是否在调整MFI的后面太远(DRAIN状态)。在WAIT状态中,FIFO从不被清空,而在DRAIN状态中,FIFO总是被清空的,并丢弃数据。当信道MFI与调整MFI相同时,其进入GO状态,其中,其正与处于GO状态的VCG的其他支路一起从FIFO中读取数据。调整所有处于GO状态的支路。每个信道状态位(以及中断)将告知软件是否调整了给定的信道。
下列伪代码更详细地解释了读管理器算法。Subscripts_write、_read以及_clear用于表示正使用3个每VCG复制中的哪个。
1.检查信道故障
Figure GSB00000798550501632
2.初始化以及读取动作
Figure GSB00000798550501641
4.写动作(利用在步骤3之后更新的字节计数和FIFO级)
5.更新CMFI(利用步骤3之后更新的字节计数和FIFO级)
6.更新AMFI(利用步骤5中计算的CMFI值)
7.清除动作
VCG_DRAIN_clear=0
VCG_STALL_clear=0
VCG_NSOF_clear=0
12优化
12.1写主FIFOs
图20示出了如何分配主FIFO。

Claims (18)

1.一种用于在网络中执行本地中心授权服务的***,所述***包括:
数据调整器,其配置成根据支路组来调整输入数据的字节,所述支路组包括虚拟级联组;
本地中心授权服务控制管理器,其配置成响应于自所述数据调整器输入的数据而产生解序控制命令;
解序器,其配置成根据自所述本地中心授权服务控制管理器接收的解序控制命令而解序自所述数据调整器接收的被调整的输入数据;
处理器,其用于配置所述本地中心授权服务控制管理器,其中,所述本地中心授权服务控制管理器包括产生所述解序控制命令的可配置的硬件状态机,且其中所述状态机在执行一个或多个本地中心授权服务操作时是可配置的;
一个或多个FIFO;
虚拟容器/本地中心授权服务调整块,其配置成补偿多个不同信道所积累的网络差分延时,用于对属于公共虚拟级联组的支路信道去除偏斜,其中所述***嵌入SONET传输处理器中,且其中所述调整块包括:
一写管理器,其配置成暂时积累数据,并在为选定的信道积累了预定数量的数据之后,以突发方式将所积累的数据传输到存储设备;
一读管理器,其配置成从所述存储设备读取所积累的数据的突发,将所积累的数据的突发存储在相应于所述选定的信道的FIFO中,并选择性地清空所述FIFO,以便调整存储在所述FIFO中的虚拟级联组的数据;
其中,所述***产生多个自由运行日程表,每个日程表配置成确定在相应的FIFO中的数据内容,且如果所述数据内容低于固定阈值就发起读请求,其中每个日程表遵循预先配置的共同的信道顺序,且其中一个或多个日程表的循环周期不同于其它日程表的循环周期。
2.根据权利要求1所述的***,其中,所述状态机在所述处理器没有参与的稳态条件下操作。
3.根据权利要求2所述的***,其中,所述本地中心授权服务控制管理器监控被调整的输入数据,且所述控制命令基于所监控的被调整的输入数据。
4.根据权利要求2所述的***,其中,所述控制命令基于所述支路组的预定的发送间隙顺序。
5.根据权利要求4所述的***,其中,所述解序器包括至少两个缓冲器,由此允许所述处理器动态地改变所述组的支路状态,同时所述状态机执行所述一个或多个本地中心授权服务操作。
6.根据权利要求5所述的***,其中,所述解序器包括:
一读管理器,其配置成从一个缓冲器中读取支路状态变化数据;以及
一写管理器,其配置成将支路状态变化数据写入另一缓冲器中,其中,所述读管理器和所述写管理器的读和写功能在所述两个缓冲器之间交替进行。
7.根据权利要求6所述的***,其中,所述读和写功能响应于交叉连接请求而执行。
8.根据权利要求1所述的***,其中,所述数据调整器配置成调整输入数据的信道,且所述数据调整器包括:
写管理器,其配置成将输入数据接收进第一存储器中;
多信道透明模块,其具有第二存储器,所述第二存储器配置成存储自所述写管理器接收的输入数据,且所述写管理器将所述输入数据写入所述第二存储器;以及
读管理器,其配置成将存储在所述第二存储器中的输入数据传输到第三存储器,其中所传输的输入数据被调整。
9.根据权利要求1所述的***,其中,
所述状态机配置成存储和管理与本地中心授权服务有关的状态数据。
10.根据权利要求9所述的***,其还包括:
虚拟级联模块,其配置成执行虚拟和标准级联处理,以及
交叉连接接口。
11.根据权利要求10所述的***,其中,
所述虚拟级联模块包括数据包引擎接口,所述数据包引擎接口配置成通过SONET/SDH逻辑端***换被传输的数据包数据,且所述交叉连接接口配置成与内部SONET/SDH交叉连接交换SONET/SDH业务,在所述SONET/SDH业务中数据被映射。
12.根据权利要求11所述的***,其还包括:
SONET/SDH交叉连接;以及
STM-16接口,其中所述虚拟级联模块配置成使用所述STM-16接口与所述交叉连接交换被传输的SONET/SDH业务,在所述SONET/SDH业务中数据被映射。
13.根据权利要求1所述的***,其中,所述支路组包括多个虚拟级联组,其中正向控制信息在每信道的基础上配置,并在每虚拟级联组的基础上触发;且其中反向控制信息在每虚拟级联组的基础上配置并在每虚拟级联组的基础上触发。
14.根据权利要求1所述的***,其还包括一自由运行日程表,所述自由运行日程表确定所述FIFO中的数据内容,以及如果所述数据内容低于固定阈值,则发起读请求。
15.根据权利要求1所述的***,其中,所述读管理器对所述多个不同信道中的每个信道包括一个FIFO,以及其中,在每个FIFO上所述数据一次到达1字节。
16.一种用于在本地中心授权服务中调整输入数据的方法,其包括:
使用写管理器积累数据;
在为选定的信道积累了预定数量的数据之后,将所积累的数据的突发传输到存储设备;
将所积累的数据的突发从所述存储设备传送到预定用于所述选定的信道的FIFO,其中所积累的数据的所述突发包括与虚拟级联组相关的数据;
处理将要存储在外部存储器或者自外部存储器中检索的在写管理器和读管理器中的所述虚拟级联组的每个支路的帧;以及
选择性地清空所述FIFO,以便在所述FIFO中调整与所述虚拟级联组相关的数据,其中执行所述积累、传输、传送、处理和清空步骤中的一个或多个步骤的硬件包括:
可动态配置的状态机;
多个FIFO,其中写管理器具有用于每个信道的一个FIFO,且读管理器具有用于每个信道的一个FIFO;
其中,所述硬件产生多个自由运行日程表,该自由运行日程表周期性地将所述FIFO的数据内容传送给RAM;其中,每个日程表确定在相应的FIFO中的数据内容,以及如果所述数据内容小于固定阈值,发起读请求,其中每个日程表遵循预先配置的共同的信道顺序,且其中一个或多个日程表的循环周期不同于其它日程表的循环周期。
17.根据权利要求16所述的***,其中,所述FIFO的内容被周期性地存储,所述周期由自由运行日程表确定。
18.一种用于将本地中心授权服务事务分解成一序列操作的方法,所述方法包括:
维持正向控制信息配置和反向控制信息配置的映射复制;
当操作开始时将新的控制信息写到映射复制中;以及
在所述写步骤之后,触发每虚拟级联组的配置位以迫使相应的每虚拟级联组的所有支路转换配置存储数据,从而使得自动操作中的所有变化将在硬件中同时执行,
其中,所述硬件包括状态机,
多个FIFO;
其中,所述硬件产生多个自由运行日程表;其中
每个日程表确定在相应的FIFO中的数据内容,且如果所述数据内容低于固定阈值就发起读请求,其中
每个日程表遵循预先配置的共同的信道顺序,且其中一个或多个日程表的循环周期不同于其它日程表的循环周期。
CN2006800054611A 2005-01-21 2006-01-20 执行不同路由信道级联的***和方法 Expired - Fee Related CN101507145B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US64584105P 2005-01-21 2005-01-21
US60/645,841 2005-01-21
US11/336,188 US7684426B2 (en) 2005-01-21 2006-01-20 System and method for performing concatentation of diversely routed channels
PCT/US2006/002144 WO2006081150A2 (en) 2005-01-21 2006-01-20 System and method for performing concatenation of diversely routed channels
US11/336,188 2006-01-20

Publications (2)

Publication Number Publication Date
CN101507145A CN101507145A (zh) 2009-08-12
CN101507145B true CN101507145B (zh) 2013-05-29

Family

ID=36740962

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800054611A Expired - Fee Related CN101507145B (zh) 2005-01-21 2006-01-20 执行不同路由信道级联的***和方法

Country Status (6)

Country Link
US (3) US7684426B2 (zh)
EP (1) EP1913599A2 (zh)
JP (1) JP2008538456A (zh)
CN (1) CN101507145B (zh)
TW (1) TWI487351B (zh)
WO (1) WO2006081150A2 (zh)

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101507145B (zh) * 2005-01-21 2013-05-29 Rmi公司 执行不同路由信道级联的***和方法
US8081665B2 (en) * 2005-03-04 2011-12-20 PMC—Sierra, Inc. Virtual concatenation of PDH signals
US8200887B2 (en) 2007-03-29 2012-06-12 Violin Memory, Inc. Memory management system and method
US9286198B2 (en) 2005-04-21 2016-03-15 Violin Memory Method and system for storage of data in non-volatile media
US9384818B2 (en) 2005-04-21 2016-07-05 Violin Memory Memory power management
US8452929B2 (en) 2005-04-21 2013-05-28 Violin Memory Inc. Method and system for storage of data in non-volatile media
US7564777B2 (en) * 2005-05-13 2009-07-21 Intel Corporation Techniques for group alarm indication signal generation and clearing
US7903662B2 (en) * 2005-07-28 2011-03-08 Cisco Technology, Inc. Virtual concatenation sequence mismatch defect detection
US7672315B2 (en) * 2005-08-23 2010-03-02 Transwitch Corporation Methods and apparatus for deskewing VCAT/LCAS members
US7620752B1 (en) * 2005-09-01 2009-11-17 Xilinx, Inc. Circuit for and method of processing data input to a first-in first-out memory
US8028186B2 (en) 2006-10-23 2011-09-27 Violin Memory, Inc. Skew management in an interconnection system
EP1926256B1 (en) * 2006-11-22 2009-03-04 Alcatel Lucent Method of time aligning the members of a virtual concatenated group in a synchronous transmission system
US7864803B2 (en) * 2006-12-19 2011-01-04 Verizon Patent And Licensing Inc. Congestion avoidance for link capacity adjustment scheme (LCAS)
KR101205590B1 (ko) * 2007-01-08 2012-11-27 에스케이플래닛 주식회사 휴대단말에서 데이터 저장의 안정성 보장 방법 및 장치
US8483241B2 (en) * 2007-02-15 2013-07-09 Alcatel Lucent Method and apparatus for monitoring virtual concatenation group performance
EP1973250B1 (en) * 2007-03-23 2011-05-04 Alcatel-Lucent USA Inc. Method and apparatus for transporting client signals over transparent networks using virtual concatenation
US9632870B2 (en) 2007-03-29 2017-04-25 Violin Memory, Inc. Memory system with multiple striping of raid groups and method for performing the same
US11010076B2 (en) 2007-03-29 2021-05-18 Violin Systems Llc Memory system with multiple striping of raid groups and method for performing the same
JP2008306625A (ja) * 2007-06-11 2008-12-18 Nec Corp Vcat伝送システムおよびvcat帯域制御方法
US20090040950A1 (en) * 2007-08-06 2009-02-12 Freeburg Thomas A Time division duplex (TDD)
CN101394335B (zh) * 2007-09-20 2011-01-19 中兴通讯股份有限公司 一种同步数字交叉连接的自路由的方法及***
US20090219809A1 (en) * 2008-03-03 2009-09-03 Freeburg Thomas A Redundant mux cnfiguration
JP2009267786A (ja) * 2008-04-25 2009-11-12 Nec Corp 通信装置、通信システム、及び通信方法
JP5051000B2 (ja) * 2008-05-23 2012-10-17 富士通株式会社 伝送システム、パス制御方法及び伝送装置
DE102008037651B4 (de) * 2008-08-14 2010-08-19 OCé PRINTING SYSTEMS GMBH Verfahren zur Kommunikation zwischen zwei unveränderbaren Anwendungsprogrammen und Computerprogrammen
JP5227695B2 (ja) * 2008-08-15 2013-07-03 株式会社エヌ・ティ・ティ・ドコモ ハンドオーバ方法及び無線アクセスネットワーク装置
US8107360B2 (en) * 2009-03-23 2012-01-31 International Business Machines Corporation Dynamic addition of redundant network in distributed system communications
US8761207B2 (en) * 2009-04-30 2014-06-24 Centurylink Intellectual Property Llc System and method for advanced adaptive pseudowire
EP2249526B1 (en) * 2009-05-06 2012-07-04 Alcatel Lucent Protection of user data transmission through a transport network
WO2010134088A1 (en) * 2009-05-22 2010-11-25 Tejas Networks Limited A method to transmit multiple data-streams of varying capacity data using virtual concatenation
CN102576330B (zh) 2009-06-12 2015-01-28 提琴存储器公司 具有持久化无用单元收集机制的存储***
ATE523977T1 (de) * 2009-06-24 2011-09-15 Alcatel Lucent Verfahren zur dynamischen einstellung der übertragungskapazität einer datenübertragungsverbindung
US8488960B2 (en) * 2009-08-12 2013-07-16 International Business Machines Corporation Synchronizing events on a communications network using a virtual command interface
US8639113B2 (en) * 2009-08-12 2014-01-28 International Business Machines Corporation Network protection switching
US8504660B2 (en) * 2009-08-12 2013-08-06 International Business Machines Corporation Validation of the configuration of a data communications network using a virtual network operations center
US8396952B2 (en) * 2009-08-12 2013-03-12 International Business Machines Corporation Provisioning and commissioning a communications network with a virtual network operations center and interface
JP5503742B2 (ja) 2009-09-17 2014-05-28 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 光伝送ネットワークにおける動的でヒットレスなリサイジング
US9465756B2 (en) * 2009-12-23 2016-10-11 Violin Memory Inc. Configurable interconnection system
US9743216B2 (en) * 2010-01-05 2017-08-22 Gemalto Sa Communication method for machine-type-communication and equipment thereof
US8166183B2 (en) * 2010-03-05 2012-04-24 Ciena Corporation Method and system for fast virtual concatenation setup in a communication network
CN102202247B (zh) * 2010-03-25 2015-07-22 中兴通讯股份有限公司 一种基于g.709的多级复用的信令控制方法和***
US8335157B2 (en) * 2010-05-17 2012-12-18 Cisco Technology, Inc. Adaptive queue-management
US8612626B2 (en) 2010-12-21 2013-12-17 Cisco Technology, Inc. Group member detection among nodes of a network
US8559431B2 (en) 2010-12-22 2013-10-15 Cisco Technology, Inc. Multiple label based processing of frames
CN102130763B (zh) * 2011-03-18 2014-08-13 中兴通讯股份有限公司 以太网传输的线序调整装置和方法
EP2860907A1 (en) * 2013-10-08 2015-04-15 Alcatel Lucent Planning of optical connections in a WDM optical network
TWI503035B (zh) * 2013-12-20 2015-10-01 Chunghwa Telecom Co Ltd Number of multi - role attributes Portable management procedures Process management methods and systems
EP3231104B1 (en) * 2014-12-10 2020-02-12 Intelsat US LLC Method of seamless protection switching of packets at the satellite, from two matching streams of packets from two separate uplink sites
CN104796289A (zh) * 2015-04-22 2015-07-22 国家电网公司 一种电力sdh数据业务保护配置方法及数据业务传输方法
US10153861B2 (en) * 2015-07-30 2018-12-11 Infinera Corporation Digital link viewer for data center interconnect nodes
US10303360B2 (en) * 2015-09-30 2019-05-28 International Business Machines Corporation Replicating data in a data storage system
US9600194B1 (en) 2015-11-25 2017-03-21 International Business Machines Corporation Integrating sign extensions for loads
US9742490B1 (en) * 2016-04-05 2017-08-22 Infinera Corporation System and method for automatic bandwidth management
US10180802B2 (en) 2017-05-18 2019-01-15 International Business Machines Corporation Collision detection at multi-node storage sites
CN109729025B (zh) * 2017-10-31 2021-04-20 华为技术有限公司 一种处理灵活以太网的数据的方法及相关设备
US10452502B2 (en) 2018-01-23 2019-10-22 International Business Machines Corporation Handling node failure in multi-node data storage systems
US10884451B2 (en) * 2018-05-01 2021-01-05 DeGirum Corporation System and methods for completing a cascaded clock ring bus
TWI702540B (zh) * 2019-03-22 2020-08-21 鼎新電腦股份有限公司 負載控制方法
US10750260B1 (en) 2019-07-29 2020-08-18 Ciena Corporation Subrating and multiplexing non-standard rates in ZR and ZR+ optical interfaces
US11385829B2 (en) * 2019-08-05 2022-07-12 Cypress Semiconductor Corporation Memory controller for non-interfering accesses to nonvolatile memory by different masters, and related systems and methods
CN111221575A (zh) * 2019-12-30 2020-06-02 核芯互联科技(青岛)有限公司 一种乱序高性能处理器的寄存器重命名方法及***

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5577105A (en) * 1994-03-11 1996-11-19 U.S. Robotics, Inc. Telephone call routing and switching techniques for data communications
WO2000046938A1 (en) * 1999-02-05 2000-08-10 Tecore Multi-protocol wireless communication apparatus and method

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3997729A (en) * 1975-07-25 1976-12-14 Communications Satellite Corporation (Comsat) Pseudo-random sequencing for speech predictive encoding communications system
EP0555267A4 (en) * 1990-09-24 1994-05-18 Transwitch Corp Sonet signal generating apparatus and method
FR2750277B1 (fr) * 1996-06-19 1998-08-21 Le Meur Jean Paul Multiplexeur hybride
US6492719B2 (en) * 1999-07-30 2002-12-10 Hitachi, Ltd. Semiconductor device
GB9718831D0 (en) * 1997-09-05 1997-11-12 Plessey Telecomm Data transmission in an sdh network
DE19932739A1 (de) * 1999-07-14 2001-01-18 Alcatel Sa Umwandlung von nahtloser Verkettung zu virtueller Verkettung in einem synchronen digitalen Nachrichtenübertragungsnetz
US7031252B1 (en) * 2000-03-27 2006-04-18 Cisco Technology, Inc. Reflector communications channel for automatic protection switching
ATE253791T1 (de) * 2000-05-26 2003-11-15 Cit Alcatel Verfahren zum übertragen von synchronen transportmodulen über ein synchrones transportnetz
GB0031839D0 (en) * 2000-12-29 2001-02-14 Marconi Comm Ltd A multi-service digital cross-connect
US20040062261A1 (en) * 2001-02-07 2004-04-01 Rami Zecharia Multi-service segmentation and reassembly device having integrated scheduler and advanced multi-timing wheel shaper
US7415048B2 (en) * 2001-08-30 2008-08-19 Pmc-Sierra, Inc. Differential delay compensation
US7424036B1 (en) * 2002-08-26 2008-09-09 Pmc-Sierra, Inc. Efficient virtual concatenation datapath for SONET/SDH
ITRM20020493A1 (it) * 2002-10-02 2004-04-03 St Microelectronics Srl Memoria cam non volatile di tipo and.
US7733900B2 (en) * 2002-10-21 2010-06-08 Broadcom Corporation Multi-service ethernet-over-sonet silicon platform
US6965612B2 (en) * 2002-12-18 2005-11-15 Transwitch Corporation Methods and apparatus for the hardware implementation of virtual concatenation and link capacity adjustment over SONET/SDH frames
US7492714B1 (en) * 2003-02-04 2009-02-17 Pmc-Sierra, Inc. Method and apparatus for packet grooming and aggregation
US7489710B2 (en) * 2003-04-22 2009-02-10 Agere Systems Inc. Stall need detection and associated stall mechanism for delay compensation in virtual concatenation applications
US7333714B2 (en) * 2004-02-10 2008-02-19 Broadcom Corporation Method and system for performing reverse play of SD MPEG video
US8289859B2 (en) * 2004-05-25 2012-10-16 Alcatel Lucent Link delay determination using virtual concatenation
US7720101B2 (en) * 2004-05-25 2010-05-18 Cisco Technology, Inc. Wideband cable modem with narrowband circuitry
JP4361427B2 (ja) * 2004-06-21 2009-11-11 富士通株式会社 回線制御装置および回線制御方法
CN101507145B (zh) * 2005-01-21 2013-05-29 Rmi公司 执行不同路由信道级联的***和方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5577105A (en) * 1994-03-11 1996-11-19 U.S. Robotics, Inc. Telephone call routing and switching techniques for data communications
WO2000046938A1 (en) * 1999-02-05 2000-08-10 Tecore Multi-protocol wireless communication apparatus and method

Also Published As

Publication number Publication date
US20060187715A1 (en) 2006-08-24
WO2006081150A8 (en) 2007-07-12
US9461942B2 (en) 2016-10-04
WO2006081150A3 (en) 2009-04-09
CN101507145A (zh) 2009-08-12
EP1913599A2 (en) 2008-04-23
US8503470B2 (en) 2013-08-06
US20100254709A1 (en) 2010-10-07
US7684426B2 (en) 2010-03-23
WO2006081150A9 (en) 2008-01-17
WO2006081150A2 (en) 2006-08-03
TW200644540A (en) 2006-12-16
US20130315258A1 (en) 2013-11-28
JP2008538456A (ja) 2008-10-23
TWI487351B (zh) 2015-06-01

Similar Documents

Publication Publication Date Title
CN101507145B (zh) 执行不同路由信道级联的***和方法
CN104580031B (zh) 基于多协议链路封装技术的pos解帧成帧装置及方法
US7986713B2 (en) Data byte load based network byte-timeslot allocation
CA2217529A1 (en) Processor device for terminating and creating synchronous transport signals
EP1305883B1 (en) Transparent transport overhead mapping
RU2336639C2 (ru) Интегрированный модуль кросс-коммутации и способ маршрутизации служб с использованием такого модуля
CN101378388A (zh) 一种无源光网络数据传输的方法、***和设备
JPH09507353A (ja) 統合多重レート・クロスコネクト・システム
US20040151172A1 (en) Transmission apparatus for making ring switching at different levels
US8166183B2 (en) Method and system for fast virtual concatenation setup in a communication network
US6738392B1 (en) Method and apparatus of framing high-speed signals
US6870877B2 (en) Transmission unit and two-way signal conversion method
EP1156612A2 (en) Errorless switching of data streams
ITMI20000545A1 (it) Metodo ed apparato per trasmettere/ricevere segnali digitali di livello stm-4(sdh) o sts-12(sonet) su due portanti rf in una sezione di rige
CN105933087A (zh) 一种以太网中数据处理的方法、相关设备及***
EP1699156B1 (en) A unit of the packet service dispatching and the method thereof
CN100496045C (zh) 多业务传输节点设备支持数据成帧协议的方法及装置
US20010053146A1 (en) Processor device for terminating and creating synchronous transport signals
US20040105453A1 (en) Capacity re-use in data communication networks
CA2358058A1 (en) Transport module for sdh/sonet
CN101933262A (zh) 无线传输装置以及无线传输方法
JP2003134174A (ja) 中間ネットワークを介してネットワークの部分間で情報のフレームを移送する方法
JP2002176408A (ja) マルチフレーム多重伝送装置
EP1833184B1 (en) SONET management and control channel improvement
US8228943B2 (en) Systems and methods for providing framing mapping, muxing and data processing

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130529

Termination date: 20180120

CF01 Termination of patent right due to non-payment of annual fee