优化空间利用率芯片设计方法及其芯片的制作方法

文档序号:7959952阅读:298来源:国知局
专利名称:优化空间利用率芯片设计方法及其芯片的制作方法
技术领域
本发明涉及网络通信领域,具体为以太网交换机技术,尤其涉及一种可获得最大化芯片空间利用率的交换机芯片设计方法及其芯片。
背景技术
交换机是一种用于电信号转发的网络设备。它可以为接入交换机的任意两个网络节点提供独享的电信号通路。最常见的交换机是以太网交换机。其他常见的还有电话语音交换机、光纤交换机等。以太网交换机应用领域非常广泛,在大大小小的局域网都可以见到它们的踪影。大部分情况下,一款交换机产品的硬件成本占了总成本很大的比例,这部分成本甚至直接决定了产品的最终价格。因此,如何降低产品的硬件成本就成为关键的一个问题。 目前,市场上主流的交换机芯片都会包括TCAM和SRAM。对于不同的特性,各自占用一份自己独立的空间。比如,假设芯片中总共有16K的TCAM和64K的SRAM,分4K的TCAM和4K的 SRAM给ACL使用;分8K的TCAM和8K的SRAM给MAC表使用;剩下的4K的TCAM和5 的 SRAM分配给单播路由IPUC使用。这种方案的好处是实现简单,缺点也很明显,空间分配不够灵活,在不同的应用场景中就有可能需要为了增加某个特性的表容量大小而不得不额外增加TCAM和SRAM的空间,这就造成了产品成本的上升。

发明内容
本发明的目的在于提供一种优化空间利用率的芯片,其可最大限度地利用芯片的内部存储器空间,以达到最优的资源利用率,从而节省芯片的成本。本发明的目的还在于提供一种上述芯片的设计方法。为实现上述发明目的之一,本发明的一种优化空间利用率的芯片的设计方法,其包括如下步骤
设定一最小的可用来分配给当前申请对象使用的最小可分配空间; 接收申请对象发送的申请SRAM空间的请求;
将所述最小可分配空间分配给提出请求的申请对象,并在此之后重新设定最小可分配空间以供后续申请对象使用。作为本发明的进一步改进,所述最小可分配空间的设定的步骤具体为 记录SRAM动态空间的起始地址和结束地址;
通过软件根据特定算法在所述SRAM动态空间的起始地址和结束地址之间维护一最小地址,所述起始地址至最小地址之间的空间便是所述最小可分配空间,其中,所述特定算法用于确保所述最小可分配空间是最小的可用来分配给当前申请对象使用的空间。作为本发明的进一步改进,该方法还包括SRAM空间的共享,具体为 在TCAM中存放若干不同特性的关键词,每个所述关键词匹配一个动作; 将与不同特性的关键词匹配的相同动作存放于一份SRAM空间中。
作为本发明的进一步改进,该方法还包括TCAM空间的共享,具体为
分别记录各个不同类型表项的起始地址和结束地址,其中,所述各个不同类型表项的起始地址及结束地址均是可配置的;
根据芯片的应用场景的不同,分别相应配置各个不同类型表项的起始地址和结束地址,以将TCAM空间进行合理划分并分配给各个不同类型表项使用。作为本发明的进一步改进,所述应用场景包括2层网络环境、或3层网络环境; 所述表项包括访问控制列表(Access Control List,ACL)、介质访问控制(Medium Access Control, MAC)表、或单播路由表。为实现上述另一发明目的,本发明提供了一种优化空间利用率的芯片,其包括如下单元
最小空间设定单元、设定一最小的可用来分配给当前申请对象使用的最小可分配空
间;
请求接收单元、接收申请对象发送的申请SRAM空间的请求;
最小空间分配单元、将所述最小可分配空间分配给提出请求的申请对象,并在此之后重新设定最小可分配空间以供后续申请对象使用。作为本发明的进一步改进,所述最小可分配空间的设定具体为 记录SRAM动态空间的起始地址和结束地址;
通过软件根据特定算法在所述SRAM动态空间的起始地址和结束地址之间维护一最小地址,所述起始地址至最小地址之间的空间便是所述最小可分配空间,其中,所述特定算法用于确保所述最小可分配空间是最小的可用来分配给当前申请对象使用的空间。作为本发明的进一步改进,该芯片还包括SRAM空间的共享功能,具体为 在TCAM中存放若干不同特性的关键词,每个所述关键词匹配一个动作;
将与不同特性的关键词匹配的相同动作存放于一份SRAM空间中。作为本发明的进一步改进,该芯片还包括TCAM空间的共享功能,具体为
分别记录各个不同类型表项的起始地址和结束地址,其中,所述各个不同类型表项的起始地址及结束地址均是可配置的;
根据芯片的应用场景的不同,分别相应配置各个不同类型表项的起始地址和结束地址,以将TCAM空间进行合理划分并分配给各个不同类型表项使用。作为本发明的进一步改进,所述应用场景包括2层网络环境、或3层网络环境; 所述表项包括访问控制列表(Access Control List,ACL)、介质访问控制(Medium Access Control, MAC)表、或单播路由表。与现有技术相比,本发明的有益效果是通过对芯片中SRAM空间的动态分配,最大限度地利用芯片的内部存储器空间,从而获得较佳的芯片资源利用率,进而减小整个芯片的制造成本。


图1是本发明的一实施方式中SRAM空间的动态分配的工作原理示意图,其中,分别示出未动态分配和动态分配后的SRAM空间状态;
图2是本发明一实施方式中SRAM空间动态分配的工作流程图;图3是本发明一实施方式中SRAM空间动态分配的模块示意图; 图4是本发明一实施方式中SRAM空间共享的工作原理示意图,其中,分别示出了 SRAM 空间共享前和共享后的状态。
具体实施例方式以下将结合附图所示的具体实施方式
对本发明进行详细描述。但这些实施方式并不限制本发明,本领域的普通技术人员根据这些实施方式所做出的结构、方法、或功能上的变换均包含在本发明的保护范围内。本发明主要揭示了一种芯片的内部存储资源的利用率优化的方法,以下将以交换机芯片为例对本发明进行详细的描述,但本领域技术人员应当了解的是,此提高芯片资源利用率的方法不仅仅只适用于交换机芯片中,还可以是其它可沿用到此技术的芯片。交换机是一种用于电信号转发的网络设备。它可以为接入交换机的任意两个网络节点提供独享的电信号通路。最常见的交换机是以太网交换机。其他常见的还有电话语音交换机、光纤交换机等。交换机芯片作为交换机中不可或缺的部件,通常会包括用于分配存储空间的三态内容寻址存储器(ternary content addressable memory, TCAM)和静态存储器(Static Random Access Memory,SRAM)。本发明设计的一种芯片的内部存储资源的利用率优化的方法包括SRAM动态空间的分配、SRAM空间的分享以及TCAM空间的分享。图1示出了本发明的SRAM空间动态分配的具体实施方式
的工作原理示意图,首先,图中分别示出了 SRAM空间未动态分配前后的工作方式,如图中所示,SRAM空间没有动态前,SRAM的条目1,2和3固定分配给动态表1使用;条目4,5和6固定分配给动态表2 使用;条目7固定分配给动态表3使用。而在SRAM空间采用动态分配的工作方式后,SRAM的空间是采用“谁用谁申请”的方式进行空间分配。此方案中,SRAM的空间不是固定的划分出去,而是谁用谁申请,用完可以继续释放给别的特性使用。这种方案就不会造成SRAM空间的浪费,可以最大限度的利用的SRAM空间。参图1所示,很明显的看到动态表1,动态表2和动态表3的条目顺序不是固定的,而且动态表1由占用的条目数远远大于动态表3占用的条目数。接下来,将结合图2和图3具体介绍上述芯片SRAM空间动态分配的工作原理,在本实施方式中,SRAM空间的动态分配需要软件和芯片硬件结合使用。软件即为包括特定算法以实现特定功能的程序,硬件便是芯片自身包括的控制单元、存储单元以及通信单元等寸。于本发明中,所述的SRAM空间动态分配的芯片包括以下单元最小空间设定单元 10、请求接收单元20以及最小空间分配单元30。首先,要实现SRAM空间的动态分配,便在芯片中增加一个寄存器,寄存器中设置2个字段分配用来表示SRAM动态空间的起始地址和结束地址。接下来,最小空间设定单元10便会设定一最小可用来分配给当前申请对象使用的最小可分配空间(步骤Si),具体地,在一优选的本实施方式中,上述最小可分配空间的设定通过在软件层根据特定算法维护一个地址(本文称之为最小地址),这个最小地址是处于动态SRAM空间的起始地址和结束地址之间最小的能用来动态分配给申请对象使用的地址,所述起始地址至最小地址之间的空间便是所述最小可分配空间,其中,上述的特定算法就是用于计算出最小地址的位置,以确保每次分配出去的SRAM空间都为最小的可供使用的单元,从而达到真正的节约芯片资源。当内部有上层特性需要申请一个SRAM空间时,便会发送一个申请请求给芯片的请求接收单元20,此请求接收单元20在接收到此申请请求(步骤S2)后,紧接着相应的最小空间分配单元30便会把这个最小可分配空间分配出去给当前申请对象使用并重新计算最小地址(步骤S3),其中,每分配完一个最小可分配空间之后,需要重新计算最小地址(此处的计算还是通过上述的软件层根据预设的特定算法来完成),以等待下一次申请请求来到之时,可以继续进行最小可分配空间的分配工作,如此进行下去,直到最小地址等于SRAM 空间的结束地址,此时便表示SRAM空间已经用完。通过这样的方法来保证SRAM空间不会被浪费。接下来,还将介绍本发明的优化空间利用率的芯片的另外两个方面SRAM空间的共享功能和TCAM空间的共享功能。TCAM空间的共享主要指的是在同样的TCAM总容量大小情况下,根据应用场景的不同,给不同的特性的表项分配不同大小的空间,其中,与本实施方式中,所述的表项包括 ACL表、MAC表、以及单播路由表。比如,同样是16K大小的TCAM,在主要应用场景是2层的网络环境中,给MAC表分配15K,给ACL表分配IK ;而在主要应用场景是3层的网络环境中, 可以给MAC表分配I,给ACL表分配I,剩余的1 (给单播路由表。这就解决了不同的应用环境中为了解决某一特性的表容量增加而造成的扩容问题。设计的时候在芯片中增加一个寄存器,寄存器里设置几个字段分别用来表示单播路由表的起始地址和结束地址,MAC表的起始地址和结束地址,ACL表的起始地址和结束地址。由于所有表项的起始地址和结束地址都是可配置的,就可以实现TCAM空间的共享。请参照图4,图中分别示出了 SRAM空间共享前后的状态对比。其中,SRAM空间的共享主要指的是不同的特性的表项,如果他们有相同的行为,则可以共享同一份SRAM空间。 一般情况下,将查找需要的关键词KEYS (IPUC KEY,MPLS KEY,ACL KEY)放在TCAM中,每个关键词对应一个动作,将与上述各个关键词对应的动作(比如“下一跳”)放在SRAM中,这两者的关系是一一对应的,一份TCAM的条目需要有一个SRAM的条目相关联。SRAM空间共享后,则可以改变这种一一对应的关系,变成多对一的关系。比如,匹配一条单播路由后的行为是从接口 1出去,将TTL减1 ;匹配一条MPLS后的行为也是从接口 1出去,TTL减1 ;那么这两个条目就可以共享一份的SRAM空间,由于所有的表项在TCAM和SRAM空间都有一个地址,因此在芯片的IPUC KEY, MPLS KEY以及ACL KEY表项中分别设置一个字段用来表示他们的下一跳地址,那么只要表项里的下一跳地址是一样的,就可以保证不同的特性共享同一份SRAM空间。与现有技术相比,本发明的优化空间利用率的芯片设计方法通过SRAM空间的动态分配、SRAM空间的共享以及TCAM空间的分享来实现交换机芯片的资源利用率的提升,本发明最大限度地利用芯片的内部存储器空间,从而获得较佳的芯片资源利用率,进而减小整个芯片的制造成本。为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备 (可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施方式或者实施方式的某些部分所述的方法。以上所描述的装置实施方式仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施方式方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。本申请可用于众多通用或专用的计算系统环境或配置、或通讯系统环境或设备中。例如个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、 基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、 包括以上任何系统或设备的分布式计算环境等等,以及交换机、路由器、包括以上任何设备的通讯系统环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施方式中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。
权利要求
1.一种优化空间利用率的芯片设计方法,其特征在于,其包括如下步骤 设定一最小的可用来分配给当前申请对象使用的最小可分配空间; 接收申请对象发送的申请SRAM空间的请求;将所述最小可分配空间分配给提出请求的申请对象,并在此之后重新设定最小可分配空间以供后续申请对象使用。
2.根据权利要求1所述的方法,其特征在于,所述最小可分配空间的设定的步骤具体为记录SRAM动态空间的起始地址和结束地址;通过软件根据特定算法在所述SRAM动态空间的起始地址和结束地址之间维护一最小地址,所述起始地址至最小地址之间的空间便是所述最小可分配空间,其中,所述特定算法用于确保所述最小可分配空间是最小的可用来分配给当前申请对象使用的空间。
3.根据权利要求1所述的方法,其特征在于,该方法还包括SRAM空间的共享,具体为 在TCAM中存放若干不同特性的关键词,每个所述关键词匹配一个动作;将与不同特性的关键词匹配的相同动作存放于一份SRAM空间中。
4.根据权利要求1所述的方法,其特征在于,该方法还包括TCAM空间的共享,具体为 分别记录各个不同类型表项的起始地址和结束地址,其中,所述各个不同类型表项的起始地址及结束地址均是可配置的;根据芯片的应用场景的不同,分别相应配置各个不同类型表项的起始地址和结束地址,以将TCAM空间进行合理划分并分配给各个不同类型表项使用。
5.根据权利要求4所述的方法,其特征在于,所述应用场景包括2层网络环境、或3 层网络环境;所述表项包括访问控制列表(Access Control List, ACL)、介质访问控制 (Medium Access Control,MAC)表、或单播路由表。
6.一种优化空间利用率的芯片,其特征在于,其包括如下单元最小空间设定单元、设定一最小的可用来分配给当前申请对象使用的最小可分配空间;请求接收单元、接收申请对象发送的申请SRAM空间的请求;最小空间分配单元、将所述最小可分配空间分配给提出请求的申请对象,并在此之后重新设定最小可分配空间以供后续申请对象使用。
7.根据权利要求6所述的芯片,其特征在于,所述最小可分配空间的设定具体为 记录SRAM动态空间的起始地址和结束地址;通过软件根据特定算法在所述SRAM动态空间的起始地址和结束地址之间维护一最小地址,所述起始地址至最小地址之间的空间便是所述最小可分配空间,其中,所述特定算法用于确保所述最小可分配空间是最小的可用来分配给当前申请对象使用的空间。
8.根据权利要求6所述的芯片,其特征在于,该芯片还包括SRAM空间的共享功能,具体为在TCAM中存放若干不同特性的关键词,每个所述关键词匹配一个动作; 将与不同特性的关键词匹配的相同动作存放于一份SRAM空间中。
9.根据权利要求6所述的芯片,其特征在于,该芯片还包括TCAM空间的共享功能,具体为分别记录各个不同类型表项的起始地址和结束地址,其中,所述各个不同类型表项的起始地址及结束地址均是可配置的;根据芯片的应用场景的不同,分别相应配置各个不同类型表项的起始地址和结束地址,以将TCAM空间进行合理划分并分配给各个不同类型表项使用。
10.根据权利要求9所述的芯片,其特征在于,所述应用场景包括2层网络环境、或 3层网络环境;所述表项包括访问控制列表(Access Control List, ACL)、介质访问控制 (Medium Access Control,MAC)表、或单播路由表。
全文摘要
本发明揭示了一种优化空间利用率的芯片设计方法及其芯片,其中,芯片设计方法包括如下步骤设定一最小的可用来分配给当前申请对象使用的最小可分配空间;接收申请对象发送的申请SRAM空间的请求;将所述最小可分配空间分配给提出请求的申请对象,并在此之后重新设定最小可分配空间以供后续申请对象使用。该方法同时还揭示了TCAM空间以及SRAM空间的共享,可保证最大限度地利用芯片的内部存储器空间,从而获得较佳的芯片资源利用率,进而减小整个芯片的制造成本。
文档编号H04L12/56GK102508786SQ201110341489
公开日2012年6月20日 申请日期2011年11月2日 优先权日2011年11月2日
发明者廖继平, 张卫峰, 陈跃芳 申请人:盛科网络(苏州)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1