一种全T交叉装置和方法转让专利

申请号 : CN201010001640.6

文献号 : CN101789840A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李磊陈玉杰吴锦峰雷张伟

申请人 : 华为技术有限公司

摘要 :

本发明实施例提供一种全T交叉装置和方法,一种全T交叉装置,包括:输入模组,所述输入模组包括多个输入通道;以及多个输出模组,每个输出模组均包括一个输出通道、一个输出控制模块以及多个数据存储模块,其中,所述多个数据存储模块与所述输入模组的多个输入通道一一对应;所述多个输出模组,用于根据业务数据对应的输出通道,自所述多个输入通道中接收业务数据,并根据所述业务数据所对应的输出时隙,将所述业务数据发送出去。本发明实施例在一定程度上减小了芯片规模,进而降低了芯片成本与功耗。

权利要求 :

1.一种全T交叉装置,其特征在于,包括:

输入模组,所述输入模组包括多个输入通道;以及

多个输出模组,所述输出模组包括输出通道、输出控制模块以及多个数据存储模块,其中,所述输出模组所包括的输出通道与所述多个数据存储模块通信连接;所述输出模组所包括的多个数据存储模块与所述输入模组的多个输入通道一一对应;所述多个输出模组,用于根据业务数据对应的输出通道,将所述多个输入通道中接收业务数据存入所述多个数据存储模块中,并根据所述业务数据所对应的输出时隙,将所述多个数据存储模块所述业务数据发送至所述输出通道中。

2.如权利要求1所述装置,其特征在于,

所述数据存储模块采用先进先出存储器,用于根据业务数据的输出时隙,依序存储业务数据。

3.如权利要求1所述装置,其特征在于,

所述输出控制模块,保存有所述每个输出模组所接收的业务数据的地址信息和输出时隙信息,其中,所述地址信息包括所述业务数据在所述多个数据存储模块中的存储地址;所述输出控制模块根据业务数据的输出时隙信息以及地址信息,在各个时隙中将所述多个数据存储模块中的业务数据发送至所述每个输出模组的输出通道。

4.如权利要求3所述装置,其特征在于,所述所述业务数据在所述多个数据存储模块中的存储地址包括输入通道号,所述输出时隙信息包括输出时隙号;

数据存储模块根据预置的存取控制表,将需要交叉到相应的输出通道的数据进行缓存;所述存取控制表为根据所述全T交叉的控制存储器配置信息中的每一输出通道的交叉配置表生成;

所述输出控制模块进一步根据预置的保存于仲裁选择表中的所述输入通道号与输出时隙号的对应关系,在各个时隙中将所述多个数据存储模块中的业务数据发送至所述每个输出模组的输出通道;所述仲裁选择表为根据所述全T交叉的控制存储器配置信息中的每一输出通道的交叉配置表生成,或者为根据所述存取控制表和所述全T交叉的控制存储器配置信息中的每一输出通道的交叉配置表生成。

5.如权利要求4所述装置,其特征在于,所述输出控制模块包括:

多路选择器单元,用于根据预置的输入通道号与输出时隙号的对应关系,利用实现多选一的多路选择器,在各个时隙中将所述多个数据存储模块中的业务数据发送至所述每个输出模组的输出通道;或者内部总线单元,用于根据预置的输入通道号与输出时隙号的对应关系,利用内部总线,在各个时隙中将所述多个数据存储模块中的业务数据发送至所述每个输出模组的输出通道。

6.如权利要求5任一项所述装置,其特征在于,所述输出控制模块还包括:乒乓缓存单元,用于将对应于每个输入时隙号的相应的输入通道号的数据,通过乒乓缓存写入相应的输出时隙号的位置进行再次缓存。

7.一种全T交叉方法,其特征在于,所述方法包括:

将需要交叉到输出通道的输入通道的数据进行缓存;

根据预置的输入通道号与输出时隙号的对应关系,从所述进行缓存的数据中,将对应于每个输入时隙号的相应的输入通道号的数据,写入相应的输出时隙号的位置进行再次缓存;

将所述进行再次缓存的数据输出。

8.如权利要求7所述方法,其特征在于,所述将需要交叉到输出通道的输入通道的数据进行缓存,包括:利用先进先出数据缓存器将需要交叉到输出通道的输入通道的数据进行缓存。

9.如权利要求7所述方法,其特征在于,所述根据预置的输入通道号与输出时隙号的对应关系,从所述进行缓存的数据中,将对应于每个输入时隙号的相应的输入通道号的数据,写入相应的输出时隙号的位置进行再次缓存,包括:根据预置的输入通道号与输出时隙号的对应关系,利用实现多选一的多路选择器从所述进行缓存的数据中,将对应于每个输入时隙号的相应的输入通道号的数据,写入相应的输出时隙号的位置进行再次缓存;或者根据预置的输入通道号与输出时隙号的对应关系,利用内部总线从所述进行缓存的数据中,将对应于每个输入时隙号的相应的输入通道号的数据,写入相应的输出时隙号的位置进行再次缓存。

说明书 :

一种全T交叉装置和方法

技术领域

[0001] 本发明涉及通讯领域,尤其涉及一种全T交叉装置和方法。

背景技术

[0002] 全T交叉是一种时隙级的交叉,是指对于多通道、多时隙间插的输入业务,交叉设备能够将输入业务的任一通道、任一时隙的业务数据无阻塞的交叉到输出业务的任一通道、任一时隙去。例如,对于SDH(Synchronous DigitalHierarchy,同步数字系列)应用,STM(Synchronous Transport Module,同步传送模块)-1帧结构是一个9行、270列的帧,而STM-N帧结构即为N个STM-1帧按照时隙间插(这里就是字节间插)而成。
[0003] 在实现本发明过程中,发明人发现现有技术中至少存在如下问题:目前主流的有两种全T交叉实现方法:一是采用RAM(Random Access Memory,随机存储器)存储来实现,由于对片内RAM需求大,直接导致了芯片规模的增大;二是采用MUX(Multiplexer,实现多选一的多路选择器)选择实现,由于过多的MUX以及相互连线,给芯片后端的布局布线带来了很大的困难,最终也导致了芯片面积的增大。可见,随着当前的全T交叉芯片随着容量的提升,芯片的规模也越来越庞大,这直接导致了芯片成本与功耗增加。

发明内容

[0004] 本发明实施例提供一种全T交叉装置和方法,在一定程度上减小芯片规模。
[0005] 一方面,本发明实施例提供了一种全T交叉装置,包括:输入模组,所述输入模组包括多个输入通道;以及多个输出模组,每个输出模组均包括一个输出通道、一个输出控制模块以及多个数据存储模块,其中,所述多个数据存储模块与所述输入模组的多个输入通道一一对应;所述多个输出模组,用于根据业务数据对应的输出通道,自所述多个输入通道中接收业务数据,并根据所述业务数据所对应的输出时隙,将所述业务数据发送出去。
[0006] 另一方面,本发明实施例提供了一种全T交叉方法,所述方法包括:将需要交叉到输出通道的输入通道的数据进行缓存;根据预置的输入通道号与输出时隙号的对应关系,从所述进行缓存的数据中,将对应于每个输入时隙号的相应的输入通道号的数据,写入相应的输出时隙号的位置进行再次缓存;将所述进行再次缓存的数据输出。
[0007] 上述技术方案具有如下有益效果:因为采用通过多个输出模组实现通道交叉,并且在每个输出模组内部根据业务数据的输出时隙和输入通道读取业务数据,实现时隙交叉的技术手段,所以达到了在一定程度上减小了芯片规模,进而降低了芯片成本与功耗的技术效果。

附图说明

[0008] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0009] 图1是本发明实施例提供一种全T交叉装置示意图;
[0010] 图2为本发明实施例一种全T交叉的方法流程图;
[0011] 图3为本发明实施例数据存储模块内部缓存示意图;
[0012] 图4为本发明实施例利用MUX的输出通道j的输出控制示意图;
[0013] 图5为本发明实施例利用内部总线的输出通道j的输出控制示意图。

具体实施方式

[0014] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0015] 实施例一:
[0016] 如图1所示,本发明实施例提供一种全T交叉装置10,所述全T交叉装置10包括输入模组11,以及多个输出模组12。所述输入模组11包括多个输入通道112。在本发明实施例中,每个输出模组12均包括一个输出通道122、一个输出控制模块124、以及多个数据存储模块126,其中,所述多个数据存储模块126与所述输入模组11的多个输入通道112一一对应。
[0017] 所述多个输出模组12,用于根据业务数据对应的输出通道,自所述多个输入通道112中接收业务数据,并根据所述业务数据所对应的输出时隙,将所述业务数据发送出去。
[0018] 在本发明实施例中,所述数据存储模块126自相应的输入通道112中接收业务数据。进一步的,在本发明实施例中,所述数据存储模块126可以采用先进先出存储器(First In First Out,简称FIFO),所述输出模组12根据业务数据的输出时隙,依序保存业务数据,以方便读出。
[0019] 所述输出控制模块124,保存有所述输出模组12所接收的业务数据的地址信息和输出时隙信息,其中,所述地址信息包括所述业务数据在所述多个数据存储模块126中的存储地址。所述输出控制模块124根据业务数据的输出时隙信息以及地址信息在各个时隙中,将所述多个数据存储模块126中的业务数据发送至所述所述输出模组12的输出通道122。其中,在本发明实施例中,所述地址信息和输出时隙信息为可为用户通过配置单元进行设置,也可以为随着业务数据发送的信息,并被所述输出控制模块124保存。
[0020] 所述业务数据在所述多个数据存储模块中的存储地址可以包括输入通道号,所述输出时隙信息可以包括输出时隙号;每个数据存储模块126根据预置的存取控制表,将需要交叉到输出通道的输入通道的数据进行缓存;所述存取控制表为根据所述全T交叉的控制存储器配置信息中的每一输出通道的交叉配置表生成;所述输出控制模块124进一步根据预置的保存于仲裁选择表中的所述输入通道号与输出时隙号的对应关系,在各个时隙中将所述多个数据存储模块中的业务数据发送至所述每个输出模组的输出通道;所述仲裁选择表为根据所述全T交叉的控制存储器配置信息中的每一输出通道的交叉配置表生成,或者为根据所述存取控制表和所述全T交叉的控制存储器配置信息中的每一输出通道的交叉配置表生成。
[0021] 本发明实施例提供的全T交叉装置,通过多个输出模组实现通道交叉,并且在每个输出模组内部根据业务数据的输出时隙和输入通道读取业务数据,实现时隙交叉,所以达到了在一定程度上减小了芯片规模,进而降低了芯片成本与功耗。
[0022] 实施例二:
[0023] 如图2所示,为本发明实施例一种全T交叉的方法流程图,所述方法包括:
[0024] 201、将需要交叉到输出通道的输入通道的数据进行缓存;
[0025] 可选的,可以根据预置的存取控制表,将需要交叉到输出通道的输入通道的数据进行缓存;上述存取控制表可以为根据上述全T交叉的控制存储器配置信息中的每一输出通道的交叉配置表生成;上述将需要交叉到输出通道的输入通道的数据进行缓存,可以包括:利用先进先出数据缓存器将需要交叉到输出通道的输入通道的数据进行缓存。
[0026] 202、根据预置的输入通道号与输出时隙号的对应关系,从上述进行缓存的数据中,将对应于每个输入时隙号的相应的输入通道号的数据,写入相应的输出时隙号的位置进行再次缓存;
[0027] 可选的,上述预置的输入通道号与输出时隙号的对应关系可以保存于仲裁选择表中;上述仲裁选择表可以为根据上述全T交叉的控制存储器配置信息中的每一输出通道的交叉配置表生成,或者可以为根据上述存取控制表和上述全T交叉的控制存储器配置信息中的每一输出通道的交叉配置表生成。
[0028] 可选的,上述根据预置的输入通道号与输出时隙号的对应关系,从上述进行缓存的数据中,将对应于每个输入时隙号的相应的输入通道号的数据,写入相应的输出时隙号的位置进行再次缓存,可以包括:根据预置的输入通道号与输出时隙号的对应关系,可以利用实现多选一的多路选择器从上述进行缓存的数据中,将对应于每个输入时隙号的相应的输入通道号的数据,写入相应的输出时隙号的位置进行再次缓存;或者根据预置的输入通道号与输出时隙号的对应关系,可以利用内部总线从上述进行缓存的数据中,将对应于每个输入时隙号的相应的输入通道号的数据,写入相应的输出时隙号的位置进行再次缓存。
[0029] 可选的,上述将对应于每个输入时隙号的相应的输入通道号的数据,写入相应的输出时隙号的位置进行再次缓存,可以包括:将对应于每个输入时隙号的相应的输入通道号的数据,可以通过乒乓缓存写入相应的输出时隙号的位置进行再次缓存。
[0030] 203、将上述进行再次缓存的数据输出。
[0031] 本发明实施例上述方法技术方案因为采用将需要交叉到输出通道的输入通道的数据进行缓存;根据预置的输入通道号与输出时隙号的对应关系,从上述进行缓存的数据中,将对应于每个输入时隙号的相应的输入通道号的数据,写入相应的输出时隙号的位置进行再次缓存;将上述进行再次缓存的数据输出的技术手段,所以达到了在一定程度上减小了芯片规模,进而降低了芯片成本与功耗的技术效果。
[0032] 实施例三:
[0033] 假设本发明方案用于SDH应用领域时,类似于图1所示,输入业务共有N个输入通道,每个输入通道有M个时隙的数据需要交叉。那么,该方案中共有N*N个数据存储模块,构成一个交叉连接矩阵,每个数据存储模块具有数据缓存能力。例如,对于数据存储模块(i,.j),缓存的数据就是从输入通道i交叉到输出通道j的数据。对于输出通道j,分别从数据存储模块(0,j)~(N-1,j)这N个数据存储模块中读出缓存的数据,然后缓存输出,即可完成输出通道j的交叉。
[0034] 如图3所示,为本发明实施例数据存储模块内部缓存示意图,具体以数据存储模块(i,j)为例,说明每个数据存储模块的实现方法:对于数据存储模块(i,j),实际上就是一个深度很小的FIFO(First In First Out,先进先出数据缓存器),根据输出控制模块给出的控制信息,将输入通道i的数据缓存到FIFO中。需要补充说明的是,由于输出控制模块能够知道每个数据存储模块中FIFO的空满信息,并且设计保证FIFO不会出现写满或者读空的情况,因而对FIFO的设计越简单越好,以达到节省资源的目的。
[0035] 输出控制模块相对较为复杂,输出控制模块首先要根据CM(ControlMemory,控制存储器)配置信息中的输出通道j的交叉配置表(如下表1所示)来产生一个存储控制表(如下表2所示)。
[0036]输出时隙号 输入通道号 输入时隙号
0 5 0
1 3 5
2 6 2
… … …
5 2 6
… … …
8 4 2
9 3 0
… … …
M-1 20 15
[0037] 表1输出通道j的交叉配置表
[0038]
[0039] 表2存取控制表
[0040] 一般来说,交叉配置表是按照输出通道、输出时隙的顺序来安排的,意义就是对于某一个输出通道、某个输出时隙,其数据来自于哪个输入通道、输入时隙。而存储控制表则是按照输入通道、输入时隙的顺序来安排的,意义就是对于某一输入通道、某个输入时隙,其数据是否需要保存,1表示需要保存,0表示不需要保存。因而,从交叉配置表到存储控制表的生成过程实际上就是对交叉配置表的一个转秩操作。
[0041] 根据时隙计数,将存储控制表的内容输出给每个数据存储模块,即为每个数据存储模块的写入控制信号。每个数据存储模块则在写入控制有效(为1)的时候将输入数据缓存到FIFO中。
[0042] 输出控制模块需要从N个数据存储模块来获取数据,并进行时隙调整,然后输出。当某个数据存储模块的FIFO中已经缓存了数据后,就可以从该数据存储模块获取数据。但由于可能存在多个数据存储模块的FIFO同时都已经缓存了数据(因为在某一时刻可能存在多个输入通道的数据去往同一个输出通道),那么就需要安排读取的先后顺序,也就是说需要一个仲裁器。当CPU初次配置CM或者改变CM中的配置时,仲裁器开始工作,产生一个仲裁选择表,并保存下来。仲裁选择表包含对应于每个输入时隙,需要获取的数据来自于哪个输入通道,并且在哪个时隙输出,如表3所示。
[0043]输入时隙号 0 1 2 3 4 5 6 … M-1
输入通道号 3 5 4 6 7 3 2 … 20
输出时隙号 9 0 8 2 4 1 5 … 7
[0044] 表3仲裁选择表
[0045] 根据仲裁选择表中的输入通道号选择来从N个数据存储模块中获取数据,并根据表中的输出时隙号来控制写入输出控制模块缓存中的位置。
[0046] 仲裁器的设计这里可以采用一种带优先级的仲裁机制,原则就是:(1)、对数据存储模块进行优先级分类:如果对于输出通道j,超过M/4个时隙的的数据来自于输入通道i,则数据存储模块(i,j)的优先级为1(1表明优先级高);否则为0;(2)、如果N个数据存储模块的FIFO都为空,则不进行读取;(3)、如果N个数据存储模块中有且仅有1个数据存储模块的FIFO不为空,则读取该数据存储模块;(4)、如果N个数据存储模块中有多于1个数据存储模块的FIFO不为空,则记录下当前所有FIFO非空的数据存储模块对应的通道号,然后按通道号从小到大的顺序安排读取顺序。优先满足优先级为1的数据存储模块。
[0047] 对于该仲裁机制,需要补充说明的是,对于多于一个数据存储模块的FIFO非空的时候,一定要记录下当前的情况,并按该情况来安排读写次序。这样就保证了在数据存储模块的优先级一样时,通道号大的数据存储模块被访问的优先级并不比通道号小的数据存储模块低。
[0048] 另外,采用何种仲裁机制并不固定,但是仲裁机制的选择会影响到每个数据存储模块中FIFO的深度。设计不太合理的仲裁机制,会导致要求每个数据存储模块中FIFO深度很深,才不会出现溢出。可以证明,采用上述仲裁机制时,每个数据存储模块FIFO的深度为M/4(理论最小值)即可保证不会溢出。
[0049] 经过仲裁并选择得到的数据即为输出通道j的每个时隙的数据。根据输出时隙号,将数据写入到输出控制模块的输出缓存的正确的位置,最后顺序读出即可。为了避免本帧数据存储的同时影响到上一帧数据的读取,需要采用乒乓缓存(乒乓缓存意味著为传送数据包使用至少两个最大大小的包缓存。在发送其中的一个时,载入另一个。在第一个包被发出去后,立刻发送第二个包,依次类推。这样,就可以连续向线路上发送背靠背数据包)来缓存数据。在缓存当前M个时隙的数据时,将已经准备好的前M个时隙的数据输出,如图4所示,为本发明实施例利用多路选择器(MUX)的输出通道j的输出控制示意图,输出控制模块包括:MUX单元,用于根据预置的输入通道号与输出时隙号的对应关系,利用实现多选一的多路选择器,在各个时隙中将所述多个数据存储模块中的业务数据发送至所述每个输出模组的输出通道。该输出控制模块还包括乒乓缓存单元,且位于MUX单元与输出通道之间,用于将对应于每个输入时隙号的相应的输入通道号的数据,通过乒乓缓存写入相应的输出时隙号的位置进行再次缓存。
[0050] 上述利用MUX根据仲裁选择表进行通道选择时,还可以采用内部总线的方法实现,如图5所示,为本发明实施例利用内部总线的输出通道j的输出控制示意图,其特点是:对于每个数据存储模块,不进行输出时,输出信号置为高阻态;当读使能有效时,对总线进行数据驱动。输出控制模块通过内部总线单元实现,该内部总线单元用于根据预置的输入通道号与输出时隙号的对应关系,利用内部总线,在各个时隙中将所述多个数据存储模块中的业务数据发送至所述每个输出模组的输出通道。该输出控制模块还包括乒乓缓存单元,且位于内部总线单元与输出通道之间,用于将对应于每个输入时隙号的相应的输入通道号的数据,通过乒乓缓存写入相应的输出时隙号的位置进行再次缓存。
[0051] 对于输出通道j,每个时隙都应该有数据输出,如果某一拍没有数据输出,则说明存在着某个输入通道的某个时隙的多播。那么,需要根据CM信息,从缓存中复制一份数据即可。
[0052] 本发明实施例是一种控制写入、控制读出的方案,通过带缓存能力的数据存储模块和带缓存能力的输出控制模块来完成时隙级交叉。本发明实施例综合考虑了RAM存储方案与MUX选择方案的优缺点,提出了一种兼顾了二者优点的实现方法,既避免了使用大量的片内RAM,又避免了使用大量的MUX,从而能够在相同交叉容量下,在一定程度上减小芯片规模,进而降低芯片成本与功耗,减小了全T交叉实现所需要的资源。允许在同等工艺条件下实现更大的芯片交叉容量,或者说在同等工艺、同等交叉容量下,减小芯片的面积与功耗。由于采用数据存储模块存储,可以做到在某些输入通道不使用的情况下关闭相应的数据存储模块,最大限度的降低功耗,而这是以往方案所不具备的能力。本发明实施例可以在输出控制模块中采用乒乓缓存,在缓存当前M个时隙的数据时,将已经准备好的前M个时隙的数据输出,避免本帧数据存储的同时影响到上一帧数据的读取。本发明实施例上述方案可以应用于、SONET(Synchronous Optical Network,同步光纤网络)、OTN(OpticalTransport Network,光传送网)等领域。
[0053] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,包括上述全部或部分步骤,所述的存储介质,如:ROM/RAM、磁盘、光盘等。
[0054] 以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。