元58也可包含非易失性存储器,例如,相变存储器(例如,双向装置)、快闪存储器、硅-氧化物-氮化物-氧化物-硅(SONOS)存储器、磁阻式存储器或其它类型的非易失性存储器。存储器单元58也可包含触发器,例如,由逻辑门制成的存储器单元。
[0048]图4及图5描绘操作中的搜索项单元54的实例。图4图解说明搜索项单元54接收不匹配所述单元的搜索项的项,且图5图解说明匹配。
[0049]如图4所图解说明,搜索项单元54可经配置以通过将数据存储于存储器单元58中来搜索一个或一个以上项。存储器单元58各自可表示数据流12可呈现的项,例如,在图3中,每一存储器单元58表示单个字母或数字,以字母“a”开始且以数字“9”结束。表示满足搜索项的项的存储器单元58可经编程以存储第一值,且不表示满足搜索项的项的存储器单元58可经编程以存储不同值。在所图解说明的实例中,搜索项单元54经配置以搜索字母“b”。表示“b”的存储器单元58可存储I或逻辑高,且不表示“b”的存储器单元58可经编程以存储O或逻辑低。
[0050]为将来自数据流12的项与搜索项进行比较,行解码器28可选择耦合到表示所接收项的存储器单元58的输入导体37。在图4中,数据流12呈现小写字母“e”。此项可由数据流12以八位ASCII代码的形式呈现,且行解码器28可将此字节解译为行地址,从而通过致能导体60而在所述导体上输出信号。
[0051]作为响应,受导体60控制的存储器单元58可输出指示存储器单元58存储的数据的信号,且所述信号可由输出导体56传达。在此情况下,由于字母“e”不是由搜索项单元54指定的项中的一者,因此其不匹配搜索项,且搜索项单元54输出O值,从而指示未发现任何匹配。
[0052]在图5中,数据流12呈现字符“b”。同样,行解码器28可将此项解译为地址,且行解码器28可选择导体62。作为响应,表示字母“b”的存储器单元58输出其所存储值,在此情况下,所述值为1,从而指示匹配。
[0053]搜索项单元54可经配置以一次搜索一个以上项。多个存储器单元58可经编程以存储1,从而指定与一个以上项匹配的搜索项。举例来说,表示小写字母“a”及大写字母“A”的存储器单元58可经编程以存储1,且搜索项单元54可搜索任一项。在另一实例中,搜索项单元54可经配置以在接收任一字符的情况下输出匹配。所有存储器单元58可经编程以存储1,以使得搜索项单元54可充当搜索准则中的通配符项。
[0054]图6到图8描绘辨识模块22根据多项搜索准则搜索(例如)词。具体来说,图6图解说明辨识模块22检测词的第一字母,图7图解说明对第二字母的检测,且图8图解说明对最后一个字母的检测。
[0055]如图6所图解说明,辨识模块22可经配置以搜索词“big”。对三个邻近特征单元
63、64及66进行图解说明。特征单元63经配置以检测字母“b”。特征单元64经配置以检测字母“i”。且特征单元66经配置以既检测字母“g”又指示搜索准则得到满足。
[0056]图6还描绘检测阵列34的额外细节。检测阵列34可包含特征单元63、64及66中的每一者中的检测单元68。检测单元68中的每一者可包含存储器单元70 (例如,上文所描述类型的存储器单元中的一者(例如,触发器)),存储器单元70指示特征单元63、64或66是活动的还是不活动的。检测单元68可经配置以将指示所述检测单元是否是活动的及是否已从其相关联搜索项单元54接收到指示匹配的信号两者的信号输出到激活路由矩阵36。不活动特征单元63、64及66可忽视匹配。检测单元68中的每一者可包含具有来自存储器单元70及输出导体56的输入的AND门。可将所述AND门的输出路由到检测总线38及激活路由矩阵36两者或一者或另一者。
[0057]激活路由矩阵36又可通过写入到检测阵列34中的存储器单元70来选择性地激活特征单元63、64及66。激活路由矩阵36可根据搜索准则及接下来在数据流12中搜索哪一搜索项来激活特征单元63、64或66。
[0058]在图6中,数据流12呈现字母“b”。作为响应,特征单元63、64及66中的每一者可在其输出导体56上输出指示存储于连接到导体62的存储器单元58 (其表示字母“b”)中的值的信号。然后,检测单元56可各自确定其是否已接收到指示匹配的信号及其是否是活动的。由于特征单元63经配置以检测字母“b”且是活动的(如其存储器单元70所指示),因此特征单元63中的检测单元68可将指示搜索准则的第一搜索项已得到匹配的信号输出到激活路由矩阵36。
[0059]如图7所图解说明,在第一搜索项得到匹配之后,激活路由矩阵36可通过将I写入到其检测单元68中的其存储器单元70来激活下一特征单元64。在下一项满足第一搜索项的情况下(例如,如果接收到项序列“bbig”),激活路由矩阵36也可维持特征单元63的活动状态。在搜索数据流12期间的一部分时间或大致所有时间期间,搜索准则的第一搜索项可维持在活动状态中。
[0060]在图7中,数据流12将字母“ i ”呈现给辨识模块22。作为响应,特征单元63、64及66中的每一者可在其输出导体56上输出指示存储于连接到导体72的存储器单元58 (其表示字母“i”)中的值的信号。然后,检测单元56可各自确定其是否已接收到指示匹配的信号及其是否是活动的。由于特征单元64经配置以检测字母“i”且是活动的(如其存储器单元70所指示),因此特征单元64中的检测单元68可将指示其搜索准则的下一搜索项已得到匹配的信号输出到激活路由矩阵36。
[0061]接下来,激活路由矩阵36可激活特征单元66,如图8所图解说明。在评估下一项之前,可去激活特征单元64。举例来说,特征单元64可通过其检测单元68在检测循环之间复位其存储器单元70而去激活或激活路由矩阵36可去激活特征单元64。
[0062]在图8中,数据流12将项“g”呈现给行解码器28,所述行解码器选择表示项“g”的导体74。作为响应,特征单元63、64及66中的每一者可在其输出导体56上输出指示存储于连接到导体74的存储器单元58 (其表示字母“g”)中的值的信号。然后,检测单元56可各自确定其是否已接收到指示匹配的信号及其是否是活动的。由于特征单元66经配置以检测字母“g”且是活动的(如其存储器单元70所指示),因此特征单元66中的检测单元68可将指示其搜索准则的最后一个搜索项已得到匹配的信号输出到激活路由矩阵36。
[0063]搜索准则的末端或搜索准则的一部分可由激活路由矩阵36或检测单元68识别。这些组件36或68可包含指示其特征单元63、64或66指定搜索准则的最后一个搜索项还是搜索准则的分量的存储器。举例来说,搜索准则可指定其中词“cattle”出现两次的所有句子,且辨识模块可将指示“cattle”在句子内的每一出现的信号输出到聚合模块,所述聚合模块可计数所述出现以确定所述搜索准则是否得到满足。
[0064]可在数个条件下激活特征单元63、64或66。特征单元63、64或66可为“始终活动”的,此意指其在整个或大致整个搜索期间保持活动。始终活动特征单元63、64或66的实例为搜索准则的第一特征单元,例如,特征单元63。
[0065]特征单元63、64或66可为“在请求时活动”,此意指特征单元63、64或66在某一先前条件得到匹配时(例如,在搜索准则中的先前搜索项得到匹配时)是活动的。实例为当由图6到图8中的特征单元63请求时活动的特征单元64及当由特征单元64请求时活动的特征单元66。
[0066]特征单元63、64或66可为“自激活”,此意指一旦被激活,只要其搜索项得到匹配其即激活自身。举例来说,具有由任一数值数位匹配的搜索项的自激活特征单元可在序列“123456xy”中保持活动直到到达字母“x”为止。每当自激活特征单元的搜索项得到匹配时,其可激活搜索准则中的下一特征单元。因此,始终活动特征单元可由自激活特征单元及当请求时活动的特征单元形成:所述自激活特征单元可经编程以使其所有存储器单元58存储1,且其可在每一项之后重复激活所述当请求时活动的特征单元。在一些实施例中,每一特征单元63、64及66可在其检测单元68中或在激活路由矩阵36中包含指定所述特征单元是否始终活动的存储器单元,借此由单个特征单元形成始终活动特征单元。
[0067]图9描绘经配置以根据第一搜索准则75及第二搜索准则76并行搜索的辨识模块22的实例。在此实例中,第一搜索准则75指