[go: up one dir, main page]

TWI590059B - 用於型樣辨識處理器之匯流排 - Google Patents

用於型樣辨識處理器之匯流排 Download PDF

Info

Publication number
TWI590059B
TWI590059B TW098145589A TW98145589A TWI590059B TW I590059 B TWI590059 B TW I590059B TW 098145589 A TW098145589 A TW 098145589A TW 98145589 A TW98145589 A TW 98145589A TW I590059 B TWI590059 B TW I590059B
Authority
TW
Taiwan
Prior art keywords
pattern recognition
bus
signal
pattern
memory
Prior art date
Application number
TW098145589A
Other languages
English (en)
Other versions
TW201044173A (en
Inventor
J Thomas Pawlowski
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 TW201044173A publication Critical patent/TW201044173A/zh
Application granted granted Critical
Publication of TWI590059B publication Critical patent/TWI590059B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding
    • G06V10/955Hardware or software architectures specially adapted for image or video understanding using specific electronic processors
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/40Bus structure
    • G06F13/4004Coupling between buses
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/02Comparing digital values
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/02Indexing scheme relating to groups G06F7/02 - G06F7/026
    • G06F2207/025String search, i.e. pattern matching, e.g. find identical word or best match in a string
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2218/00Aspects of pattern recognition specially adapted for signal processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Computational Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Bus Control (AREA)
  • Character Discrimination (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Description

用於型樣辨識處理器之匯流排
本發明之實施例一般而言係關於電子裝置,且更具體來說在某些實施例中係關於用於型樣辨識處理器之匯流排。
在計算領域中,型樣辨識任務越來越具有挑戰性。電腦之間傳輸之資料量不斷增大,且使用者希望辨識之型樣數目日益增加。舉例而言,垃圾郵件或惡意軟體通常係藉由搜尋一資料串流中之型樣(例如,特定片語或程式碼片段)來偵測。因可實施新型樣以搜尋新變體,型樣之數目隨著垃圾郵件及惡意軟體之變化而增加。針對此等型樣中之每一者搜尋一資料串流可形成一計算瓶頸。通常,在接收資料串流時,針對每一型樣一次一個地搜尋資料串流。在系統準備搜尋資料串流之下一部分之前的延遲隨著型樣數目而增加。因此,型樣辨識可使資料之接收減慢。
可藉由特定針對型樣辨識設計之硬體(例如,晶片)針對大量型樣快速搜尋資料串流。然而,此硬體之實施因缺少專用型樣辨識硬體與中央處理單元(CPU)之間的一廣泛接受之通訊協定而係複雜的。系統之設計者具有學習新通訊協定之一有限能力。通曉一個通訊協定甚至可花費電腦設計領域中之數月或數年的工作。使用一新協定與型樣辨識硬體通訊可添加實施彼硬體之成本。
圖1繪示搜尋一資料串流12之一系統10之一實例。系統 10可包含一型樣辨識處理器14,其根據搜尋準則16搜尋資料串流12。
每一搜尋準則可規定一個或多個目標表示(亦即,型樣)。片語「目標表示(target expression)」係指型樣辨識處理器14正在搜尋之一資料序列。目標表示之實例包含拼寫某一字之一字元序列、規定一基因之一遺傳鹼基對序列、一圖像或視訊檔案中形成一影像之一部分之一位元序列、一可執行檔案中形成一程式之一部分之一位元序列或一音訊檔案中形成一歌曲或一口語片語之一部分之一位元序列。
一搜尋準則可規定多於一個之目標表示。舉例而言,一搜尋準則可規定以字母序列「cl」開始之所有五個字母之字、以字母序列「cl」開始之任一字、包含字「cloud」多於三次之一段落等。目標表示之可能組之數目係任意大,例如,可存在與資料串流可呈現之資料排列同樣多之目標表示。搜尋準則可以各種格式來表達,包含正規表示、簡明地規定目標表示組而不必列舉每一目標表示之一程式化語言。
每一搜尋準則可由一個或多個搜尋項構成。因此,一搜尋準則之每一目標表示可包含一個或多個搜尋項且某一目標表示可使用共同搜尋項。如本文中所使用,片語「搜尋項(search term)」係指在一單個搜尋循環期間搜尋之一資料序列。該資料序列可包含二進位格式或其他格式(例如,十進位、ASCII等)之多個資料位元。該序列可對具有 一單個數位或多個數位(例如,數個二進位數位)之資料進行編碼。舉例而言,型樣辨識處理器14可一次一個字元地搜尋一文字資料串流12,且搜尋項可規定一組單字元,例如,字母「a」,字母「a」或「e」,或規定一組所有單字元之一萬用字元搜尋項。
搜尋項可小於或大於規定一字元(或由資料串流表達之資訊之其他字形-亦即,基本單位,例如,一音符、一遺傳鹼基對、一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可控制型樣辨識處理器14及系統10之其他部分。
系統10可係搜尋一資料串流之各種系統或裝置中之任一者。舉例而言,系統10可係監視資料串流12之一桌上型電腦、膝上型電腦、手持式電腦或其他類型之電腦。系統10亦可係一網路節點,例如,一路由器、一伺服器或一用戶端(例如,先前所闡述類型之電腦中之一者)。系統10可係某一其他類別之電子裝置,例如,一影印機、一掃描器、一印表機、一遊戲控制臺、一電視機、一機上視訊散佈或記錄系統、一電纜盒、一個人數位媒體播放器、一工廠自動化系統、一汽車電腦系統或一醫療裝置。(用於闡述系統之此等各種實例之術語(像本文中所使用之諸多其他術語)可共享某些所指物,且因此不應僅根據所列舉之其他項來理解)。
資料串流12可係一使用者或其他實體可希望搜尋之各種類型之資料串流中之一者或多者。舉例而言,資料串流12可係經由一網路接收之一資料串流,例如,經由網際網路接收之封包或經由一蜂巢式網路接收之語音或資料。資料串流12可係自與系統10通訊之一感測器(例如,一成像感測器、一溫度感測器、一加速度計或類似物或其組合)接收之資料。資料串流12可作為一串列資料串流由系統10接收,其中以具有意義之一次序(例如,以一時間、詞法或語義顯著的次序)接收資料。或者,可並行或無序地接收資料串流12,且然後(例如)藉由對經由網際網路接收之封包重新排序將其轉換成一串列資料串流。在某些實施例中,資料串流12可以串列方式呈現項,但可並行地接收表達該等項中之每一者之位元。可自系統10外部之一源接收資料串流12,或可藉由詢問一記憶體裝置且由所儲存之資料形成資料串流12來形成資料串流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)形式)。邏輯總和矩陣48之輸出可由初始化路由矩陣50接收。
初始化路由矩陣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之結果,此並非暗示亦不可省略本文中所闡述之任一其他特徵。舉例而言,可在輸出匯流排26上並行傳輸來自臨限邏輯矩陣44、邏輯乘積矩陣46、邏輯總和矩陣48或初始化路由矩陣50之信號至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亦可包含非揮發性記憶體,例如,相變記憶體(例如,一雙向裝置)、快閃記憶體、矽-氧化物-氮化物-氧化物-矽(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以八位元ASCII程式碼之形式呈現,且列解碼器28可將此位元組解譯為一列位址,從而藉由啟用導體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可經組態以將指示該偵測胞是否係作用中的及是否已自其相關聯搜尋項胞54接收到指示一匹配之一信號兩者之一信號輸出至啟動路由矩陣36。非作用中特徵胞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寫入至其偵測胞68中之其記憶體胞70來啟動該下一特徵胞64。在下一項滿足第一搜尋項之情況下(例如,若接收到項序列「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所圖解說明。在評估下一項之前,可去啟動(deactivate)特徵胞64。舉例而言,特徵胞64可藉由其偵測胞68在偵測循環之間重設其記憶體胞70而被去啟動或啟動路由矩陣36可去啟 動(deactivate)特徵胞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。對第一字尾90之搜尋可在允許特徵胞66變成非作用中時停止。圖10至圖12所圖解說明之步驟可繼續經過字母「u」及「d」,或搜尋可停止直至下一次字首88得到匹配為止。
圖13圖解說明具有一型樣辨識匯流排96及一記憶體匯流排98之一系統94之一實施例。型樣辨識匯流排96及記憶體匯流排98可彼此類似或相同。使用類似匯流排可允許設計者在實施型樣辨識匯流排96時利用其對記憶體匯流排98之知識,由此促進在系統94中實施型樣辨識處理器14。若相同匯流排用於記憶體匯流排98與型樣辨識匯流排96,則此兩個裝置可存在於一單個匯流排上,從而防止系統94中對額外信號之需要。在詳細闡述型樣辨識匯流排96之前,闡述系統94之其他態樣。
系統94可包含CPU 20、記憶體100、一記憶體匯流排控制器102及一型樣辨識匯流排控制器104。記憶體匯流排控制器102可藉由記憶體匯流排98連接至記憶體100且藉由一位址與控制匯流排106及一資料匯流排108兩者連接至CPU 20。型樣辨識匯流排控制器104可藉由型樣辨識匯流排96連接至型樣辨識處理器14且藉由一位址與控制匯流排110及一資料匯流排112連接至CPU 20。型樣辨識匯流排控制器104可係耦合至CPU 20之一單獨組件(例如,一晶片),或其可整合至與CPU 20相同之組件中,例如,作為一單晶片或多晶片模組。類似地,記憶體匯流排控制器102可係一單獨組件,或其可整合到與CPU 20相同之組件中。型樣辨識匯流排控制器104與記憶體匯流排控制器102兩者可整體地形成為同一組件,或其可係單獨組件。某些實施例可不包含記憶體100或記憶體匯流排控制器102,此並非暗示亦不可省略本文中所闡述之任一其他特徵。
記憶體100可包含各種不同類型之記憶體(例如,動態隨機存取記憶體(DRAM)),或各種類型之非揮發性記憶體(例如,快閃、相變記憶體),或一硬磁碟驅動器。記憶體匯流排控制器102可經組態以經由各種不同通訊協定中之一者與記憶體100通訊,該等不同通訊協定例如雙資料速率同步Dram(雙資料速率(DDR)協定、DDR2協定、DDR3協定、DDR4協定)之匯流排修訂版中之任一者、同步DRAM(SDRAM)協定、串行十億位元媒體獨立介面(SGMII)協定、內部整合電路(I2C)協定、串行周邊介面(SPI)協定、並行匯流排介面(PBI)協定、安全數位介面(SDI)協定、個人電腦記憶體卡協會(PCMCIA)協定、管理資料時鐘/管理資料輸入/輸出(MDC/MDIO)協定、周邊組件互連(PCI)協定、PCI高速協定或其他通訊協定。儘管在本文中將詳細闡述使用DDR協定之實施,但該等通訊協定中之任一協定或所有協定提供達成必要通訊以通訊位址、控制、資料及狀態資訊之能力。如本文中所提及,資料可包含(但不限於):1)儲存於型樣辨識處理器中界定所追求型樣辨識功能之所有態樣之資訊;2)習用資料,例如儲存於記憶體裝置中之資料;及3)發送至型樣辨識處理器之資料串流,自該型樣辨識處理器追求型樣匹配結果。在某些通訊協定中,僅存在一個實體資料匯流排,因此在該通訊協定內所提供之槽中提供位址、控制、資料及狀態資訊。
型樣辨識匯流排控制器104可經組態以經由與記憶體匯流排控制器102所使用之通訊協定類似或相同之一通訊協定與型樣辨識處理器14通訊。舉例而言,型樣辨識匯流排96可包含與記憶體匯流排98約相同數目或完全相同數目之連接。型樣辨識匯流排控制器96可使用具有與記憶體匯流排控制器102類似或相同之計時之一通訊協定。舉例而言,型樣辨識匯流排控制器104可回應於與記憶體匯流排控制器102相同之時鐘信號進行操作,或型樣辨識匯流排控制器104可在一時鐘信號之與記憶體匯流排控制器102相同之若干部分期間傳輸及接收資料,例如,在該時鐘信號之上升沿及下降沿期間。型樣辨識匯流排96之實體尺寸可與記憶體匯流排98之實體尺寸大體類似或相同。舉例而言,連接至型樣辨識處理器14及記憶體100之接針連接器或連接墊之間的間距可大體類似或相同。
另外,使記憶體100與型樣辨識處理器14在同一匯流排上可提供優點,例如:消除自一個匯流排向另一匯流排傳遞資料所固有之延遲,例如,在一PCIx匯流排上具有DDR3主記憶體100與一型樣辨識處理器14之一電腦系統中,在型樣辨識處理器14與主記憶體100之間進行通訊可存在顯著延遲;直接記憶體存取(DMA)更快且更容易地在同一匯流排上實施且可由一單個共同型樣辨識處理器14及/或記憶體控制器執行;在一單個匯流排之情況下,射頻干擾(RFI)問題得到簡化;靜電放電(ESD)問題得到簡化且將較小;以一單個匯流排生產印刷電路總成(PCA)較不昂貴(例如,PCB大小較小、消除一額外控制器及額外匯流排之被動組件,組件插入時間減少、電源大小減小、品質提高等);及電力使用減小(例如,由於消除額外時鐘及同步電路)。
圖14圖解說明型樣辨識匯流排96之一實施例及該實施例可如何與記憶體匯流排98之一實施例相關兩者。在此實例中,記憶體匯流排98可係一DDR3匯流排,且型樣辨識匯流排96可與記憶體匯流排98分享某些特徵。所圖解說明之記憶體匯流排96包含與記憶體匯流排98相同數目之連接,其中添加了下文進一步闡述之一輸出中斷信號114。其他實施例可包含與記憶體匯流排98相同數目之連接、與記憶體匯流排98不同數目之連接、在加或減1、2、4、6或8個連接之範圍內連接數目相同,或以不同線速度及協定操作,但功能保持相同。位址、控制信號、資料及狀態資訊映射至任一所挑選型式之匯流排之現有匯流排協定中。此外,型樣辨識匯流排96之此等實施例可包含一標準記憶體匯流排(例如,若記憶體匯流排98係一DDR3匯流排)之一密切衍生物,其消除型樣辨識處理器14不使用之信號。實施例亦可係一型樣辨識匯流排96係一標準記憶體匯流排之一「超集」之情形,以使得型樣辨識匯流排96包含一標準記憶體匯流排之所有信號且添加型樣辨識處理器14所使用之信號。其他實施例可包含一標準記憶體匯流排之密切衍生物之信號與一標準記憶體匯流排之「超集合」之信號之任一組合。
型樣辨識匯流排96上之某些信號可連接至同一接針且伺服與記憶體匯流排98中之對應信號相同之功能。舉例而言,時鐘信號116、時鐘啟用信號118、重設信號120、資料選通(strobe)信號121及資料遮罩信號122可在兩個匯流排96及98上具有相同功能及相對於匯流排96及98之若干其他部分之相同位置。其他實施例可包含額外類似信號或更少類似信號。舉例而言,某些較舊之匯流排協定可不支援重設之信號,但可將任一此種功能作為一延伸添加至一現有協定。
型樣辨識匯流排96上之某些信號可自其在記憶體匯流排98上之功能重新解譯。舉例而言,行選擇信號124可由型樣辨識處理器14解譯為一匯流排啟用信號。列位址選通信號126、行位址選通信號128、寫入啟用信號130及叢發截波信號(burst chop signal)132可由型樣辨識處理器14解譯為型樣辨識匯流排96上之命令解碼信號134。
型樣辨識匯流排96上之某些信號可伺服與記憶體匯流排96上之功能相同之功能或相依於型樣辨識處理器14之一操作模式提供不同功能。舉例而言,位址信號與區塊位址信號136可在型樣辨識處理器14處於一第一操作模式中時傳送位址資料,可在型樣辨識處理器14處於一第二操作模式中時傳送命令解碼信號,且在型樣辨識處理器14處於一第三操作模式中時傳送暫存器選擇信號。
在另一實例中,記憶體匯流排96上之資料信號138在不同操作模式中可以不同方式解譯。當處於一第四操作模式(例如,一組態模式)中時,資料信號138可由型樣辨識處理器14解譯為輸入搜尋準則。該搜尋準則可包含特徵胞30(圖2)之定值(例如,記憶體胞58(圖3)中所儲存之值、記憶體胞70(圖6)中所儲存之值)及啟動路由矩陣(圖10)之定值。該搜尋準則亦可包含彙總路由矩陣42(圖2)、臨限邏輯矩陣44、邏輯乘積矩陣46、邏輯總和矩陣48及初始化路由矩陣50之定值。型樣辨識處理器14亦可具有一第五操作模式,例如,一搜尋報告模式,其中其可經由資料信號138輸出搜尋結果。在一第六操作模式(例如,一搜尋模式)中,型樣辨識處理器14可將資料信號138解譯為輸入資料串流12(圖2)。
輸出中斷信號114可由型樣辨識處理器14回應於資料串流12(圖1)滿足一搜尋準則而選擇。CPU 20(圖13)可回應於藉由引導型樣辨識處理器14進入搜尋報告模式而選擇之輸出中斷信號114。一旦處於此模式中,型樣辨識處理器14可經由資料信號138輸出搜尋結果。搜尋結果可包含指示哪一搜尋準則得到滿足及來自該資料串流之哪些資料滿足該準則之資料。在該等搜尋結果由CPU 20接收之後,CPU 20可引導型樣辨識處理器14重新進入該搜尋模式,且CPU 20可經由資料線138將資料串流12(圖1)傳輸至型樣辨識處理器14。
其他實施例可不包含輸出中斷信號114。CPU 20可確定型樣辨識處理器14是否已藉由週期性地輪詢型樣辨識處理器14而偵測到一匹配,以確定型樣辨識處理器14是否已偵測到一得到滿足之準則。舉例而言,可將指示一匹配之資料儲存於型樣辨識處理器14中之一暫存器中,且CPU 20可讀取彼暫存器所儲存之值,以確定是否已偵測到一匹配。
圖15圖解說明經由一匯流排之一單個部分傳輸多種類型之信號之一處理程序140之一實施例。信號類型之實例包含控制信號、位址信號、輸入資料信號、輸出資料信號、搜尋準則信號及時鐘信號。處理程序140可以在一型樣辨識匯流排之一部分上將一第一類型之信號傳輸至一型樣辨識處理器(如方塊142所圖解說明)而開始。在某些實施例中,該第一類型之信號可係位址信號、命令解碼信號、暫存器選擇信號、輸入搜尋準則信號、輸出搜尋準則信號或一輸入資料串流。
接下來,可改變該型樣辨識處理器之一模式,如方塊144所圖解說明。可回應於一準則之滿足或其他事件而藉由某一其他組件(例如,CPU 20(圖13))所發送之一信號或藉由型樣辨識處理器14(圖13)來改變該模式。可藉由改變型樣辨識處理器14中之一暫存器中所儲存之一值來改變該型樣辨識處理器之模式。
接下來,可在該型樣辨識匯流排之該部分上傳輸一第二類型之信號,如方塊146所圖解說明。傳輸該第二類型之信號可包含傳輸上文所闡述類型之信號中不同於第一類型之信號的一者。傳輸之方向可與方塊142所闡述之傳輸之方向相同,或該方向可不同。舉例而言,可在方塊142所闡述之傳輸期間將一輸入資料串流傳輸至型樣辨識處理器14(圖14),且可在該匯流排之相同部分(例如,資料信號138)上自型樣辨識處理器14傳輸輸出搜尋結果。
據信,在不同操作模式期間在同一匯流排部分上傳輸不同信號類型相對於針對每一信號類型具有單獨信號路徑之匯流排減小型樣辨識匯流排96上信號路徑之數目。據信,分享信號路徑允許使型樣辨識匯流排96更類似於上文所闡述之記憶體匯流排98,據信此簡化型樣辨識處理器之實施。
雖然本發明可容許有各種修改及替代形式,但具體實施例已以實例方式顯示於圖式中並已詳細闡述於本文中。然而,應理解,本發明並非意欲限定於所揭示之特定形式。相反,本發明將涵蓋歸屬於如以下隨附申請專利範圍所界定之本發明之精神及範疇內之所有修改形式、等效形式及替代形式。
10...系統
12...資料串流
14...型樣辨識處理器
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‧‧‧重設信號
121‧‧‧資料選通信號
122‧‧‧資料遮罩信號
124‧‧‧行選擇信號
126‧‧‧列位址選通信號
128‧‧‧行位址選通信號
130‧‧‧寫入啟用信號
132‧‧‧叢發截波信號
136...位址信號與區塊位址信號
138...資料信號
圖1繪示搜尋一資料串流之系統之一實例;
圖2繪示圖1之系統中之一型樣辨識處理器之一實例;
圖3繪示圖2之型樣辨識處理器中之一搜尋項胞之一實例;圖4及圖5繪示針對一單個字元搜尋資料串流之圖3搜尋項胞;
圖6至圖8繪示包含針對一字搜尋資料串流之數個搜尋項胞之一辨識模組;
圖9繪示經組態以針對兩個字並行搜尋資料串流之辨識模組;
圖10至圖12繪示根據規定具有相同字首之多個字之一搜尋準則進行搜尋之辨識模組;
圖13圖解說明根據本技術之一實施例之具有類似或相同之一型樣辨識匯流排與一記憶體匯流排之一系統的一實施例;
圖14圖解說明根據本技術之一實施例之圖13型樣辨識匯流排之一實施例;及
圖15圖解說明根據本技術之一實施例之用於經由一匯流排之一部分發送多種類型之信號之一處理程序的一實施例。
14...型樣辨識處理器
20...中央處理單元(CPU)
94...系統
96...型樣辨識匯流排
98...記憶體匯流排
100...記憶體
102...記憶體匯流排控制器
104...型樣辨識匯流排控制器
106...位址與控制匯流排
108...資料匯流排
110...位址與控制匯流排
112...資料匯流排

Claims (44)

  1. 一種用於型樣辨識之系統,其包括:一型樣辨識處理器;一處理單元(PU),其經由一型樣辨識匯流排耦合至該型樣辨識處理器;及記憶體,其經由一記憶體匯流排耦合至該PU,其中該型樣辨識匯流排與該記憶體匯流排分別形成至該型樣辨識處理器及該記憶體之相同數目之連接,且其中該型樣辨識匯流排之一部分與該記憶體匯流排之一對應部分相比伺服至少一個不同功能。
  2. 如請求項1之系統,其中該型樣辨識匯流排比該記憶體匯流排形成至少一個多出的連接。
  3. 如請求項2之系統,其中該一個多出的連接係一輸出中斷信號。
  4. 如請求項1之系統,其中該型樣辨識匯流排及該記憶體匯流排上之複數個對應連接中之每一者伺服兩個匯流排上的一相同各別功能。
  5. 如請求項4之系統,其中伺服兩個匯流排上的該相同功能之該複數個對應連接包含一晶片啟用信號及一時鐘信號。
  6. 如請求項4之系統,其中伺服兩個匯流排上的該相同功能之該複數個對應連接包含一資料選通(strobe)信號及一資料遮罩信號。
  7. 如請求項1之系統,其中該記憶體匯流排係一雙資料速 率2記憶體匯流排。
  8. 如請求項1之系統,其中該至少一個不同功能基於該型樣辨識處理器之一操作模式變動。
  9. 如請求項8之系統,其中該至少一個不同功能包含位址、命令及暫存器選擇。
  10. 如請求項8之系統,其中該至少一個不同功能包含搜尋準則、輸出搜尋結果及輸入資料。
  11. 如請求項1之系統,其中該型樣辨識處理器及PU係單獨組件。
  12. 如請求項1之系統,其中該型樣辨識處理器整合至與該PU相同之組件中。
  13. 如請求項10之系統,其中該等輸出搜尋結果包括:一個或多個搜尋準則中之哪一者得到滿足;及來自該輸入資料之哪些資料滿足該一個或多個搜尋準則。
  14. 一種用於型樣辨識之方法,其包括:在一型樣辨識匯流排之一部分上將一第一類型之信號傳輸至一型樣辨識處理器;改變該型樣辨識處理器之一模式;及在該型樣辨識匯流排之該部分上傳輸一第二類型之信號以減少在該型樣辨識匯流排上之多個信號路徑之一數目。
  15. 如請求項14之方法,其中傳輸該第一類型之信號包括傳輸一位址。
  16. 如請求項15之方法,其中傳輸該第二類型之信號包括傳 輸一命令信號或一暫存器選擇信號。
  17. 如請求項14之方法,其中傳輸該第一類型之信號包括傳輸一搜尋準則信號,且其中改變該型樣辨識處理器之該模式包括自一組態模式改變該型樣辨識處理器之該模式。
  18. 如請求項17之方法,其中傳輸該第二類型之信號包括傳輸欲由該型樣辨識處理器搜尋之一資料串流,且其中改變該型樣辨識處理器之該模式包括將該型樣辨識處理器之該模式改變為一搜尋模式。
  19. 如請求項14之方法,其中傳輸該第一類型之信號包括:傳輸欲由該型樣辨識處理器搜尋之一資料串流。
  20. 如請求項19之方法,其中改變該型樣辨識處理器之該模式包括:將該型樣辨識處理器之該模式改變為一搜尋報告模式。
  21. 如請求項20之方法,其中傳輸該第二類型之信號包括:自該型樣辨識處理器傳輸一搜尋結果信號。
  22. 如請求項20之方法,其中將該型樣辨識處理器之該模式改變為一搜尋報告模式包括:偵測一正在搜尋之資料串流已滿足一搜尋準則;將一輸出中斷信號傳輸至一PU;及自該PU接收進入該搜尋報告模式之一命令。
  23. 如請求項20之方法,其中將該型樣辨識處理器之該模式改變為一搜尋報告模式包括:偵測一正在搜尋之資料串流已滿足一搜尋準則; 儲存指示該搜尋準則是否已得到滿足之一值;將指示該值之一信號傳輸至一PU;及自該PU接收進入該搜尋報告模式之一命令。
  24. 如請求項14之方法,其包括回應於一事件改變該型樣辨識處理器之該模式。
  25. 如請求項24之方法,其中該事件包括一搜尋準則之滿足。
  26. 一種用於型樣辨識之系統,其包括:一型樣辨識處理器,其經組態以按照與在經由一記憶體匯流排自一中央處理單元(CPU)接收到一第一部分信號時由一記憶體解譯之不同方式來解譯經由一型樣辨識匯流排自該CPU接收之該第一部分信號,其中該記憶體匯流排與該型樣辨識匯流排分開。
  27. 如請求項26之系統,其中該型樣辨識處理器經組態以:按照與在經由該記憶體匯流排接收到一第二部分信號時由該記憶體解譯之相同方式來解譯經由該型樣辨識匯流排接收之該第二部分信號。
  28. 如請求項26之系統,其中該型樣辨識處理器經組態以:相依於該型樣辨識處理器之一模式按照與在經由該記憶體匯流排接收到一第三部分信號時由該記憶體解譯之相同方式;及按照與在經由該記憶體匯流排接收到該第三部分信號時由該記憶體解譯之不同方式兩者來解譯經由該型樣辨識匯流排接收之該第三部分信號。
  29. 如請求項26之系統,其包括該CPU,該CPU經由該型樣 辨識匯流排耦合至該型樣辨識處理器。
  30. 如請求項29之系統,其包括一型樣辨識匯流排控制器,該型樣辨識匯流排控制器經由一控制匯流排及一資料匯流排耦合至該CPU且經由該型樣辨識匯流排耦合至該型樣辨識處理器。
  31. 如請求項30之系統,其包括一記憶體匯流排控制器,該記憶體匯流排控制器經由該記憶體匯流排耦合至該記憶體。
  32. 如請求項29之系統,其中該型樣辨識處理器及該CPU係單獨組件。
  33. 如請求項29之系統,其中該型樣辨識處理器與該CPU整合為一單個組件。
  34. 如請求項31之系統,其中該記憶體匯流排控制器及該型樣辨識匯流排控制器係單獨組件。
  35. 如請求項31之系統,其中該記憶體匯流排控制器與該型樣辨識匯流排控制器整合為一單個組件。
  36. 如請求項31之系統,其中該型樣辨識匯流排控制器經組態以經由至少類似於該記憶體匯流排控制器所使用之通訊協定之一通訊協定與該型樣辨識處理器通訊。
  37. 如請求項26之系統,其中該型樣辨識匯流排包括與該記憶體匯流排相同數目之連接。
  38. 如請求項26之系統,其中該型樣辨識匯流排包括與該記憶體匯流排相同之實體尺寸。
  39. 一種用於型樣辨識之方法,其包括: 在一型樣辨識匯流排之一部分上於一型樣辨識處理器與一處理單元之間傳輸複數種不同類型之信號,其中該複數種不同類型之信號中之每一者與該型樣辨識處理器之一不同模式相關聯,其中至少該複數種不同類型之信號之一第一部份由該型樣辨識處理器及耦合至該處理單元之一記憶體以相同方式解譯,其中至少該複數種不同類型之信號之一第二部份由該型樣辨識處理器以與該複數種不同類型之信號之該第二部份由耦合至該處理單元之該記憶體解譯之不同方式解譯。
  40. 如請求項39之方法,其中該型樣辨識處理器經組態以回應於該型樣辨識處理器之該模式之一改變而以不同方式解譯該型樣辨識匯流排之該部分上之信號。
  41. 如請求項39之方法,其中該複數種不同類型之信號包括三種不同類型之信號。
  42. 如請求項39之方法,其中該複數種不同類型之信號包括:一位址信號、一控制信號、一狀態信號或其一組合。
  43. 如請求項42之方法,其中該複數種不同類型之信號包括暫存器選擇信號。
  44. 如請求項39之方法,其中傳輸該複數種不同類型之信號包括:當處於一搜尋模式中時將欲由該型樣辨識處理器搜尋之一資料串流傳輸至該型樣辨識處理器;及當處於一報告模式中時自該型樣辨識處理器傳輸一搜尋結果信號。
TW098145589A 2009-01-07 2009-12-29 用於型樣辨識處理器之匯流排 TWI590059B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/350,136 US20100174887A1 (en) 2009-01-07 2009-01-07 Buses for Pattern-Recognition Processors

Publications (2)

Publication Number Publication Date
TW201044173A TW201044173A (en) 2010-12-16
TWI590059B true TWI590059B (zh) 2017-07-01

Family

ID=41693145

Family Applications (1)

Application Number Title Priority Date Filing Date
TW098145589A TWI590059B (zh) 2009-01-07 2009-12-29 用於型樣辨識處理器之匯流排

Country Status (7)

Country Link
US (3) US20100174887A1 (zh)
EP (1) EP2386093B1 (zh)
JP (1) JP5689815B2 (zh)
KR (1) KR101672067B1 (zh)
CN (1) CN102272776B (zh)
TW (1) TWI590059B (zh)
WO (1) WO2010080442A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230297520A1 (en) * 2022-03-21 2023-09-21 Micron Technology, Inc. Compute express link memory and storage module

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8938590B2 (en) 2008-10-18 2015-01-20 Micron Technology, Inc. Indirect register access method and system
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
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
US10007486B2 (en) 2008-12-01 2018-06-26 Micron Technology, Inc. Systems and methods to enable identification of different data sets
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
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
US9501705B2 (en) 2009-12-15 2016-11-22 Micron Technology, Inc. Methods and apparatuses for reducing power consumption in a pattern recognition processor
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
TW201123723A (en) * 2009-12-31 2011-07-01 Alcor Micro Corp I2C/SPI control interface circuitry, integrated circuit structure, and bus structure thereof
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
WO2012036751A2 (en) * 2010-09-17 2012-03-22 Aplus Flash Technology, Inc. Different types of memory integrated in one chip by using a novel protocol
US9064116B2 (en) * 2010-11-08 2015-06-23 Intel Corporation Techniques for security management provisioning at a data storage device
EP2668574B1 (en) 2011-01-25 2021-11-24 Micron Technology, INC. Utilizing special purpose elements to implement a fsm
KR101640295B1 (ko) 2011-01-25 2016-07-15 마이크론 테크놀로지, 인크. 정규 표현을 컴파일하기 위한 방법 및 장치
CN103443767B (zh) 2011-01-25 2016-01-20 美光科技公司 展开量化以控制自动机的入度和/或出度
EP2668576B1 (en) 2011-01-25 2024-04-24 Micron Technology, INC. State grouping for element utilization
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
US8593175B2 (en) 2011-12-15 2013-11-26 Micron Technology, Inc. Boolean logic 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
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
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
US9389841B2 (en) 2012-07-18 2016-07-12 Micron Technology, Inc. Methods and systems for using state vector data in a state machine engine
US9524248B2 (en) 2012-07-18 2016-12-20 Micron Technology, Inc. Memory management for a hierarchical memory system
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
US9703574B2 (en) 2013-03-15 2017-07-11 Micron Technology, Inc. Overflow detection and correction in 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
US9258138B2 (en) * 2013-12-23 2016-02-09 Intel Corporation Unidirectional coding for bidirectional data bus radio frequency interference mitigation
WO2016109571A1 (en) 2014-12-30 2016-07-07 Micron Technology, Inc Devices for time division multiplexing of state machine engine signals
US11366675B2 (en) 2014-12-30 2022-06-21 Micron Technology, Inc. Systems and devices for accessing a state machine
US10430210B2 (en) 2014-12-30 2019-10-01 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
US10977309B2 (en) 2015-10-06 2021-04-13 Micron Technology, Inc. Methods and systems for creating networks
US10846103B2 (en) 2015-10-06 2020-11-24 Micron Technology, Inc. Methods and systems for representing processing resources
US10410002B1 (en) * 2016-01-13 2019-09-10 National Technology & Engineering Solutions Of Sandia, Llc Intrusion detection apparatus, system and methods
US10146555B2 (en) 2016-07-21 2018-12-04 Micron Technology, Inc. Adaptive routing to avoid non-repairable memory and logic defects on automata processor
US10019311B2 (en) 2016-09-29 2018-07-10 Micron Technology, Inc. Validation of a symbol response memory
US10268602B2 (en) 2016-09-29 2019-04-23 Micron Technology, Inc. System and method for individual addressing
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
US12197510B2 (en) 2016-10-20 2025-01-14 Micron Technology, Inc. Traversal of S portion of a graph problem to be solved using automata processor
KR20230019404A (ko) 2020-06-03 2023-02-08 니치아 카가쿠 고교 가부시키가이샤 면상 광원 및 그 제조 방법

Family Cites Families (181)

* 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
US4495571A (en) * 1979-01-31 1985-01-22 Honeywell Information Systems Inc. Data processing system having synchronous bus wait/retry cycle
US4414685A (en) 1979-09-10 1983-11-08 Sternberg Stanley R Method and apparatus for pattern recognition and detection
JPS626324A (ja) * 1985-07-03 1987-01-13 Ricoh Co Ltd デ−タ検出装置
US4748674A (en) 1986-10-07 1988-05-31 The Regents Of The University Of Calif. Pattern learning and recognition device
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
US6253307B1 (en) 1989-05-04 2001-06-26 Texas Instruments Incorporated Data processing device with mask and status bits for selecting a set of status conditions
JPH0344779A (ja) 1989-07-12 1991-02-26 Nec Corp パターン認識プロセッサ
JP2833062B2 (ja) 1989-10-30 1998-12-09 株式会社日立製作所 キャッシュメモリ制御方法とこのキャッシュメモリ制御方法を用いたプロセッサおよび情報処理装置
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
EP0476159B1 (en) 1990-09-15 1996-12-11 International Business Machines Corporation Programmable neural logic device
US5287523A (en) 1990-10-09 1994-02-15 Motorola, Inc. Method for servicing a peripheral interrupt request in a microcontroller
AU8966391A (en) 1990-12-24 1992-06-25 Ball Corporation System for analysis of embedded computer systems
US5524250A (en) * 1991-08-23 1996-06-04 Silicon Graphics, Inc. Central processing unit for processing a plurality of threads using dedicated general purpose registers and masque register for providing access to the registers
US6400996B1 (en) 1999-02-01 2002-06-04 Steven M. Hoffberg Adaptive pattern recognition based control system and method
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
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
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
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
DE19546168C1 (de) * 1995-12-11 1997-02-20 Siemens Ag Digitale Signalprozessor-Anordnung zum Vergleich von Merkmalsvektoren und deren Verwendung sowie zugehöriges Betriebsverfahren
US5793994A (en) * 1996-01-31 1998-08-11 3Com Corporation Synchronous event posting by a high throughput bus
US6032247A (en) * 1996-03-18 2000-02-29 Advanced Micro Devices, Incs. Central processing unit including APX and DSP cores which receives and processes APX and DSP instructions
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
US6195150B1 (en) 1997-07-15 2001-02-27 Silverbrook Research Pty Ltd Pseudo-3D stereoscopic images and output device
US5892729A (en) * 1997-07-25 1999-04-06 Lucent Technologies Inc. Power savings for memory arrays
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
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
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
US7013394B1 (en) * 2000-04-18 2006-03-14 International Business Machines Corporation Data flow pattern recognition and manipulation
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
US20030014579A1 (en) * 2001-07-11 2003-01-16 Motorola, Inc Communication controller and method of transforming information
WO2003039001A1 (en) 2001-10-29 2003-05-08 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
EP1495616B1 (en) * 2002-04-17 2010-05-05 Computer Associates Think, Inc. Detecting and countering malicious code in enterprise networks
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
WO2004104790A2 (en) 2003-05-20 2004-12-02 Kagutech Ltd. Digital backplane
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
US7860915B2 (en) 2003-12-29 2010-12-28 Xilinx, Inc. Digital signal processing circuit having a pattern circuit for determining termination conditions
US7849119B2 (en) 2003-12-29 2010-12-07 Xilinx, Inc. Digital signal processing circuit having a pattern detector circuit
US7243165B2 (en) 2004-01-14 2007-07-10 International Business Machines Corporation Parallel pattern detection engine
US7487542B2 (en) 2004-01-14 2009-02-03 International Business Machines Corporation Intrusion detection using a network processor and a parallel pattern detection engine
GB0415850D0 (en) 2004-07-15 2004-08-18 Imagination Tech Ltd Memory management system
US7260558B1 (en) * 2004-10-25 2007-08-21 Hi/Fn, Inc. Simultaneously searching for a plurality of patterns definable by complex expressions, and efficiently generating data for such searching
US7305574B2 (en) * 2004-10-29 2007-12-04 International Business Machines Corporation System, method and storage medium for bus calibration in a memory subsystem
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
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
US7276934B1 (en) 2005-06-14 2007-10-02 Xilinx, Inc. Integrated circuit with programmable routing structure including diagonal interconnect lines
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
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
US7512634B2 (en) * 2006-06-05 2009-03-31 Tarari, Inc. Systems and methods for processing regular expressions
US8261344B2 (en) * 2006-06-30 2012-09-04 Sophos Plc Method and system for classification of software using characteristics and combinations of such characteristics
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
US7899977B2 (en) 2006-12-08 2011-03-01 Pandya Ashish A Programmable intelligent search memory
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 삼성전자주식회사 가상 메모리 접근 방법
US20080301796A1 (en) * 2007-05-31 2008-12-04 Microsoft Corporation Adjusting the Levels of Anti-Malware Protection
US20080320053A1 (en) 2007-06-21 2008-12-25 Michio Iijima Data management method for accessing data storage area based on characteristic of stored data
US8286246B2 (en) * 2007-08-10 2012-10-09 Fortinet, Inc. Circuits and methods for efficient data transfer in a virus co-processing system
US8397014B2 (en) 2008-02-04 2013-03-12 Apple Inc. Memory mapping restore and garbage collection operations
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
US8015530B1 (en) 2008-08-05 2011-09-06 Xilinx, Inc. Method of enabling the generation of reset signals in an integrated circuit
US8938590B2 (en) 2008-10-18 2015-01-20 Micron Technology, Inc. Indirect register access method and system
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
US7970964B2 (en) 2008-11-05 2011-06-28 Micron Technology, Inc. Methods and systems to accomplish variable width data input
US9639493B2 (en) 2008-11-05 2017-05-02 Micron Technology, Inc. Pattern-recognition processor with results buffer
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
US20100118425A1 (en) 2008-11-11 2010-05-13 Menachem Rafaelof Disturbance rejection in a servo control loop using pressure-based disc mode sensor
US9348784B2 (en) 2008-12-01 2016-05-24 Micron Technology, Inc. Systems and methods for managing endian mode of a device
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
US9164945B2 (en) 2008-12-01 2015-10-20 Micron Technology, Inc. Devices, systems, and methods to synchronize parallel processing of a single data stream
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
US9501705B2 (en) 2009-12-15 2016-11-22 Micron Technology, Inc. Methods and apparatuses for reducing power consumption in a pattern recognition processor
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
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
EP2668576B1 (en) 2011-01-25 2024-04-24 Micron Technology, INC. State grouping for element utilization
EP2668574B1 (en) 2011-01-25 2021-11-24 Micron Technology, INC. Utilizing special purpose elements to implement a fsm
CN103443767B (zh) 2011-01-25 2016-01-20 美光科技公司 展开量化以控制自动机的入度和/或出度
KR101640295B1 (ko) 2011-01-25 2016-07-15 마이크론 테크놀로지, 인크. 정규 표현을 컴파일하기 위한 방법 및 장치
US8648621B2 (en) 2011-12-15 2014-02-11 Micron Technology, Inc. Counter operation in a state machine lattice
US8680888B2 (en) 2011-12-15 2014-03-25 Micron Technologies, Inc. Methods and systems for routing in a state machine
US8782624B2 (en) 2011-12-15 2014-07-15 Micron Technology, Inc. Methods and systems for detection in a state machine
US8593175B2 (en) 2011-12-15 2013-11-26 Micron Technology, Inc. Boolean logic 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
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
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
US9075428B2 (en) 2012-08-31 2015-07-07 Micron Technology, Inc. Results generation for 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
US9063532B2 (en) 2012-08-31 2015-06-23 Micron Technology, Inc. Instruction insertion in state machine engines
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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230297520A1 (en) * 2022-03-21 2023-09-21 Micron Technology, Inc. Compute express link memory and storage module
US12210466B2 (en) * 2022-03-21 2025-01-28 Micron Technology, Inc. Compute Express Link memory and storage module

Also Published As

Publication number Publication date
US12067767B2 (en) 2024-08-20
JP2012514788A (ja) 2012-06-28
CN102272776A (zh) 2011-12-07
US11023758B2 (en) 2021-06-01
WO2010080442A2 (en) 2010-07-15
EP2386093B1 (en) 2019-01-23
US20210287027A1 (en) 2021-09-16
KR101672067B1 (ko) 2016-11-16
KR20110110295A (ko) 2011-10-06
US20190147278A1 (en) 2019-05-16
WO2010080442A3 (en) 2010-09-02
CN102272776B (zh) 2016-04-13
JP5689815B2 (ja) 2015-03-25
US20100174887A1 (en) 2010-07-08
EP2386093A2 (en) 2011-11-16
TW201044173A (en) 2010-12-16

Similar Documents

Publication Publication Date Title
TWI590059B (zh) 用於型樣辨識處理器之匯流排
US11782859B2 (en) Methods and systems for devices with self-selecting bus decoder
US11830243B2 (en) Bus translator
TWI488108B (zh) 用以同步一單一資料串流之平行處理的裝置、系統及方法
TWI414998B (zh) 型樣辨識處理器之電力消耗管理之方法及系統
TWI507977B (zh) 啟用不同資料集之識別之系統及方法
TWI416332B (zh) 藉由多個裝置同步化單一資料串流之同時直接記憶體存取平行處理之裝置、系統及方法
TWI465945B (zh) 用於型樣辨識處理器中降低電力消耗之方法及裝置