Atm多业务接入交换机中线速处理信元的方法和装置的制作方法

文档序号:7814746阅读:229来源:国知局
专利名称:Atm多业务接入交换机中线速处理信元的方法和装置的制作方法
技术领域
本发明涉及一种在ATM多业务接入交换机中线速处理信元的方法和装置,属于ATM交换技术领域。
背景技术
ATM多业务接入交换机主要由交换芯片和成帧芯片组成,以实现各个业务子卡和ATM上联端口之间ATM信元的交换。实际应用中,交换芯片存在以下限制条件:若交换芯片支持的逻辑端口数为PID,其占用位宽为NPID,VPI占用位宽为NVPI,VCI占用位宽为NVCI,则需满足:NPID+NVPI+NVCI = 16bit,比如,交换芯片支持30个逻辑端口,就要有5bit用于端口基地址,而NVPI+NVCI仅剩余libit。可见,上联口建虚路径连接VPC和虚信道连接VCC可用的虚路径标志VPI与虚信道标志VCI数值较小,无法满足用户任意配置的需要。同时ATM协议中有规定:在用户网络接口(UNI,User Network Interface)模式下VPI占用8bit, VCI 占用 16bit ;在网络节点接口 (NNI, Network Node Interface)模式下 VPI 占用12bit, VCI 占用 16bit。
通常,用户组建ATM网络时都希望在ATM协议允许的范围内任意配置VPI与VCI,但由于上述交换芯片的限制条件要求VPI与VCI 二者的位宽之和等于16-NPID而小于16bit,所以交换芯片只能识别出数值较小的VPI和VCI。这样,当用户配置时输入的VPI和VCI值较大时,就无法建立连接。以一个155M的上联口下挂20个DSLAM为例,需要在上联口建立至少20条VPC与20条VCC,如果用户使用的VCI编号从100开始,VCI的位数需要7位(由于27 = 128 > 100),而由于交换芯片支持的VPI与VCI的位数总和为11位,所以留给VPI的位数仅剩4位,即最大只能建16条VPC,更加严重的是,如果此时用户配置的VPI值大于16,那么一条VPC也不能建立,显然这无法满足业务开展的需要。
为解决上述问题,可在外部VPI/VCI (用户从上联口输入的符合ATM协议的VPI/VCI)和内部VPI/VCI (交换芯片能识别的VPI/VCI)之间建立某种映射关系,以进行相互转换。现有的一些VPI/VCI转换方法存在以下不足:
I)仅从外部VPI/VCI转换到内部VPI/VCI,没有进行双向转换。
2)通过某种运算关系获得的映射关系固定。比如外部VPI占用12bit,外部VCI占用16bit,假设逻辑端口数占用5bit,内部VPI占用3bit,内部VCI占用8bit,则利用取余函数mod(*)获得的映射关系为:内部VPI = mod(外部VPI/23),内部VCI = mod(外部VCI/28)。这种映射关系使得从外部VPI/VCI到内部VPI/VCI的映射为多到I的映射,而从内部VPI/VCI到外部VPI/VCI的映射就是I到多的映射,实际转换时不知如何选择。
3)VPI/VCI割裂开进行映射导致外部VPI/VCI不能真正的实现任意配置。例如,假设内部VPI占用3bit,内部VCI占用8bit,以内部VPI =外部VPI = 1,内部VCI =外部VCI = O 255建立了 256条连接,此时若要重新开辟一个VPI通道,如外部VPI = 2,则外部VCI也只能用先前已经映射过的256个外部VCI中的一个,用户还是不能任意配置VCI。
4)只考虑了建VCC的情况,没有考虑建VPC的情况。
5)没有考虑多个端口的内部VPI/VCI和外部VPI/VCI的映射。
6)没有考虑到交换芯片的NPID、NVP1、NVCI是可配置可改变的情况。
另外,用户希望所使用的ATM多业务接入交换机性能足够高,即ATM交换机对接收到的信元能够尽快地得到处理并转发出去,而尽量避免排队现象。发明内容
有鉴于上述原因,本发明的目的在于提供一种ATM多业务接入交换机中线速处理信元的方法和装置,能够提高数据的处理速率和吞吐量。
为实现上述目的,本发明采用以下技术方案:
一种ATM多业务接入交换机中线速处理信元的装置,基于FPGA实现,装置上设有若干物理端口,FPGA的第一数据输入/输出端与交换芯片连接,第二数据输入/输出端与成帧芯片连接,该装置包括:
入进转换VPI/VCI状态机与外出转换VPI/VCI状态机;
每个所述物理端口的信元进方向设有入进接收FIFO队列与入进发送FIFO队列,信元出方向设有外出发送FIFO队列与外出接收FIFO队列;
该入进转换VPI/VCI状态机从不为空的该入进接收FIFO队列中读取信元,并将该信元经处理后写入该入进发送FIFO队列;该外出转换VPI/VCI状态机从不为空的该外出接收FIFO队列中读取信元,并将该信元经转换后写入该外出发送FIFO队列。
FPGA的第一数据输入/输出端通过交换芯片接口模块与交换芯片连接,第二数据输入/输出端通过成帧芯片接口模块与成帧芯片连接;第三数据输入/输出端通过CAM接口模块与CAM连接,该CAM中存储有内部VPI/VCI和外部VPI/VCI —一对应关系的映射表;第四数据输入/输出端通过CPU接口模块与CPU连接。
所述入进转换VPI/VCI状态机根据端口的数目包括O端口入进转换VPI/VCI子状态机,I端口入进转换VPI/VCI子状态机,……,n端口入进转换VPI/VCI子状态机;所述外出转换VPI/VCI状态机根据端口的数目包括O端口外出转换VPI/VCI子状态机,I端口外出转换VPI/VCI子状态机,……,η端口外出转换VPI/VCI子状态机。
所述CPU中还设有软件更新表项状态机,该状态机用于更新所述CAM中存储的映射表。
该装置还包括仲裁模块,该仲裁模块用于判断所述η端口入进转换VPI/VCI子状态机、所述η端口外出转换VP I/VCI子状态机及所述软件更新表项状态机查找所述CAM的优先级。
所述O端口入进转换VPI/VCI子状态机、所述O端口外出转换VPI/VCI子状态机、所述I端口入进转换VPI/VCI子状态机、所述I端口外出转换VPI/VCI子状态机……所述η端口入进转换VPI/VCI子状态机、所述η端口外出转换VPI/VCI子状态机及所述软件更新表项状态机查找所述CAM的优先级从高到低依次排列。
一种基于权利要求1至6中任意一项所述装置实现的ATM多业务接入交换机中线速处理信元的方法,其特征在于:
信元由所述成帧芯片进入FPGA后,先存于所述入进接收FIFO队列中,所述入进转换VPI/VCI状态机从所述入进接收FIFO队列中读出该信元,并将该信元经过查找所述CAM中的映射表进行转换后,写入所述入进发送FIFO队列中;
信元由所述交换芯片进入FPGA后,先存于所述外出接收FIFO队列中,所述外出转换VPI/VCI状态机从所述外出接收FIFO队列中读出该信元,并将该信元经过查找所述CAM中的映射表进行转换后,写入所述外出发送FIFO队列中。
进一步地:
信元由所述成帧芯片进入FPGA后,先存于所述入进接收FIFO队列中,所述入进转换VPI/VCI状态机从所述入进接收FIFO队列中读出该信元的信元头,并根据该信元头查找所述CAM中的映射表,查找结果作为转换后的信元头由所述入进转换VPI/VCI状态机写入所述入进发送FIFO队列中,最后所述入进转换VPI/VCI状态机从所述入进接收FIFO队列中读取出该信元的原始负载并将该原始负载写入所述入进发送FIFO队列中;
信元由所述交换芯片进入FPGA后,先存于所述外出接收FIFO队列中,所述外出转换VPI/VCI状态机从所述外出接收FIFO队列中读出该信元的信元头,并根据该信元头查找所述CAM中的映射表,查找结果作为转换后的信元头由所述外出转换VPI/VCI状态机写入所述外出发送FIFO队列中,最后所述外出转换VPI/VCI状态机从所述外出接收FIFO队列中读出该信元的原始负载并写入所述外出发送FIFO队列中。
本发明的优点在于:
I)入进/外出转换VPI/VCI状态机与入进/外出接收/发送FIFO队列的配合工作使得装置能够线速处理信元,大大地提高了数据处理速率及数据吞吐量。
2)通过在CAM中建立内部VPI/VCI与外部VPI/VCI——对应关系的映射表,由FPGA查找该映射表进行内部VPI/VCI和外部VPI/VCI之间的相互转换,以较低的成本有效地解决了用户在使用ATM多业务接入交换机时VPI/VCI受限的问题,使用户可以在ATM协议允许范围内任意的配置VPI和VCI,方便了 ATM网络的构建和管理。
3)根据用户建连接的情况,可动态建立和维护内部VPI/VCI和外部VPI/VCI —一对应关系的映射表,避免了预存静态映射关系表带来的CAM资源紧张的问题,降低了对CAM容量的要求,从而降低了成本。
4)内部VPI/VCI和外部VPI/VCI的对应关系是随机生成的,这种映射方法是根据所建连接的种类(VPC或VCC)给外部VPI/VCI分配内部VPI/VCI,保证了映射关系的一一对应,使得内部VPI/VCI和外部VPI/VCI可进行双向转换。
5)适用于多个物理端口的VPI/VCI的转换。
6)适用于交换芯片的NPID、NVP1、NVCI可配置可改变的情况;


图1为本发明装置的一具体实施例的结构示意图2为本发明中内部VPI/VCI与外部VPI/VCI建立、删除映射关系及相互转换的流程示意图3为本发明的映射方法流程图;具体实施方式
以下结合附图和实施例对本发明作进一步详细的说明。
为使说明更加清楚明了,附图中相同的元件使用相同的标号标识。
图1为本发明装置的一具体实施例的结构示意图。如图所示,本发明的ATM多业务接入交换机中线速处理信元的装置I是基于FPGA实现的。其中,FPGA的第一数据输入/输出端通过交换芯片接口模块6与交换芯片2连接,第二数据输入/输出端通过成帧芯片接口模块7与成帧芯片3连接,该交换芯片接口模块6和成帧芯片接口模块7用于完成ATM信元在交换芯片2和成帧芯片3之间的交换。FPGA的第三数据输入/输出端通过内容可寻址寄存器CAM (content addressable memory)接口模块8与CAM 4连接,在该CAM 4中存储有内部VPI/VCI与外部VPI/VCI —一对应关系的映射表,FPGA的第四数据输入/输出端通过CPU接口模块9与CPU5连接,用于建立和维护该存储于CAM中的映射表。本发明的装置上设有若干物理端口。
利用图1所示装置实现VPI/VCI转换的方法为:经由成帧芯片3输入的携带外部VPI/VCI的ATM信元,先经FPGA查询所述的内部VPI/VCI与外部VPI/VCI——对应关系的映射表,然后FPGA将该ATM信元转换为携带相应的内部VPI/VCI的ATM信元后交由交换芯片2处理;而由交换芯片2输入的携带内部VPI/VCI的ATM信元,先经FPGA查询所述的内部VPI/VCI与外部VPI/VCI —一对应关系的映射表,然后FPGA将该ATM信元转换为携带相应的外部VPI/VCI的ATM信元后交由成帧芯片3处理。
具体的说:上联端口经由成帧芯片3输入的携带外部VPI/VCI的ATM信元,先由FPGA从该ATM信元的信元头中提取出外部VPI/VCI,然后根据该外部VPI/VCI查询存储于CAM中的内部VPI/VCI与外部VPI/VCI —一对应关系的映射表,以获取对应的内部VPI/VCI,找到后FPGA将原有的外部VPI/VCI转换为该获取到的对应的内部VPI/VCI后生成新的信元头,FPGA将该新的信元头与原有ATM信元的负载部分组合生成新的ATM信元后交由交换芯片2处理;
而由交换芯片2处理后输入的携带内部VPI/VCI的ATM信元同样先由FPGA从该信元的信元头中提取出内部VPI/VCI,然后根据该内部VPI/VCI查询存储于CAM中的内部VPI/VCI与外部VPI/VCI —一对应关系的映射表,以获取对应的外部VPI/VCI,找到后FPGA将原有的内部VPI/VCI转换为该对应的外部VPI/VCI后生成新的信元头,FPGA将该新的信元头与原有ATM信元的负载部分组合生成新的ATM信元后经由成帧芯片3发送至上联端□。
图2为本发明内部VPI/VCI与外部VPI/VCI映射关系建立、删除及相互转换的流程示意图,图中的CAM 4中存储有内部VPI/VCI和外部VPI/VCI —一对应关系的映射表。
如图所示,内部VPI/VCI和外部VPI/VCI相互转换的过程为:
20 =FPGA收到成帧芯片3发来的信元后,提取出信元头中的外部VPI/VCI ;
21:FPGA查询CAM中存储的映射表,将外部VPI或VPI/VCI转换为对应的内部VPI或 VPI/VCI ;
若连接是VPC,则内部VPI和外部VPI单独映射,只需进行内部VPI和外部VPI的相互转换,此处只需将外部VPI转换为对应的内部VPI,VCI保持不变;
若连接是VCC,则内部VPI与VCI和外部VPI与VCI捆绑起来映射,需要同时进行内部VPI与VCI和外部VPI与VCI的相互转换,此处需同时将外部VPI与VCI转换为对应的内部VPI与VCI。
22 =FPGA将转换后的信元发送给交换芯片2。
步骤21中信元头中的外部VPI或VPI/VCI转换为对应的内部VPI或VPI/VCI后,FPGA将经转换后的携带内部VPI或VPI/VCI的信元头部与原有信元的负载部分组合生成新的信元,并将该新的信元发送至交换芯片2。
23 =FPGA收到由交换芯片2发来的信元,提取出信元头中的内部VPI/VCI ;
24 =FPGA查询CAM中存储的映射表,将内部VPI或VPI/VCI转换为对应的外部VPI或 VPI/VCI ;
若连接是VPC,只需将内部VPI转换为对应的外部VPI,VCI保持原样;若连接是VCC,需同时将内部VPI与VCI转换为对应的外部VPI与VCI。
25:将转换后的信元发送给成帧芯片3。
步骤24中信元头中的内部VPI或VPI/VCI转换为对应的外部VPI或VPI/VCI后,FPGA将经转换后的携带外部VPI或VPI/VCI的信元头部与原有信元的负载部分组合生成新的信元,并将该新的信元发送至成帧芯片3。
如图所示,内部VPI/VCI与外部VPI/VCI映射关系建立的过程为:
200:未建连接;
210:用户欲建立连接;
此时,用户需要输入:欲建连接VPC或是VCC以及不同端口对应的VP1、VCI。
220:首先判断当前已建连接数是否已达最大连接数,若是则此时无法再建立新的连接返回步骤200,若否则执行步骤230 ;
需要注意的是,虽然通过本发明可以实现ATM协议允许范围内用户任意的配置VPI和VCI,但是总的连接数是保持不变的。
230:判断连接是VPC还是VCC,若是VPC则执行步骤240,若是VCC则执行步骤241 ;
240:判断该端口该VPI是否已被占用,若已被占用则返回步骤200,若未被占用则执行步骤250 ;
S卩,要判断用户所配置的端口和输入的VPI是否已被占用。
250:软件在内存中建连接,分配内部VPI,并在CAM 4中存储的映射表中添加相应的VPI表项。
CAM中存储的 映 射表的数据格式如下(以端口 O和端口 I为例):
权利要求
1.一种ATM多业务接入交换机中线速处理信元的装置,基于FPGA实现,装置上设有若干物理端口,FPGA的第一数据输入/输出端与交换芯片连接,第二数据输入/输出端与成帧芯片连接,其特征在于,该装置包括: 入进转换VPI/VCI状态机与外出转换VPI/VCI状态机; 每个所述物理端口的信元进方向设有入进接收FIFO队列与入进发送FIFO队列,信元出方向设有外出发送FIFO队列与外出接收FIFO队列; 该入进转换VPI/VCI状态机从不为空的该入进接收FIFO队列中读取信元,并将该信元经处理后写入该入进发送FIFO队列;该外出转换VPI/VCI状态机从不为空的该外出接收FIFO队列中读取信元,并将该信元经转换后写入该外出发送FIFO队列。
2.如权利要求1所述的ATM多业务接入交换机中线速处理信元的装置,其特征在于:FPGA的第一数据输入/输出端通过交换芯片接口模块与交换芯片连接,第二数据输入/输出端通过成帧芯片接口模块与成帧芯片连接;第三数据输入/输出端通过CAM接口模块与CAM连接,该CAM中存储有内部VPI/VCI和外部VPI/VCI —一对应关系的映射表;第四数据输入/输出端通过CPU接口模块与CPU连接。
3.如权利要求2所述的ATM多业务接入交换机中线速处理信元的装置,其特征在于,所述入进转换VPI/VCI状态机根据端口的数目包括O端口入进转换VPI/VCI子状态机,I端口入进转换VPI/VCI子状态机,……,n端口入进转换VPI/VCI子状态机;所述外出转换VPI/VCI状态机根据端口的数目包括O端口外出转换VPI/VCI子状态机,I端口外出转换VPI/VCI子状态机,……,η端口外出转换VPI/VCI子状态机。
4.如权利要求2所述的ATM多业务接入交换机中线速处理信元的装置,其特征在于,所述CPU中还设有软件更新表项状态机,该状态机用于更新所述CAM中存储的映射表。
5.如权利要求3或4所述的ATM多业务接入交换机中线速处理信元的装置,其特征在于,它还包括仲裁模块,该仲裁模块用于判断所述η端口入进转换VPI/VCI子状态机、所述η端口外出转换VPI/VCI子状态机及所述软件更新表项状态机查找所述CAM的优先级。
6.如权利要求5所述的ATM多业务接入交换机中线速处理信元的装置,其特征在于,所述O端口入进转换VPI/VCI子状态机、所述O端口外出转换VPI/VCI子状态机、所述I端口入进转换VPI/VCI子状态机、所述I端口外出转换VPI/VCI子状态机……所述η端口入进转换VPI/VCI子状态机、所述η端口外出转换VPI/VCI子状态机及所述软件更新表项状态机查找所述CAM的优先级从高到低依次排列。
7.一种基于权利要求1至6中任意一项所述装置实现的ATM多业务接入交换机中线速处理信元的方法,其特征在于: 信元由所述成帧芯片进入FPGA后,先存于所述入进接收FIFO队列中,所述入进转换VPI/VCI状态机从所述入进接收FIFO队列中读出该信元,并将该信元经过查找所述CAM中的映射表进行转换后,写入所述入进发送FIFO队列中; 信元由所述交换芯片进入FPGA后,先存于所述外出接收FIFO队列中,所述外出转换VPI/VCI状态机从所述外出接收FIFO队列中读出该信元,并将该信元经过查找所述CAM中的映射表进行转换后,写入所述外出发送FIFO队列中。
8.如权利要求7所述的ATM多业务接入交换机中线速处理信元的方法,其特征在于: 信元由所述成帧芯片进入FPGA后,先存于所述入进接收FIFO队列中,所述入进转换VPI/VCI状态机从所述入进接收FIFO队列中读出该信元的信元头,并根据该信元头查找所述CAM中的映射表,查找结果作为转换后的信元头由所述入进转换VPI/VCI状态机写入所述入进发送FIFO队列中,最后所述入进转换VPI/VCI状态机从所述入进接收FIFO队列中读取出该信元的原始负载并将该原始负载写入所述入进发送FIFO队列中; 信元由所述交换芯片进入FPGA后,先存于所述外出接收FIFO队列中,所述外出转换VPI/VCI状态机从所述外出接收FIFO队列中读出该信元的信元头,并根据该信元头查找所述CAM中的映射表,查找结果作为转换后的信元头由所述外出转换VPI/VCI状态机写入所述外出发送FIFO队列中,最后所述外出转换VPI/VCI状态机从所述外出接收FIFO队列中读出该信元的原始负载并写 入所述外出发送FIFO队列中。
全文摘要
本发明涉及一种ATM多业务接入交换机中线速处理信元的方法和装置,装置基于FPGA实现,包括入进转换VPI/VCI状态机与外出转换VPI/VCI状态机;每个物理端口的信元进方向设有入进接收FIFO队列与入进发送FIFO队列,信元出方向设有外出发送FIFO队列与外出接收FIFO队列;入进转换VPI/VCI状态机从不为空的入进接收FIFO队列中读取信元,并将经转换后的信元写入入进发送FIFO队列;外出转换VPI/VCI状态机从不为空的外出接收FIFO队列中读取信元,并将经转换后的信元写入外出发送FIFO队列。使用本发明的ATM交换机能够线速处理信元,提供数据的处理速率和吞吐量。
文档编号H04L12/931GK103188174SQ20111045996
公开日2013年7月3日 申请日期2011年12月31日 优先权日2011年12月31日
发明者王彦珍 申请人:北京大唐高鸿软件技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1