内容可寻址存储器及相似度匹配方法转让专利

申请号 : CN201410083867.8

文献号 : CN103886900B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 林谷

申请人 : 宁波力芯科信息科技有限公司

摘要 :

本发明提供了一种内容可寻址存储器,包括CAM阵列、匹配度求大单元、匹配线读出电路和地址编码器,所述CAM阵列中位于同一行的所有CAM单元的尾线连接到匹配度求大单元;所述匹配度求大单元用于将CAM阵列的各行CAM单元中尾线电流最小的一行输出为第一电平信号、其他各行输出为第二电平信号;所述匹配线读出电路用于对第一电平信号和第二电平信号分别进行调整后输出;所述地址编码器用于将第一电平信号调整后的信号所对应的存储地址作为相似度最高的数据字的存储地址输出。本发明还提供一种对应的相似度匹配方法。本发明不仅可实现数据字的最大匹配度操作,而且相对于电压型求大电路,其比较速度快、对整体CAM速度的影响小。

权利要求 :

1.一种内容可寻址存储器,包括由M行CAM单元构成的CAM阵列、匹配度求大单元、匹配线读出电路和地址编码器,其中M为大于或等于2的整数,其特征在于:所述CAM阵列中每一行CAM单元实现一个搜索字的比较,且位于同一行的所有CAM单元的尾线连接到匹配度求大单元;所述匹配度求大单元用于将CAM阵列的M行CAM单元中尾线电流最小的一行输出为第一电平信号、其他各行输出为第二电平信号;所述匹配线读出电路用于对所述匹配度求大单元输出的第一电平信号和第二电平信号分别进行调整后输出;所述地址编码器用于将所述第一电平信号调整后的信号所对应的存储地址作为相似度最高的数据字的存储地址输出;

所述匹配度求大单元包括M个输入子单元,且每一输入子单元连接到CAM阵列的一路尾线并将相同大小的恒流源与接入的尾线的电流相减后输出;

所述输入子单元包括第一等比例电流镜、第二等比例电流镜、第三等比例电流镜、恒流源、第一开关管以及第二开关管,其中:所述第一等比例电流镜、第二等比例电流镜、第三等比例电流镜依次连接,且第三等比例电流镜的输出端为该第三等比例电流镜所在的输入子单元的输出端;所述恒流源的输出端经由第一开关管连接到第二等比例电流镜的输入端,第二开关管串接于第二等比例电流镜、第三等比例电流镜之间。

2.根据权利要求1所述的内容可寻址存储器,其特征在于:所述匹配度求大单元包括M个求大子单元,该M个求大子单元分别连接到一个输入子单元的输出端,且接入电流最大的一个求大子单元输出高电平、其他求大子单元输出低电平。

3.根据权利要求2所述的内容可寻址存储器,其特征在于:每一所述求大子单元包括M个N沟道MOS管,且M个求大子单元中的所有N沟道MOS管构成M×M的MOS管阵列;同一求大子单元的M个N沟道MOS管位于所述MOS管阵列中的同一列且该M个N沟道MOS管的栅极分别连接对应输入子单元的输出端;所述MOS管阵列中同一行的所有N沟道MOS管的漏极相连;所述MOS管阵列中每一行和每一列分别有且仅有一个N沟道MOS管的栅极与漏极连接。

4.根据权利要求3所述的内容可寻址存储器,其特征在于:所述匹配度求大单元包括M个非线性转换子单元,且每一非线性转换子单元用于将一个对应的求大子单元输出的高电平转换为第一电平信号、低电平转换为第二电平信号。

5.根据权利要求4所述的内容可寻址存储器,其特征在于:每一所述非线性转换子单元包括第一N沟道MOS管、第二N沟道MOS管、第一P沟道MOS管以及第二P沟道MOS管,其中:第一P沟道MOS管的栅极连接偏置电压、漏极连接第一N沟道MOS管的漏极;所述第一N沟道MOS管的栅极连接到对应求大子单元的输出端、漏极分别连接到第二N沟道MOS管和第二P沟道MOS管的栅极;所述第一P沟道MOS管和第二P沟道MOS管的源极相连并连接到高电平;所述第二P沟道MOS管的漏极连接第二N沟道MOS管的漏极并作为非线性转换子单元的输出端。

说明书 :

内容可寻址存储器及相似度匹配方法

技术领域

[0001] 本发明涉及存储器领域,更具体地说,涉及一种内容可寻址存储器及相似度匹配方法。

背景技术

[0002] 内容可寻址存储器(Content Addressable Memory,CAM)是根据所存储数据的内容而不是存储数据的位置来访问和修改数据的存储设备。由于CAM具有高速、并行、易扩展和实现灵活等特点,目前已被可以广泛地用于网络应用、高速数据处理等。在进行数据搜索时,CAM将接收的搜索数据字与CAM中的所有实体进行比较,以确定在搜索数据字和CAM中的实体之间存在单个匹配、多个匹配还是不匹配。在CAM的行中的每一个存储位置与匹配线相连,该匹配线指示在所存储的数据字和搜索字之间比较的的匹配或不匹配结果,并可由优先编码器来处理指示匹配状态的所有匹配线,以确定作为CAM的输出而提供的最高优先级的匹配地址。
[0003] 上述内容可寻址存储器可确定在搜索数据字和CAM中的实体之间存在单个匹配、多个匹配还是不匹配,其输出结果是匹配或不匹配,这种匹配机制可应用于网络通信。但在许多其他需要进行匹配的应用领域,例如模式识别、人工智能,往往需要判断搜索数据字与CAM中实体之间存在的匹配度或相似度,即两个比较字中匹配位数的程度,匹配位数越多,说明这两个比较字越相似,识别的准确率就越高。
[0004] 目前,在模式识别、人工智能中,进行匹配度运算都靠高速CPU或DSP进行的,它的方式是将待搜索数据字与模式识别的字库中的模板字一个一个串行比较,这样整体匹配时间比较长,对于大模板库难于进行实时匹配。
[0005] 此外,2014年1月8日公开的申请号为“201310349930.3”、名称为“一种内容可寻址存储器系统、寻址方法及装置”的中国专利申请揭露了一种通过电压型求大电路实现相似度匹配的方案,但该方案中需要开关电容,将大大增加面积;并且开关电容的速度比较慢,限制了整体CAM的比较速度;此外,电压型求大电路需要对输入电压先进行锁存,然后求大,时序复杂、延迟时间长。

发明内容

[0006] 本发明要解决的技术问题在于,针对上述内容可寻址存储器无法实现相似度匹配及匹配速度慢的问题,提供一种内容可寻址存储器及相似度匹配方法。
[0007] 本发明解决上述技术问题的技术方案是,提供一种内容可寻址存储器,包括由M行CAM单元构成的CAM阵列、匹配度求大单元、匹配线读出电路和地址编码器,其中M为大于或等于2的整数,所述CAM阵列中每一行CAM单元实现一个搜索字的比较,且位于同一行的所有CAM单元的尾线连接到匹配度求大单元;所述匹配度求大单元用于将CAM阵列的M行CAM单元中尾线电流最小的一行输出为第一电平信号、其他各行输出为第二电平信号;所述匹配线读出电路用于对所述匹配度求大单元输出的第一电平信号和第二电平信号分别进行调整后输出;所述地址编码器用于将所述第一电平信号调整后的信号所对应的存储地址作为相似度最高的数据字的存储地址输出;
[0008] 所述匹配度求大单元包括M个输入子单元,且每一输入子单元连接到CAM阵列的一路尾线并将相同大小的恒流源与接入的尾线的电流相减后输出;
[0009] 所述输入子单元包括第一等比例电流镜、第二等比例电流镜、第三等比例电流镜、恒流源、第一开关管以及第二开关管,其中:所述第一等比例电流镜、第二等比例电流镜、第三等比例电流镜依次连接,且第三等比例电流镜的输出端为该输入子单元的输出端;所述恒流源的输出端经由第一开关管连接到第二等比例电流镜的输入端,第二开关管串接于第二等比例电流镜、第三等比例电流镜之间。
[0010] 在本发明所述的内容可寻址存储器中,所述匹配度求大单元包括M个求大子单元,该M个求大子单元分别连接到一个输入子单元的输出端,且接入电流最大的一个求大子单元输出高电平、其他求大子单元输出低电平。
[0011] 在本发明所述的内容可寻址存储器中,每一所述求大子单元包括M个N沟道MOS管,且M个求大子单元中的所有N沟道MOS管构成M×M的MOS管阵列;同一求大子单元的M个N沟道MOS管位于所述MOS管阵列中的同一列且该M个N沟道MOS管的栅极分别连接对应输入子单元的输出端;所述MOS管阵列中同一行的所有N沟道MOS管的漏极相连;所述MOS管阵列中每一行和每一列分别有且仅有一个N沟道MOS管的栅极与漏极连接。
[0012] 在本发明所述的内容可寻址存储器中,所述匹配度求大单元包括M个非线性转换子单元,且每一非线性转换子单元用于将一个对应的求大子单元输出的高电平转换为第一电平信号、低电平转换为第二电平信号。
[0013] 在本发明所述的内容可寻址存储器中,每一所述非线性转换子单元包括第一N沟道MOS管、第二N沟道MOS管、第一P沟道MOS管以及第二P沟道MOS管,其中:第一P沟道MOS管的栅极连接偏置电压、漏极连接第一N沟道MOS管的漏极;所述第一N沟道MOS管的栅极连接到对应求大子单元的输出端、漏极分别连接到第二N沟道MOS管和第二P沟道MOS管的栅极;所述第一P沟道MOS管和第二P沟道MOS管的源极相连并连接到高电平;所述第二P沟道MOS管的漏极连接第二N沟道MOS管的漏极并作为非线性转换子单元的输出端。
[0014] 本发明的内容可寻址存储器及相似度匹配方法,不仅可实现数据字的最大匹配度操作,而且相对于电压型求大电路,其比较速度快、对整体CAM速度的影响小。

附图说明

[0015] 图1是本发明内容可寻址存储器实施例的示意图。
[0016] 图2是图1中CAM单元的示意图。
[0017] 图3是图1中匹配度求大单元的具体实现的示意图。
[0018] 图4是本发明内容可寻址存储器的各电压信号时序图。
[0019] 图5是本发明相似度匹配方法实施例的流程示意图。

具体实施方式

[0020] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0021] 如图1、2所示,是本发明内容可寻址存储器实施例的示意图。本实施例中的内容可寻址存储器包括由M行CAM单元构成的CAM阵列11、匹配度求大单元12、匹配线读出电路13和地址编码器14,其中M为大于或等于2的整数。
[0022] 上述CAM阵列中,每一行CAM单元包括N个CAM单元且每一CAM单元包括一个存储子单元111和一个比较子单元112,N为大于或等于2的整数。CAM单元通过存储子单元111存储数据字并通过比较子单元112进行搜索字和存储的数据字之间的比较(每一行CAM单元实现一个搜索字的比较)。特别地,上述CAM阵列11中位于同一行的所有CAM单元的尾线IL(该尾线IL从比较子单元112接出)连接到匹配度求大单元12。
[0023] 匹配度求大单元12用于将CAM阵列的M行CAM单元中尾线电流最小的一行输出为第一电平信号、其他各行输出为第二电平信号。在具体实现时,上述第一电平信号为高电平信号且第二电平信号为低电平信号,或者第一电平信号为低电平信号且第二电平信号为高电平信号。
[0024] 在CAM单元进行比较时,其比较子单元112的匹配线ML被预先充电至高电平,当来自搜索线SL和/SL的搜索字的比特位与存储子单元111存储的比特位匹配时,比较子单元112截止,从而使匹配线ML保持高电平且对应的尾线IL中的电流为零;当来自搜索线SL和/SL的搜索字的比特位与存储子单元111的比特位不匹配时,比较子单元112形成放电通道,从而使匹配线ML拉低且尾线IL中具有放电电流。同一行CAM单元中搜索字与存储的数据字的比特位匹配越少,处于放电状态的比较子单元112的数量越多,该行CAM的尾线IL中的电流越大;相反地,同一行CAM单元中搜索字与存储的数据字的比特位匹配越多,处于放电状态的比较子单元112的数量越少,该行CAM的尾线电流越小。这样,匹配度求大子单元102就可选择尾线电流最小的一行CAM单元输出第一电平信号,该行CAM单元存储的数据字与搜索字的相似度最大。
[0025] 匹配线读出电路13用于对匹配度求大单元12输出的第一电平信号和第二电平信号分别进行调整后输出。地址编码器14用于将第一电平信号调整后的信号所对应的存储地址作为相似度最高的数据字的存储地址输出。
[0026] 上述内容可寻址存储器通过对各行CAM单元的尾线电流进行采样,并将尾线电流作为判断数据字与搜索字相似度的依据,不仅可以实现相似度判断,而且相较于采用匹配线电压作为判断依据的方式,无需锁存输入,具有时序简单、延迟时间小的特点。
[0027] 如图3所示,图1中的匹配度求大单元12具体可包括M个输入子单元121(图中仅示出三个),且每一输入子单元121连接到CAM阵列的一路尾线的电流并将各路尾线的电流进行大小反转,也就是将尾线的电流最大的转换为最小的比较电流输出、将尾线电流最小的转换为最大的比较电流输出。
[0028] 具体地,可通过将相同大小的恒流源分别与各路尾线电流相减,实现电流大小的反转。例如,上述每一输入子单元121可包括第一等比例电流镜(由镜像管Q11、Q12构成)、第二等比例电流镜(镜像管Q13、Q14构成)、第三等比例电流镜(镜像管Q17、Q18构成)、恒流源、第一开关管Q16以及第二开关管Q15,其中第一等比例电流镜、第二等比例电流镜、第三等比例电流镜依次连接,且第三等比例电流镜的输出端为该输入子单元121的输出端;恒流源的输出端经由第一开关管Q16连接到第二等比例电流镜的输入端,第二开关管Q15串接于第二等比例电流镜、第三等比例电流镜之间。通过控制第一开关管Q16以及第二开关管Q15可实现比较电流(即输入子单元121的输出端电流)的采样:当第一开关管Q16以及第二开关管Q15导通时,输入子单元121输出比较电流;当第一开关管Q16以及第二开关管Q15断开时输入子单元121输出低电平。
[0029] 上述匹配度求大单元12还包括M个求大子单元122,该M个求大子单元122分别连接到一个输入子单元121的输出端,且接入电流最大的一个求大子单元122输出高电平、其他求大子单元122输出低电平。
[0030] 特别地,上述每一求大子单元122包括M个N沟道MOS管,且该M个求大子单元122中的所有N沟道MOS管构成M×M的MOS管阵列(该MOS管阵列中所有N沟道MOS管的尺寸都相同,同一求大子单元122的M个N沟道MOS管位于该MOS管阵列中的同一列,且该M个N沟道MOS管的栅极分别连接同一比较电流);上述MOS管阵列中同一行的所有N沟道MOS管的漏极相连且该MOS管阵列中每一行和每一列分别有且仅有一个N沟道MOS管的栅极与漏极连接,例如第一行的N沟道MOS管中第一个N沟道MOS的栅极与漏极连接,第二行的N沟道MOS管中第二个N沟道MOS的栅极与漏极连接,第三行的N沟道MOS管中第三个N沟道MOS的栅极与漏极连接(当然,在实际应用中,上述顺序可以调整)。
[0031] 上述M个求大子单元122构成一种具有高精度、高速度的侧向抑制互连网络,在该网络工作时,各输入电流端(即比较电流)相互间都会有抑制作用,这将导致一种竞争机制,即对应最大电流的输入端(由于输入子单元121中各镜像管的导通电阻相对较小),将把其它输入端的电流吸引过来,从而将相应节点抑制到低电平。当然,在实际应用中,匹配度求大单元也可采用其他类型的求大子单元,以代替上述举例的求大子单元实现类似的求大输出。
[0032] 上述匹配度求大单元12还包括M个非线性转换子单元123,且每一非线性转换子单元123用于将一个对应的求大子单元122输出的高电平转换为第一电平信号、或者将对应的求大子单元122输出的低电平转换为第二电平信号。每一非线性转换子单元包括第一N沟道MOS管Q41、第二N沟道MOS管Q42、第一P沟道MOS管Q31以及第二P沟道MOS管Q32,其中:第一P沟道MOS管Q31的栅极连接偏置电压、漏极连接第一N沟道MOS管Q41的漏极;第一N沟道MOS管Q41的栅极连接到对应求大子单元122的输出端、漏极分别连接到第二N沟道MOS管Q42和第二P沟道MOS管Q32的栅极;所述第一P沟道MOS管和第二P沟道MOS管的源极相连并连接到高电平;第二P沟道MOS管Q32的漏极连接第二N沟道MOS管Q42的漏极并作为非线性转换子单元123的输出端。
[0033] 如图4所示,是上述匹配度求大单元12进行相似度求大的时序图。图中SL为执行搜索操作的电平信号,SL、/SL为搜索数据输入的电平信号,Vp为非线性转换子单元123设置偏置电压的电平信号,Vct为执行求大操作的控制信号,VML为输出的求大结果电平信号。
[0034] 在t1时刻,执行搜索操作并输入搜索数据,即向CAM阵列11中的各行CAM单元的比较子单元112分别输入搜索字的比特位。通过CAM阵列11的搜索线对SL和/SL输入搜索关键字,CAM阵列11开始将自身存储的M个字和搜索关键字进行比较,各匹配线开始放电,匹配度不同放电电流大小也不同。
[0035] 在t2时刻,非线性转换子单元123设置偏置电压,VML输出相应的电平信号。
[0036] 在预设时间后的t3时刻,控制输入子单元121的第一开关管Q16和第二开关管Q15闭合,执行求大操作。此时,控制输入子单元121将各个输入的尾线电流反转为比较电流,并通过求大子单元122执行求大操作,使VML输出一路第一电平信号和M-1路第二电平信号。
[0037] 上述内容可寻址存储器无需开关电容,从而可大大减小整个装置的面积,同时对整体CAM速度的影响小,且不需要锁存输入,时序简单、延迟时间小。
[0038] 如图5所示,本发明还提供一种相似度匹配方法,其包括以下步骤:
[0039] 步骤S51:相似度比较开始后,将由M行CAM单元构成的CAM阵列的各行CAM单元的尾线电流最小的一行输出转换为第一电平信号、其他各行对应的电平信号输出转换为第二电平信号,上述M为大于或等于2的整数。
[0040] 在该步骤中,可先将相同大小的恒流源分别与CAM阵列的M行尾线电流相减获得M个比较电流,然后使该M个比较电流中最大的一路转换为高电平并将其他路比较电流转换为低电平;最后将上述高电平转换为第一电平信号输出、低电平转换为第二电平信号输出。
[0041] 步骤S52:对第一电平信号和第二电平信号分别进行调整后输出。
[0042] 步骤S53:将第一电平信号调整后的信号所对应的存储地址作为相似度最高的数据字的存储地址输出。
[0043] 以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。