CN1427994A - 组合的按内容寻址存储器 - Google Patents
组合的按内容寻址存储器 Download PDFInfo
- Publication number
- CN1427994A CN1427994A CN01808869.4A CN01808869A CN1427994A CN 1427994 A CN1427994 A CN 1427994A CN 01808869 A CN01808869 A CN 01808869A CN 1427994 A CN1427994 A CN 1427994A
- Authority
- CN
- China
- Prior art keywords
- cam
- address
- line
- connecting circuit
- bus
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C15/00—Digital 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
Landscapes
- Dram (AREA)
- Static Random-Access Memory (AREA)
- Bus Control (AREA)
Abstract
用于高速连接电路的一种方法和电路,它使几个按内容寻址的存储器能够合并成一个更大的组合的按内容寻址存储器,在各个存储器的原始响应时间方面只有微不足道的延迟。这种连接电路只提供了至总线***的连接,在***的不同CAM器件之间则不需要连接,因而能够将一个CAM和一个CAM连接电路组合到单一的设备中,比如一个芯片。这种芯片可以用作增加CAM存储器的模块,将它们直接添加至总线***而不用任何附加的连接电路,如已知的标准存储器芯片,比如RAM。本发明的连接电路也可以通过把存储器单元划分成组,在CAM器件之内产生一个分级结构,每一组都通过依据本发明的连接电路通向更大的组合CAM器件。在这种结构中,每组内的优先级功能只在较少的单元上起作用,由于制作连接电路只需要相对较少的逻辑门,实现CAM器件的逻辑门就能轻易减少。在组合的CAM器件中,几个CAM通过它们各自的连接电路,连接到一条地址总线和一条数据总线。在读写模式下,该连接电路将连接两组线,因此对于读写操作是透明的。在搜索模式(按内容寻址模式)下,该连接电路将按照CAM的响应,选择和设置数据总线的若干条线,以便输出一个匹配单元的地址,它在预先规定的方向上是最高的。该连接电路增加了所需的逻辑功能和连线,以便将CAM模块的按内容寻址功能扩展到更大的地址范围,设置了更多的总线连线,以便在这种更大的范围内写单元的地址,并且通过遮掩CAM地址的数位——要是它们会改变具有更高地址之单元的地址的话,检验了在整个***中没有其它的具有更高地址的单元响应。以这种方式,整个CAM的总体就能够体现更大规模的单一CAM的功能。
Description
技术领域
本发明涉及用于高速连接电路的一种方法和电路,它使几个按内容寻址的存储器能够合并成一个更大的组合的按内容寻址存储器。
背景技术
在本发明的框架内,术语按内容寻址的存储器(CAM)将一般是指一种存储器设备,它除了存储器的正常存放和检索功能以外,还具有一种按内容寻址的功能,其操作可以介绍如下:
当一种按内容寻址的存储器设备处于按内容寻址模式时,某个给定的数值设置在若干总线接口线上,该设备的响应是在另一组总线接口线上,设置表示一个存储器单元位置的数据。该单元——下文中称为响应单元——已经存放的数据,与第一总线接口线上给出的数据(下文中称为匹配数据)核实了某种预先规定的关系。在某些类型的CAM中,第一组和第二组总线接口线实际上可能是相同的线,同时用于操作周期的以上两个阶段。下文中,第一组和第二组总线接口线将被称为地址总线和数据总线。
例如,在专利US 4805093、US 5502832和US 5568416中,介绍了以上类型的存储器设备。
在本发明的框架内,CAM也将是指专利PCT/IL 00/00121和PCT/IL 00/00327中介绍的呼出存储器类型。呼出存储器也可以具有一种“范围”功能,规定某个地址值,对它将使用术语“起始地址”。起始地址可以作为输入传递给呼出存储器。
在按内容寻址的模式下,这种起始地址规定了在某个给定方向搜索功能的开始位置,并且可以如此规定搜索,使得在具有匹配数据的所有存储器单元中,在某个预先规定的方向上,呼出存储器的地址输出是最大的,但是小于起始地址。在呼出存储器的情况下,按内容寻址模式也是指呼出模式。
现有的CAM器件的容量有限,因为要实现它们需要大量的逻辑门。结果,需要大的按内容寻址存储器空间时,必须使用多个CAM器件。然而,将许多CAM合并成一个更大的按内容寻址存储器,需要专用的连接电路或连接。对于整个按内容寻址的存储器,这种连接电路又将导致延迟,造成更长的响应(搜索)时间。
为了以模块的方式串联CAM,已经提出了多种方法(WO99/23662、US 5930359),然而这些方法隐含着响应时间变慢。因此,例如在US 5930359的情况下,搜索结果是以流水线方式通过所有的CAM,因而在最终的响应中造成潜在的延迟,与CAM的数目成正比。在WO99/23662中,展示了一种改进的***,其中只有一个逻辑信号从一个CAM传到另一个CAM,因此使得延迟等于基本的门延迟乘以CAM的数目。
在两种情况下,几个CAM合并成单一的大按内容寻址存储器,都会造成存储器响应时间变慢。
这些合并方法的另一个缺点是破坏了总线***的并行架构,因为必须提供不同CAM器件之间的相互连接。这又降低了***的组合性和可扩展性。
所以,要设计一种用于CAM器件的模块连接电路,要求它不增加延迟,同时保持了总线***的并行架构。要设计一种用于CAM器件的模块连接电路,进一步要求它与CAM器件完整地结合在一起,使得CAM和连接电路可能作为一个模块单元而合并,使现有的存储器实现快速和简单的扩大,而无须增加更多的电路。
要设计一种用于CAM器件的模块连接电路,也要求它能够建造大而复杂的CAM器件,同时减少这种结构所需的逻辑门数目和和连线数量。
发明内容
用于高速连接电路的一种方法和电路,它使几个按内容寻址的存储器能够合并成一个更大的组合的按内容寻址存储器,在各个存储器的原始响应时间方面只有微不足道的延迟。
这种新颖的连接电路只提供了至总线***的连接,在***的不同CAM器件之间则不需要连接,因而能够将一个CAM和一个CAM连接电路组合到单一的设备中,比如一个芯片。这种芯片可以用作增加CAM存储器的模块,将它们直接添加至总线***而不用任何附加的连接电路,如已知的标准存储器芯片,比如RAM。
本发明的连接电路也可以通过把存储器单元划分成组,在CAM器件之内产生一个分级结构,每一组都通过依据本发明的连接电路通向更大的组合CAM器件。在这种结构中,每组内的优先级功能只在较少的单元上起作用,由于制作连接电路只需要相对较少的逻辑门,实现CAM器件的逻辑门就能轻易减少。
在组合的CAM器件中,几个CAM通过它们各自的连接电路,连接到一条地址总线和一条数据总线。在读写模式下,该连接电路将连接两组线,因此对于读写操作是透明的。在搜索模式(按内容寻址模式)下,该连接电路将按照CAM的响应,选择和设置数据总线的若干条线,以便输出一个匹配单元的地址,它在预先规定的方向上是最高的。该连接电路增加了所需的逻辑功能和连线,以便将CAM的按内容寻址功能扩展到更大的地址范围,设置了更多的总线连线,以便在这种更大的范围内写单元的地址,并且通过遮掩CAM地址的数位——要是它们会改变具有更高地址之单元的地址的话,检验了在整个***中没有其它的具有更高地址的单元响应。以这种方式,整个CAM的总体就能够体现更大规模的单一CAM的功能。
附图简要说明
图1显示了某个连接电路的一般安排,用于依据本发明的CAM器件。
图2显示了几个CAM如何能够利用本发明的CAM连接电路连接每个CAM,合并成一个更大的CAM。
图3显示了几个CAM如何能够进行分组以形成更大的CAM,这些CAM组也依据本发明的连接电路连接,因此再形成更大的CAM存储器。
图4显示了依据本发明的CAM连接电路中的组件。
图5显示了在一个“或”功能中,优先级掩码如何连接到数据总线。
图6显示了实施优先级掩码的一个实例。
具体实施方式
本发明的目的是提供一种高速连接电路,它使几个按内容寻址的存储器能够合并成一个更大的组合的按内容寻址存储器。依据本发明的方法和电路,新连接电路只提供了至总线***的连接,同一***之内不同的CAM之间则不需要连接。本发明之连接电路的过人之处在于,由连接电路增加的延迟非常小,而且与安装的CAM数目无关。因此,这种新颖的连接电路将安装的所有CAM合并成一个更大规模的按内容寻址存储器,其响应时间几乎与单一CAM器件的响应时间相同。
本发明之连接电路也可以用于呼出类型存储器的相互连接。这些存储器设计为或者在读写模式下运行,或者在呼出模式下运行。呼出存储器包括一种范围电路,在呼出模式下运行时,它将在总线上输出匹配单元的地址,该地址在预先规定的方向上具有最高的数值,但是低于某个起始地址。在PCT/IL 00/00121和PCT/IL 00/00327中,已经介绍了这种存储器。
以下的实例可能最好地说明了本发明之连接电路。如果某个可用的CAM存储器设备包括2w1个基本单元,每个单元能够存放Wd位,这种新颖的连接电路将提供装置来合并多达2w2个同样的CAM,以便产生一个包括2w1+w2个单元的CAM存储器。在这个实例中,所有的CAM器件具有相同的规模,也就是相同数目的单元,但是本发明也能够提供用于几个不同规模的CAM器件的连接电路。
本发明的一个优点在于,产生的更大的按内容寻址存储器阵列,其运行速度将与每个单独的CAM几乎相同。只增加了最小的延迟。
符合本发明之方法和电路进一步的优越特性,依据本发明而设计的连接电路将提供一种模块化的连接电路,仅仅连接到CAM模块和总线***,也就是不需要连接到***的其它CAM。有了这种特性,就能够将一个CAM和一个CAM连接电路结合在单一的设备中,比如芯片。然后,为了形成更大的存储器,几个这种类型的设备或芯片可以直接用于总线***中,而无需任何另外的连接电路,其方式与增加几个标准的存储器芯片(例如随机存取存储器)到总线***相同。
本发明的再一个优越特性在于,依据本发明而设计的连接电路能够用于在CAM器件之内产生一个分级结构。组都利用依据本发明的连接电路连接到更大的CAM器件。使用这种分级,能够减少实施CAM所需的逻辑门,因为每组内的优先级功能只在较少的单元上起作用。由于对于一组内的所有单元只须提供一个这种连接电路,制作连接电路需要的逻辑门也相对较少。由于上面列举的、本发明的优点,实现CAM器件的逻辑门就能轻易减少。
如果本发明的连接电路用于连接呼出存储器,也提供一种起始地址连接电路。该连接电路将***总线从接收起始地址,只有当CAM的至少一个单元(在预先规定的方向上)具有低于起始地址的地址时,才使CAM可用。
下文中将针对一个优选实施例,介绍本发明。不过应当理解,在仍然保持不超出本发明的范畴——如文中的介绍和权利要求——的情况下,可以作出本发明之连接电路和电路的许多变化和修改。
参考图1,其中显示了一个CAM存储器,带有依据本发明的连接电路。连接电路通过Wa条地址线连接到地址总线。CAM通过Wb条地址线连接到连接电路,Wb小于或等于Wa。连线数目Wb为CAM器件操作需要的地址线数目,根据其指标。连接电路在一边也连接到数据总线,在另一边连接到CAM器件总线连线,从CAM器件读取数值或者向CAM器件写入数值期间,连接电路将连接两组总线连线,因此对于读写操作是透明的。在搜索模式(按内容寻址模式)下运行时,连接电路将按照CAM的响应,选择和设置数据总线的若干条线,以便在数据总线上输出一个表示CAM的一个匹配单元之位置(地址)的数值,只要在***中所有CAM的所有单元中,CAM的这个匹配单元是在预先规定的方向上具有最高的地址。
若干选择线连接到连接电路,用于在总线***的整个地址空间中,规定CAM和CAM连接电路的具***置。这种选择线往往用于在总线***中规定具有限制地址空间的某个设备的位置。典型情况下,选择线将被固定在预先规定的逻辑电平,因此在***的整个存储器范围中,规定了CAM单元的地址范围。
***总线的一组附加控制线也连接到连接电路,并从连接电路到达CAM器件。在图1中,从***总线到连接电路的控制线记为总线控制线,从连接电路到CAM器件的控制线记为连接电路控制线。这种控制线——携带着实施总线协议所需的信号——在总线***中被普遍使用。
安装在更大的CAM器件之内并通过本发明的CAM连接电路连接的CAM,在本文中将被记为CAM模块。
连接电路的目的是增加所需的逻辑功能和连线,以便将CAM模块的按内容寻址功能扩展到更大的地址范围。与在整个***中规定某个地址所需的数位相比,CAM模块——已经被设计为有限的规模——能够利用较少的数位来输出其响应单元之一的地址。CAM模块合并入更大的按内容寻址存储器之后,为了写地址,就需要设置附加数目的总线连线。不仅如此,在输出地址之前,有必要检验在整个***中没有其它的、具有更高地址的单元响应。然后,CAM总线将a)为了写延伸的响应单元地址而设置附加总线连线,b)则遮掩该地址的数位,如果它们会改变具有更高地址的某个响应单元的地址的话。
例如,某个大的CAM阵列可能设计为几个CAM器件合并而成,每个包含2w1个单元。这些CAM器件中的每一个将伸出w1条线,以设置它们对应的单一匹配单元的地址值。由2w2个CAM器件形成的、更大的***将需要w1+w2条线来输出地址值。那么,连接电路的作用将是连接CAM的w1条线,并适当地设置连接到数据总线的w2条线,使得整个CAM模块总体将体现更大规模的单一CAM的功能。
在图2中显示了几个CAM器件如何能够合并以形成一个更大的按内容寻址存储器。CAM和CAM连接电路在基本的CAM块中组合在一起,每个基本的CAM块由一个CAM模块和一个CAM连接电路组成。在基本的CAM块之间不需要相互连接;每个基本的CAM块仅仅连接到***总线。这就说明了本发明的CAM连接电路超过现有技术的优点。
对于现有技术的CAM,为了在一个更大的CAM阵列之内串联几个CAM模块,在CAM模块之间需要相互连接。所以不可能以模块化的方式扩大CAM阵列。
按照本发明的新颖设计,将CAM器件连接到CAM连接电路,几个CAM模块就能够模块化地聚集,以形成一个更大的CAM阵列。做到这一点所用的方式,与总线***中增加几个普通存储器器件——比如RAM——相同,在总线***之内不必增加或改变任何连接。
例如,假若CAM连接电路是与CAM器件一起整体实现(例如在同一个芯片中),那么就获得了一个新的CAM元件,它具有与标准的存储器器件——例如RAM——相同的组合性。
在图3中显示了CAM和CAM连接电路的一种分级结构,它可以用于产生一个大的CAM。单独的基本CAM块A1、A2、An中的每一个,是为了减少地址空间而设计的,所以减少了描述地址所需的位数,也减少了使用的逻辑门。然后,这些单独的CAM利用CAM连接电路连接成两个组A和B(A1至An为A组,B1至Bn为B组),它们分别将所述CAM连接到组总线A和B,从而获得了两个更大的CAM。然后,这两个更大的CAM利用两个附加的CAM连接电路G1和G2连接到***总线,这两个合成的CAM块——每块包括所述更大的CAM之一和连接电路G1和G2之一——又组合成规模更大的一个CAM。虽然这个实例仅仅展示了两个合成的CAM块,必须理解,任何数目的块都可以使用,并且同样的原理在相反方向也适用,也就是每一个字组可以包含几个更小的子组,等等。这种分级架构能够用于一个器件(比如一个芯片)之内,以获得大规模的CAM。
为了达到这种分级结构的目的,在每个CAM处提供了一种附加输出。如果发现连接的CAM中至少一个存储器单元匹配,就激活这种输出(匹配)。
在几个CAM模块合成一组,以便连接到更高级别的CAM连接电路的情况下,一种或功能——图3中记为H——应用于所有这些匹配线。然后,这个或的输出连接到级别更高的CAM连接电路。然后,如果在较低级别的组中连接的所有单元之中,至少一个单元匹配,这个信号就用于选择性地激活更高级别的连接电路。
在图4中显示了为呼出存储器设计的CAM连接电路优选实施例的框图,包括以下组件:
a)芯片选择:总线***中常用的逻辑电路,它使某个器件能够被激活。在本发明的连接电路中,芯片选择用于正常模式下,以便激活CAM进行读写操作。
b)块范围电路:范围电路是一种比较器电路,如果连接电路处于按内容寻址模式下,它把地址总线连线上设置的数据与选择线上设置的数据相比较。在预先规定的方向上,如果前一个较小或者相等,那么就发出块选择信号,它启动CAM器件。一条控制线(CO)也输入到CAM,以便在按内容寻址模式下选择性地操作CAM。
c)CAM器件:
在本发明的范畴内,CAM器件一般将是指这样一种存储器器件,除了存储器正常的存放和检索功能以外,它还具有按内容寻址的功能,如以下的介绍:
如果CAM器件置于按内容寻址模式下,在若干总线接口线上就设置了某个给定值,该器件的响应是在另一组总线连线上设置表示一个存储器单元位置的数据。这个单元——本文中记为响应单元——存放的数据——本文中记为匹配数据——与前面的总线连线上提供的数据存在某种预先规定的关系。
本文中规定,数据为CAM器件内部某个单元地址的二进制表示所需的位数。
CAM连接电路接收W2条选择线,它们规定该CAM中所有单元的基地址。那么在整个***中,CAM中某个单元的地址,将是具有Da个低位和W2个高位的一个二进制数。
作为输入,CAM器件接收R/W信号,在正常的读和写模式之间进行选择,也接收CO线,在正常和呼出模式之间进行选择。存储器中常用的附加控制线也输入到CAM,以启动其正常功能。在正常模式下,CAM由芯片选择启动,而在呼出模式下,则是由范围电路启动。
在正常的读或写操作中,Da+Db条数据总线连线通过一对缓冲区连接到CAM器件。Da+Db是CAM读写操作所用的(最大)位数。
在呼出模式下,仅有Da条线通过缓冲区到达数据总线,并用于在数据总线上设置响应单元的部分地址。这个部分地址是在CAM器件中响应单元的地址。然后,块优先级掩码将按照W2条选择线,设置该地址的其余部分,它表示CAM器件在整个存储器***中的位置。我们将进一步把这W2条线上设置的数据记为块地址。
d)块优先级掩码:
W2条线的包含着同样W2个高位的地址(块地址),分配给CAM器件之内的所有单元。
块优先级掩码设计为,如果CAM的一个单元响应,则设置这W2个高位,同时遮掩设置后的数位,使总线上设置的地址不被任何其它地址所改变,如果总线上设置的地址具有较大数值的话。
为了实现这个功能,块优先级掩码接收数据总线连线和W2条选择线作为输入。对这些输入利用一种逻辑函数,块优先级掩码将仅仅启动块地址的数位用于输出,它们不会改变高于其本身块地址的地址值。
如果激活了呼出模式,并且CAM单元之一有响应,就启动块优先级掩码。如果块优先级掩码在数据总线上没有发现任何地址高于其本身块地址,那么它将向第一缓冲区输出启动信号,然后将容许把响应单元的地址输出到数据总线上。
e)一个匹配探测电路:它可能是CAM的一部分或者是加到CAM的一个逻辑电路。大多数CAM器件提供匹配探测输出。如果CAM的至少一个单元有响应,就激活这种输出。在本实施例中,这种输出是用于启动块优先级掩码。
f)一个门排列(门1),它实现以下功能:
——仅仅在按内容寻址模式下,才启动块优先级掩码。
——仅仅在一个单元具有匹配数据的情况下,才启动块优先级掩码。
g)缓冲区1和2
缓冲区1用于连接或隔离数据总线和CAM之间的Da条线。这个缓冲区从一个“或”门(门3)接收启动信号。发出启动信号时,该缓冲区连接Da条数据总线连接和CAM总线连线。
缓冲区2用于连接或隔离数据总线和CAM之间的Db条线。它接收CO作为启动信号。当CO有效时,缓冲区2隔离CAM和数据总线之间的Db条线。
要是只有CAM连接到总线***,那么CAM的Da+Db条线就会连接到数据总线。在读写模式下,这些线将会用于传递要检索或存放的数据。
在CAM与本发明的CAM连接电路结合之处,在正常读/写模式下(CO信号无效),所有的数据总线连线都需要连接到存储器单元,以执行通常的读/写操作。那么,将激活CAM连接电路的缓冲区1和2,把数据总线连线连接到CAM。参考图4,可见CO信号输入到一个“或”门(门3),如果CO无效,它就向缓冲区1输出启动信号。图4中进一步显示出信号CO直接输入到缓冲区2,如果CO无效,就启动该缓冲区。
在呼出模式下,CAM在受限制的Da条线上,设置响应单元的地址。那时不用CAM的Db条线。这些线由缓冲区2从数据总线断开。
如果CAM的一个单元有响应,那么CAM将在Da条线上设置CAM的地址,并且块优先级掩码被激活。块优先级掩码将在数据总线的W2条线上设置块地址,这是在更高的地址没有其它响应单元的情况。在这种情况下,块优先级掩码也将向缓冲区1输出一个启动信号,因此允许CAM在Da个低位上,输出响应单元的地址。
如果块优先级掩码探测出,在数据总线上已经设置了一个地址,其数值高于其本身的地址,那么它将不向缓冲区1输出启动信号,所以CAM将保持与数据总线隔离。
应当理解,图4所示的单一CAM可以替换为一个更复杂的部件,比如基本的CAM块或者参考图2介绍的合成的CAM块,本发明的连接电路可以用类似的方式,针对该复杂部件启动读写和呼出功能。
图5显示了块优先级掩码和数据总线之间的连接。在块优先级掩码的一侧,数据总线连线连接为输入,而在所述块优先级掩码的另一侧,块优先级掩码的每条输出线通过一个宽“或”连接到数据总线。
图6显示了优先级掩码的一个优选实施例。在图6中,块地址由以下形式表达:
块地址:
式中:
K为在块地址中设置的位数减1。
u(N,k)为块地址中第k位的位置,从低位算起。
例如,要把具有16个(4位)存储器单元的CAM连接入具有256个(8位)单元的、更大的CAM,块地址将包含4位。那么块地址将具有包含最高4位的一个地址,那么所有低位为0:
例如N=1010,0000
设置的位数为2,所以K=1
我们可以写成10100000=1·27+1·25
所以在这种情况下,我们有:
u(N,0)=5;u(N,1)=7;
再次参考图6,对于块地址中每一个设置的位,从块优先级掩码输出一条线P[N,u(N,k)]。该线的状态由一个逻辑门设置,如果以下的所有条件都满足,它将被设置成有效(逻辑1):
a)至少CAM的一个单元有响应,因而激活了启动信号E。
b)更高位位置的下一条线的状态为有效(逻辑1),或者本线就处在最高位。
c)在本线和更高位位置的下一条线之间,所有总线连线位的状态都是无效。
如果P[N,u(N,0)]有效,并且在位置低于P[N,u(N,0)]的块地址位,所有总线连线的状态都是无效,则发出块匹配信号。万一没有这种连线,那么将由P[N,u(N,0)]直接激活块匹配线。
如果块优先级掩码不具有任何P(k)线(块地址=0),那么当激活启动信号时输出块匹配信号。
这个逻辑电路的目的是遮掩——也就是不设置——数据总线的某一位,如果它会改变数据总线上更高位已经设置的部分地址的话。
这个实例展示了一个特定的实施方案,但是显而易见,优先级掩码的许多实施方案都是可能的,所有这些都具有同样的原理,与遮掩(即保持无效)连线P[N,u(N,k)]相同——如果数据总线上在块地址已经清除的数位之处,有一条或多条更高位的连线是有效的。
Claims (13)
1.一种CAM连接电路,它通过把CAM器件连接到相同的数据总线连线和相同的地址总线连线,使两个或多个CAM器件能够合并成一个合成的CAM阵列,该电路包括:
a)把CAM连接电路连接到地址总线若干连线的Wa条线,以及把CAM连接电路连接到CAM器件的Wb条线,其中Wa大于或等于Wb;
b)一个第一缓冲区,用于把CAM的前Da条数据线连接到数据总线上相同数目的数据线,当设置第一启动信号时进行这种连接;
c)一个第二缓冲区,用于把CAM的后Db条数据线连接到数据总线上第二数目的数据线,数据线的所述第二数目等于Db,当设置第二启动信号时进行所述连接;以及
d)一个优先级掩码电路,它接收W2条选择线作为输入,它们的状态规定CAM连接电路的块地址,它还接收一个启动信号作为输入,所述优先级掩码电路进一步通过W3条数据线连接到数据总线,W3大于或等于W2;
其特征在于,如果在CAM之内若干或者至少一个存储器单元存放的数据与地址总线连线上设置的数据有某种给定的关系,那么CAM按照为CAM规定的内部优先级顺序,选择所述数目的单元之一,并将该单元的地址施加在所述第一缓冲区上,或者CAM将单一响应单元的地址施加在所述第一缓冲区上;
CAM也向块优先级掩码输出所述启动信号;
然后,块优先级掩码逻辑电路将所述块地址施加在所述W3条数据总线连线上,同时,如果该地址的任何数位会干扰在预先规定的方向上任何更高的、在所述数据总线连线上已经设置的地址,它们就会被遮掩;以及
万一没有更高的地址输出到数据总线上,块优先级掩码逻辑电路就向所述第一缓冲区输出所述启动信号,于是选定的地址就设置为所述第一数目的数据总线连线。
2.根据权利要求1所述的CAM连接电路,其特征在于,相同的总线连线可以按照***的功能需要,交替地用作地址总线连线和数据总线连线。
3.根据权利要求1或2中任何一个的CAM连接电路,还包括一个块范围电路,用于比较地址总线上设置的地址和块地址,只有在预先规定的方向上,块地址低于或等于地址总线上设置的地址的情况下,才启动CAM。
4.一种块优先级掩码和一种块地址,所述块地址为在某个合成的存储器阵列之内某个CAM存储器器件的地址,所述存储器阵列具有连接到相同的数据总线连线和相同的地址总线连线的两个或多个存储器器件,其特征在于,所述块优先级掩码具有一条启动输入线,对所述块地址中每一个设置的数位k有一条输出线P(k),以及一条块匹配线,其中所述块优先级掩码接收所述数据总线连线作为输入,启动后,它执行一种逻辑功能,当且仅当数据总线上没有其它器件在更高的数位位置——块地址在该处有一个清除的数位——设置过一条线时,激活所述输出线P(k)中的每一条,并且如果满足以下条件,将激活块匹配线
(a)所有的P(k)线被激活,以及
(b)如果该总线连线的数位位置低于最低数位位置的P(k),在块地址的任何数位位置都没有其它总线连线被激活。
5.根据权利要求3或4中任何一个的块优先级掩码,其中按照所述逻辑功能,如果以下条件全部满足,P(k)的状态被设置为有效(逻辑1):
a)至少CAM的一个单元有响应,因而激活了启动信号;
b)更高位位置的下一条线的状态为有效(逻辑1),或者本线就处在最高位的位置;
c)在本线和更高位位置的下一条线之间,所有总线连线位的状态都是无效;
如果在最低数位位置P(k)线有效,并且在位置低于所述P(k)的块地址位,任何总线连线的状态都是无效,则发出块匹配信号。
6.根据权利要求5所述的带有逻辑电路的块优先级掩码,其特征在于,如果优先级掩码不具有任何P(k)线(块地址=0),当在块地址的位置所有总线连线都没有设置时,输出块匹配信号。
7.一种分级CAM架构,其中两个或更多CAM合并成一组,两组或更多组合并成一个合成的存储器阵列,或者两个或更多合成的CAM存储器阵列或者一个合成的CAM存储器阵列和一个单一的CAM合并成更大的合成CAM存储器阵列,其特征在于,CAM器件中的每一个都分别具有一个CAM连接电路,其中提供了一种附加的输出连接,如果发现连接的CAM中至少有一个存储器单元匹配,就激活这种输出;对所述CAM部件的所述输出线应用一种或功能,所述或功能连接到下一个而且是级别上更高的CAM连接电路,因而如果在CAM的所述较低级别组中连接的所有单元中至少有一个单元匹配,这个输出信号就选择性地激活所述更高级别的连接电路。
8.根据权利要求7所述的CAM存储器的分级架构,为了把较大的CAM存储器阵列划分成较小的CAM部件或组,如果需要,其中每一个都可以单独搜索或者在搜索周期中不予考虑。
9.根据权利要求7所述的CAM存储器的分级架构,是在某个独立的器件中合并的,比如一个芯片。
10.根据权利要求7至9中任何一个的分级架构,可以作为一个模块增加到CAM存储器,它包括权利要求1的连接电路,以便扩大所述CAM存储器。
11.根据权利要求7至10中任何一个的分级架构,其中用于存储器搜索的一个起始地址可以馈入一个或多个CAM部件,因而作为搜索结果输出到总线连线的地址,必须与所述起始地址符合某种预先规定的关系。
12.一种CAM连接电路,基本上如同本文中参考附图所作的介绍。
13.一种CAM存储器的分级架构,基本上如同本文中参考附图所作的介绍。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/IL2001/000088 WO2002061757A1 (en) | 2001-01-30 | 2001-01-30 | Combined content addressable memories |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1427994A true CN1427994A (zh) | 2003-07-02 |
Family
ID=11043028
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN01808869.4A Pending CN1427994A (zh) | 2001-01-30 | 2001-01-30 | 组合的按内容寻址存储器 |
Country Status (6)
Country | Link |
---|---|
US (1) | US6957299B2 (zh) |
EP (1) | EP1356471A1 (zh) |
JP (1) | JP2004520671A (zh) |
CN (1) | CN1427994A (zh) |
IL (1) | IL151866A0 (zh) |
WO (1) | WO2002061757A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101409624B (zh) * | 2007-10-09 | 2010-12-15 | 凹凸电子(武汉)有限公司 | 规则匹配装置和方法 |
CN101620884B (zh) * | 2008-06-30 | 2013-04-03 | 国际商业机器公司 | 使用相变器件的高密度内容寻址存储器 |
CN103400597A (zh) * | 2013-07-25 | 2013-11-20 | 安徽大学 | 一种超低功耗混合型内容可寻址存储器 |
CN104375946A (zh) * | 2013-08-16 | 2015-02-25 | 华为技术有限公司 | 一种数据处理的方法及装置 |
CN106205687A (zh) * | 2016-06-30 | 2016-12-07 | 醴陵恒茂电子科技有限公司 | 存储器及其搜索控制电路 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1356472A1 (en) * | 2001-02-01 | 2003-10-29 | Memcall Inc. | Memory system for searching a longest match |
US7054994B2 (en) * | 2002-07-29 | 2006-05-30 | Hy Wire Ltd. | Multiple-RAM CAM device and method therefor |
US20040044508A1 (en) * | 2002-08-29 | 2004-03-04 | Hoffman Robert R. | Method for generating commands for testing hardware device models |
US7779212B2 (en) | 2003-10-17 | 2010-08-17 | Micron Technology, Inc. | Method and apparatus for sending data from multiple sources over a communications bus |
US7778812B2 (en) * | 2005-01-07 | 2010-08-17 | Micron Technology, Inc. | Selecting data to verify in hardware device model simulation test generation |
DE102008001739B4 (de) * | 2008-05-14 | 2016-08-18 | Robert Bosch Gmbh | Verfahren zum Steuern eines Zugriffs auf Bereiche eines Speichers aus mehreren Prozessen heraus und Kommunikations-Modul mit einem Nachrichten-Speicher zur Realisierung des Verfahrens |
US8381019B2 (en) | 2010-06-24 | 2013-02-19 | International Business Machines Corporation | EDRAM macro disablement in cache memory |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5010516A (en) | 1988-01-11 | 1991-04-23 | Texas Instruments Incorporated | Content addressable memory |
US5568416A (en) * | 1994-03-24 | 1996-10-22 | Kawasaki Steel Corporation | Associative memory |
JP3037089B2 (ja) * | 1994-12-14 | 2000-04-24 | 川崎製鉄株式会社 | 連想メモリ |
JP3166838B2 (ja) * | 1997-12-16 | 2001-05-14 | 日本電気株式会社 | プライオリティ・エンコーダ及びプライオリティ・エンコード方法 |
US6658524B1 (en) * | 2000-02-28 | 2003-12-02 | Memcall Llc Corporation Service Co. | Memory with call out function |
-
2001
- 2001-01-30 IL IL15186601A patent/IL151866A0/xx unknown
- 2001-01-30 US US10/240,104 patent/US6957299B2/en not_active Expired - Fee Related
- 2001-01-30 WO PCT/IL2001/000088 patent/WO2002061757A1/en not_active Application Discontinuation
- 2001-01-30 CN CN01808869.4A patent/CN1427994A/zh active Pending
- 2001-01-30 JP JP2002561837A patent/JP2004520671A/ja not_active Withdrawn
- 2001-01-30 EP EP01902611A patent/EP1356471A1/en not_active Withdrawn
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101409624B (zh) * | 2007-10-09 | 2010-12-15 | 凹凸电子(武汉)有限公司 | 规则匹配装置和方法 |
CN101620884B (zh) * | 2008-06-30 | 2013-04-03 | 国际商业机器公司 | 使用相变器件的高密度内容寻址存储器 |
CN103400597A (zh) * | 2013-07-25 | 2013-11-20 | 安徽大学 | 一种超低功耗混合型内容可寻址存储器 |
CN103400597B (zh) * | 2013-07-25 | 2016-04-20 | 安徽大学 | 一种超低功耗混合型内容可寻址存储器 |
CN104375946A (zh) * | 2013-08-16 | 2015-02-25 | 华为技术有限公司 | 一种数据处理的方法及装置 |
CN106205687A (zh) * | 2016-06-30 | 2016-12-07 | 醴陵恒茂电子科技有限公司 | 存储器及其搜索控制电路 |
CN106205687B (zh) * | 2016-06-30 | 2018-06-05 | 湖南恒茂高科股份有限公司 | 存储器及其搜索控制电路 |
Also Published As
Publication number | Publication date |
---|---|
IL151866A0 (en) | 2003-04-10 |
US20030182498A1 (en) | 2003-09-25 |
US6957299B2 (en) | 2005-10-18 |
JP2004520671A (ja) | 2004-07-08 |
WO2002061757A1 (en) | 2002-08-08 |
EP1356471A1 (en) | 2003-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1188948C (zh) | 用于配置可编程逻辑单元阵列的方法及装置 | |
CN1125006A (zh) | 动态互连于一个动态逻辑内核的现场可编程逻辑设备 | |
CN1427994A (zh) | 组合的按内容寻址存储器 | |
CN1048127C (zh) | 可编程逻辑电路的体系结构和互连方式 | |
CN1135475C (zh) | 具有移位冗余电路的半导体存储器电路 | |
EP0336243A3 (en) | Massively distributed simulation engine | |
US8397018B2 (en) | Systems and methods for implementing a programming sequence to enhance die interleave | |
CN1662993A (zh) | 用于流水线存储器的有效读取/写入方法 | |
CN1577632A (zh) | 半导体集成电路装置 | |
CN1105134A (zh) | 分类***和方法 | |
CN1694252A (zh) | 耐缺陷冗余 | |
CN1892903A (zh) | 半导体存储器 | |
KR0158881B1 (ko) | 대규모 반도체 집적회로 장치와 그 결함구제 방법 | |
CN1081284A (zh) | 专用集成电路样机 | |
KR100750185B1 (ko) | 다중 사용 핀아웃들을 갖는 이이피롬 메모리 칩 | |
CN1296828C (zh) | 一种存储器及其对预取数据进行排序的电路和方法 | |
CN1992072A (zh) | 用于半导体存储器件的片上终端电路与方法 | |
US20040054815A1 (en) | Circuit and/or method for automated use of unallocated resources for a trace buffer application | |
CN1591035A (zh) | 用于选择测试模式输出通道的测试布置及方法 | |
CN1948984A (zh) | 一种多板联合测试行动组链路无缝连接方法及装置 | |
CN1104671C (zh) | 内部时钟脉冲发生装置 | |
CN1252733C (zh) | 存储***、存储单元、比特屏蔽电路及相关方法 | |
CN1577634A (zh) | 半导体装置 | |
CN1967420A (zh) | 串联式plc主机与扩充机的并列快速通信接口 | |
CN1238561A (zh) | 半导体存储器电路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |