CN103310838A - 内容可寻址存储器系统 - Google Patents

内容可寻址存储器系统 Download PDF

Info

Publication number
CN103310838A
CN103310838A CN2013100424324A CN201310042432A CN103310838A CN 103310838 A CN103310838 A CN 103310838A CN 2013100424324 A CN2013100424324 A CN 2013100424324A CN 201310042432 A CN201310042432 A CN 201310042432A CN 103310838 A CN103310838 A CN 103310838A
Authority
CN
China
Prior art keywords
row
data
address
address register
register
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.)
Pending
Application number
CN2013100424324A
Other languages
English (en)
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Publication of CN103310838A publication Critical patent/CN103310838A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • G11C15/04Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements
    • G11C15/046Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements using non-volatile storage elements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • G11C15/02Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using magnetic elements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • G11C15/04Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • G11C15/04Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements
    • G11C15/043Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements using capacitive charge storage elements

Landscapes

  • Static Random-Access Memory (AREA)

Abstract

需要高度集成内容可寻址存储器(CAM)的电路区域和确保其较快的操作。优先编码器和行译码器部分共享包括一个以上行的行地址寄存器。该行地址寄存器的各行对应TCAM阵列矩阵的各条目并且保存各地址。该行地址寄存器的各行对应TCAM阵列矩阵的各字线和匹配线。向TCAM阵列矩阵写入数据激活保存在行地址寄存器中的与指定地址对应的行的字线。搜索TCAM阵列矩阵激活TCAM阵列矩阵的匹配线。行地址寄存器的对应行存储TCAM阵列矩阵的与搜索数据匹配的条目的地址。

Description

内容可寻址存储器系统
相关申请的交叉引用
这里通过参考引入2012年3月14日提交的日本专利申请第2012-057060号的全部公布内容,包括说明书、附图和摘要。
技术领域
本发明涉及内容可寻址存储器系统。更具体而言,本发明涉及一种用于电路的高度集成和加速的技术。
背景技术
内容可寻址存储器(CAM)读取数据并写入数据,并且搜索存储数据。
为了写入数据,CAM将写数据传送至位线(BL)并且允许行译码器激活与所述写地址对应的字线(WL)。
为了搜索数据,CAM基于待搜索的数据串激活搜索线(SL)并且确定数据是否与CAM阵列中的各条目匹配。CAM将匹配条目的地址作为搜索结果输出。一个条目存储一个待搜索的数据字并且包括一个以上CAM单元。各条目设置有匹配线(ML)。匹配线与各条目对应的CAM单元并行链接。CAM将待搜索的数据串与存储在各条目中的数据字进行比较。如果找到了作为比较结果的匹配,则使对应该条目的匹配线保持高电平(1)。如果没有找到作为比较结果的匹配,则放电使得该条目的匹配线变为低电平(0)。
识别匹配线的电压电平能够确定CAM是否存储了与搜索数据对应的数据。
作为搜索结果,CAM可以产生一个以上匹配条目。在这样的情形下,优先编码器对给定的条目优先化并输出对应的地址。
CAM用于诸如路由器或交换机之类的网络设备中的路径搜索以及高速缓存存储器中的高速缓存未命中或命中的确定。例如,网络路由器进行IP分组路由。该路由器存储CAM,该CAM存储IP地址。该路由将存储在CAM中的IP地址与从外部输入的IP地址进行核对。例如,路由器中的CAM基于表示匹配状态的匹配线信息向IP分组写入指示下一目的地的值并将该IP分组从对应的端口发送。
专利文献1:美国专利第6967856号
专利文献2:日本专利特开第2007-317342号
专利文献3:日本专利特开第2003-100086号
专利文献4:美国专利第7436688号
发明内容
近来,已有进一步加速例如用于网络存储器的大规模高速CAM的搜索操作的趋势。搜索操作加速要求:(1)确定搜索数据是否与存储在CAM中的数据匹配;以及(2)加速优先编码器的操作,该优先编码器的操作为输出匹配条目中的高度优先化的一个匹配条目的地址。
关于要求(1),美国专利第6967856号(专利文献1)描述了划分匹配线的技术。日本专利特开第2007-317342号(专利文献2)和日本专利特开第2003-100086号(专利文献3)描述了使用匹配放大器来加速搜索操作的技术,其中匹配放大器可以检测匹配线上细微的潜在差别。
要求(2)需要加速优先编码器的操作和向CAM写入的操作。例如,用于网络存储器的CAM需要在指定的时间间隔上执行写入操作,因为路由表需要在指定的时间间隔上进行更新。
CAM需要更高度地集成。CAM的外围电路加速,并且相应地增加了CAM的区域。存在使外围电路布局的集成降级的问题。美国专利第7436688号(专利文献4)将ROM用于优先编码器加速外围电路,但不能高度地集成外围电路。
通过参考下面的描述和所附附图可以容易地确定本发明的这些和其他目的以及新颖特征。
根据本发明的一种实施方式,行译码器和优先编码器共享地址寄存器,该地址寄存器包括一个以上行。地址寄存器中的各行与CAM阵列中的各行对应并且存储CAM阵列中各行的地址。地址寄存器的各行对应CAM阵列的各行的字线和匹配线。当向CAM阵列写入数据时,行译码器接收地址的指定并且激活保存在地址寄存器中的行的字线。另一方面,搜索CAM阵列激活CAM阵列的匹配线。地址寄存器的与匹配线对应的行存储CAM阵列的与搜索数据匹配的行的地址。
本发明提供了一种内容可寻址存储器系统,包括:数据保存CAM阵列,包括具有多行的CAM单元,保存各行的存储数据,接收搜索数据的输入,能够在各行上并行搜索存储数据,并且具有指定待读出或写入所述数据保持CAM阵列的行的地址的字线和表示各行中存储数据与搜索数据的比较结果的匹配线;地址寄存器,具有多行,保存所述数据保存CAM阵列中各行的地址,接收搜索数据的输入,能够基于所述搜索数据搜索各行上的所述地址,并且具有指定待读出或写入所述地址寄存器的行的地址的字线和表示各行中地址与搜索数据的比较结果的匹配线,其中所述地址寄存器的各匹配线分别与所述数据保存CAM阵列的各字线耦合,并且经由所述地址寄存器从所述数据保存CAM阵列的指定行读取存储数据或将存储数据写入所述数据保存CAM阵列的指定行,其中所述数据保存CAM阵列的各匹配线分别与所述地址寄存器的各字线耦合,并且经由所述地址寄存器从所述数据保存CAM阵列输出与所述存储数据和所述搜索数据的比较结果匹配的行的地址。在一种实施方式中,当从所述数据保存CAM阵列的所述指定行读取存储数据或将存储数据写入所述数据保存CAM阵列的指定行时,经由所述地址寄存器的匹配线激活所述数据保存CAM阵列的所述指定行的字线;当从所述数据保存CAM阵列输出与所述存储数据和所述搜索数据的比较结果匹配的行的地址时,经由所述数据保存CAM阵列的匹配线激活所述地址寄存器的与所述比较结果匹配的行的字线。
本实施方式可以高度地集成CAM的电路区域并加速CAM。
附图说明
图1是图示根据一种实施方式的内容可寻址存储器系统1的配置的框图;
图2图示了充当优先编码器的优先级算法部分4和优先编码器和行译码器部分5的一部分的配置;
图3图示了充当行译码器的优先编码器和行译码器部分5的一部分的配置;
图4图示了不共享地址寄存器并且相互独立的优先编码器和行译码器的功能模块;
图5详细图示了根据相关技术的优先级算法部分4、优先编码器部分55以及行译码器部分56的配置;
图6A和图6B图示了存储于行地址寄存器12中的与故障条目对应的地址;
图7A和图7B图示了存储于行地址寄存器12中的与故障条目对应的地址;
图8图示了根据第一实施方式的写入操作期间的信号波形;
图9图示了根据第一实施方式的搜索操作期间的信号波形;
图10图示了根据第二实施方式的行地址寄存器12的配置;
图11图示了根据第三实施方式的行地址寄存器12和FNH寄存器41的配置;
图12图示了根据第三实施方式的行地址寄存器12和FNH寄存器41的配置;
图13图示了根据第四实施方式的配置的一部分;
图14图示了根据第四实施方式的配置的一部分;
图15具体图示了恢复移位电路45和CAM单元的WL驱动器13;
图16图示了使用SRAM配置TCAM的TCAM基本单元;
图17图示了使用DRAM配置TCAM的TCAM基本单元;
图18图示了使用MRAM配置TCAM的TCAM基本单元;
图19图示了使用ROM的行地址寄存器12的配置;以及
图20A和图20B图示了单元71和单元72的配置。
具体实施方式
将参考附图对本发明的实施方式进行描述。
第一实施方式
图1是图示根据一种实施方式的内容可寻址存储器系统1的配置的框图。
如图1所示,内容可寻址存储器系统1包括TCAM阵列矩阵2、匹配放大器3、优先级算法部分4、优先编码器和行译码器部分5、SL驱动器6、BL驱动器和读取感测放大器7、以及控制电路8。
TCAM阵列矩阵2使用一个以上条目保持存储数据。虽然未示出每个CAM单元,但各条目包括一个以上的CAM单元。各条目设置有地址。TCAM阵列矩阵2接收输入搜索数据并且并行地确定各条目是否与存储数据匹配。TCAM阵列矩阵2配置为三进制内容可寻址存储器(三进制CAM)。各CAM单元可取值为高(1)、低(0)和无关(X)三个值中的一个。
对TCAM阵列矩阵2的写入
具体而言,TCAM阵列矩阵2能够使存储数据以行(条目)为单位写入。将描述的BL驱动器和读取感测放大器7基于写入TCAM阵列矩阵2的数据来激活位线(BL)。将描述的优先编码器和行译码器部分5激活与TCAM阵列矩阵2中写入数据的行的地址对应的字线(WL)。内容可寻址存储器系统1使用位线和字线来将数据写入TCAM阵列矩阵2中指定的地址。
对TCAM阵列矩阵2的搜索
TCAM阵列矩阵2搜索与TCAM阵列矩阵2中的各条目对应的存储数据。为了这个目的,TCAM阵列矩阵2使用搜索线(SL)接收用于搜索的搜索数据。对于确保搜索数据和存储数据匹配的条目,匹配线(ML)保持高电平。
匹配放大器3在控制电路8的匹配放大器控制信号的控制下操作。匹配放大器3将TCAM阵列矩阵2的搜索期间来自匹配线的输出进行放大。
能够使搜索数据和存储数据匹配的条目可以有一个以上。在这样的情形下,优先级算法部分4根据指定的操作优先地输出所述条目中的任意一个。例如,如果搜索使用数值X,那么可以命中一个以上地址。在这样的情形下,优先级算法部分4优先地输出例如与最小的地址对应的条目,从而对于所述条目中的任意一个优先地输出搜索结果。
优先编码器和行译码器部分5包括将描述的行地址寄存器12,并且充当优先编码器和行译码器。也就是,优先编码器和行译码器共享行地址寄存器12。具体将在下面进行描述。总结如下。当充当优先编码器时,优先编码器和行译码器部分5接收来自优先级算法部分4的输出结果并且将地址(匹配地址)输出至控制电路8。匹配地址对应于搜索期间命中的匹配线。当充当行译码器时,优先编码器和行译码器部分5基于控制电路8的READ/WRITE控制信号进行操作。优先编码器和行译码器部分5接收用于数据读取或写入的TCAM阵列矩阵2的地址的指定并且激活与所指定的地址对应的字线。
SL驱动器6根据控制电路8的搜索线驱动器控制信号(SLDrv.控制信号)驱动搜索线。在TCAM阵列矩阵2的搜索期间,搜索线向TCAM阵列矩阵2输出搜索数据。
BL驱动器和读取感测放大器7在控制电路8的控制下驱动位线以将数据写入TCAM阵列矩阵2。
控制电路8对控制信号进行控制以整体上控制内容可寻址存储器系统1的操作。控制电路8接收外部的各种命令(例如,SEARCH),根据指定的时钟(CLK)操作,并且从TCAM阵列矩阵2输出搜索结果(MATCH_ADD)。
接下来详细描述优先级算法部分4以及优先编码器和行译码器部分5。
图2图示了充当优先编码器的优先级算法部分4以及优先编码器和行译码器部分5的一部分的配置。
优先级算法部分4包括操作结果输出电路21并且通过一个以上匹配线(match<0>至match<n>)接收匹配放大器3的输出。如果一个以上匹配线命中,那么操作结果输出电路21将匹配线中的任意一个优先化并且将其输出至优先编码器和行译码器部分5(p_match)。
优先编码器和行译码器部分5包括行地址寄存器的WL驱动器11、行地址寄存器12和CAM单元的WL驱动器13。图2图示了用于行地址寄存器的WL驱动器11和行地址寄存器12。
根据实施方式,行地址寄存器12包括一个以上CAM单元23。行地址寄存器12使用各行来保持TCAM阵列矩阵2中任意条目的地址。行地址寄存器12的各行经由优先级运算部分4或CAM单元的WL驱动器13接收TCAM阵列矩阵2的匹配线的输出以激活字线。根据图2所示的例子,行地址寄存器12从图2的顶部依次存储地址0000、0001、0010等以指示TCAM阵列矩阵2的条目。各地址经由字线和匹配线耦合至TCAM阵列矩阵2中的对应条目。
行地址寄存器的WL驱动器11根据使能信号pe_enable激活行地址寄存器12的字线,从而允许优先编码器和行译码器部分5充当优先编码器。行地址寄存器的WL驱动器11包括驱动电路22并且经由匹配线接收来自优先级算法部分4的输出结果。行地址寄存器的WL驱动器11接收使能信号pe_enable和来自优先级算法部分4的输出结果,以控制允许行地址寄存器12输出搜索结果的操作。
行地址寄存器的WL驱动器11和行地址寄存器12主要允许优先编码器和行译码器部分5充当优先编码器。搜索TCAM阵列矩阵2的结果通过行地址寄存器12的位线提供为输出(peBL)并且输出至寄存器的BL感测放大器和SL驱动器9(peBL)。
图3图示了充当行译码器的优先编码器和行译码器部分5的一部分的配置。
行地址寄存器12和CAM单元的WL驱动器13主要允许优先编码器和行译码器部分5充当行译码器。寄存器的BL感测放大器和SL驱动器9(将进行描述)接收地址的指定(rw_add),所述地址为将写入TCAM阵列矩阵2的数据的写入地址。寄存器的BL感测放大器和SL驱动器9将地址指定输出至行地址寄存器12的搜索线(AddSL)。行地址寄存器12激活与指定地址对应的行的匹配线并将地址指定输出至CAM单元的WL驱动器13(addML)。
CAM单元的WL驱动器13和行地址寄存器12充当行译码器。CAM单元的WL驱动器13接收来自行地址寄存器12的匹配线的输出结果并且根据控制信号add_mlpre_n将该结果输出。CAM单元的WL驱动器13允许锁存电路24根据控制信号add_mllat中指示的时序来保持行地址寄存器12的匹配线的输出结果。驱动电路25根据控制信号rw_enable将保持在锁存电路24中的内容输出至TACM阵列矩阵2的字线。
寄存器的BL感测放大器和SL驱动器9配置控制电路8的一部分。寄存器的BL感测放大器和SL驱动器9提供将来自行地址寄存器12的位线的信号进行放大的感测放大器功能(BL Sense Amp),从而允许优先编码器和行译码器部分5充当优先编码器。寄存器的BL感测放大器和SL驱动器9提供根据控制信号add_sle控制行地址寄存器12的搜索线的操作的SL驱动器(SLDrv.),从而允许优先编码器和行译码器部分5充当行译码器。寄存器的BL感测放大器和SL驱动器9接收地址的指定(rw_add),所述地址为将写入TCAM阵列矩阵2的数据的写入地址。寄存器的BL感测放大器和SL驱动器9接收充当优先编码器的优先编码器和行译码器部分5的输出结果并将该结果(hit_add)输出至外部。
根据上述配置,优先编码器和行译码器共享与TCAM阵列矩阵2的条目对应的地址。因此,这种配置可确保比优先编码器和行译码器各自分别使用译码电路的配置具有更高的集成度。
与相关技术的比较
下面描述一种相关技术,其中优先编码器和行译码器不共享地址寄存器。
图4图示了不共享地址寄存器并且相互独立的优先编码器和行译码器的功能模块。
在内容可寻址存储器系统101中,优先编码器部分55和行译码器部分56不共享地址寄存器并且相互独立。控制电路57从优先编码器部分55接收作为输出到TCAM阵列矩阵2的搜索结果的匹配地址。控制电路57将待写入TCAM阵列矩阵2的地址的指定输出至行译码器部分56。
图5详细图示了根据相关技术的优先级算法部分4、优先编码器部分55以及行译码器部分56的配置。
如图5所示,优先级算法部分4和优先编码器部分55提供作为优先编码器的功能。
行译码器部分56提供作为行译码器的功能。
接下来描述作为优先编码器的功能。优先级算法部分4基于优先级算法部分4中的操作结果输出电路21的操作来向优先编码器部分55输出来自任意匹配线的输出。
优先编码器部分55包括故障恢复电路62和编码电路63。
故障恢复电路62恢复TCAM阵列矩阵2中的故障条目。为此,例如,故障恢复电路62根据从控制电路57输出的恢复地址信号来将操作结果输出电路21中的输出结果(p_match)进行移位。
编码电路63接收来自故障恢复电路62的输出结果,对TCAM阵列矩阵2的与匹配线对应的地址进行编码,并将编码后的地址作为匹配地址(hit_add)输出至控制电路57。编码电路63将匹配线转换为地址。
接下来描述作为行译码器的功能。
行译码器部分56包括译码电路64、故障恢复电路65以及WL驱动器部分58。
译码电路64从控制电路57接收对于TCAM阵列矩阵2的写目的地址的指定(rw_add)并且激活对应的字线。译码电路64将所述字线转换为地址。
故障恢复电路65恢复TCAM阵列矩阵2中的故障条目。为此,例如,故障恢复电路65将来自译码电路64的输出进行移位。
WL驱动器部分58将来自译码电路64和故障恢复电路65的输出结果进行放大。WL驱动器部分58从而充当激活字线(WL)的驱动部分。
与所述实施方式相比,相关技术独立地使用编码电路63和译码电路64来转换TCAM阵列矩阵2中的地址。
根据所述实施方式,另一方面,优先编码器和行译码器共享行地址寄存器12。与相关技术相比,所述实施方式可以减少布局区域并且提供高度集成。所述实施方式可以通过减少逻辑级数来提高处理速度。
第一实施方式中的恢复电路
现在回到第一实施方式的描述,接下来描述根据第一实施方式的故障地址恢复功能。
行地址寄存器12存储从故障恢复之后的地址,以便恢复TCAM阵列矩阵2中的故障条目。例如,进行芯片测试来识别故障条目。使用熔断器来确定待存储于行地址寄存器12中的数值(恢复码)。当电源开启时,行地址寄存器12读取恢复码。
图6A和图6B图示了存储于行地址寄存器12中的与故障条目对应的地址。图7A和图7B图示了存储于行地址寄存器12中的与故障条目对应的地址。图6A、图6B、图7A和图7B主要图示了行地址寄存器12的一部分。
图6A示出了没有故障条目时存储于行地址寄存器12中的地址。由于没有发生恢复,行地址寄存器12从图6A的顶部依次在对应的行存储0000、0001、0010、0011等作为地址值。
图6B示出了当故障条目发生时存储于行地址寄存器12中的地址。假设行31对应故障条目(图6B中的match<2>)。在这样的情形下,例如,紧接在故障条目之下的条目可假设是备选的条目。随后地址值递减1并且写入随后行。行地址寄存器12从图6B的顶部依次在对应的行存储0000、0001、xxxx(对应故障条目)、0010、0011等作为地址值。
图7A示出了没有故障条目发生的情形下的地址输出数值。图7B示出了有故障条目发生的情形下的地址输出数值。
如图7B所示,对于与WL<2>对应的故障条目行31,字线未激活。地址0010移位至WL<3>。
根据第一实施方式的具体操作
接下来描述根据第一实施方式的内容可寻址存储器系统1的操作。
读取或写入操作
接下来描述将数据读取或写入TCAM阵列矩阵2的行译码器功能。
下面描述操作概述。当从TCAM阵列矩阵2读取数据或将数据写入TCAM阵列矩阵2时,指示写目的地址的信号(rw_add)输入至寄存器的BL感测放大器和SL驱动器9,如图2所示。寄存器的BL感测放大器和SL驱动器9激活行地址寄存器12的搜索线(addSL)。行地址寄存器12中行的数值可匹配指示写目的地址的信号(rw_add)。与行地址寄存器12中的匹配行对应的匹配线变为高电平。否则,匹配线变为低电平。这激活了与写目的地址对应的字线。
图8图示了根据第一实施方式的写入操作期间的信号波形。
根据图8中的例子,在地址00000010处执行写入操作(WRITE)以激活WL<2>,在地址00000001处执行写入操作(WRITE)以激活WL<1>。随后在TCAM阵列矩阵2上执行搜索操作(SEARCH)。写入操作和搜索操作连续执行。
将写目的地址00000010输入寄存器的BL感测放大器和SL驱动器9(rw_add)。执行搜索以查找与行地址寄存器12中的各行保持的值(add_sle,addSL)匹配的行。如果找到匹配行,则行地址寄存器12的匹配线变为高电平(add_mlpre_n,addML<2>)。CAM单元的WL驱动器13的锁存电路24锁存匹配线(add_mllat)。写使能信号(rw_enable)激活写目的地址的字线(WL<2>)。
这同样适用于下一个地址00000001。激活写目的地址的字线(WL<1>)。
随后的搜索操作激活TCAM阵列矩阵2的搜索线(SL)。在搜索线放电并且变为低电平之后,匹配线(ML)未命中。在搜索启动之前,字线为未激活。在用于写操作的写命令之后,可以输入用于搜索操作的搜索命令。不需要NOP(无操作)命令。
搜索操作
接下来描述根据第一实施方式的TCAM阵列矩阵2的搜索操作。
图9图示了根据第一实施方式的搜索操作期间的信号波形。
控制电路8按照命令(SEARCH)在指定时钟(camclk)的时序上启动在TCAM阵列矩阵2上的搜索操作。激活搜索线。与搜索数据对应的条目的匹配线变为高电平。匹配放大器3放大来自匹配线的输出结果。匹配放大器3根据控制信号(MAE)进行操作。由匹配放大器3放大的输出(匹配)输入至优先级算法部分4。优先级算法部分4允许操作结果输出电路21对匹配线中的任意一个进行优先化并输出与该条目对应的搜索结果(p_match)。
在优先编码器和行译码器部分5中,行地址寄存器的WL驱动器11在根据使能信号(pe_enable)的时序上基于搜索结果激活行地址寄存器12的字线。图9示出了与第2条目和第127条目对应的字线peWL<2>和peWL<127>的激活。位线将行地址寄存器12中与激活的字线对应的数值输出至寄存器的BL感测放大器和SL驱动器9(peBL)。寄存器的BL感测放大器和SL驱动器9将命中条目的地址输出至外部(MATCH_ADD)。
第二实施方式
将描述另一实施方式。
图10图示了根据第二实施方式的行地址寄存器12的配置。
图10图示了输出搜索结果以提供优先编码器的功能的行地址寄存器的分离的位线。
例如,感测放大器可以分配给指定范围的条目以加速搜索结果输出。如图10所示,提供有两个感测放大器:第一BL感测放大器32和第二BL感测放大器33。第一BL感测放大器32和第二BL感测放大器33均对应于行地址寄存器12的一些条目。寄存器的GBL感测放大器和SL驱动器34等同于对来自位线的输出进行放大的感测放大器。寄存器的GBL感测放大器和SL驱动器34接收来自BL感测放大器的输出(gbl0和gbl1)并在搜索之后将命中的地址(hit_add)输出。
如图10所示,CAM单元的WL驱动器13包括差分放大器35。该差分放大器接收行地址寄存器12的匹配线的输出以保证较快的操作。
第三实施方式
将描述又一实施方式。第三实施方式提供使用CAM单元的FNH(force no-hit,强制未命中)寄存器。
图11图示了根据第三实施方式的行地址寄存器12和FNH寄存器41的配置。
图12图示了根据第三实施方式的行地址寄存器12和FNH寄存器41的配置。
提供了使用CAM单元的行地址寄存器12和FNH寄存器以在寄存器的BL感测放大器和SL驱动器42(fnh_bl)的控制下实现较快的操作。例如,搜索操作可以减少在位地址和FNH读数据输出之前的等待时间。可以省略FNH译码器电路以减少布局区域和提供高度集成。
第四实施方式
将描述又一实施方式。第四实施方式提供恢复信息数据寄存器。
图13图示了根据第四实施方式的配置的一部分。
图14图示了根据第四实施方式的配置的一部分。
如图13和图14所示,故障条目对应WL<1>。故障条目行47对应WL<1>。
当根据第四实施方式恢复故障条目时,寄存器的BL感测放大器和SL驱动器43使用控制信号(sp_bl)重写恢复信息寄存器44,而无需重写行地址寄存器12。为了实现作为行译码器的功能,恢复信息寄存器44和恢复移位电路45恢复故障条目。为了实现作为优先编码器的功能,地址移位电路46将用于输出的地址移位,因为不对行地址寄存器12进行重写。
例如,假定对应WL<1>的条目故障。然后,地址移位电路46将对应WL<2>的条目的地址递减1以将该地址变为0001。假定行地址寄存器的WL驱动器11激活字线peWL<2>,作为TCAM阵列矩阵2的搜索结果。在这种情况下,不重写行地址寄存器12的数值。地址移位电路46将从寄存器的BL感测放大器和SL驱动器43输出的匹配地址(hit_add0)移位并将移位后的地址(hit_add)输出。
寄存器的BL感测放大器和SL驱动器43使用控制信号(hft_en)来通知地址移位电路46关于用于实现优先编码器功能而需要移位的行的信息(例如,与故障条目对应的地址)。例如,地址移位电路46将由寄存器的BL检测放大器和SL驱动器43通知的关于与故障条目对应的地址的信息与从寄存器的BL感测放大器和SL驱动器43输出的匹配地址(hit_add0)进行比较。如果发现匹配地址处于与故障条目对应的地址(shift_en)或晚于与故障条目对应的地址(shift_en),则地址移位电路46将匹配地址(hit_add0)进行移位。
图15详细图示了恢复移位电路45和CAM单元的WL驱动器13。
恢复信息寄存器44包括与行地址寄存器12的各行对应的寄存器。寄存器将需要移位的行保持为数值1。
如图15所示,恢复移位电路45接收来自恢复信息寄存器44各行的寄存器的输出并输出信号(sft和dis)。如图15所示,信号(dis)的输出取决于恢复信息寄存器44中寄存器的邻近行的值。如果邻近行保持不同值,则信号输出为0。信号(dis)将CAM单元的WL驱动器13的与故障条目对应的字线(根据图15中的例子为WL<1>)去使能。
恢复移位电路45使用与恢复信息寄存器44的行对应的寄存器的值。例如,恢复移位电路45在sft<2>输入的寄存器中保持值1。匹配线addML<1>和addML<2>耦合至sft<2>输入的寄存器。来自匹配线之一的输出输入至CAM单元的WL驱动器13的锁存电路,这取决于sft<2>的数值,即,取决于是否需要移位。
上述配置可以提供较快的操作和恢复。
第五实施方式
将描述又一实施方式。根据第五实施方式,行地址寄存器12中的TCAM使用SRAM(静态随机存取存储器)、DRAM(动态随机存取存储器)、MRAM(磁阻随机存取存储器)或ROM(只读存储器)。
图16图示了使用SRAM配置TCAM的TCAM基本单元。
如上所述,搜索数据经由搜索线(SL)输入到单元。确定搜索数据是否与存储数据X(SNX)和Y(SNY)匹配。如果存储数据X和Y均为1,则结果总是为未命中。如果存储数据X和Y均为0,则结果总是为命中。
图17图示了使用DRAM配置TCAM的TCAM基本单元。与上述类似,将搜索数据(SL)与存储数据(SNX和SNY)进行比较。确定搜索数据是否与存储数据匹配。
图18图示了使用MRAM配置TCAM的TCAM基本单元。该单元包括用于读取和写入的位线(BL)、用于在读取期间使晶体管导通的字线(RWLX和RWLY)和用于在写入期间施加电流的数字线(DL)。
图19图示了使用ROM的行地址寄存器12的配置。各CAM单元使用ROM。
如图19所示,单元71使用配置的ROM存储0。单元72使用配置的ROM存储1。
图20A和图20B图示了单元71和单元72的配置。
图20A图示了单元71。图20B图示了单元72。
根据所述实施方式,行地址寄存器12配置为使用如下存储器,该存储器即使在未上电时也保存存储的内容。这种配置不需要提供在每次开启电源时使恢复电路使能功能的时序。
根据上述例子,CAM中的编码器和译码器共享地址寄存器。上述配置可以用于除了CAM之外的技术的编码器和译码器电路。如果对于编码器或译码器,地址使用多位或电路使用多逻辑级,则该配置可保证较快的操作并且减少布局区域。
尽管已描述了上述实施方式,但应清楚理解,所述实施方式可以进行组合。
尽管已描述了由发明人创造的本发明的特定优选实施方式,但应清楚理解,本发明并不限于此,而是可以在本发明的精神和范围内以其它各种各样的方式进行实施。

Claims (11)

1.一种内容可寻址存储器系统,包括:
数据保存CAM阵列,包括具有多行的CAM单元,保存各行的存储数据,接收搜索数据的输入,并且能够在各行上并行搜索存储数据;
行译码器部分,使用字线指定待写入所述数据保存CAM阵列的行的地址并将数据写入所述地址;以及
优先编码器部分,接收指示各行的所述存储数据和所述搜索数据的比较结果的匹配线的输出,并且基于匹配线的输出来输出与比较结果匹配的行的地址,
其中所述行译码器部分和所述优先编码器部分包括并且共享具有多行的地址寄存器,以及
其中所述地址寄存器的各行通过所述字线和所述匹配线分别与所述数据保存CAM阵列的各行耦合,并且保存所述数据保存CAM阵列中各行的地址。
2.根据权利要求1所述的内容可寻址存储器系统,
其中所述行译码器部分接收对待写入的行的地址的指定,将所述指定的地址作为搜索数据与所述地址寄存器的各行进行比较,并且激活与比较结果匹配的行的字线,以及
其中所述优先编码器部分基于保存在所述地址寄存器的行中的与所述数据保存CAM阵列的匹配线的输出对应的地址,输出所述搜索数据与所述存储数据的匹配对应的行的地址。
3.根据权利要求1所述的内容可寻址存储器系统,
其中所述地址寄存器包括CAM单元。
4.根据权利要求1所述的内容可寻址存储器系统,
其中所述地址寄存器是可重写的;
其中所述内容可寻址存储器系统包括用于存储恢复了所述数据保存CAM阵列中的故障行的恢复码的存储部分,以及
其中所述地址寄存器基于所述存储部分中存储的恢复码通过重写来接收故障恢复之后的地址的写入。
5.根据权利要求1所述的内容可寻址存储器系统,
其中使用多行的所述地址寄存器包括多个感测放大器以放大来自所述优先编码器部分的输出结果,以及
其中所述感测放大器分配给所述地址寄存器的指定范围的行。
6.根据权利要求1所述的内容可寻址存储器系统,
其中使用多行的所述地址寄存器通过接收待写入所述数据保存CAM阵列的行的地址作为输入并且激活与所述接收的地址匹配的行的地址对应的字线来充当所述行译码器部分,以及
其中用于所述地址寄存器的匹配放大器等同于差分放大器。
7.根据权利要求1所述的内容可寻址存储器系统,
其中所述地址寄存器包括非易失性存储器。
8.根据权利要求1所述的内容可寻址存储器系统,
其中所述地址寄存器使用包括在所述CAM单元阵列中的FNH寄存器。
9.根据权利要求1所述的内容可寻址存储器系统,
其中所述行译码器部分包括:
恢复信息数据寄存器,确定所述地址寄存器的各行是否由于故障条目恢复而需要对输出移位,以及
恢复移位电路,禁止使用与故障行对应的字线,并且基于存储于所述地址寄存器中的内容和存储于所述恢复信息数据寄存器中的内容计算所述地址寄存器的各行的地址。
10.一种内容可寻址存储器系统,包括:
数据保存CAM阵列,包括具有多行的CAM单元,保存各行的存储数据,接收搜索数据的输入,能够在各行上并行搜索存储数据,并且具有指定待读出或写入所述数据保持CAM阵列的行的地址的字线和指示各行中存储数据与搜索数据的比较结果的匹配线;
地址寄存器,具有多行,保存所述数据保存CAM阵列中各行的地址,接收搜索数据的输入,能够基于所述搜索数据搜索各行上的所述地址,并且具有指定待读出或写入所述地址寄存器的行的地址的字线和指示各行中地址与搜索数据的比较结果的匹配线,
其中所述地址寄存器的各匹配线分别与所述数据保存CAM阵列的各字线耦合,并且经由所述地址寄存器从所述数据保存CAM阵列的指定行读取存储数据或将存储数据写入所述数据保存CAM阵列的指定行,
其中所述数据保存CAM阵列的各匹配线分别与所述地址寄存器的各字线耦合,并且经由所述地址寄存器从所述数据保存CAM阵列输出与所述存储数据和所述搜索数据的比较结果匹配的行的地址。
11.根据权利要求10所述的内容可寻址存储器系统,
其中当从所述数据保存CAM阵列的所述指定行读取存储数据或将存储数据写入所述数据保存CAM阵列的指定行时,经由所述地址寄存器的匹配线激活所述数据保存CAM阵列的所述指定行的字线;
其中当从所述数据保存CAM阵列输出与所述存储数据和所述搜索数据的比较结果匹配的行的地址时,经由所述数据保存CAM阵列的匹配线激活所述地址寄存器的与所述比较结果匹配的行的字线。
CN2013100424324A 2012-03-14 2013-02-01 内容可寻址存储器系统 Pending CN103310838A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012-057060 2012-03-14
JP2012057060A JP2013191255A (ja) 2012-03-14 2012-03-14 内容参照メモリシステム

Publications (1)

Publication Number Publication Date
CN103310838A true CN103310838A (zh) 2013-09-18

Family

ID=49135964

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2013100424324A Pending CN103310838A (zh) 2012-03-14 2013-02-01 内容可寻址存储器系统

Country Status (5)

Country Link
US (2) US8891272B2 (zh)
JP (1) JP2013191255A (zh)
KR (1) KR20130105393A (zh)
CN (1) CN103310838A (zh)
TW (1) TW201346911A (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104200838A (zh) * 2014-08-28 2014-12-10 平湖凌云信息科技有限公司 内容可寻址存储器及相似度智能匹配方法
CN106443115A (zh) * 2016-09-26 2017-02-22 广州致远电子股份有限公司 一种基于深度存储的示波器
CN106803428A (zh) * 2015-11-26 2017-06-06 瑞萨电子株式会社 半导体器件
CN109983446A (zh) * 2016-11-29 2019-07-05 高通股份有限公司 多模式缓存无效
CN110431634A (zh) * 2017-03-23 2019-11-08 硅存储技术股份有限公司 闪存存储器系统中的地址故障检测
CN112098770A (zh) * 2020-08-20 2020-12-18 深圳市宏旺微电子有限公司 针对动态耦合故障模拟极端环境下的测试方法和装置
CN112397123A (zh) * 2019-08-13 2021-02-23 慧与发展有限责任合伙企业 点积引擎中的内容可寻址存储器编码的交叉杆阵列
CN112509620A (zh) * 2020-11-30 2021-03-16 安徽大学 基于平衡预充与组译码的数据读取电路
CN113656212A (zh) * 2020-05-12 2021-11-16 慧与发展有限责任合伙企业 用于缓存目录tcam错误检测和纠正的系统和方法
CN114902336B (zh) * 2019-12-11 2023-08-11 超威半导体公司 具有子字段最小和最大箝位的内容可寻址存储器

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9177646B2 (en) * 2013-05-06 2015-11-03 International Business Machines Corporation Implementing computational memory from content-addressable memory
KR20160074920A (ko) * 2014-12-19 2016-06-29 에스케이하이닉스 주식회사 메모리 장치
US10622071B2 (en) 2015-09-04 2020-04-14 Hewlett Packard Enterprise Development Lp Content addressable memory
JP6638732B2 (ja) * 2015-10-13 2020-01-29 富士通株式会社 制御システムおよび制御方法
JP6919846B2 (ja) 2016-03-28 2021-08-18 国立大学法人東北大学 メモリ装置
WO2017195874A1 (ja) 2016-05-13 2017-11-16 国立大学法人東北大学 メモリ装置及びメモリシステム
JP6840621B2 (ja) * 2017-05-24 2021-03-10 ルネサスエレクトロニクス株式会社 内容参照メモリ
JP2018206452A (ja) * 2017-05-30 2018-12-27 ルネサスエレクトロニクス株式会社 内容参照メモリ及び半導体装置
JP6824115B2 (ja) * 2017-06-19 2021-02-03 ルネサスエレクトロニクス株式会社 半導体装置の製造方法
KR102379729B1 (ko) 2017-10-27 2022-03-29 삼성전자주식회사 우선 순위에 따라 매칭 라인들을 구동하는 메모리 장치
US11899985B1 (en) 2021-03-31 2024-02-13 DreamBig Semiconductor Inc. Virtual modules in TCAM
TWI844013B (zh) * 2022-04-27 2024-06-01 旺宏電子股份有限公司 內容定址記憶體裝置、內容定址記憶體晶胞及其資料搜尋比對方法
US11875850B2 (en) 2022-04-27 2024-01-16 Macronix International Co., Ltd. Content addressable memory device, content addressable memory cell and method for data searching with a range or single-bit data

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6728124B1 (en) * 2001-08-03 2004-04-27 Netlogic Microsystems, Inc. Content addressable memory with error detection signaling
CN1561522A (zh) * 2001-09-28 2005-01-05 睦塞德技术公司 用于在按内容寻址的存储器中执行可变宽度搜索的电路和方法
US20060198210A1 (en) * 2003-05-28 2006-09-07 Hitachi, Ltd. Semiconductor device
US7505295B1 (en) * 2004-07-01 2009-03-17 Netlogic Microsystems, Inc. Content addressable memory with multi-row write function

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002260389A (ja) * 2001-03-01 2002-09-13 Kawasaki Microelectronics Kk 連想メモリ
JP2003100086A (ja) 2001-09-25 2003-04-04 Fujitsu Ltd 連想メモリ回路
US6967856B1 (en) 2002-04-10 2005-11-22 Integrated Device Technology, Inc. Content addressable memory (CAM) devices that utilize segmented match lines and word lines to support pipelined search and write operations and methods of operating same
US7436688B1 (en) 2005-05-06 2008-10-14 Netlogic Microsystems, Inc. Priority encoder circuit and method
US20070247885A1 (en) 2006-04-25 2007-10-25 Renesas Technology Corp. Content addressable memory
JP2007317342A (ja) 2006-04-25 2007-12-06 Renesas Technology Corp 内容参照メモリ
JP2008257835A (ja) * 2007-03-13 2008-10-23 Renesas Technology Corp 半導体装置
US8630141B2 (en) * 2011-01-28 2014-01-14 Micron Technology, Inc. Circuits and methods for providing refresh addresses and alternate refresh addresses to be refreshed

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6728124B1 (en) * 2001-08-03 2004-04-27 Netlogic Microsystems, Inc. Content addressable memory with error detection signaling
CN1561522A (zh) * 2001-09-28 2005-01-05 睦塞德技术公司 用于在按内容寻址的存储器中执行可变宽度搜索的电路和方法
US20060198210A1 (en) * 2003-05-28 2006-09-07 Hitachi, Ltd. Semiconductor device
US7505295B1 (en) * 2004-07-01 2009-03-17 Netlogic Microsystems, Inc. Content addressable memory with multi-row write function

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104200838B (zh) * 2014-08-28 2016-08-24 平湖凌云信息科技有限公司 内容可寻址存储器及相似度智能匹配方法
CN104200838A (zh) * 2014-08-28 2014-12-10 平湖凌云信息科技有限公司 内容可寻址存储器及相似度智能匹配方法
CN106803428A (zh) * 2015-11-26 2017-06-06 瑞萨电子株式会社 半导体器件
CN106443115A (zh) * 2016-09-26 2017-02-22 广州致远电子股份有限公司 一种基于深度存储的示波器
CN106443115B (zh) * 2016-09-26 2023-12-29 广州致远电子股份有限公司 一种基于深度存储的示波器
CN109983446A (zh) * 2016-11-29 2019-07-05 高通股份有限公司 多模式缓存无效
CN110431634B (zh) * 2017-03-23 2023-07-25 硅存储技术股份有限公司 闪存存储器系统中的地址故障检测
CN110431634A (zh) * 2017-03-23 2019-11-08 硅存储技术股份有限公司 闪存存储器系统中的地址故障检测
CN112397123A (zh) * 2019-08-13 2021-02-23 慧与发展有限责任合伙企业 点积引擎中的内容可寻址存储器编码的交叉杆阵列
CN112397123B (zh) * 2019-08-13 2022-02-18 慧与发展有限责任合伙企业 点积引擎三元内容可寻址存储器以及在其上实现的方法
CN114902336B (zh) * 2019-12-11 2023-08-11 超威半导体公司 具有子字段最小和最大箝位的内容可寻址存储器
CN113656212A (zh) * 2020-05-12 2021-11-16 慧与发展有限责任合伙企业 用于缓存目录tcam错误检测和纠正的系统和方法
CN113656212B (zh) * 2020-05-12 2022-08-02 慧与发展有限责任合伙企业 用于缓存目录tcam错误检测和纠正的系统和方法
CN112098770A (zh) * 2020-08-20 2020-12-18 深圳市宏旺微电子有限公司 针对动态耦合故障模拟极端环境下的测试方法和装置
CN112509620A (zh) * 2020-11-30 2021-03-16 安徽大学 基于平衡预充与组译码的数据读取电路

Also Published As

Publication number Publication date
US8891272B2 (en) 2014-11-18
TW201346911A (zh) 2013-11-16
JP2013191255A (ja) 2013-09-26
KR20130105393A (ko) 2013-09-25
US20150003138A1 (en) 2015-01-01
US20130242632A1 (en) 2013-09-19

Similar Documents

Publication Publication Date Title
CN103310838A (zh) 内容可寻址存储器系统
CN102473453B (zh) 半导体存储装置
US6657878B2 (en) Content addressable memory (CAM) devices having reliable column redundancy characteristics and methods of operating same
US6775166B2 (en) Content addressable memory architecture
CN101167140A (zh) 具有可在用于数据和用于纠错码之间进行切换的区间的存储器
JP2004355671A (ja) 演算機能付き記憶装置および演算記憶方法
KR20120049271A (ko) 연산을 수행하기 위해 기억 셀을 이용하는 장치 및 방법
KR20090082784A (ko) Nvram 셀을 채용한 플래쉬 메모리 장치
JPH04325996A (ja) 半導体連想記憶装置
CN100378685C (zh) 非易失性磁高速缓冲存储器
US20020176310A1 (en) Dynamically configured storage array utilizing a split-decoder
US6389524B1 (en) Decoding device with associative memory permitting variable-length keyword comparisons
CN102197435B (zh) 并行联想存储器
US7088603B2 (en) DRAM CAM memory
CN102024490A (zh) 伪静态存储器及其读操作与刷新操作的控制方法
US7277977B2 (en) DRAM for high-speed data access
KR100522431B1 (ko) 리프레쉬 동작이 향상된 고속 데이터 억세스를 위한반도체 메모리 장치
US20080212394A1 (en) Write driving circuit and semiconductor memory apparatus using the same
KR101155120B1 (ko) 데이터 손실을 최소화하는 바이너리 내용 주소화 메모리
EP1460640A3 (en) A content addressable memory (CAM) architecture providing improved speed
US6671218B2 (en) System and method for hiding refresh cycles in a dynamic type content addressable memory
JP3482179B2 (ja) 半導体記憶装置
CN1345450A (zh) 具有可写存储单元的集成存储器的工作方法和相应的集成存储器
CN101022036A (zh) 半导体存储器件
KR100490647B1 (ko) 태그블럭을 구비하는 반도체 메모리 장치의 테스트방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20130918