一种内容寻址存储器的制作方法



1.本技术涉及存储技术领域,尤其涉及一种内容寻址存储器。


背景技术:



2.内容寻址存储器(content addressable memory,cam)是一种特殊的存储器。参阅图1a和图1b,cam不仅支持随机存写,还支持查表。查表是指将一个搜索字输入cam后,cam将该搜索字与cam存储的所有存储字同时进行比较,判断该搜索字与cam存储的存储字是否匹配,并输出匹配存储字对应的地址和匹配信息。
3.三态内容寻址存储器(ternary content addressable memory,tcam)是一种常用的cam。tcam包括多行位元单元(bit cell),每行位元单元包括多个位元单元。图2为一个位元单元的示意图。请参阅图2,位元单元包括晶体管m1,晶体管m2,晶体管m3,晶体管m4,第一静态随机存取存储器(static random access memory,sram)存储单元201和第二sram存储单元202。第一sram存储单元201和第二sram存储单元202均包括两个反相器,用于存储一个比特。第一sram存储单元与m1的栅极连接,m1的源极,m2的源极,m1的漏极和m2的漏极均与匹配线(match line,ml)203连接,m2的栅极连接m3的漏极和m4的源极,m3的源极连接搜索线驱动单元sl,m4的漏极连接搜索线驱动单元sl#,m3的栅极连接第二sram存储单元的一端,m4的栅极连接第二sram存储单元的另一端。
4.但是,tcam只能通过通配符来表示区间范围。例如,将输入搜索字与区间[001,111]进行比较,tcam不能用一行位元单元来存储[001,111],而是需要分成三行位元单元来存储。一行位元单元存储001,第二行位元单元存储01*,第三行位元单元存储1**,01*表示的范围是[010,011],1**表示的范围是[100,111]。实际应用中,这样进行范围匹配需要占用大量硬件资源(即位元单元)。


技术实现要素:



[0005]
有鉴于此,本技术提供一种内容寻址存储器,能够节省范围匹配占用的硬件资源。
[0006]
第一方面提供一种内容寻址存储器,该内容寻址存储器包括位元单元阵列,搜索线驱动单元,匹配信号单元和第一充电单元;第一充电单元用于将第一匹配线的输出端和第二匹配线的输出端预充电至预定电压;搜索线驱动单元用于向第一位元单元组发送搜索字;第一位元单元组用于当搜索字和预存的第一存储字满足第一预设关系时将第一匹配线的第一端电压从预定电压调整为接地电压,当搜索字和预存的第一存储字不满足第一预设关系时将第一匹配线的第一端电压保持为预定电压;当搜索字和预存的第二存储字满足第二预设关系时将第二匹配线的第一端电压从预定电压调整为接地电压,当搜索字和预存的第二存储字不满足第二预设关系时将第二匹配线的第一端电压保持为预定电压;放大单元用于将第一匹配线的第一端电压放大为第一放大电压以及将第二匹配线的第一端电压放大为第二放大电压;匹配信号单元用于根据第一放大电压和第二放大电压输出范围匹配结果。其中,第一位元单元组是位元单元阵列中的任意一行位元单元,第一位元单元组的每个
位元单元分别连接第一匹配线和第二匹配线,第一匹配线的第一端连接放大单元和第一充电单元,第二匹配线的第一端连接放大单元和第一充电单元。第一位元单元组的各位元单元按照从低到高的存储位顺序沿第一匹配线排列且存储最低存储位的位元单元位于远离第一充电单元的一侧。第一充电单元包括与每个匹配线对应的充电开关。第一预设关系为小于或大于,第二预设关系为小于或大于。第一预设关系与第二预设关系可以相同,也可以不同。第一存储字是使用第一预设规则对目标范围的上限进行处理所得,第二存储字是使用第二预设规则对目标范围的下限进行处理所得。具体的,第一存储字可以为目标范围的上限,目标范围的上限加一或者目标范围的上限减一。第二存储字可以为目标范围的下限,目标范围的下限加一或者目标范围的下限减一。
[0007]
第一存储字以目标范围的上限为例,第二存储字以目标范围的下限为例,第一预设关系以小于为例,根据搜索字和第一存储字可以在第一匹配线输出电压,该电压可以指示搜索字是否小于目标范围的上限。第二预设关系以大于为例,根据搜索字和第二存储字可以在第二匹配线输出电压,该电压可以指示搜索字是否大于目标范围的下限,结合两个电压可以输出范围匹配结果,该范围匹配结果用于指示搜索字是否在目标范围内。一个位元单元组包括n个位元单元,那么第一存储字和第一存储字可以是[0,2n]的任意一个值,这样只需要一个位元单元组存储两个存储字就可以实现范围匹配,能够节省范围匹配时占用的硬件资源。
[0008]
应理解,当目标范围是闭区间或者半开半闭区间时,目标范围可以转换为等效的开区间,转换后的开区间上限是第一存储字,转换后的开区间的下限是第二存储字。可以看出,在第一预设关系为小于以及第二预设关系为大于的情况下,上述内容寻址存储器可以对将搜索字与开区间,闭区间或者半开半闭区间进行范围匹配。需要说明的是,在第一预设关系为大于的情况下,匹配信号单元可以对第一放大电压取反,这样可以判断出搜索字是否小于第一存储字。在第二预设关系为小于的情况下,匹配信号单元可以对第二放大电压取反,这样可以判断出搜索字是否大于第二存储字。因此上述内容寻址存储器可以基于上述第一预设关系和第二预设关系对任意一个范围进行范围匹配。
[0009]
在一个可能实现方式中,在第一位元单元组中每个位元单元包括第一晶体管,第二晶体管,第一开关单元,第二开关单元,第三开关单元,第四开关单元,第一位存储单元和第二位存储单元;第一开关单元用于在搜索位与第一存储位相等时导通第一晶体管,当搜索位与第一存储位不相等时关断第一晶体管;第二开关单元用于当第一搜索线信号和第一存储位满足第一预设关系时导通第一匹配线与地之间的连接,当第一搜索线信号和第一存储位不满足第一预设关系时关断第一匹配线与地之间的连接;第三开关单元用于当搜索位与第二存储位相等时导通第二晶体管,当搜索位与第二存储位不相等时关断第二晶体管;第四开关单元用于当第二搜索线信号和第二存储位满足第二预设关系时导通第二匹配线与地之间的连接,当第二搜索线信号和第二存储位不满足第二预设关系时关断第二匹配线与地之间的连接。其中,第一开关单元分别连接搜索线驱动单元,第一晶体管的栅极和第一位存储单元,第一晶体管的源极和漏极连接第一匹配线。第二开关单元连接搜索线驱动单元,第一位存储单元,第一匹配线和地。第三开关单元分别连接搜索线驱动单元,第二晶体管的栅极和第二位存储单元,第二晶体管的源极和漏极连接第二匹配线;第四开关单元连接搜索线驱动单元、第二位存储单元,第二匹配线和地。在第一位元单元组中每个位元单元
的第一位存储单元用于存储第一存储位,在第一位元单元组中每个位元单元的第二位存储单元用于存储第二存储位。
[0010]
第一预设关系以小于为例,在搜索字小于第一存储字的情况下,必然有一个位元单元的第二开关单元导通,使得第一匹配线接地,从而输出接地电压。在搜索字大于第一存储字的情况下,必然有一个位元单元的第一晶体管关断导致第一匹配线断开,而且靠近第一充电单元侧的第二开关单元均断开使第一匹配线不接地,这样第一匹配线输出预定电压。在搜索字等于第一存储字的情况下,全部位元单元的第一晶体管导通且第一匹配线不接地,这样第一匹配线输出预定电压。由此可见,第一位元单元组和第一匹配线可以实现小于匹配。同理,第一位元单元组和第二匹配线可以实现小于匹配。应理解,当第一预设关系或者第二预设关系为大于时,上述位元单元组、第一匹配线和第二匹配线也可以实现大于匹配。
[0011]
在另一个可能实现方式中,第一开关单元包括第三晶体管和第四晶体管,第三晶体管连接第一位存储单元的一端和搜索线驱动单元,第四晶体管连接第一位存储单元的另一端,搜索线驱动单元,且第三晶体管和第四晶体管都连接第一晶体管的栅极;第二开关单元包括相连的第五晶体管和第六晶体管,且第五晶体管连接第一位存储单元和地,第六晶体管连接搜索线驱动单元和第一匹配线;第三开关单元包括相连的第七晶体管和第八晶体管,第七晶体管连接第二位存储单元的一端和搜索线驱动单元,第八晶体管连接第二位存储单元的另一端和搜索线驱动单元,且第七晶体管和第八晶体管都连接第二晶体管的栅极;第四开关单元包括相连的第九晶体管和第十晶体管,且第九晶体管连接第二位存储单元和地,第十晶体管连接搜索线驱动单元和第二匹配线。这样提供了上述开关单元的具体实现方式。应理解,每种开关单元还可以通过更多晶体管来实现其功能。
[0012]
在另一种可能实现方式中,第六晶体管和第十晶体管通过不同的搜索线连接搜索线驱动单元,第五晶体管连接第一位存储单元的第一端,第九晶体管连接第二位存储单元的第二端。第一端和第二端是不同的两端。依此实施,通过第二开关单元控制第一匹配线接地与通过第四开关单元控制第二匹配线接地的方式不同,实现了一种异构的位元单元。这样的位元单元可以包括两种不同的匹配电路,从而实现两种预设关系。
[0013]
在另一种可能实现方式中,放大单元包括第一敏感放大器和第二敏感放大器,匹配信号单元包括第一非门、第二非门和第一与门;第一敏感放大器连接第一匹配线和第一非门,第二敏感放大器连接第二匹配线和第二非门,第一与门分别连接第一非门和第二非门。在此内容寻址存储器中,第一敏感放大器将第一匹配线的第一端电压放大为第一放大电压,第二敏感放大器将第二匹配线的第一端电压放大为第二放大电压,第一非门将第一放大电压取反,第二非门将第二放大电压取反,第一与门将取反后的第二放大电压和取反后的第一放大电压进行与运算,得到范围匹配结果。
[0014]
在另一种可能实现方式中,匹配信号单元还包括第二与门,第二与门连接第二敏感放大器和第三敏感放大器,第三敏感放大器与第二位元单元组的第一匹配线连接,第二位元单元组与第一位元单元组相邻。第二与门可以将与相邻位元单元组连接的匹配线输出的电平进行与运算,从而输出一个新的范围匹配结果,该范围匹配结果对应的范围位于相邻位元单元组存储的两个范围之间。因此对于三个以上的连续区间,该内容寻址存储器可以节省范围匹配占用的硬件资源。
[0015]
在另一种可能实现方式中,第六晶体管和第十晶体管通过一条搜索线连接搜索线驱动单元,第五晶体管连接第一位存储单元的第一端,第九晶体管连接第二位存储单元的第一端。第一端可以是左端或右端。依此实施,通过第二开关单元控制第一匹配线接地与通过第四开关单元控制第二匹配线接地的方式相同,实现了一种同构的位元单元。这样的位元单元包括两个相同的匹配电路,这样便于制造。
[0016]
在另一种可能实现方式中,放大单元包括第四敏感放大器和第五敏感放大器,匹配信号单元包括第三非门和第三与门;第四敏感放大器连接第一匹配线和第三非门,第五敏感放大器连接第二匹配线,第三与门分别连接第三非门和第二敏感放大器。在此内容寻址存储器中,第四敏感放大器将第一匹配线的第一端电压放大为第三放大电压,第五敏感放大器将第二匹配线的第一端电压放大为第四放大电压,第一非门将第三放大电压进行取反,第一与门将第四放大电压和取反后的第三放大电压进行与运算,得到范围匹配结果。
[0017]
在另一种可能实现方式中,匹配信号单元还包括第四非门和第四与门;第四非门连接第六敏感放大器,第六敏感放大器与第二位元单元组的第一匹配线连接,第二位元单元组与第一位元单元组相邻;第四与门连接第二敏感放大器和第四非门。第四与门可以将与相邻位元单元组连接的匹配线输出的电平进行与运算,从而输出一个新的范围匹配结果,该范围匹配结果对应的范围位于相邻位元单元存储的两个范围之间。因此对于三个以上的连续区间,该内容寻址存储器可以节省范围匹配占用的硬件资源。
[0018]
在另一种可能实现方式中,内容寻址存储器还包括第二充电单元,第二充电单元连接第一匹配线的第二端,第二充电单元的使能状态与第一充电单元的使能状态相反;第一位元单元组还用于当搜索字与第一存储字相等时导通第一匹配线,当搜索字与第一存储字不相等时断开第一匹配线;放大单元还用于将第一匹配线的第一端电压放大;匹配信号单元还用于输出放大后的第一匹配线的第一端电压。当搜索字与第一存储字相等时导通第一匹配线,高电平可以从第二充电单元到达放大单元,放大单元可以将高电平进行处理后传输到匹配信号单元,这样匹配信号单元可以输出高电平。当搜索字与第一存储字不相等时关断第一匹配线,高电平不能从第二充电单元到达放大单元,这样匹配信号单元输出低电平。这样可以根据高电平和低电平判断出搜索字与第一存储字是否相等,从而实现精确匹配。应理解,当搜索字与第一存储字相等时,搜索字和预存的第一存储字不满足第一预设关系,这样不会使第一匹配线接地。
[0019]
可选的,第二充电单元还连接第二匹配线的第二端,第一位元单元组还用于当搜索字与第二存储字相等时导通第二匹配线,当搜索字与第二存储字不相等时断开第二匹配线;放大单元还用于将第二匹配线的第一端电压放大;匹配信号单元还用于输出放大后的第二匹配线的第一端电压。这样可以通过第二匹配线进行精确匹配。
[0020]
在另一种可能实现方式中,内容寻址存储器还包括通配符匹配使能线;在第一位元单元组中每个位元单元包括第十一晶体管,第十二晶体管和第十三晶体管;第十一晶体管连接第三开关单元和第二位存储单元,用于根据第二位存储单元的存储位导通或关断;第十二晶体管连接通配符匹配使能线,第十一晶体管和第一匹配线,用于根据从通配符匹配使能线接收的控制信号导通或关断第十一晶体管与第一匹配线之间的连接;第十三晶体管用于根据从通配符匹配使能线接收的控制信号关断第一匹配线与第二开关单元之间的连接。
[0021]
当第二充电单元使能时,导通第十一晶体管与第一匹配线之间的连接,当第二充电单元不使能时,关断第十一晶体管与第一匹配线之间的连接。当第i个位元单元的第二存储位为x时,导通第十一晶体管,无论搜索字是0或1,高电平都可以经过第i个位元单元的第十一晶体管和第十二晶体管输出到下一级。当第二存储位为0或1时关断第十一晶体管,这样第一晶体管会根据搜索字与第一存储字的比较结果导通或关断,这样可以判断搜索字等于0或1,从而实现了通配符匹配。第十二晶体管和第十三晶体管是互反开关。应理解,当第二充电单元使能时,关断第十三晶体管,这样使第一匹配线不接地。当第二充电单元不使能且第一充电单元使能时,导通第十三晶体管,使得第二开关单元可以控制第一匹配线与地之间的连接。
[0022]
在另一种可能实现方式中,内容寻址存储器还包括结果控制线和第一信号输出线;匹配信号单元还包括第十四晶体管和第十五晶体管;第十四晶体管连接结果控制线,放大单元和第一信号输出线,第十五晶体管连接结果控制线,匹配信号单元和第一信号输出线。第十四晶体管用于根据从结果控制线接收的第二控制信号时导通放大单元与第一信号输出线的连接,或者根据第三控制信号关断放大单元与第一信号输出线的连接。第十五晶体管用于根据从结果控制线接收的第三控制信号导通匹配信号单元与第一信号输出线的连接,或者根据第二控制信号关断匹配信号单元与第一信号输出线的连接。当第十四晶体管关断且第十五晶体管导通时,输出范围匹配结果,当第十四晶体管导通且第十五晶体管关断时,输出精确匹配结果或者通配符匹配结果。
[0023]
在另一种可能实现方式中,内容寻址存储器还包括第十六晶体管和第十七晶体管,结果控制位存储单元和第二信号输出线;第十六晶体管连接结果控制位存储单元,第二充电单元和第一匹配线;第十七晶体管连接结果控制位存储单元,第一充电单元和第一匹配线;匹配信号单元还包括第十八晶体管和第十九晶体管;第十八晶体管连接结果控制位存储单元,放大单元和第二信号输出线;第十九晶体管连接结果控制位存储单元,匹配信号单元和第二信号输出线。第十六晶体管用于根据结果控制位存储单元存储的值导通或断开第二充电单元与第一匹配线之间的连接。第十七晶体管用于根据结果控制位存储单元存储的值导通或断开第一充电单元与第一匹配线之间的连接。第十八晶体管用于根据结果控制位存储单元存储的值导通或断开放大单元与第二信号输出线的连接。第十九晶体管用于根据结果控制位存储单元存储的值导通或断开匹配信号单元与第二信号输出线的连接。在一个时钟周期内,第十六晶体管和第十八晶体管的开关状态一致,第十七晶体管和第十九晶体管的开关状态一致,第十六晶体管和第十七晶体管的开关状态相反。当第十八晶体管和第十六晶体管导通且第十七晶体管和第十九晶体管关断时,输出精确匹配结果或者通配符匹配结果。当第十八晶体管和第十六晶体管关断且第十七晶体管和第十九晶体管导通时,输出范围匹配结果。
[0024]
第二方面提供一种内容寻址存储器,该内容寻址存储器包括:位元单元阵列,搜索线驱动单元,匹配信号单元和第一充电单元;第一充电单元用于将第一匹配线的输出端和第二匹配线的输出端预充电至预定电压;搜索线驱动单元用于向第一位元单元组发送搜索字;第一位元单元组用于当搜索字和预存的第一存储字满足第一预设关系时将第一匹配线的第一端电压从预定电压调整为接地电压,当搜索字和预存的第一存储字不满足第一预设关系时将第一匹配线的第一端电压保持为预定电压;当搜索字和预存的第二存储字满足第
二预设关系时将第二匹配线的第一端电压从预定电压调整为接地电压,当搜索字和预存的第二存储字不满足第二预设关系时将第二匹配线的第一端电压保持为预定电压;放大单元用于将第一匹配线的第一端电压放大为第一放大电压,以及将第二匹配线的第一端电压放大为第二放大电压;匹配信号单元用于根据第一放大电压和第二放大电压输出范围匹配结果。其中,第一位元单元组是位元单元阵列中的任意一行位元单元,第一位元单元组的每个位元单元分别连接第一匹配线和第二匹配线,第一匹配线的第一端连接放大单元和第一充电单元,第二匹配线的第一端连接放大单元和第一充电单元,第一匹配线的第二端和第二匹配线的第二端接地。第一位元单元组的各位元单元按照从低到高的存储位顺序沿着第一匹配线排列且存储最低存储位的位元单元位于远离第一充电单元的一侧。第一充电单元包括与每个匹配线对应的充电开关。第一预设关系为不小于或不大于,第二预设关系为不小于或不大于。第一预设关系与第二预设关系可以相同,也可以不同。具体的,第一存储字可以等于目标范围的上限,目标范围的上限加一或者目标范围的上限减一。第二存储字可以等于目标范围的下限,目标范围的下限加一或者目标范围的下限减一。
[0025]
依此实施,第一预设关系以不大于为例,这样根据搜索字和第一存储字可以在第一匹配线输出电压,该电压可以指示搜索字是否小于或等于目标范围的上限。第二预设关系以不小于为例,根据搜索字和第二存储字可以在第二匹配线输出电压,该电压可以指示搜索字是否大于或等于目标范围的下限,结合两个电压可以输出范围匹配结果,该范围匹配结果用于指示搜索字是否在目标范围内。
[0026]
当目标范围为开区间或者半开半闭区间时,目标范围可以转换为等效的闭区间,转换后的闭区间上限是第一存储字,转换后的闭区间的下限是第二存储字。因此在第一预设关系为不大于以及第二预设关系为不小于的情况下,上述内容寻址存储可以对将搜索字与开区间,闭区间或者半开半闭区间进行范围匹配。
[0027]
在一个可能实现方式中,在第一位元单元组中每个位元单元包括第一晶体管,第二晶体管,第一开关单元,第二开关单元,第三开关单元,第四开关单元,第一位存储单元和第二位存储单元;第一开关单元用于在搜索位与第一存储位相等时导通第一晶体管,当搜索位与第一存储位不相等时关断第一晶体管;第二开关单元用于当第一搜索线信号和第一存储位满足第三预设关系时导通第一匹配线与地之间的连接,当第一搜索线信号和第一存储位不满足第三预设关系时关断第一匹配线与地之间的连接;第三开关单元用于当搜索位与第二存储位相等时导通第二晶体管,当搜索位与第二存储位不相等时关断第二晶体管;第四开关单元用于当第二搜索线信号和第二存储位满足第四预设关系时导通第二匹配线与地之间的连接,当第二搜索线信号和第二存储位不满足第四预设关系时关断第二匹配线与地之间的连接。其中,第一开关单元分别连接搜索线驱动单元,第一晶体管的栅极和第一位存储单元,第一晶体管的源极和漏极连接第一匹配线。第二开关单元连接搜索线驱动单元、第一匹配线、第一位存储单元和地。第三开关单元分别连接搜索线驱动单元,第二晶体管的栅极和第二位存储单元,第二晶体管的源极和漏极连接第二匹配线;第四开关单元分别连接搜索线驱动单元、第二匹配线、第二位存储单元和地。在第一位元单元组中每个位元单元的第一位存储单元用于存储第一存储位,在第一位元单元组中每个位元单元的第二位存储单元用于存储第二存储位。
[0028]
当第一预设关系为不大于时,第三预设关系为小于。当第一预设关系为不小于时,
第三预设关系为大于。第二预设关系为不大于时,第四预设关系为小于。当第二预设关系为不小于时,第四预设关系为大于。在搜索字小于第一存储字的情况下,必然有一个位元单元的第二开关单元导通,这样第一匹配线输出接地电压。在搜索字等于第一存储字的情况下,全部位元单元的第一晶体管导通且第一匹配线接地,这样第一匹配线输出接地电压。在搜索字大于第一存储字的情况下,必然有一个位元单元的第二开关单元和第一晶体管关断,这样第一匹配线输出预定电压,由此可以实现小于或等于匹配。同理可以实现大于或等于匹配。
[0029]
在另一个可能实现方式中,第一开关单元包括第三晶体管和第四晶体管,第三晶体管连接第一位存储单元的一端和搜索线驱动单元,第四晶体管连接第一位存储单元的另一端,搜索线驱动单元,且第三晶体管和第四晶体管都连接第一晶体管的栅极;第二开关单元包括相连的第五晶体管和第六晶体管,且第五晶体管连接第一位存储单元和地,第六晶体管连接搜索线驱动单元和第一匹配线;第三开关单元包括相连的第七晶体管和第八晶体管,第七晶体管连接第二位存储单元的一端和搜索线驱动单元,第八晶体管连接第二位存储单元的另一端和搜索线驱动单元,且第七晶体管和第八晶体管都连接第二晶体管的栅极;第四开关单元包括相连的第九晶体管和第十晶体管,且第九晶体管连接第二位存储单元和地,第十晶体管连接搜索线驱动单元和第二匹配线。这样提供了上述开关单元的具体实现方式。应理解,每种开关单元还可以通过更多晶体管实现其功能。
[0030]
可选的,第六晶体管和第十晶体管通过不同的搜索线连接搜索线驱动单元,第五晶体管连接第一位存储单元的第一端,第九晶体管连接第二位存储单元的第二端。
[0031]
可选的,放大单元包括第一敏感放大器和第二敏感放大器,匹配信号单元包括第一非门、第二非门和第一与门;第一敏感放大器连接第一匹配线和第一非门,第二敏感放大器连接第二匹配线和第二非门,第一与门分别连接第一非门和第二非门。
[0032]
可选的,匹配信号单元还包括第二与门,第二与门连接第二敏感放大器和第三敏感放大器,第三敏感放大器与第二位元单元组的第一匹配线连接,第二位元单元组与第一位元单元组相邻。
[0033]
可选的,第六晶体管和第十晶体管通过一条搜索线连接搜索线驱动单元,第五晶体管连接第一位存储单元的第一端,第九晶体管连接第二位存储单元的第一端。
[0034]
在另一种可能实现方式中,放大单元包括第四敏感放大器和第五敏感放大器,匹配信号单元包括第三非门和第三与门;第四敏感放大器连接第一匹配线和第三非门,第五敏感放大器连接第二匹配线,第三与门分别连接第三非门和第二敏感放大器。在此内容寻址存储器中,第一敏感放大器将第一匹配线的第一端电压放大为第一放大电压,第二敏感放大器将第二匹配线的第一端电压放大为第二放大电压,第三非门将第一放大电压进行取反,第三与门将第二放大电压和取反后的第一放大电压进行与运算,得到范围匹配结果。
[0035]
在另一种可能实现方式中,匹配信号单元还包括第四非门和第四与门;第四非门连接第六敏感放大器,第六敏感放大器与第二位元单元组的第一匹配线连接,第二位元单元组与第一位元单元组相邻;第四与门连接第二敏感放大器和第四非门。对于三个以上的连续区间,该内容寻址存储器可以节省范围匹配占用的硬件资源。
[0036]
第二方面的可能实现方式中各单元的组成,连接关系和有益效果可参阅第一方面的相应描述。
[0037]
第三方面提供一种内容寻址存储器,该内容寻址存储器包括:位元单元阵列,搜索线驱动单元,匹配信号单元和第一充电单元;第一充电单元用于将第一匹配线的输出端和第二匹配线的输出端预充电至预定电压;搜索线驱动单元用于向第一位元单元组发送搜索字;第一位元单元组用于当搜索字和预存的第一存储字满足第一预设关系时将第一匹配线的第一端电压从预定电压调整为接地电压,当搜索字和预存的第一存储字不满足第一预设关系时将第一匹配线的第一端电压保持为预定电压;当搜索字和预存的第二存储字满足第二预设关系时将第二匹配线的第一端电压从预定电压调整为接地电压,当搜索字和预存的第二存储字不满足第二预设关系时将第二匹配线的第一端电压保持为预定电压;放大单元用于将第一匹配线的第一端电压放大为第一放大电压,以及将第二匹配线的第一端电压放大为第二放大电压;匹配信号单元用于根据第一放大电压和第二放大电压输出范围匹配结果。其中,第一位元单元组是位元单元阵列中的任意一行位元单元,第一位元单元组的每个位元单元分别连接第一匹配线和第二匹配线,第一匹配线的第一端连接放大单元和第一充电单元,第二匹配线的第一端连接放大单元和第一充电单元,第一匹配线的第二端接地且第二匹配线的第二端不接地。第一位元单元组的各位元单元按照从低到高的存储位顺序沿着第一匹配线排列且存储最低存储位的位元单元位于远离第一充电单元的一侧。第一充电单元包括与每个匹配线对应的充电开关。第一预设关系为不小于或不大于,第二预设关系为小于或大于。具体的,第一存储字可以等于目标范围的上限,目标范围的上限加一或者目标范围的上限减一。第二存储字可以等于目标范围的下限,目标范围的下限加一或者目标范围的下限减一。
[0038]
依此实施,第一预设关系以不大于为例,根据搜索字和第一存储字可以在第一匹配线输出电压,该电压可以指示搜索字是否小于或等于目标范围的上限。第二预设关系以大于为例,根据搜索字和第二存储字可以在第二匹配线输出电压,该电压可以指示搜索字是否大于目标范围的下限,结合两个电压可以输出范围匹配结果,该范围匹配结果用于指示搜索字是否在目标范围内,该目标范围为一个半开半闭区间。
[0039]
在一个可能实现方式中,在第一位元单元组中每个位元单元包括第一晶体管,第二晶体管,第一开关单元,第二开关单元,第三开关单元,第四开关单元,第一位存储单元和第二位存储单元;第一开关单元用于在搜索位与第一存储位相等时导通第一晶体管,当搜索位与第一存储位不相等时关断第一晶体管;第二开关单元用于当第一搜索线信号和第一存储位满足第三预设关系时导通第一匹配线与地之间的连接,当第一搜索线信号和第一存储位不满足第三预设关系时关断第一匹配线与地之间的连接;第三开关单元用于当搜索位与第二存储位相等时导通第二晶体管,当搜索位与第二存储位不相等时关断第二晶体管;第四开关单元用于当第二搜索线信号和第二存储位满足第二预设关系时导通第二匹配线与地之间的连接,当第二搜索线信号和第二存储位不满足第二预设关系时关断第二匹配线与地之间的连接。其中,第一开关单元分别连接搜索线驱动单元,第一晶体管的栅极和第一位存储单元,第一晶体管的源极和漏极连接第一匹配线。第二开关单元分别连接搜索线驱动单元、第一匹配线和第二晶体管,第二晶体管连接第二开关单元,第一位存储单元和地。第三开关单元分别连接搜索线驱动单元,第二晶体管的栅极和第二位存储单元,第二晶体管的源极和漏极连接第二匹配线;第四开关单元分别连接搜索线驱动单元、第二匹配线和第四晶体管的源极,第四晶体管的栅极连接第二位存储单元,第四晶体管的漏极接地。当第
一预设关系为不小于时,第三预设关系为大于。当第一预设关系为不大于时,第三预设关系为小于。
[0040]
在第三预设关系为小于的情况下,当搜索字小于第一存储字时,必然有一个位元单元的第二开关单元导通,这样第一匹配线输出接地电压。在搜索字等于第一存储字的情况下,全部位元单元的第一晶体管导通且第一匹配线接地,这样第一匹配线输出接地电压。在搜索字大于第一存储字的情况下,必然有一个位元单元关断,这样第一匹配线输出预定电压。由此可以实现小于或等于匹配。在搜索字等于第二存储字的情况下,全部位元单元的第二晶体管导通且第二匹配线不接地,这样第二匹配线输出预定电压,第一位元单元组和第二匹配线可以实现大于匹配。应理解,当第一预设关系为不小于或者第二预设关系为小于时,上述位元单元组、第一匹配线和第二匹配线也可以实现不小于或小于匹配。
[0041]
在另一个可能实现方式中,第一开关单元包括第三晶体管和第四晶体管,第三晶体管连接第一位存储单元的一端和搜索线驱动单元,第四晶体管连接第一位存储单元的另一端,搜索线驱动单元,且第三晶体管和第四晶体管都连接第一晶体管的栅极;第二开关单元包括相连的第五晶体管和第六晶体管,且第五晶体管连接第一位存储单元和地,第六晶体管连接搜索线驱动单元和第一匹配线;第三开关单元包括相连的第七晶体管和第八晶体管,第七晶体管连接第二位存储单元的一端和搜索线驱动单元,第八晶体管连接第二位存储单元的另一端和搜索线驱动单元,且第七晶体管和第八晶体管都连接第二晶体管的栅极;第四开关单元包括相连的第九晶体管和第十晶体管,且第九晶体管连接第二位存储单元和地,第十晶体管连接搜索线驱动单元和第二匹配线。这样提供了上述开关单元的具体实现方式。应理解,每种开关单元还可以通过更多晶体管来实现其功能。
[0042]
在另一种可能实现方式中,第六晶体管和第十晶体管通过不同的搜索线连接搜索线驱动单元,第五晶体管连接第一位存储单元的第一端,第九晶体管连接第二位存储单元的第二端。依此实施,通过第二开关单元控制第一匹配线接地与通过第四开关单元控制第二匹配线接地的方式不同,实现了一种异构的位元单元。这样可以将第一预设关系和第二预设关系设置为不同。
[0043]
在另一种可能实现方式中,放大单元包括第一敏感放大器和第二敏感放大器,匹配信号单元包括第一非门、第二非门和第一与门;第一敏感放大器连接第一匹配线和第一非门,第二敏感放大器连接第二匹配线和第二非门,第一与门分别连接第一非门和第二非门。在此内容寻址存储器中,第一敏感放大器将第一匹配线的第一端电压放大为第一放大电压,第二敏感放大器将第二匹配线的第一端电压放大为第二放大电压,第一非门将第一放大电压取反,第二非门将第二放大电压取反,第一与门将取反后的第二放大电压和取反后的第一放大电压进行与运算,得到范围匹配结果。
[0044]
在另一种可能实现方式中,匹配信号单元还包括第二与门,第二与门连接第二敏感放大器和第三敏感放大器,第三敏感放大器与第二位元单元组的第一匹配线连接,第二位元单元组与第一位元单元组相邻。第二与门可以将与相邻位元单元组连接的匹配线输出的电平进行与运算,从而输出一个新的范围匹配结果,该范围匹配结果对应的范围位于相邻位元单元存储的两个范围之间。因此对于三个以上的连续区间,该内容寻址存储器可以节省范围匹配占用的硬件资源。
[0045]
在另一种可能实现方式中,第六晶体管和第十晶体管通过一条搜索线连接搜索线
驱动单元,第五晶体管连接第一位存储单元的第一端,第九晶体管连接第二位存储单元的第一端。这样提供了另一种可行的位元单元。
[0046]
在另一种可能实现方式中,放大单元包括第四敏感放大器和第五敏感放大器,匹配信号单元包括第三非门和第三与门;第四敏感放大器连接第一匹配线和第三非门,第五敏感放大器连接第二匹配线,第三与门分别连接第三非门和第二敏感放大器。这样提供了另一种放大单元和匹配信号单元。
[0047]
在另一种可能实现方式中,放大单元包括第四敏感放大器和第五敏感放大器,匹配信号单元包括第三非门和第三与门,第四敏感放大器连接第一匹配线,第五敏感放大器连接第二匹配线和第三非门,第三与门分别连接第三非门和第四敏感放大器。这样提供了另一种放大单元和匹配信号单元。
[0048]
在另一种可能实现方式中,匹配信号单元还包括第四非门和第四与门;第四非门连接第六敏感放大器,第六敏感放大器与第二位元单元组的第一匹配线连接,第二位元单元组与第一位元单元组相邻;第四与门连接第二敏感放大器和第四非门。
[0049]
第三方面的可能实现方式中各单元的组成,连接关系和有益效果可参阅第一方面的相应描述。
[0050]
第四方面提供一种内容寻址存储器,该内容寻址存储器包括:位元单元阵列,搜索线驱动单元,匹配信号单元和第一充电单元;第一充电单元用于将第一匹配线的输出端和第二匹配线的输出端预充电至预定电压;搜索线驱动单元用于向第一位元单元组发送搜索字;第一位元单元组用于当搜索字和预存的第一存储字满足第一预设关系时将第一匹配线的第一端电压从预定电压调整为接地电压,当搜索字和预存的第一存储字不满足第一预设关系时将第一匹配线的第一端电压保持为预定电压;当搜索字和预存的第二存储字满足第二预设关系时将第二匹配线的第一端电压从预定电压调整为接地电压,当搜索字和预存的第二存储字不满足第二预设关系时将第二匹配线的第一端电压保持为预定电压;放大单元用于将第一匹配线的第一端电压放大为第一放大电压,以及将第二匹配线的第一端电压放大为第二放大电压;匹配信号单元用于根据第一放大电压和第二放大电压输出范围匹配结果。其中,第一位元单元组是位元单元阵列中的任意一行位元单元,第一位元单元组的每个位元单元分别连接第一匹配线和第二匹配线,第一匹配线的第一端连接放大单元和第一充电单元,第二匹配线的第一端连接放大单元和第一充电单元,第一匹配线的第二端不接地且第二匹配线的第二端接地。第一位元单元组的各位元单元按照从低到高的存储位顺序沿着第一匹配线排列且存储最低存储位的位元单元位于远离第一充电单元的一侧。第一充电单元包括与每个匹配线对应的充电开关。第一预设关系为小于或大于,第二预设关系为不小于或不大于。具体的,第一存储字可以等于目标范围的上限,目标范围的上限加一或者目标范围的上限减一。第二存储字可以等于目标范围的下限,目标范围的下限加一或者目标范围的下限减一。
[0051]
第一预设关系以小于为例,这样根据搜索字和第一存储字可以在第一匹配线输出电压,该电压可以指示搜索字是否小于目标范围的上限。第二预设关系以不小于为例,根据搜索字和第二存储字可以在第二匹配线输出电压,该电压可以指示搜索字是否大于或等于目标范围的下限,结合两个电压可以输出范围匹配结果,该范围匹配结果用于指示搜索字是否在目标范围内。
[0052]
在一个可能实现方式中,在第一位元单元组中每个位元单元包括第一晶体管,第二晶体管,第一开关单元,第二开关单元,第三开关单元,第四开关单元,第一位存储单元和第二位存储单元;第一开关单元用于在搜索位与第一存储位相等时导通第一晶体管,当搜索位与第一存储位不相等时关断第一晶体管;第二开关单元用于当第一搜索线信号和第一存储位满足第一预设关系时导通第一匹配线与地之间的连接,当第一搜索线信号和第一存储位不满足第一预设关系时关断第一匹配线与地之间的连接;第三开关单元用于当搜索位与第二存储位相等时导通第二晶体管,当搜索位与第二存储位不相等时关断第二晶体管;第四开关单元用于当第二搜索线信号和第二存储位满足第三预设关系时导通第二匹配线与地之间的连接,当第二搜索线信号和第二存储位不满足第三预设关系时关断第二匹配线与地之间的连接。其中,第一开关单元分别连接搜索线驱动单元,第一晶体管的栅极和第一位存储单元,第一晶体管的源极和漏极连接第一匹配线。第二开关单元分别连接搜索线驱动单元、第一匹配线,第一位存储单元和地。第三开关单元分别连接搜索线驱动单元,第二晶体管的栅极和第二位存储单元,第二晶体管的源极和漏极连接第二匹配线。第四开关单元分别连接搜索线驱动单元、第二匹配线,第二位存储单元和地。
[0053]
依此实施,当搜索字小于第一存储字时,必然有一个位元单元的第二开关单元导通,这样第一匹配线输出接地电压。在搜索字等于第一存储字的情况下,全部位元单元的第一晶体管导通且第一匹配线不接地,这样第一匹配线输出预定电压。在搜索字大于第一存储字的情况下,必然有一个位元单元的第二开关单元和第一晶体管都关断,这样第一匹配线输出预定电压。由此可实现小于匹配。当搜索字小于第二存储字时,必然有一个位元单元的第二开关单元导通,这样第二匹配线输出接地电压。当搜索字等于第二存储字时,全部位元单元的第二晶体管导通且第二匹配线接地,这样第二匹配线输出接地电压,第一位元单元组和第二匹配线可以实现小于或等于匹配。
[0054]
在另一个可能实现方式中,第一开关单元包括第三晶体管和第四晶体管,第三晶体管连接第一位存储单元的一端和搜索线驱动单元,第四晶体管连接第一位存储单元的另一端,搜索线驱动单元,且第三晶体管和第四晶体管都连接第一晶体管的栅极;第二开关单元包括相连的第五晶体管和第六晶体管,且第五晶体管连接第一位存储单元和地,第六晶体管连接搜索线驱动单元和第一匹配线;第三开关单元包括相连的第七晶体管和第八晶体管,第七晶体管连接第二位存储单元的一端和搜索线驱动单元,第八晶体管连接第二位存储单元的另一端和搜索线驱动单元,且第七晶体管和第八晶体管都连接第二晶体管的栅极;第四开关单元包括相连的第九晶体管和第十晶体管,且第九晶体管连接第二位存储单元和地,第十晶体管连接搜索线驱动单元和第二匹配线。这样提供了上述开关单元的具体实现方式。应理解,每种开关单元还可以通过更多晶体管来实现其功能。
[0055]
在另一种可能实现方式中,第六晶体管和第十晶体管通过不同的搜索线连接搜索线驱动单元,第五晶体管连接第一位存储单元的第一端,第九晶体管连接第二位存储单元的第二端。依此实施,通过第二开关单元控制第一匹配线接地与通过第四开关单元控制第二匹配线接地的方式不同,实现了一种异构的位元单元。这样可以将第一预设关系和第二预设关系设置为不同。
[0056]
在另一种可能实现方式中,放大单元包括第一敏感放大器和第二敏感放大器,匹配信号单元包括第一非门、第二非门和第一与门;第一敏感放大器连接第一匹配线和第一
非门,第二敏感放大器连接第二匹配线和第二非门,第一与门分别连接第一非门和第二非门。在此内容寻址存储器中,第一敏感放大器将第一匹配线的第一端电压放大为第一放大电压,第二敏感放大器将第二匹配线的第一端电压放大为第二放大电压,第一非门将第一放大电压取反,第二非门将第二放大电压取反,第一与门将取反后的第二放大电压和取反后的第一放大电压进行与运算,得到范围匹配结果。
[0057]
在另一种可能实现方式中,匹配信号单元还包括第二与门,第二与门连接第二敏感放大器和第三敏感放大器,第三敏感放大器与第二位元单元组的第一匹配线连接,第二位元单元组与第一位元单元组相邻。
[0058]
在另一种可能实现方式中,第六晶体管和第十晶体管通过一条搜索线连接搜索线驱动单元,第五晶体管连接第一位存储单元的第一端,第九晶体管连接第二位存储单元的第一端。
[0059]
在另一种可能实现方式中,放大单元包括第四敏感放大器和第五敏感放大器,匹配信号单元包括第三非门和第三与门;第四敏感放大器连接第一匹配线和第三非门,第五敏感放大器连接第二匹配线,第三与门分别连接第三非门和第二敏感放大器。
[0060]
在另一种可能实现方式中,放大单元包括第四敏感放大器和第五敏感放大器,匹配信号单元包括第三非门和第三与门,第四敏感放大器连接第一匹配线,第五敏感放大器连接第二匹配线和第三非门,第三与门分别连接第三非门和第四敏感放大器。
[0061]
在另一种可能实现方式中,匹配信号单元还包括第四非门和第四与门;第四非门连接第六敏感放大器,第六敏感放大器与第二位元单元组的第一匹配线连接,第二位元单元组与第一位元单元组相邻;第四与门连接第二敏感放大器和第四非门。
[0062]
第四方面的可能实现方式中各单元的组成,连接关系和有益效果可参阅第一方面的相应描述。
[0063]
第五方面提供一种网络设备,该网络设备包括处理器和如第一方面至第四方面中任意一种可能实现方式描述的内容寻址存储器,该处理器用于接收目标范围,根据目标范围的上限确定第一存储字;根据目标范围的下限确定第二存储字,将第一存储字和第二存储字发送给内容寻址存储器。可选的,第一存储字等于目标范围的上限,目标范围的上限加一或者目标范围的上限减一;以及,第二存储字等于目标范围的下限,目标范围的下限加一或者目标范围的下限减一。
[0064]
第六方面提供一种芯片系统,该芯片系统包括处理器和内容寻址存储器,内容寻址存储器为第一方面至第四方面中任意一种可能实现方式中的内容寻址存储器。
附图说明
[0065]
图1a为内容寻址存储器的一个示意图;
[0066]
图1b为内容寻址存储器的另一个示意图;
[0067]
图2为现有三态内容寻址存储器中位元单元的一个结构图;
[0068]
图3为本技术实施例中内容寻址存储器的一个结构图;
[0069]
图4为本技术实施例中内容寻址存储器的另一个结构图;
[0070]
图5为本技术实施例中位元单元的一个结构图;
[0071]
图6为本技术实施例中位元单元、第一充电单元、放大单元和匹配信号单元相连的
一个示意图;
[0072]
图7为本技术实施例中位元单元、第一充电单元、放大单元和匹配信号单元相连的另一个示意图;
[0073]
图8为本技术实施例中位元单元的另一个结构图;
[0074]
图9为本技术实施例中位元单元、第一充电单元、放大单元和匹配信号单元相连的另一个示意图;
[0075]
图10为本技术实施例中位元单元、第一充电单元、放大单元和匹配信号单元相连的另一个示意图;
[0076]
图11为本技术实施例中内容寻址存储器的另一个结构图;
[0077]
图12为本技术实施例中内容寻址存储器的另一个结构图;
[0078]
图13为本技术实施例中位元单元的另一个结构图;
[0079]
图14为本技术实施例中位元单元、第一充电单元、放大单元和匹配信号单元相连的另一个示意图;
[0080]
图15为本技术实施例中位元单元、第一充电单元、放大单元和匹配信号单元相连的另一个示意图;
[0081]
图16为本技术实施例中内容寻址存储器的另一个结构图;
[0082]
图17为本技术实施例中内容寻址存储器的另一个结构图;
[0083]
图18为本技术实施例中内容寻址存储器的另一个结构图;
[0084]
图19为本技术实施例中路由器的一个结构图。
具体实施方式
[0085]
本技术的内容寻址存储器可以应用于网络设备,网络设备可以是但不限于路由器或交换机。用于连接主干网络的核心路由器的接口速率已达每秒400千兆位(gbps),单线卡转发达到tbps级,1tbps=1024gbps。这样的速率要求核心路由器每秒转发几亿乃至几十亿个以上的数据包,其关键步骤就是查表(如路由表等)。
[0086]
网络设备的查表功能包括但不限于最长前缀匹配(longest prefix matches,lpm),精确匹配(exact matches,em),通配符匹配和范围匹配。
[0087]
通配符匹配是指当搜索字或存储字含有x时,搜索字与存储字匹配,一个存储字也称为一个表项。在模式识别时,需要进行通配符匹配。
[0088]
精确匹配是指当搜索字和存储字不含有x时,搜索字与存储字匹配。
[0089]
最长前缀匹配是指当搜索字或存储字含有x时搜索字与存储字匹配且匹配的存储字含有x最少的一个。x也称为don’t care位,也可以采用*进行标记。
[0090]
范围匹配是指当搜索字属于目标范围时,搜索字与目标范围匹配。当搜索字不属于目标范围时,表明搜索字与目标范围不匹配。例如,对访问控制列表(access control list,acl)查表或路由查表时,需要进行范围匹配。
[0091]
现有一些路由器是基于tcam进行查表,tcam可以并行查,以实现高速查表。在tcam中每个位元单元可以存储0、1或x。存储位为x表示进行屏蔽查,查操作对匹配结果没有影响,可以方便的存储带有不同长度的前缀表项,从而实现最长前缀匹配。
[0092]
tcam包括与非(nand)tcam以及或非(nor)tcam。图2为与非tcam的位元单元的一个
示意图。
[0093]
如图2所示,当第一位线bl的电平为高电平时,表示存储位为x,当bl的电平为低电平时,表示存储位不是x。当bl的电平为低电平,第二位线bl#的电平为高电平时,表示存储位为二进制数1,当bl的电平为低电平,bl#的电平为低电平时,表示存储位为二进制数0。bl#的电平与bl的电平相反。
[0094]
对于搜索数据来说,当搜索线sl的电平为低电平且搜索线sl#的电平为高电平时,表示搜索位为0,当sl的电平为高电平且sl#的电平为低电平时表示搜索位为1,当sl和sl#都为高电平时,表示搜索位为x。sl#的电平与sl的电平相反。
[0095]
低电平对应二进制数0,高电平对应二进制数1,存储位线电平与存储位的值的对应关系如表1所示:
[0096]
存储位线电平(bl,bl#)存储位(0,0)0(0,1)1(1,0)x(1,1)x
[0097]
表1搜索位线电平与搜索位的对应关系如表2所示:
[0098]
搜索位线电平(sl,sl#)搜索位(0,1)0(1,0)1(1,1)x
[0099]
表2
[0100]
当存储位或搜索位都是x时,确定搜索位与存储位匹配,这样可以实现通配符匹配。
[0101]
当存储位和搜索位都是1时,确定搜索位与存储位匹配。当存储位和搜索位都是0时,确定搜索位与存储位匹配。当存储位是1且搜索位是0时,确定搜索位与存储位不匹配。当存储位是0且搜索位是1时,确定搜索位与存储位不匹配。这样可以实现精确匹配。
[0102]
与非tcam的位元单元通过匹配线串联在一起,表现为逻辑与操作。例如,一行位元单元可以包括n个位元单元,n个位元单元可以存储一个存储字,第i个位元单元存储该存储字的第i个存储位。每个位元单元连接sl和sl#,通过sl和sl#接收搜索位。
[0103]
当第i个搜索位与第i个存储位匹配时,高电平才会经过第i个位元单元向第i+1个位元单元传递,当第i个搜索位与第i个存储位不匹配时,第i个位元单元会关断匹配线的连接,高电平不能传递到第i+1个位元单元。这样通过检测匹配线的输出端电压可以判断搜索字与存储字是否匹配。当匹配线的输出端电压为0时,表示不匹配。当匹配线的输出端电压为1时,表示匹配,i为不大于n的正整数。
[0104]
存储字也称为表项,通过多个存储字进行范围匹配的问题也被称作表项膨胀问题。参阅
[0105]
表3,下面对tcam的表项膨胀率进行介绍:
[0106] abc平均
acl条目数279183264242范围条目数9.3%7.7%54.9%24%tcam表项94955316381009tcam表项膨胀率3.403.026.204.21
[0107]
表3
[0108]
在a、b、c三个标准测试集下,平均acl条目有242条,范围条目平均占比24%,使用tcam表示242条acl条目需要1009条tcam表项,平均表项膨胀率为4.21倍。本技术提出几种内容寻址存储器,能够降低表项膨胀。下面对几种内容寻址存储器分别进行介绍:
[0109]
第一种内容寻址存储器中第一匹配线不接地且第二匹配线不接地。通过第一匹配线可以进行小于匹配或大于匹配,通过第二匹配线可以进行小于匹配或大于匹配。
[0110]
第二种内容寻址存储器中第一匹配线接地且第二匹配线接地。通过第一匹配线可以进行不小于匹配或不大于匹配,通过第二匹配线可以进行不小于匹配或不大于匹配。
[0111]
第三种内容寻址存储器中第一匹配线接地且第二匹配线不接地。通过第一匹配线可以进行不小于匹配或不大于匹配,通过第二匹配线可以进行小于匹配或大于匹配。
[0112]
第四种内容寻址存储器中第一匹配线不接地且第二匹配线接地。通过第一匹配线可以进行小于匹配或大于匹配,通过第二匹配线可以进行不小于匹配或不大于匹配。
[0113]
首先介绍第一种内容寻址存储器,参阅图3,本技术的内容寻址存储器30的一个实施例包括:
[0114]
位元单元阵列31,搜索线驱动单元32,放大单元33,匹配信号单元34和第一充电单元35。
[0115]
位元单元阵列31包括一个或多个位元单元组,每个位元单元组用于存储两个存储字,每个存储字的大小可以根据实际情况进行设置。第一位元单元组是多个位元单元组中的任意一个位元单元组。具体的,第一位元单元组可以是位元单元阵列31中的任意一行位元单元。
[0116]
参阅图4,在一个示例中,位元单元阵列31包括的m个位元单元组分别为位元单元组311,位元单元组312,

,位元单元组31m。每个位元单元组可以包括n个位元单元,例如位元单元组311包括的n个位元单元分别为位元单元3111,位元单元3112,

,位元单元311n。m和n为正整数,m和n的取值可以根据实际情况进行设计。
[0117]
位元单元阵列31与放大单元33通过匹配线集合36连接。具体的,匹配线集合36包括多根匹配线。每根匹配线可以理解为被位元单元隔开的多个匹配线段,每个位元单元连接两个匹配线段。
[0118]
每个位元单元组连接两条匹配线,一条匹配线可以记为第一匹配线,另一条匹配线记为第二匹配线。第一匹配线可以称为上匹配线,第二匹配线可以称为下匹配线。例如,第一位元单元组311对应的第一匹配线为匹配线361,第一位元单元组311对应的第二匹配线为匹配线362。第二位元单元组312对应的第一匹配线为匹配线363,第二位元单元组312对应的第二匹配线为匹配线364。
[0119]
位元单元组311的每个位元单元连接匹配线361和匹配线362,匹配线361的第一端连接敏感放大器331和充电开关351,匹配线362的第一端连接敏感放大器332和充电开关352。位元单元组312的每个位元单元连接匹配线363和匹配线364,匹配线363的第一端连接
敏感放大器333和充电开关353,匹配线364的第一端连接敏感放大器334和充电开关354。其他匹配线与位元单元组、敏感放大器和充电开关的连接关系可依此类推,此处不再赘述。
[0120]
应理解,第一端和第二端是指不同方向的两端。在图4所示的内容寻址存储器中,匹配线的第一端是指匹配线的右端,匹配线的第二端是指匹配线的左端。在另外一些示例中,匹配线的第一端也可以是匹配线的左端,匹配线的第二端是指匹配线的右端。当匹配线是沿上下方向布置时,匹配线的第一端可以是匹配线的上端,匹配线的第二端是匹配线的下端。或者匹配线的第一端是匹配线的下端,匹配线的第二端是匹配线的上端。
[0121]
应理解,每个内容寻址存储器还包括多个位线,每个位元单元通过存储位线对接收存储位。一个存储位线对包括2根存储位线,一根存储位线可以记为bl,另一根存储位线可以记为bl#。每个位元单元包括第一位存储单元和第二位存储单元,第一位存储单元和第二位存储单元可以分别存储1个比特,因此每个位元单元可以存储2个比特。
[0122]
存储字包括的存储位数可以小于或等于n。例如,n为32,存储字包括8个存储位,位元单元3111存储最低存储位,位元单元3118存储最高存储位。位元单元对应的存储位的次序可以是从低到高,也可以是从高到低。在第一位元单元组311中存储最低存储位的位元单元3111位于远离第一充电单元35的一侧。第i个位元单元到第一连接点的距离大于第i+1个位元单元到第一连接点的距离,i为不大于n-1的正整数。第一连接点是第一充电单元35与匹配线361的连接点。其他位元单元组中位元单元的排列方式与第一位元单元组311中位元单元的排列方式相似。
[0123]
搜索线驱动单元32通过多个搜索线与位元单元阵列31连接,每个位元单元和搜索线驱动单元32通过搜索线对连接。一个搜索线对包括2根搜索线,一根搜索线可以记为sl,另一根搜索线可以记为sl#。搜索线与搜索位的对应关系可参阅表2。
[0124]
搜索线驱动单元32可以通过搜索线对向每个位元单元发送搜索位,一个位元单元组从搜索线驱动单元32接收的多个搜索位构成一个搜索字。例如,位元单元组311接收8个搜索位,该8个搜索位构成一个搜索字。搜索位的数量和n的取值均可以根据实际情况进行设置。
[0125]
放大单元33可以将匹配线36的电压放大。放大单元33包括多个敏感放大器,例如敏感放大器331,敏感放大器332,敏感放大器333和敏感放大器334等。每个敏感放大器连接一个匹配线,用于放大该匹配线输出的电压。
[0126]
第一充电单元35连接外部电源和匹配线,用于给一个或多个匹配线进行预充电,因此也可以称为预充电单元。具体的,第一充电单元35包括多个充电开关,每个充电开关连接一个匹配线。如图4所示,第一充电单元35包括充电开关351,充电开关352,充电开关353,充电开关354等。例如,充电开关351导通时,外部电源给匹配线361充电使得匹配线361的电平为高电平,充电开关351关断时,匹配线361的电平为低电平。
[0127]
为了便于理解,下面的第一位元单元组以位元单元组311为例,第一位元单元组的第一匹配线以匹配线361为例,第一位元单元组的第二匹配线以匹配线362为例进行介绍。
[0128]
下面对第一种位元单元进行介绍,参阅图5,在一个可选实施例中,每个位元单元包括第一晶体管t1,第二晶体管t2,第一开关单元501,第二开关单元502,第三开关单元503,第四开关单元504,第一位存储单元505和第二位存储单元506。
[0129]
第一开关单元501用于在搜索位与第一存储位相等时导通第一晶体管t1,当搜索
位与第一存储位不相等时关断第一晶体管t1,第一晶体管t1的源极和漏极连接匹配线361;
[0130]
第二开关单元502用于当第一搜索线信号和第一存储位满足第一预设关系时导通匹配线361与地之间的连接,当第一搜索线信号和第一存储位不满足第一预设关系时关断匹配线361与地之间的连接,第一搜索线信号是来自搜索线sl#的信号;
[0131]
第三开关单元503用于当搜索位与第二存储位相等时导通第三晶体管t3,当搜索位与第二存储位不相等时关断第三晶体管t3,第三晶体管t3的源极和漏极连接匹配线362;
[0132]
第四开关单元504用于当第二搜索线信号和第二存储位满足第二预设关系时导通匹配线362与地之间的连接,当第二搜索线信号和第二存储位不满足第二预设关系时关断匹配线362与地之间的连接,第二搜索线信号是来自搜索线sl的信号。
[0133]
本实施例中,第二开关单元502连接搜索线sl#、匹配线361,第一位存储单元505和地,第四开关单元504连接搜索线sl,匹配线362,第二位存储单元506和地。搜索线信号即搜索线电平,其值可以是0或1。
[0134]
第一位存储单元505连接第一位线bl和第二位线bl#,第二位存储单元506连接第一位线bl和第二位线bl#。第一位存储单元505可以存储第一存储字的一个存储位,第二位存储单元506可以存储第二存储字的一个存储位。第一位存储单元505和第二位存储单元506可以是一个sram存储单元,一个sram存储单元包括但不限于6个晶体管。
[0135]
第一存储字包括n1个存储位,第二存储字包括n2个存储位,n1和n2均为正整数。当i为小于或等于n1的正整数时,第i个位元单元存储的第一存储位即第一存储字的第i个存储位。当i为小于或等于n2的正整数时,第i个位元单元存储的第二存储位即第二存储字的第i个存储位。
[0136]
当存储位与搜索位相等时,第i个位元单元的第一晶体管t1导通且第二开关单元502关断,高电平(即预定电压)可以沿着匹配线361从第i个位元单元经过。当存储位与搜索位的关系满足第一预设关系时,第i个位元单元的第二开关单元502导通,在匹配线361上与第i个位元单元连接的右侧匹配线接地。同理,当存储位与搜索位相等时,第i个位元单元的第二晶体管t2导通且第二开关单元502关断,高电平(即预定电压)可以沿着匹配线362从第i个位元单元经过。当存储位与搜索位满足第二预设关系时,第i个位元单元的第二开关单元502导通,在匹配线362上与第i个位元单元连接的右侧匹配线接地。
[0137]
下面介绍当第一预设关系为小于时位元单元的工作过程,当搜索字小于第一存储字时,会有n1个位比较结果,位比较结果是指一个存储位与一个搜索位比较得到的结果。位比较结果可以是:小于,等于或大于。从右往左第一个为小于的位比较结果对应的位元单元记为第i1个位元单元。当i1《n1时,第i1个位元单元的第一晶体管t1关断且第二开关单元502导通,第i1+1个位元单元至第n1个位元单元中每个位元单元的第一晶体管t1导通且第二开关单元502关断,使匹配线361接地输出接地电压。当i1=n1时,第n1个位元单元的第一晶体管t1关断且第二开关单元502导通,使匹配线361接地输出接地电压。
[0138]
当搜索字等于第一存储字时,n1个位元单元的第一晶体管t1都导通且它们包括的第二开关单元502都关断,匹配线361输出预定电压。
[0139]
当搜索字大于第一存储字时,从右往左第一个为大于的位比较结果对应的位元单元记为第i2个位元单元。搜索字中搜索位的总数记为n3。当i2《n3时,第i2个位元单元的第一晶体管t1关断且第二开关单元502关断,第i2+1个位元单元至第n3个位元单元中每个位元
单元的第一晶体管t1导通且第二开关单元502关断,匹配线361输出预定电压。当i2=n3时,第n3个位元单元的第一晶体管t1关断且第二开关单元502关断,匹配线361输出预定电压。
[0140]
下面介绍当第二预设关系为大于时位元单元的工作过程,当搜索字大于第二存储字时,会有n2个位比较结果。
[0141]
从右往左第一个为大于的位比较结果对应的位元单元记为第i3个位元单元。当i3《n2时,第i3个位元单元的第二晶体管t2关断且第四开关单元504导通,第i3+1个位元单元至第n2个位元单元中每个位元单元的第二晶体管t2导通且第四开关单元504关断,使匹配线362接地输出接地电压。当i3=n2时,第n2个位元单元的第二晶体管t2关断且第四开关单元504导通,使匹配线362接地输出接地电压。
[0142]
当搜索字等于第二存储字时,n2个位元单元的第二晶体管t2都导通且它们包括的第四开关单元504都关断,匹配线362输出预定电压。
[0143]
当搜索字小于第二存储字时,从右往左第一个为小于的位比较结果对应的位元单元记为第i4个位元单元。当i4《n3时,第i4个位元单元的第二晶体管t2关断且第四开关单元504关断,第i4+1个位元单元至第n3个位元单元中每个位元单元的第二晶体管t2导通且第四开关单元504关断,匹配线362输出预定电压。当i4=n3时,第n3个位元单元的第二晶体管t2关断且第四开关单元504关断,匹配线362输出预定电压。
[0144]
两个匹配线输出的接地电压可以分别用于标识搜索字小于第一存储字以及搜索字大于第二存储字,从而实现判断功能。同理,对于第一预设关系为大于和/或第二预设关系为小于的情况,也可以输出相应的标识电压。因此,上述位元单元可以用于输出标识第一预设关系和第二预设关系的电压,从而实现判断功能。
[0145]
需要说明的是,本技术中预设关系为小于是指搜索字小于第一存储字,预设关系为大于是指搜索字大于第一存储字,预设关系为不小于是指搜索字不小于第一存储字,预设关系为不大于是指搜索字不大于第一存储字。依此可知第一预设关系,第二预设关系,第三预设关系和第四预设关系的具体含义。
[0146]
在另一可选实施例中,第二开关单元502连接搜索线sl,匹配线361,第一位存储单元505和地,第四开关单元504连接搜索线sl#,匹配线362,第二位存储单元506和地。本实施例中,第一搜索线信号是来自搜索线sl的信号,第二搜索线信号是来自搜索线sl#的信号。
[0147]
下面对第一开关单元501、第二开关单元502、第三开关单元503、第四开关单元504进行介绍。
[0148]
参阅图5,第一开关单元501包括第三晶体管t3和第四晶体管t4,第三晶体管t3连接第一位存储单元501的一端和搜索线驱动单元,第四晶体管t4连接第一位存储单元501的另一端和搜索线驱动单元,且第三晶体管t3和第四晶体管t4都连接第一晶体管t1的栅极;
[0149]
第二开关单元502包括相连的第五晶体管t5和第六晶体管t6,且第五晶体管t5连接第一位存储单元505和地,第六晶体管t6连接搜索线驱动单元和匹配线361;
[0150]
第三开关单元503包括相连的第七晶体管t7和第八晶体管t8,第七晶体管t7连接第二位存储单元506的一端和搜索线驱动单元,第八晶体管t8连接第二位存储单元506的另一端和搜索线驱动单元,且第七晶体管t7和第八晶体管t8都连接第二晶体管t2的栅极;
[0151]
第四开关单元504包括相连的第九晶体管t9和第十晶体管t10,且第九晶体管t9连接第二位存储单元506和地,第十晶体管t10连接搜索线驱动单元和匹配线362。
[0152]
本实施例中,第三晶体管t3通过搜索线sl连接搜索线驱动单元,第四晶体管t4和第六晶体管t6分别通过搜索线sl#连接搜索线驱动单元。第七晶体管t7和第十晶体管t10通过搜索线sl连接搜索线驱动单元,第八晶体管t8通过搜索线sl#连接搜索线驱动单元。第五晶体管t5连接第一位存储单元505的第一端,第九晶体管t9连接第二位存储单元506的第二端。
[0153]
在第一种位元单元中,第二开关单元502和第四开关单元504通过不同搜索线连接搜索线驱动单元32,第二开关单元502的第五晶体管t5连接第一位存储单元505的第一端且第四开关单元504的第九晶体管t9连接第二位存储单元506的第二端。第一端和第二端不同。例如,第一端为左端,第二端为右端。或者,第一端为右端,第二端为左端。由于位元单元的上下两部分不相似,第一种位元单元也称为异构位元单元。
[0154]
以上仅为第一开关单元501、第二开关单元502、第三开关单元503、第四开关单元504的一个具体示例。应理解,上述开关单元还可以通过更多晶体管来实现其功能。
[0155]
对于图5所示位元单元构成的位元单元组,本技术可以提供相应的放大单元和匹配信号单元输出匹配结果。下面对该放大单元和匹配信号进行介绍,参阅图6,在一个可选实施例中,第一位元单元组311包括位元单元3111,位元单元3112,

,位元单元311n。充电开关351连接匹配线361,充电开关352连接匹配线362。放大单元包括敏感放大器331和敏感放大器332,匹配信号单元包括第一非门3401、第二非门3402和第一与门3403;敏感放大器331连接匹配线361和第一非门3401,敏感放大器332连接匹配线362和第二非门3402,第一与门3403分别连接第一非门3401和第二非门3402。
[0156]
本实施例中,敏感放大器331将匹配线361的第一端电压放大为第一放大电压,敏感放大器332将匹配线362的第一端电压放大为第二放大电压,第一非门3401将第一放大电压取反,第二非门3402将第二放大电压取反,第一与门3403将取反后的第二放大电压和取反后的第一放大电压进行与运算,得到范围匹配结果。应理解,对接地电压取反得到高电平,对预定电压取反得到低电平。当范围匹配结果为高电平时,表明第一匹配线和第二匹配线都输出了接地电压。当范围匹配结果为低电平时,表明至少一个匹配线输出了预定电压。这样提供了一种具体可行的放大单元和匹配信号单元。
[0157]
在图6所示实施例的基础上,在匹配信号单元34中增加与门可以输出更多范围匹配结果。参阅图7,在另一个可选实施例中,充电开关353连接匹配线363,充电开关354连接匹配线364。匹配信号单元还包括第二与门3404,第二与门3404连接敏感放大器332和敏感放大器333,敏感放大器333与第二位元单元组312的第一匹配线363连接,第二位元单元组312与第一位元单元组311相邻。
[0158]
本实施例中,与第二位元单元组312相连的匹配线包括匹配线363和匹配线364,匹配线364与敏感放大器334连接。匹配线364与匹配线362相似,敏感放大器334与敏感放大器332相似,此处不再赘述。
[0159]
具体的,范围1为(low1,high1),范围2为[high1,low2],范围3为(low2,high2)。当第一预设关系为小于且第二预设关系为大于时,第一位元单元组311存储的第一存储字为high2,第二存储字为low2。第二位元单元组312存储的第一存储字为high1,第二存储字为low1,这样可以判断出搜索字是否属于(low1,high1)以及判断出搜索字是否属于(low2,high2)。由于data≥high1等价于!(data《high1),而且data≤low2等价于!(data》low2)。这
样可以根据第二位元单元组312的第一匹配线363的输出电压和第一位元单元组311的匹配线362的输出电压就可以判断出data是否属于[high1,low2]。由于没有给[high1,low2]额外分配位元单元,因此能够减少范围匹配占用的硬件资源。
[0160]
下面对第二种位元单元进行介绍,参阅图8,在另一个可选实施例中,每个位元单元包括第一晶体管t1,第二晶体管t2,第一开关单元801,第二开关单元802,第三开关单元803,第四开关单元804,第一位存储单元805和第二位存储单元806。
[0161]
第一开关单元801用于在搜索位与第一存储位相等时导通第一晶体管t1,当搜索位与第一存储位不相等时关断第一晶体管t1,第一晶体管t1的源极和漏极连接匹配线361;
[0162]
第二开关单元802用于当第一搜索线信号和第一存储位满足第一预设关系时导通匹配线361与地之间的连接,当第一搜索线信号和第一存储位不满足第一预设关系时关断匹配线361与地之间的连接;
[0163]
第三开关单元803用于当搜索位与第二存储位相等时导通第二晶体管t2,当搜索位与第二存储位不相等时关断第二晶体管t2,第二晶体管t2的源极和漏极连接匹配线362;
[0164]
第四开关单元804用于当第二搜索线信号和第二存储位满足第二预设关系时导通匹配线362与地之间的连接,当第二搜索线信号和第二存储位不满足第二预设关系时关断匹配线362与地之间的连接。
[0165]
本实施例中,第一搜索线信号和第二搜索线信号相同。第二开关单元802和第四开关单元804连接搜索线sl#,第一搜索线信号和第二搜索线信号都是来自搜索线sl#的信号。
[0166]
第一开关单元801、第二开关单元802、第三开关单元803、第四开关单元804、第一位存储单元805和第二位存储单元806分别与图5所示实施例或可选实施例中的第一开关单元501、第二开关单元502、第三开关单元503、第四开关单元504、第一位存储单元505和第二位存储单元506相似,此处不再赘述。
[0167]
在第二种位元单元中,第二开关单元802和第四开关单元804通过同一搜索线连接搜索线驱动单元32,第二开关单元802的第五晶体管t5连接第一位存储单元805的第一端且第四开关单元804的第九晶体管t9连接第二位存储单元806的第一端,第一端可以是左端或右端。由于位元单元的上下两部分相似,第二种位元单元也称为同构位元单元。具体的,位元单元包括2个匹配电路均为小于匹配电路,大于匹配电路,不大于匹配电路或者不小于匹配电路。
[0168]
在另一个可选实施例中,第二开关单元802和第四开关单元804连接搜索线sl,第二开关单元802的第五晶体管t5连接第一位存储单元805的第二端且第四开关单元804的第九晶体管t9连接第二位存储单元806的第二端,第二端是不同于第一端的另一端。第一搜索线信号和第二搜索线信号都是来自搜索线sl的信号。
[0169]
对于图8所示位元单元构成的位元单元组,本技术可以提供相应的放大单元和匹配信号单元输出匹配结果。下面对该放大单元和匹配信号单元进行介绍,参阅图9,在另一个可选实施例中,第一位元单元组311包括位元单元3111,位元单元3112,

,位元单元311n。充电开关351连接匹配线361,充电开关352连接匹配线362。放大单元包括敏感放大器331和敏感放大器332,匹配信号单元包括第三非门3411和第三与门3412;敏感放大器331连接匹配线361和第三非门3411,敏感放大器332连接匹配线362,第三与门3412分别连接第三非门3411和敏感放大器332。
[0170]
本实施例中,敏感放大器331将匹配线361的第一端电压放大为第一放大电压,敏感放大器332将匹配线362的第一端电压放大为第二放大电压,第三非门3411将第一放大电压取反,第三与门3412将第二放大电压和取反后的第一放大电压进行与运算,得到范围匹配结果。这样提供了一种具体可行的放大单元33和匹配信号单元34。
[0171]
以上仅为放大单元和匹配信号单元的示意性举例。应理解,匹配信号单元还可以通过非门、与门以及或门的组合来实现其功能。在本技术的实施例中一些单元(例如放大单元,匹配信号单元,第一充电单元,匹配线集合等)仅示出了部分,以便于描述其工作过程。应理解,上述示例并不应视为对本技术的限制。
[0172]
下面结合图9所示的匹配信号单元对内容寻址存储器进行范围匹配的过程进行介绍:
[0173]
第一预设关系和第二预设关系均为小于。目标范围以(10,100)为例,第一存储字为100,第二存储字为11。第一存储字包括9个存储位,第二存储字包括4个存储位。
[0174]
位元单元组311从位线接收100和11之后,将第一存储字的存储位从低到高存储在位元单元3111~位元单元3119,以及将第二存储字的各存储位存储在位元单元3111~位元单元3114。
[0175]
当充电开关351和充电开关352导通后,可以将匹配线361的右端和匹配线362的右端预充电至预定电压。
[0176]
位元单元组311从搜索线驱动单元32获取的搜索字以20为例,由于20和100满足第一预设关系(即搜索字小于第一存储字),位元单元3119将匹配线361接地,使得匹配线361输出接地电压。由于20和11不满足第二预设关系(即搜索字小于第二存储字),位元单元3111~位元单元3114将匹配线362的电压保持为预定电压。
[0177]
敏感放大器331将接地电压放大,敏感放大器332将预定电压放大。
[0178]
第三非门3411将放大后的接地电压取反。由于取反后的接地电压为高电平以及预定电压为高电平,这样第一与门3412根据取反后的接地电压和预定电压输出高电平,该高电平用于指示搜索字20在(10,100)内。
[0179]
在另一个例子中,目标范围为(10,100),搜索字为10。由于10和100满足第一预设关系(即搜索字小于第一存储字),位元单元3119将匹配线361接地,使得匹配线361输出接地电压。由于10和11满足第二预设关系(即搜索字小于第二存储字),位元单元3111将第二匹配线的电压接地,使匹配线362输出接地电压。
[0180]
敏感放大器331将接地电压放大,敏感放大器332将预定电压放大。
[0181]
第三非门3411将放大后的接地电压取反。由于取反后的接地电压为高电平以及接地电压为低电平,这样第一与门3412根据高电平和低电平输出低电平,该低电平用于指示搜索字10不在(10,100)内。
[0182]
可以看出,本技术的一个位元单元组可以对任意一个设定的范围进行范围匹配,因此可以节省范围匹配占用的硬件资源,从而降低表项膨胀。
[0183]
上面描述了目标范围为开区间的情况下进行范围匹配的方法,本技术也可以在目标范围为闭区间或者半开半闭区间的情况下进行范围匹配。下面对目标范围进行介绍:
[0184]
目标范围可以为开区间,闭区间或者半开半闭区间。目标范围的上限记为high,目标范围的下限记为low。在本技术中,由于搜索字、第一存储字和第二存储字均为整数,对于
任意一个正整数a,大于a等效于大于或等于a+1,小于a等效于小于a-1。
[0185]
当目标开区间为开区间(low,high)时,开区间(low,high)等效于闭区间[low+1,high-1],开区间(low,high)也等效于半开半闭区间[low+1,high)或(low,high-1]。
[0186]
当目标范围为闭区间[low,high]时,闭区间[low,high]也等效于开区间(low-1,high+1),也等效于半开半闭区间[low,high+1)或(low-1,high]。
[0187]
当目标范围为第一种半开半闭区间[low,high)时,[low,high)等效于开区间(low-1,high),也等效于闭区间[low,high-1]或者半开半闭区间(low-1,high-1]。
[0188]
当目标范围为第二种半开半闭区间(low,high]时,(low,high]等效于开区间(low,high+1),也等效于闭区间[low+1,high]或者半开半闭区间[low+1,high+1)。
[0189]
以上可以看出,开区间、闭区间和半开半闭区间是可以相互转换的。
[0190]
应理解,当目标范围为开区间(low,high)时,搜索字在目标范围内等价于:判断搜索字大于low且搜索字小于high。
[0191]
当第一预设关系为小于且第二预设关系为大于时,第一存储字为high,第二存储字为low。
[0192]
当第一预设关系为小于且第二预设关系为小于时,第一存储字为high。由于data》low等价于!(data《(low+1)),因此当第二存储字为low+1时,对第二放大电压取反可以等价于判断data》low。
[0193]
当第一预设关系为大于且第二预设关系为大于时,第二存储字为low。由于data《high等价于!(data》(high-1)),因此当第一存储字为high-1时,对第一放大电压取反可以价于判断data《high。
[0194]
当第一预设关系为大于且第二预设关系为小于时,data》low等价于!(data《(low+1)),data《high等价于!(data》(high-1)),因此第一存储字为high-1,第二存储字为low+1。
[0195]
对于目标范围为闭区间或者半开半闭区间的情况下,可以将目标范围转换为开区间之后,进行相应计算得到第一存储字和第二存储字。
[0196]
需要说明的是,当搜索字和存储字满足第一预设关系时,匹配线361输出的电压为接地电压,为了用高电平表示范围匹配成功,需要增加一个非门对接地电压进行取反。当搜索字和存储字不满足第一预设关系时,匹配线361输出的电压为预定电压,为了用低电平表示范围匹配失败,需要增加一个非门对预定电压进行取反。
[0197]
在图9所示实施例的基础上可以增加与门和非门输出更多范围匹配结果。参阅图10,在另一个可选实施例中,充电开关353连接匹配线363,充电开关354连接匹配线364。匹配信号单元还包括第四非门3413和第四与门3414;第四非门3413连接敏感放大器333,匹配线363连接敏感放大器333和第二位元单元组312,第二位元单元组312与第一位元单元组311相邻。第二与门3414连接敏感放大器332和第二非门3413。
[0198]
本实施例中,与第二位元单元组312相连的匹配线包括匹配线363和匹配线364,匹配线364与敏感放大器334连接。匹配线364与匹配线362相似,敏感放大器334与敏感放大器332相似,敏感放大333连接的非门和第三非门3411相似,敏感放大器334连接的与门和第三与门3412相似,此处不再赘述。
[0199]
下面对图10所示的内容寻址存储器进行范围匹配的过程进行介绍:
[0200]
在一个示例中,范围1为(low1,high1),范围2为[high1,low2],范围3为(low2,
high2)。当第一预设关系和第二预设关系均为小于时,第一位元单元组311存储的第一存储字为high2,第二存储字为low2+1。第二位元单元组312存储的第一存储字为high1,第二存储字为low1+1。根据图5所示实施例的描述可知,这样可以判断出搜索字是否属于(low1,high1)以及判断出搜索字是否属于(low2,high2)。
[0201]
搜索字记为data,由于data≥high1等价于!(data《high1),而且data≤low2等价于data《(low2+1)实现。这样可以根据匹配线363的输出电压和匹配线362的输出电压就可以判断出搜索字是否属于[high1,low2]。
[0202]
例如,范围1为(1,10),范围2为[10,100],范围3为(100,200),搜索字为20。由于20和10不满足第一预设关系(即搜索字小于第一存储字),因此匹配线363输出预定电压,敏感放大器333将预定电压放大为高电平。由于20和100满足第二预设关系(即搜索字小于第二存储字),因此输出接地电压。第二非门3413将放大后的接地电压取反得到高电平,第二与门3414将敏感放大器333输出的高电平和第二非门输出的高电平进行与运算,与运算得到的高电平表示范围匹配成功,搜索字20属于[10,100]。
[0203]
搜索字以9为例,由于9和10满足第一预设关系,因此敏感放大器333输出低电平。由于9和100满足第二预设关系,因此输出接地电压。第二非门3413将放大后的接地电压取反得到高电平,第二与门3414将敏感放大器333输出的低电平和第二非门输出的高电平进行与运算,与运算得到的低电平表示范围匹配失败,搜索字9不属于[10,100]。
[0204]
由此可见,本技术的内容寻址存储器只需要2个位元单元组和上述匹配信号单元就能够进行三个范围匹配。由此可以推知,m个位元单元组和相应的匹配信号单元可以进行2m-1个范围匹配,m为正整数。对于三个以上的连续区间,该内容寻址存储器可以节省范围匹配占用的硬件资源。
[0205]
以上对本技术的内容寻址存储器进行范围匹配的方法进行了介绍,本技术还提供另一种内容寻址存储器能够进行精确匹配。
[0206]
参阅图11,在另一个可选实施例中,内容寻址存储器30包括第一位元单元组311,搜索线驱动单元32,放大单元33,匹配信号单元34,第一充电单元35和第二充电单元37,第二充电单元37连接匹配线361的第二端和匹配线362的第二端。第一位元单元组311,搜索线驱动单元32,放大单元33,匹配信号单元34,第一充电单元35,匹配线361和匹配线362可参阅图3所示实施例中的相应描述。
[0207]
本实施例中,位元单元组311用于当搜索字与第一存储字相等时导通匹配线361,当搜索字与第一存储字不相等时断开匹配线361;放大单元33用于将匹配线361的第一端电压放大;匹配信号单元34用于输出放大后的匹配线361的第一端电压。和/或,位元单元组311用于当搜索字与第二存储字相等时导通匹配线362,当搜索字与第二存储字不相等时断开匹配线362;放大单元33用于将匹配线362的第一端电压放大;匹配信号单元34用于输出放大后的匹配线362的第一端电压。
[0208]
第二充电单元37的使能状态与第一充电单元35的使能状态相反,即第二充电单元37处于工作状态时,第一充电单元35处于不工作状态。第一充电单元35处于工作状态,第二充电单元37处于不工作状态。
[0209]
当第二充电单元37处于工作状态时,可以将匹配线361充电至预定电压。第二充电单元37的供电电压与第一充电单元35的供电电压可以相同,也可以不同。
[0210]
当搜索字与第一存储字相等时,高电平从匹配线361的第二端传输至匹配线361的第一端,经过放大单元放大后,由匹配信号单元输出高电平,该高电平可以标识搜索字与第一存储字相等。当搜索字与第一存储字不相等时,位元单元组311断开匹配线361,高电平不能通过位元单元组311,匹配线361输出低电平,经过放大单元33放大后,由匹配信号单元34输出低电平,该低电平可以标识搜索字与第一存储字不相等。由此可见,该内容寻址存储器可以实现搜索字与任意一个存储字进行精确匹配。
[0211]
需要说明的是,第二充电单元37可以与内容寻址存储器中的一个匹配线连接,这样可以与一个存储字进行精确匹配。第二充电单元37可以与内容寻址存储器中的多个匹配线连接,这样可以同时与多个存储字进行精确匹配。第二充电单元37与其他匹配线的第二端连接的情况下,内容寻址存储器中位元单元组和匹配线的操作与图10所示实施例描述的位元单元组311和匹配线361的操作相似。
[0212]
本技术的位元单元包括22个晶体管,一个位元单元可以用于搜索字与两个存储字进行精确匹配,这样精确匹配需要占用每个位元单元的11个晶体管。
[0213]
在图11所示实施例的基础上增加通配符匹配使能线和多个晶体管可以实现通配符匹配。下面对该内容寻址存储器能够进行介绍,参阅图12,在另一个可选实施例中,内容寻址存储器30还包括通配符匹配使能线1201,通配符匹配使能线1201连接一列位元单元中的一个或多个。
[0214]
下面对通配符匹配使能线1201与位元单元组311的位元单元的连接进行介绍,参阅图13,在位元单元组中每个位元单元还包括第十一晶体管t11,第十二晶体管t12和第十三晶体管t13;第十一晶体管t11连接第二位存储单元506,用于根据第二位存储单元的存储位导通或关断;第十二晶体管t12连接通配符匹配使能线1201,第十一晶体管t11和匹配线361,用于根据从通配符匹配使能线1201接收的控制信号导通或关断第十一晶体管t11与匹配线361之间的连接;第十三晶体管t13设置在匹配线361与第二开关单元502之间,用于根据从通配符匹配使能线1201接收的控制信号关断匹配线361与第二开关单元502的连接。
[0215]
本实施例中,第十二晶体管t12和第十三晶体管t13为互反开关。第十二晶体管t12为n型金属氧化物半导体(n metal oxide semiconductor,nmos),第十三晶体管t13为p沟道金属氧化物半导体(positive channel metal oxide semiconductor,pmos)。或者,第十二晶体管t12为pmos,第十三晶体管t13为nmos。
[0216]
通过通配符使能线1201可以向位元单元组311中的一个位元单元发送控制信号。控制信号可以是0或1。导通第十二晶体管t12的控制信号记为第一控制信号,导通第十三晶体管t13的控制信号记为第二控制信号。当第二充电单元使能时,通过通配符匹配使能线1201向第十二晶体管t12和第十三晶体管t13发送第一控制信号,导通第十二晶体管t12以及关断第十三晶体管t13。关断第十三晶体管t13之后,匹配线361不会接地。导通第十二晶体管t12之后,存在以下几种情况:
[0217]
第一,当第二位存储单元存储的值为x时,导通第十一晶体管t11。这样无论搜索字是0或1,高电平都经过第十一晶体管t11和第十二晶体管t12,即表明高电平通过存储x的位元单元,流向下一个位元单元。这样实现了通配符匹配。
[0218]
第二,当第二位存储单元存储的值不为x时,关断第十一晶体管t11。这样高电平不能经过第十一晶体管t11。
[0219]
根据搜索字与第一存储字的比较结果来导通或关断第一晶体管t1,当搜索字与第一存储字相等时,导通第一晶体管t1,高电平从第一晶体管t1经过,即表明高电平通过当前位元单元流向下一级。具体的,当前位元单元不是第一位元单元组的最后一个位元单元时,下一级是指下一个位元单元。当前位元单元是第一位元单元组的最后一个位元单元时,下一级是指放大单元。当搜索字与第一存储字不相等时,关断第一晶体管t1,高电平不能从第一晶体管t1或第十一晶体管t11经过,即表明高电平不能通过当前位元单元,这样匹配线361输出低电平,从而实现了精确匹配。
[0220]
需要说明的是,当通配符匹配使能线1201连接位元单元阵列中的一列位元单元时,可以同时将搜索字与多个存储字进行通配符匹配。当通配符匹配使能线1201使能时,匹配线362不使能。例如,当第二充电单元37与匹配线362连接时,第二充电单元37断开与匹配线362的连接。
[0221]
请参阅表4,下面对几种存储器中一个位元单元的晶体管数量进行介绍:
[0222]
内容寻址存储器任意范围匹配通配符匹配精确匹配存储器1
×
1616存储器230
×
15存储器3252512.5
[0223]
表4
[0224]
存储器1为tcam,存储器2为现有的范围匹配内容寻址存储器(range matching content addressable memory,rm-cam)。存储器3为本技术的内容寻址存储器。
[0225]
tcam不能进行任意范围匹配,可以进行通配符匹配和精确匹配。在tcam中每个位元单元包括16个晶体管。现有的rm-cam能够进行范围匹配和精确匹配,不能进行通配符匹配。
[0226]
现有的rm-cam中一个位元单元包括30个晶体管,每个位元单元可以存储2个存储位,这样第一位元单元组可以用于搜索字与2个存储字进行精确匹配,即表明精确匹配需要占用每个位元单元的15个晶体管。
[0227]
图12所示的本技术的内容寻址存储器中每个位元单元包括25个晶体管,该内容寻址存储器能够进行范围匹配,精确匹配和通配符匹配。在本技术的内容寻址存储器中第一位元单元组可以用于搜索字与2个存储字进行精确匹配,即表明精确匹配需要占用每个位元单元的12.5个晶体管。可以看出,本技术的内容寻址存储器中每个位元单元包括的晶体管数量少于现有内容寻址存储器中每个位元单元包括的晶体管数量。
[0228]
图11所示的内容寻址存储器可以输出范围匹配结果或者精确匹配结果。图12所示的内容寻址存储器可以输出范围匹配结果,精确匹配结果或者通配符匹配结果,下面对用于选择输出结果的匹配信号单元进行介绍:
[0229]
参阅图14,在另一个可选实施例中,内容寻址存储器包括第二充电单元37,第一位元单元组311,第一充电单元35,放大单元33,匹配信号单元34,结果控制线1401和第一信号输出线1402。第一位元单元组311包括位元单元3111,位元单元3112,

,位元单元311n。放大单元33包括敏感放大器331和敏感放大器332。
[0230]
匹配信号单元34包括第一非门3411,第一与门3412,第十四晶体管t14和第十五晶体管t15;第十四晶体管t14连接结果控制线1401,放大单元33和第一信号输出线1402;第十
五晶体管t15连接结果控制线1401,第一与门3412和第一信号输出线1402。
[0231]
本实施例中,第二充电单元37,第一位元单元组311,第一充电单元35,放大单元33,匹配信号单元34可参阅图3至图13所示实施例中的相应描述。
[0232]
第十四晶体管t14与第十五晶体管t15为互反开关。第十四晶体管t14为pmos,第十五晶体管为nmos。或者,第十四晶体管t14为nmos,第十五晶体管为pmos。
[0233]
结果控制线1401用于向第十四晶体管t14和第十五晶体管t15发送控制信号,导通第十四晶体管t14的控制信号记为第三控制信号,导通第十五晶体管t15的控制信号记为第四控制信号。
[0234]
第十四晶体管t14用于根据第三控制信号导通,这样可以导通放大单元33与第一信号输出线1402的连接,当没有通配符使能线或者通配符使能线不使能时,第一信号输出线1402输出精确匹配结果;当通配符使能线使能时,第一信号输出线1402输出通配符匹配结果。第十四晶体管t14还用于根据第三控制信号关断,这样不能输出精确匹配结果或通配符匹配结果。
[0235]
第十五晶体管t15用于根据第四控制信号导通,这样导通第一与门3412与第一信号输出线1402的连接,第一信号输出线1402输出范围匹配结果。第十五晶体管t15还用于根据第四控制信号关断,这样不能输出范围匹配结果。
[0236]
应理解,匹配信号单元可以包括多个晶体管对,每个晶体管对包括两个晶体管且两个晶体管为互反开关,一个晶体管用于控制输出精确匹配结果或通配符匹配结果,另一个晶体管用于控制输出范围匹配结果。结果控制线可以连接多个晶体管对,以同时向多个晶体管对发送控制信号。这样可以同时输出多个范围匹配结果,或者同时输出多个精确匹配结果或通配符匹配结果,实现按照块(block)进行功能切换。
[0237]
应理解,以上仅为匹配信号单元的一个示例,匹配信号单元还可以包括其他分支电路选择性输出精确匹配结果,通配符匹配结果或者范围匹配结果。
[0238]
参阅图15,在另一个可选实施例中,内容寻址存储器30包括第二充电单元37,第一位元单元组311,第一充电单元35,放大单元33,匹配信号单元34,第十六晶体管t16,第十七晶体管t17,结果控制位存储单元1501,第二信号输出线1502和通配符匹配使能位存储单元1503。第一位元单元组311包括位元单元3111,位元单元3112,

,位元单元311n。放大单元33包括敏感放大器331和敏感放大器332。
[0239]
第十六晶体管t16连接结果控制位存储单元1501,第二充电单元37和匹配线361;第十七晶体管t17连接结果控制位存储单元1501,第一充电单元35和匹配线361;
[0240]
匹配信号单元34包括第一非门3411,第一与门3412,第十八晶体管t18和第十九晶体管t19;第十八晶体管t18连接结果控制位存储单元1501,敏感放大器331和第二信号输出线1502;第十九晶体管t19连接结果控制位存储单元1501,第一与门3412和第二信号输出线1502;
[0241]
在第一位元单元组中每个位元单元还包括第二十晶体管,第二十一晶体管和第二十二晶体管,第二十晶体管连接第二位存储单元506,用于根据第二位存储单元506的存储位导通或关断;第二十一晶体管连接通配符匹配使能位存储单元1503,第二十晶体管和匹配线361,用于根据通配符匹配使能位存储单元1503的存储位导通或关断;第二十二晶体管用于根据通配符匹配使能位存储单元1503的存储位导通或关断。
[0242]
本实施例中,第十六晶体管t16和第十七晶体管t17为互反开关。第十六晶体管t16为pmos,第十七晶体管t17为nmos。或者,第十六晶体管t16为nmos,第十七晶体管t17为pmos。
[0243]
第十八晶体管t18和第十九晶体管t19为互反开关。第十八晶体管t18为pmos,第十九晶体管t19为nmos。或者,第十八晶体管t18为nmos,十九晶体管t19为pmos。
[0244]
在第一位元单元组中,第二十晶体管,第二十一晶体管和第二十二晶体管分别与第十一晶体管t11,第十二晶体管t12和第十三晶体管t13相似,具体可以参阅前文相应记载。应理解,通配符匹配使能位存储单元1503的数量可以是多个,例如每个位元单元有一个对应的通配符匹配使能位存储单元1503。
[0245]
内容寻址存储器可以包括一个或多个结果控制位存储单元1501,结果控制位存储单元1501可以是一个或多个sram单元,一个sram单元可以存储0或1作为控制信号。用于导通第十六晶体管t16和第十八晶体管t18的控制信号记为第六控制信号,用于导通第十七晶体管t17和第十九晶体管t19的控制信号记为第七控制信号。当第二充电单元37使能时,将结果控制位存储单元1501的值设置为第六控制信号,第十六晶体管t16和第十八晶体管t18根据第六控制信号导通第二充电单元37与匹配线361的连接以及放大单元33与第二信号输出线1502之间的连接,以输出精确匹配结果或通配符匹配结果。
[0246]
当第一充电单元35使能时,将结果控制位存储单元1501的值设置为第七控制信号,通第十七晶体管t17和第十九晶体管t19根据第七控制信号导通第一充电单元与匹配线361的连接以及放大单元33与第二信号输出线1502之间的连接,以输出范围匹配结果。
[0247]
以上可以看出,结果控制位存储单元1501可以对一个匹配线输出的匹配结果进行控制。当内容寻址存储器包括多个结果控制位存储单元1501时,结果控制位存储单元1501可以存储不同的控制信号,从而实现按存储字进行控制,这样匹配信号单元34可以同时输出精确匹配结果,通配符匹配结果和范围匹配结果。
[0248]
下面对第二种内容寻址存储器进行介绍,参阅图16,本技术的内容寻址存储器的另一个实施例包括:
[0249]
位元单元阵列,搜索线驱动单元32,放大单元33,匹配信号单元34和第一充电单元35。位元单元阵列包括位元单元组311,位元单元组312,

,位元单元组31n。位元单元组311包括位元单元3111,位元单元3112,

,位元单元311n。
[0250]
第一充电单元35用于将匹配线361的输出端和匹配线362的输出端预充电至预定电压;
[0251]
搜索线驱动单元32用于向第一位元单元组发送搜索字;
[0252]
第一位元单元组以位元单元组311为例,第一匹配线以匹配线361为例,第二匹配线以匹配线362为例。位元单元组311用于当搜索字和预存的第一存储字满足第一预设关系时将匹配线361的第一端电压从预定电压调整为接地电压,当搜索字和预存的第一存储字不满足第一预设关系时将匹配线361的第一端电压保持为预定电压;当搜索字和预存的第二存储字满足第二预设关系时将匹配线362的第一端电压从预定电压调整为接地电压,当搜索字和预存的第二存储字不满足第二预设关系时将匹配线362的第一端电压保持为预定电压;
[0253]
放大单元33用于将匹配线361的第一端电压放大为第一放大电压,以及将匹配线
362的第一端电压放大为第二放大电压;
[0254]
匹配信号单元34用于根据第一放大电压和第二放大电压输出范围匹配结果。
[0255]
本实施例中,位元单元阵列,位元单元组312~位元单元组31m,搜索线驱动单元32,放大单元33,匹配信号单元34和第一充电单元35,匹配线361,匹配线362,匹配线363,匹配线364的组成和连接关系可参阅图3至图13所示实施例中的相应描述。
[0256]
匹配线361的第二端和匹配线362的第二端接地。第一预设关系以搜索字小于或等于第一存储字为例,当搜索字小于或等于第一存储字时,匹配线361接地,这样可以将匹配线361的第一端电压从预定电压调整为接地电压,这样可以在第一预设关系为小于或等于时输出接地电压,否则输出预定电压。这样可以通过输出电压标识小于或等于,从而进行小于或等于匹配。
[0257]
第二预设关系以搜索字小于或等于第二存储字为例,当搜索字小于或等于第二存储字时,第二匹配线接地,这样可以将第二匹配线的第一端电压从预定电压调整为接地电压,这样可以在第二预设关系为小于或等于时输出接地电压,否则输出预定电压。
[0258]
对于大于或等于的预设关系,本技术的内容寻址存储器可以进行不小于匹配。这样提供了另一种可行的内容寻址存储器。
[0259]
在一个可选实施例中,在第一位元单元组中每个位元单元包括第一晶体管,第二晶体管,第一开关单元,第二开关单元,第三开关单元,第四开关单元,第一位存储单元和第二位存储单元;第一开关单元用于在搜索位与第一存储位相等时导通第一晶体管,当搜索位与第一存储位不相等时关断第一晶体管;第二开关单元用于当搜索线信号和第一存储位满足第三预设关系时导通第一匹配线与地之间的连接,当搜索线信号和第一存储位不满足第三预设关系时关断第一匹配线与地之间的连接;第三开关单元用于当搜索位与第二存储位相等时导通第二晶体管,当搜索位与第二存储位不相等时关断第二晶体管;第四开关单元用于当搜索线信号和第二存储位满足第四预设关系时导通第二匹配线与地之间的连接,当搜索线信号和第二存储位不满足第四预设关系时关断第二匹配线与地之间的连接。其中,第一开关单元分别连接搜索线驱动单元,第一晶体管的栅极和第一位存储单元,第一晶体管的源极和漏极连接第一匹配线。第二开关单元分别连接搜索线驱动单元,第一匹配线,第一位存储单元和地。第三开关单元分别连接搜索线驱动单元,第二晶体管的栅极和第二位存储单元,第二晶体管的源极和漏极连接第二匹配线;第四开关单元分别连接搜索线驱动单元,第二匹配线,第二位存储单元和地。在第一位元单元组中每个位元单元的第一位存储单元用于存储第一存储位,在第一位元单元组中每个位元单元的第二位存储单元用于存储第二存储位。
[0260]
本实施例中,当第一预设关系为不大于时,第三预设关系为小于。当第一预设关系为不小于时,第三预设关系为大于。第二预设关系为不大于时,第四预设关系为小于。当第二预设关系为不小于时,第四预设关系为大于。
[0261]
在搜索字小于第一存储字的情况下,必然有一个位元单元的第二开关单元导通,这样第一匹配线输出接地电压。在搜索字等于第一存储字的情况下,全部位元单元的第一晶体管导通且第一匹配线接地,这样第一匹配线输出接地电压。在搜索字大于第一存储字的情况下,必然有一个位元单元的第二开关单元和第一晶体管关断,第一匹配线输出预定电压。这样第一匹配线的输出电压可以标识小于或等于。或者,第一匹配线的输出电压可以
标识大于或等于,从而标识第一预设关系。依此类推,第二匹配线的输出电压可以标识第二预设关系。
[0262]
在另一个可选实施例中,第一开关单元包括第三晶体管和第四晶体管,第三晶体管连接第一位存储单元的一端和搜索线驱动单元,第四晶体管连接第一位存储单元的另一端,搜索线驱动单元,且第三晶体管和第四晶体管都连接第一晶体管的栅极;
[0263]
第二开关单元包括相连的第五晶体管和第六晶体管,且第五晶体管连接第一位存储单元和地,第六晶体管连接搜索线驱动单元和第一匹配线;
[0264]
第三开关单元包括相连的第七晶体管和第八晶体管,第七晶体管连接第二位存储单元的一端和搜索线驱动单元,第八晶体管连接第二位存储单元的另一端和搜索线驱动单元,且第七晶体管和第八晶体管都连接第二晶体管的栅极;
[0265]
第四开关单元包括相连的第九晶体管和第十晶体管,且第九晶体管连接第二位存储单元和地,第十晶体管连接搜索线驱动单元和第二匹配线。
[0266]
在另一种可选实施例中,第六晶体管和第十晶体管通过不同的搜索线连接搜索线驱动单元,第五晶体管连接第一位存储单元的第一端,第九晶体管连接第二位存储单元的第二端。
[0267]
在另一种可选实施例中,放大单元包括第一敏感放大器和第二敏感放大器,匹配信号单元包括第一非门、第二非门和第一与门;第一敏感放大器连接第一匹配线和第一非门,第二敏感放大器连接第二匹配线和第二非门,第一与门分别连接第一非门和第二非门。
[0268]
在另一种可选实施例中,第六晶体管和第十晶体管通过一条搜索线连接搜索线驱动单元,第五晶体管连接第一位存储单元的第一端,第九晶体管连接第二位存储单元的第一端。
[0269]
在另一种可选实施例中,放大单元包括第四敏感放大器和第五敏感放大器,匹配信号单元包括第三非门和第三与门;第四敏感放大器连接第一匹配线和第三非门,第五敏感放大器连接第二匹配线,第三与门分别连接第三非门和第二敏感放大器。在此内容寻址存储器中,第一敏感放大器将第一匹配线的第一端电压放大为第一放大电压,第二敏感放大器将第二匹配线的第一端电压放大为第二放大电压,第三非门将第一放大电压进行取反,第三与门将第二放大电压和取反后的第一放大电压进行与运算,得到范围匹配结果。
[0270]
在另一种可选实施例中,匹配信号单元还包括第四非门和第四与门;第四非门连接第六敏感放大器,第六敏感放大器与第二位元单元组的第一匹配线连接,第二位元单元组与第一位元单元组相邻;第四与门连接第二敏感放大器和第四非门。对于三个以上的连续区间,该内容寻址存储器可以节省范围匹配占用的硬件资源。
[0271]
在另一个可选实施例中,内容寻址存储器还包括第二充电单元,第二充电单元连接第一匹配线的第二端。内容寻址存储器还可以包括接地开关,该接地开关可以是但不限于一个晶体管。当第二充电单元使能时,通过接地开关断开第一匹配线的第二端与地的连接,使得第一匹配线不接地。
[0272]
在另一个可选实施例中,内容寻址存储器还包括结果控制线和第一信号输出线;匹配信号单元还包括第十四晶体管和第十五晶体管;第十四晶体管连接结果控制线,放大单元和第一信号输出线;第十五晶体管连接结果控制线,第一与门和第一信号输出线。
[0273]
本实施例中匹配信号单元,位元单元组,结果控制线和第一信号输出线等可参阅
图14所示实施例中的相应描述,此处不再赘述。
[0274]
在另一个可选实施例中,内容寻址存储器还包括第十六晶体管和第十七晶体管,结果控制位存储单元,通配符匹配使能位存储单元和第二信号输出线;匹配信号单元还包括第十八晶体管和第十九晶体管;在第一位元单元组中每个位元单元还包括第二十晶体管,第二十一晶体管和第二十二晶体管。具体可参阅图15所示实施例中的相应描述。
[0275]
下面对第三种内容寻址存储器进行介绍,参阅图17,本技术还公开一种内容寻址存储器的另一个实施例包括:
[0276]
位元单元阵列,搜索线驱动单元32,放大单元33,匹配信号单元34和第一充电单元35。
[0277]
位元单元阵列包括位元单元组311,位元单元组312,

,位元单元组31m。位元单元组311包括位元单元3111,位元单元3112,

,位元单元311n。
[0278]
第一充电单元35用于将第一匹配线的输出端和第二匹配线的输出端预充电至预定电压;
[0279]
搜索线驱动单元32用于向第一位元单元组发送搜索字;
[0280]
第一位元单元组以位元单元组311为例,第一匹配线以匹配线361为例,第二匹配线以匹配线362为例。位元单元组311用于当搜索字和预存的第一存储字满足第一预设关系时将匹配线361的第一端电压从预定电压调整为接地电压,当搜索字和预存的第一存储字不满足第一预设关系时将匹配线361的第一端电压保持为预定电压;当搜索字和预存的第二存储字满足第二预设关系时将匹配线362的第一端电压从预定电压调整为接地电压,当搜索字和预存的第二存储字不满足第二预设关系时将匹配线362的第一端电压保持为预定电压;
[0281]
放大单元33用于将匹配线361的第一端电压放大为第一放大电压,以及将匹配线362的第一端电压放大为第二放大电压;
[0282]
匹配信号单元34用于根据第一放大电压和第二放大电压输出范围匹配结果。
[0283]
本实施例中,位元单元阵列,位元单元组312~位元单元组31m,搜索线驱动单元32,放大单元33,匹配信号单元34和第一充电单元35,匹配线361,匹配线362,匹配线363,匹配线364的组成和连接关系可参阅图3,图4,图5或图8所示实施例中的相应描述。
[0284]
匹配线361的第二端接地,匹配线362的第二端不接地。在匹配线361的第二端接地的情况下,可以实现小于或等于匹配或者实现大于或等于匹配。在匹配线362的第二端不接地的情况下,可以利用匹配线362进行小于匹配或者大于匹配。这样提供了另一种可行的内容寻址存储器。
[0285]
在一个可选实施例中,在第一位元单元组中每个位元单元包括第一晶体管,第二晶体管,第一开关单元,第二开关单元,第三开关单元,第四开关单元,第一位存储单元和第二位存储单元;第一开关单元用于在搜索位与第一存储位相等时导通第一晶体管,当搜索位与第一存储位不相等时关断第一晶体管;第二开关单元用于当搜索线信号和第一存储位满足第三预设关系时导通第一匹配线与地之间的连接,当搜索线信号和第一存储位不满足第三预设关系时关断第一匹配线与地之间的连接;第三开关单元用于当搜索位与第二存储位相等时导通第二晶体管,当搜索位与第二存储位不相等时关断第二晶体管;第四开关单元用于当搜索线信号和第二存储位满足第二预设关系时导通第二匹配线与地之间的连接,
当搜索线信号和第二存储位不满足第二预设关系时关断第二匹配线与地之间的连接。
[0286]
其中,第一开关单元分别连接搜索线驱动单元,第一晶体管的栅极和第一位存储单元,第一晶体管的源极和漏极连接第一匹配线。第二开关单元分别连接搜索线驱动单元、第一匹配线和第二晶体管,第二晶体管连接第二开关单元,第一位存储单元和地。第三开关单元分别连接搜索线驱动单元,第二晶体管的栅极和第二位存储单元,第二晶体管的源极和漏极连接第二匹配线;第四开关单元分别连接搜索线驱动单元、第二匹配线和第四晶体管的源极,第四晶体管的栅极连接第二位存储单元,第四晶体管的漏极接地。在第一位元单元组中每个位元单元的第一位存储单元用于存储第一存储位,在第一位元单元组中每个位元单元的第二位存储单元用于存储第二存储位。当第一预设关系为不小于时,第三预设关系为大于。当第一预设关系为不大于时,第三预设关系为小于。
[0287]
第三预设关系以小于为例,在搜索字小于第一存储字的情况下,必然有一个位元单元的第二开关单元导通,这样第一匹配线输出接地电压。在搜索字等于第一存储字的情况下,全部位元单元的第一晶体管导通且第一匹配线接地,这样第一匹配线输出接地电压。在搜索字大于第一存储字的情况下,必然有一个位元单元的第二开关单元和第一晶体管关断,这样第一匹配线输出预定电压。由此可以实现小于或等于匹配。
[0288]
在搜索字等于第二存储字的情况下,全部位元单元的第二晶体管导通且第二匹配线不接地,这样第二匹配线输出预定电压,第一位元单元组和第二匹配线可以实现大于匹配。应理解,当第一预设关系为不小于或者第二预设关系为小于时,上述位元单元组、第一匹配线和第二匹配线也可以实现不小于或小于匹配。
[0289]
下面对第四种内容寻址存储器进行介绍,参阅图18,本技术中内容寻址存储器的另一个实施例包括:
[0290]
位元单元阵列,搜索线驱动单元32,放大单元33,匹配信号单元34和第一充电单元35。位元单元阵列包括位元单元组311,位元单元组312,

,位元单元组31n。位元单元组311包括位元单元3111,位元单元3112,

,位元单元311n。
[0291]
第一充电单元35用于将第一匹配线的输出端和第二匹配线的输出端预充电至预定电压;
[0292]
搜索线驱动单元32用于向第一位元单元组发送搜索字;
[0293]
第一位元单元组以位元单元组311为例,第一匹配线以匹配线361为例,第二匹配线以匹配线362为例。第一位元单元组以位元单元组311为例,位元单元组311用于当搜索字和预存的第一存储字满足第一预设关系时将匹配线361的第一端电压从预定电压调整为接地电压,当搜索字和预存的第一存储字不满足第一预设关系时将匹配线361的第一端电压保持为预定电压;当搜索字和预存的第二存储字满足第二预设关系时将匹配线362的第一端电压从预定电压调整为接地电压,当搜索字和预存的第二存储字不满足第二预设关系时将匹配线362的第一端电压保持为预定电压;
[0294]
放大单元33用于将匹配线361的第一端电压放大为第一放大电压,以及将匹配线362的第一端电压放大为第二放大电压;
[0295]
匹配信号单元34用于根据第一放大电压和第二放大电压输出范围匹配结果。
[0296]
本实施例中,位元单元阵列,位元单元组312~位元单元组31m,搜索线驱动单元32,放大单元33,匹配信号单元34和第一充电单元35,匹配线361,匹配线362,匹配线363,匹
配线364的组成和连接关系可参阅图3,图4,图5或图8所示实施例中的相应描述。
[0297]
第一匹配线的第二端不接地且第二匹配线的第二端接地。第一预设关系以搜索字小于第一存储字为例,当搜索字小于第一存储字时,第一匹配线接地,这样可以将第一匹配线的第一端电压从预定电压调整为接地电压,否则输出预定电压。这样可以通过第一匹配线的输出电压实现小于匹配。
[0298]
第二预设关系以搜索字小于或等于第二存储字为例,当搜索字小于或等于第二存储字时,第二匹配线接地,这样可以将第二匹配线的第一端电压从预定电压调整为接地电压,这样可以在第二预设关系为小于或等于时输出接地电压,否则输出预定电压。这样可以通过第二匹配线的输出电压实现小于或等于匹配。
[0299]
对于第一预设关系为大于,第二预设关系为大于或等于的情况,本技术的内容寻址存储器可以进行大于匹配或者不小于匹配。这样提供了另一种可行的内容寻址存储器。
[0300]
在一个可能实现方式中,在第一位元单元组中每个位元单元包括第一晶体管,第二晶体管,第一开关单元,第二开关单元,第三开关单元,第四开关单元,第一位存储单元和第二位存储单元;第一开关单元用于在搜索位与第一存储位相等时导通第一晶体管,当搜索位与第一存储位不相等时关断第一晶体管;第二开关单元用于当搜索线信号和第一存储位满足第一预设关系时导通第一匹配线与地之间的连接,当搜索线信号和第一存储位不满足第一预设关系时关断第一匹配线与地之间的连接;第三开关单元用于当搜索位与第二存储位相等时导通第二晶体管,当搜索位与第二存储位不相等时关断第二晶体管;第四开关单元用于当搜索线信号和第二存储位满足第三预设关系时导通第二匹配线与地之间的连接,当搜索线信号和第二存储位不满足第三预设关系时关断第二匹配线与地之间的连接。
[0301]
其中,第一开关单元分别连接搜索线驱动单元,第一晶体管的栅极和第一位存储单元,第一晶体管的源极和漏极连接第一匹配线。第二开关单元连接搜索线驱动单元,第一位存储单元,第一匹配线和地。第三开关单元分别连接搜索线驱动单元,第二晶体管的栅极和第二位存储单元,第二晶体管的源极和漏极连接第二匹配线;第四开关单元连接搜索线驱动单元、第二位存储单元,第二匹配线和地。在第一位元单元组中每个位元单元的第一位存储单元用于存储第一存储位,在第一位元单元组中每个位元单元的第二位存储单元用于存储第二存储位。当第二预设关系为不小于时,第三预设关系为大于。当第二预设关系为不大于时,第三预设关系为小于。
[0302]
在搜索字小于第一存储字的情况下,必然有一个位元单元的第二开关单元导通,这样第一匹配线输出接地电压。在搜索字等于第一存储字的情况下,全部位元单元的第一晶体管导通且第一匹配线不接地,这样第一匹配线输出预定电压。在搜索字大于第一存储字的情况下,必然有一个位元单元第一晶体管关断且靠近第一充电单元35侧的全部位元单元中第二开关单元关断,这样第一匹配线输出预定电压。由此可见,第一位元单元组和第一匹配线可以实现小于匹配。
[0303]
在搜索字小于第二存储字的情况下,必然有一个位元单元的第二晶体管导通使第二匹配线接地。在搜索字等于第二存储字的情况下,全部位元单元的第二晶体管导通使第二匹配线接地,这样第二匹配线输出接地电压,第一位元单元组和第二匹配线可以实现小于或等于匹配。
[0304]
本技术中搜索字与目标范围的上限的关系和搜索字与目标范围的下限的关系如
表5所示:
[0305]
第一关系data《highdata≤(high-1)!(data≥high)!(data》(high-1))第二关系data》lowdata≥(low+1)!(data≤low)!(data《(low+1))第三关系data≤highdata《(high+1)!(data≥(high+1))!(data》high)第四关系data≥lowdata》(low-1)!(data《low)!(data≤(low-1))
[0306]
表5
[0307]
应理解,每种关系可以采用一个或多个关系运算符进行表示。本技术的内容寻址存储器可以实现大于,小于,大于或等于,小于或等于,再结合非门就可以实现各种类型的范围匹配,也可以实现任意大小的范围匹配。
[0308]
以上对内容寻址存储器进行了介绍,下面对本技术的网络设备进行介绍。网络设备以路由器为例,参阅图19,该路由器1900的一个实施例包括:处理器1901和内容寻址存储器1902。
[0309]
处理器1901用于接收目标范围;根据目标范围的上限确定第一存储字;根据目标范围的下限确定第二存储字;将第一存储字和第二存储字发送给内容寻址存储器;
[0310]
内容寻址存储器1902为本技术中任意一个实施例或可选实施例中的内容寻址存储器。
[0311]
本实施例中,处理器1901可以是中央处理器(central processing units,cpu),现场可编程门阵列或者可以执行上述步骤的专用电路。
[0312]
可选的,第一存储字等于目标范围的上限。或者,第一存储字等于目标范围的上限加一。或者第一存储字等于目标范围的上限减一。以及,第二存储字等于目标范围的下限,目标范围的下限加一或者目标范围的下限减一。
[0313]
具体的,在内容寻址存储器中第一匹配线不接地且第二匹配线不接地的情况下,当目标范围为开区间(low,high),第一预设关系为小于且第二预设关系为大于时,处理器1901确定第一存储字等于high,确定第二存储字等于low。当第一预设关系为小于且第二预设关系为小于时,处理器1901确定第一存储字为high,第二存储字为low+1。当第一预设关系为大于且第二预设关系为大于时,处理器1901确定第二存储字为low,第一存储字为high-1。当第一预设关系为大于且第二预设关系为小于时,处理器1901确定第一存储字为high-1,第二存储字为low+1。
[0314]
在内容寻址存储器中第一匹配线接地且第二匹配线接地的情况下,当目标范围为开区间(low,high),第一预设关系为不大于且第二预设关系为不小于时,处理器1901确定第一存储字等于high-1,第二存储字等于low+1。
[0315]
当第一预设关系为不大于且第二预设关系为不大于时,处理器1901确定第一存储字为high-1,第二存储字为low。
[0316]
当第一预设关系为不小于且第二预设关系为不小于时,处理器1901确定第一存储字为high,第二存储字为low+1。
[0317]
当第一预设关系为不小于且第二预设关系为不大于时,处理器1901确定第一存储字为high,第二存储字为low。
[0318]
在内容寻址存储器中第一匹配线不接地且第二匹配线接地的情况下,当目标范围为开区间(low,high),第一预设关系为不大于且第二预设关系为小于时,处理器1901确定
第一存储字等于high-1,第二存储字等于low+1。
[0319]
当第一预设关系为不大于且第二预设关系为大于时,处理器1901确定第一存储字为high-1,第二存储字为low。
[0320]
当第一预设关系为不小于且第二预设关系为小于时,处理器1901确定第一存储字为high,第二存储字为low+1。
[0321]
当第一预设关系为不小于且第二预设关系为大于时,处理器1901确定第一存储字为high,第二存储字为low。
[0322]
在内容寻址存储器中第一匹配线接地且第二匹配线不接地的情况下,当目标范围为开区间(low,high),第一预设关系为大于且第二预设关系为不小于时,处理器1901确定第一存储字等于high-1,第二存储字等于low+1。
[0323]
当第一预设关系为大于且第二预设关系为不大于时,处理器1901确定第一存储字为high-1,第二存储字为low。
[0324]
当第一预设关系为小于且第二预设关系为不小于时,处理器1901确定第一存储字为high,第二存储字为low+1。
[0325]
当第一预设关系为小于且第二预设关系为不大于时,处理器1901确定第一存储字为high,第二存储字为low。
[0326]
对于目标范围为闭区间或者半开半闭区间的情况下,可以将目标范围转换为开区间之后,进行相应计算得到第一存储字和第二存储字。应理解,目标范围的类型,第一预设关系与第一存储字的对应关系,目标范围的类型,第二预设关系与第二存储字的对应关系可以存储在存储器中。
[0327]
以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例的技术方案的范围。

技术特征:


1.一种内容寻址存储器,其特征在于,包括:位元单元阵列,搜索线驱动单元,放大单元,匹配信号单元和第一充电单元;第一位元单元组的每个位元单元分别连接第一匹配线和第二匹配线,在所述第一位元单元组中存储最低存储位的位元单元位于远离所述第一充电单元的一侧;所述第一充电单元,用于将所述第一匹配线的第一端和所述第二匹配线的第一端预充电至预定电压,所述第一匹配线的第一端连接所述放大单元和所述第一充电单元,所述第二匹配线的第一端连接所述放大单元和所述第一充电单元;所述搜索线驱动单元与所述第一位元单元组连接,用于向所述第一位元单元组发送搜索字;所述第一位元单元组,用于当所述搜索字和预存的第一存储字满足第一预设关系时将所述第一匹配线的第一端电压从所述预定电压调整为接地电压,当所述搜索字和所述第一存储字不满足第一预设关系时将所述第一匹配线的第一端电压保持为所述预定电压,所述第一预设关系为小于或大于;所述第一位元单元组,还用于当所述搜索字和预存的第二存储字满足所述第二预设关系时将所述第二匹配线的第一端电压从所述预定电压调整为接地电压,当所述搜索字和所述第二存储字不满足第二预设关系时将所述第二匹配线的第一端电压保持为所述预定电压,所述第二预设关系为小于或大于;所述放大单元用于将所述第一匹配线的第一端电压放大为第一放大电压,以及将所述第二匹配线的第一端电压放大为第二放大电压;所述匹配信号单元用于根据所述第一放大电压和所述第二放大电压输出范围匹配结果。2.根据权利要求1所述的内容寻址存储器,其特征在于,在所述第一位元单元组中每个位元单元包括第一晶体管,第二晶体管,第一开关单元,第二开关单元,第三开关单元,第四开关单元,第一位存储单元和第二位存储单元;所述第一开关单元用于在搜索位与第一存储位相等时导通所述第一晶体管,当所述搜索位与所述第一存储位不相等时关断所述第一晶体管,所述第一晶体管的源极和漏极连接所述第一匹配线;所述第二开关单元用于当第一搜索线信号和第一存储位满足所述第一预设关系时导通所述第一匹配线与地之间的连接,当所述第一搜索线信号和第一存储位不满足所述第一预设关系时关断所述第一匹配线与地之间的连接;所述第三开关单元用于当所述搜索位与第二存储位相等时导通所述第二晶体管,当所述搜索位与所述第二存储位不相等时关断所述第二晶体管,所述第二晶体管的源极和漏极连接所述第二匹配线;所述第四开关单元用于当第二搜索线信号和所述第二存储位满足所述第二预设关系时导通所述第二匹配线与地之间的连接,当所述第二搜索线信号和所述第二存储位不满足所述第二预设关系时关断所述第二匹配线与地之间的连接。3.根据权利要求2所述的内容寻址存储器,其特征在于,所述第一开关单元包括第三晶体管和第四晶体管,所述第三晶体管连接所述第一位存储单元的一端和所述搜索线驱动单元,所述第四晶体管连接所述第一位存储单元的另一端
和所述搜索线驱动单元,且所述第三晶体管和所述第四晶体管都连接所述第一晶体管的栅极;所述第二开关单元包括相连的第五晶体管和第六晶体管,且所述第五晶体管连接第一位存储单元和地,所述第六晶体管连接所述搜索线驱动单元和所述第一匹配线;所述第三开关单元包括相连的第七晶体管和第八晶体管,所述第七晶体管连接所述第二位存储单元的一端和所述搜索线驱动单元,所述第八晶体管连接所述第二位存储单元的另一端和所述搜索线驱动单元,且所述第七晶体管和所述第八晶体管都连接所述第二晶体管的栅极;所述第四开关单元包括相连的第九晶体管和第十晶体管,且所述第九晶体管连接第二位存储单元和地,所述第十晶体管连接所述搜索线驱动单元和所述第二匹配线。4.根据权利要求3所述的内容寻址存储器,其特征在于,所述第六晶体管和所述第十晶体管通过不同的搜索线连接所述搜索线驱动单元,所述第五晶体管连接第一位存储单元的第一端,所述第九晶体管连接第二位存储单元的第二端。5.根据权利要求4所述的内容寻址存储器,其特征在于,所述放大单元包括第一敏感放大器和第二敏感放大器,所述匹配信号单元包括第一非门、第二非门和第一与门;第一敏感放大器连接所述第一匹配线和所述第一非门,所述第二敏感放大器连接所述第二匹配线和所述第二非门,所述第一与门分别连接所述第一非门和所述第二非门。6.根据权利要求5所述的内容寻址存储器,其特征在于,所述匹配信号单元还包括第二与门,所述第二与门连接所述第二敏感放大器和第三敏感放大器,所述第三敏感放大器与所述第二位元单元组的第一匹配线连接,所述第二位元单元组与所述第一位元单元组相邻。7.根据权利要求3所述的内容寻址存储器,其特征在于,所述第六晶体管和所述第十晶体管通过一条搜索线连接所述搜索线驱动单元,所述第五晶体管连接第一位存储单元的第一端,所述第九晶体管连接第二位存储单元的第一端。8.根据权利要求7所述的内容寻址存储器,其特征在于,所述放大单元包括第四敏感放大器和第五敏感放大器,所述匹配信号单元包括第三非门和第三与门;第四敏感放大器连接所述第一匹配线和所述第三非门,所述第五敏感放大器连接所述第二匹配线,所述第三与门分别连接所述第三非门和所述第二敏感放大器。9.根据权利要求8所述的内容寻址存储器,其特征在于,所述匹配信号单元还包括第四非门和第四与门;所述第四非门连接第六敏感放大器,所述第六敏感放大器与所述第二位元单元组的第一匹配线连接,所述第二位元单元组与所述第一位元单元组相邻;所述第四与门连接所述第二敏感放大器和所述第四非门。10.根据权利要求2至9中任一项所述的内容寻址存储器,其特征在于,所述内容寻址存储器还包括第二充电单元,所述第二充电单元连接所述第一匹配线的第二端,所述第二充电单元的使能状态与所述第一充电单元的使能状态相反。11.根据权利要求10所述的内容寻址存储器,其特征在于,
所述内容寻址存储器还包括通配符匹配使能线;在所述第一位元单元组中每个位元单元还包括第十一晶体管,第十二晶体管和第十三晶体管;所述第十一晶体管连接所述第二位存储单元,用于根据所述第二位存储单元的存储位导通或关断;所述第十二晶体管连接通配符匹配使能线,所述第十一晶体管和所述第一匹配线,用于根据从所述通配符匹配使能线接收的控制信号导通或关断;所述第十三晶体管用于根据从所述通配符匹配使能线接收的控制信号导通或关断所述第二开关单元与所述第一匹配线之间的连接,所述第十三晶体管与所述第十二晶体管为互反开关。12.根据权利要求10或11所述的内容寻址存储器,其特征在于,所述内容寻址存储器还包括结果控制线和第一信号输出线;所述匹配信号单元还包括第十四晶体管和第十五晶体管;所述第十四晶体管连接所述结果控制线,所述放大单元和第一信号输出线,用于根据从所述结果控制线接收的控制信号导通或者关断;所述第十五晶体管连接所述结果控制线,所述第一与门和第一信号输出线,用于根据从所述结果控制线接收的控制信号导通或者关断,所述第十四晶体管和第十五晶体管为互反开关。13.根据权利要求10所述的内容寻址存储器,其特征在于,所述内容寻址存储器还包括第十六晶体管和第十七晶体管,结果控制位存储单元,通配符匹配使能位存储单元和第二信号输出线;所述第十六晶体管连接所述结果控制位存储单元,所述第二充电单元和所述第一匹配线,用于根据从所述结果控制线接收的控制信号导通或者关断;所述第十七晶体管连接所述结果控制位存储单元,所述第一充电单元和所述第一匹配线,用于根据从所述结果控制线接收的控制信号导通或者关断,所述第十六晶体管和所述第十七晶体管为互反开关;所述匹配信号单元还包括第十八晶体管和第十九晶体管;所述第十八晶体管连接所述结果控制位存储单元,所述放大单元和所述第二信号输出线;所述第十九晶体管连接所述结果控制位存储单元,所述第一与门和所述第二信号输出线,所述第十八晶体管和所述第十九晶体管为互反开关;在所述第一位元单元组中每个位元单元还包括第二十晶体管,第二十一晶体管和第二十二晶体管,所述第二十晶体管连接所述第二位存储单元,用于根据所述第二位存储单元的存储位导通或关断;所述第二十一晶体管连接通配符匹配使能位存储单元,所述第二十晶体管和所述第一匹配线,用于根据所述通配符匹配使能位存储单元的存储位导通或关断;所述第二十二晶体管用于根据所述通配符匹配使能位存储单元的存储位导通或关断,所述第二十二晶体管与所述第二十一晶体管为互反开关。14.一种内容寻址存储器,其特征在于,包括:位元单元阵列,搜索线驱动单元,放大单元,匹配信号单元和第一充电单元;第一位元单元组的每个位元单元分别连接第一匹配线和第二匹配线,在所述第一位元单元组中存储最低存储位的位元单元位于远离所述第一充电单元的一侧;
所述第一充电单元,用于将所述第一匹配线的第一端和所述第二匹配线的第一端预充电至预定电压,所述第一匹配线的第一端连接所述放大单元和所述第一充电单元,所述第一匹配线的第二端接地,所述第二匹配线的第一端连接所述放大单元和所述第一充电单元,所述第二匹配线的第二端接地;所述搜索线驱动单元与所述第一位元单元组连接,用于向所述第一位元单元组发送搜索字;所述第一位元单元组,用于当所述搜索字和预存的第一存储字满足第一预设关系时将所述第一匹配线的第一端电压从所述预定电压调整为接地电压,当所述搜索字和所述第一存储字不满足第一预设关系时将所述第一匹配线的第一端电压保持为所述预定电压,所述第一预设关系为不小于或不大于;所述第一位元单元组,还用于当所述搜索字和预存的第二存储字满足所述第二预设关系时将所述第二匹配线的第一端电压从所述预定电压调整为接地电压,当所述搜索字和所述第二存储字不满足第二预设关系时将所述第二匹配线的第一端电压保持为所述预定电压,所述第二预设关系为不小于或不大于;所述放大单元用于将所述第一匹配线的第一端电压放大为第一放大电压,以及将所述第二匹配线的第一端电压放大为第二放大电压;所述匹配信号单元用于根据所述第一放大电压和所述第二放大电压输出范围匹配结果。15.根据权利要求14所述的内容寻址存储器,其特征在于,在所述第一位元单元组中每个位元单元包括第一晶体管,第二晶体管,第一开关单元,第二开关单元,第三开关单元,第四开关单元,第一位存储单元和第二位存储单元;所述第一开关单元用于在搜索位与第一存储位相等时导通所述第一晶体管,当所述搜索位与所述第一存储位不相等时关断所述第一晶体管,所述第一晶体管的源极和漏极连接所述第一匹配线;所述第二开关单元用于当第一搜索线信号和第一存储位满足第三预设关系时导通所述第一匹配线与地之间的连接,当所述第一搜索线信号和第一存储位不满足所述第三预设关系时关断所述第一匹配线与地之间的连接;所述第三开关单元用于当所述搜索位与第二存储位相等时导通所述第二晶体管,当所述搜索位与所述第二存储位不相等时关断所述第二晶体管,所述第二晶体管的源极和漏极连接所述第二匹配线;所述第四开关单元用于当第二搜索线信号和所述第二存储位满足第四预设关系时导通所述第二匹配线与地之间的连接,当所述第二搜索线信号和所述第二存储位不满足所述第四预设关系时关断所述第二匹配线与地之间的连接。16.一种内容寻址存储器,其特征在于,包括:位元单元阵列,搜索线驱动单元,放大单元,匹配信号单元和第一充电单元;第一位元单元组的每个位元单元分别连接第一匹配线和第二匹配线,在所述第一位元单元组中存储最低存储位的位元单元位于远离所述第一充电单元的一侧;所述第一充电单元,用于将所述第一匹配线的第一端和所述第二匹配线的第一端预充电至预定电压,所述第一匹配线的第一端连接所述放大单元和所述第一充电单元,所述第
一匹配线的第二端接地,所述第二匹配线的第一端连接所述放大单元和所述第一充电单元;所述搜索线驱动单元与所述第一位元单元组连接,用于向所述第一位元单元组发送搜索字;所述第一位元单元组,用于当所述搜索字和预存的第一存储字满足第一预设关系时将所述第一匹配线的第一端电压从所述预定电压调整为接地电压,当所述搜索字和预存的第一存储字不满足第一预设关系时将所述第一匹配线的第一端电压保持为所述预定电压,所述第一预设关系为不小于或不大于;所述第一位元单元组,还用于当所述搜索字和预存的第二存储字满足所述第二预设关系时将所述第二匹配线的第一端电压从所述预定电压调整为接地电压,当所述搜索字和预存的第二存储字不满足第二预设关系时将所述第二匹配线的第一端电压保持为所述预定电压,所述第二预设关系为小于或大于;所述放大单元用于将所述第一匹配线的第一端电压放大为第一放大电压,以及将所述第二匹配线的第一端电压放大为第二放大电压;所述匹配信号单元用于根据所述第一放大电压和所述第二放大电压输出范围匹配结果。17.根据权利要求16所述的内容寻址存储器,其特征在于,在所述第一位元单元组中每个位元单元包括第一晶体管,第二晶体管,第一开关单元,第二开关单元,第三开关单元,第四开关单元,第一位存储单元和第二位存储单元;所述第一开关单元用于在搜索位与第一存储位相等时导通所述第一晶体管,当所述搜索位与所述第一存储位不相等时关断所述第一晶体管,所述第一晶体管的源极和漏极连接所述第一匹配线;所述第二开关单元用于当第一搜索线信号和第一存储位满足第三预设关系时导通所述第一匹配线与地之间的连接,当所述第一搜索线信号和第一存储位不满足所述第三预设关系时关断所述第一匹配线与地之间的连接;所述第三开关单元用于当所述搜索位与第二存储位相等时导通所述第二晶体管,当所述搜索位与所述第二存储位不相等时关断所述第二晶体管,所述第二晶体管的源极和漏极连接所述第二匹配线;所述第四开关单元用于当第二搜索线信号和所述第二存储位满足所述第二预设关系时导通所述第二匹配线与地之间的连接,当所述第二搜索线信号和所述第二存储位不满足所述第二预设关系时关断所述第二匹配线与地之间的连接。18.一种内容寻址存储器,其特征在于,包括:位元单元阵列,搜索线驱动单元,放大单元,匹配信号单元和第一充电单元;第一位元单元组的每个位元单元分别连接第一匹配线和第二匹配线,在所述第一位元单元组中存储最低存储位的位元单元位于远离所述第一充电单元的一侧;所述第一充电单元,用于将所述第一匹配线的第一端和所述第二匹配线的第一端预充电至预定电压,所述第一匹配线的第一端连接所述放大单元和所述第一充电单元,所述第二匹配线的第一端连接所述放大单元和所述第一充电单元,所述第二匹配线的第二端接地;
所述搜索线驱动单元与所述第一位元单元组连接,用于向所述第一位元单元组发送搜索字;所述第一位元单元组,用于当所述搜索字和预存的第一存储字满足第一预设关系时将所述第一匹配线的第一端电压从所述预定电压调整为接地电压,当所述搜索字和所述第一存储字不满足第一预设关系时将所述第一匹配线的第一端电压保持为所述预定电压,所述第一预设关系为小于或大于;所述第一位元单元组,还用于当所述搜索字和预存的第二存储字满足所述第二预设关系时将所述第二匹配线的第一端电压从所述预定电压调整为接地电压,当所述搜索字和所述第二存储字不满足第二预设关系时将所述第二匹配线的第一端电压保持为所述预定电压,所述第二预设关系为不小于或不大于;所述放大单元用于将所述第一匹配线的第一端电压放大为第一放大电压,以及将所述第二匹配线的第一端电压放大为第二放大电压;所述匹配信号单元用于根据所述第一放大电压和所述第二放大电压输出范围匹配结果。19.根据权利要求18所述的内容寻址存储器,其特征在于,在所述第一位元单元组中每个位元单元包括第一晶体管,第二晶体管,第一开关单元,第二开关单元,第三开关单元,第四开关单元,第一位存储单元和第二位存储单元;所述第一开关单元用于在搜索位与第一存储位相等时导通所述第一晶体管,当所述搜索位与所述第一存储位不相等时关断所述第一晶体管,所述第一晶体管的源极和漏极连接所述第一匹配线;所述第二开关单元用于当第一搜索线信号和第一存储位满足所述第一预设关系时导通所述第一匹配线与地之间的连接,当所述第一搜索线信号和第一存储位不满足所述第一预设关系时关断所述第一匹配线与地之间的连接;所述第三开关单元用于当所述搜索位与第二存储位相等时导通所述第二晶体管,当所述搜索位与所述第二存储位不相等时关断所述第二晶体管,所述第二晶体管的源极和漏极连接所述第二匹配线;所述第四开关单元用于当第二搜索线信号和所述第二存储位满足第三预设关系时导通所述第二匹配线与地之间的连接,当所述第二搜索线信号和所述第二存储位不满足所述第三预设关系时关断所述第二匹配线与地之间的连接。20.一种网络设备,其特征在于,包括:处理器,用于接收目标范围,根据所述目标范围的上限确定第一存储字;根据所述目标范围的下限确定第二存储字,将所述第一存储字和第二存储字发送给内容寻址存储器;内容寻址存储器为权利要求1至19中任一项所述的内容寻址存储器。21.根据权利要求20所述的网络设备,其特征在于,所述第一存储字等于所述目标范围的上限,所述目标范围的上限加一或者所述目标范围的上限减一;以及,所述第二存储字等于所述目标范围的下限,所述目标范围的下限加一或者所述目标范围的下限减一。

技术总结


一种内容寻址存储器包括:位元单元阵列,搜索线驱动单元,匹配信号单元和第一充电单元;第一充电单元用于将第一匹配线的输出端和第二匹配线的输出端预充电至预定电压;搜索线驱动单元用于向第一位元单元组发送搜索字;第一位元单元组用于根据搜索字和第一存储字调整第一匹配线的第一端电压;根据搜索字和第二存储字调整第二匹配线的第一端电压;放大单元用于将第一匹配线的第一端电压放大为第一放大电压,以及将第二匹配线的第一端电压放大为第二放大电压;匹配信号单元用于根据第一放大电压和第二放大电压输出范围匹配结果。该内容寻址存储器能够节省范围匹配占用的硬件资源。寻址存储器能够节省范围匹配占用的硬件资源。寻址存储器能够节省范围匹配占用的硬件资源。


技术研发人员:

许刚 王翠翠 任江兴

受保护的技术使用者:

华为技术有限公司

技术研发日:

2021.04.27

技术公布日:

2022/11/15

本文发布于:2024-09-20 16:52:09,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/1974.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:单元   晶体管   配线   位元
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议