利用三端存储器件的模拟内容可寻址存储器

文档序号:193406 发布日期:2021-11-02 浏览:52次 >En<

阅读说明:本技术 利用三端存储器件的模拟内容可寻址存储器 (Analog content addressable memory using three-terminal memory device ) 是由 J·P·斯特罗恩 C·格雷夫斯 李�灿 于 2021-04-09 设计创作,主要内容包括:本公开提供一种利用三端存储器件的模拟内容可寻址存储器。模拟内容可寻址存储单元包括匹配线、高侧和低侧。高侧对值的范围上的高电压边界编码,并且包括第一三端存储器件。第一三端存储器件包括第一栅极,该第一栅极设置第一三端存储器件的高电压边界。具体地,施加在第一存储器件的第一栅极处的输入电压如果高于高电压边界,则使第一存储器件导通,从而使匹配线放电。类似地,低侧对值的范围上的低电压边界编码,并且包括第二三端存储器件。第二三端存储器件包括第二栅极,该第二栅极设置第二三端存储器件的低电压边界。具体地,施加在第二存储器件的第二栅极处的输入电压如果低于低电压边界,则使第一存储器件导通,从而使匹配线放电。(The present disclosure provides an analog content addressable memory using a three-terminal memory device. The analog content addressable memory cell includes a match line, a high side, and a low side. The high side encodes a high voltage boundary over a range of values and includes a first three terminal memory device. The first three-terminal memory device includes a first gate that sets a high voltage boundary of the first three-terminal memory device. Specifically, an input voltage applied at a first gate of a first memory device, if above a high voltage boundary, turns the first memory device on, thereby discharging the match line. Similarly, the low side encodes a low voltage boundary over a range of values and includes a second three-terminal memory device. The second three-terminal memory device includes a second gate that sets a low voltage boundary of the second three-terminal memory device. Specifically, an input voltage applied at the second gate of the second memory device, if below a low voltage boundary, turns on the first memory device, thereby discharging the match line.)

具体实施方式

现在将公开要求保护的主题的说明性示例。为了清楚起见,在本说明书中没有描述实际实施方式的所有特征。可以理解,在开发任何此类实际实施方案时,可以做出许多特定于实施方案的决定以实现开发人员的特定目标,例如遵守与系统有关和与业务有关的约束,这将因一种实现方式与另一种实现方式而异。此外,将认识到,受益于本公开,这种研发工作即使是复杂且费时的,对于本领域普通技术人员来说也是例行工作。

内容可寻址存储器(“CAM”)是将输入模式与其存储的数据进行比较的硬件。将数据存储在CAM中的存储器也可以在同一位置执行搜索操作,从而消除了常规硬件中不同单元之间昂贵的数据传输。在搜索过程中,所有存储单元都并行地运行,从而在实时网络流量监控、访问控制列表(“ACL”)、关联存储器等应用中带来了大的吞吐量。

CAM可以采用允许CAM保存其内容的技术来实现,即使断电或以其他方式移除电源也是如此。因此,CAM的数据“持久”并且可以充当所谓的“非易失性存储器”。这些技术包括,例如,电阻性开关存储器(即,忆阻器(memristor))、相变存储器、磁阻存储器、铁电存储器、某些其他电阻性随机存取存储器件、或这些技术的组合。

CAM可以被分类为“二进制”或“三进制”。二进制CAM(“BCAM”)在包含二进制位“0”和“1”的输入模式上操作。三进制CAM(“TCAM”)在这样的输入模式上操作(并存储数据):该输入模式不仅包含“0”和“1”的二进制位,而且还包含“X”值。“X”有时也称为“不考虑(don’tcare)”或“通配符(wildcard)”。在TCAM中对输入模式搜索时,“X”将返回“0”位或“1”上的匹配。因此,对输入模式“10X1”的搜索将返回“1001”和“1011”的匹配。注意,BCAM和TCAM都使用二进制值“0”和“1”并对其进行操作。CAM是数字化的,因为数据以存储器(例如SRAM、忆阻器等)中的二进制值的形式存储在CAM中,并且输入模式由二进制的逻辑“0”和“1”表示。CAM中的每个存储单元一次处理一个值(0/1或0/1/X),这限制了存储密度和功率效率。

本公开提供了一种具有存储单元的模拟CAM(“aCAM”)电路,该存储单元包括至少一个三端存储器件。三端存储器件可以是非易失性存储器件,在一些示例中,该非易失性存储器件可以是三端晶体管。aCAM搜索多电平电压并将模拟值存储在非易失性存储器中。一个模拟单元可以实现与多个数字CAM单元等效的功能,从而在实现某些基于CAM的功能时在面积和节能方面具有显著优势。可以用标准的多电平数字值驱动aCAM电路,也可以直接用模拟信号驱动aCAM电路,从而为增加的功能性提供了额外的潜力,同时消除了对昂贵的模数转换的需求。更具体地,当模拟输入电压与由aCAM单元限定的特定范围匹配时,aCAM单元输出匹配。

更具体地,根据本公开的aCAM可以匹配“高电压边界”和“低电压边界”之间的所有的值、或者在包括非二进制值的范围内的所有的值。这些高的和低的值是通过对aCAM的三端存储器件进行编程来设置的,在本公开中可将其称为Vhigh和Vlow。Vhigh和Vlow为可以被存储在单元中的值的范围设置边界,以便该单元可以存储模拟值。aCAM中的存储单元可以存储Vhigh所限定的值和Vlow所限定的值之间的任何值。如果Vhigh=Vmax,其中Vmax是三端存储器件的最大可编程电压,并且Vlow=Vmin,其中Vmin是三端存储器件的最小可编程电压,则存储值是“X”,如在三进制CAM中那样。

高电压边界Vhigh和低电压边界Vlow分别可以通过将可编程存储器件的栅极电压阈值移位来设置,这将在下面更详细地描述。aCAM的一个例子包括以行和列布置的多个单元。每个单元对搜索的数据线电压同时执行两个模拟比较:“大于”和“小于”,与数字方式相比,处理时间和能耗大大减少。在各种示例中,可以用标准的多电平数字值或直接用模拟信号来驱动aCAM。当移除了昂贵的模数转换时,这为增加的功能性提供了额外的潜力。所提出的忆阻器aCAM的显著的节能性使CAMs可以应用到更通用的计算和其他新的应用场景中。

在结构上,在本文公开的示例中,本文公开的aCAM的每个存储单元包括设置高电压边界的“高侧”和设置低电压边界的“低侧”。单元的每一侧都包括三端存储器件。如果存在匹配,即,如果在低侧施加到三端存储器件的电压高于低电压边界,并且在高侧施加到三端存储器件的电压低于高电压边界,则在存储单元的匹配线上指示匹配。具体而言,存储器件不会激活(“导通”)以使匹配线放电或下拉匹配线。aCAM包括这种单元的阵列、输入模式被加载在其中的搜索数据寄存器、以及从匹配线产生匹配位置的编码器。

但是,请注意,本文所示的可实现aCAM单元的结构仅仅是可实现aCAM单元的示例性方式。受益于本公开的本领域技术人员可以实现aCAM单元的所公开功能可以被执行的其他替代结构。因此,要求保护的主题不仅包括本文公开的那些方式,还包括执行所公开功能的等同结构。

现在转向附图,本文公开的aCAM可以在数字应用中以及在模拟应用中使用以执行传统的TCAM功能和操作。下面进一步讨论的图1示出了aCAM的数字应用的一个特定示例。图1概念性地描绘了根据要求保护的主题的一个或多个示例的模拟内容可寻址存储器(“aCAM”)100。在图1的示例中,aCAM 100被用于数字应用中,其中输入搜索模式和存储在aCAM 100中的值是数字的。

aCAM 100包括搜索数据寄存器105、模拟存储单元阵列110和编码器115。模拟单元阵列110存储W个“存储的字”0至W-1。每个存储的字都是值的模式,其中的至少一些可以是如下所述的模拟值。搜索数据寄存器105在使用中可以被加载模拟或二进制输入模式,该模拟或二进制输入模式可以在模拟单元阵列110的内容中被搜索。图1的示例对二进制输入模式进行操作,如进入数据线寄存器的“n位”所示。下面将进一步讨论对模拟搜索模式进行操作的示例。因此,不需要像数字CAM那样在两列中存储两位数据,aCAM单元的一列可以编码四个模拟值。

模拟单元阵列110包括以行和列布置的多个模拟单元120(仅示出一个),如图2所示的并在下面进一步讨论的。在搜索期间,加载到搜索数据寄存器105中的模拟输入模式通过多条搜索线125传递到模拟单元阵列110。除了搜索线之外或代替搜索线,一些示例可以使用数据线。然后每个单元120指示模拟输入模式的值是否与单元120中包含的值的范围匹配,该值的范围包括非二进制值。

通过多条匹配线130将关于单元是否包含匹配的指示传递给编码器115。请注意,如果搜索的字(或模式)与单个行中的存储的字匹配,则找到匹配。匹配线不输出单个单元的匹配,而是输出存储的行字是否与搜索的数据(行)匹配。更具体地,匹配线130沿着行被预充电为高,数据沿着列在搜索线125(或数据线)上被搜索,如果搜索的内容与存储的内容不匹配,则130放电并变低。如果出现匹配,则匹配线130保持高。

编码器115是优先级编码器,其返回与模拟单元阵列110的匹配位置。注意,在一些示例中,特别是在识别和期望多个匹配位置的示例中,可以省略编码器115。例如,由于“不考虑”值可能被包括在输入模式中,因此可能在W个存储的字中找到多个匹配。一些示例可能希望识别不止一个或甚至所有的匹配位置,这些示例将省略编码器115。

图2示出了在一个特定示例中aCAM、例如图1中的aCAM 100的模拟单元阵列200的所选部分。aCAM单元205被布置在行210和列215中,并且每个都可以在数据线DL1、DL2上单独地搜索。在匹配线ML1、ML2上指示是否通过每个aCAM单元的Vhigh和Vlow编程值而从DL1和DL2上的数据以及存储在行中的数据中找到了匹配项。如受益于本公开的本领域技术人员将理解的,模拟单元阵列200通常将大于2×2阵列。确切的大小将特定于实施方式。出于说明性目的而示出了2×2部分,但不是限制。

每个aCAM单元205包括两个存储器件M1、M2(未单独显示),其用于限定存储在相应aCAM单元205中的值的范围。

图3描绘了在某些示例中实现aCAM单元300的电子电路,该电子电路可用于实现图2的aCAM单元205。aCAM单元300包括“高侧”303(分界线305的右侧)和“低侧”306(分界线305的左侧),之所以称为“高侧”和“低侧”是因为图2的存储器件M1和存储器件M2可以被编程为分别确定高电压边界和低电压边界的值。

高侧303可以包括第一三端存储器件310。低侧306可以包括第二三端存储器件312。在该示例中,三端存储器件310和312在本文中可以被称为三端晶体管。然而,应当理解,可以实现其他三端存储器件。第二三端晶体管312可以包括与晶体管310相似的架构,分别包括控制栅极310a、可调节层310b、以及源极端310c和漏极端310d。控制栅极310a可以接收电压,使得在电压超过晶体管310和/或312的电压阈值的情况下,晶体管310和/或312可以被“导通”。换句话说,晶体管310和/或312可以被翻转到导电状态(即,电流可以在源极310c和漏极310d之间流动)。

可调节层310b可以调节或以其他方式使晶体管310和/或312的电压阈值移位。例如,在一些实施方式中,晶体管310和/或312可以是离子浮栅存储器。在该示例中,可调节层310b可以是浮置栅极,例如用于实施“闪存”单元,并且可以被充电到预定的电平以用于调节晶体管310的阈值电压。具体而言,浮置栅极310b处的较大电荷可以屏蔽由晶体管310和/或312从控制栅极310a产生的电场,这可以引起在控制栅极310a处施加更大的阈值电压以将晶体管310和/或312翻转到导电状态。

在一些示例实施方式中,三端存储器件310和/或312可以是场效应晶体管(FET),诸如铁电场效应晶体管(FeFET)。在该示例实施方式中,可调节层310b可以是铁电层,其可以被充电以使得所产生的极化使晶体管310和/或312的阈值电压移位。在该实施方式中,铁电材料可以被连续地调节以动态地控制晶体管310和/或312的阈值电压。

转向图4,示出了示例图400,该示例图400表示用于调节晶体管310和/或312的阈值电压的示例范围410。例如,较低的电压边界可以被调节到比完全擦除状态412大的中间电压。在另一个示例实施方式中,较高的电压边界可以被调节到比完全编程状态414小的中间电压。

这里,“完全擦除”或“完全编程”状态取决于可调节机制。例如,在实施FeFET的情况下,范围可以跨越晶体管的铁电材料中的极化电荷。在另一个示例中,可以实现闪存器件,其中晶体管包括如上所述的浮置栅极。在该实施方式中,从“完全擦除”状态到“完全编程”状态的范围可以跨越浮置栅极的完全充电状态到完全不充电状态。

在该示出的示例中,“完全编程”状态414大致对应于1.5伏的导通电压,并且“完全擦除”状态412大致对应于.05伏的导通电压。就本示例而言,任何中间状态都可以在“完全擦除”状态的导通电压(较低的边界)和“完全编程”状态的导通电压(较高的边界)所指示的范围410内。应当理解,这些电压仅是示例性的,并且可以取决于如上所述实现的存储器件来实现许多不同的电压范围。

回到图3,晶体管312与晶体管310一起可以指示搜索值是否匹配。具体地,晶体管312和晶体管310可以指示搜索值是否在由晶体管310和312的阈值电压调节所限定的匹配范围内。例如,晶体管310可以是对模拟CAM单元的左侧范围进行编码的n型三端晶体管。换句话说,晶体管310可以设置其中发生匹配的预定电压范围的上边界。具体地,可以在控制栅极310a处以输入电压的形式接收输入搜索值。如果输入电压小于晶体管310的阈值电压(如上述由可调节层310b所确定),则晶体管310不被“导通”,并且电流不在源极310c和漏极310d之间流动。在这种情况下,晶体管310不下拉匹配线308。

相反,晶体管312可以是对模拟CAM单元的右侧范围进行编码的p型三端晶体管。换句话说,晶体管312可以设置其中发生匹配的预定电压范围的下边界。像晶体管310一样,晶体管312可以接收输入搜索值。如果输入电压大于晶体管312的阈值电压,则晶体管312不被“导通”。在这种情况下,晶体管312不下拉匹配线308。

因此,如果输入搜索值是在由晶体管310和312确定的范围内的电压,则匹配线308保持为高,即被充电。出于该示例的目的,如上面关于图2所述,示例性匹配线308可以是ML1或ML2的一部分。另外,如以上关于图2所描述的,可以从DL1或DL2接收由晶体管310和312接收的输入搜索值。

图5概念性地示出了在某些示例中可以用于设置图2中的aCAM单元205的存储的模拟值或范围的电阻差500。当存储模拟值时,通过两个电压阈值、分别为高电压阈值Vhigh和低电压阈值Vlow在单元中对模拟数字进行编码,单元的模拟值(或电压的范围Vrange)位于其之内。下面将进一步讨论可以实现aCAM单元205的几种电子电路。在以下描述的示例中,图6至图9的三端存储器件T7和/或T8可以具有有效电阻r=Ids/dVds,其中Ids是存储器件上的漏极-源极电流,Vds是存储器件上的漏极-源极电压。如所示,Rlow和Rhigh可以分别是aCAM单元的“低侧”和“高侧”的有效电阻,如本文进一步所述。因此,如电阻差500所示,每个存储器件T7和/或T8的有效电阻可以跨越Rmin和Rmax之间的值的范围。

图6描绘了实现aCAM单元600的示例电子电路。aCAM单元600可以用于实现例如图2的aCAM单元205。aCAM单元600可以包括“低侧”603和“高侧”606,之所以称为“低侧”603和“高侧”606是因为三端存储器件T7和三端存储器件T8被编程为设置电压范围Vrange的下边界电压Vlow和上边界电压Vhigh以用于确定DL的输入电压VDL是匹配(ML保持高)或不匹配(ML放电到地)。具体地,存储器件T7和/或T8可以被编程为用于为存储器件T7和/或T8设置相应的阈值电压。用于存储器件T7和/或T8的阈值电压分别与T7和/或T8的有效电阻相关,并且T7和/或T8的有效电阻分别与下边界电压和/或上边界电压直接相关。因此,用于存储器件T7和T8的阈值电压的编程可以分别确定下边界电压和上边界电压,并且如果Vlow<=VDL<=Vhigh,则可以发生对于aCAM单元600的匹配。否则,可以指示不匹配。

低侧603包括第一晶体管T1和第一三端存储器件T7。三端存储器件T7与第一晶体管T1一起限定了第一分压器609,并且在三端存储器件T7被编程时限定了如上所述的值的范围Vrange的低值Vlow。低侧603还包括第二晶体管T2,该第二晶体管T2在使用中指示搜索的值是否高于低值Vlow,如本文中进一步讨论的。

高侧606包括第三晶体管T3和第二三端存储器件T8。第二三端存储器件T8与第三晶体管T3一起限定了第二分压器610。当第二三端存存储器件T8被编程时,存储器件T8限定了如上所述的值的范围Vrange的高值Vhigh。高侧606还包括另一个存储器件T6,在使用中,该存储器件T6指示搜索的值是否低于高值Vhigh。在该示例中,高侧606还包括由晶体管T4和T5形成的示例反相器。注意,尽管在示出的示例中T4/T5反相器在高侧606,但是在其他示例中它可以在低侧603实现。

三端存储器件T7和T8可包括与以上关于图3描述的三端晶体管310和312类似的架构。例如,三端存储器件T7和T8可以是非易失性存储器件并且可以是晶体管。此外,三端存储器件T7和T8可以包括控制栅极310a、可调节层310b、和/或源极310c和漏极310d。存储器件T7和T8可以被调节或以其他方式被偏置以分别设置存储器件T7和/或T8的电压阈值。在该示例实施方式中,可以分别通过编程线612和613来设置每个存储器件T7和T8的阈值电压。例如,在一些实施方式中,存储器件T7和/或T8可以是闪存器件,其包括具有浮置栅极的浮栅晶体管。浮置栅极可以通过编程线612和613分别充电到特定电平以用于设置相应晶体管的阈值电压。以此方式,可以连续地调节闪存器件以动态地控制存储器件T7和/或T8的阈值电压,该阈值电压动态地设置aCAM单元600的期望Vrange。在一些示例中,施加在第一晶体管的浮置栅极处的电压可以是介于0和第一晶体管的漏极处的电压之间的预定的固定值。类似地,施加在第二晶体管的浮置栅极处的电压可以是介于0和第二晶体管的漏极处的电压之间的预定的固定值。

在一些示例实施方式中,存储器件T7和/或T8可以是场效应晶体管(FET),诸如具有铁电层的铁电场效应晶体管(FeFET),该铁电层可以被充电以设置存储器件T7和/或T8的阈值电压。以这种方式,铁电材料可以被连续地调节以动态地控制存储器件T7和/或T8的阈值电压,该阈值电压动态地设置aCAM单元600的期望Vrange。在该示例中,存储器件T7和/或T8可以是p型FeFET晶体管,其确保存储器件T7和/或T8处的电压在搜索操作期间保持恒定。在一些示例中,施加在第一晶体管的铁电层处的电压可以是介于0和第一晶体管的漏极处的电压之间的预定的固定值。类似地,施加在第二晶体管的铁电层处的电压可以是介于0和第二晶体管的漏极处的电压之间的预定的固定值。

aCAM单元600还包括匹配线ML、搜索线SLHI、SLLO和数据线DL、DL1。如上所述,T7/T1的对和T8/T3的对限定了相应的分压器609和610。当分别在编程线612和613处对存储器件T7和T8进行编程时,分压器609、610被用于对Vhigh和Vlow进行编码。因此,在该示例中,在晶体管T1和T3的栅极电压下实现用于每对T1/T7和T3/T8的模拟搜索以创建可变电阻分压器。

更特别地,存储器件T7和晶体管T1形成分压器609,其中T7是具有可调节电压阈值的存储器件(例如三端晶体管),并且T1是电阻随着数据线DL上的输入电压而增加的晶体管。因此,在T7处存在可编程的阈值电压,并且当数据线DL输入电压小于阈值时,下拉晶体管T2导通,从而下拉匹配线ML而产生“不匹配”结果。类似地,存储器件T8和晶体管T3形成另一个分压器610,并且内部电压节点在被施加到另一个下拉晶体管T6之前被晶体管T4、T5反相。结果,通过在三端存储器件T7和T8上的适当地编程的电压阈值,仅当数据线DL上的电压在由被编程的T7和T8的电压阈值限定的特定范围内时,aCAM单元600才使匹配线ML保持高。相反,当数据线DL上的电压超出限定范围时,T6导通从而下拉匹配线ML,从而产生“不匹配”搜索结果。

通过来自图6的“低侧”603处的串联连接的晶体管和T7/T1的分压器效应,可以更好地理解搜索电压范围和三端存储器件电压阈值之间的关系。在操作期间,由于跨晶体管沟道的电压降相当小,所以晶体管T1、T2大多工作在三极管状态。在这种情况下,只有当VDL大致遵循以下公式时,才能得出匹配线被下拉(即不匹配),而通过数值模拟可以获得更准确的关系:

VDL≥GV1·(VSLHI/VTH,ML-1)/β+VTH

其中,VTH和VTH,ML分别是分压器中的晶体管的阈值电压和对ML进行放电或下拉的晶体管的阈值电压,并且β是恒定系数。GV1是在固定电压施加到存储器件T7的相应栅极端时三端存储器件T7的有效电导(I/V),其中I是流经相应存储器件T7的沟道的电流,V是相应存储器件T7两端的电压降。由于图6的T4和T5所形成的反相器,上面所示的类似的逆向方程式可以适用于“高侧”606和来自图6的串联连接的晶体管和T8/T3的分压器效应。

在以下情况下,aCAM单元600将输出匹配结果:

f(GV1)<VDL<f(GV2),

其中,f(GV1)和f(GV2)分别是图6中G1、G2处的电压。

图7描绘了在一些示例中用于aCAM单元700的电子电路的另一示例实施方式,其可以用于实现图2的aCAM单元205。图7可以包括与以上相对于图6描述的组件类似的示例组件,包括晶体管T1-T6、存储器件T7-T8和匹配线ML。类似于图2的示例aCAM单元200,aCAM单元700可以包括“高侧”703和“低侧”706,之所以称为“高侧”703和“低侧”706是因为三端存储器件T7和T8被编程为分别确定上边界电压阈值和下边界电压阈值。具体地,可以通过分别在编程线712和713处在搜索操作期间以固定和预定的导通电压来驱动每个相应的存储器件来对T7和T8进行编程。该电压可以驱动存储器件的可调节层,例如图3的可调节层310b。例如,在存储器件T7和/或T8是浮栅晶体管的情况下,预定的电压可以分别驱动每个晶体管的可调节层处的电荷水平。作为另一示例,在存储器件T7和/或T8是场效应晶体管的情况下,预定的电压可以分别驱动晶体管的极化。

高侧703包括晶体管T1和非易失性可编程三端存储器件T7。存储器件T7与晶体管T1一起限定了用于施加在SLP上的电压的第一分压器709,并且当存储器件T7被编程时,即,通过编程线712,存储器件T7限定了值的范围Vrange的高值Vhigh。高侧703还包括第二晶体管,该第二晶体管在使用中指示搜索的值是否与高值Vhigh匹配,如下面进一步讨论的。低侧706包括晶体管T3和非易失性可编程三端存储器件T8。存储器件T8与晶体管T3一起限定了第二分压器710。当三端存储器件T8被编程时,即,通过编程线713,晶体管T8限定了值的范围Vrange的低值Vlow。低侧706还包括第四晶体管T4,该第四晶体管T4在使用中指示搜索的值是否与低值Vlow匹配。

aCAM单元700还包括匹配线ML、用作地的字线WL、搜索线SLP、SLN和数据线DLP、DLN。如上所述,T7/T1的对和T8/T3的对限定了相应的分压器709、710。当分别经由编程线712和713对存储器件T7、T8的电压阈值进行编程时,分压器709、710的三端存储器件T7、T8用于对Vhigh和Vlow进行编码。(搜索的数据是否与存储的数据匹配是分压器的函数(随着编程的T7/T8电压阈值))。因此,在该示例中,在每对T7/T1和T8/T3中,在晶体管T1和T3的栅极电压处执行模拟搜索以创建可变电阻分压器。

在编程了Vhigh的高侧703上,Vsearch,即数据线DLP上的搜索电压,应足够低以使G1处的电压(由T1和T7之间的分压器产生)不会使T2下拉晶体管“导通”。如果DLP太高(指示搜索值高于Vhigh边界),则T1为低电阻,因此G1处的电压将类似于SLP上的搜索电压,因此非常高的电压导致T2“导通”并将ML上的预充电电压放电,由此指示不匹配。在低侧706,DLN上的Vsearch应该足够高,以使G2处的电压(由T8和T3之间的分压器产生)相当低,并且不会使下拉晶体管T4“导通”。如果DLN太低(表示搜索值低于Vlow边界),则T3为高电阻,因此G2上的电压~SLn搜索电压会导致不匹配和放电,类似于上述。本示例使用将期望的模拟搜索值到用于T1和T3线的低栅极电压和高栅极电压的逆向映射。因此,例如:SLP=SLN=0.8V、DLP=0V、DLN=1.5V。图4示出了T7和T8的示例状态。

注意,可以使用金属氧化物半导体场效应晶体管(“MOSFET”)来实现晶体管T1-T6和存储器件T7-T8的任何组合。在此示例中,T1是正或“p”MOSFET,而T3是负或“n”MOSFET。相对于其中T1和T3均为忆阻器/晶体管成对反转的“n”个MOSFET的示例,这反过来又为更多的模拟电平提供了潜力。从电路设计中产生的这些和其他优点对于受益于本公开的本领域技术人员将变得显而易见。

图7中的示例aCAM单元700提供了许多用于调节单元性能的“调节旋钮(tuningknob)”:例如DLP、DLN、SLP、SLN上的电压以及T7和T8的编程电压阈值。用于T1和T2下拉晶体管的作为地的源极也可以更改为全局非零电压值以帮助调节接近匹配的情况。其他调节旋钮或用于调节的源极对于受益于本公开的本领域技术人员而言可能变得显而易见。

图8描绘了实现aCAM单元800的另一示例电子电路。aCAM单元800可以用于实现例如图2的aCAM单元205。aCAM单元800可以包括与以上相对于图6所描述的组件相似的组件。类似于图6的aCAM单元600,CAM单元800可以包括“高侧”803和“低侧”806,之所以称为“高侧”803和“低侧”806,是因为三端存储器件T7和三端存储器件T8被编程为确定用于确定输入匹配的阈值范围的上边界电压阈值和下边界电压阈值。

像aCAM单元600一样,aCAM单元800可以包括晶体管T1-T6和存储器件T7-T8。例如,高侧803可以包括第一晶体管T1和第一三端存储器件T7,其中,存储器件T7与晶体管T1一起限定了第一分压器809,并且在存储器件T7被编程时限定了值的范围Vrange的高值Vhigh。高侧803还包括第二晶体管T2,该第二晶体管T2在使用中指示搜索的值是否与高值Vhigh匹配,如本文进一步讨论的。类似地,低侧806包括晶体管T3和存储器件T8,它们共同限定了第二分压器810。当对存储器件T8进行编程时,存储器件T8限定了值的范围Vrange的低值Vlow。低侧806还包括另一个晶体管T6,该晶体管T6在使用中指示搜索的值是否与低值Vlow匹配。在该示例中,低侧806还包括由晶体管T4和T5形成的示例反相器。注意,尽管在示出的示例中T4/T5反相器在低侧806,但是在其他示例中它可以在高侧803实现。

然而,与示例aCAM单元600不同,该示例中的三端存储器件T7和T8可以是n型晶体管。例如,三端存储器件T7和T8可以是n型FeFET,并且晶体管T1和T3可以是p型晶体管。像在先前的示例中一样,可以通过编程线来设置每个存储器件T7和T8的阈值电压,在这种情况下分别是编程线812和813。

像图6的aCAM单元600一样,aCAM单元800也可以包括匹配线ML和搜索线SLHI。aCAM单元800可以进一步包括用作地的字线WL和可以携带输入搜索值的数据线DL。如以上关于图6所描述的,T7/T1的对和T8/T3的对可以限定相应的分压器,在这种情况下为分压器809和810。当分别在编程线812和813处对存储器件T7和T8进行编程时,分压器809、810用于对Vhigh和Vlow进行编程。因此,在该示例中,在每对T1/T7和T3/T8中,在晶体管T1和T3的栅极电压处执行模拟搜索以创建可变电阻分压器。

更具体地,存储器件T7和晶体管T1形成分压器809,其中T7可以是具有可调电压阈值的晶体管,并且T1是电阻随着数据线DL上的输入电压而增加的晶体管。因此,在T7处存在可编程的阈值电压,并且当数据线DL输入电压小于阈值时,下拉晶体管T2导通,从而下拉匹配线ML而产生“不匹配”结果。类似地,存储器件T8和晶体管T3形成另一个分压器810,并且内部电压节点在被施加到另一个下拉晶体管T6之前被晶体管T4、T5反相。结果,通过在三端存储器件T7和T8上的适当地编程的电压阈值,当数据线DL上的电压在由被编程的T7和T8的电压阈值限定的特定范围内时,aCAM单元800使匹配线ML保持高。相反,当数据线DL上的电压超出限定范围时,ML被下拉,并且搜索结果不匹配。

图9描绘了实现aCAM单元900的另一示例电子电路。aCAM单元900可以用于实现例如图2的aCAM单元205。aCAM单元900可以包括与以上相对于图8所描述的组件相似的组件。类似于图8的aCAM单元800,aCAM单元900可以包括“高侧”903和“低侧”906。像aCAM单元800一样,aCAM单元900可以包括晶体管T1-T6和存储器件T7-T8。类似于图8的aCAM单元800,T7/T1的对和T8/T3的对可以分别在高侧903和低侧906处限定相应的分压器。在这种情况下,T7/T1和T8/3分别形成分压器909和910。如上所述,当存储器件T7和T8被编程时,分压器909、910用于对Vhigh和Vlow进行编码。

像图8的aCAM单元800一样,aCAM单元900也可以包括匹配线ML和搜索线SLHI,以及字线WL和数据线DL。与aCAM单元800的存储器件T7/T8不同,图9的存储器件T7/T8可以与数据线DL连接。例如,图9的存储器件T7/T8可以由数据线DL来编程,而不是如上文关于图8所述的由编程线812和813来编程。经由数据线DL对存储器件T7/T8编程可以使静态电流从SLHI到字线WL的泄漏更小。另外,在搜索期间,晶体管T1和存储器件T7形成类似于CMOS的反相器,而不是如图6至图8中举例示出的NMOS反相器。这种类似于CMOS的反相器可以实现数据线DL上的电压和G1处的电压之间的更尖锐的转变曲线(inversion curve),从而允许更多的位,即,可以由aCAM搜索和存储的在数据线DL上的更多离散的电压电平。为了避免干扰T7/T8的状态,可以将DL上的搜索电压保持在阈值以下。

到此结束了详细描述。上面公开的特定示例仅是说明性的,因为本文描述的示例可以以受益于本文教导的本领域技术人员显而易见的不同但等同的方式修改和实践。此外,除了权利要求中描述的以外,没有意图限制本文中所示的构造或设计的细节。因此,显而易见的是,以上公开的特定示例可以被改变或修改,并且所有这样的变化都被认为在所附权利要求的范围和精神之内。因此,本文所寻求的保护如权利要求书所述。

17页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:存内逻辑电路

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!