CN103325416A - 一种减少内容可寻址存储器功耗的装置和方法 - Google Patents

一种减少内容可寻址存储器功耗的装置和方法 Download PDF

Info

Publication number
CN103325416A
CN103325416A CN201310293362XA CN201310293362A CN103325416A CN 103325416 A CN103325416 A CN 103325416A CN 201310293362X A CN201310293362X A CN 201310293362XA CN 201310293362 A CN201310293362 A CN 201310293362A CN 103325416 A CN103325416 A CN 103325416A
Authority
CN
China
Prior art keywords
cam
data
matching
service
result
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201310293362XA
Other languages
English (en)
Other versions
CN103325416B (zh
Inventor
万霞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanling County Eco Tourism Assets Operation Co Ltd
Original Assignee
PINGHU LINGYUN INFORMATION SCIENCE & TECHNOLOGY Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by PINGHU LINGYUN INFORMATION SCIENCE & TECHNOLOGY Co Ltd filed Critical PINGHU LINGYUN INFORMATION SCIENCE & TECHNOLOGY Co Ltd
Priority to CN201310293362.XA priority Critical patent/CN103325416B/zh
Publication of CN103325416A publication Critical patent/CN103325416A/zh
Application granted granted Critical
Publication of CN103325416B publication Critical patent/CN103325416B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请涉及一种减少内容可寻址存储器功耗的装置和方法。所述装置包括:预处理模块,其根据预处理模式预处理CAM中的数据、待搜索数据;预匹配CAM阵列,其存储CAM中的数据的预处理结果,接收经过预处理的待搜索数据,使待搜索数据的预处理结果与所存储的预处理结果进行比较,比较结果指示CAM中的哪些匹配线应该被预充电;预匹配线预充和读出电路,其对预匹配CAM阵列的匹配线进行预充电,并输出预匹配CAM阵列的比较结果;和CAM匹配线控制电路,其根据预匹配线预充和读出电路输出的比较结果选择CAM的相应匹配线,进行预充电。本申请的方案通过预处理可以大大减少CAM的功耗。

Description

一种减少内容可寻址存储器功耗的装置和方法
技术领域
本发明总体上涉及一种内容可寻址存储器,具体地说,涉及一种旨在减小内容可寻址存储器在搜索操作期间的功耗的装置和方法以及一种内容可寻址存储器。
背景技术
内容可寻址存储器(CAM,Content Addressable Memory)是一种根据所存储数据的内容而不是所存储数据的位置来访问和搜索数据的存储设备。通常,CAM接收待搜索数据,比较待搜索数据与CAM存储的内容,以确定在待搜索数据和CAM存储的内容之间是否存在匹配。在CAM中,每一个存储位置都与一条匹配线相连,匹配线指示所存储的数据与待搜索数据的比较结果,例如,匹配或不匹配。然后,优先编码器处理指示匹配状态的所有匹配线,以确定最高优先级的匹配地址。CAM由于数据检索速度快等优势而被广泛地用于网络、图形处理、高速数据处理等应用中。
传统的CAM如图1所示,图1是传统CAM的电路结构示意图。如图1所示,现有的CAM大体上包括匹配线预充电路101、CAM阵列102、匹配线读出电路103和优先编码器104。进一步地,CAM阵列102包括若干个CAM基本单元B,在图1中包括N×M个CAM基本单元B,其中,N为CAM阵列102的列数,M为CAM阵列102的行数。CAM阵列的每一行都代表并存储一个数据字,每个数据字都有N位(或者说N个比特),分别存储在CAM阵列的N列上。于是,M指示CAM阵列存储的数据字的数量,N指示每个数据字的位数。每个CAM基本单元B都包括存储单元和比较单元,每一行的存储单元分别存储该行数据字中的一位。
在进行搜索时,匹配线预充电路101首先将PU设置为低电平,上拉PMOS管导通,从而使CAM阵列102的所有匹配线ML[0]、ML[1]…ML[M-1]预充电为高电平,逻辑上表示为1,待搜索的数据字按照各个位从各个搜索线对SL和/SL输入,搜索线对SL和/SL与CAM基本单元的比较单元相连,这样,待搜索的数据字的各个位在各个CAM基本单元B的比较单元中与存储单元所存储的数据位进行比较,如果匹配,相应的匹配线保持高电平,如果不匹配,相应的匹配线放电到低电平或地。这种结果输出给匹配线读出电路103,匹配线读出电路103对匹配线指示的结果进行灵敏放大和输出。优先编码器104根据匹配线读出电路103输出的结果和优先顺序输出优先权最高的匹配地址。
可见,在搜索匹配期间,针对每一个搜索操作,都需要先将所有的匹配线预充电到高电平,然后对于不匹配的情况,通过放电到低电平或地来指示。进一步还已知,在大多数CAM应用中,“不匹配”的情况比“匹配”的情况发生得更为频繁。在这种情况下,将所有的匹配线预充电到高电平“1”,然后将占大多数情况的不发生匹配的匹配线放电到低电平“0”,会导致较高的能量消耗。
此外,随着应用的扩展,对更宽字的CAM的需求越来越大,这意味着与每一个匹配线相连的单元的数量会增加,这导致匹配线的电容相应地增加,其结果是,在搜索匹配期间,需要增加对匹配线进行充电和放电的电流,这无疑进一步导致了功耗的增加。
针对上述问题,业内尝试着提出一些解决方案来减少搜索操作期间的功耗。例如,US2008031033、WO02056565、US6,243,280和US6,191,970等专利文献,分别提出了采用分级和/或分段机制的CAM,这些方案的基本原理和思路是,对CAM中存储的数据和匹配线按照位数进行分级或分段,根据先前分级或分段的匹配或不匹配结果,来顺序地激活后续的搜索匹配操作。
根据上述方案,如果在前的分段已经指示了不匹配的结果,则后续分段就不需要执行比较和匹配的操作了,这在某种程度上减小了功耗,但是对于每个分级或分段的内容而言,它们分别承载数据所在行中的部分信息,因此,每个分级或分段的比较都是一种局部比较,最极端的情况就是之前所有的分段都指示了匹配,而恰恰是最后一个分段不匹配,在这种情况下,上述方案根本没有使功耗得到减小。换句话说,试图采用分级或分段这种机制来减小CAM搜索操作期间的功耗,效果是有限的。
发明内容
有鉴于此,本发明提出一种能减少CAM在搜索操作期间的功耗的方法及装置以及一种内容可寻址存储器。
本发明的技术方案是这样构思的。
一种减少内容可寻址存储器(CAM)在搜索操作期间的功耗的装置,其包括:
预处理模块,其根据预处理模式预处理CAM中的数据、待搜索数据;
预匹配CAM阵列,其存储CAM中的数据的预处理结果,接收经过预处理的待搜索数据,使待搜索数据的预处理结果与所存储的预处理结果进行比较,比较结果指示所述CAM中的哪些匹配线应该被预充电;
预匹配线预充和读出电路,其对预匹配CAM阵列的匹配线进行预充电,并输出所述预匹配CAM阵列的比较结果;和
CAM匹配线控制电路,其根据预匹配线预充和读出电路输出的比较结果选择所述CAM的相应匹配线,进行预充电。
另一方面,本发明还提出一种减少CAM搜索操作期间的功耗的方法,包括:
根据预处理模式预处理CAM中的数据,并存储经过预处理的数据;
对待搜索数据执行同样的预处理,利用待搜索数据的预处理结果与所存储的数据执行搜索和匹配,以确定匹配结果,该匹配结果指示所述CAM中的哪些匹配线应该被预充电;
对所述匹配结果指示的所述CAM中的匹配线进行预充电;以及
利用待搜索数据与所述CAM中的数据执行搜索和匹配。
进一步地,本发明还提出一种CAM,其包括预处理部分、主内容CAM阵列、匹配线读出电路和优先编码器,其中,预处理部分包括:
预处理模块,其根据预处理模式预处理主内容CAM阵列中的数据、待搜索数据;
预匹配CAM阵列,其存储主内容CAM阵列中的数据的预处理结果,接收经过预处理的待搜索数据,使待搜索数据的预处理结果与所存储的预处理结果进行比较,比较结果指示所述主内容CAM阵列的哪些匹配线应该被预充电;
预匹配线预充和读出电路,其对预匹配CAM阵列的匹配线进行预充电,并输出所述预匹配CAM阵列的比较结果;和
主匹配线控制电路,其根据预匹配线预充和读出电路输出的比较结果选择所述主内容CAM阵列的相应匹配线,进行预充电;
在执行搜索时,待搜索数据输入到主内容CAM阵列,与主内容CAM阵列中的数据执行搜索和匹配,匹配线读出电路输出指示匹配的结果,优先编码器根据该结果输出匹配地址。
在以上方案中,预处理模块提取反映数据特征的信息,将数据D[N-1:0]处理成数据DP[K-1:0],其中,N和K都是大于1的自然数,并且,K<<N。
进一步地,预处理模块包括多个运算模块和多选一电路,所述运算模块预先存储用于提取数据的特征信息的预处理模式,所述多选一电路根据来自外部的模式控制信号,从所述多个运算模块中,选择一个运算模块,用于预处理。
所述预处理模式包括HASH算法运算模式、求数据字的二进制位中的0的个数总和的运算模式、求数据字的二进制位中的1的个数总和的运算模式、循环冗余检验CRC模式、用户自定义的运算模式。其中,用户可以根据CAM具体的应用和需求,自定义预处理的模式。
此外,在执行搜索和匹配时,还优选采用现有的分段或分级机制。
本发明提出的减少CAM搜索操作期间功耗的技术方案,通过对CAM的数据进行预处理来提取反映数据特征的全局信息,利用全局信息进行一次匹配,过滤掉CAM中大部分不会发生匹配的匹配线,相比于现有技术中简单地通过分级或分段对CAM存储内容进行操作的做法,可以使得CAM中少部分的匹配线得到预充电,这样可以大大减少预充功耗和失配放电功耗。结合分段搜索,还可以进一步降低功耗。
附图说明
图1是传统CAM的电路结构示意图。
图2是根据本发明实施例的CAM结构示意图。
图3A是CAM阵列中一个示例性CAM基本单元的电路示意图。
图3B是根据本发明实施例的CAM的操作时序示意图。
图4是图2中预处理模块的结构示意图。
图5是图2中预匹配CAM阵列和预匹配线预充和读出电路的结构示意图。
图6是图2中主内容CAM匹配线控制电路、主内容CAM阵列和匹配线读出电路的结构示意图。
图7是根据本发明实施例的减少CAM搜索期间功耗的方法流程图。
具体实施方式
正如此前所述,当前并没有适当的方案来充分减小CAM搜索操作期间的功耗。即便是采用分级或分段机制的CAM,也由于各个分级或分段的内容只承载数据所在行中的各个独立段的局部信息,不代表数据所在行的全局信息,而使得功耗减小受到抑制。
针对目前业内存在的问题,本发明提出一种基本的方案,对CAM中的数据进行预处理,提取能够反映所述数据的特征信息,在进行搜索匹配时,对待搜索数据执行同样的预处理,利用待搜索数据的预处理结果与经过预处理的存储数据进行比较和匹配,在预处理的内容发生匹配时,再对CAM中的相应匹配线进行预充电。而那些不匹配的预处理内容所对应的CAM的匹配线则不需要进行预充电,于是可以减少对CAM的匹配线进行充放电所需的电流,从而减少匹配线和搜索线的功耗。
以下,结合附图详细描述本发明的具体实施例。
图2示出根据本发明实施例的CAM200的结构示意图。根据本发明的实施例,CAM200大体上分为两部分:预处理部分和主体部分,其中,预处理部分用于对主体部分进行预处理,过滤掉主体部分不需要执行的搜索匹配操作,预处理部分包括预处理模块204、预匹配CAM阵列205、预匹配线预充和读出电路206和主匹配线控制电路207;主体部分包括主内容CAM阵列201、匹配线读出电路202和优先编码器203,主体部分与传统的内容可寻址存储器类似,用于存储数据,执行搜索,提供搜索结果。
主内容CAM阵列201与匹配线读出电路202相连,用于存储数据,执行比较,向匹配线读出电路202输出匹配线指示的结果。主内容CAM阵列201类似于图1所示的CAM阵列102,由若干个CAM基本单元组成,每个CAM基本单元均包括存储单元和比较单元。
图3A示出示例性CAM基本单元的电路图。如图3A所见,CAM基本单元包括存储单元301和比较单元302。存储单元301由两个n沟道晶体管Q1和Q2以及两个反相器INV1和INV2组成,用于存储数据的一个位(一个比特)。通常而言,在CAM中,数据以二进制位表示。比较单元302由一个晶体管Q9和四个晶体管Q5-Q8组成,其中,晶体管Q5、Q6串联,晶体管Q7、Q8串联,串联的晶体管Q5、Q6与串联的Q7、Q8并联。字线WL连接到晶体管Q1和Q2的栅极。位线对BL和/BL分别连接到晶体管Q1和Q2的一端。匹配线ML与晶体管Q9的一端相连,晶体管Q9的另一端与晶体管Q5、Q7的一端相连,晶体管Q6、Q8的一端分别接地或低电平VSS。另有,搜索控制线SL连接到晶体管Q9的栅极。
在写入待存储的数据时,待存储的数据首先被加载在位线对BL和/BL上,然后,使字线WL呈现高电平,即,逻辑“1”,于是,两个n沟道晶体管Ql和Q2被接通,位线对BL和/BL上承载的数据被写入存储单元301。相对应地,当要读取存储在存储单元301中的数据时,使字线呈现逻辑“1”,晶体管Ql和Q2被接通,存储在存储单元301上的数据被读取出来,并被传送到数据总线(未示出)上。
进一步地,在执行搜索时,待搜索的数据也加载在位线对BL和/BL上,即,在本实施例中,用于传输待搜索数据的搜索线与位线相同,二者共用BL和/BL。也就是说,在写入或读出操作时,BL和/BL可以称为位线对;在执行搜索操作时,BL和/BL也可以称为搜索线对。于是,位线对BL和/BL分别连接到晶体管Q6和Q8的栅极。当需要搜索某个数据时,匹配线ML首先被预充电到高电平,然后,搜索控制线SL被设置为高电平,导通Q9晶体管,使比较单元302工作。在这里,以数据中的一个位为例,例如存储单元301中存储的数据位为“0”,待搜索的数据位为“1”,即,搜索线BL为逻辑“l”,搜索线/BL为逻辑“0”,存储单元301的反相器INV1输出为逻辑“1”,晶体管Q7接通。搜索线BL向晶体管Q8提供逻辑“1”使其接通。因为晶体管Q7和Q8都被接通,所以匹配线ML放电到地VSS,由此指示出不匹配的状态。
如果存储单元301中存储的数据位为“1”,待搜索的数据位仍为“1”,即,搜索线BL为逻辑“l”、搜索线/BL为逻辑“0”,此时存储单元301的反相器INV1向晶体管Q7的栅极提供逻辑“0”,使其断开,搜索线/BL向晶体管Q6的栅极提供逻辑“0”使其断开,这样,比较单元302的两条支路都断开,不存在用于将匹配线ML放电到地的路径。结果,匹配线保持被预先充电到高电平的状态,由此指示匹配状态。
以上,参见图3A所示的CAM阵列的一个CAM基本单元,以数据的一个数据位为例,描述了向CAM写入数据、从CAM读出数据以及对CAM进行搜索的操作过程。这些过程不仅适用于图2中所示的主内容CAM阵列201,也同样适用于预匹配CAM阵列205。
进一步,参照图3B的示意图,描述CAM的操作时序。写入或读出数据时,CAM的字线WL被设置为高电平,此时,加载在位线BL和/BL的数据被写入CAM或从CAM中读取出来。当搜索数据时,预充电匹配线ML,使之变成高电平,进一步将搜索控制线SL设置为高电平,触发搜索操作。此时,待搜索数据从搜索线BL和/BL(即,位线)载入,与CAM中的数据进行比较操作,如果数据匹配,匹配线ML保持高电平;反之,匹配线ML放电到低电平。
下面再继续参见图2,匹配线读出电路202将主内容CAM阵列201输出的匹配线指示的结果进行灵敏放大,并输出给优先编码器203。
优先编码器203连接到匹配线读出电路202,根据优先顺序对匹配线读出电路202的输出结果进行处理,输出最终的匹配地址。
预处理模块204用于根据预处理模式对主内容CAM阵列201的数据和/或待搜索数据进行预处理。预处理的目的在于:通过这一操作尽可能地过滤掉所有与待搜索数据无关的主内容CAM阵列中所需要进行的匹配,以避免在主内容CAM阵列中进行大量无用的匹配。为此,预处理的目的是:提取到数据的特征值或者最能代表数据特征或反映数据特性的全局信息。已知CAM阵列每一行都存储一个数据字,CAM的列数代表数据字的位数。预处理模块204因此根据预处理模式针对每一行(即,每个数据字)进行处理,并将预处理的结果存储到预匹配CAM阵列205,其存储在预匹配CAM阵列中的地址与主内容CAM阵列中的地址相同。例如,采用哈希(HASH)算法对主内容CAM阵列201中的每一行数据提取特征值,将所提取的特征值写入预匹配CAM阵列205中。针对实际应用和需求,还可以使用一些比较简单的规则和算法,例如求取每一行数据的所有二进制位中的0或1的个数等。对于主内容CAM阵列201的数据而言,较佳的做法是,预处理这一操作与向主内容CAM阵列201写入数据的操作同时进行。当然,出于灵活性的考虑,预处理的操作与写入操作也可以分开进行,例如首先对待写入的数据进行预处理,将预处理结果写入预匹配CAM阵列205,然后再将数据写入主内容CAM阵列201。也就是说,这里所述的主内容CAM阵列中的数据可以是待写入的数据,也可以是已经存储的数据。在对主内容CAM阵列201中的数据进行了预处理之后,当需要搜索匹配某个数据时,预处理模块204对待搜索数据执行同样的预处理操作,并将预处理的结果输入预匹配CAM阵列205,用以执行搜索匹配。
预匹配CAM阵列205与预处理模块204连接,那些主内容CAM阵列201中的数据经过预处理模块204的处理之后,存储在预匹配CAM阵列205中,在搜索匹配时,预匹配CAM阵列205接收经过预先处理的搜索数据,执行搜索、比较和匹配。预匹配CAM阵列205无疑是对所提取的反映所存储数据的全局特征的信息进行比较和匹配,从而对主内容CAM阵列201做一个过滤,过滤掉大部分明显不会发生匹配的数据,以便在主内容CAM阵列201中不用对所有的匹配线进行预充电。
预匹配CAM阵列205除了所存储的内容与主内容CAM阵列201不同之外,在结构与构成上与主内容CAM阵列201类似,同样由若干个CAM基本单元组成,每个CAM基本单元均包括存储单元和比较单元。由于预匹配CAM阵列存储的是经过预处理的特征数据,所以原则上预匹配CAM阵列205在尺寸上也明显小于主内容CAM阵列201。
预匹配线预充和读出电路206与预匹配CAM阵列205相连,用于对预匹配CAM阵列205中的所有匹配线进行预充电,并输出预匹配CAM阵列205指示的匹配结果。该匹配结果指示主内容CAM阵列201中哪些匹配线应该进一步执行搜索匹配操作,也就是,主内容CAM阵列201中哪些匹配线需要被预充电。
主匹配线控制电路207与预匹配线预充和读出电路206相连,根据预匹配线预充和读出电路206输出的指示结果,选择主内容CAM阵列201中涉及到的匹配线,进行预充电。这样,在主内容CAM阵列201中,并不是所有的匹配线都被预充电,相反,经过预处理模块204和预匹配CAM阵列205的处理,已经过滤掉大部分不会发生匹配的数据行,对这样的数据行所对应的匹配线,就不用进行预充电和放电的操作了,于是,可以减小预充电功耗和发生不匹配时的放电功耗。
以下,参照图4-图6,详细描述以上各个组成部分。
图4是根据本发明实施例的预处理模块204的结构示意图。如图4所示,预处理模块204包括若干个预处理算法运算模块和多选一电路,以便可以根据模式控制信号选择一个预处理模块对数据进行预处理。例如,在本例中,预处理模块204包括HASH算法运算模块401、求数据字的二进制位中的0的个数总和的运算模块402、用户自定义算法模块403和多选一电路404。除此之外,预处理算法运算模块还可以包括循环冗余检验(CRC)模块、求数据字的二进制位中的1的个数总和的运算模块或者是用户自定义的其他算法模块等。多选一电路404根据来自外部的模式控制信号选择对数据进行预处理的算法模块。模式控制信号可以由用户输入或选择。根据模式控制信号,预处理模块204选择其中的一个算法,将输入数据D[N-1:0]处理为DP[K-1:0]数据(预处理结果)。为了减小预匹配CAM阵列的大小,K的选择应该远远小于N。
图5是本发明实施例中的预匹配CAM阵列205和预匹配线预充和读出电路206的结构示意图。
预匹配线预充和读出电路206首先将PU1设置为低电平,上拉PMOS管导通,以对预匹配CAM阵列205的所有预匹配线MLP进行预充电。在进行搜索匹配时,经过预处理模块204预处理的待搜索数据DP[K-1:0]分别从相应的位线(在本例中也是搜索线)输入到预处理CAM阵列205进行搜索和匹配,如果阵列中有匹配产生,相应的预匹配线MLP保持高电平,如果不匹配,相应的预匹配线MLP被放电到低电平或地。该匹配与否的结果由预匹配线预充和读出电路206输出。
图6是本发明实施例中主匹配线控制电路207、主内容CAM阵列201和匹配线读出电路202的结构示意图。
图6中的主匹配线控制电路207根据预匹配线预充和读出电路206输出的结果选择相应的主内容CAM阵列中的主匹配线进行预充电。如果预匹配线MLP为高电平,它在PU2设置为低电平时将打开上拉PMOS管将相应的主匹配线预充电到高电平;如果预匹配线MLP为低电平,它将关断上拉PMOS管以禁止相应的主匹配线预充电并保持在低电平。这样,待搜索数据通过搜索线(在本例中也是位线)输入到主内容CAM阵列201进行匹配时,只有在相应主匹配线预充电到高电平的数据行上,才进行比较和匹配,对于在主匹配线电平为低电平的那些数据行,不进行比较和匹配操作。
此外,对于在主内容CAM阵列201中执行的搜索匹配操作,还可以采用现有的分级或分段机制。相应的结果输出给匹配线读出电路202,进一步经由优先编码器203输出最终的匹配地址。
下面,结合图7描述根据本发明的用于减少CAM搜索操作期间的功耗的方法。图7是根据本发明实施例的减少CAM搜索操作期间的功耗的方法流程图。
首先,在准备向CAM写入数据时,根据预处理模式对CAM的数据进行预处理,如步骤S701所示。该预处理步骤可以与写入数据的过程同时执行,也可以先执行预处理步骤,然后再向CAM写入数据。CAM中的数据的预处理结果被存储在预匹配CAM阵列中,如步骤S701所示。
如上所述,这里的预处理是指提取数据的特征值或者最能代表数据特征或反映数据全局特性的信息。预处理模式可以包括HASH算法运算模式、求数据字的二进制位中的0的个数总和的运算模式、求数据字的二进制位中的1的个数总和的运算模式、循环冗余检验(CRC)模式,或者用户根据CAM的具体应用,例如图形处理或者网络通信,而自定义的运算模式。
此外,还可以预先存储若干种预处理模式,根据模式控制信号选择其中的一种模式对数据进行预处理。
在执行搜索匹配时,根据相同的预处理模式预处理待搜索数据,并将经过同样预处理所获得的待搜索数据的预处理结果输入到预匹配CAM阵列中,执行搜索和匹配,以确定匹配结果,该匹配结果可以指示CAM中的哪些匹配线应该被预充电,如步骤S702所示。
根据步骤S702所获得的匹配结果选择CAM中的相关匹配线,进行预充电,如步骤S703所示。
向CAM输入待搜索数据,执行搜索和匹配,如步骤S704所示。
这里,CAM所执行的搜索和匹配,还可以采用现有的分级和/或分段机制,这样可以进一步减少搜索操作期间的功耗。进一步地,在预匹配CAM阵列中,也可以采用现有的分级和/或分段机制来执行搜索和匹配。
由于经过预处理和预匹配过程,只有少部分的CAM的匹配线需要被预充电,所以可以减少预充功耗和失配放电的功耗。
根据本发明的一个实施例,在执行搜索匹配操作之前,可在向CAM写入数据的同时,对数据进行预处理,预处理的目的是获取每一行数据的全局信息或最能代表数据特征的信息,例如,利用HASH算法获得特征值。经过预处理的数据存储在一个不同于CAM的预匹配CAM阵列中。进行搜索的时候,先对待搜索数据进行同样的预处理,该预处理的结果与预匹配CAM阵列中的内容进行匹配,如果匹配发生,则对CAM中相应的匹配线预充电,进而对相应数据行的内容执行再匹配,否则,则不需要对CAM的匹配线预充电。CAM仍然可以采用分段的结构。这样,本发明将预处理和分段机制有机地结合起来,达到进一步减小预充期和搜索期的功耗的有益效果。
以上公开的本发明内容,仅仅涉及说明性实施例,在不脱离所附权利要求书界定的保护范围的情况下,本领域技术人员可以对本申请进行各种改变和修改。因此,所描述的实施例旨在涵盖落在所附权利要求书的保护范围内的所有此类改变、修改和变形。此外,除上下文另有所指外,以单数形式出现的词或元部件,可以包括复数形式,反之亦然。另外,除非特别说明,否则任何实施例的全部或一部分可结合任何其它实施例的全部或一部分来使用。

Claims (10)

1.一种减少内容可寻址存储器CAM在搜索操作期间的功耗的装置,其特征在于,该装置包括:
预处理模块,其根据预处理模式预处理CAM中的数据、待搜索数据;
预匹配CAM阵列,其存储CAM中的数据的预处理结果,接收经过预处理的待搜索数据,使待搜索数据的预处理结果与所存储的预处理结果进行比较,比较结果指示所述CAM中的哪些匹配线应该被预充电;
预匹配线预充和读出电路,其对预匹配CAM阵列的匹配线进行预充电,并输出所述预匹配CAM阵列的比较结果;和
CAM匹配线控制电路,其根据预匹配线预充和读出电路输出的比较结果,选择所述CAM的相应匹配线,进行预充电。
2.如权利要求1所述的装置,其特征在于,所述预处理模块提取反映数据特征的信息,将数据D[N-1:0]处理成数据DP[K-1:0],其中,N和K都是大于1的自然数,并且,K<<N。
3.如权利要求1所述的装置,其特征在于,所述预处理模块包括多个运算模块和多选一电路,所述运算模块预先存储用于提取数据的特征信息的预处理模式,所述多选一电路根据来自外部的模式控制信号,从所述多个运算模块中选择一个运算模块以用于预处理。
4.如权利要求1或3所述的装置,其特征在于,所述预处理模式包括HASH算法运算模式、求数据字的二进制位中0的个数总和的运算模式、求数据字的二进制位中1的个数总和的运算模式、循环冗余检验CRC模式、用户自定义的运算模式。
5.如权利要求1所述的装置,其特征在于,所述预匹配CAM阵列和/或所述CAM采用分级或分段机制执行搜索和匹配。
6.一种内容可寻址存储器CAM,其特征在于,该CAM包括预处理部分、主内容CAM阵列、匹配线读出电路和优先编码器,其中,所述预处理部分包括:
预处理模块,其根据预处理模式预处理主内容CAM阵列中的数据、待搜索数据;
预匹配CAM阵列,其存储主内容CAM阵列中的数据的预处理结果,接收经过预处理的待搜索数据,使待搜索数据的预处理结果与所存储的预处理结果进行比较,比较结果指示所述主内容CAM阵列的哪些匹配线应该被预充电;
预匹配线预充和读出电路,其对预匹配CAM阵列的匹配线进行预充电,并输出所述预匹配CAM阵列的比较结果;和
CAM匹配线控制电路,其根据预匹配线预充和读出电路输出的比较结果选择所述主内容CAM阵列的相应匹配线,进行预充电;
在执行搜索时,待搜索数据输入到主内容CAM阵列,与主内容CAM阵列中的数据执行搜索和匹配,匹配线读出电路输出指示匹配的结果,优先编码器根据该结果输出匹配地址。
7.一种减少内容可寻址存储器CAM搜索操作期间的功耗的方法,其特征在于,该方法包括:
根据预处理模式预处理CAM的数据,并存储经过预处理的数据;
对待搜索数据执行同样的预处理,利用待搜索数据的预处理结果与所存储的数据执行搜索和匹配,以确定匹配结果,该匹配结果指示所述CAM中的哪些匹配线应该被预充电;
对所述匹配结果指示的所述CAM中的匹配线进行预充电;以及
利用待搜索数据与所述CAM中的数据执行搜索和匹配。
8.如权利要求7所述的方法,其特征在于,该方法进一步包括:
根据模式控制信号选择多个预处理模式之一,其中,所述预处理模式提取反映数据特征的信息,将数据D[N-1:0]预处理成数据DP[K-1:0],其中,N和K都是大于1的自然数,并且,K<<N。
9.如权利要求7或8所述的方法,其特征在于,所述预处理模式包括HASH算法运算模式、求数据字的二进制位中0的个数总和的运算模式、求数据字的二进制位中1的个数总和的运算模式、循环冗余检验CRC模式、用户自定义的运算模式。
10.如权利要求7或8所述的方法,其特征在于,对所述CAM中的数据执行搜索和匹配包括:采用分级或分段机制对所述CAM中的数据执行搜索和匹配。
CN201310293362.XA 2013-07-11 2013-07-11 一种减少内容可寻址存储器功耗的装置和方法 Active CN103325416B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310293362.XA CN103325416B (zh) 2013-07-11 2013-07-11 一种减少内容可寻址存储器功耗的装置和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310293362.XA CN103325416B (zh) 2013-07-11 2013-07-11 一种减少内容可寻址存储器功耗的装置和方法

Publications (2)

Publication Number Publication Date
CN103325416A true CN103325416A (zh) 2013-09-25
CN103325416B CN103325416B (zh) 2016-03-09

Family

ID=49194110

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310293362.XA Active CN103325416B (zh) 2013-07-11 2013-07-11 一种减少内容可寻址存储器功耗的装置和方法

Country Status (1)

Country Link
CN (1) CN103325416B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109637571A (zh) * 2018-12-21 2019-04-16 成都海光集成电路设计有限公司 三态内容可寻址存储器搜索线分割控制装置、系统和方法
CN112735495A (zh) * 2019-10-28 2021-04-30 瑞昱半导体股份有限公司 内容可定址存储器装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6262929B1 (en) * 1999-02-05 2001-07-17 International Business Machines Corporation Pre-charging circuit and method for a word match line of a content add ressable memory (CAM)
CN1355537A (zh) * 2000-11-20 2002-06-26 国际商业机器公司 内容可寻址存储器、用于该器件的匹配检测电路及数字系统
US20030093616A1 (en) * 2001-11-01 2003-05-15 Slavin Keith R. Low power, hash-content addressable memory architecture

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6262929B1 (en) * 1999-02-05 2001-07-17 International Business Machines Corporation Pre-charging circuit and method for a word match line of a content add ressable memory (CAM)
CN1355537A (zh) * 2000-11-20 2002-06-26 国际商业机器公司 内容可寻址存储器、用于该器件的匹配检测电路及数字系统
US20030093616A1 (en) * 2001-11-01 2003-05-15 Slavin Keith R. Low power, hash-content addressable memory architecture

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109637571A (zh) * 2018-12-21 2019-04-16 成都海光集成电路设计有限公司 三态内容可寻址存储器搜索线分割控制装置、系统和方法
CN112735495A (zh) * 2019-10-28 2021-04-30 瑞昱半导体股份有限公司 内容可定址存储器装置

Also Published As

Publication number Publication date
CN103325416B (zh) 2016-03-09

Similar Documents

Publication Publication Date Title
US7319602B1 (en) Content addressable memory with twisted data lines
US20170046395A1 (en) Partitionable ternary content addressable memory (tcam) for use with a bloom filter
US6240001B1 (en) CAM match line precharge
US20100174929A1 (en) Method and Systems for Power Consumption Management of a Pattern-Recognition Processor
CN106797446A (zh) 基于存储器的历史搜索
US11133065B1 (en) Architecture for ternary content-addressable memory search
US6704216B1 (en) Dual match-line, twin-cell, binary-ternary CAM
US20220199161A1 (en) Architecture for fast content addressable memory search
CN112311699B (zh) 处理网络数据包的方法、装置及存储介质
EP1054407B1 (en) Configurable content addressable memory
RU2414014C2 (ru) Способ и устройство для уменьшения потребляемой мощности в ассоциативной памяти
US10620605B2 (en) Finite state machines
US10656837B2 (en) Index management in a flash memory
CN102736888B (zh) 与数据流同步的数据检索电路
CN103325416B (zh) 一种减少内容可寻址存储器功耗的装置和方法
US8023301B1 (en) Content addressable memory device having state information processing circuitry
KR101948126B1 (ko) 반도체 기억 장치
US20050243587A1 (en) Reading or writing while searching in a CAM
US7117300B1 (en) Method and apparatus for restricted search operation in content addressable memory (CAM) devices
EP4027347A1 (en) Dynamically gated search lines for low-power multi-stage content addressable memory
CN102663051A (zh) 搜索内容可寻址存储器的方法和系统
CN112311698B (zh) 处理网络数据包的方法、装置及存储介质
TW202145722A (zh) 線內解壓縮
CN104979004B (zh) 资料存储型闪存优化译码使能装置
US20190198107A1 (en) Semiconductor device

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent of invention or patent application
CB03 Change of inventor or designer information

Inventor after: Lin Gu

Inventor before: Wan Xia

COR Change of bibliographic data

Free format text: CORRECT: INVENTOR; FROM: WAN XIA TO: LIN GU

C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20200207

Address after: Room 1702, Building 1, Wante Business Center, Ningbo High-tech Zone, Zhejiang Province

Patentee after: NINGBO LIXINKE INFORMATION TECHNOLOGY CO., LTD.

Address before: 314200 room 409, building 988, building two, emerging Road, Pinghu Economic Development Zone, Jiaxing, Zhejiang

Patentee before: Pinghu Lingyun Information Science & Technology Co., Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20201016

Address after: 241000 Jishan Town Economic Development Zone, Nanling County, Wuhu City, Anhui Province

Patentee after: Nanling County eco tourism Assets Operation Co., Ltd

Address before: Room 1702, Building 1, Wante Business Center, Ningbo High-tech Zone, Zhejiang Province

Patentee before: NINGBO LIKETEK INFORMATION TECHNOLOGY Co.