專利名稱:具有匹配數(shù)據(jù)報(bào)告模塊的型式辨識(shí)處理器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明的實(shí)施例一般來說涉及電子裝置,且更具體來說在某些實(shí)施例中涉及具有型式辨識(shí)處理器的電子裝置。
背景技術(shù):
在計(jì)算領(lǐng)域中,型式辨識(shí)任務(wù)越來越具有挑戰(zhàn)性。計(jì)算機(jī)之間傳輸?shù)臄?shù)據(jù)量不斷增大,且用戶希望識(shí)別的型式數(shù)目日益增加。舉例來說,通常通過搜索數(shù)據(jù)流中的型式(例如,特定短語或代碼片段)來檢測(cè)垃圾郵件及惡意軟件。型式的數(shù)目隨著垃圾郵件及惡意軟件的變化而增加,因?yàn)榭蓪?shí)施新型式以搜索新變體。搜索數(shù)據(jù)流以找到這些型式中的每一者可形成計(jì)算瓶頸。通常,在接收到數(shù)據(jù)流時(shí),搜索數(shù)據(jù)流以一次一個(gè)地找到每一型式。 在系統(tǒng)準(zhǔn)備搜索數(shù)據(jù)流的下一部分之前的延遲隨著型式數(shù)目而增加。因此,型式辨識(shí)可使數(shù)據(jù)的接收減慢。當(dāng)檢測(cè)到型式時(shí),檢查匹配所述型式的數(shù)據(jù)通常為有用的。然而,再現(xiàn)所述匹配數(shù)據(jù)可為困難的。搜索可規(guī)定允許數(shù)據(jù)流的任意長(zhǎng)的部分產(chǎn)生匹配的通配符字符或其它運(yùn)算子。此外,不同型式的部分可由數(shù)據(jù)流的相同部分匹配,而不同型式可在不同時(shí)間開始及停止。每當(dāng)數(shù)據(jù)流開始匹配型式中的一者時(shí)創(chuàng)建所述數(shù)據(jù)流的新副本為昂貴的,因?yàn)樾纬伤鰯?shù)據(jù)流的多個(gè)任意長(zhǎng)的副本消耗大量存儲(chǔ)器。
圖1描繪搜索數(shù)據(jù)流的系統(tǒng)的實(shí)例;圖2描繪圖1的系統(tǒng)中的型式辨識(shí)處理器的實(shí)例;圖3描繪圖2的型式辨識(shí)處理器中的搜索項(xiàng)單元的實(shí)例;圖4及圖5描繪圖3的搜索項(xiàng)單元搜索數(shù)據(jù)流以找到單個(gè)字符;圖6到圖8描繪搜索數(shù)據(jù)流以找到一詞的包含數(shù)個(gè)搜索項(xiàng)單元的辨識(shí)模塊;圖9描繪經(jīng)配置以搜索數(shù)據(jù)流以并行找到兩個(gè)詞的辨識(shí)模塊;圖10到圖12描繪根據(jù)規(guī)定具有同一前綴的多個(gè)詞的搜索準(zhǔn)則進(jìn)行搜索的辨識(shí)模塊;圖13圖解說明根據(jù)本發(fā)明技術(shù)的實(shí)施例的匹配數(shù)據(jù)報(bào)告模塊的實(shí)施例;且圖14到圖19圖解說明圖13的匹配數(shù)據(jù)報(bào)告模塊根據(jù)本發(fā)明技術(shù)的實(shí)施例操作。
具體實(shí)施例方式圖1描繪搜索數(shù)據(jù)流12的系統(tǒng)10的實(shí)例。系統(tǒng)10可包含型式辨識(shí)處理器14,其根據(jù)搜索準(zhǔn)則16搜索數(shù)據(jù)流12。每一搜索準(zhǔn)則可規(guī)定一個(gè)或一個(gè)以上目標(biāo)表達(dá)(即,型式)。短語“目標(biāo)表達(dá)”是指型式辨識(shí)處理器14正在搜索的數(shù)據(jù)序列。目標(biāo)表達(dá)的實(shí)例包含拼寫某一詞的字符序列、 詳細(xì)說明基因的遺傳堿基對(duì)序列、形成圖像的一部分的圖片或視頻文件中的位序列、形成程序的一部分的可執(zhí)行文件中的位序列或形成歌曲或口語短語的一部分的音頻文件中的位序列。搜索準(zhǔn)則可規(guī)定一個(gè)以上目標(biāo)表達(dá)。舉例來說,搜索準(zhǔn)則可規(guī)定以字母序列“Cl” 開始的所有五個(gè)字母的詞、以字母序列“Cl”開始的任一詞、包含詞“cloud”三次以上的段落等。可能目標(biāo)表達(dá)集合的數(shù)目為任意大的,例如,可存在與數(shù)據(jù)流可呈現(xiàn)的數(shù)據(jù)排列同樣多的目標(biāo)表達(dá)。搜索準(zhǔn)則16可以各種格式來表達(dá),包含正則表達(dá)、簡(jiǎn)明地規(guī)定若干目標(biāo)表達(dá)集合而不必列舉每一目標(biāo)表達(dá)的程序設(shè)計(jì)語言。每一搜索準(zhǔn)則可由一個(gè)或一個(gè)以上搜索項(xiàng)構(gòu)造而成。因此,搜索準(zhǔn)則的每一目標(biāo)表達(dá)可包含一個(gè)或一個(gè)以上搜索項(xiàng)且一些目標(biāo)表達(dá)可使用共用搜索項(xiàng)。如本文中所使用, 短語“搜索項(xiàng)”是指在單個(gè)搜索循環(huán)期間所搜索的數(shù)據(jù)序列。所述數(shù)據(jù)序列可包含呈二進(jìn)制格式或其它格式(例如,十進(jìn)制、ASCII等)的多個(gè)數(shù)據(jù)位。所述序列可用單個(gè)數(shù)字或多個(gè)數(shù)字(例如,數(shù)個(gè)二進(jìn)制數(shù)字)編碼數(shù)據(jù)。舉例來說,型式辨識(shí)處理器14可一次一個(gè)字符地搜索文本數(shù)據(jù)流12,且搜索項(xiàng)可規(guī)定具有單個(gè)字符的集合,例如,字母“a”,字母“a”或 “ e ”,或規(guī)定具有所有單個(gè)字符的集合的通配符搜索項(xiàng)。搜索項(xiàng)可小于或大于規(guī)定字符(或數(shù)據(jù)流所表達(dá)的信息的其它語義符一即,基本單位,例如,音符、遺傳堿基對(duì)、10進(jìn)制數(shù)字或子像素)的位的數(shù)目。舉例來說,搜索項(xiàng)可為 8個(gè)位且單個(gè)字符可為16個(gè)位,在此情況下,兩個(gè)相連搜索項(xiàng)可規(guī)定單個(gè)字符。搜索準(zhǔn)則16可由編譯器18格式化以用于型式辨識(shí)處理器14。格式化可包含從所述搜索準(zhǔn)則解構(gòu)出搜索項(xiàng)。舉例來說,如果數(shù)據(jù)流12所表達(dá)的語義符大于所述搜索項(xiàng), 那么所述編譯器可將搜索準(zhǔn)則解構(gòu)成多個(gè)搜索項(xiàng)以搜索單個(gè)語義符。類似地,如果數(shù)據(jù)流 12所表達(dá)的語義符小于所述搜索項(xiàng),那么編譯器18可為每一單獨(dú)語義符提供具有未使用位的單個(gè)搜索項(xiàng)。編譯器18還可對(duì)搜索準(zhǔn)則16進(jìn)行格式化以支持型式辨識(shí)處理器14本機(jī)不支持的各種正則表達(dá)運(yùn)算子。型式辨識(shí)處理器14可通過評(píng)估來自數(shù)據(jù)流12的每一新項(xiàng)來搜索數(shù)據(jù)流12。此處,詞“項(xiàng)”是指可匹配搜索項(xiàng)的數(shù)據(jù)量。在搜索循環(huán)期間,型式辨識(shí)處理器14可確定當(dāng)前所呈現(xiàn)的項(xiàng)是否匹配搜索準(zhǔn)則中的當(dāng)前搜索項(xiàng)。如果所述項(xiàng)匹配所述搜索項(xiàng),那么使評(píng)估 “前進(jìn)”,即,將下一項(xiàng)與搜索準(zhǔn)則中的下一搜索項(xiàng)進(jìn)行比較。如果所述項(xiàng)不匹配,那么將下一項(xiàng)與搜索準(zhǔn)則中的第一項(xiàng)進(jìn)行比較,借此對(duì)搜索進(jìn)行復(fù)位。可將每一搜索準(zhǔn)則編譯到型式辨識(shí)處理器14中的不同有限狀態(tài)機(jī)中。所述有限狀態(tài)機(jī)可并行運(yùn)行,從而根據(jù)搜索準(zhǔn)則16來搜索數(shù)據(jù)流12。在前面的搜索項(xiàng)由數(shù)據(jù)流12 匹配時(shí),所述有限狀態(tài)機(jī)可步進(jìn)經(jīng)過搜索準(zhǔn)則中的每一連續(xù)搜索項(xiàng),或如果所述搜索項(xiàng)未被匹配,那么所述有限狀態(tài)機(jī)可開始搜索所述搜索準(zhǔn)則的第一搜索項(xiàng)。型式辨識(shí)處理器14可在約相同時(shí)間(例如,在單個(gè)裝置循環(huán)期間)根據(jù)數(shù)個(gè)搜索準(zhǔn)則及其相應(yīng)搜索項(xiàng)評(píng)估每一新項(xiàng)。所述并行有限狀態(tài)機(jī)可各自在約相同時(shí)間接收來自數(shù)據(jù)流12的項(xiàng),且所述并行有限狀態(tài)機(jī)中的每一者可確定所述項(xiàng)是否使所述并行有限狀態(tài)機(jī)前進(jìn)到其搜索準(zhǔn)則中的下一搜索項(xiàng)。所述并行有限狀態(tài)機(jī)可根據(jù)相對(duì)大數(shù)目的搜索準(zhǔn)則 (例如,多于100、多于1000或多于10,000)來評(píng)估項(xiàng)。由于其并行操作,因此其可將所述搜索準(zhǔn)則應(yīng)用到具有相對(duì)高帶寬的數(shù)據(jù)流12 (例如,大于或大體等于每秒64MB或每秒U(xiǎn)8MB 的數(shù)據(jù)流1 而不會(huì)使所述數(shù)據(jù)流減慢。在一些實(shí)施例中,搜索循環(huán)持續(xù)時(shí)間不隨搜索準(zhǔn)則的數(shù)目按比例縮放,因此搜索準(zhǔn)則的數(shù)目對(duì)型式辨識(shí)處理器14的性能可幾乎沒有影響。當(dāng)滿足搜索準(zhǔn)則時(shí)(即,在前進(jìn)到最后一個(gè)搜索項(xiàng)且匹配其之后),型式辨識(shí)處理器14可將所述準(zhǔn)則的滿足報(bào)告給處理單元,例如,中央處理單元(CPU) 20。中央處理單元 20可控制型式辨識(shí)處理器14及系統(tǒng)10的其它部分。系統(tǒng)10可為搜索數(shù)據(jù)流的各種系統(tǒng)或裝置中的任一者。舉例來說,系統(tǒng)10可為監(jiān)視數(shù)據(jù)流12的桌上型、膝上型、手持式或其它類型的計(jì)算機(jī)。系統(tǒng)10還可為網(wǎng)絡(luò)節(jié)點(diǎn),例如,路由器、服務(wù)器或客戶端(例如,先前所述類型的計(jì)算機(jī)中的一者)。系統(tǒng)10可為某一其它類別的電子裝置,例如,復(fù)印機(jī)、掃描儀、打印機(jī)、游戲控制臺(tái)、電視、機(jī)頂視頻分配或記錄系統(tǒng)、電纜盒、個(gè)人數(shù)字媒體播放器、工廠自動(dòng)化系統(tǒng)、汽車計(jì)算機(jī)系統(tǒng)或醫(yī)療裝置。(用來描述系統(tǒng)的這些各種實(shí)例的術(shù)語(如同本文中所使用的許多其它術(shù)語)可共享某些所指物,且如此不應(yīng)僅根據(jù)所列舉的其它物項(xiàng)來理解)。數(shù)據(jù)流12可為用戶或其它實(shí)體可希望搜索的各種類型的數(shù)據(jù)流中的一者或一者以上。舉例來說,數(shù)據(jù)流12可為在網(wǎng)絡(luò)上接收的數(shù)據(jù)流,例如,在因特網(wǎng)上接收的包或在蜂窩式網(wǎng)絡(luò)上接收的話音或數(shù)據(jù)。數(shù)據(jù)流12可為從與系統(tǒng)10通信的傳感器(例如,成像傳感器、溫度傳感器、加速度計(jì)或類似物或其組合物)接收的數(shù)據(jù)。數(shù)據(jù)流12可作為串行數(shù)據(jù)流由系統(tǒng)10接收,其中數(shù)據(jù)是以具有意義的次序(例如,以在時(shí)間上、在詞法上或在語義上有效的次序)被接收。或者,可并行地或無序地接收數(shù)據(jù)流12,且接著(例如)通過將在因特網(wǎng)上接收的包重新排序?qū)?shù)據(jù)流12轉(zhuǎn)換成串行數(shù)據(jù)流。在一些實(shí)施例中,數(shù)據(jù)流12 可以串行方式呈現(xiàn)項(xiàng),但可并行地接收表達(dá)所述項(xiàng)中的每一者的位。數(shù)據(jù)流12可從系統(tǒng)10 外部的源接收,或可通過詢問存儲(chǔ)器裝置且由所存儲(chǔ)的數(shù)據(jù)形成數(shù)據(jù)流12來形成。取決于數(shù)據(jù)流12中的數(shù)據(jù)的類型,設(shè)計(jì)者可選擇不同類型的搜索準(zhǔn)則。舉例來說,搜索準(zhǔn)則16可為病毒定義文件。可表征病毒或其它惡意軟件,且可使用惡意軟件的方面來形成指示數(shù)據(jù)流12是否可能正在遞送惡意軟件的搜索準(zhǔn)則??蓪⑺盟阉鳒?zhǔn)則存儲(chǔ)于服務(wù)器上,且客戶端系統(tǒng)的操作者可訂閱將搜索準(zhǔn)則16下載到系統(tǒng)10的服務(wù)。由于會(huì)出現(xiàn)不同類型的惡意軟件,因此可從所述服務(wù)器周期性地更新搜索準(zhǔn)則16。搜索準(zhǔn)則16還可用來規(guī)定可在網(wǎng)絡(luò)上接收的不合意內(nèi)容,舉例來說,不想要的電子郵件(通常稱為垃圾郵件)或用戶發(fā)現(xiàn)是令人反感的其它內(nèi)容。數(shù)據(jù)流12可由對(duì)系統(tǒng)10正在接收的數(shù)據(jù)感興趣的第三方來搜索。舉例來說,可針對(duì)在版權(quán)作品中出現(xiàn)的文本、音頻序列或視頻序列而監(jiān)視數(shù)據(jù)流12。可針對(duì)與刑事調(diào)查或民事訴訟有關(guān)或雇主感興趣的言論而監(jiān)視數(shù)據(jù)流12。搜索準(zhǔn)則16還可包含數(shù)據(jù)流12中的若干型式,例如,在可由CPU 20或型式辨識(shí)處理器14尋址的存儲(chǔ)器中,可對(duì)所述型式進(jìn)行翻譯。舉例來說,搜索準(zhǔn)則16可各自規(guī)定英語詞,對(duì)于所述英語詞,對(duì)應(yīng)西班牙語詞存儲(chǔ)于存儲(chǔ)器中。在另一實(shí)例中,搜索準(zhǔn)則16可規(guī)定數(shù)據(jù)流12的經(jīng)編碼版本,例如,MP3、MPEG4、FLAC, Ogg Vorbis等,對(duì)于所述經(jīng)編碼版本, 可得到數(shù)據(jù)流12的經(jīng)解碼版本,或反之亦然。型式辨識(shí)處理器14可為與CPU 20 一起集成到單個(gè)組件(例如,單個(gè)裝置)中或可形成為單獨(dú)組件的硬件裝置。舉例來說,型式辨識(shí)處理器14可為單獨(dú)集成電路。型式辨識(shí)處理器14可稱為“協(xié)處理器”或“型式辨識(shí)協(xié)處理器”。圖2描繪型式辨識(shí)處理器14的實(shí)例。型式辨識(shí)處理器14可包含辨識(shí)模塊22、聚合模塊M及匹配數(shù)據(jù)報(bào)告模塊25。辨識(shí)模塊22可經(jīng)配置以將所接收的項(xiàng)與搜索項(xiàng)進(jìn)行比較,且辨識(shí)模塊22與聚合模塊M兩者可協(xié)作以確定將項(xiàng)與搜索項(xiàng)匹配是否滿足搜索準(zhǔn)則。 匹配數(shù)據(jù)報(bào)告模塊25可將數(shù)據(jù)流12存儲(chǔ)于緩沖器中且將匹配數(shù)據(jù)報(bào)告給CPU 20 (圖1)。辨識(shí)模塊22可包含行解碼器觀及多個(gè)特征單元30。每一特征單元30可規(guī)定一搜索項(xiàng),且特征單元30的群組可形成形成搜索準(zhǔn)則的并行有限狀態(tài)機(jī)。特征單元30的組件可形成搜索項(xiàng)陣列32、檢測(cè)陣列34及激活路由矩陣36。搜索項(xiàng)陣列32可包含多個(gè)輸入導(dǎo)體37,其中的每一者可使特征單元30中的每一者與行解碼器觀通信。行解碼器觀可基于數(shù)據(jù)流12的內(nèi)容而在多個(gè)輸入導(dǎo)體37當(dāng)中選擇特定導(dǎo)體。舉例來說,行解碼器觀可為1字節(jié)/256行解碼器,其基于可表示一個(gè)項(xiàng)的所接收字節(jié)的值而激活256個(gè)行中的一者。1字節(jié)項(xiàng)0000 0000可對(duì)應(yīng)于多個(gè)輸入導(dǎo)體37當(dāng)中的頂部行,且 1字節(jié)項(xiàng)1111 1111可對(duì)應(yīng)于多個(gè)輸入導(dǎo)體37當(dāng)中的底部行。因此,取決于從數(shù)據(jù)流12接收到哪些項(xiàng),可選擇不同輸入導(dǎo)體37。在接收到不同項(xiàng)時(shí),行解碼器觀可去激活對(duì)應(yīng)于先前項(xiàng)的行且激活對(duì)應(yīng)于新項(xiàng)的行。檢測(cè)陣列34可耦合到檢測(cè)總線38,檢測(cè)總線38將指示搜索準(zhǔn)則的全部或部分滿足的信號(hào)輸出到聚合模塊M。激活路由矩陣36可基于搜索準(zhǔn)則中的已被匹配的搜索項(xiàng)的數(shù)目而選擇性地激活及去激活特征單元30。聚合模塊M可包含鎖存器矩陣40、聚合路由矩陣42、閾值邏輯矩陣44、邏輯積矩陣46、邏輯和矩陣48及初始化路由矩陣50。鎖存器矩陣40可實(shí)施某些搜索準(zhǔn)則的若干部分。一些搜索準(zhǔn)則(例如,一些正則表達(dá))僅計(jì)數(shù)匹配或匹配群組的第一次出現(xiàn)。鎖存器矩陣40可包含記錄是否已出現(xiàn)匹配的鎖存器。所述鎖存器可在初始化期間經(jīng)清除,且在操作期間周期性地經(jīng)重新初始化,因?yàn)榻?jīng)確定將滿足或不可進(jìn)一步滿足搜索準(zhǔn)則一即,較早搜索項(xiàng)可需要在可滿足所述搜索準(zhǔn)則之前被再次匹配。聚合路由矩陣42可類似于激活路由矩陣36地發(fā)揮作用。聚合路由矩陣42可在檢測(cè)總線38上接收指示匹配的信號(hào)且可將所述信號(hào)路由到連接到閾值邏輯矩陣44的不同群組邏輯線53。聚合路由矩陣42還可將初始化路由矩陣50的輸出路由到檢測(cè)陣列34以在經(jīng)確定將滿足或不可進(jìn)一步滿足搜索準(zhǔn)則時(shí)對(duì)檢測(cè)陣列34的若干部分進(jìn)行復(fù)位。閾值邏輯矩陣44可包含多個(gè)計(jì)數(shù)器,例如,經(jīng)配置以遞增計(jì)數(shù)或遞減計(jì)數(shù)的32位計(jì)數(shù)器。閾值邏輯矩陣44可加載有初始計(jì)數(shù)且其可基于由辨識(shí)模塊用信號(hào)通知的匹配而從所述計(jì)數(shù)遞增計(jì)數(shù)或遞減計(jì)數(shù)。舉例來說,閾值邏輯矩陣44可計(jì)數(shù)某一長(zhǎng)度的文本中一詞的出現(xiàn)數(shù)目。閾值邏輯矩陣44的輸出可為到邏輯積矩陣46的輸入。邏輯積矩陣46可選擇性地產(chǎn)生“積”結(jié)果(例如,布爾邏輯(Boolean logic)中的“AND”函數(shù))。邏輯積矩陣46可實(shí)施為正方形矩陣,其中輸出積的數(shù)目等于來自閾值邏輯矩陣44的輸入線的數(shù)目,或邏輯積矩陣46可具有數(shù)目不同于輸出的輸入。可將所得積值輸出到邏輯和矩陣48。邏輯和矩陣48可選擇性地產(chǎn)生和(例如,布爾邏輯中的“OR”函數(shù))。邏輯和矩陣48也可為正方形矩陣,或邏輯和矩陣48可具有數(shù)目不同于輸出的輸入。由于所述輸入為邏輯積,因此邏輯和矩陣48的輸出可為邏輯積和(例如,布爾邏輯積和(SOP)形式)。邏輯和矩陣48的輸出可由初始化路由矩陣50接收。
初始化路由矩陣50可經(jīng)由聚合路由矩陣42對(duì)檢測(cè)陣列34及聚合模塊M的若干部分進(jìn)行復(fù)位。初始化路由矩陣50也可實(shí)施為正方形矩陣,或初始化路由矩陣50可具有數(shù)目不同于輸出的輸入。初始化路由矩陣50可響應(yīng)于來自邏輯和矩陣48的信號(hào)且重新初始化型式辨識(shí)處理器14的其它部分(例如,在滿足搜索準(zhǔn)則或經(jīng)確定不可進(jìn)一步滿足所述搜索準(zhǔn)則時(shí))。聚合模塊M可包含輸出緩沖器51,其接收閾值邏輯矩陣44、聚合路由矩陣42及邏輯和矩陣48的輸出。聚合模塊M的輸出可在輸出總線沈上從輸出緩沖器51傳輸?shù)?CPU20(圖1)。在一些實(shí)施例中,輸出多路復(fù)用器可對(duì)來自這些組件42、44及48的信號(hào)進(jìn)行多路復(fù)用且將指示準(zhǔn)則的滿足或搜索項(xiàng)的匹配的信號(hào)輸出到CPU 20(圖1)。在其它實(shí)施例中,可在不通過所述輸出多路復(fù)用器傳輸所述信號(hào)的情況下報(bào)告來自型式辨識(shí)處理器14 的結(jié)果,此并非暗示也不可省略本文中所描述的任一其它特征。舉例來說,可將來自閾值邏輯矩陣44、邏輯積矩陣46、邏輯和矩陣48或初始化路由矩陣50的信號(hào)在輸出總線沈上并行傳輸?shù)剿鯟PU。圖3圖解說明搜索項(xiàng)陣列32(圖2)中的單個(gè)特征單元30的一部分(本文中稱為搜索項(xiàng)單元討的組件)。搜索項(xiàng)單元討可包含輸出導(dǎo)體56及多個(gè)存儲(chǔ)器單元58。存儲(chǔ)器單元58中的每一者可耦合到輸出導(dǎo)體56及多個(gè)輸入導(dǎo)體37當(dāng)中的導(dǎo)體中的一者兩者。 響應(yīng)于其輸入導(dǎo)體37被選擇,存儲(chǔ)器單元58中的每一者可輸出指示其所存儲(chǔ)值的值,從而通過輸出導(dǎo)體56輸出數(shù)據(jù)。在一些實(shí)施例中,多個(gè)輸入導(dǎo)體37可稱為“字線”,且輸出導(dǎo)體 56可稱為“數(shù)據(jù)線”。存儲(chǔ)器單元58可包含各種類型的存儲(chǔ)器單元中的任一者。舉例來說,存儲(chǔ)器單元 58可為易失性存儲(chǔ)器,例如,具有晶體管及電容器的動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)單元。所述晶體管的源極與漏極可分別連接到所述電容器的板及輸出導(dǎo)體56,且所述晶體管的柵極可連接到輸入導(dǎo)體37中的一者。在易失性存儲(chǔ)器的另一實(shí)例中,存儲(chǔ)器單元58中的每一者可包含靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)單元。所述SRAM單元可具有輸出,其通過受輸入導(dǎo)體37中的一者控制的存取晶體管選擇性地耦合到輸出導(dǎo)體56。存儲(chǔ)器單元58還可包含非易失性存儲(chǔ)器,例如,相變存儲(chǔ)器(例如,雙向裝置)、快閃存儲(chǔ)器、硅-氧化物-氮化物-氧化物-硅(S0N0Q存儲(chǔ)器、磁阻式存儲(chǔ)器或其它類型的非易失性存儲(chǔ)器。存儲(chǔ)器單元58還可包含由邏輯門制成的存儲(chǔ)器單元,例如,觸發(fā)器。圖4及圖5描繪操作中的搜索項(xiàng)單元M的實(shí)例。圖4圖解說明搜索項(xiàng)單元M接收不匹配所述單元的搜索項(xiàng)的項(xiàng),且圖5圖解說明匹配。如圖4所圖解說明,搜索項(xiàng)單元M可經(jīng)配置以通過將數(shù)據(jù)存儲(chǔ)于存儲(chǔ)器單元58 中來搜索一個(gè)或一個(gè)以上項(xiàng)。存儲(chǔ)器單元58可各自表示數(shù)據(jù)流12可呈現(xiàn)的項(xiàng),例如,在圖 3中,每一存儲(chǔ)器單元58表示單個(gè)字母或數(shù)字,以字母“a”開始且以數(shù)字“9”結(jié)束。表示滿足搜索項(xiàng)的項(xiàng)的存儲(chǔ)器單元58可經(jīng)編程以存儲(chǔ)第一值,且不表示滿足搜索項(xiàng)的項(xiàng)的存儲(chǔ)器單元58可經(jīng)編程以存儲(chǔ)不同值。在所圖解說明的實(shí)例中,搜索項(xiàng)單元M經(jīng)配置以搜索字母“b”。表示“b”的存儲(chǔ)器單元58可存儲(chǔ)1或邏輯高,且不表示“b”的存儲(chǔ)器單元58 可經(jīng)編程以存儲(chǔ)0或邏輯低。為了將來自數(shù)據(jù)流12的項(xiàng)與搜索項(xiàng)進(jìn)行比較,行解碼器觀可選擇耦合到表示所接收項(xiàng)的存儲(chǔ)器單元58的輸入導(dǎo)體37。在圖4中,數(shù)據(jù)流12呈現(xiàn)小寫“e”。此項(xiàng)可由數(shù)據(jù)流12以八位ASCII代碼的形式呈現(xiàn),且行解碼器觀可將此字節(jié)解釋為行地址,從而通過給導(dǎo)體60通電而在其上輸出信號(hào)。作為響應(yīng),由導(dǎo)體60控制的存儲(chǔ)器單元58可輸出指示存儲(chǔ)器單元58所存儲(chǔ)的數(shù)據(jù)的信號(hào),且所述信號(hào)可由輸出導(dǎo)體56傳達(dá)。在此情況下,由于字母“e”并非由搜索項(xiàng)單元M規(guī)定的項(xiàng)中的一者,因此其不匹配搜索項(xiàng),且搜索項(xiàng)單元M輸出0值,從而指示未發(fā)現(xiàn)匹配。在圖5中,數(shù)據(jù)流12呈現(xiàn)字符“b”。同樣,行解碼器28可將此項(xiàng)解釋為地址,且行解碼器觀可選擇導(dǎo)體62。作為響應(yīng),表示字母“b”的存儲(chǔ)器單元58輸出其所存儲(chǔ)值,在此情況下,其為1,從而指示匹配。搜索項(xiàng)單元M可經(jīng)配置以一次搜索一個(gè)以上項(xiàng)。多個(gè)存儲(chǔ)器單元58可經(jīng)編程以存儲(chǔ)1,從而規(guī)定與一個(gè)以上項(xiàng)匹配的搜索項(xiàng)。舉例來說,表示小寫字母“a”及大寫字母“A” 的存儲(chǔ)器單元58可經(jīng)編程以存儲(chǔ)1,且搜索項(xiàng)單元M可搜索任一項(xiàng)。在另一實(shí)例中,搜索項(xiàng)單元M可經(jīng)配置以在接收到任一字符的情況下輸出匹配。所有存儲(chǔ)器單元58可經(jīng)編程以存儲(chǔ)1,使得搜索項(xiàng)單元討可用作搜索準(zhǔn)則中的通配符項(xiàng)。圖6到圖8描繪辨識(shí)模塊22根據(jù)多項(xiàng)搜索準(zhǔn)則進(jìn)行搜索(例如,以找到一詞)。 具體來說,圖6圖解說明辨識(shí)模塊22檢測(cè)詞的第一字母,圖7圖解說明第二字母的檢測(cè),且圖8圖解說明最后一個(gè)字母的檢測(cè)。如圖6所圖解說明,辨識(shí)模塊22可經(jīng)配置以搜索詞“big”。圖解說明三個(gè)鄰近特征單元63、64及66。特征單元63經(jīng)配置以檢測(cè)字母“b”。特征單元64經(jīng)配置以檢測(cè)字母 “i”。且特征單元66經(jīng)配置以既檢測(cè)字母“g”又指示搜索準(zhǔn)則得到滿足。圖6還描繪檢測(cè)陣列34的額外細(xì)節(jié)。檢測(cè)陣列34可包含特征單元63、64及66 中的每一者中的檢測(cè)單元68。檢測(cè)單元68中的每一者可包含存儲(chǔ)器單元70 (例如,上述存儲(chǔ)器單元類型中的一者(例如,觸發(fā)器)),其指示特征單元63、64或66是活動(dòng)還是不活動(dòng)。 檢測(cè)單元68可經(jīng)配置以將指示所述檢測(cè)單元是否為活動(dòng)的及是否已從其相關(guān)聯(lián)搜索項(xiàng)單元M接收到指示匹配的信號(hào)兩者的信號(hào)輸出到激活路由矩陣36。不活動(dòng)特征單元63、64 及66可忽視匹配。檢測(cè)單元68中的每一者可包含具有來自存儲(chǔ)器單元70及輸出導(dǎo)體56 的輸入的AND門??蓪⑺鯝ND門的輸出路由到檢測(cè)總線38及激活路由矩陣36兩者或者一者或另一者。激活路由矩陣36又可通過向檢測(cè)陣列34中的存儲(chǔ)器單元70寫入來選擇性地激活特征單元63、64及66。激活路由矩陣36可根據(jù)搜索準(zhǔn)則及接下來在數(shù)據(jù)流12中搜索哪個(gè)搜索項(xiàng)來激活特征單元63、64或66。在圖6中,數(shù)據(jù)流12呈現(xiàn)字母“b”。作為響應(yīng),特征單元63、64及66中的每一者可在其輸出導(dǎo)體56上輸出指示存儲(chǔ)于連接到導(dǎo)體62的存儲(chǔ)器單元58 (其表示字母“b” ) 中的值的信號(hào)。接著,檢測(cè)單元56可各自確定其是否已接收到指示匹配的信號(hào)及其是否為活動(dòng)的。由于特征單元63經(jīng)配置以檢測(cè)字母“b”且為活動(dòng)的(如其存儲(chǔ)器單元70所指示),因此特征單元63中的檢測(cè)單元68可將指示搜索準(zhǔn)則的第一搜索項(xiàng)已被匹配的信號(hào)輸出到激活路由矩陣36。如圖7所圖解說明,在匹配第一搜索項(xiàng)之后,激活路由矩陣36可通過將1寫入到下一特征單元64的檢測(cè)單元68中的存儲(chǔ)器單元70來激活所述特征單元。激活路由矩陣36還可維持特征單元63的活動(dòng)狀態(tài),以防下一項(xiàng)滿足第一搜索項(xiàng)(例如,在接收到項(xiàng)序列 “bbig”的情況下)。在搜索數(shù)據(jù)流12期間的一部分時(shí)間或大致所有時(shí)間期間,搜索準(zhǔn)則的第一搜索項(xiàng)可維持于活動(dòng)狀態(tài)中。在圖7中,數(shù)據(jù)流12將字母“i”呈現(xiàn)給辨識(shí)模塊22。作為響應(yīng),特征單元63、64 及66中的每一者可在其輸出導(dǎo)體56上輸出指示存儲(chǔ)于連接到導(dǎo)體72的存儲(chǔ)器單元58 (其表示字母“i”)中的值的信號(hào)。接著,檢測(cè)單元56可各自確定其是否已接收到指示匹配的信號(hào)及其是否為活動(dòng)的。由于特征單元64經(jīng)配置以檢測(cè)字母“i”且為活動(dòng)的(如其存儲(chǔ)器單元70所指示),因此特征單元64中的檢測(cè)單元68可將指示其搜索準(zhǔn)則的下一搜索項(xiàng)已被匹配的信號(hào)輸出到激活路由矩陣36。接下來,激活路由矩陣36可激活特征單元66,如圖8所圖解說明。在評(píng)估下一項(xiàng)之前,可去激活特征單元64。舉例來說,特征單元64可由其檢測(cè)單元68在檢測(cè)循環(huán)之間對(duì)其存儲(chǔ)器單元70進(jìn)行復(fù)位來去激活或激活路由矩陣36可去激活特征單元64。特征單元 63可在數(shù)據(jù)流12再次呈現(xiàn)搜索準(zhǔn)則的第一項(xiàng)的情況下保持活動(dòng)。在圖8中,數(shù)據(jù)流12將項(xiàng)“g”呈現(xiàn)給行解碼器觀,所述行解碼器選擇表示項(xiàng)g”的導(dǎo)體74。作為響應(yīng),特征單元63、64及66中的每一者可在其輸出導(dǎo)體56上輸出指示存儲(chǔ)于連接到導(dǎo)體74的存儲(chǔ)器單元58 (其表示字母“g”)中的值的信號(hào)。接著,檢測(cè)單元56可各自確定其是否已接收到指示匹配的信號(hào)及其是否為活動(dòng)的。由于特征單元66經(jīng)配置以檢測(cè)字母“g”且為活動(dòng)的(如其存儲(chǔ)器單元70所指示),因此特征單元66中的檢測(cè)單元 68可將指示其搜索準(zhǔn)則的最后一個(gè)搜索項(xiàng)已被匹配的信號(hào)輸出到激活路由矩陣36。搜索準(zhǔn)則的末端或搜索準(zhǔn)則的一部分可由激活路由矩陣36或檢測(cè)單元68來識(shí)別。這些組件36或68可包含指示其特征單元63、64或66是規(guī)定搜索準(zhǔn)則的最后一個(gè)搜索項(xiàng)還是搜索準(zhǔn)則的分量的存儲(chǔ)器。舉例來說,搜索準(zhǔn)則可規(guī)定其中詞“cattle”出現(xiàn)兩次的所有句子,且辨識(shí)模塊可將指示“cattle”在句子內(nèi)的每一次出現(xiàn)的信號(hào)輸出到聚合模塊, 所述聚合模塊可計(jì)數(shù)所述出現(xiàn)以確定所述搜索準(zhǔn)則是否得到滿足??稍跀?shù)個(gè)條件下激活特征單元63、64或66。特征單元63、64或66可為“始終活動(dòng)”,此意味著其在整個(gè)或大致整個(gè)搜索期間保持活動(dòng)。始終活動(dòng)特征單元63、64或66的實(shí)例為搜索準(zhǔn)則的第一特征單元(例如,特征單元63)。特征單元63、64或66可為“在請(qǐng)求時(shí)活動(dòng)”,此意味著特征單元63、64或66在某一在先條件得到匹配時(shí)(例如,在搜索準(zhǔn)則中的前面搜索項(xiàng)得到匹配時(shí))為活動(dòng)的。實(shí)例為在由圖6到圖8中的特征單元63請(qǐng)求時(shí)為活動(dòng)的特征單元64及在由特征單元64請(qǐng)求時(shí)為活動(dòng)的特征單元66。特征單元63、64或66可為“自激活的”,此意味著一旦其被激活,只要其搜索項(xiàng)得到匹配其即激活其自身。舉例來說,具有由任一數(shù)值數(shù)字匹配的搜索項(xiàng)的自激活特征單元可在序列“123456xy”中保持活動(dòng)直到到達(dá)字母“X”為止。每當(dāng)所述自激活特征單元的搜索項(xiàng)得到匹配時(shí),其即可激活搜索準(zhǔn)則中的下一特征單元。因此,始終活動(dòng)特征單元可由自激活特征單元及在請(qǐng)求時(shí)活動(dòng)的特征單元形成所述自激活特征單元可經(jīng)編程而使所有其存儲(chǔ)器單元58均存儲(chǔ)1,且其可在每一項(xiàng)之后重復(fù)激活在請(qǐng)求時(shí)活動(dòng)的特征單元。在一些實(shí)施例中,每一特征單元63、64及66可在其檢測(cè)單元68中或在激活路由矩陣36中包含規(guī)定所述特征單元是否為始終活動(dòng)的存儲(chǔ)器單元,借此由單個(gè)特征單元形成始終活動(dòng)的特征
11單元。圖9描繪經(jīng)配置以根據(jù)第一搜索準(zhǔn)則75及第二搜索準(zhǔn)則76并行進(jìn)行搜索的辨識(shí)模塊22的實(shí)例。在此實(shí)例中,第一搜索準(zhǔn)則75規(guī)定詞“big”,且第二搜索準(zhǔn)則76規(guī)定詞 “cab”。指示來自數(shù)據(jù)流12的當(dāng)前項(xiàng)的信號(hào)可在大體相同時(shí)間被傳遞到每一搜索準(zhǔn)則75 及76中的特征單元。輸入導(dǎo)體37中的每一者跨越搜索準(zhǔn)則75及76兩者。因此,在一些實(shí)施例中,搜索準(zhǔn)則75及76兩者可大體同時(shí)評(píng)估當(dāng)前項(xiàng)。相信此會(huì)加速搜索準(zhǔn)則的評(píng)估。 其它實(shí)施例可包含經(jīng)配置以并行評(píng)估更多搜索準(zhǔn)則的更多特征單元。舉例來說,一些實(shí)施例可包含并行操作的100、500、1000、5000、10,000個(gè)以上特征單元。這些特征單元可大體同時(shí)評(píng)估數(shù)百個(gè)或數(shù)千個(gè)搜索準(zhǔn)則。具有不同數(shù)目的搜索項(xiàng)的搜索準(zhǔn)則可通過將更多或更少的特征單元分配到所述搜索準(zhǔn)則來形成。簡(jiǎn)單搜索準(zhǔn)則可消耗比復(fù)雜搜索準(zhǔn)則更少的呈特征單元形式的資源。相信,相對(duì)于具有大數(shù)目的大體等同的核心的處理器(全部經(jīng)配置以評(píng)估復(fù)雜搜索準(zhǔn)則),此會(huì)減少型式辨識(shí)處理器14(圖幻的成本。圖10到圖12描繪更復(fù)雜搜索準(zhǔn)則的實(shí)例及激活路由矩陣36的特征兩者。激活路由矩陣36可包含多個(gè)激活路由單元78,其群組可與特征單元63、64、66、80、82、84及86 中的每一者相關(guān)聯(lián)。舉例來說,所述特征單元中的每一者可包含5個(gè)、10個(gè)、20個(gè)、50個(gè)或 50個(gè)以上激活路由單元78。激活路由單元78可經(jīng)配置以在搜索準(zhǔn)則中前面的搜索項(xiàng)得到匹配時(shí)將激活信號(hào)傳輸?shù)较乱凰阉黜?xiàng)。激活路由單元78可經(jīng)配置以將激活信號(hào)路由到鄰近特征單元或同一特征單元內(nèi)的其它激活路由單元78。激活路由單元78可包含指示哪些特征單元對(duì)應(yīng)于搜索準(zhǔn)則中的下一搜索項(xiàng)的存儲(chǔ)器。如圖10到圖12所圖解說明,辨識(shí)模塊22可經(jīng)配置以根據(jù)比規(guī)定單個(gè)詞的準(zhǔn)則復(fù)雜的搜索準(zhǔn)則進(jìn)行搜索。舉例來說,辨識(shí)模塊22可經(jīng)配置以搜索以前綴88開始且以兩個(gè)后綴90或92中的一者結(jié)束的詞。所圖解說明的搜索準(zhǔn)則規(guī)定依序以字母“C”及“1”開始且以字母序列“ap”或字母序列“oud”結(jié)束的詞。此為規(guī)定多個(gè)目標(biāo)表達(dá)(例如,詞“clap” 或詞“cloud”)的搜索準(zhǔn)則的實(shí)例。在圖10中,數(shù)據(jù)流12將字母“C”呈現(xiàn)給辨識(shí)模塊22,且特征單元63既活動(dòng)又檢測(cè)匹配。作為響應(yīng),激活路由矩陣36可激活下一特征單元64。激活路由矩陣36還可維持特征單元63的活動(dòng)狀態(tài),因?yàn)樘卣鲉卧?3為搜索準(zhǔn)則中的第一搜索項(xiàng)。在圖11中,數(shù)據(jù)流12呈現(xiàn)字母“1”,且特征單元64辨識(shí)匹配且為活動(dòng)的。作為響應(yīng),激活路由矩陣36可將激活信號(hào)傳輸?shù)降谝缓缶Y90的第一特征單元66及第二后綴92 的第一特征單元82兩者。在其它實(shí)例中,可激活更多后綴,或多個(gè)前綴可激活一個(gè)或一個(gè)以上后綴。接下來,如圖12所圖解說明,數(shù)據(jù)流12將字母“0”呈現(xiàn)給辨識(shí)模塊22,且第二后綴92的特征單元82檢測(cè)匹配且為活動(dòng)的。作為響應(yīng),激活路由矩陣36可激活第二后綴92 的下一特征單元84。在允許特征單元66變成不活動(dòng)時(shí),對(duì)第一后綴90的搜索可停止。圖 10到圖12所圖解說明的步驟可繼續(xù)經(jīng)過字母“U”及“d”,或搜索可停止直到下一次前綴88 得到匹配為止。圖13圖解說明匹配數(shù)據(jù)報(bào)告模塊25的實(shí)施例。匹配數(shù)據(jù)報(bào)告模塊25可包含計(jì)數(shù)器94、循環(huán)緩沖器96、匹配事件表98及控制器100。控制器100可連接到計(jì)數(shù)器94、循環(huán)緩沖器96及匹配事件表98??刂破?00還可連接到數(shù)據(jù)流12、檢測(cè)總線38及輸出總線 26。計(jì)數(shù)器94可每當(dāng)數(shù)據(jù)流12呈現(xiàn)一項(xiàng)時(shí)使計(jì)數(shù)遞增或遞減,例如,每搜索循環(huán)一次或每時(shí)鐘循環(huán)一次,此并非暗示搜索循環(huán)無法具有與時(shí)鐘循環(huán)相同的持續(xù)時(shí)間。計(jì)數(shù)器94 可為具有在約相同時(shí)間改變狀態(tài)的位的同步計(jì)數(shù)器,或其可為非同步計(jì)數(shù)器。計(jì)數(shù)器94可為在正常操作期間通常不停止的自由運(yùn)行計(jì)數(shù)器,或其可為可(例如)借助來自控制器100 的命令停止及復(fù)位的計(jì)數(shù)器。計(jì)數(shù)器94可為在每η個(gè)來自數(shù)據(jù)流12的項(xiàng)之后重復(fù)的模η 計(jì)數(shù)器。在其它實(shí)施例中,計(jì)數(shù)器94可為輸出可重復(fù)值序列的型式產(chǎn)生器,例如,線性反饋移位寄存器。計(jì)數(shù)器94還可為周期性地或在請(qǐng)求時(shí)輸出時(shí)間戳的時(shí)鐘。計(jì)數(shù)器94可經(jīng)配置以在(例如)通過復(fù)位而重復(fù)之前遞增計(jì)數(shù)到某一數(shù)目。在計(jì)數(shù)器94復(fù)位之前的遞增數(shù)目可約等于循環(huán)緩沖器96所存儲(chǔ)的項(xiàng)的數(shù)目或循環(huán)緩沖器96所存儲(chǔ)的位的數(shù)目。舉例來說,計(jì)數(shù)器94可為二進(jìn)制計(jì)數(shù)器,其經(jīng)配置而以少于21個(gè)數(shù)字、多于21個(gè)數(shù)字(例如, 多于約22個(gè)數(shù)字,多于約23個(gè)數(shù)字或多于約25個(gè)數(shù)字)計(jì)數(shù)。循環(huán)緩沖器96可包含多個(gè)項(xiàng)單元,每一項(xiàng)單元經(jīng)配置以存儲(chǔ)來自數(shù)據(jù)流12的一個(gè)項(xiàng)。在接收到數(shù)據(jù)流12時(shí),控制器100可基于計(jì)數(shù)器94的值將來自數(shù)據(jù)流12的項(xiàng)寫入到所述循環(huán)緩沖器。循環(huán)緩沖器96可包含與計(jì)數(shù)器94在復(fù)位之前經(jīng)歷的遞增的數(shù)目約相同的數(shù)目的項(xiàng)單元。當(dāng)存儲(chǔ)由數(shù)據(jù)流12呈現(xiàn)的項(xiàng)時(shí),可使用計(jì)數(shù)器94的值作為循環(huán)緩沖器96中的地址。因此,在一些實(shí)施例中,數(shù)據(jù)流12可重復(fù)填充循環(huán)緩沖器96,從而在計(jì)數(shù)器94復(fù)位之后蓋寫存儲(chǔ)于循環(huán)緩沖器96中的項(xiàng)單元中的項(xiàng)。在其它實(shí)施例中,可使用其它類型的先進(jìn)先出緩沖器,例如鏈接列表??苫趯?bào)告給CPU 20(圖1)的最大預(yù)期或所要匹配數(shù)據(jù)量來選擇循環(huán)緩沖器96的大小。循環(huán)緩沖器96可經(jīng)配置以存儲(chǔ)小于約2MB、大于約2MB、大于約4MB、大于約8MB、大于約16MB或大于約32MB。匹配事件表98可每當(dāng)檢測(cè)總線38用信號(hào)通知匹配的開始或匹配的完成時(shí)存儲(chǔ)計(jì)數(shù)器94的值。匹配表98可在辨識(shí)模塊22(圖幻中形成。舉例來說,特征單元30中的每一者可包含用于存儲(chǔ)匹配的開始時(shí)的計(jì)數(shù)的存儲(chǔ)器及用于存儲(chǔ)所述匹配的結(jié)束時(shí)的計(jì)數(shù)的存儲(chǔ)器。在其它實(shí)施例中,可將特征單元30分組在一起,例如,分組為四個(gè)或八個(gè)特征單元的群組,且用于所述特征單元群組的存儲(chǔ)器可存儲(chǔ)當(dāng)特征單元30中的一者在搜索準(zhǔn)則的開始得到匹配時(shí)或當(dāng)所述群組中的特征單元30中的一者在所述搜索準(zhǔn)則的結(jié)束得到匹配時(shí)的計(jì)數(shù)。匹配事件表98還可與辨識(shí)模塊22分離。特征單元30中的每一者或特征單元30 的群組可將準(zhǔn)則得到滿足的開始或所述準(zhǔn)則的滿足報(bào)告給控制器100(圖13),且匹配事件表98可存儲(chǔ)指示計(jì)數(shù)器94的值、所述準(zhǔn)則的滿足將要開始還是已完成及蓋寫已開始的準(zhǔn)則的滿足的記錄是否安全的數(shù)據(jù)。計(jì)數(shù)器94在準(zhǔn)則得到滿足的開始或完成時(shí)的值可稱為 “匹配事件指針”。在開始滿足每一搜索準(zhǔn)則而先前準(zhǔn)則滿足仍正在進(jìn)行中的情況下,可將所述搜索準(zhǔn)則指派給匹配事件表98中的數(shù)個(gè)地址。或者,可給每一搜索準(zhǔn)則指派存儲(chǔ)于匹配事件表98中的識(shí)別編號(hào)連同先前所提及的數(shù)據(jù)。匹配事件表98可包含指示蓋寫已開始的準(zhǔn)則滿足是否安全的位,這是因?yàn)橐淹瓿汕乙褕?bào)告所述準(zhǔn)則滿足,或因?yàn)樗鰷?zhǔn)則滿足未由后續(xù)數(shù)據(jù)匹配。控制器100或型式辨識(shí)處理器14 (圖幻的其它組件可將完成的準(zhǔn)則滿足報(bào)告給CPU20。作為響應(yīng),CPU 20可請(qǐng)求產(chǎn)生所述準(zhǔn)則滿足的數(shù)據(jù)的副本。此請(qǐng)求可經(jīng)由輸出總線專輸?shù)娇刂破?00??刂破?00可經(jīng)配置以基于來自匹配事件表98的開始及停止計(jì)數(shù)而從循環(huán)緩沖器96讀取匹配的數(shù)據(jù)且在輸出總線沈上將所述匹配數(shù)據(jù)報(bào)告給CPU 20 (圖 1)。在其它實(shí)施例中,可將準(zhǔn)則滿足的開始計(jì)數(shù)及停止計(jì)數(shù)報(bào)告給CPU 20,且CPU20可從循環(huán)緩沖器96檢索適當(dāng)數(shù)據(jù)。圖14到圖19更詳細(xì)圖解說明匹配數(shù)據(jù)報(bào)告模塊25的操作。如圖14所圖解說明, 循環(huán)緩沖器96可表示為項(xiàng)單元102的圓圈,其中計(jì)數(shù)器94指向項(xiàng)單元102中的一者。術(shù)語“項(xiàng)單元”是指經(jīng)配置以存儲(chǔ)單個(gè)項(xiàng)的存儲(chǔ)器單元群組。在接收到數(shù)據(jù)流12時(shí),可將每一項(xiàng)存儲(chǔ)于項(xiàng)單元102中的一者中,具體來說存儲(chǔ)于計(jì)數(shù)器94所指向的項(xiàng)單元102中。在從數(shù)據(jù)流12接收到每一項(xiàng)時(shí),計(jì)數(shù)器94可使計(jì)數(shù)遞增一且指向下一項(xiàng)單元102。圖15圖解說明循環(huán)緩沖器96存儲(chǔ)由數(shù)據(jù)流12呈現(xiàn)的第一項(xiàng)。從數(shù)據(jù)流12接收字母“e”且其由項(xiàng)單元102'存儲(chǔ)。在數(shù)據(jù)流12呈現(xiàn)下一項(xiàng)之前,或在數(shù)據(jù)流12呈現(xiàn)下一項(xiàng)時(shí),計(jì)數(shù)器94遞增以指向下一項(xiàng)單元102"。由于計(jì)數(shù)器94遞增以尋址循環(huán)緩沖器96 中的每一連續(xù)項(xiàng)單元102,因此此過程可針對(duì)由數(shù)據(jù)流12呈現(xiàn)的每一連續(xù)項(xiàng)重復(fù)。當(dāng)計(jì)數(shù)器94復(fù)位時(shí),循環(huán)緩沖器96可開始蓋寫存儲(chǔ)于項(xiàng)單元102中的數(shù)據(jù)。在循環(huán)緩沖器96正存儲(chǔ)來自數(shù)據(jù)流12的項(xiàng)時(shí),可搜索數(shù)據(jù)流12。如上文所描述, 型式辨識(shí)處理器14(圖幻的其它部分可檢測(cè)各種搜索準(zhǔn)則的開始及滿足。此搜索所產(chǎn)生的匹配可影響匹配數(shù)據(jù)報(bào)告模塊25的操作。為了圖解說明此關(guān)系,將借助實(shí)例描述匹配數(shù)據(jù)報(bào)告模塊25(圖13)的操作,在所述實(shí)例中,型式辨識(shí)處理器14(圖2)針對(duì)兩個(gè)不同搜索準(zhǔn)則搜索圖14到圖19中所示的數(shù)據(jù)流12。第一準(zhǔn)則(在圖中稱為準(zhǔn)則A)為后面有同一句子內(nèi)的詞“download”的詞“virus”。因此,型式辨識(shí)處理器14可搜索詞“virus” 且在檢測(cè)到此詞之后即刻搜索詞“download”及指示句子的結(jié)束的字符(例如,句點(diǎn))兩者。如果詞“download”在指示句子的結(jié)束的字符之前出現(xiàn),那么準(zhǔn)則A得到匹配。第二搜索準(zhǔn)則(在圖中稱為準(zhǔn)則B)為在具有詞“malware”的四個(gè)詞內(nèi)出現(xiàn)的詞“download”。一旦詞“download”得到匹配,型式辨識(shí)處理器14便既可(例如)通過計(jì)數(shù)詞間字符來計(jì)數(shù)詞的數(shù)目又可搜索詞“malware”?;蛘?,如果詞“malware”首先得到匹配,那么型式辨識(shí)處理器14既可(例如)通過計(jì)數(shù)詞間字符來計(jì)數(shù)詞的數(shù)目又可搜索詞“download”。如果詞 “malware”在呈現(xiàn)四個(gè)詞間字符之前出現(xiàn),那么準(zhǔn)則B得到滿足。圖16圖解說明匹配數(shù)據(jù)報(bào)告模塊25對(duì)準(zhǔn)則A中的第一搜索項(xiàng)(字母“V”)得到匹配的響應(yīng)。在數(shù)據(jù)流12呈現(xiàn)字母“V”時(shí),準(zhǔn)則A的第一特征單元30 (圖2)將計(jì)數(shù)器94 的值記錄于匹配事件表98中。第一特征單元30可在檢測(cè)總線38上輸出指示其為活動(dòng)的、 已接收到匹配及為搜索準(zhǔn)則A的第一特征單元的信號(hào)。此信息可連同計(jì)數(shù)器94的值一起存儲(chǔ)于匹配數(shù)據(jù)報(bào)告模塊25 (圖1 中。圖16中所表示的匹配事件具有與計(jì)數(shù)器94在所述匹配的開始時(shí)的值相對(duì)應(yīng)的匹配事件指針104。如圖17所圖解說明,循環(huán)緩沖器96可隨著來自數(shù)據(jù)流12的項(xiàng)被接收而繼續(xù)存儲(chǔ)所述項(xiàng)。當(dāng)數(shù)據(jù)流12到達(dá)詞“and”中的字母“d”時(shí),規(guī)定準(zhǔn)則B的第一特征單元30可指示匹配的開始,因?yàn)樽帜浮癲”為詞“download”的第一字母。作為響應(yīng),匹配事件表98可將計(jì)數(shù)器94的值存儲(chǔ)于與準(zhǔn)則B中的第一特征單元30相關(guān)聯(lián)的存儲(chǔ)器中或存儲(chǔ)于單獨(dú)存儲(chǔ)器中。如果使用單獨(dú)存儲(chǔ)器,那么也可存儲(chǔ)識(shí)別第二準(zhǔn)則B的數(shù)據(jù)。
當(dāng)數(shù)據(jù)流12呈現(xiàn)詞“and”之后的空格時(shí),準(zhǔn)則B可未得到匹配,因?yàn)闇?zhǔn)則B中的第二搜索項(xiàng)搜索字母“O”而非空格??赏ㄟ^蓋寫匹配事件指針106或?qū)⑵ヅ涫录羔?06 指定為可蓋寫而將準(zhǔn)則B未得到匹配記錄于匹配事件表98中。如上文所提及,匹配事件表 98可包含指示匹配事件指針指向正在進(jìn)行中的匹配還是可安全蓋寫的失敗匹配的一個(gè)或一個(gè)以上存儲(chǔ)器位。當(dāng)數(shù)據(jù)流12呈現(xiàn)詞“download”的開始處的下一字母“d”時(shí),可存儲(chǔ)另一匹配事件指針108。同樣,可將計(jì)數(shù)器94的值存儲(chǔ)于匹配事件表98中以形成匹配事件指針108。 匹配事件指針108可蓋寫匹配事件指針106,或可將匹配事件指針108存儲(chǔ)于匹配事件表 98中的不同存儲(chǔ)器中。在本實(shí)例中的此階段處,數(shù)據(jù)流12已同時(shí)開始滿足兩個(gè)不同搜索準(zhǔn)則。準(zhǔn)則A正搜索詞“download”的剩余部分,且準(zhǔn)則B正搜索詞“download”的在接下來四個(gè)詞內(nèi)后面有詞“malware”的剩余部分。循環(huán)緩沖器96可存儲(chǔ)數(shù)據(jù)流12的單個(gè)副本,且匹配事件表 98可指示此副本的哪些部分已滿足不同準(zhǔn)則或正在滿足所述不同準(zhǔn)則的過程中。準(zhǔn)則B的一部分的不同匹配由字母B后面的數(shù)字(例如,Bl及B2)區(qū)分。如圖18所圖解說明,在型式辨識(shí)處理器14(圖幻搜索數(shù)據(jù)流12時(shí),循環(huán)緩沖器 96可繼續(xù)存儲(chǔ)來自數(shù)據(jù)流12的項(xiàng)。詞“download”的最后一個(gè)字母可致使匹配事件表98 記錄另一匹配事件110。結(jié)束字母“d”滿足準(zhǔn)則B的第一搜索項(xiàng)。因此,匹配事件表98在此項(xiàng)被呈現(xiàn)時(shí)可記錄計(jì)數(shù)器94的值。當(dāng)數(shù)據(jù)流12呈現(xiàn)字母“d”之后的空格時(shí),此準(zhǔn)則滿足失敗,且可在匹配事件表98中將匹配事件110指定為指示失敗準(zhǔn)則滿足的開始且可安全蓋寫。如上文所提及,可并行評(píng)估準(zhǔn)則。當(dāng)接收到詞“download”之后的空格時(shí),準(zhǔn)則A 中的最后一個(gè)搜索項(xiàng)得到匹配。作為響應(yīng),規(guī)定準(zhǔn)則A的最后特征單元30(圖幻可將計(jì)數(shù)器94的值記錄于匹配事件表98中。最后特征單元30可在檢測(cè)總線38上輸出指示其得到匹配、其為活動(dòng)的且其為準(zhǔn)則A的最后一個(gè)搜索項(xiàng)的信號(hào)。匹配事件表98可通過存儲(chǔ)計(jì)數(shù)器94的值且在一些實(shí)施例中存儲(chǔ)準(zhǔn)則的身份來存儲(chǔ)新匹配事件112。如果對(duì)準(zhǔn)則A的一個(gè)以上準(zhǔn)則滿足正在進(jìn)行中,那么匹配事件表98可使匹配事件 112與準(zhǔn)則A在匹配事件表98中的最早匹配事件相關(guān)。在其它實(shí)施例中,匹配事件表98可包含每一匹配事件的指示哪一準(zhǔn)則正得到匹配(例如,A或B)及準(zhǔn)則的哪一匹配導(dǎo)致了匹配事件(例如,B的第一或第二匹配)兩者的數(shù)據(jù),因?yàn)槟骋粶?zhǔn)則可同時(shí)處在多個(gè)得到滿足階段。給定準(zhǔn)則的一些匹配數(shù)據(jù)集可比同一準(zhǔn)則的其它匹配數(shù)據(jù)集短,因此存儲(chǔ)識(shí)別準(zhǔn)則的哪一準(zhǔn)則滿足導(dǎo)致了匹配事件的數(shù)據(jù)可促進(jìn)使開始匹配事件與完成的匹配事件相關(guān)。舉例來說,搜索準(zhǔn)則可規(guī)定得到滿足的兩種不同方式,例如1)以字母“m”開始且以“e”結(jié)束的詞;或2)包含字母序列“est”的詞。呈現(xiàn)序列“milestones”的數(shù)據(jù)流匹配滿足所述準(zhǔn)則的兩種方式。在此實(shí)例中,第二個(gè)開始的滿足首先完成。因此,在匹配事件表98中包含匹配識(shí)別符可促進(jìn)識(shí)別數(shù)據(jù)流12的匹配部分。當(dāng)準(zhǔn)則得到滿足時(shí),聚合模塊M (圖2)可通過輸出總線沈?qū)⑺阉鳒?zhǔn)則得到滿足報(bào)告給CPU 20。聚合模塊M在被CPU 20進(jìn)一步詢問時(shí)還可報(bào)告哪一搜索準(zhǔn)則得到滿足, 或聚合模塊M可在不被提示的情況下識(shí)別所述準(zhǔn)則。當(dāng)CPU 20接收到指示準(zhǔn)則滿足的信號(hào)時(shí),CPU 20可向匹配數(shù)據(jù)報(bào)告模塊25 (圖13)請(qǐng)求匹配數(shù)據(jù)。所述請(qǐng)求可經(jīng)由輸出總線專輸?shù)娇刂破?00。作為響應(yīng),控制器100 可傳輸循環(huán)緩沖器96中在開始匹配事件指針與結(jié)束匹配事件指針之間的數(shù)據(jù)。在圖18所圖解說明的實(shí)例中,匹配數(shù)據(jù)報(bào)告模塊25可報(bào)告指示匹配準(zhǔn)則A的開始的匹配事件指針 104與指示所述匹配的結(jié)束的匹配事件指針112之間的數(shù)據(jù)。CPU 20可將此數(shù)據(jù)用于各種不同目的。舉例來說,CPU 20可創(chuàng)建匹配數(shù)據(jù)的日志或CPU 20可經(jīng)由網(wǎng)絡(luò)將所述匹配數(shù)據(jù)報(bào)告給服務(wù)器,例如,由銷售對(duì)搜索準(zhǔn)則的訂閱的實(shí)體操作的服務(wù)器。在一些實(shí)施例中,CPU 20可將所述匹配數(shù)據(jù)或基于所述匹配數(shù)據(jù)的數(shù)據(jù)報(bào)告給系統(tǒng)管理員或負(fù)責(zé)強(qiáng)制執(zhí)行包含所述匹配數(shù)據(jù)的版權(quán)內(nèi)容的實(shí)體。一旦將所述匹配數(shù)據(jù)報(bào)告給CPU 20,或一旦CPU指示其未正在請(qǐng)求所述匹配數(shù)據(jù),就可蓋寫匹配事件表98中的匹配事件指針104及110的條目或?qū)⑵渲付榭砂踩w寫。雖然準(zhǔn)則A得到滿足,但準(zhǔn)則B在圖19所圖解說明的狀態(tài)中仍在滿足的中途。匹配事件指針108尚未被指定為指示失敗匹配的開始。因此,在循環(huán)緩沖器96繼續(xù)存儲(chǔ)來自數(shù)據(jù)流12的項(xiàng)時(shí),型式辨識(shí)處理器14(圖2)可繼續(xù)在“download”后面的四個(gè)詞內(nèi)搜索詞 "malware"0此外,每當(dāng)數(shù)據(jù)流12呈現(xiàn)字母“d”時(shí),匹配事件表98可存儲(chǔ)另一匹配事件指針, 如匹配事件指針114及116所指示。當(dāng)數(shù)據(jù)流12呈現(xiàn)后續(xù)不匹配項(xiàng)時(shí),可將這些匹配事件指針114及116中的每一者指定為指示失敗的匹配。在呈現(xiàn)詞“malware”之后,準(zhǔn)則B可完全得到滿足。作為響應(yīng),匹配事件表98可存儲(chǔ)匹配事件指針118??蓪⑺銎ヅ鋱?bào)告給CPU 20,且CPU 20可向匹配數(shù)據(jù)報(bào)告模塊25 請(qǐng)求匹配數(shù)據(jù)??刂破?00可傳輸循環(huán)緩沖器96的在匹配事件指針106與匹配事件指針 118之間的部分。一旦報(bào)告此數(shù)據(jù),就可將匹配事件指針106及118指定為可安全蓋寫。在其它實(shí)施例中,匹配事件指針106及108可在匹配的完成之后持續(xù)達(dá)某一時(shí)間。舉例來說, CPU 20可具有某一數(shù)目的搜索循環(huán),以確定在蓋寫匹配事件指針106及108或?qū)⑵渲付榭砂踩w寫之前是否請(qǐng)求匹配數(shù)據(jù)。盡管可易于對(duì)本發(fā)明做出各種修改及替代形式,但已在圖式中以實(shí)例方式展示了特定實(shí)施例并在本文中對(duì)所述特定實(shí)施例進(jìn)行了詳細(xì)描述。然而,應(yīng)理解,并不打算將本發(fā)明限制于所揭示的特定形式。而是,本發(fā)明將涵蓋歸屬于由以上所附權(quán)利要求書界定的本發(fā)明精神及范圍內(nèi)的所有修改、等效內(nèi)容及替代方案。
1權(quán)利要求
1.一種裝置,其包括型式辨識(shí)處理器,其包括多個(gè)特征單元,每一特征單元包括多個(gè)存儲(chǔ)器單元,其中所述存儲(chǔ)器單元中的每一者耦合到輸出導(dǎo)體且耦合到多個(gè)輸入導(dǎo)體中的一者;及檢測(cè)單元,其包括激活存儲(chǔ)器單元,其中所述檢測(cè)單元經(jīng)配置以輸出基于所述激活存儲(chǔ)器單元的狀態(tài)的信號(hào)及從所述輸出導(dǎo)體接收的信號(hào);解碼器,其經(jīng)配置以接收數(shù)據(jù)流且基于從所述數(shù)據(jù)流接收的數(shù)據(jù)選擇所述多個(gè)輸入導(dǎo)體中的一者;及匹配數(shù)據(jù)報(bào)告模塊,其包括緩沖器,其耦合到所述數(shù)據(jù)流且經(jīng)配置以存儲(chǔ)所述數(shù)據(jù)流的至少一部分;及匹配事件表,其經(jīng)配置以存儲(chǔ)指示與搜索準(zhǔn)則得到滿足的開始相對(duì)應(yīng)的緩沖器位置的數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的裝置,其中所述緩沖器包括循環(huán)緩沖器。
3.根據(jù)權(quán)利要求1所述的裝置,其中所述匹配數(shù)據(jù)報(bào)告模塊包括計(jì)數(shù)器。
4.根據(jù)權(quán)利要求3所述的裝置,其中所述計(jì)數(shù)器經(jīng)配置以每當(dāng)從所述數(shù)據(jù)流接收到一項(xiàng)或一項(xiàng)的一部分時(shí)使計(jì)數(shù)遞增或遞減。
5.根據(jù)權(quán)利要求3所述的裝置,其中所述匹配數(shù)據(jù)報(bào)告模塊經(jīng)配置以將來自所述數(shù)據(jù)流的數(shù)據(jù)存儲(chǔ)于所述循環(huán)緩沖器中基于所述計(jì)數(shù)器的值選擇的若干位置中。
6.根據(jù)權(quán)利要求5所述的裝置,其中所述匹配數(shù)據(jù)報(bào)告模塊經(jīng)配置以響應(yīng)于搜索準(zhǔn)則的第一搜索項(xiàng)得到匹配而將所述計(jì)數(shù)器的所述值寫入到所述匹配事件表。
7.根據(jù)權(quán)利要求6所述的裝置,其中所述匹配數(shù)據(jù)報(bào)告模塊經(jīng)配置以響應(yīng)于所述搜索準(zhǔn)則的最后一個(gè)搜索項(xiàng)得到匹配而將所述計(jì)數(shù)器的所述值寫入到所述匹配事件表。
8.根據(jù)權(quán)利要求1所述的裝置,其中所述匹配數(shù)據(jù)報(bào)告模塊經(jīng)配置以輸出數(shù)據(jù)流的滿足搜索準(zhǔn)則的一部分。
9.根據(jù)權(quán)利要求1所述的裝置,其包括耦合到所述型式辨識(shí)處理器的中央處理單元 (CPU),其中所述匹配數(shù)據(jù)報(bào)告模塊經(jīng)配置以響應(yīng)于來自所述CPU的對(duì)所述數(shù)據(jù)流的滿足所述搜索準(zhǔn)則的所述部分的請(qǐng)求而將所述數(shù)據(jù)流的所述部分輸出到所述CPU。
10.根據(jù)權(quán)利要求1所述的裝置,其中所述匹配數(shù)據(jù)報(bào)告模塊包括計(jì)時(shí)器。
11.根據(jù)權(quán)利要求1所述的裝置,其中所述匹配數(shù)據(jù)報(bào)告模塊包括輸出可重復(fù)值序列的型式產(chǎn)生器。
12.根據(jù)權(quán)利要求1所述的裝置,其中所述匹配事件表包括若干存儲(chǔ)器單元群組,且其中每一群組與一特征單元群組相關(guān)聯(lián)。
13.根據(jù)權(quán)利要求1所述的裝置,其包括服務(wù)器、個(gè)人計(jì)算機(jī)、工作站、路由器、網(wǎng)絡(luò)交換機(jī)、芯片測(cè)試裝備、膝上型計(jì)算機(jī)、蜂窩電話、媒體播放器、游戲控制臺(tái)或包括所述型式辨識(shí)處理器的大型計(jì)算機(jī)。
14.一種方法,其包括將數(shù)據(jù)流寫入到緩沖器;將搜索準(zhǔn)則的第一搜索項(xiàng)與來自所述數(shù)據(jù)流的第一匹配項(xiàng)匹配;及響應(yīng)于匹配,存儲(chǔ)指示所述緩沖器的存儲(chǔ)所述第一匹配項(xiàng)的第一地址的第一值。
15.根據(jù)權(quán)利要求14所述的方法,其中存儲(chǔ)所述第一值包括存儲(chǔ)所述緩沖器的存儲(chǔ)所述第一匹配項(xiàng)的所述第一地址。
16.根據(jù)權(quán)利要求14所述的方法,其包括將所述搜索準(zhǔn)則的最后一個(gè)搜索項(xiàng)與來自所述數(shù)據(jù)流的第二匹配項(xiàng)匹配;及響應(yīng)于匹配所述最后一個(gè)搜索項(xiàng),存儲(chǔ)指示所述緩沖器的存儲(chǔ)所述第二匹配項(xiàng)的第二地址的第二值。
17.根據(jù)權(quán)利要求16所述的方法,其包括 將所述搜索準(zhǔn)則的滿足報(bào)告給中央處理單元;接收來自所述CPU的對(duì)滿足所述搜索準(zhǔn)則的數(shù)據(jù)的請(qǐng)求;及響應(yīng)于所述請(qǐng)求,傳輸由所述緩沖器存儲(chǔ)的數(shù)據(jù)。
18.根據(jù)權(quán)利要求17所述的方法,其中傳輸由所述緩沖器存儲(chǔ)的數(shù)據(jù)包括傳輸存儲(chǔ)于所述第一地址與所述第二地址之間的數(shù)據(jù)。
19.根據(jù)權(quán)利要求18所述的方法,其中傳輸存儲(chǔ)于所述第一地址與所述第二地址之間的數(shù)據(jù)不包含傳輸在所述第一地址之前存儲(chǔ)的除在所述第二地址之前存儲(chǔ)的數(shù)據(jù)以外的數(shù)據(jù)。
20.根據(jù)權(quán)利要求14所述的方法,其中將所述數(shù)據(jù)流寫入到所述緩沖器包括蓋寫先前寫入到所述緩沖器的數(shù)據(jù)。
21.根據(jù)權(quán)利要求14所述的方法,其包括基于由所述數(shù)據(jù)流呈現(xiàn)的項(xiàng)而在多個(gè)輸入導(dǎo)體當(dāng)中選擇一個(gè)輸入導(dǎo)體。
22.根據(jù)權(quán)利要求14所述的方法,其包括存儲(chǔ)識(shí)別所述準(zhǔn)則的準(zhǔn)則識(shí)別數(shù)據(jù)。
23.根據(jù)權(quán)利要求14所述的方法,其包括存儲(chǔ)區(qū)分所述匹配與先前匹配的匹配識(shí)別數(shù)據(jù)。
24.一種裝置,其包括 匹配數(shù)據(jù)報(bào)告模塊,其包括緩沖器,其經(jīng)配置以存儲(chǔ)來自數(shù)據(jù)流的數(shù)據(jù); 匹配事件表,其具有用于存儲(chǔ)緩沖器地址的存儲(chǔ)器;及緩沖器地址產(chǎn)生器。
25.根據(jù)權(quán)利要求M所述的裝置,其中所述緩沖器地址產(chǎn)生器包括計(jì)數(shù)器。
26.根據(jù)權(quán)利要求M所述的裝置,其中所述緩沖器包括循環(huán)緩沖器。
27.根據(jù)權(quán)利要求M所述的裝置,其包括 辨識(shí)模塊,其耦合到所述數(shù)據(jù)流;及聚合模塊,其耦合到所述辨識(shí)模塊的輸出。
28.根據(jù)權(quán)利要求M所述的裝置,其包括經(jīng)配置以在所述緩沖器的若干地址處寫入來自所述數(shù)據(jù)流的數(shù)據(jù)的控制器,其中所述地址由所述緩沖器地址產(chǎn)生器輸出。
29.根據(jù)權(quán)利要求觀所述的裝置,其中所述控制器經(jīng)配置以響應(yīng)于來自所述數(shù)據(jù)流的數(shù)據(jù)匹配搜索準(zhǔn)則的一部分而將來自所述緩沖器地址產(chǎn)生器的值寫入到所述匹配事件表。
30.根據(jù)權(quán)利要求觀所述的裝置,其中所述控制器經(jīng)配置以基于存儲(chǔ)于所述匹配事件表中的若干地址而從所述緩沖器輸出數(shù)據(jù)。
31.根據(jù)權(quán)利要求30所述的裝置,其中所述控制器經(jīng)配置以響應(yīng)于來自中央處理單元的請(qǐng)求而從所述緩沖器輸出數(shù)據(jù)。
32.根據(jù)權(quán)利要求30所述的裝置,其中所述控制器經(jīng)配置以從所述緩沖器輸出在由所述匹配事件表存儲(chǔ)的匹配開始地址與匹配結(jié)束地址之間的數(shù)據(jù)。
33.一種方法,其包括根據(jù)若干搜索準(zhǔn)則來搜索數(shù)據(jù)流;將所述數(shù)據(jù)流的一部分存儲(chǔ)于循環(huán)緩沖器中;及如果所述數(shù)據(jù)流的匹配部分滿足所述搜索準(zhǔn)則當(dāng)中的一搜索準(zhǔn)則的一部分,那么存儲(chǔ)所述循環(huán)緩沖器的指示存儲(chǔ)所述數(shù)據(jù)流的所述匹配部分之處的地址。
34.根據(jù)權(quán)利要求33所述的方法,其中根據(jù)若干搜索準(zhǔn)則來搜索所述數(shù)據(jù)流包括在大體相同時(shí)間根據(jù)所述搜索準(zhǔn)則進(jìn)行搜索。
35.根據(jù)權(quán)利要求34所述的方法,其中所述搜索準(zhǔn)則包括1000個(gè)以上搜索準(zhǔn)則。
36.根據(jù)權(quán)利要求33所述的方法,其中將所述數(shù)據(jù)流的所述部分存儲(chǔ)于所述循環(huán)緩沖器中包括蓋寫所述數(shù)據(jù)流的先前所存儲(chǔ)的若干部分。
37.根據(jù)權(quán)利要求33所述的方法,其中將所述數(shù)據(jù)流的所述部分存儲(chǔ)于所述循環(huán)緩沖器中包括使計(jì)數(shù)器遞增或遞減;及基于所述計(jì)數(shù)器的計(jì)數(shù)將來自所述數(shù)據(jù)流的數(shù)據(jù)寫入到所述循環(huán)緩沖器的若干地址。
38.根據(jù)權(quán)利要求33所述的方法,其包括在滿足所述搜索準(zhǔn)則之后從所述循環(huán)緩沖器輸出數(shù)據(jù)。
全文摘要
本發(fā)明揭示方法及裝置,其中一種裝置包含型式辨識(shí)處理器。所述型式辨識(shí)處理器(14)可包含可具有緩沖器及匹配事件表的匹配數(shù)據(jù)報(bào)告模塊。所述緩沖器可耦合到數(shù)據(jù)流且經(jīng)配置以存儲(chǔ)所述數(shù)據(jù)流的至少一部分,且所述匹配事件表可經(jīng)配置以存儲(chǔ)指示與搜索準(zhǔn)則得到滿足的開始相對(duì)應(yīng)的緩沖器位置的數(shù)據(jù)。
文檔編號(hào)G06F7/02GK102272714SQ200980154031
公開日2011年12月7日 申請(qǐng)日期2009年12月15日 優(yōu)先權(quán)日2009年1月7日
發(fā)明者J·托馬斯·帕夫洛夫斯基 申請(qǐng)人:美光科技公司