查表型硬件搜索引擎制造技术

技术编号:18292251 阅读:189 留言:0更新日期:2018-06-24 08:10
查表型硬件搜索引擎,属于信息技术领域,用于改造传统TCAM硬件搜索引擎,使得电路性能更高。技术要点是:包括SL译码器、TL‑TCAM阵列,所述TL‑TCAM硬件搜索引擎中存储的数据由对应的TCAM硬件搜索引擎中存储的数据查表得到,所述的译码器用于将搜索字译码并将其送入TL‑TCAM硬件搜索引擎阵列,所述译码为使对应于TCAM硬件搜索引擎表格中数据的搜索字SL转换为对应于TL‑TCAM硬件搜索引擎表格数据的搜索字LSL,效果是:TCAM增加译码器,配合译码器并以查表方式将TCAM表格数据转换成能够适应于增加了搜索线的新电路单元。

【技术实现步骤摘要】
查表型硬件搜索引擎
本专利技术属于信息
,涉及一种硬件搜索引擎。
技术介绍
TCAM(TernaryContent-AddressableMemory)是一种高速的硬件搜索引擎,广泛的应用于搜索密集型操作中,如Internet中的主干网/边沿网的路由器中,实现路由表查找及数据包转发。BiCAM(BinaryCAM)只能存储1bit数据0或1。而TCAM可以存储0、1、X三个值,这里X是通配符,既可以表示0,也可以表示1。根据工作原理的区别,TCAM匹配线主要分为NOR型和NAND型两种,如图1所示。它主要由存储单元、匹配线ML、搜索线SL、比较管M1-M4组成,其中,存储单元是6管SRAM单元,图1省略了2个读写访问管,单元电路的功能描述见表1。表1TCAM单元编码NOR型TCAM字电路是将NOR型TCAM单元并行的连接在一起组成。NAND型TCAM字电路是将NAND型TCAM单元串联在一起组成。见图2。其中NOR型匹配线结构是将NOR型TCAM单元的匹配线ML并行连接,而NAND型匹配线是将NAND型TCAM单元串行连接。TCAM就是由字电路组成的阵列、译码器、优先级编码器组成,见图3。TCAM工作时,所有的字电路同时启动,导致TCAM的功耗很高,一个典型的TCAM芯片功耗为25瓦左右。如何在不影响搜索速度的情况下降低功耗是国内外学者的一个主要研究方向。2007年N.Mohan等人提出了一种NOR型低寄生电容的TCAM单元结构(详见[1]N.Mohan,etal.,“Low-capacitanceandcharge-sharedmatchlinesforlow-energyhigh-performanceTCAMs,”IEEEJSSC,vol.42,no.9,pp.2054-2060,Sept2007.),见图4。其匹配线ML上只有一个管子M1,而传统的16TNOR型TCAM单元(见图1(a))的ML上连接了2个管子M1和M2。寄生电容降低,功耗也就得到了降低,电路速度也能加快。专利技术人在此电路上继续研究发现,若将TCAM单元Tcell每2位组合,优化形成新的电路单元TL-Tcell,可以使匹配线寄生电容降低一半,搜索线翻转耗电的概率降低一半,搜索性能大幅提高。TL-Tcell单元中存储的数据需要从TCAM中处理得到。
技术实现思路
为了降低匹配线寄生电容,降低搜索线翻转耗电概率,提高搜索性能,本专利技术提出如下方案:一种查表型TL-TCAM硬件搜索引擎,包括SL译码器、TL-TCAM阵列,所述TL-TCAM硬件搜索引擎中存储的数据由对应的TCAM硬件搜索引擎中存储的数据查表得到,所述的译码器用于将搜索字译码并将其送入TL-TCAM硬件搜索引擎阵列,所述译码为使对应于TCAM硬件搜索引擎表格中数据的搜索字SL转换为对应于TL-TCAM硬件搜索引擎表格数据的搜索字LSL。有益效果:本专利技术能够降低匹配线寄生电容,降低搜索线翻转耗电概率,提高搜索性能。TL-Tcell单元中存储的数据需要从TCAM中查表得到。附图说明图1是TCAM单元示意图,其中:(a)为NOR型TCAM单元,(b)为NAND型TCAM单元;图2是TCAM字电路结构示意图,其中:(a)为NOR型匹配线,(b)为NAND型匹配线;图3是简单的CAM框图;图4是低寄生电容TCAM结构示意图;图5是TCAM和TL-TCAM的数据互转举例示意图;图6是TL-TCAM硬件搜索引擎的电路框图;图7是NOR型TL-TCAM硬件搜索引擎的单元电路示意图;图8是NAND型TL-TCAM硬件搜索引擎的单元电路示意图;图9是NOR型TL-TCAM硬件搜索引擎的字电路示意图;图10是NAND型TL-TCAM硬件搜索引擎的字电路示意图;图11是TCAM硬件搜索引擎的表分割示意图;图12是TL-TCAM硬件搜索引擎的表分割示意图。具体实施方式本专利技术对其使用的部分术语作出定义或中文翻译:TCAM(TernaryContent-AddressableMemory)是硬件搜索引擎;TL-TCAM是本专利技术改进型的硬件搜索引擎。在一种实施例中,一种查表型TL-TCAM硬件搜索引擎,包括SL译码器、TL-TCAM阵列,所述TL-TCAM硬件搜索引擎中存储的数据由对应的TL-TCAM硬件搜索引擎中存储的数据查表得到,所述的译码器用于将搜索字译码并将其送入TL-TCAM阵列,所述译码为使对应于TCAM硬件搜索引擎表格中数据的搜索字SL转换为对应于TL-TCAM硬件搜索引擎表格数据的搜索字LSL。在一种方案中,TL-TCAM硬件搜索引擎中存储的数据由对应的TCAM硬件搜索引擎中存储的数据查表得到,TCAM硬件搜索引擎的数据由所述的TL-TCAM硬件搜索引擎中存储的数据映射的方式得到;由此,下述方案将具体阐明本专利技术的TL-TCAM硬件搜索引擎与现有TCAM硬件搜索引擎的数据转换方式:TCAM硬件搜索引擎表格中的每一位(设为T-bit)都是三值的,可以是0、1、X。在电路实现上,它实际上是由2bitSRAM组成,即T-bit=(SRAM1,SRAM2),例如0=(0,1),1=(1,0),X=(0,0)。TL-TCAM硬件搜索引擎将TCAM表格平均分割,在每个字电路(一行称为一个字电路)中,每2个T-bit位组一个分组(T_block),见图11,需要说明的是:这里的每一位T-bit是三值的。图11示出了TCAM硬件搜索引擎的表分割的方式。在字电路中每2个T-bit位组成一个分组T_block。T-bit是三值的,即T-bit=(SRAM1,SRAM2)。然后将每个T_block做变换,转换成TL-TCAM的块TL_block,见图12。需要说明的是:这里的每一位B-bit是二值的。图12示出了TL-TCAM硬件搜索引擎的表的组成。每个块TL_block的大小为1行×4列,这里B-bit是二值的。因此T_block和TL_block存储容量是一样的。转换的主要操作如下:针对每一个分组T_block执行如下操作:用00在分组T_block中进行查表运算,是否“命中”的结果作为对应的分组TL_block中的第一个二值比特B-bit的值,记为B-bit[1],“命中”时B-bit[1]=1,否则B-bit[1]=0;用01在分组T_block中进行查表运算,是否“命中”的结果作为对应的分组TL_block中的第二个二值比特B-bit的值,记为B-bit[2],“命中”时B-bit[2]=1,否则B-bit[2]=0;用10在分组T_block中进行查表运算,是否“命中”的结果作为对应的分组TL_block中的第三个二值比特B-bit的值,记为B-bit[3],“命中”时B-bit[3]=1,否则B-bit[3]=0;用11在分组T_block中进行查表运算,是否“命中”的结果作为对应的分组TL_block中的第四个二值比特B-bit的值,记为B-bit[4],“命中”时B-bit[4]=1,否则B-bit[4]=0。TCAM到TL-TCAM的转换伪代码描述如下:需要说明的是:由于TCAM的一位实际上是由2bitSRAM组成,因此,TCAM到TL-TCAM的变换没有引起任何额外位的增加,即本文档来自技高网
...
查表型硬件搜索引擎

【技术保护点】
1.一种查表型TL‑TCAM硬件搜索引擎,其特征在于,包括SL译码器、TL‑TCAM阵列,所述TL‑TCAM硬件搜索引擎中存储的数据由对应的TCAM硬件搜索引擎中存储的数据查表得到,所述的译码器用于将搜索字译码并将其送入TL‑TCAM硬件搜索引擎阵列,所述译码为使对应于TCAM硬件搜索引擎表格中数据的搜索字SL转换为对应于TL‑TCAM硬件搜索引擎表格数据的搜索字LSL。

【技术特征摘要】
1.一种查表型TL-TCAM硬件搜索引擎,其特征在于,包括SL译码器、TL-TCAM阵列,所述TL-TCAM硬件搜索引擎中存储的数据由对应的TCAM硬件搜索引擎中存储的数据查表得到,所述的译码器用于将搜索字译码并将其送入TL-TCAM硬件搜索引擎阵列,所述译码为使对应于TCAM硬件搜索引擎表格中数据的搜索字SL转换为对应于TL-TCAM硬件搜索引擎表格数据的搜索字LSL。2.如权利要求1所述的查表型TL-TCAM硬件搜索引擎,其特征在于,其基于如下方式实现所述TL-TCAM硬件搜索引擎中存储的数据,由对应的TCAM硬件搜索引擎中存储的数据查表得到:将TCAM硬件搜索引擎字电路中每两个三值比特进行分组,每个分组记为T_block,分组T_block映射成TL-TCAM硬件搜索引擎中对应的分组TL_block,每个分组TL_block由四个二值比特组成,将每个分组T_block转换成对应的分组TL_block通过查表操作实现:针对每一个分组T_block执行如下操作:用00在分组T_block中进行查表运算,是否命中的结果作为对应的分组TL_block中的第一个二值比特B-bit的值,记为B-bit[1],命中时B-bit[1]=1,否则B-bit[1]=0;用01在分组T_block中进行查表运算,是否命中的结果作为对应的分组TL_block中的第二个二值比特B-bit的值,记为B-bit[2],命中时B-bit[2]=1,否则B-bit[2]=0;用10在分组T_block中进行查表运算,是否命中的结果作为对应的分组TL_block中的第三个二值比特B-bit的值,记为B-bit[3],命中时B-bit[3]=1,否则B-bit[3]=0;用11在分组T_block中进行查表运算,是否命中的结果作为对应的分组TL_block中的第四个二值比特B-bit的值,记为B-bit[4],命中时B-bit[4]=1,否则B-bit[4]=0。3.如权利要求1或2所述的查表型TL-TCAM硬件搜索引擎,其特征在于,所述TL-TCAM阵列主要由TL-TCAM硬件搜索引擎的字电路组成,每个字电路主要由多个NOR型TL-TCAM硬件搜索引擎单元NORTL-Tcell并联在匹配线ML上组成,或由多个NAND型TL-TCAM硬件搜索引擎单元NANDTL-Tcell串行连接组成,TL-Tcell由搜索数据线及全局屏蔽线连接于译码器。4.如权利要求3所述的查表型TL-TCAM硬件搜索引擎,其特征在于,所述NORTL-Tcell包括反相器T1~T8、NMOS管M1~M4、NMOS管N1~N4、搜索数据线LSL_00、LSL_01、LSL_10、LSL_11、全局屏蔽线GLX、GLX_h、局部匹配线LML、LMR、全局匹配线ML;反相器T1的输入端与反相器T2的输出端相连作为B-bit[1]的数据存储端M[1],反相器T1的输出端与反相器T2的输入端相连作为B-bit[1]的逻辑“非”的数据存储端M[1]#,M#端是M端的逻辑“非”;MOS管M1的源极与M[1]#端相连,MOS管M1的栅极与搜索数据线LSL_00连接,MOS管M1的漏极连接于局部匹配线LML;反相器T3的输入端与反相器T4的输出端相连作为B-bit[2]的数据存储端M[2],反相器T3的输出端与反相器T4的输入端相连作为B-bit[2]的逻辑“非”的数据存储端M[2]#,M[2]#端是M[2]端的逻辑“非”,MOS管M2的漏极与M[2]#端相连,MOS管M2的栅极与搜索数据线LSL_01连接,MOS管M2的源极连接于局部匹配线LMR;反相器T5的输入端与反相器T6的输出端相连作为B-bit[3]的数据存储端M[3],反相器T5的输出端与反相器T6的输入端相连作为B-bit[3]的逻辑“非”的数据存储端M[3]#,M[3]#是M[3]的逻辑“非”,MOS管M3的源极与M[3]#端相连,MOS管M3的栅极与搜索数据线LSL_10连接,MOS管M3的漏极连接于局部匹配线LMR;反相器T7的输入端与反相器T8的的输出端相连作为B-bit[4]的数据存储端M[4],反相器T7的输出端与反相器T8的输入端相连作为B-bit[4]的逻辑“非”的数据存储端M[4]#,M[4]#是M[4]的逻辑“非”,MOS管M4的漏极与M[4]#端相连,MOS管M4的栅极与搜索数据线LSL_11连接,MOS管M4的源极连接于局部匹配线LML;MOS管N1的栅极连接全局屏蔽线GLX,MOS管N1的源极接地,MOS管N1的漏极连接于匹配线LMR;MOS管N3的栅极连接于全局屏蔽线GLX_h,MOS管N3的源极连接于局部匹配线LMR,MOS管N3的漏极连接于局部匹配线LML;MOS管N2的栅极连接于局部匹配线LMR,MOS管N2的源极接地;MOS管N4的栅极连接于局部匹配线LML,MOS管N4的源极连接MOS管N2的漏极,MOS管N4的漏极连接于全局匹配线ML。5.如权利要求3所述的查表型TL-TCAM硬件搜索引擎,其特征在于,所述NANDTL-Tcell包括反相器T1~T8、NMOS管M1~M4、NMOS管N1~N4、搜索数据线LSL_00、LSL_01、LSL_10、LSL_11、全局屏蔽线GLX、GLX_h、局部匹配线LML、LMR、全局匹配线ML_L、ML_R;反相器T1的输入端与反相器T2的输出端相连作为B-bit[1]的数据存储端M[1],反相器T1的输出端与反相器T2的输入端相连作为B-bit[1]的逻辑“非”的数据存储端M[1]#,M#端是M端的逻辑“非”;MOS管M1的源极与M[1]端相连,MOS管M1的栅极与搜索数据线LSL_00连接,MOS管M1的漏极连接于局部匹配线LML;反相器T3的输入端与反相器T4的输出端相连作为B-bit[2]的数据存储端M[2],反相器T3的输出端与反相器T4的输入端相连作为B-bit[2]的逻辑“非”的数据存储端M[2]#,M[2]#端是M[2]端的逻辑“非”,MOS管M2的漏极与M[2]端相连,MOS管M2的栅极与搜索数据线LSL_01连接,MOS管M2的源极连接于局部匹配线LMR;反相器T5的输入端与反相器T6的输出端相连作为B-bit[3]的数据存储端M[3],反相器T5的输出端与反相器T6的输入端相连作为B-bit[3]的逻辑“非”的数据存储端M[3]#,M[3]#是M[3]的逻辑“非”,MOS管M3的源极与M[3]端相连,MOS管M3的栅极与搜索数据线LSL_10连接,MOS管M3的漏极连接于局部匹配线LMR;反相器T7的输入端与反相器T8的的输出端相连作为B-bit[4]的数据存储端M[4],反相器T7的输出端与反相器T8的输入端相连作为B-bit[4]的逻辑“非”的数据存储端M[4]#,M[4]#是M[4]的逻辑“非”,MOS管M4的漏极与M[4]端相连,MOS管M4的栅极与搜索数据线LSL_11连接,MOS管M4的源极连接于局部匹配线...

【专利技术属性】
技术研发人员:张建伟吴国强陈晓明喻言
申请(专利权)人:大连理工大学
类型:发明
国别省市:辽宁,21

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1