单接口芯片及应用该芯片实现芯片与多tcam之间数据传输的方法

文档序号:6435260阅读:208来源:国知局
专利名称:单接口芯片及应用该芯片实现芯片与多tcam之间数据传输的方法
技术领域
本发明涉及网络通信领域技术,尤其是一种单接口芯片及应用该芯片实现芯片与多TCAM之间数据传输的方法。
背景技术
在目前的网络芯片中,经常需要用到TCAM做查找表来转发报文,而随着芯片应用的广泛化,使用的TCAM种类也越来越多。不同的TCAM厂商提供的TCAM,甚至同一个TCAM 厂商不同系列的TCAM,其接口都不一样。一般来说,一块芯片只需要外挂一个TCAM就可以满足要求,然而一块好的芯片一定会考虑其对各种TCAM接口兼容的问题。然而,为了适应应用需求,一块网络芯片往往支持多种型号的TCAM,那么就需要在芯片设计的时候,将多个TCAM的接口设计进去,如图1所示现有技术中,假设芯片共支持 4种不同型号的TCAM,那便需要对应设置4个TCAM接口来与各个TCAM相匹配,这样的设计必将增加芯片的面积及引脚数目,进而增加整个芯片的成本。

发明内容
针对上述技术问题,本发明的目的在于提供一种单接口芯片,其能够通过一个 TCAM接口来支持多种型号的TCAM,从而减少芯片的接口引脚数目,进而降低芯片成本。本发明的另一目的在于提供一种实现芯片与多TCAM之间数据传输的方法,该方法应用上述的单接口芯片。为实现上述发明目的之一,本发明的一种单接口芯片,所述单接口芯片中设有一个共享TCAM接口,所述芯片与多个TCAM之间通过所述共享TCAM接口传输数据。作为本发明的进一步改进,所述共享TCAM接口的引脚数目与所述多个TCAM中引脚数目最大者相同。作为本发明的进一步改进,在同一时间段中,所述多个TCAM中仅有一个TCAM与所述共享TCAM接口传输数据。作为本发明的进一步改进,所述共享TCAM接口包括
数据位宽转换器用于根据TCAM模式的选择,将芯片送出的内部数据转换成所选TCAM 支持的数据;
指令生成器用于根据TCAM的模式来识别是哪种TCAM的数据,并根据识别的结果,将所选TCAM支持的数据转换成所选TCAM支持的指令;
接口选择模块根据所选TCAM模式,分配与所选TCAM相匹配的接口引脚并通过该接口引脚进行数据传输;
TCAM结果译码器将TCAM回送的TCAM数据进行译码以获得译码结果。相应地,为实现本发明另一发明目的,本发明的一种实现芯片与多TCAM之间数据传输的方法,所述方法应用上述的单接口芯片,该方法包括以下步骤51、发送芯片的内部数据;52、选择TCAM模式,将所述内部数据送进数据位宽转换器,根据所选TCAM模式,将所述内部数据转换成所选TCAM支持的数据;53、将所选TCAM支持的数据送到指令生成器,根据所选TCAM模式,在所述指令生成器中将所选TCAM支持的数据转换成所选TCAM支持的指令;54、分配所选TCAM所需的接口引脚并将所述指令通过该接口引脚发送至所选TCAM;55、在TCAM内查找获取对应的TCAM数据,并通过所选的接口引脚回送TCAM数据至芯片内部。
作为本发明的进一步改进,所述S3步骤具体包括531、根据TCAM模式识别所选TCAM支持的数据属于哪种TCAM类型;532、根据识别结果将所选TCAM支持的数据转换成所选TCAM支持的指令。
作为本发明的进一步改进,所述S5步骤具体包括551、根据所选TCAM的指令在所选TCAM内部进行查找,获得与指令相匹配的TCAM数据;552、通过与所选TCAM对应的接口引脚接收TCAM送回的TCAM数据;553、对送回的TCAM数据进行译码,将译码结果发送至芯片内部。
相较于现有技术,本发明的有益效果是本发明通过运用单个共享TCAM接口实现一个芯片支持多种型号TCAM,使得芯片的TCAM接口引脚数目大大减小,进而使得芯片的生产成本更低且体积更小。


图1为现有技术中芯片支持多种型号TCAM的结构示意图;图2为本发明一实施方式中单接口芯片支持多种型号TCAM的结构示意图; 图3为本发明一实施方式的TCAM接口框图;图4为本发明一实施方式中单引擎单接口支持多种型号TCAM的方法的工作流程图; 图5为本发明一实施方式中S3具体步骤的流程图; 图6为本发明一实施方式中S5具体步骤的流程图;图7为本发明一实施方式中单引擎单接口支持多种型号TCAM的装置的模块示意图。
具体实施方式
以下将结合附图所示的各实施例对本发明进行详细描述。但这些实施例并不限制本发明,本领域的普通技术人员根据这些实施例所做出的结构、方法、或功能上的变换均包含在本发明的保护范围内。
如图2所示,在本发明一实施方式中,所述的单接口芯片为一种网络芯片,而网络芯片需要用到TCAM做查找表来转发报文。在本实施方式中,一个网络芯片上包括一个共享TCAM接口,该共享TCAM接口被至少两个TCAM共用,芯片与多个TCAM之间通过所述共享 TCAM 接口实现数据传输。其中,TCAM (ternary content addressable memory)是一种三态内容寻址存储器,主要用于快速查找ACL、路由等表项。本实施方式共设置了 4个TCAM, 其中,TCAMO、TCAMl、TCAM2、TCAM3相互之间不同时工作,即在同一时间段中,所述多个TCAM中仅有一个TCAM与所述共享TCAM接口传输数据。当然,在其他实施方式中,TCAM的数目可为其他任意不小于2的数目,此为本领域技术人员可轻易想到的,在此不再赘述。为了实现本发明目的,在本实施方式中,各个TCAM的引脚数目不同,所述共享TCAM接口的引脚数目与所述多个TCAM中引脚数目最大者相同。比如,芯片需支持TCAMO,TCAMl,TCAM2,TCAM3 ; TCAMO的引脚为80个,TCAMl的引脚为60个,TCAM2的引脚为80个,而TCAM3的引脚为40 个,那么芯片引出的共享TCAM接口的引脚数为80。
如图3所示,所述共享TCAM接口包括数据位宽转换器用于根据TCAM模式的选择,将芯片送出的内部数据转换成所选TCAM 支持的数据;其中,所指的内部数据即为网络芯片从报文头中提取出的待查找的信息,这些待查找的信息都将发送至目标TCAM中,用以查找到相匹配的表项。
指令生成器用于根据TCAM的模式来识别是哪种TCAM的数据,并根据识别的结果,将所选TCAM支持的数据转换成所选TCAM支持的指令。因为不同类型的TCAM具有不同的指令类型,所以在将数据发送给对应的TCAM之前,为确保TCAM能接收到相兼容的数据并查找到相对应结果,便需要通过这样的指令生成器来获得与所选TCAM兼容的指令类型。
接口选择模块根据所选TCAM模式,分配与所选TCAM相匹配的接口引脚并通过该接口引脚进行数据传输;具体地,在上述指令生成器转换得出所选TCAM的指令后,因不同的TCAM具备不同的数据传输引脚(S卩引脚数目不尽相同),所以此模块可自动识别TCAM的模式,并根据TCAM模式选择对应的接口引脚进行数据的传输,其中,所提及的数据的传输可包括芯片向TCAM方向的数据传输以及TCAM向芯片方向的数据传输。
TCAM结果译码器将TCAM回送的TCAM数据进行译码以获得译码结果。在本实施方式中,在TCAM进行查找过后会回送一个相应的TCAM数据给芯片,因为不同的TCAM的回送的TCAM数据格式不一样,而芯片内部的个模块可识别的数据格式是统一的,此时便需要设置一个TCAM结果译码器来将回送的TCAM数据进行译码已得到可被芯片内部各模块使用的译码结果。
如图4所示,在本发明一实施方式中,所述单引擎单接口支持多种型号TCAM的方法,所述方法应用上述的单接口芯片,该方法包括以下步骤Si、发送芯片的内部数据;其中,芯片可为网络芯片,所指的内部数据即为网络芯片从报文头中提取出的待查找的信息,这些待查找的信息都将发送至目标TCAM中,用以查找到相匹配的表项。
S2、选择TCAM模式,将所述内部数据送进数据位宽转换器,根据所选TCAM模式,将所述内部数据转换成所选TCAM支持的数据;53、将所选TCAM支持的数据送到指令生成器,根据所选TCAM模式,在所述指令生成器中将所选TCAM支持的数据转换成所选TCAM支持的指令;54、分配所选TCAM所需的接口引脚并将所述指令通过该接口引脚发送至所选TCAM;其中,因为各个TCAM拥有的接口引脚和指令类型均不同,输入的数据位宽也不一样,所以在芯片的内部数据发送后,首先需要将内部数据装换为与所选TCAM相匹配的指令类型,然后将这套指令送往接口选择模块,因为各个TCAM所需的接口引脚不同,所以在这个模块里面会对送进来的指令重新分配引脚,最后送出去给所选TCAM。
S5、在TCAM内查找获取对应的TCAM数据,并通过所选的接口引脚回送TCAM数据至芯片内部。此步骤中,指令发送给所选TCAM后会进行相应的查找,TCAM也会向芯片回送内部各模块所需要的TCAM数据,所以,这些TCAM数据也将通过之前分配好的接口引脚回送到芯片内部。如图5所示,在本发明一实施方式中,所述步骤S3具体包括
531、根据TCAM模式识别所选TCAM支持的数据属于哪种TCAM类型;
532、根据识别结果将所选TCAM支持的数据转换成所选TCAM支持的指令。如图6所示,在本发明一实施方式中,所述步骤S5具体包括
551、根据所选TCAM的指令在所选TCAM内部进行查找,获得与指令相匹配的TCAM数
据;
552、通过与所选TCAM对应的接口引脚接收TCAM送回的TCAM数据;
553、对送回的TCAM数据进行译码,将译码结果发送至芯片内部。如图7所示,在本发明一实施方式中,所述单引擎单接口支持多种型号TCAM的装置,其包括
数据发送单元10、用于发送芯片的内部数据;其中,芯片可为网络芯片,所指的内部数据即为网络芯片从报文头中提取出的待查找的信息,这些待查找的信息都将发送至目标 TCAM中,用以查找到相匹配的表项。数据转换单元20、用于选择TCAM模式,将芯片送出的内部数据转换成所选TCAM支持的指令;在本实施方式中,因为发送出的内部数据均是通过一个共享TCAM接口来完成, 而该共享TCAM接口有被若干个TCAM共用,所以,首先需要选择TCAM模式,即选择一个TCAM 作为内部数据所要发送的目标TCAM。参图2所示,本实施方式中,一个网络芯片上包括一个共享TCAM接口,该共享TCAM 接口被至少两个TCAM共用,其中,TCAM (ternary content addressable memory)是一种三态内容寻址存储器,主要用于快速查找ACL、路由等表项。本实施方式共设置了 4个TCAM, 其中,TCAMO、TCAMU TCAM2、TCAM3相互之间不同时工作,即在同一时间段只允许选择一个 TCAM为目标TCAM进行工作。当然,在其他实施方式中,TCAM的数目可为其他任意不小于2 的数目,此为本领域技术人员可轻易想到的,在此不再赘述。为了实现本发明目的,在本实施方式中,各个TCAM的引脚数目不同,所述共享TCAM接口的引脚数目与所有TCAM中引脚数目最大者相当。比如,芯片需支持TCAMO,TCAMl, TCAM2,TCAM3 ;TCAMO的引脚为80个, TCAMl的引脚为60个,TCAM2的引脚为80个,而TCAM3的引脚为40个,那么芯片引出的共享TCAM接口的引脚数为80。引脚分配单元30、分配所选TCAM所需的接口引脚并将所述指令通过该接口引脚发送至所选TCAM;其中,因为各个TCAM拥有的接口引脚和指令类型均不同,输入的数据位宽也不一样,所以在芯片的内部数据发送后,首先需要将内部数据装换为与所选TCAM相匹配的指令类型,然后将这套指令送往接口选择模块,因为各个TCAM所需的接口引脚不同, 所以在这个模块里面会对送进来的指令重新分配引脚,最后送出去给所选TCAM。数据回送单元40、通过所选的接口引脚送回TCAM数据至芯片内部。此步骤中,指令发送给所选TCAM后会进行相应的查找,TCAM也会向芯片回送内部各模块所需要的TCAM 数据,所以,这些TCAM数据也将通过之前分配好的接口引脚回送到芯片内部。在本发明一实施方式中,所述数据转换单元20具体用于选择TCAM模式;将所述内部数据送进数据位宽转换器,根据所选TCAM模式,将所述内部数据转换成所选TCAM支持的数据;将数据送到指令生成器,在所述指令生成器中将所述数据转换成所选TCAM的指令。具体地,在指令生成器里面会根据TCAM的模式来识别是哪种TCAM的数据,并根据识别的结果,将这个数据按操作转换成所选TCAM的指令。
在本发明一实施方式中,所述数据回送单元40还用于根据所选TCAM的指令在所选TCAM内部进行查找,获得与指令相匹配的TCAM数据; 通过与所选TCAM对应的接口引脚接收TCAM送回的TCAM数据;其中,TCAM送回的TCAM 数据,首先会回到接口选择模块,接口选择模块会根据TCAM模式,决定从哪几个接口引脚接收TCAM数据。
对送回的TCAM数据进行译码,将译码后的数据发送至芯片内部。其中,接收完的 TCAM数据将会送往TCAM结果译码器中,在这里,译码器同样会根据TCAM模式将TCAM返回的TCAM数据按照所需TCAM的格式译码,并将最后译码的结果送出给芯片内其他的模块使用。
相较于现有技术,本发明通过运用单个共享TCAM接口实现一个芯片支持多种型号TCAM,达到一个TCAM接口与不同型号TCAM之间的交互功能,使得芯片的TCAM接口引脚数目大大减小,进而使得芯片的生产成本更低且体积更小。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备 (可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施方式或者实施方式的某些部分所述的方法。
以上所描述的装置实施方式仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施方式方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本申请可用于众多通用或专用的计算系统环境或配置、或通讯系统环境或设备中。例如个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、 基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、 包括以上任何系统或设备的分布式计算环境等等,以及交换机、路由器、包括以上任何设备的通讯系统环境等等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施方式中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。
权利要求
1.一种单接口芯片,其特征在于,所述单接口芯片中设有一个共享TCAM接口,所述芯片与多个TCAM之间通过所述共享TCAM接口传输数据。
2.根据权利要求1所述的单接口芯片,其特征在于,所述共享TCAM接口的引脚数目与所述多个TCAM中引脚数目最大者相同。
3.根据权利要求2所述的单接口芯片,其特征在于,在同一时间段中,所述多个TCAM中仅有一个TCAM与所述共享TCAM接口传输数据。
4.根据权利要求3所述的单接口芯片,其特征在于,所述共享TCAM接口包括数据位宽转换器用于根据TCAM模式的选择,将芯片送出的内部数据转换成所选TCAM 支持的数据;指令生成器用于根据TCAM的模式来识别是哪种TCAM的数据,并根据识别的结果,将所选TCAM支持的数据转换成所选TCAM支持的指令;接口选择模块根据所选TCAM模式,分配与所选TCAM相匹配的接口引脚并通过该接口引脚进行数据传输;TCAM结果译码器将TCAM回送的TCAM数据进行译码以获得译码结果。
5.一种应用权利要求1至4中任意一项所述的单接口芯片实现芯片与多TCAM之间数据传输的方法,其特征在于,该方法包括以下步骤·51、发送芯片的内部数据;·52、选择TCAM模式,将所述内部数据送进数据位宽转换器,根据所选TCAM模式,将所述内部数据转换成所选TCAM支持的数据;·53、将所选TCAM支持的数据送到指令生成器,根据所选TCAM模式,在所述指令生成器中将所选TCAM支持的数据转换成所选TCAM支持的指令;·54、分配所选TCAM所需的接口引脚并将所述指令通过该接口引脚发送至所选TCAM;·55、在TCAM内查找获取对应的TCAM数据,并通过所选的接口引脚回送TCAM数据至芯片内部。
6.根据权利要求1所述的方法,其特征在于,所述S3步骤具体包括·531、根据TCAM模式识别所选TCAM支持的数据属于哪种TCAM类型;·532、根据识别结果将所选TCAM支持的数据转换成所选TCAM支持的指令。
7.根据权利要求5所述的方法,其特征在于,所述S5步骤具体包括·551、根据所选TCAM的指令在所选TCAM内部进行查找,获得与指令相匹配的TCAM数据;·552、通过与所选TCAM对应的接口引脚接收TCAM送回的TCAM数据;·553、对送回的TCAM数据进行译码,将译码结果发送至芯片内部。
全文摘要
本发明提供一种单接口芯片,该芯片可支持多种型号的TCAM,其特征在于,所述单接口芯片包括一个共享TCAM接口,芯片与多个TCAM之间通过所述共享TCAM接口实现数据传输。本发明通过运用单个共享TCAM接口实现一个芯片支持多种型号TCAM,使得芯片的TCAM接口引脚数目大大减小,进而使得芯片的生产成本更低且体积更小。
文档编号G06F15/173GK102508813SQ20111030594
公开日2012年6月20日 申请日期2011年10月11日 优先权日2011年10月11日
发明者夏杰, 孙剑勇, 徐昌发, 许俊, 贾复山, 郑晓杨, 龚源泉 申请人:盛科网络(苏州)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1