一种实现虚级联恢复时写地址同步的方法
技术领域
本发明涉及数字传输领域,具体地说,涉及SDH(Synchronous digital hierarchy,同步数字体系)系统中的虚级联恢复时,保持虚级联组中成员的写地址同步的方法。
背景技术
在SDH系统中,为了灵活组网以及提高带宽利用效率,常常以虚级联的方式传递数据。虚级联技术的原理是允许任意多个小的容器级联起来并组装成为一个比较大的容器来传输数据业务。这种技术可以级联VC-m(m=11,12,2,3,4)等不同速率的容器,允许非常小颗粒的带宽调节、提供比相邻级联更精确的带宽。
由于构成VCG(Virtual Concatenation Group,即虚级联组)的成员所走的路径不同,造成不同成员有不同的延时;另外,由于添加删除的先后顺序导致发送侧发送的端口数据不一定按照时隙编号的顺序发送,但传输过程的数据是按照时隙顺序排列的,为了得到正确的数据,下游的接收芯片必须将接收到的成员按照原有的规律对齐,并重排顺序,这个过程即为“虚级联恢复”。
LCAS(Link Capacity Adjustment Scheme)是ITU-TG.7042行业标准中提出的一种基于虚级联的可以动态改变传送网中VCG带宽的协议。它允许无损伤地调整传输网中虚级联信号的链路容量,LCAS能够实现在现有带宽的基础上动态地增减带宽容量,满足虚级联业务的变化要求。对于高阶(VC-m,m=3,4)虚级联和低阶(VC-n,n=11,12,2)虚级联,LCAS分别利用了VC-m通道开销的H4字节和VC-n通道开销的K4字节传送控制帧。控制帧中包括源到宿和宿到源两个方向的用于特定功能的信息,通过控制帧LCAS可以实现源和宿VCG带宽的变化同步。
实现虚级联恢复的一般方法是将存在时延的数据缓存于内部或外部RAM(RandomAccess Memory,随机存取存储器)中,再按照对齐的规律将数据读出。RAM的写地址通常按照LCAS定义的MFI(Multi-Frame Indicator)、第一级复帧编号以及SDH的指针值来确定。其中高阶虚级联的MFI为0-255循环计数,第一级复帧编号为0-15循环计数;低阶虚级联的MFI和第一级复帧编号都为0-31循环计数。LCAS协议最大可以支持成员之间有512ms 的延时。在实际运用中,结合存储资源的限制以及系统的实际需求,系统的实际的最大补偿延时往往小于512ms。
在虚级联恢复延时补偿处理中,通常需要保证“成员的同步”,所谓同步,是指同一个VCG的所有成员在同步条件时,即同一个MFI循环周期、相同的MFI值、相同的第一级复帧编号、相同的SDH指针值时,有相同的写地址。失去同步将导致数据错误。
实际设计中,为了达到某些目的,例如提高RAM的利用效率,分配给每一个成员的存储空间可能不是复帧净荷数的2的N次方倍,这就会导致一个MFI循环之后,同样的MFI值对应的写地址将和上一个循环的这个MFI值对应的写地址不同。
上述处理在下面几种情况下可能导致成员之间失去同步:(1)添加新成员,成员在被添加之前,可能没有正常的SDH信息,导致新添加的成员和其他成员的写地址不同步;
(2)被临时删除的成员恢复,由于链路发生故障而被临时删除的成员丢失了正确的SDH信息,和其余成员失去了同步;
(3)误码等故障导致成员的写地址和其余成员的写地址失去了同步。
发明内容
本发明所要解决的技术问题是现有技术中VCG中有成员的写地址失去同步的问题,提出了一种基于校验方式的写地址生成方法,这种方法可以避免正常运行时失去同步,并可以在故障导致失去同步后恢复同步。
本发明的核心思想是:设定成员的校准地址,在每个头标记位置校准相同类型的成员,并保持对校准地址进行更新。
本发明具体是这样实现的:
一种实现虚级联恢复时写地址同步的方法,包括如下步骤:
第一步、按照系统所能处理的最大补偿延时和成员类型设定头标记,用于校准支路;
第二步、计算写地址和扩展写地址:
写地址在上电复位后,在头标记到来时复位到设定的值,然后在净荷指示下依次增加,增加至设定的最大值后返回到最小值,循环变化;
扩展写地址在写地址的基础上,增加位数,在写地址到达最大值后,扩展写地址继续增加,用于校准写地址;
第三步、计算头标记对应的扩展写地址;
第四步、计算刷新区,以头标记对应的扩展写地址为中心,正负最大延时补偿范围为刷新区;
第五步、以当前的头标记所对应的写地址作为校准地址。
所述第一步中:
所述最大补偿延时,可以用LCAS协议定义的LCAS帧边界和SDH的复帧作为标记。
所述第二步中:
所述写地址的最大值和系统的最大补偿时间是对应的;
所述写地址的增加可以是连续的或不连续的;
所述第三步中:
所述扩展写地址的最大值和头标记对应的写地址个数以及头标记之间的距离有关。
所述第五步中,
若有效成员的扩展地址到达刷新区时,刷新该类型成员当前头标记对应的写地址,得到该类型成员的最新的校准地址;
若非正常成员的头标记到达时,把该支路的写地址复位到该类型成员对应的校准地址。
对于分配了虚级联组并且没有被临时删除的成员,本发明一种实现虚级联恢复时写地址同步的方法,包括如下步骤:
A、按照系统所能处理的最大补偿延时和成员类型设定头标记,用于校准支路;
B、计算头标记对应的扩展写地址;
附图说明
C、以当前的头标记所对应的写地址作为校准地址;
D、计算写地址和扩展写地址:
写地址在上电复位后,在头标记到来时,扩展写地址不等于步骤B所得出的任何一个值,则将写地址复位到第二步得出的校准地址,然后在净荷指示下依次增加,增加至设定的最大值后返回到最小值,循环变化;
扩展写地址在写地址的基础上,增加位数,在写地址到达最大值后,扩展写地址继续增加,用于校准写地址;
具体实施方式
E、计算刷新区,以头标记对应的扩展写地址为中心,正负最大延时补偿范围为刷新区。
所述步骤A中:
所述最大补偿延时,可以用LCAS协议定义的LCAS帧边界和SDH的复帧作为标记。
所述步骤D中:
所述写地址的最大值和系统的最大补偿时间是对应的;
所述写地址的增加可以是连续的或不连续的;
所述步骤B中:
所述扩展写地址的最大值和头标记对应的写地址个数以及头标记之间的距离有关。
所述步骤C中,
若有效成员的扩展地址到达刷新区时,刷新该类型成员当前头标记对应的写地址,得到该类型成员的最新的校准地址;
若非正常成员的头标记到达时,把该支路的写地址复位到该类型成员对应的校准地址。
本发明通过设定刷新区以及校准地址,可以及时的校准相同类型的支路,保持成员之间的写地址同步,从而保证添加成员以及临时删除的成员恢复时不出错,以便正确的进行虚级联数据接受和恢复。还可以纠正由于支路故障或误码等事故引起的错误,避免这类错误导致系统无法恢复正常工作。
图1是中虚级联恢复的原理框图;
图2是本发明方法的流程图;
图3是对校准地址和刷新区的关系示意图;
图4是进行写地址错误检测的流程图。
下面结合附图,对本发明所述方法进行详细的说明。
图1是本发明中的虚级联恢复的原理框图。如图所示,存储设备是用于缓存数据的内部或外部RAM。写进RAM的数据是待恢复的数据,从RAM读出的数据是进行了延时补偿和顺序重排的数据。写入方向模块生成存储设备的写地址,读出方向模块生成存储设备读地址和读使能。本发明所述方法用于写入方向模块。
头标记是用于校准支路的标记,周期性出现,按照系统所能处理的最大延时补偿能力和成员类型设定,相邻两个头标记之间的距离为最大补偿延时的两倍以上。实际运用中,通常参考系统的最大延时补偿能力,用LCAS协议定义的LCAS帧边界和SDH的复帧标记,如V5/J1,作为标记。
例如,可以用MFI(LCAS定义的Multi-Frame Indicator)等于零,并且SDH复帧标号等于零,并且是一个帧的起始位置(V5/J1)作为头标记,这样定义的头标记之间的实际距离是512ms,如果只取MFI的低位进行比较,则头标记之间的距离相应减小。
计算写地址,写地址在上电复位后,在头标记到来时复位到设定的初始值,以后在净荷指示下依次增加,增加至设定的最大值后返回到最小值,再次循环变化。
需要说明的是,写地址的最大值和系统的最大补偿时间是对应的,例如,如果VC12颗 粒的最大延时补偿时间是100ms,那么分配给每个VC12颗粒的存储空间应该不小于27200个。
当然,有的设计中写地址采用不连续的方式增加,例如采用复帧编号加指针值作为写地址,或者对写地址采取一些特殊的处理,但这些不连续的写地址都可以映射成为连续的数值,再采用本发明所述方法处理。
计算头标记对应的写地址,在不同的系统设计中,依据成员所分配的存储空间大小,头标记可能对应同一个写地址,也可能在不同时刻对应不同的写地址。计算出所有对应的写地址。
计算扩展写地址,扩展写地址是在写地址的基础上,增加了位数,在写地址到达最大值后继续增加,用于校准写地址。扩展写地址的最大值和头标记对应的写地址个数以及头标记之间的距离有关。
例如,头标记位置可能出现的写地址有4个,如果头标记之间距离等于两个最大延时补偿时间,那么扩展写地址的最大值应该是写地址最大值的8倍;如果头标记之间距离等于三个最大延时补偿时间,那么扩展写地址的最大值应该是写地址的12倍。
计算头标记对应的扩展写地址。
计算刷新区和校准地址,以头标记对应的扩展写地址为中心,正负最大延时补偿范围为刷新区,校准地址是当前的头标记所对应的写地址。
图3示出了校准地址和刷新区的关系示意,刷新区是校准地址前后一个最大补偿延时的区间,相邻两个校准地址之间的距离大于最大补偿延时两倍以上。
图2是刷新校准地址的流程图,当有效成员(表示分配了VCG并且没有支路故障的成员)的扩展写地址到达刷新区时,刷新该类型成员当前头标记对应的写地址,得到该类型成员的最新的校准地址;当非正常成员(表示没有分配VCG或者发生了支路故障的成员)的头标记到达时,把该支路的写地址复位到该类型成员对应的校准地址。
图4是对成员写地址校错的流程图,对于分配了VCG并且没有被临时删除的成员,如果在头标记到来的时候,扩展写地址不等于第三步所计算出的任意一个值,表示这之前曾经发生过类似误码的错误,要将写地址复位到第五步计算出的校准地址。
由于同一条支路在不同的时间可能分配给不同的VCG,因此除了保证同一个VCG的所有成员同步之外,还要保证相同类型(指VC12,VC3、VC4等等)的成员同步。
另外,以上所作操作均假设成员之间的延时差别都在系统能处理的最大范围内,否则由系统检测出延时差别超过系统处理能力,给出告警,进行相关处理。
本发明通过设定刷新区以及校准地址,可以及时的校准相同类型的支路,保持成员之间 的写地址同步,可以保证添加成员以及临时删除的成员恢复时不出错,以便正确的进行虚级联数据接受和恢复。还可以纠正由于支路故障或误码等错误引起的错误,避免这类错误导致系统无法恢复正常工作。本发明方法还可以在同时存在VC-4,VC-3,VC-12等颗粒的系统中添加删除操作过程保持写地址的同步。