CN1447941A - 搜索不同尺寸的字 - Google Patents

搜索不同尺寸的字 Download PDF

Info

Publication number
CN1447941A
CN1447941A CN01814383A CN01814383A CN1447941A CN 1447941 A CN1447941 A CN 1447941A CN 01814383 A CN01814383 A CN 01814383A CN 01814383 A CN01814383 A CN 01814383A CN 1447941 A CN1447941 A CN 1447941A
Authority
CN
China
Prior art keywords
word
sub
addressable memory
content addressable
search
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
CN01814383A
Other languages
English (en)
Inventor
耶维斯·E·维拉雷特
塞穆尔·普罗科派茨
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.)
MEMCALL LLC
Original Assignee
MEMCALL LLC
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 MEMCALL LLC filed Critical MEMCALL LLC
Publication of CN1447941A publication Critical patent/CN1447941A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90339Query processing by using parallel associative memories or content-addressable memories

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

用于搜索可变尺寸的字的CAM存储器可划分成不同尺寸的比较单元,每个比较单元具有子字串。通过命令信号选择在比较单元的两端的子字的位置。因此,将搜索的任何尺寸的数据字可连续存储在存储器字中以便所有存储器可用于存储和搜索。搜索周期的数量以及用于查找数据字的位置的时间显著降低。仅在相同的比较单元的整个在前子字串已经设置匹配信号以及已经设置其后的命令信号的情况下,将来自子字的匹配信号输出作为字匹配。

Description

搜索不同尺寸的字
背景技术
在关联存储系统(Associative Memory)中实施搜索操作是公知的,其中将指定数据字(Word of Data)(搜索关键字)提交给存储器,以及关联存储系统返回存储数据等于搜索关键字的一个存储器字(Word of Memory)的位置。在现有技术中,通过将比较器与每个存储器字关联来实现该功能以致如果比较器检测到存储在存储器字中的数据与搜索关键字间完全相同,发出字匹配信号。在存储器的几个字具有匹配数据的情况下,优先电路可用来根据预定的标准选择单个匹配信号以及输出发出该较高优先级匹配信号的存储器字的地址。
在现有的系统中,象内容可寻址存储器(CAMs),搜索关键字必须具有指定的预定尺寸,该尺寸由搜索字的最大尺寸来定义。然后组织这些存储器以便CAM的基本存储器字是具有那个最大尺寸的字,原因是将每个比较器设计成比较具有相同预定尺寸的一对字。
在搜索关键字是比该最大尺寸低的字的情况下,一个通用技术包括:
a)将多个任意位增加到搜索关键字以便它适用预定尺寸。
b)提供禁止这些任意位间接比较的另外的逻辑电路,以便仅启动相关位的比较。
这些系统的缺点在于仅可搜索整个包含在一个基本存储器字中的字。因此,例如,在将被搜索的字的最大尺寸是8字符的情况下,每个字符用用1字节表示,存储器将分成基本单元,每个基本单元由8字节组成,用于比较过程。提交给存储器的8字节数据将同时和分别与字节1至8、以及9至16以及17至24等等比较。这种存储器的划分将进一步称为比较分区(Comparison Partition),以及由作为比较单元的那个分区定义的存储器部分。显然,根据指定的CAM规格,比较单元的尺寸等于可被搜索的字的最大尺寸。在这种存储器中,为允许它执行搜索操作,根据分别将每个字存储在各自的比较单元中的配置,所有字必须存储在CAM中。很显然,这种配置造成低效使用存储器,因为许多字具有小于比较单元的尺寸。该缺点降低了效率以及这种关联存储器的使用灵活性,从而限制它们的应用范围。因此,例如,这种类型的CAM不能有效地用于搜索文本文件,原因在于在文本文件,数据以长串的形式存储,而当文件数据存储在CAM中时,不能预先确定字的位置。
一些现有的系统提供了改进,允许多个预定尺寸的有限多个组合。这些系统中的一个是CAM,其中通过逻辑结合几个CAM字的函数,可分组CAM字。用那种方式,有可能在少量预定尺寸中选择比较单元的尺寸。然而,比较单元尺寸的变化是有限的,为有效使用,存储的字仍然需要是适合比较单元的尺寸,一个比较单元存储一个字。
在专利US6,000,008中,描述了存储系统,其中连续搜索周期用来查找不同尺寸的字串。该系统具有将被搜索的串必须分成基本字的缺点,每个基本字具有搜索关键字的尺寸。该系统的另一缺点是每次可仅搜索一个基本字以便需要来查找整个串的搜索周期的数量等于在那个串中基本字的数量。US6,000,008的系统的另一缺点在于必须将存储器的另外的“开始位”增加到每个基本字,从而需要更多的电路区域,同时在每次搜索操作前需要为所述“开始位”设置适当的值使得搜索操作更复杂。
因此,需要提供用于查找存储在存储器中任意位置处的字串的方法,允许整个串加载到搜索关键字并进行比较。另外需要提供用于显著地降低用于查找字串所需要的搜索周期的数量而不添加另外的存储位的装置。
发明内容
本发明涉及用于搜索不同尺寸的字的关联存储系统和方法,通过允许用于比较单元的无限多个不同尺寸从而可将整个字串加载到搜索关键字上并进行比较,克服了现有技术设备的缺点。在该发明的范围内,通过一组连续的存储器字来定义比较单元。这些存储器字是对该应用来说所要求的最小的小尺寸以及在此将它们称为子字,同时术语“存储器字”将指子字串。在每个比较单元端的存储器子字的位置可在每次搜索操作前通过命令信号重新选择。因此,将搜索的数据字可连续地存储在存储器中而不管那些字的尺寸。由于本发明系统和方法的这种优点,大大增加用作存储和搜索的存储单元的数量以便包括大部分存储空间。本发明的另外的优点在于用于查找指定数据字的位置搜索周期的数量显著降低,从而导致降低搜索时间。
在优选实施例中,字串的比较可在单个周期中实现。
这种存储系统和方法可有利地用于搜索存储在存储中的任意位置的不同尺寸的数据字。根据另一优点,如将示出的,可显著地降低搜索在文本中的指定字所需的时间。必须以高速执行快速搜索和过滤操作的通信系统是本发明所设想的应用的多个领域中的一个。
附图说明
图1表示通用类型的内容可寻址存储器(CAM),以及包含载入那个CAM中的字ABCD的文本的例子。
图2表示将载入搜索关键字寄存器,然后在CAM中搜索以便在载入CAM的数据中查找ABCD的模式的数量。
图3表示发明的存储系统的配置。
图4表示一个存储器字的详细情况以及在发明的存储系统中的相关的电路。
图5表示在与图1中相同的数据存储在发明的存储系统中的情况下查找字ABCD,将载入搜索关键字中的模式数量减少。
具体实施方式
本发明涉及用于搜索在内容可寻址存储器中任意位置处的不同尺寸的数据字的方法和系统。
为了更详细说明本发明允许有效和快速在关联存储系统中搜索数据字的优点,以及证明由这种类型的操作带来的以及由本发明的系统和方法解决的问题,现在将参考图1和2更详细地说明现有技术的系统。
参考图1和2,它将示出通用类型的CAM可如何用来在指定文本中搜索字。尤其是,它将示出需要大量的搜索周期直到查找到搜索字的位置。
在图1中,示出了通用类型的内容可寻址存储(CAM)。CAM包括多个存储器字W1至Wn,以及存储将被搜索的搜索关键字寄存器。通过系统总线将数据载入搜索关键字寄存器。通过数据线将每个存储器字连接到搜索关键字寄存器,并包括将存储在存储器字Wi中的字与存储在搜索关键字寄存器中的字进行比较的比较器。当执行搜索操作时,如果存储在存储器字Wi中的字与存储在搜索关键字寄存器中的字相等,该比较器则发出字匹配信号Mi,或核对预定关系。当几个存储器字可存储匹配数据时,可同时发出几个字匹配信号。然后将所有这些匹配信号输入到优先编码器。优先编码器根据预定优先级,选择一个匹配信号,并输出相应的存储器字的地址。
通常,也提供装置来屏蔽搜索关键字寄存器的一些位以便禁止在对搜索操作无关的位上的比较。如果屏蔽搜索关键字寄存器的位,所有存储器字的比较器将删除该位与存储在存储器字中的字位间的差异,即在与在搜索关键字寄存器中的所述屏蔽位的位置相同的存储器字中的相同位置上。因此该搜索将产生正由具有用于所有未屏蔽位的匹配数据的所有存储器字输出的字匹配信号。
在图1中示出了在现有技术CAM存储器中存储的数据的例子。在该例子中,已经拆分数据字“ABCD”以便将“AB”存储在存储器字Wi-1的最后两个字符以及将“CD”存储在存储器字Wi的前两个字符。
为查找ABCD字,需要在搜索关键字寄存器中载入数据,该数据在同样的位位置具有与在比较单元中的所述ABCD字的可能位置的ABCD字相同的ABCD字,以及屏蔽在搜索关键字寄存器中的所有其他位。在比较单元中的ABCD字的位置是未知的,以便必须尝试所有可能的位置直到找到匹配为止。同样,如在例子中所示,可在两个字间拆分字ABCD,以便我们也必须考虑到其中将ABCD字拆分成两部分,在字的结尾以及下一字的开始的位置。
在图2中示出了可能必须载入搜索关键字寄存器的8种不同的模式以便提供字ABCD的所有可能的配置。在载入这些模式中的一个后,操作CAM以便查找它。如果未找到模式,那么载入另一模式并且重复该过程直到找到匹配或已经尝试过所有模式。在图2的模式中的星号(*)字符表示为了比较已经屏蔽的搜索关键字寄存器中的位。
这种系统的一个缺点在于在已经将数据连续载入CAM的情况下,如图1中所示的数据的例子,将搜索的字可将拆分成两个连续字。然后必须使用仅包含搜索数据部分的模式实施搜索操作。在那种情况下,当仅匹配部分存储器字(在我们的例子中的*****AB)时可获得匹配。在那种情况下,仍然存在不完全匹配的可能性,即占用下一字的前两个位置的两个相邻的字符可能不是所搜索的,在我们的例子中为CD。因此,将需要核对这些两个相邻字符并它们与检索串(CD)的剩余部分比较。如果字符不匹配,将有必要更改所找到的AB以便将不在下一搜索发出匹配信号,然后用同样的模式(*****AB)执行另外的搜索操作。然后将重复该过程直到找到完全的匹配。根据所存储的数据类型,这些连续的搜索操作可能导致大量搜索操作。该方法的另一缺点是搜索过程应当能记住在存储数据中所做的改变以及在搜索操作结束时恢复原始数据。
现有技术的复杂性以及低效率可能用所存储的数据是随机的字母字符(26字符)例子来证明。在这些情况下,“AB”字将比“ABCD”字平均多26*26=676次。应当理解的是,对于我们的例子,最大的搜索周期数是676+8=684,以及通常所需的搜索周期的平均数能计算成约47,每个搜索周期包括搜索、核对、修改以及最后的恢复数据步骤。
如上所示,当具有通用类型的CAM的搜索数据、所需的搜索周期的数量可能非常大时,不管用于实现CAM的搜索特征所采用的增强的和价格昂贵的硬件。用于那个目的的通用CAM的另一缺点在于搜索时间具有值的很大的范围,即搜索操作在某些情况下需要几个搜索周期,而在其他情况下需要大量搜索周期。不能预测所需要的搜索周期的数量以及这可能在较将CAM集成在较大的系统中时很难产生同步的问题。这些缺点防碍了CAM广泛地应用在计算机系统中,以及现今,CAMs的应用领域主要限定于通信系统。
现在将详细地描述本发明的方法和系统。将理解到本发明并不限定于所描述的实施例以及在此附加的图形以及实现本发明的许多其他方法在权利要求的范围内是可能的。
当CAM用来查找在任意位置的数据字时,为了大大地降低搜索周期的数量,本发明的目的是提供用于CAM的有效结构。根据本发明,可设计内容可寻址存储器(CAMs),允许在最少的搜索周期内搜索在任意位置的字。本发明的系统和方法也可应用在如已经在PCT申请PCT/IL 00/00121;PCT/IL 00327;PCT/IL 01/00088以及PCT/IL 00096中描述过的COM存储器中(调出存储器(Call Out Memory)。根据本发明系统的另外的优点,也可大大降低查找字所需的搜索周期的数量差异。
在图3中,示出了本发明的CAM的原理。正如在通用类型的CAMs中,它包括存储器字SW0至SWn。然而,现在已经给出了这些字在应用中所需要的最小尺寸。如果例如,应用程序设计成用于搜索字母字符,该尺寸将通常是8位。在通信系统中的应用程序情况下,该尺寸可是一位。这些字将称为子字,以便将它们与用在现有技术的CAM中的字区分开来。
现在参考图4,示出了子字SWi,包括具有相关电路的8位存储器B0至B7。
从图4中看出,每个子字通过数据线连接到数据总线。数据可存储在和/或在已知的通用类型的存储器的每个子字中检索。如在常规的CAMs中,每个子字SWi包括比较器。当执行搜索操作时,在每个子字SWi中的比较器将在数据线上的数据与它自己的数据进行比较。如果两者相同,或核对预定关系,该比较器输出匹配信号Mi。
通常数据线由用来存储将被搜索的字的搜索关键字寄存器发出。
为实现本发明的可变比较单元,定义多个命令信号。用各种方法设置这些命令信号,如通过命令总线。正如在图3中所看到的,在每个子字(SWi)位置,关联一个命令信号(Ci)。在OR函数中,该命令信号与来自在前子字(SWMi-1)的子字匹配信号(将在下面定义)结合。然后在AND函数中,将该OR函数的结果与子字(Mi)的匹配输出结合以便形成子字匹配输出(SWMi)。然后在AND函数中将每个子字匹配信号SWMi与命令信号Ci+1结合以形成字匹配信号WMi,该命令信号Ci+1与下一子字SWi+1有关。原则上不限定命令信号的数量,以及如在图3的实施例中,有可能定义用于每个子字的命令信号。然而,为了降低命令信号的数量,可为几个子字定义单一命令信号。
现在将示出如何将比较单元定义成在逻辑电平1的两个命令信号间的一组子字。
让我们考虑如s是整数以及命令信号Ci以及Ci-s均在逻辑电平1,以及所有命令信号Ci-s+1直到Ci-1均是逻辑电平0的情况。在匹配信号上的逻辑组合的结果将是只有当设置匹配信号Mi-1以及设置所有子字匹配SWMi-s,SWMi-s+1直到SWMi-2时才将设置子字匹配输出SWMi-1。这表示在子字SWi-s至SWi-1中的整个数据串正与设置在连接到这些子字的数据总线上的相应的数据串进行比较。在那种情况下,设置所有子字信号SWMi-s、SWMi-s+1到SWMi-1,但不设置字匹配信号WMi-s、WMi-s+1直到WMi-2,因为命令信号Ci-s+1、Ci-s+2直到Ci-1均位于逻辑电平0。仅设置字匹配信号WMi-1,因为同时也设置了命令信号Ci。因此该WMi-1信号包含存储在子字SWMi-s、SWMi-s+1直到SWMi-1中的整个数据串与设置在数据线上的相应数据间比较的结果。
因此,设置的命令信号现在定义比较单元界限,即每个设置的命令信号Ci将子字SWi-1定义为比较单元的最后一个子字以及将子字SWi定义为下一比较单元的开始子字。通过选择性地设置命令信号,现在有可能定义任何尺寸和在任何位置的比较单元。
正如在常规的CAMs以及在PCT申请PCT/IL 00/00121;PCT/IL00327;PCT/IL 01/00088以及PCT/IL 00096中描述过的创新的COMs中,然后将所有字匹配输出输入到优先编码器以及根据定义的特定的优先级,优先编码器将输出具有字匹配信号设置的一个子字的地址。
下述是使用本发明的CAM以及很小的搜索周期,如何执行搜索操作的一个例子。
图5表示用来搜索图1前述例子的字“ABCD”的模式集。搜索关键字尺寸是8个子字,每个子字存储一个字符。将搜索的字由四个子字组成。当将搜索字载入搜索关键字寄存器中时,有8种用于选择用于第一子字的位置的可能性,即,我们能以搜索关键字寄存器的任何子字开始载入“ABCD”串。然而,考虑到可能定义比较单元的开始位置以及尺寸,我们现在可以将相同的搜索关键字载入搜索关键字寄存器两次,因为搜索关键字寄存器尺寸是搜索字的两倍。同样,我们能“循环”搜索关键字寄存器尺寸写入搜索串,即,当载入搜索串时,如果到达搜索关键字寄存器结尾时,我们继续从搜索关键字寄存器的第一子字载入。每次将模式载入搜索关键字寄存器时,设置命令信号以便使比较单元的尺寸适合搜索模式。
在我们的例子中,我们需要仅应用四种不同模式的搜索关键字寄存器以便搜索“ABCD”字。
在图5中,示出了这四个搜索模式。同时如粗线所示,是设置到逻辑电平的命令信号-用于在这些模式下实施的搜索的一个命令信号。在该具体的例子中,以循环次序设置命令信号,循环周期是8个子字。数字k表示整数以及例如,标志8k+0表示命令信号的循环设置,其中均设置所有线0,8,16...等等。
再参考图5,将注意到模式3将产生匹配。该匹配是整个的搜索字,因为在那个搜索中,设置命令线8k+2和8k+6,定义包括整个词ABCD的比较单元以便不需要另外的读取或搜索周期,以及查找ABCD字所需的最大周期数将是4而平均数将是2.5周期。
将理解到该发明的CAM大大地降低查找存储器字所需要的搜索周期的数量。
因此,发明的CAM提供优于现有技术的方法和系统的下述优点:
a)允许更快的搜索操作
b)不需要将搜索的数据字根据预定顺序安排在存储器中以便允许搜索操作。
本发明的系统和方法的另外的优点是大大减少存储数据所要求的存储空间,以及也降低载入时间,因为能以自然顺序将数据载入存储器中。
将理解到根据特定应用的需要,可用许多不同的方式执行信号线的设置。
因此,例如,在优选实施例中,命令总线可包括多条线,其数量是搜索关键字寄存器的子字的数量的倍数。在该实施例中,命令信号可能与命令总线循环连接,周期长度将是命令总线的数量。因此,例如,在搜索关键字包含8个子字,以及命令总线包含16条线的情况下,命令信号C0、C16、C32...将连接到命令总线0,命令信号(线?)C1、C17、C33...将连接到命令总线1等等...。
在另一优选实施例中,搜索关键字寄存器可包括多个子字,多个子字是命令总线的数量的倍数。在该第二实施例中,命令信号可具有与命令总线的循环连接,周期长度是命令总线的数量。例如,在搜索关键字包含8个子字,以及命令总线包含四条线的情况下,命令信号C0、C4、C8....将连接到命令总线0,命令信号C1、C5、C9...将连接到命令总线1等等...。
在另一优选实施例中,通过存储在子字中的值的逻辑组合来设置命令信号。对该优选实施例所设想的一个应用是搜索文本中的字。在文本中,字通常用空格、点以及其他字符,以下称为“分隔符”来分隔。然后将逻辑电路与每个子字关联,如果子符正存储分隔符,那个逻辑电路的输出是设置信号。然后将该信号用作用于那个子字的命令信号。用那种方式,比较单元尺寸适用于字尺寸以便存储在CAM中的每个文本字定义一个比较单元。
在上述所有描述过的实施例中,将通过多次将搜索字置于搜索关键字上来执行搜索字,每次在搜索关键字中移动字的第一字符的位置,直到找到匹配。如上所解释的,当将字放在搜索关键字以及移动第一字符的位置时,在没有足够的空间来载入整个字的情况下,以循环方式将字的剩余部分载入,即在搜索关键字的第一子字处重启。
根据本发明的一个优点,其适用于任何尺寸的子字,以及该尺寸可在CAM阵列中改变。
本发明也可应用于并非所有子字均与命令信号关联的情况下。在那种情况下,根据CAM的规格,根据在那个位置的特殊逻辑电路的状态发出在非连接的子字的字匹配信号。例如,在子字SWi没有相关命令信号的情况下,可设计逻辑电路以便给出相同的功能似乎与固定状态的命令线是关联的,从而在多个固定位置提供固定分区定义。所使用的逻辑函数可是任何已知的种类。
本发明的方法和电路不由在CAMs和COMs中使用的优先电路的类型而定,因此,可与CAMs或COMs一起使用,为这些设备增加更多的功能,以及扩展它们的适用领域。
将理解到相对于存储子字的递增顺序已经在这里描述过本发明的原理。很显然,也可应用使用存储子字的递减顺序的相同的原理。另外,可任意定义子字的顺序。尤其是,没有必要与由存储子字的一般地址定义的相同。将进一步理解到虽然已经将优选实施例描述成其中搜索数据载入搜索关键字寄存器的方法和系统,本发明也可考虑其他的设计。因此,例如,通过数据线可直接将所搜索的数据连接到子字。
根据本发明的存储系统的另一方面,也可应用于在输入的字串流中检测存在在给定这种字列表中的一个或几个字。在该应用中,预先在存储器中存储字列表以及设置命令信号以便定义与这些存储字一致的比较单元。然后按等于搜索词的尺寸一致的分组载入流,以及交每个分组与在CAM中的预先存储字比较。如果匹配发生,则表示至少一个预先存储字存在于输入流中。

Claims (26)

1、一种内容可寻址存储器,用于搜索在任意位置的不同尺寸的字,将内容可寻址存储器分成按预定顺序配置的基本存储单元(子字),其中每个子字包括比较器,将每个子字连接到一个或多个数据线以及在存储在所述子字中的数据与所述数据线上的数据证实预定关系的情况下,将每个子字设计成输出匹配信号;所述内容可寻址存储器包括用于选择性地将所述内容可寻址存储器划分成比较单元以及用于以所述预定顺序选择所述比较单元的最低子字和最高子字的位置的装置,每个比较单元包括可选择的多个连续子字,其中如果所述比较单元的所有子字均输出子字匹配信号,则将每个比较单元设计成输出字匹配信号。
2、如权利要求1所述的内容可寻址存储器,其中将所述比较单元的每一个设计成在单个周期中输出所述字匹配信号。
3、如权利要求1或2所述的内容可寻址存储器,其中所述内容可寻址存储器还具有允许其在调出模式中操作的装置。
4、如权利要求1-3任何一个所述的内容可寻址存储器,其中所述子字具有在应用中所要求的最小尺寸。
5、如权利要求1-4任何一个所述的内容可寻址存储器,其中所述内容可寻址存储器还具有允许比较屏蔽数据线的装置。
6、如权利要求1-5任何一个所述的内容可寻址存储器,其中用于选择性地划分所述存储器以及用于定义所述比较单元的所述最低和最高子字的装置是一组命令信号,每个命令信号与至少一个子字有关。
7、如权利要求1-6任何一个所述的内容可寻址存储器,其中用于选择性地划分所述内容可寻址存储器以及用于定义所述比较单元的所述最低和最高子字的所述装置是一组命令线,每条命令线与至少一个子字有关。
8、如权利要求7所述的内容可寻址存储器,其中所述命令信号可周期性地连接到一组命令线上以便如果所述命令线组包含n条线,将具有索引j的子字的命令信号连接到线r,其中r是n除以j的余数。
9、如权利要求7所述的内容可寻址存储器,其中所述命令线组包括在命令总线中。
10、如上述任何一个权利要求所述的内容可寻址存储器,其中一些子字与任何命令信号无关以及根据该位置的特定逻辑电路,分别在每个所述无关子字发出字匹配信号。
11、如权利要求10所述的内容可寻址存储器,其中所述逻辑电路提供这样的功能,即好象具有固定状态的命令线与所述子字有关,由此,在所述内容可寻址存储器中的多个固定位置提供固定分区定义。
12、如上述任何一个权利要求所述的内容可寻址存储器,其中所述比较单元的尺寸是相同且固定的,所述内容可寻址存储器包括用于改变所述比较单元中第一和最后一个子字的位置的装置。
13、一种用于在内容可寻址存储器中的任意位置搜索不同尺寸的字的方法,包括以下步骤:
i)在所述内容可寻址存储器的数据线上设置将搜索的字的数据
ii)通过以预定顺序定义用于比较单元的最低子字以及以所述预定顺序定义用于在前比较单元的最高子字,将所述内容可寻址存储器划分成比较单元,以便每个所述比较单元包含等于将搜索的所述数据字尺寸的子字串
iii)在i)-输出子字SWi的匹配信号,ii)-根据预定顺序输出在所述子字SWi之前的子字的子字匹配信号,或通过与所述子字SWi相关的逻辑电路设置与所述子字SWi相关的命令信号的情况下,执行用于输出在所述子字串中子字SWi的子字匹配信号的逻辑功能
iv)在通过与所述子字SWi有关的第二逻辑电路输出所述子字SWi的子字匹配信号以及与后来的(按预定顺序)子字有关的命令信号的情况下,执行输出字匹配信号的逻辑功能。
14、如权利要求13所述的用于在内容可寻址存储器中的任意位置搜索不同尺寸的字的方法,其中输出字匹配信号的所述逻辑功能在单个周期中执行。
15、如权利要求13或14所述的用于在内容可寻址存储器中的任意位置搜索不同尺寸的字的方法,其中所述内容可寻址存储器还具有允许其在调出模式中操作的装置。
16、如权利要求13-15任何一个所述的用于在内容可寻址存储器中的任意位置搜索不同尺寸的字的方法,其中所述比较单元是由一组命令信号定义的,每个命令信号与至少一个子字有关,以及其中在比较单元的子字串中按预定顺序的最低子字是与所述命令信号有关的子字,以及其中在前比较单元的各个子字串中按所述预定顺序的最高子字是与所述命令信号有关的所述子字之前的子字。
17、如权利要求14-16任何一个所述的用于在内容可寻址存储器中的任意位置搜索不同尺寸的字的方法,其中通过多条命令线设置一些或全部所述命令信号。
18、如权利要求14-17任何一个所述的用于在内容可寻址存储器中的任意位置搜索不同尺寸的字的方法,其中分别与所述子字相关的一些或全部所述命令信号是存储在它们的各自的子字和/或其他子字中的数据的逻辑组合的结果。
19、如权利要求18所述的用于在内容可寻址存储器中的任意位置搜索不同尺寸的字的方法,其中当存储在与所述命令信号有关的子字中的数据是诸如空格、点或类似字符的分隔符时,设置命令信号。
20、如权利要求13-19任何一个所述的用于在内容可寻址存储器中的任意位置搜索不同尺寸的字的方法,其中在一个或多个位置,根据特定的逻辑电路设置所述字匹配信号。
21、如权利要求13-20任何一个所述的用于在内容可寻址存储器中的任意位置搜索不同尺寸的字的方法,其中所述命令信号具有恒定状态。
22、如权利要求13-21任何一个所述的用于在内容可寻址存储器中的任意位置搜索不同尺寸的字的方法,其中为了比较屏蔽数据线上的一些数据位。
23、如权利要求13-22任何一个所述的用于在内容可寻址存储器中的任意位置搜索不同尺寸的字的方法,其中所述方法还包括根据预定优先级,将所有字匹配输出输入到优先编码器中,该优先编码器输出在所有具有字匹配信号设置的子字串中一个子字串的地址。
24、一种使用如在权利要求1-12中任何一个所述的内容可寻址存储器,在字串的输入流中检测这些字的给定列表中一个或几个字存在的方法。
25、一种基本上如参考附图所述的、用于在内容可寻址存储器中搜索不同尺寸的字的方法。
26、一种基本上如参考附图所述的、用于搜索不同尺寸的字的内容可寻址存储器。
CN01814383A 2001-05-17 2001-05-17 搜索不同尺寸的字 Pending CN1447941A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IL2001/000436 WO2002093423A1 (en) 2001-05-17 2001-05-17 Searching words of different sizes

Publications (1)

Publication Number Publication Date
CN1447941A true CN1447941A (zh) 2003-10-08

Family

ID=11043052

Family Applications (1)

Application Number Title Priority Date Filing Date
CN01814383A Pending CN1447941A (zh) 2001-05-17 2001-05-17 搜索不同尺寸的字

Country Status (7)

Country Link
US (1) US20040064444A1 (zh)
EP (1) EP1388087A1 (zh)
JP (1) JP2004526274A (zh)
KR (1) KR20030047991A (zh)
CN (1) CN1447941A (zh)
IL (1) IL154018A0 (zh)
WO (1) WO2002093423A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102663051A (zh) * 2012-03-29 2012-09-12 浪潮(北京)电子信息产业有限公司 搜索内容可寻址存储器的方法和系统
CN106803428A (zh) * 2015-11-26 2017-06-06 瑞萨电子株式会社 半导体器件

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7152141B2 (en) * 2003-07-31 2006-12-19 Micron Technology, Inc. Obtaining search results for content addressable memory
US7555594B2 (en) * 2004-07-22 2009-06-30 Netlogic Microsystems, Inc. Range representation in a content addressable memory (CAM) using an improved encoding scheme
US8600966B2 (en) * 2007-09-20 2013-12-03 Hal Kravcik Internet data mining method and system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5051947A (en) * 1985-12-10 1991-09-24 Trw Inc. High-speed single-pass textual search processor for locating exact and inexact matches of a search pattern in a textual stream
US4845668A (en) * 1987-12-10 1989-07-04 Raytheon Company Variable field content addressable memory
US5295198A (en) * 1988-10-14 1994-03-15 Harris Corporation Pattern identification by analysis of digital words
US5452451A (en) * 1989-06-15 1995-09-19 Hitachi, Ltd. System for plural-string search with a parallel collation of a first partition of each string followed by finite automata matching of second partitions
US6000008A (en) * 1993-03-11 1999-12-07 Cabletron Systems, Inc. Method and apparatus for matching data items of variable length in a content addressable memory

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102663051A (zh) * 2012-03-29 2012-09-12 浪潮(北京)电子信息产业有限公司 搜索内容可寻址存储器的方法和系统
CN106803428A (zh) * 2015-11-26 2017-06-06 瑞萨电子株式会社 半导体器件

Also Published As

Publication number Publication date
WO2002093423A1 (en) 2002-11-21
JP2004526274A (ja) 2004-08-26
US20040064444A1 (en) 2004-04-01
IL154018A0 (en) 2003-07-31
KR20030047991A (ko) 2003-06-18
EP1388087A1 (en) 2004-02-11

Similar Documents

Publication Publication Date Title
US9647684B2 (en) Memory-based history search
CA2629618C (en) Method and device for high performance regular expression pattern matching
CN1867901A (zh) 用于快速表查找的存储器和功率有效机构
CN1016835B (zh) 用于检索的方法和装置
CN109325032B (zh) 一种索引数据存储及检索方法、装置及存储介质
CN102333036B (zh) 一种实现高速路由查找的方法和系统
US6760821B2 (en) Memory engine for the inspection and manipulation of data
US20140019486A1 (en) Logic Content Processing for Hardware Acceleration of Multi-Pattern Search
CN111858454B (zh) 一种gpu通信方法、设备以及介质
JPH11273363A (ja) 連想メモリ制御回路及び制御方法
CN1613073A (zh) 改进型多路基数树
WO2004036589A1 (en) Virtual content addressable memory with high speed key insertion and deletion and pipelined key search
US6898661B2 (en) Search memory, memory search controller, and memory search method
CN1864144A (zh) 具有条目群组和跳过操作的关联存储器
CA2281103C (en) N-way processing of bit strings in a dataflow architecture
CN1447941A (zh) 搜索不同尺寸的字
Song et al. Packet classification using coarse-grained tuple spaces
Ahuja et al. An associative/parallel processor for partial match retrieval using superimposed codes
US7634634B2 (en) Data search apparatus and a method thereof
US20020087537A1 (en) Method and apparatus for searching a data stream for character patterns
CN1427993A (zh) 搜索最长匹配的存储器系统
JP2005242672A (ja) パターンマッチング装置および方法ならびにプログラム
Arming et al. Data compression in hardware—the burrows-wheeler approach
CN114780151A (zh) 一种基于归并排序算法实现可变规模数量的数据排序系统
CN1164900A (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