TWI416332B - 藉由多個裝置同步化單一資料串流之同時直接記憶體存取平行處理之裝置、系統及方法 - Google Patents

藉由多個裝置同步化單一資料串流之同時直接記憶體存取平行處理之裝置、系統及方法 Download PDF

Info

Publication number
TWI416332B
TWI416332B TW098140703A TW98140703A TWI416332B TW I416332 B TWI416332 B TW I416332B TW 098140703 A TW098140703 A TW 098140703A TW 98140703 A TW98140703 A TW 98140703A TW I416332 B TWI416332 B TW I416332B
Authority
TW
Taiwan
Prior art keywords
search
data stream
data
dma
pattern recognition
Prior art date
Application number
TW098140703A
Other languages
English (en)
Other versions
TW201027350A (en
Inventor
Harold B Noyes
Original Assignee
Micron Technology Inc
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 Micron Technology Inc filed Critical Micron Technology Inc
Publication of TW201027350A publication Critical patent/TW201027350A/zh
Application granted granted Critical
Publication of TWI416332B publication Critical patent/TWI416332B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24568Data stream processing; Continuous queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus

Landscapes

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

Description

藉由多個裝置同步化單一資料串流之同時直接記憶體存取平行處理之裝置、系統及方法
本發明之實施例大體而言係關於型樣辨識處理器,且在某些實施例中更特定而言係關於型樣辨識處理器之直接記憶體存取控制操作之同步化。
在計算領域中,型樣辨識任務越來越具有挑戰性。電腦之間傳輸之資料量不斷增大,且使用者期望識別之型樣數目日益增加。舉例而言,垃圾郵件及惡意軟體通常藉由搜尋一資料串流中之型樣(例如,特定片語或多筆代碼)來偵測。型樣數目隨著垃圾郵件及惡意軟體之多樣化而增加,此乃因可實施新型樣以搜尋新變型。針對此等型樣中之每一者搜尋一資料串流可形成一計算瓶頸。通常,在接收到資料串流時,針對每一型樣一次一個地搜尋資料串流。在系統準備搜尋資料串流之下一部分之前的延遲隨著型樣數目而增加。因此,型樣辨識可使資料之接收減慢。
此外,為增加搜尋資料串流之速度之努力可導致資料具有同步化問題,以及關於對至該系統的一輸入資料串流之處理及所搜尋資料串流之結果之輸出兩者之控制之定時問題。因此,需要如下一種系統:其可增加可搜尋一資料串流之速度,同時維持既進入該系統亦離開該系統之資訊之一經適當定時處理及流動。
圖1繪示搜尋一資料串流12之一系統10之一實例。系統10可包含一型樣辨識處理器14,其根據搜尋準則16搜尋資料串流12。
每一搜尋準則可規定一個或多個目標表達(亦即,型樣)。片語「目標表達」係指型樣辨識處理器14正搜尋之一資料序列。目標表達之實例包含拼寫某一字之一字元序列、規定一基因之一遺傳鹼基對序列、形成一影像之一部分之一圖像或視訊檔案中之一位元序列、形成一程式之一部分之一可執行檔案中之一位元序列或形成一歌曲或一口語片語之一部分之一音訊檔案中之一位元序列。
一搜尋準則可規定一筆以上之目標表達。舉例而言,一搜尋準則可規定以字母序列「cl」開頭之所有五個字母之字、以字母序列「cl」開頭之任一字、包含字「cloud」多於三次之一段落等。目標表達之可能組之數目係任意大,例如,可存在與資料串流可呈現之資料排列同樣多之目標表達。搜尋準則可以多種格式來表達,包含規則表達、簡明地規定目標表達組而不必列舉每一目標表達之一程式設計語言。
每一搜尋準則可由一個或多個搜尋項構成。因此,一搜尋準則之每一目標表達可包含一個或多個搜尋項且某些目標表達可使用共同搜尋項。如本文中所使用,片語「搜尋項」係指在一單個搜尋循環期間所搜尋之一資料序列。該資料序列可包含呈二進制格式或其他格式(例如,十進位、ASCII等)之多個資料位元。該序列可對具有一單個數位或多個數位(例如,數個二進制數位)之資料進行編碼。舉例而言,型樣辨識處理器14可一次一個字元地搜尋一文字資料串流12,且搜尋項可規定一組單字元,例如,字母「a」,字母「a」或「e」,或規定一組所有單字元之一萬用字元搜尋項。
搜尋項可小於或大於規定一字元(或資料串流所表達之資訊之其他形素(grapheme)(亦即,基礎單元),例如,一音符、一遺傳鹼基對、一10進位數位或一子像素)之位元之數目。舉例而言,一搜尋項可係8個位元且一單個字元可係16個位元,在此情形下,兩個連續搜尋項可規定一單個字元。
搜尋準則16可由一編譯器18進行格式化以用於型樣辨識處理器14。格式化可包括自該等搜尋準則拆析搜尋項。舉例而言,若資料串流12所表達之形素大於該等搜尋項,則該編譯器可將搜尋準則拆析為多個搜尋項以搜尋一單個形素。類似地,若資料串流12所表達之形素小於該等搜尋項,則編譯器18可為每一單獨形素提供具有未使用位元之一單個搜尋項。編譯器18亦可對搜尋準則16進行格式化以支援型樣辨識處理器14未本地支援之各種規則表達運算子。
型樣辨識處理器14可藉由評估來自資料串流12之每一新項來搜尋資料串流12。此處,措辭「項」係指可匹配一搜尋項之資料量。在一搜尋循環期間,型樣辨識處理器14可判定當前所呈現之項是否匹配搜尋準則中之當前搜尋項。若該項匹配該搜尋項,則評估被「推進」,亦即,比較下一項與搜尋準則中之下一搜尋項。若該項不匹配,則比較下一項與搜尋準則中之第一項,藉此重設該搜尋。
可將每一搜尋準則編譯至型樣辨識處理器14中之一不同有限狀態機中。該等有限狀態機可平行運行,從而根據搜尋準則16搜尋資料串流12。當在前搜尋項由資料串流12匹配時,該等有限狀態機可步進遍曆一搜尋準則中之每一連續搜尋項,或若該搜尋項未被匹配,則該等有限狀態機可開始搜尋該搜尋準則之第一搜尋項。
型樣辨識處理器14可(例如)在一單個裝置循環期間在約相同時間根據數個搜尋準則及其各別搜尋項評估每一新項。該等平行有限狀態機可在約相同時間接收來自資料串流12之項,且該等平行有限狀態機中之每一者可判定該項是否將該平行有限狀態機推進至其搜尋準則中之下一搜尋項。該等平行有限狀態機可根據相對大數目個搜尋準則(例如,多於100、多於1000或多於10,000)來評估項。由於其平行運作,因此其可將該等搜尋準則應用至具有一相對高頻寬之一資料串流12(例如,大於或大體等於每秒64MB或每秒128MB之一資料串流12)而不會使該資料串流減慢。在某些實施例中,搜尋-循環持續時間不隨搜尋準則之數目按比例調整,因此搜尋準則之數目對型樣辨識處理器14之效能可幾乎沒有影響。
當滿足一搜尋準則時(亦即,在推進至最後一個搜尋項且與其匹配之後),型樣辨識處理器14可將該準則之滿足報告給一處理單元(例如,一中央處理單元(CPU)20)。中央處理單元20可控制系統10之型樣辨識處理器14及其他部分。
系統10可係搜尋一資料串流之各種系統或裝置中之任一者。舉例而言,系統10可係監視資料串流12之一桌上型電腦、膝上型電腦、手持式或其他類型之電腦。系統10亦可係一網路節點,例如,一路由器、一伺服器或一用戶端(例如,先前所述類型之電腦中之一者)。系統10可係某一其他類別之電子裝置,例如,一影印機、一掃描器、一印表機、一遊戲控制臺、一電視機、一視訊轉換視訊散佈或記錄系統、一電纜盒、一個人數位媒體播放器、一工廠自動化系統、一汽車電腦系統或一醫療裝置。(用以闡述系統之此等各種實例之術語(如本文中所使用之諸多其他術語)可共用某些指稱物,且因此不應僅藉助所列舉之其他項來理解)。
資料串流12可係一使用者或其他實體可期望搜尋之各種類型之資料串流中之一者或多者。舉例而言,資料串流12可係經由一網路接收之一資料串流,例如,經由網際網路接收之封包或經由一蜂巢式網路接收之話音或資料。資料串流12可係自與系統10通信之一感測器(例如,一成像感測器、一溫度感測器、一加速度計或類似物或其組合物)接收之資料。資料串流12可作為一串列資料串流由系統10接收,其中資料係以具有意義之一次序(例如,以一明顯的時間、詞法或語義次序)被接收。或者,資料串流12可平行地或無序地被接收,且然後(例如)藉由將經由網際網路所接收之封包重新排序被轉換為一串列資料串流。在某些實施例中,資料串流12可以串列方式呈現項,但表達該等項中之每一者之位元可平行地被接收。資料串流12可自系統10外部之一源被接收,或可藉由訊問一記憶體裝置且由所儲存之資料形成資料串流12來形成。
端視資料串流12中之資料之類型,一設計者可挑選不同類型之搜尋準則。舉例而言,搜尋準則16可係一病毒定義檔案。可表徵病毒或其他惡意軟體,且可使用惡意軟體之態樣來形成指示資料串流12是否可能正在遞送惡意軟體之搜尋準則。可將所得搜尋準則儲存於一伺服器上,且一用戶端系統之一操作者可預訂將該等搜尋準則下載至系統10之一服務。當不同類型之惡意軟體出現時,搜尋準則16可自該伺服器週期性地更新。該等搜尋準則亦可用以規定可經由一網路接收之不期望內容,例如,不需要之電子郵件(通常稱作垃圾郵件)或一使用者所反感之其他內容。
資料串流12可由對系統10正在接收之資料感興趣之一第三方來搜尋。舉例而言,可針對在一版權所有作品中出現之文字、一音訊序列或一視訊序列而監視資料串流12。可針對與一刑事調查或民事訴訟有關或一雇主感興趣之言論而監視資料串流12。
搜尋準則16亦可在資料串流12中包含(例如)在可由CPU 20或型樣辨識處理器14定址之記憶體中進行一轉譯之型樣。舉例而言,搜尋準則16可各自規定在記憶體中儲存其一對應西班牙語字之一英語字。在另一實例中,搜尋準則16可規定資料串流12之經編碼版本(例如,MP3、MPEG4、FLAC、Ogg Vorbis等),對於該等經編碼版本可得到資料串流12之一經解碼版本,或反之亦然。
型樣辨識處理器14可係與CPU 20一起整合至一單個組件(例如,一單個裝置)中之硬體或可形成為一單獨組件。舉例而言,型樣辨識處理器14可係一單獨積體電路。型樣辨識處理器14可稱作一「協同處理器」或一「型樣辨識協同處理器」。
圖2繪示型樣辨識處理器14之一實例。型樣辨識處理器14可包含一辨識模組22及一彙總模組24。辨識模組22可經組態以比較所接收之項與搜尋項,且辨識模組22與彙總模組24兩者可協同運作以判定將一項與一搜尋項匹配是否滿足一搜尋準則。
辨識模組22可包含一列解碼器28及複數個特徵胞30。每一特徵胞30可規定一搜尋項,特徵胞30群組可形成形成一搜尋準則之一平行有限狀態機。特徵胞30之組件可形成一搜尋項陣列32、一偵測陣列34及一啟動路由矩陣36。搜尋項陣列32可包含複數個輸入導體37,其每一者可使特徵胞30中之每一者與列解碼器28通信。
列解碼器28可基於資料串流12之內容在該複數個輸入導體37中選擇特定導體。舉例而言,列解碼器28可係基於可表示一個項之一所接收位元組之值啟動256個列中之一者之一種一位元組對256列型解碼器。一0000 0000之一位元組項可對應於該複數個輸入導體37中之頂列,且一1111 1111之一位元組項可對應於該複數個輸入導體37中之底列。因此,端視自資料串流12接收到哪些項,可選擇不同輸入導體37。在接收到不同項時,列解碼器28可撤銷啟動對應於先前項之列且啟動對應於新項之列。
偵測陣列34可耦合至一偵測匯流排38,該偵測匯流排將指示搜尋準則之完全或部分滿足之信號輸出至彙總模組24。啟動路由矩陣36可基於一搜尋準則中之已被匹配之搜尋項之數目選擇性地啟動及撤銷啟動特徵胞30。
彙總模組24可包含一鎖存器矩陣40、一彙總路由矩陣42、一臨限邏輯矩陣44、一邏輯積矩陣46、一邏輯和矩陣48及一初始化路由矩陣50。
鎖存器矩陣40可實施某些搜尋準則之部分。某些搜尋準則(例如,某些規則表達)僅計數一匹配或一匹配群組之第一次出現。鎖存器矩陣40可包含記錄是否已發生一匹配之鎖存器。可在初始化期間清除鎖存器,且在操作期間週期性地對其進行重新初始化,此乃因判定滿足或不可進一步滿足搜尋準則-亦即,一較早搜尋項可需要在可滿足該搜尋準則之前被再次匹配。
彙總路由矩陣42可類似於啟動路由矩陣36而發揮作用。彙總路由矩陣42可在偵測匯流排38上接收指示匹配之信號且可將該等信號路由至連接至臨限邏輯矩陣44之不同群組邏輯線53。彙總路由矩陣42亦可將初始化路由矩陣50之輸出路由至偵測陣列34以當判定滿足或不可進一步滿足一搜尋準則時重設偵測陣列34之部分。
臨限邏輯矩陣44可包含複數個計數器,例如,經組態以遞增計數或遞減計數之32位元計數器。臨限邏輯矩陣44可載入有一初始計數且其可基於由辨識模組發訊之匹配而自該計數遞增計數或遞減計數。舉例而言,臨限邏輯矩陣44可計數一字在某一長度之文字中出現之數目。
臨限邏輯矩陣44之輸出可係至邏輯積矩陣46的輸入。邏輯積矩陣46可選擇性地產生「積」結果(例如,布林邏輯(Boolean logic)中之「AND」函式)。邏輯積矩陣46可實施為一方矩陣,其中輸出積之數目等於來自臨限邏輯矩陣44之輸入線之數目,或邏輯積矩陣46可具有不同於輸出之數目之輸入。可將所得積值輸出至邏輯和矩陣48。
邏輯和矩陣48可選擇性地產生和(例如,布林邏輯中之「OR」函式)。邏輯和矩陣48亦可係一方矩陣,或邏輯和矩陣48可具有不同於輸出之數目之輸入。由於該等輸入係邏輯積,因此邏輯和矩陣48之輸出可係邏輯積和(例如,布林邏輯積和(SOP)形式)。可由初始化路由矩陣50接收邏輯和矩陣48之輸出。
初始化路由矩陣50可經由彙總路由矩陣42重設偵測陣列34及彙總模組24之部分。初始化路由矩陣50亦可實施為一方矩陣,或初始化路由矩陣50可具有不同於輸出之數目之輸入。(例如)當滿足一搜尋準則或判定不可進一步滿足該搜尋準則時,初始化路由矩陣50可回應於來自邏輯和矩陣48之信號且重新初始化型樣辨識處理器14之其他部分。
彙總模組24可包含一輸出緩衝器51,其接收臨限邏輯矩陣44、彙總路由矩陣42及邏輯和矩陣48之輸出。彙總模組24之輸出可在輸出匯流排26上自輸出緩衝器51傳輸至CPU 20(圖1)。在某些實施例中,一輸出多工器可對來自此等組件42、44及48之信號進行多工且將指示滿足準則或匹配搜尋項之信號輸出至CPU 20(圖1)。在其他實施例中,可在不透過該輸出多工器傳輸該等信號之情形下報告來自型樣辨識處理器14之結果,此並非暗示亦不可省略本文中所闡述之任一其他特徵。舉例而言,可將來自臨限邏輯矩陣44、邏輯積矩陣46、邏輯和矩陣48或初始化路由矩陣50之信號在輸出匯流排26上平行傳輸至該CPU。
圖3圖解說明搜尋項陣列32(圖2)中之一單個特徵胞30(本文中稱作一搜尋項胞54之一組件)之一部分。搜尋項胞54可包含一輸出導體56及複數個記憶體胞58。記憶體胞58中之每一者可既耦合至輸出導體56亦耦合至複數個輸入導體37中之導體中之一者。回應於其輸入導體37被選擇,記憶體胞58中之每一者可輸出指示其所儲存值之一值,從而透過輸出導體56輸出資料。在某些實施例中,複數個輸入導體37可稱作「字線」,且輸出導體56可稱作一「資料線」。
記憶體胞58可包含各種類型之記憶體胞中之任一者。舉例而言,記憶體胞58可係揮發性記憶體,例如,具有一電晶體及一電容器之動態隨機存取記憶體(DRAM)胞。該電晶體之源極及汲極可分別連接至該電容器之一板及輸出導體56,且該電晶體之閘極可連接至輸入導體37中之一者。在揮發性記憶體之另一實例中,記憶體胞58中之每一者可包含一靜態隨機存取記憶體(SRAM)胞。該SRAM胞可具有一輸出,該輸出係藉由受控於輸入導體37中之一者的一存取電晶體而選擇性地耦合至輸出導體56。記憶體胞58亦可包含非揮發性記憶體,例如,相變記憶體(例如,一雙向(ovonic)裝置)、快閃記憶體、矽-氧化物-氮化物-氧化物-矽(SONOS)記憶體、磁阻式記憶體或其他類型之非揮發性記憶體。記憶體胞58亦可包含正反器(例如,由邏輯閘極製成之記憶體胞)。
圖4及圖5繪示運作中之搜尋項胞54之一實例。圖4圖解說明搜尋項胞54接收不匹配該胞之搜尋項之一項,且圖5圖解說明一匹配。
如圖4所圖解說明,搜尋項胞54可經組態以藉由將資料儲存於記憶體胞58中來搜尋一個或多個項。記憶體胞58各自可表示資料串流12可呈現之一項,例如,在圖3中,每一記憶體胞58表示一單個字母或數字,以字母「a」開始且以數字「9」結束。表示滿足搜尋項之項之記憶體胞58可經程式化以儲存一第一值,且不表示滿足搜尋項之項之記憶體胞58可經程式化以儲存一不同值。在所圖解說明之實例中,搜尋項胞54經組態以搜尋字母「b」。表示「b」之記憶體胞58可儲存一1或邏輯高,且不表示「b」之記憶體胞58可經程式化以儲存一0或邏輯低。
為比較來自資料串流12之一項與搜尋項,列解碼器28可選擇耦合至表示所接收項之記憶體胞58之輸入導體37。在圖4中,資料串流12呈現一小寫「e」。此項可由資料串流12以一8-位元ASCII碼之形式呈現,且列解碼器28可將此位元組解譯為一列位址,從而藉由給導體60通電而在導體60上輸出一信號。
作為回應,由導體60控制之記憶體胞58可輸出指示記憶體胞58所儲存之資料之一信號,且該信號可由輸出導體56傳送。在此情形下,由於字母「e」不係由搜尋項胞54規定之項中之一者,因此其不匹配搜尋項,且搜尋項胞54輸出一0值,從而指示未發現任何匹配。
在圖5中,資料串流12呈現一字元「b」。同樣,列解碼器28可將此項解譯為一位址,且列解碼器28可選擇導體62。作為回應,表示字母「b」之記憶體胞58輸出其所儲存值,在此情形下該值係一1,從而指示一匹配。
搜尋項胞54可經組態以一次搜尋一筆以上項。多個記憶體胞58可經程式化以儲存一1,從而規定與一筆以上項匹配之一搜尋項。舉例而言,表示小寫字母「a」及大寫字母「A」之記憶體胞58可經程式化以儲存一1,且搜尋項胞54可搜尋任一項。在另一實例中,搜尋項胞54可經組態以在接收到任一字元之情形下輸出一匹配。所有記憶體胞58可經程式化以儲存一1,以使得搜尋項胞54可充當一搜尋準則中之一萬用字元項。
圖6至圖8繪示辨識模組22根據一多項搜尋準則進行搜尋(例如,搜尋一字)。具體而言,圖6圖解說明辨識模組22偵測一字之第一字母,圖7圖解說明偵測第二字母,且圖8圖解說明偵測最後一個字母。
如圖6所圖解說明,辨識模組22可經組態以搜尋字「big」。對三個毗鄰特徵胞63、64及66進行圖解說明。特徵胞63經組態以偵測字母「b」。特徵胞64經組態以偵測字母「i」。且特徵胞66經組態以既偵測字母「g」又指示滿足搜尋準則。
圖6亦繪示偵測陣列34之額外細節。偵測陣列34可包含特徵胞63、64及66中之每一者中之一偵測胞68。偵測胞68中之每一者可包含一記憶體胞70(例如,上述類型之記憶體胞中之一者(例如,一正反器)),該記憶體胞70指示特徵胞63、64或66係作用中還是非作用中。偵測胞68可經組態以將指示該偵測胞是否作用中之一信號輸出至啟動路由矩陣36且已自其相關聯搜尋項胞54接收到指示一匹配之一信號。非作用中特徵胞63、64及66可忽視匹配。偵測胞68中之每一者可包含具有來自記憶體胞70及輸出導體56之輸入之一AND閘極。可將該AND閘極之輸出路由至偵測匯流排38及啟動路由矩陣36兩者或一者或另一者。
啟動路由矩陣36又可藉由寫入至偵測陣列34中之記憶體胞70來選擇性地啟動特徵胞63、64及66。啟動路由矩陣36可根據搜尋準則及其次在資料串流12中搜尋哪一搜尋項來啟動特徵胞63、64或66。
在圖6中,資料串流12呈現字母「b」。作為回應,特徵胞63、64及66中之每一者可在其輸出導體56上輸出指示儲存於連接至導體62之記憶體胞58(其表示字母「b」)中之值之一信號。然後,偵測胞56各自可判定其是否已接收到指示一匹配及其是否作用中之一信號。由於特徵胞63經組態以偵測字母「b」且作用中(如其記憶體胞70所指示),因此特徵胞63中之偵測胞68可將指示搜尋準則之第一搜尋項已被匹配之一信號輸出至啟動路由矩陣36。
如圖7所圖解說明,在匹配第一搜尋項之後,啟動路由矩陣36可藉由將一1寫入至下一特徵胞64之偵測胞68中之其記憶體胞70來啟動該特徵胞。在下一項滿足第一搜尋項之情形下(例如,若接收到項序列「bbig」),啟動路由矩陣36亦可維持特徵胞63之作用中狀態。在搜尋資料串流12期間之一部分時間或大致所有時間期間,搜尋準則之第一搜尋項可維持於一作用中狀態中。
在圖7中,資料串流12將字母「i」呈現給辨識模組22。作為回應,特徵胞63、64及66中之每一者可在其輸出導體56上輸出指示儲存於連接至導體72之記憶體胞58(其表示字母「i」)中之值之一信號。然後,偵測胞56各自可判定其是否已接收到指示一匹配及其是否作用中之一信號。由於特徵胞64經組態以偵測字母「i」且係作用中(如其記憶體胞70所指示),因此特徵胞64中之偵測胞68可將指示其搜尋準則之下一搜尋項已被匹配之一信號輸出至啟動路由矩陣36。
接下來,啟動路由矩陣36可啟動特徵胞66,如圖8所圖解說明。在評估下一項之前,可撤銷啟動特徵胞64。可藉由特徵胞64之偵測胞68在偵測循環之間重設其記憶體胞70來撤銷啟動特徵胞64,或啟動路由矩陣36可撤銷啟動特徵胞64(舉例而言)。
在圖8中,資料串流12將項「g」呈現給列解碼器28,該列解碼器選擇表示項「g」之導體74。作為回應,特徵胞63、64及66中之每一者可在其輸出導體56上輸出指示儲存於連接至導體74之記憶體胞58(其表示字母「g」)中之值之一信號。然後,偵測胞56各自可判定其是否已接收到指示一匹配及其是否作用中之一信號。由於特徵胞66經組態以偵測字母「g」且作用中(如其記憶體胞70所指示),因此特徵胞66中之偵測胞68可將指示其搜尋準則之最後一個搜尋項已被匹配之一信號輸出至啟動路由矩陣36。
一搜尋準則之末端或一搜尋準則之一部分可由啟動路由矩陣36或偵測胞68來識別。此等組件36或68可包含指示其特徵胞63、64或66規定一搜尋準則之最後一個搜尋項還是一搜尋準則之一組成部分之記憶體。舉例而言,一搜尋準則可規定其中字「cattle」出現兩次之所有句子,且辨識模組可將指示「cattle」在一句子內之每一出現之一信號輸出至彙總模組,該彙總模組可計數該等出現以判定是否滿足該搜尋準則。
特徵胞63、64或66可在數個條件下被啟動。一特徵胞63、64或66可「始終作用中」,此意指其在整個或大致整個搜尋期間保持作用中。一始終作用中特徵胞63、64或66之一實例係搜尋準則之第一特徵胞(例如,特徵胞63)。
一特徵胞63、64或66可係「在受請求時作用中」,此意指特徵胞63、64或66在某一在先條件被匹配時(例如,在一搜尋準則中之在前搜尋項被匹配時)係作用中。一實例係在由圖6至圖8中之特徵胞63請求時係作用中之特徵胞64及在由特徵胞64請求時係作用中之特徵胞66。
一特徵胞63、64或66可係「自啟動」,此意指一旦其被啟動,則只要其搜尋項被匹配其即啟動其自身。舉例而言,具有由任一數值數位匹配之一搜尋項之一自啟動特徵胞可在序列「123456xy」中保持作用中直到到達字母「x」為止。每當該自啟動特徵胞之搜尋項被匹配時,其即可啟動搜尋準則中之下一特徵胞。因此,一始終作用中特徵胞可由一自啟動特徵胞及一受請求時作用中特徵胞形成:該自啟動特徵胞可經程式化以使其所有記憶體胞58儲存一1,且其可在每一項之後重複啟動該受請求時作用中特徵胞。在某些實施例中,每一特徵胞63、64及66可在其偵測胞68中或在啟動路由矩陣36中包括規定該特徵胞是否始終作用中之一記憶體胞,藉此由一單個特徵胞形成一始終作用中特徵胞。
圖9繪示經組態以根據一第一搜尋準則75及一第二搜尋準則76平行進行搜尋之一辨識模組22之一實例。在此實例中,第一搜尋準則75規定字「big」,且第二搜尋準則76規定字「cab」。指示來自資料串流12之當前項之一信號可在大體相同時間被傳送至每一搜尋準則75及76中之特徵胞。輸入導體37中之每一者跨越搜尋準則75及76兩者。結果,在某些實施例中,搜尋準則75及76兩者可大體同時評估當前項。據信,此加速搜尋準則之評估。其他實施例可包含經組態以平行評估更多搜尋準則之更多特徵胞。舉例而言,某些實施例可包含平行運作之多於100、500、1000、5000、10,000個特徵胞。此等特徵胞可大體同時評估數百個或數千個搜尋準則。
具有不同數目筆搜尋項之搜尋準則可藉由將更多或更少之特徵胞分配至該等搜尋準則來形成。簡單搜尋準則可消耗比複雜搜尋準則更少之呈特徵胞形式之資源。據信,相對於具有大數目個大體相同核心之處理器(全部經組態以評估複雜搜尋準則),此減小型樣辨識處理器14(圖2)之成本。
圖10至圖12繪示一更複雜搜尋準則之一實例及啟動路由矩陣36之特徵兩者。啟動路由矩陣36可包含複數個啟動路由胞78,該等啟動路由胞群組可與特徵胞63、64、66、80、82、84及86中之每一者相關聯。舉例而言,該等特徵胞中之每一者可包含5個、10個、20個、50個或更多個啟動路由胞78。啟動路由胞78可經組態以在一搜尋準則中之一在前搜尋項被匹配時將啟動信號傳輸至下一搜尋項。啟動路由胞78可經組態以將啟動信號路由至毗鄰特徵胞或同一特徵胞內之其他啟動路由胞78。啟動路由胞78可包含指示哪些特徵胞對應於一搜尋準則中之下一搜尋項之記憶體。
如圖10至圖12所圖解說明,辨識模組22可經組態以根據複雜搜尋準則而非規定單個字之準則進行搜尋。舉例而言,辨識模組22可經組態以搜尋以一前置字88開頭且以兩個後置字90或92中之一者結束之字。所圖解說明之搜尋準則依序規定以字母「c」及「l」開頭且以字母序列「ap」或字母序列「oud」結束之字。此係規定多個目標表達(例如,字「clap」或字「cloud」)之一搜尋準則之一實例。
在圖10中,資料串流12將字母「c」呈現給辨識模組22,且特徵胞63既作用中又偵測一匹配。作為回應,啟動路由矩陣36可啟動下一特徵胞64。啟動路由矩陣36亦可維持特徵胞63之作用中狀態,此乃因特徵胞63係搜尋準則中之第一搜尋項。
在圖11中,資料串流12呈現一字母「l」,且特徵胞64辨識一匹配且係作用中。作為回應,啟動路由矩陣36可將一啟動信號傳輸至第一後置字90之第一特徵胞66及第二後置字92之第一特徵胞82兩者。在其他實例中,可啟動更多後置字,或多個前置字可啟動一個或多個後置字。
接下來,如圖12所圖解說明,資料串流12將字母「o」呈現給辨識模組22,且第二後置字92之特徵胞82偵測一匹配且係作用中。作為回應,啟動路由矩陣36可啟動第二後置字92之下一特徵胞84。在允許特徵胞66變成非作用中時,對第一後置字90之搜尋可停止。圖10至圖12所圖解說明之步驟可繼續通過字母「u」及「d」,或搜尋可停止直到下一次前置字88被匹配為止。
圖13繪示搜尋一資料串流12之一系統10之一第二實例。系統10可包含如上文針對圖1所闡述而發揮作用之一搜尋準則16、一編譯器18及一CPU 20。如將瞭解,儘管本文圖解說明及闡述了一CPU 20,但在某些實施例中CPU 20可表示一處理單元,而非呈CPU形式。圖13亦包含可根據搜尋準則16搜尋資料串流12之一型樣辨識處理器叢集94。
型樣辨識處理器叢集94可由複數個型樣辨識處理器14組成。因此,型樣辨識處理器叢集94可搜尋一個或多個目標表達。型樣辨識處理器叢集94可共同地利用型樣辨識處理器14以搜尋一個別目標表達,或另一選擇為,型樣辨識處理器叢集94可利用每一型樣辨識處理器14以搜尋一個別目標表達。
此外,型樣辨識處理器叢集94可用於基於一給定搜尋準則搜尋資料串流12。每一搜尋準則可規定一個或多個目標表達且每一搜尋準則可由一個或多個搜尋項構成。因此,型樣辨識處理器叢集94可共同地利用型樣辨識處理器14以搜尋每一搜尋準則,或另一選擇為,型樣辨識處理器叢集94可利用每一型樣辨識處理器14以搜尋一特定搜尋準則。以此方式,系統10可在其搜尋能力方面獲得更大靈活性,此乃因型樣辨識處理器叢集94中之型樣辨識處理器14在其搜尋資料串流12方面可具靈活性。型樣辨識處理器叢集94之靈活性之一部分可源自使用平行直接記憶體存取(PDMA)技術,該等平行直接記憶體存取(PDMA)技術允許一直接記憶體存取(DMA)主控器控制至該等DMA從屬器的資料之流動及定時以及對該資料之平行處理。
圖14圖解說明包含可實施上文所論述之平行DMA處理之八個型樣辨識處理器14之一型樣辨識處理器叢集94。儘管圖解說明八個型樣辨識處理器14,但應認識到在一給定型樣辨識處理器叢集94中可利用多於或少於八個之型樣辨識處理器14。每一型樣辨識處理器14顯示為一經單獨封裝的積體電路。另一選擇為,型樣辨識處理器14中之每一者可整合至一個或多個封裝中。此外,儘管每一型樣辨識處理器14之接針總數目可變化,但在本實施例中型樣辨識處理器14經圖解說明以具有十九個接針。每一型樣辨識處理器14上之該等十九個接針包含八個資料接針96-110、四個位址接針112-118、一寫入選通接針120、一讀取選通接針122、一晶片選擇接針124、一通用選擇接針126及三個PDMA接針128-132。PDMA接針128-132包含一PDMA M/S接針128、一PDMA循環接針130及一PDMA RD/WR接針132。
八個資料接針96-110可用以接收來自資料串流12之資料以供型樣辨識處理。同樣,當型樣辨識處理器叢集94中之型樣辨識處理器14中之一者或多者完成一型樣搜尋時,資料接針96-110可用於傳輸資料。型樣辨識處理器14中之每一者亦可包含四個位址接針112-118。此等位址接針112-118可用以規定欲在一型樣辨識處理器14內執行之功能。另一選擇為,位址接針112-118可用以在型樣辨識處理器14中選擇一個或多個特徵胞30。因此,位址接針112-118可共同地或單個地用以控制型樣辨識處理器14之操作。
型樣辨識處理器14中之每一者亦可包含一寫入選通接針120及一讀取選通接針122。寫入選通接針120及讀取選通接針122可用以將型樣辨識處理器14分別設定至一寫入模式或一讀取模式。舉例而言,當資料串流12正被傳輸至型樣辨識處理器14以供處理時,型樣辨識處理器14可被置於一寫入模式中。因此,當型樣辨識處理器14欲沿資料線96-110接收資料時,可(例如)藉由將一高信號傳輸至寫入選通接針120來選擇寫入選通接針120。
讀取選通接針122可以類似於上文所闡述之寫入選通接針120之一方式運作。當型樣辨識處理器14欲被置於一讀取模式中時,舉例而言,當型樣辨識處理之結果可沿資料線96-110被傳輸至(例如)CPU 20時,可選擇讀取選通接針122。當選擇讀取選通接針122時,為確保資料線96-110以一讀取模式運作,型樣辨識處理器14可允許資料(亦即,匹配結果)沿資料線96-110被傳輸。藉由將一高信號傳輸至讀取選通接針122,可發生對讀取選通接針122之選擇。因此,當選擇讀取選通接針122時,型樣辨識處理器14可能夠沿資料線96-110將資料傳輸(例如)至CPU 20。以此方式,型樣辨識處理器14可能夠在無衝突之情形下沿相同的資料線96-110接收資料及傳輸資料,此乃因型樣辨識處理器14可在選擇寫入選通接針120時傳輸資料且在選擇讀取選通接針122時讀取資料。
型樣辨識處理器14中之每一者可進一步包含一晶片選擇接針124。晶片選擇接針124可用以啟動一給定型樣辨識處理器14。藉由利用每一型樣辨識處理器14上之一晶片選擇接針124,可啟動任一個別及/或複數個型樣辨識處理器14。此啟動可允許個別地組態個別型樣辨識處理器14。此外,晶片選擇接針124可用以判定任一具體型樣辨識處理器14之狀態。以此方式,可在任一給定時間(其由一給定型樣搜尋之要求判定)啟動最小數目個型樣辨識處理器14。
型樣辨識處理器14中之每一者亦可包含一通用選擇接針126。可以類似於上文所闡述之晶片選擇接針124之一方式利用通用選擇接針126,然而,通用選擇接針126可用以平行啟動一型樣辨識處理器叢集94中之所有型樣辨識處理器14。藉由平行啟動所有型樣辨識處理器14,可達成多個型樣辨識處理器14之間的同步化處理。舉例而言,所有型樣辨識處理器14可同時對資料串流12進行操作。此可藉由型樣辨識處理器14中之每一者在通用選擇接針126處接收一啟動信號,從而允許同時啟動型樣辨識處理器14以使得型樣辨識處理器14可處理跨越各別資料接針96-110所接收之資料而實現。
型樣辨識處理器14中之每一者可進一步包含一PDMA M/S接針128。PDMA M/S接針128之設定可判定一型樣辨識處理器14將被置於一DMA主控裝置模式中還是DMA從屬裝置模式中。一DMA主控裝置可與CPU 20介接以請求對提供資料串流之資料匯流排之控制。CPU 20可藉助關於欲處理之一資料串流12之大小及位置之資訊程式化該DMA主控裝置,且隨後產生對用以提供該資料串流之資料匯流排之控制。完成該處理時,DMA主控器可告知CPU 20搜尋完成且產生返回至CPU 20之控制。以此方式,一單個型樣辨識處理器14可藉由用作一DMA主控裝置及將一DMA循環傳輸至所有DMA從屬裝置來控制系統10之平行資料串流處理以使得資料串流12可由DMA主控裝置及DMA從屬裝置同時處理,藉此DMA循環可對應於一個或多個單個搜尋循環且一單個搜尋循環可對應於分配至型樣辨識處理器14以用於處理資料串流12中之一個資料單元(例如,一單個資料位元組或複數個資料位元組)之時間。另一選擇為,一系統DMA裝置可用作DMA主控器,藉此型樣辨識處理器14可各自係DMA從屬裝置。因此,無論DMA主控裝置之位置如何,利用一DMA主控裝置可釋放CPU 20以執行其他系統任務。
在一項實施例中,M/S接針128上之一高信號用以將一型樣辨識處理器14設定為DMA主控裝置,而剩餘M/S接針128上之一低信號將剩餘型樣辨識處理器14設定至DMA從屬裝置。另一選擇為,儲存於一有形機器可讀媒體(例如系統10中之一記憶體裝置)上之韌體或一電腦程式可用以將一型樣辨識處理器14組態為DMA主控裝置,以及將型樣辨識叢集94中之剩餘型樣辨識處理器14組態為DMA從屬裝置。
型樣辨識處理器14中之每一者亦可包含一PDMA循環接針130及一PDMA RD/WR接針132。PDMA循環接針130可用以控制來自資料串流12之資料移出及移入型樣辨識處理器14。此外,該DMA主控裝置可利用該等DMA從屬裝置之PDMA循環接針130來控制型樣辨識處理器14之DMA循環以使得型樣辨識處理器14可同時對相同資料進行操作。此外,型樣辨識處理器14中之每一者之PDMA RD/WR接針132可用以將型樣辨識處理器14設定至一平行讀取或一平行寫入功能。一平行寫入功能可包含型樣辨識處理器14接收資料以供同時處理資料。一平行讀取功能可包含型樣辨識處理器14同時傳輸經處理之資料。因此,DMA主控裝置可經由PDMA RD/WR接針132控制型樣辨識處理器叢集94中之型樣辨識處理器14之平行讀取及寫入功能。
圖15繪示結合圖14之型樣辨識處理器叢集94一起使用之控制電路及輸入匯流排之一詳細實例。該等輸入匯流排可包含一PDMA控制匯流排134、資料匯流排136、一命令匯流排138、一位址匯流排140及一晶片選擇匯流排142。此等匯流排134-142可用以執行對一資料串流12之同時平行處理。
PDMA控制匯流排134可允許CPU 20與設定為一DMA主控裝置15之一型樣辨識處理器之間的通信。以此方式,DMA主控裝置15可自CPU 20接收關於欲被型樣辨識處理器叢集94處理之一資料串流12之大小及位置之資訊。然後DMA主控裝置15可藉由將PDMA控制信號傳輸至DMA從屬裝置來控制DMA從屬裝置(其可包含型樣辨識處理器叢集94中之剩餘型樣辨識處理器14)以允許叢集94中之每一處理器14在同一DMA循環(亦即,對於叢集94中之每一處理器14同時回應於DMA匯流排循環)期間處理資料串流12。因此,PDMA控制信號變成DMA主控裝置15之輸出信號及至DMA從屬裝置的輸入信號。
PDMA控制匯流排134可用以將來自DMA主控裝置15之DMA控制信號傳輸至DMA從屬裝置(亦即,型樣辨識處理器14)。此等PDMA控制信號可包含可用以控制來自資料串流12之資料移出及移入型樣辨識處理器14之一PDMA循環信號。該PDMA循環信號可係基於DMA主控器15自CPU 20接收之一DMA循環信號而產生。可由DMA主控裝置15驅動且由從屬裝置接收PDMA循環信號作為(例如)允許DMA主控裝置及DMA從屬裝置對同時接收之資料執行一操作之一平行啟用信號。
PDMA控制匯流排134亦可用以將來自DMA主控裝置15之PDMA RD/WR信號傳輸至DMA從屬裝置。PDMA RD/WR信號可用以將DMA從屬裝置(亦即,型樣辨識處理器14)設定至一平行讀取功能或一平行寫入功能。一平行寫入功能可包含DMA從屬裝置接收資料以供同時處理資料,而一平行讀取功能可包含DMA從屬裝置同時傳輸經處理之資料。因此,DMA主控裝置15可經由PDMA控制匯流排134控制型樣辨識處理器叢集94中之型樣辨識處理器14之平行讀取及寫入功能。
結合型樣辨識處理器叢集94一起使用之一第二匯流排係資料匯流排136。資料匯流排136可包含可連接至型樣辨識處理器14中之每一者之資料接針96-110及型樣辨識處理器叢集94中之DMA主控裝置15之複數個雙向資料線。資料匯流排136亦可接收一資料串流12且可用以將搜尋結果傳輸至CPU 20。
一額外輸入匯流排可係一命令匯流排138。命令匯流排138可用以將命令信號遞送至型樣辨識處理器叢集94中之型樣辨識處理器14及/或DMA主控裝置15。此等命令信號可被傳輸至型樣辨識處理器14中之一者或多者及/或DMA主控裝置15之寫入選通接針120及/或讀取選通接針122。因此,該等命令信號可用以將型樣辨識處理器14中之一者或DMA主控裝置15置於一操作模式中。舉例而言,該等命令信號可將一單個型樣辨識處理器14置於一讀取模式或一寫入模式中。
一位址匯流排140亦可用於型樣辨識處理器叢集94之操作中。位址匯流排140可用以將信號傳輸至位址接針112-118以用於規定型樣辨識處理器14及/或DMA主控裝置15內之功能。類似地,位址匯流排140可用以將信號傳輸至位址接針112-118以用於規定及/或啟動型樣辨識處理器14及/或DMA主控裝置15內之某些暫存器。
另外,晶片選擇匯流排142可用以將選擇信號傳輸至控制電路以用於判定欲啟動哪些型樣辨識處理器14及/或DMA主控裝置15。該等選擇信號可判定是否欲經由每一通用選擇接針126同時啟動所有型樣辨識處理器14及DMA主控裝置15,或(例如)是否欲啟動一具體型樣辨識處理器14以用於處理資料串流12。
藉由允許型樣辨識處理器14中之一者變成一DMA主控裝置15,可釋放主系統之CPU 20以當一資料串流12被處理時執行其他任務。因此,DMA主控裝置可控制型樣辨識處理器叢集94之平行操作(亦即,資料讀取、資料處理及資料寫入特性)以及將任一平行操作之完成告知CPU 20。以此方式,型樣辨識處理器叢集94可同時(亦即,在同一平行DMA循環期間)處理一資料串流12,而CPU 20被釋放以與處理資料串流12分開地執行任務。
儘管易於對本發明作出各種修改及替代形式,但其具體實施例已以實例方式顯示於圖示中且已詳細闡述於本文中。然而,應理解,本發明並不限定於所揭示之特定形式。相反,本發明將涵蓋歸屬於下文所附申請專利範圍所界定之本發明之精神及範疇內之所有修改、等效形式及替代方案。
10...系統
12...資料串流
14...型樣辨識處理器
15...DMA主控裝置
16...搜尋準則
18...編譯器
20...CPU
22...辨識模組
24...彙總模組
26...輸出匯流排
28...列解碼器
30...特徵胞
32...搜尋項陣列
34...偵測陣列
36...啟動路由矩陣
37...輸入導體
38...偵測匯流排
40...鎖存器矩陣
42...彙總路由矩陣
44...臨限邏輯矩陣
46...邏輯積矩陣
48...邏輯和矩陣
50...初始化路由矩陣
51...輸出緩衝器
53...群組邏輯線
54...搜尋項胞
56...輸出導體
58...記憶體胞
60...導體
62...導體
63...特徵胞
64...特徵胞
66...特徵胞
68...偵測胞
70...記憶體胞
72...導體
74...導體
75...第一搜尋準則
76...第二搜尋準則
78...啟動路由胞
80...特徵胞
82...特徵胞
84...特徵胞
86...特徵胞
88...前置字
90...後置字
92...後置字
94...型樣辨識處理器叢集
96...資料接針
98...資料接針
100...資料接針
102...資料接針
104...資料接針
106...資料接針
108...資料接針
110...資料接針
112...位址接針
114...位址接針
116...位址接針
118...位址接針
120...寫入選通接針
122...讀取選通接針
124...晶片選擇接針
126...通用選擇接針
128...PDMA M/S接針
130...PDMA循環接針
132...PDMA RD/WR接針
134...PDMA控制匯流排
136...資料匯流排
138...命令匯流排
140...位址匯流排
142...晶片選擇匯流排
圖1繪示搜尋一資料串流之系統之一實例;
圖2繪示圖1之系統中之一型樣辨識處理器之一實例;
圖3繪示圖2之型樣辨識處理器中之一搜尋項胞之一實例;
圖4及圖5繪示針對一單個字元搜尋資料串流之圖3之搜尋項胞;
圖6至圖8繪示包含針對一字搜尋資料串流之數個搜尋項胞之一辨識模組;
圖9繪示經組態以針對兩個字平行地搜尋資料串流之辨識模組;
圖10至圖12繪示根據規定具有相同前置字之多個字之一搜尋準則進行搜尋之辨識模組;
圖13繪示搜尋一資料串流之系統之一第二實例;
圖14繪示圖13之系統中之一型樣辨識處理器叢集之一實例;及
圖15繪示結合圖14之型樣辨識處理器叢集一起使用之控制電路及輸入匯流排之一詳細實例。
14...型樣辨識處理器
94...型樣辨識處理器叢集
128...PDMA接針

Claims (26)

  1. 一種電子裝置,其包括:複數個型樣辨識處理器,其中該複數個型樣辨識處理器中之每一者包括:一專用的平行直接記憶體存取(PDMA)主控器/從屬器輸入,其經調適以將彼處理器置於一主控器模式或一從屬器模式中;及一PDMA循環連接,其經調適以在彼處理器被置於一主控器模式中時將來自彼處理器之一直接記憶體存取循環傳輸至同時被置於一從屬器模式中之該複數個型樣辨識處理器中之每一者。
  2. 如請求項1之電子裝置,其中該複數個型樣辨識處理器中之每一者包括經調適以接收欲被處理之資料之一資料輸入,其中可由該複數個型樣辨識處理器同時接收該資料。
  3. 如請求項1之電子裝置,其中該複數個型樣辨識處理器中之每一者包括經調適以接收位址信號之複數個位址輸入,該等位址信號經調適以規定欲由彼處理器執行之功能。
  4. 如請求項3之電子裝置,其中欲被執行之一功能包括在自被置於一主控器模式中之該複數個型樣辨識處理器中之一者所傳輸之一直接記憶體存取循環期間與其他處理器中之一者或多者同時處理一資料串流。
  5. 如請求項1之電子裝置,其中彼處理器包括經調適以將彼處理器置於一平行讀取模式或一平行寫入模式中之一 PDMA讀取/寫入輸入,藉此一資料串流可被同時寫入至該複數個型樣辨識處理器中之每一者中或自該複數個型樣辨識處理器中之每一者中讀出。
  6. 如請求項5之電子裝置,其中正被同時寫入至該複數個型樣辨識處理器中之每一者中或正自該複數個型樣辨識處理器中之每一者被讀出之該資料串流係在一單個直接記憶體存取循環期間被執行。
  7. 一種用於平行處理資料之電子系統,其包括:一處理單元,其經調適以啟動一直接記憶體存取(DMA)主控裝置;及複數個處理電路,其經調適以同時且獨立於該處理器搜尋一資料串流,其中該複數個處理電路包含該DMA主控裝置及經調適以同時回應於DMA匯流排循環之一個或多個DMA從屬裝置。
  8. 如請求項7之電子系統,其中該複數個處理電路中之每一者係經調適以根據一搜尋準則搜尋該資料之一資料型樣辨識處理器。
  9. 如請求項8之電子系統,其中該搜尋準則包括在一單個搜尋循環期間由該等資料型樣辨識處理器搜尋之至少一個資料序列。
  10. 如請求項9之電子系統,其中該DMA主控裝置經調適以將一直接記憶體存取循環傳輸至該等DMA從屬裝置以起始對該資料串流之同時處理,其中該直接記憶體存取循環對應於一個或多個單個搜尋循環。
  11. 如請求項10之電子系統,其中該DMA主控裝置經調適以將該等DMA從屬裝置中之每一者置於一平行讀取模式或一平行寫入模式中。
  12. 如請求項7之電子系統,其中該DMA主控裝置經調適以將該資料串流搜尋之完成告知該處理單元。
  13. 一種用於處理資料之方法,其包括:啟動一直接記憶體存取(DMA)主控裝置,其經調適以控制在該DMA主控裝置及一個或多個DMA從屬裝置中對一資料串流之同步搜尋;在該DMA主控裝置及該一個或多個DMA從屬裝置處接收該資料串流;及在該DMA主控裝置及該一個或多個DMA從屬裝置中同步搜尋該資料串流。
  14. 如請求項13之方法,其中同時地同步搜尋該資料串流包括針對由一搜尋準則規定之至少一個資料序列搜尋該資料串流。
  15. 如請求項13之方法,其中該複數個處理電路之該搜尋係基於經調適以指示一特定搜尋功能之所接收之位址信號。
  16. 如請求項15之方法,其包括將該經搜尋之資料串流傳輸至一處理單元。
  17. 一種處理資料之方法,其包括:當欲由複數個處理電路中之一者單個地搜尋一資料串流時,啟動該複數個處理電路中之該一者; 當欲由複數個處理電路平行地搜尋該資料串流時,啟動該複數個處理電路;若該複數個處理電路被啟動,則啟動該複數個處理電路中之一者作為一直接記憶體存取(DMA)主控裝置,其經調適以控制在該複數個處理電路中對該資料串流之該同步搜尋;在所有被啟動之處理電路處同時接收該資料串流;及在所有該等被啟動之處理電路處同時搜尋該資料串流。
  18. 如請求項17之方法,其中同時搜尋該資料串流包括針對至少一個資料序列搜尋該資料串流。
  19. 如請求項18之方法,其包括將該經搜尋之資料串流傳輸至一處理單元。
  20. 如請求項17之方法,其中該DMA主控裝置經調適以藉由將一直接記憶體存取循環傳輸至該複數個處理電路中之其他處理電路來控制對該資料串流之該同步搜尋,其中該直接記憶體存取循環對應於一個或多個單個搜尋循環。
  21. 如請求項20之方法,其中該單個搜尋循環包括分配至該複數個處理電路以處理該資料串流中之一個資料單元之一時間。
  22. 一種電子裝置,其包括:一處理單元,其經調適以將對一資料串流之處理傳送至複數個處理電路;及 複數個處理電路,其經調適以同時搜尋該資料串流且將該等結果傳輸至該處理單元,其中該複數個處理電路包含一DMA主控裝置及一個或多個DMA從屬裝置。
  23. 如請求項22之電子裝置,其中該複數個處理電路係經調適以在一單個搜尋循環期間根據一搜尋準則搜尋一個資料單元之資料型樣辨識處理器。
  24. 如請求項23之電子裝置,其中該單個搜尋循環對應於由該DMA主控裝置控制且由一個或多個DMA從屬裝置作出回應之一平行DMA循環。
  25. 如請求項23之電子裝置,其中基於所接收之位址及資料信號在該DMA主控裝置處及在該一個或多個DMA從屬裝置處設定欲被搜尋之該資料串流。
  26. 一種電子裝置,其包括:複數個型樣辨識處理器,其中該複數個型樣辨識處理器中之每一者包括:一專用的平行直接記憶體存取(PDMA)主控器/從屬器輸入,其經調適以將彼處理器置於一主控器模式或一從屬器模式中;及一PDMA連接,其經調適以同時接收DMA匯流排循環。
TW098140703A 2008-12-01 2009-11-27 藉由多個裝置同步化單一資料串流之同時直接記憶體存取平行處理之裝置、系統及方法 TWI416332B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/325,986 US20100138575A1 (en) 2008-12-01 2008-12-01 Devices, systems, and methods to synchronize simultaneous dma parallel processing of a single data stream by multiple devices

Publications (2)

Publication Number Publication Date
TW201027350A TW201027350A (en) 2010-07-16
TWI416332B true TWI416332B (zh) 2013-11-21

Family

ID=41568307

Family Applications (1)

Application Number Title Priority Date Filing Date
TW098140703A TWI416332B (zh) 2008-12-01 2009-11-27 藉由多個裝置同步化單一資料串流之同時直接記憶體存取平行處理之裝置、系統及方法

Country Status (3)

Country Link
US (4) US20100138575A1 (zh)
TW (1) TWI416332B (zh)
WO (1) WO2010065292A1 (zh)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110050665A (ko) * 2008-08-06 2011-05-16 아스펜 액퀴지션 코포레이션 정지가능하고 재시작가능한 dma 엔진
US8209521B2 (en) 2008-10-18 2012-06-26 Micron Technology, Inc. Methods of indirect register access including automatic modification of a directly accessible address register
US8938590B2 (en) 2008-10-18 2015-01-20 Micron Technology, Inc. Indirect register access method and system
US7917684B2 (en) 2008-11-05 2011-03-29 Micron Technology, Inc. Bus translator
US8402188B2 (en) 2008-11-10 2013-03-19 Micron Technology, Inc. Methods and systems for devices with a self-selecting bus decoder
US20100138575A1 (en) 2008-12-01 2010-06-03 Micron Technology, Inc. Devices, systems, and methods to synchronize simultaneous dma parallel processing of a single data stream by multiple devices
US10007486B2 (en) 2008-12-01 2018-06-26 Micron Technology, Inc. Systems and methods to enable identification of different data sets
US20100174887A1 (en) 2009-01-07 2010-07-08 Micron Technology Inc. Buses for Pattern-Recognition Processors
US8281395B2 (en) 2009-01-07 2012-10-02 Micron Technology, Inc. Pattern-recognition processor with matching-data reporting module
US8214672B2 (en) 2009-01-07 2012-07-03 Micron Technology, Inc. Method and systems for power consumption management of a pattern-recognition processor
US9323994B2 (en) 2009-12-15 2016-04-26 Micron Technology, Inc. Multi-level hierarchical routing matrices for pattern-recognition processors
US8489534B2 (en) 2009-12-15 2013-07-16 Paul D. Dlugosch Adaptive content inspection
US9501705B2 (en) 2009-12-15 2016-11-22 Micron Technology, Inc. Methods and apparatuses for reducing power consumption in a pattern recognition processor
US8766666B2 (en) 2010-06-10 2014-07-01 Micron Technology, Inc. Programmable device, hierarchical parallel machines, and methods for providing state information
US8601013B2 (en) 2010-06-10 2013-12-03 Micron Technology, Inc. Analyzing data using a hierarchical structure
US8788991B2 (en) 2011-01-25 2014-07-22 Micron Technology, Inc. State grouping for element utilization
KR101640295B1 (ko) 2011-01-25 2016-07-15 마이크론 테크놀로지, 인크. 정규 표현을 컴파일하기 위한 방법 및 장치
US8843911B2 (en) 2011-01-25 2014-09-23 Micron Technology, Inc. Utilizing special purpose elements to implement a FSM
JP5857072B2 (ja) 2011-01-25 2016-02-10 マイクロン テクノロジー, インク. オートマトンの入次数および/または出次数を制御するための量化子の展開
US8593175B2 (en) 2011-12-15 2013-11-26 Micron Technology, Inc. Boolean logic in a state machine lattice
US8648621B2 (en) 2011-12-15 2014-02-11 Micron Technology, Inc. Counter operation in a state machine lattice
US9443156B2 (en) 2011-12-15 2016-09-13 Micron Technology, Inc. Methods and systems for data analysis in a state machine
US8782624B2 (en) 2011-12-15 2014-07-15 Micron Technology, Inc. Methods and systems for detection in a state machine
US8680888B2 (en) 2011-12-15 2014-03-25 Micron Technologies, Inc. Methods and systems for routing in a state machine
US20130275709A1 (en) 2012-04-12 2013-10-17 Micron Technology, Inc. Methods for reading data from a storage buffer including delaying activation of a column select
CN103516627B (zh) * 2012-06-20 2018-08-21 南京中兴新软件有限责任公司 多芯片通信中数据包发送、接收的方法和装置
US9524248B2 (en) 2012-07-18 2016-12-20 Micron Technology, Inc. Memory management for a hierarchical memory system
US9304968B2 (en) 2012-07-18 2016-04-05 Micron Technology, Inc. Methods and devices for programming a state machine engine
US9235798B2 (en) 2012-07-18 2016-01-12 Micron Technology, Inc. Methods and systems for handling data received by a state machine engine
US9389841B2 (en) 2012-07-18 2016-07-12 Micron Technology, Inc. Methods and systems for using state vector data in a state machine engine
US9501131B2 (en) 2012-08-31 2016-11-22 Micron Technology, Inc. Methods and systems for power management in a pattern recognition processing system
US9075428B2 (en) 2012-08-31 2015-07-07 Micron Technology, Inc. Results generation for state machine engines
US9448965B2 (en) 2013-03-15 2016-09-20 Micron Technology, Inc. Receiving data streams in parallel and providing a first portion of data to a first state machine engine and a second portion to a second state machine
US9703574B2 (en) 2013-03-15 2017-07-11 Micron Technology, Inc. Overflow detection and correction in state machine engines
CN105205025A (zh) * 2014-06-30 2015-12-30 深圳市中兴微电子技术有限公司 一种芯片互连的方法、芯片及装置
CN105786736A (zh) * 2014-12-18 2016-07-20 深圳市中兴微电子技术有限公司 一种多芯片级联的方法、芯片和装置
US11366675B2 (en) 2014-12-30 2022-06-21 Micron Technology, Inc. Systems and devices for accessing a state machine
WO2016109571A1 (en) 2014-12-30 2016-07-07 Micron Technology, Inc Devices for time division multiplexing of state machine engine signals
WO2016109570A1 (en) 2014-12-30 2016-07-07 Micron Technology, Inc Systems and devices for accessing a state machine
US10691964B2 (en) 2015-10-06 2020-06-23 Micron Technology, Inc. Methods and systems for event reporting
US10846103B2 (en) 2015-10-06 2020-11-24 Micron Technology, Inc. Methods and systems for representing processing resources
US10977309B2 (en) 2015-10-06 2021-04-13 Micron Technology, Inc. Methods and systems for creating networks
US10146555B2 (en) 2016-07-21 2018-12-04 Micron Technology, Inc. Adaptive routing to avoid non-repairable memory and logic defects on automata processor
EP3472955B1 (en) * 2016-07-29 2020-09-23 Huawei Technologies Co., Ltd. Encoding device and method and corresponding decoding device and method
US10268602B2 (en) 2016-09-29 2019-04-23 Micron Technology, Inc. System and method for individual addressing
US10019311B2 (en) 2016-09-29 2018-07-10 Micron Technology, Inc. Validation of a symbol response memory
US10929764B2 (en) 2016-10-20 2021-02-23 Micron Technology, Inc. Boolean satisfiability
US10592450B2 (en) 2016-10-20 2020-03-17 Micron Technology, Inc. Custom compute cores in integrated circuit devices

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4876643A (en) * 1987-06-24 1989-10-24 Kabushiki Kaisha Toshiba Parallel searching system having a master processor for controlling plural slave processors for independently processing respective search requests
US5590284A (en) * 1992-03-24 1996-12-31 Universities Research Association, Inc. Parallel processing data network of master and slave transputers controlled by a serial control network
TW200422860A (en) * 2002-12-10 2004-11-01 Ibm Apparatus and methods for co-location and offloading of web site traffic based on traffic pattern recognition
TWI243324B (en) * 2002-06-21 2005-11-11 Macronix Int Co Ltd Method and system for pattern recognition of an endpoint curve for a process and computer readable medium including instructions for performing the method

Family Cites Families (180)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL38603A (en) 1972-01-21 1975-10-15 Bar Lev H Automatic pattern recognition method and apparatus particularly for optically recognizing alphanumeric characters
JPS4891935A (zh) 1972-03-08 1973-11-29
US4011547A (en) 1972-07-17 1977-03-08 International Business Machines Corporation Data processor for pattern recognition and the like
GB1518093A (en) 1974-10-04 1978-07-19 Mullard Ltd Mark detection apparatus
JPS51112236A (en) 1975-03-28 1976-10-04 Hitachi Ltd Shape position recognizer unit
JPS5313840A (en) 1976-07-23 1978-02-07 Hitachi Ltd Analogy calculator
US4204193A (en) 1978-11-03 1980-05-20 International Business Machines Corporation Adaptive alignment for pattern recognition system
US4414685A (en) 1979-09-10 1983-11-08 Sternberg Stanley R Method and apparatus for pattern recognition and detection
US4748674A (en) 1986-10-07 1988-05-31 The Regents Of The University Of Calif. Pattern learning and recognition device
US5073864A (en) * 1987-02-10 1991-12-17 Davin Computer Corporation Parallel string processor and method for a minicomputer
US5014327A (en) 1987-06-15 1991-05-07 Digital Equipment Corporation Parallel associative memory having improved selection and decision mechanisms for recognizing and sorting relevant patterns
US5216748A (en) 1988-11-30 1993-06-01 Bull, S.A. Integrated dynamic programming circuit
US5617574A (en) 1989-05-04 1997-04-01 Texas Instruments Incorporated Devices, systems and methods for conditional instructions
JP2833062B2 (ja) 1989-10-30 1998-12-09 株式会社日立製作所 キャッシュメモリ制御方法とこのキャッシュメモリ制御方法を用いたプロセッサおよび情報処理装置
US5459836A (en) * 1990-02-09 1995-10-17 Unisys Corporation Inter-processor communication net
US5028821A (en) 1990-03-01 1991-07-02 Plus Logic, Inc. Programmable logic device with programmable inverters at input/output pads
JP2910303B2 (ja) * 1990-06-04 1999-06-23 株式会社日立製作所 情報処理装置
US5377129A (en) 1990-07-12 1994-12-27 Massachusetts Institute Of Technology Particle interaction processing system
DE69029390T2 (de) 1990-09-15 1997-06-12 Ibm Programmierbare Schaltung für eine neurale Logik
US5287523A (en) 1990-10-09 1994-02-15 Motorola, Inc. Method for servicing a peripheral interrupt request in a microcontroller
IL100370A (en) 1990-12-24 1994-11-11 Ball Corp Method for analyzing integrated computer systems
JPH05257710A (ja) * 1991-08-12 1993-10-08 Advanced Micro Devicds Inc 内部実行パラメータを与えるためのシステムおよびプロセッサによって実行されるべき命令を検証するための配列
US6400996B1 (en) 1999-02-01 2002-06-04 Steven M. Hoffberg Adaptive pattern recognition based control system and method
US5300830A (en) * 1992-05-15 1994-04-05 Micron Semiconductor, Inc. Programmable logic device macrocell with an exclusive feedback and exclusive external input lines for registered and combinatorial modes using a dedicated product term for control
US5331227A (en) * 1992-05-15 1994-07-19 Micron Semiconductor, Inc. Programmable logic device macrocell with an exclusive feedback line and an exclusive external input line
US5291482A (en) 1992-07-24 1994-03-01 At&T Bell Laboratories High bandwidth packet switch
US5357512A (en) 1992-12-30 1994-10-18 Intel Corporation Conditional carry scheduler for round robin scheduling
US5459798A (en) 1993-03-19 1995-10-17 Intel Corporation System and method of pattern recognition employing a multiprocessing pipelined apparatus with private pattern memory
US5825921A (en) 1993-03-19 1998-10-20 Intel Corporation Memory transfer apparatus and method useful within a pattern recognition system
CA2145363C (en) 1994-03-24 1999-07-13 Anthony Mark Jones Ram interface
US20050251638A1 (en) 1994-08-19 2005-11-10 Frederic Boutaud Devices, systems and methods for conditional instructions
US5590356A (en) * 1994-08-23 1996-12-31 Massachusetts Institute Of Technology Mesh parallel computer architecture apparatus and associated methods
JP3345515B2 (ja) 1994-08-31 2002-11-18 アイワ株式会社 ピークシフト補正回路およびそれを使用した磁気記録媒体再生装置
US5615237A (en) 1994-09-16 1997-03-25 Transwitch Corp. Telecommunications framer utilizing state machine
JPH0887462A (ja) 1994-09-20 1996-04-02 Fujitsu Ltd ステートマシン及び通信制御方式
US5790531A (en) 1994-12-23 1998-08-04 Applied Digital Access, Inc. Method and apparatus for determining the origin of a remote alarm indication signal
US6279128B1 (en) 1994-12-29 2001-08-21 International Business Machines Corporation Autonomous system for recognition of patterns formed by stored data during computer memory scrubbing
US5794062A (en) 1995-04-17 1998-08-11 Ricoh Company Ltd. System and method for dynamically reconfigurable computing using a processing unit having changeable internal hardware organization
US5659551A (en) 1995-05-31 1997-08-19 International Business Machines Corporation Programmable computer system element with built-in self test method and apparatus for repair during power-on
US5723984A (en) 1996-06-07 1998-03-03 Advanced Micro Devices, Inc. Field programmable gate array (FPGA) with interconnect encoding
US5680640A (en) 1995-09-01 1997-10-21 Emc Corporation System for migrating data by selecting a first or second transfer means based on the status of a data element map initialized to a predetermined state
US5905881A (en) * 1995-11-30 1999-05-18 Unisys Corporation Delayed state writes for an instruction processor
US5774680A (en) * 1995-12-11 1998-06-30 Compaq Computer Corporation Interfacing direct memory access devices to a non-ISA bus
US5754878A (en) 1996-03-18 1998-05-19 Advanced Micro Devices, Inc. CPU with DSP function preprocessor having pattern recognition detector that uses table for translating instruction sequences intended to perform DSP function into DSP macros
JPH10111862A (ja) 1996-08-13 1998-04-28 Fujitsu Ltd 再帰型ニューラルネットワークに基づく時系列解析装置および方法
JPH1069459A (ja) 1996-08-29 1998-03-10 Hitachi Ltd シリアルインタフェース制御装置およびその制御方法
US6034963A (en) 1996-10-31 2000-03-07 Iready Corporation Multiple network protocol encoder/decoder and data processor
JP2940496B2 (ja) 1996-11-05 1999-08-25 日本電気株式会社 パタンマッチング符号化装置及び方法
US6317427B1 (en) 1997-04-24 2001-11-13 Cabletron Systems, Inc. Method and apparatus for adaptive port buffering
US6011407A (en) 1997-06-13 2000-01-04 Xilinx, Inc. Field programmable gate array with dedicated computer bus interface and method for configuring both
US6362868B1 (en) 1997-07-15 2002-03-26 Silverbrook Research Pty Ltd. Print media roll and ink replaceable cartridge
US6097212A (en) 1997-10-09 2000-08-01 Lattice Semiconductor Corporation Variable grain architecture for FPGA integrated circuits
US6041405A (en) 1997-12-18 2000-03-21 Advanced Micro Devices, Inc. Instruction length prediction using an instruction length pattern detector
DE19861088A1 (de) 1997-12-22 2000-02-10 Pact Inf Tech Gmbh Verfahren zur Reparatur von integrierten Schaltkreisen
US6219776B1 (en) 1998-03-10 2001-04-17 Billions Of Operations Per Second Merged array controller and processing element
US6122679A (en) * 1998-03-13 2000-09-19 Compaq Computer Corporation Master DMA controller with re-map engine for only spawning programming cycles to slave DMA controllers which do not match current programming cycle
EP0943995A3 (en) 1998-03-20 2000-12-06 Texas Instruments Incorporated Processor having real-time external instruction insertion for debug functions without a debug monitor
US6151644A (en) 1998-04-17 2000-11-21 I-Cube, Inc. Dynamically configurable buffer for a computer network
US6052766A (en) 1998-07-07 2000-04-18 Lucent Technologies Inc. Pointer register indirectly addressing a second register in the processor core of a digital processor
US9195784B2 (en) 1998-08-31 2015-11-24 Cadence Design Systems, Inc. Common shared memory in a verification system
US7430171B2 (en) 1998-11-19 2008-09-30 Broadcom Corporation Fibre channel arbitrated loop bufferless switch circuitry to increase bandwidth without significant increase in cost
US6631466B1 (en) * 1998-12-31 2003-10-07 Pmc-Sierra Parallel string pattern searches in respective ones of array of nanocomputers
US7899052B1 (en) 1999-01-27 2011-03-01 Broadcom Corporation Memory structure for resolving addresses in a packet-based network switch
US6412057B1 (en) 1999-02-08 2002-06-25 Kabushiki Kaisha Toshiba Microprocessor with virtual-to-physical address translation using flags
US6636483B1 (en) 1999-02-25 2003-10-21 Fairchild Semiconductor Corporation Network switch with zero latency flow control
US6317849B1 (en) 1999-04-28 2001-11-13 Intel Corporation Method and apparatus for controlling available capabilities of a device
JP2000347708A (ja) 1999-06-02 2000-12-15 Nippon Telegr & Teleph Corp <Ntt> ニューラルネットよる動的システムの制御方法及び装置及びニューラルネットよる動的システムの制御プログラムを格納した記憶媒体
US6880087B1 (en) * 1999-10-08 2005-04-12 Cisco Technology, Inc. Binary state machine system and method for REGEX processing of a data stream in an intrusion detection system
AU2574501A (en) 1999-11-24 2001-06-04 Z-Force Corporation Configurable state machine driver and methods of use
US6640262B1 (en) 1999-12-20 2003-10-28 3Com Corporation Method and apparatus for automatically configuring a configurable integrated circuit
US6625740B1 (en) 2000-01-13 2003-09-23 Cirrus Logic, Inc. Dynamically activating and deactivating selected circuit blocks of a data processing integrated circuit during execution of instructions according to power code bits appended to selected instructions
US6614703B2 (en) 2000-01-13 2003-09-02 Texas Instruments Incorporated Method and system for configuring integrated systems on a chip
US7080359B2 (en) 2002-01-16 2006-07-18 International Business Machines Corporation Stack unique signatures for program procedures and methods
US6240003B1 (en) * 2000-05-01 2001-05-29 Micron Technology, Inc. DRAM content addressable memory using part of the content as an address
US6977897B1 (en) 2000-05-08 2005-12-20 Crossroads Systems, Inc. System and method for jitter compensation in data transfers
US6476636B1 (en) 2000-09-02 2002-11-05 Actel Corporation Tileable field-programmable gate array architecture
US6738794B2 (en) * 2001-04-10 2004-05-18 Analog Devices, Inc. Parallel bit correlator
US6888371B2 (en) 2001-10-29 2005-05-03 Leopard Logic, Inc. Programmable interface for field programmable gate array cores
US7333580B2 (en) 2002-01-28 2008-02-19 Broadcom Corporation Pipelined parallel processing of feedback loops in a digital circuit
US6925510B2 (en) 2002-02-22 2005-08-02 Winbond Electronics, Corp. Peripheral or memory device having a combined ISA bus and LPC bus
CN1647483A (zh) * 2002-04-17 2005-07-27 计算机联合思想公司 检测和反击企业网络中的恶意代码
US7146643B2 (en) * 2002-10-29 2006-12-05 Lockheed Martin Corporation Intrusion detection accelerator
US7349416B2 (en) 2002-11-26 2008-03-25 Cisco Technology, Inc. Apparatus and method for distributing buffer status information in a switching fabric
US7292572B2 (en) 2002-12-11 2007-11-06 Lsi Corporation Multi-level register bank based configurable ethernet frame parser
US7089352B2 (en) * 2002-12-23 2006-08-08 Micron Technology, Inc. CAM modified to be used for statistic calculation in network switches and routers
US6944710B2 (en) * 2002-12-30 2005-09-13 Micron Technology, Inc. Multiple category CAM
US6880146B2 (en) 2003-01-31 2005-04-12 Hewlett-Packard Development Company, L.P. Molecular-wire-based restorative multiplexer, and method for constructing a multiplexer based on a configurable, molecular-junction-nanowire crossbar
US7305047B1 (en) 2003-03-12 2007-12-04 Lattice Semiconductor Corporation Automatic lane assignment for a receiver
US7366352B2 (en) 2003-03-20 2008-04-29 International Business Machines Corporation Method and apparatus for performing fast closest match in pattern recognition
CA2526467C (en) 2003-05-20 2015-03-03 Kagutech Ltd. Digital backplane recursive feedback control
US7010639B2 (en) 2003-06-12 2006-03-07 Hewlett-Packard Development Company, L.P. Inter integrated circuit bus router for preventing communication to an unauthorized port
US6906938B2 (en) * 2003-08-15 2005-06-14 Micron Technology, Inc. CAM memory architecture and a method of forming and operating a device according to a CAM memory architecture
DE102004045527B4 (de) 2003-10-08 2009-12-03 Siemens Ag Konfigurierbare Logikschaltungsanordnung
US7849119B2 (en) 2003-12-29 2010-12-07 Xilinx, Inc. Digital signal processing circuit having a pattern detector circuit
US7860915B2 (en) 2003-12-29 2010-12-28 Xilinx, Inc. Digital signal processing circuit having a pattern circuit for determining termination conditions
US7487542B2 (en) * 2004-01-14 2009-02-03 International Business Machines Corporation Intrusion detection using a network processor and a parallel pattern detection engine
US7243165B2 (en) 2004-01-14 2007-07-10 International Business Machines Corporation Parallel pattern detection engine
GB0415850D0 (en) 2004-07-15 2004-08-18 Imagination Tech Ltd Memory management system
US7716455B2 (en) 2004-12-03 2010-05-11 Stmicroelectronics, Inc. Processor with automatic scheduling of operations
US7176717B2 (en) 2005-01-14 2007-02-13 Velogix, Inc. Programmable logic and routing blocks with dedicated lines
US7358761B1 (en) 2005-01-21 2008-04-15 Csitch Corporation Versatile multiplexer-structures in programmable logic using serial chaining and novel selection schemes
US7392229B2 (en) * 2005-02-12 2008-06-24 Curtis L. Harris General purpose set theoretic processor
US7499464B2 (en) 2005-04-06 2009-03-03 Robert Ayrapetian Buffered crossbar switch with a linear buffer to port relationship that supports cells and packets of variable size
US7672529B2 (en) 2005-05-10 2010-03-02 Intel Corporation Techniques to detect Gaussian noise
US7276934B1 (en) 2005-06-14 2007-10-02 Xilinx, Inc. Integrated circuit with programmable routing structure including diagonal interconnect lines
US7804719B1 (en) 2005-06-14 2010-09-28 Xilinx, Inc. Programmable logic block having reduced output delay during RAM write processes when programmed to function in RAM mode
US20080126690A1 (en) 2006-02-09 2008-05-29 Rajan Suresh N Memory module with memory stack
US7376782B2 (en) 2005-06-29 2008-05-20 Intel Corporation Index/data register pair for indirect register access
FR2891075B1 (fr) * 2005-09-21 2008-04-04 St Microelectronics Sa Circuit de memoire pour automate de reconnaissance de caracteres de type aho-corasick et procede de memorisation de donnees dans un tel circuit
US7613902B1 (en) * 2005-09-22 2009-11-03 Lockheed Martin Corporation Device and method for enabling efficient and flexible reconfigurable computing
US7360063B2 (en) 2006-03-02 2008-04-15 International Business Machines Corporation Method for SIMD-oriented management of register maps for map-based indirect register-file access
US7966379B2 (en) * 2006-05-05 2011-06-21 Standard Microsystems Corporation In-band event polling
US7512634B2 (en) * 2006-06-05 2009-03-31 Tarari, Inc. Systems and methods for processing regular expressions
US7725510B2 (en) 2006-08-01 2010-05-25 Alcatel-Lucent Usa Inc. Method and system for multi-character multi-pattern pattern matching
US8065249B1 (en) 2006-10-13 2011-11-22 Harris Curtis L GPSTP with enhanced aggregation functionality
US7774286B1 (en) 2006-10-24 2010-08-10 Harris Curtis L GPSTP with multiple thread functionality
US7890923B2 (en) 2006-12-01 2011-02-15 International Business Machines Corporation Configurable pattern detection method and apparatus
US8055601B2 (en) 2006-12-08 2011-11-08 Pandya Ashish A Compiler for compiling content search rules comprising a regular expression using a programmable intelligent search memory (PRISM) and vectors
KR100866604B1 (ko) 2007-01-23 2008-11-03 삼성전자주식회사 전원제어 장치 및 전원제어 방법
US7797521B2 (en) 2007-04-12 2010-09-14 International Business Machines Corporation Method, system, and computer program product for path-correlated indirect address predictions
KR20080097573A (ko) 2007-05-02 2008-11-06 삼성전자주식회사 가상 메모리 접근 방법
US7827168B2 (en) * 2007-05-30 2010-11-02 Red Hat, Inc. Index clustering for full text search engines
DE102007025397B4 (de) * 2007-05-31 2010-07-15 Advanced Micro Devices, Inc., Sunnyvale System mit mehreren Prozessoren und Verfahren zu seinem Betrieb
US20080320053A1 (en) 2007-06-21 2008-12-25 Michio Iijima Data management method for accessing data storage area based on characteristic of stored data
US20090198952A1 (en) 2008-02-04 2009-08-06 Apple Inc Memory Mapping Architecture
US7886089B2 (en) 2008-02-13 2011-02-08 International Business Machines Corporation Method, system and computer program product for enhanced shared store buffer management scheme for differing buffer sizes with limited resources for optimized performance
JPWO2009104324A1 (ja) 2008-02-22 2011-06-16 日本電気株式会社 能動計量学習装置、能動計量学習方法およびプログラム
US7735045B1 (en) 2008-03-12 2010-06-08 Xilinx, Inc. Method and apparatus for mapping flip-flop logic onto shift register logic
US8365172B2 (en) * 2008-05-07 2013-01-29 International Business Machines Corporation Horizontal scaling of stream processing
US8015530B1 (en) 2008-08-05 2011-09-06 Xilinx, Inc. Method of enabling the generation of reset signals in an integrated circuit
US8209521B2 (en) 2008-10-18 2012-06-26 Micron Technology, Inc. Methods of indirect register access including automatic modification of a directly accessible address register
US8938590B2 (en) 2008-10-18 2015-01-20 Micron Technology, Inc. Indirect register access method and system
US7970964B2 (en) 2008-11-05 2011-06-28 Micron Technology, Inc. Methods and systems to accomplish variable width data input
US7917684B2 (en) 2008-11-05 2011-03-29 Micron Technology, Inc. Bus translator
US9639493B2 (en) 2008-11-05 2017-05-02 Micron Technology, Inc. Pattern-recognition processor with results buffer
US8402188B2 (en) 2008-11-10 2013-03-19 Micron Technology, Inc. Methods and systems for devices with a self-selecting bus decoder
US20100118425A1 (en) 2008-11-11 2010-05-13 Menachem Rafaelof Disturbance rejection in a servo control loop using pressure-based disc mode sensor
US20100138575A1 (en) 2008-12-01 2010-06-03 Micron Technology, Inc. Devices, systems, and methods to synchronize simultaneous dma parallel processing of a single data stream by multiple devices
US9164945B2 (en) 2008-12-01 2015-10-20 Micron Technology, Inc. Devices, systems, and methods to synchronize parallel processing of a single data stream
US9348784B2 (en) 2008-12-01 2016-05-24 Micron Technology, Inc. Systems and methods for managing endian mode of a device
US10007486B2 (en) 2008-12-01 2018-06-26 Micron Technology, Inc. Systems and methods to enable identification of different data sets
DE102008060719B4 (de) 2008-12-05 2018-09-20 Siemens Healthcare Gmbh Verfahren zur Steuerung des Aufnahmebetriebs einer Magnetresonanzeinrichtung bei der Aufnahme von Magnetresonanzdaten eines Patienten sowie zugehörige Magnetresonanzeinrichtung
US8140780B2 (en) 2008-12-31 2012-03-20 Micron Technology, Inc. Systems, methods, and devices for configuring a device
US8281395B2 (en) 2009-01-07 2012-10-02 Micron Technology, Inc. Pattern-recognition processor with matching-data reporting module
US8214672B2 (en) 2009-01-07 2012-07-03 Micron Technology, Inc. Method and systems for power consumption management of a pattern-recognition processor
US20100174887A1 (en) 2009-01-07 2010-07-08 Micron Technology Inc. Buses for Pattern-Recognition Processors
US8843523B2 (en) 2009-01-12 2014-09-23 Micron Technology, Inc. Devices, systems, and methods for communicating pattern matching results of a parallel pattern search engine
US8146040B1 (en) 2009-06-11 2012-03-27 Xilinx, Inc. Method of evaluating an architecture for an integrated circuit device
US20100325352A1 (en) 2009-06-19 2010-12-23 Ocz Technology Group, Inc. Hierarchically structured mass storage device and method
US9836555B2 (en) 2009-06-26 2017-12-05 Micron Technology, Inc. Methods and devices for saving and/or restoring a state of a pattern-recognition processor
US8159900B2 (en) 2009-08-06 2012-04-17 Unisyn Medical Technologies, Inc. Acoustic system quality assurance and testing
US8489534B2 (en) 2009-12-15 2013-07-16 Paul D. Dlugosch Adaptive content inspection
US9323994B2 (en) 2009-12-15 2016-04-26 Micron Technology, Inc. Multi-level hierarchical routing matrices for pattern-recognition processors
US9501705B2 (en) 2009-12-15 2016-11-22 Micron Technology, Inc. Methods and apparatuses for reducing power consumption in a pattern recognition processor
US20110161620A1 (en) 2009-12-29 2011-06-30 Advanced Micro Devices, Inc. Systems and methods implementing shared page tables for sharing memory resources managed by a main operating system with accelerator devices
US20110208900A1 (en) 2010-02-23 2011-08-25 Ocz Technology Group, Inc. Methods and systems utilizing nonvolatile memory in a computer system main memory
GB2478727B (en) 2010-03-15 2013-07-17 Advanced Risc Mach Ltd Translation table control
US8766666B2 (en) 2010-06-10 2014-07-01 Micron Technology, Inc. Programmable device, hierarchical parallel machines, and methods for providing state information
US8601013B2 (en) 2010-06-10 2013-12-03 Micron Technology, Inc. Analyzing data using a hierarchical structure
US9195623B2 (en) 2010-06-23 2015-11-24 International Business Machines Corporation Multiple address spaces per adapter with address translation
US8294490B1 (en) 2010-10-01 2012-10-23 Xilinx, Inc. Integrated circuit and method of asynchronously routing data in an integrated circuit
JP5857072B2 (ja) 2011-01-25 2016-02-10 マイクロン テクノロジー, インク. オートマトンの入次数および/または出次数を制御するための量化子の展開
US8788991B2 (en) 2011-01-25 2014-07-22 Micron Technology, Inc. State grouping for element utilization
KR101640295B1 (ko) 2011-01-25 2016-07-15 마이크론 테크놀로지, 인크. 정규 표현을 컴파일하기 위한 방법 및 장치
US8843911B2 (en) 2011-01-25 2014-09-23 Micron Technology, Inc. Utilizing special purpose elements to implement a FSM
US9443156B2 (en) 2011-12-15 2016-09-13 Micron Technology, Inc. Methods and systems for data analysis in a state machine
US8593175B2 (en) 2011-12-15 2013-11-26 Micron Technology, Inc. Boolean logic in a state machine lattice
US8782624B2 (en) 2011-12-15 2014-07-15 Micron Technology, Inc. Methods and systems for detection in a state machine
US8680888B2 (en) 2011-12-15 2014-03-25 Micron Technologies, Inc. Methods and systems for routing in a state machine
US8648621B2 (en) 2011-12-15 2014-02-11 Micron Technology, Inc. Counter operation in a state machine lattice
US20130275709A1 (en) 2012-04-12 2013-10-17 Micron Technology, Inc. Methods for reading data from a storage buffer including delaying activation of a column select
US8536896B1 (en) 2012-05-31 2013-09-17 Xilinx, Inc. Programmable interconnect element and method of implementing a programmable interconnect element
US9235798B2 (en) 2012-07-18 2016-01-12 Micron Technology, Inc. Methods and systems for handling data received by a state machine engine
US9304968B2 (en) 2012-07-18 2016-04-05 Micron Technology, Inc. Methods and devices for programming a state machine engine
US9524248B2 (en) 2012-07-18 2016-12-20 Micron Technology, Inc. Memory management for a hierarchical memory system
US9075428B2 (en) 2012-08-31 2015-07-07 Micron Technology, Inc. Results generation for state machine engines
US9063532B2 (en) 2012-08-31 2015-06-23 Micron Technology, Inc. Instruction insertion in state machine engines
US9501131B2 (en) 2012-08-31 2016-11-22 Micron Technology, Inc. Methods and systems for power management in a pattern recognition processing system
KR102029055B1 (ko) 2013-02-08 2019-10-07 삼성전자주식회사 고차원 데이터의 시각화 방법 및 장치
US9448965B2 (en) 2013-03-15 2016-09-20 Micron Technology, Inc. Receiving data streams in parallel and providing a first portion of data to a first state machine engine and a second portion to a second state machine

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4876643A (en) * 1987-06-24 1989-10-24 Kabushiki Kaisha Toshiba Parallel searching system having a master processor for controlling plural slave processors for independently processing respective search requests
US5590284A (en) * 1992-03-24 1996-12-31 Universities Research Association, Inc. Parallel processing data network of master and slave transputers controlled by a serial control network
TWI243324B (en) * 2002-06-21 2005-11-11 Macronix Int Co Ltd Method and system for pattern recognition of an endpoint curve for a process and computer readable medium including instructions for performing the method
TW200422860A (en) * 2002-12-10 2004-11-01 Ibm Apparatus and methods for co-location and offloading of web site traffic based on traffic pattern recognition

Also Published As

Publication number Publication date
US20170011094A1 (en) 2017-01-12
US20190095496A1 (en) 2019-03-28
US20190354530A1 (en) 2019-11-21
US20100138575A1 (en) 2010-06-03
WO2010065292A1 (en) 2010-06-10
US10162862B2 (en) 2018-12-25
US10417236B2 (en) 2019-09-17
TW201027350A (en) 2010-07-16
US10838966B2 (en) 2020-11-17

Similar Documents

Publication Publication Date Title
TWI416332B (zh) 藉由多個裝置同步化單一資料串流之同時直接記憶體存取平行處理之裝置、系統及方法
TWI488108B (zh) 用以同步一單一資料串流之平行處理的裝置、系統及方法
US11782859B2 (en) Methods and systems for devices with self-selecting bus decoder
US10817569B2 (en) Methods and devices for saving and/or restoring a state of a pattern-recognition processor
US10466966B2 (en) Systems and methods to enable identification of different data sets
TWI414998B (zh) 型樣辨識處理器之電力消耗管理之方法及系統
US9026485B2 (en) Pattern-recognition processor with matching-data reporting module
EP2350921B1 (en) Pattern-recognition processor with results buffer
TWI489300B (zh) 用於傳達平行型樣搜尋引擎之型樣匹配結果之裝置、系統及方法
TWI465945B (zh) 用於型樣辨識處理器中降低電力消耗之方法及裝置
TWI409695B (zh) 用於配置裝置之系統、方法及裝置