CN102272776A - 用于型式辨识处理器的总线 - Google Patents
用于型式辨识处理器的总线 Download PDFInfo
- Publication number
- CN102272776A CN102272776A CN2009801540324A CN200980154032A CN102272776A CN 102272776 A CN102272776 A CN 102272776A CN 2009801540324 A CN2009801540324 A CN 2009801540324A CN 200980154032 A CN200980154032 A CN 200980154032A CN 102272776 A CN102272776 A CN 102272776A
- Authority
- CN
- China
- Prior art keywords
- pattern identification
- signal
- bus
- pattern
- identification processor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/94—Hardware or software architectures specially adapted for image or video understanding
- G06V10/955—Hardware or software architectures specially adapted for image or video understanding using specific electronic processors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/02—Comparing digital values
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/02—Indexing scheme relating to groups G06F7/02 - G06F7/026
- G06F2207/025—String search, i.e. pattern matching, e.g. find identical word or best match in a string
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2218/00—Aspects 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)
- Image Processing (AREA)
- Image Analysis (AREA)
- Bus Control (AREA)
- Character Discrimination (AREA)
Abstract
本发明揭示方法及系统,其中一种系统(94)包含:型式辨识处理器(14);中央处理单元(CPU)(20),其经由型式辨识总线(96)耦合到所述型式辨识处理器(14);及存储器(100),其经由存储器总线(98)耦合到所述CPU(20)。在一些实施例中,所述型式辨识总线(96)与所述存储器总线(98)分别形成去往所述型式辨识处理器(14)及所述存储器(100)的约相同数目的连接。
Description
技术领域
本发明的实施例一般来说涉及电子装置,且更具体来说在某些实施例中涉及用于型式辨识处理器的总线。
背景技术
在计算领域中,型式辨识任务越来越具有挑战性。计算机之间传输的数据量不断增大,且用户希望识别的型式数目日益增加。举例来说,通常通过搜索数据流中的型式(例如,特定短语或代码片段)来检测垃圾邮件或恶意软件。型式的数目随着垃圾邮件及恶意软件的变化而增加,因为可实施新型式以搜索新变体。搜索数据流以找到这些型式中的每一者可形成计算瓶颈。通常,在接收到数据流时,搜索数据流以一次一个地找到每一型式。在系统准备搜索数据流的下一部分之前的延迟随着型式数目而增加。因此,型式辨识可使数据的接收减慢。
可通过特定针对型式辨识设计的硬件(例如,芯片)快速搜索数据流以找到大量型式。然而,此硬件的实施因缺少专用型式辨识硬件与中央处理单元(CPU)之间的广泛接受的通信协议而为复杂的。系统的设计者具有学习新通信协议的有限能力。通晓一个通信协议甚至可花费计算机设计领域中的数月或数年的工作。使用新协议与型式辨识硬件通信可添加实施所述硬件的成本。
附图说明
图1描绘搜索数据流的系统的实例;
图2描绘图1的系统中的型式辨识处理器的实例;
图3描绘图2的型式辨识处理器中的搜索项单元的实例;
图4及图5描绘搜索数据流以找到单个字符的图3搜索项单元;
图6到图8描绘包含搜索数据流以找到词的数个搜索项单元的辨识模块;
图9描绘经配置以搜索数据流以并行找到两个词的辨识模块;
图10到图12描绘根据指定具有相同前缀的多个词的搜索准则进行搜索的辨识模块;
图13图解说明具有根据本技术的实施例的类似或相同的型式辨识总线与存储器总线的系统的实施例;
图14图解说明根据本技术的实施例的图13型式辨识总线的实施例;及
图15图解说明根据本技术的实施例的用于经由总线的一部分发送多个类型的信号的过程的实施例。
具体实施方式
图1描绘搜索数据流12的系统10的实例。系统10可包含型式辨识处理器14,其根据搜索准则16搜索数据流12。
每一搜索准则可指定一个或一个以上目标表达(即,型式)。短语“目标表达(targetexpression)”是指型式辨识处理器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的结果,此并非暗示也不可省略本文中所描述的任一其它特征。举例来说,可将来自阈值逻辑矩阵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也可包含非易失性存储器,例如,相变存储器(例如,双向装置)、快闪存储器、硅-氧化物-氮化物-氧化物-硅(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所图解说明。在评估下一项之前,可去激活特征单元64。举例来说,特征单元64可通过其检测单元68在检测循环之间复位其存储器单元70而去激活或激活路由矩阵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。搜索第一字尾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、数据选通信号121及数据屏蔽信号122可在两个总线96及98上具有同一功能及相对于总线96及98的若干其它部分的相同位置。其它实施例可包含额外类似信号或更少类似信号。举例来说,一些较旧的总线协议可不支持复位的信号,但可将任一此种功能作为延伸添加到现有协议。
型式辨识总线96上的一些信号可从其在存储器总线98上的功能重新解释。举例来说,列选择信号124可由型式辨识处理器14解释为总线启用信号。行地址选通信号126、列地址选通信号128、写入启用信号130及突发斩波信号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,相信此简化型式辨识处理器的实施。
虽然本发明可容许有各种修改及替代形式,但具体实施例已以实例方式显示于图式中并已详细描述于本文中。然而,应理解,本发明并非打算限定于所揭示的特定形式。相反,本发明将涵盖归属于如以上所附权利要求书所界定的本发明的精神及范围内的所有修改形式、等效形式及替代形式。
Claims (44)
1.一种系统,其包括:
型式辨识处理器;
处理单元(PU),其经由型式辨识总线耦合到所述型式辨识处理器;及
存储器,其经由存储器总线耦合到所述PU,其中所述型式辨识总线与所述存储器总线分别形成去往所述型式辨识处理器及所述存储器的约相同数目的连接。
2.根据权利要求1所述的系统,其中所述型式辨识总线比所述存储器总线形成至少一个多出的连接。
3.根据权利要求2所述的系统,其中所述一个多出的连接为输出中断信号。
4.根据权利要求1所述的系统,其中所述型式辨识总线及所述存储器总线上的多个对应连接中的每一者在两个总线上用于同一相应功能。
5.根据权利要求4所述的系统,其中在两个总线上用于所述同一功能的所述多个对应连接包含芯片启用信号及时钟信号。
6.根据权利要求4所述的系统,其中在两个总线上用于所述同一功能的所述多个对应连接包含数据选通信号及数据屏蔽信号。
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.一种系统,其包括:
型式辨识处理器,其经配置以按照与在经由存储器总线接收到时由存储器解释第一部分信号的相同方式来解释经由型式辨识总线接收的所述第一部分信号。
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所述的方法,其中传输所述多个不同类型的信号包括当处于搜索模式中时将待由所述型式辨识处理器搜索的数据流传输到所述型式辨识处理器且当处于报告模式中时从所述型式辨识处理器传输搜索结果信号。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/350,136 US20100174887A1 (en) | 2009-01-07 | 2009-01-07 | Buses for Pattern-Recognition Processors |
US12/350,136 | 2009-01-07 | ||
PCT/US2009/068261 WO2010080442A2 (en) | 2009-01-07 | 2009-12-16 | Buses for pattern-recognition processors |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102272776A true CN102272776A (zh) | 2011-12-07 |
CN102272776B CN102272776B (zh) | 2016-04-13 |
Family
ID=41693145
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200980154032.4A Active CN102272776B (zh) | 2009-01-07 | 2009-12-16 | 用于型式辨识处理器的总线 |
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) |
Families Citing this family (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
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 |
US8214672B2 (en) | 2009-01-07 | 2012-07-03 | Micron Technology, Inc. | Method and systems for power consumption management of a pattern-recognition processor |
US8281395B2 (en) | 2009-01-07 | 2012-10-02 | Micron Technology, Inc. | Pattern-recognition processor with matching-data reporting module |
US9501705B2 (en) | 2009-12-15 | 2016-11-22 | Micron Technology, Inc. | Methods and apparatuses for reducing power consumption in 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 |
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 |
KR101606622B1 (ko) | 2011-01-25 | 2016-03-25 | 마이크론 테크놀로지, 인크. | Fsm을 구현하기 위한 특수 목적 요소의 이용 |
KR101640295B1 (ko) | 2011-01-25 | 2016-07-15 | 마이크론 테크놀로지, 인크. | 정규 표현을 컴파일하기 위한 방법 및 장치 |
JP5763784B2 (ja) | 2011-01-25 | 2015-08-12 | マイクロン テクノロジー, インク. | 要素利用のための状態のグループ化 |
KR101607736B1 (ko) | 2011-01-25 | 2016-03-30 | 마이크론 테크놀로지, 인크. | 오토마톤의 진입 차수 및/또는 진출 차수를 제어하기 위한 양화 언롤링 |
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 |
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 |
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 |
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 |
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 |
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 |
US11366675B2 (en) | 2014-12-30 | 2022-06-21 | Micron Technology, Inc. | Systems and devices for accessing a state machine |
US10769099B2 (en) | 2014-12-30 | 2020-09-08 | Micron Technology, Inc. | Devices for time division multiplexing of state machine engine signals |
US10430210B2 (en) | 2014-12-30 | 2019-10-01 | Micron Technology, Inc. | Systems and devices for accessing a state machine |
US10846103B2 (en) | 2015-10-06 | 2020-11-24 | Micron Technology, Inc. | Methods and systems for representing processing resources |
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 |
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 |
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 |
US20230297520A1 (en) * | 2022-03-21 | 2023-09-21 | Micron Technology, Inc. | Compute express link memory and storage module |
Family Cites Families (181)
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 |
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 |
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 |
US6614703B2 (en) | 2000-01-13 | 2003-09-02 | Texas Instruments Incorporated | Method and system for configuring integrated systems on a chip |
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 |
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 |
CN1582533A (zh) | 2001-10-29 | 2005-02-16 | 捷豹逻辑股份有限公司 | 用于现场可编程门阵列核心的可编程接口 |
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 |
AU2003223656A1 (en) * | 2002-04-17 | 2003-11-03 | 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 |
US7071908B2 (en) | 2003-05-20 | 2006-07-04 | 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 |
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 |
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 |
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 |
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 |
US7831607B2 (en) | 2006-12-08 | 2010-11-09 | Pandya Ashish A | Interval symbol architecture for 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 |
US20110004578A1 (en) | 2008-02-22 | 2011-01-06 | Michinari Momma | Active metric learning device, active metric learning method, and program |
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 |
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 |
US9639493B2 (en) | 2008-11-05 | 2017-05-02 | Micron Technology, Inc. | Pattern-recognition processor with results buffer |
US7970964B2 (en) | 2008-11-05 | 2011-06-28 | Micron Technology, Inc. | Methods and systems to accomplish variable width data input |
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 |
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 |
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 |
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 |
US20100174887A1 (en) | 2009-01-07 | 2010-07-08 | Micron Technology Inc. | Buses for Pattern-Recognition Processors |
US8214672B2 (en) | 2009-01-07 | 2012-07-03 | Micron Technology, Inc. | Method and systems for power consumption management of a pattern-recognition processor |
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 |
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 |
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 |
US8601013B2 (en) | 2010-06-10 | 2013-12-03 | Micron Technology, Inc. | Analyzing data using a hierarchical structure |
US8766666B2 (en) | 2010-06-10 | 2014-07-01 | Micron Technology, Inc. | Programmable device, hierarchical parallel machines, and methods for providing state information |
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 |
KR101606622B1 (ko) | 2011-01-25 | 2016-03-25 | 마이크론 테크놀로지, 인크. | Fsm을 구현하기 위한 특수 목적 요소의 이용 |
JP5763784B2 (ja) | 2011-01-25 | 2015-08-12 | マイクロン テクノロジー, インク. | 要素利用のための状態のグループ化 |
KR101607736B1 (ko) | 2011-01-25 | 2016-03-30 | 마이크론 테크놀로지, 인크. | 오토마톤의 진입 차수 및/또는 진출 차수를 제어하기 위한 양화 언롤링 |
KR101640295B1 (ko) | 2011-01-25 | 2016-07-15 | 마이크론 테크놀로지, 인크. | 정규 표현을 컴파일하기 위한 방법 및 장치 |
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 |
US8648621B2 (en) | 2011-12-15 | 2014-02-11 | Micron Technology, Inc. | Counter operation 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 |
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 |
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 |
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 |
US9063532B2 (en) | 2012-08-31 | 2015-06-23 | Micron Technology, Inc. | Instruction insertion in state machine engines |
US9075428B2 (en) | 2012-08-31 | 2015-07-07 | Micron Technology, Inc. | Results generation for 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 |
-
2009
- 2009-01-07 US US12/350,136 patent/US20100174887A1/en not_active Abandoned
- 2009-12-16 EP EP09802066.2A patent/EP2386093B1/en active Active
- 2009-12-16 KR KR1020117018424A patent/KR101672067B1/ko active IP Right Grant
- 2009-12-16 JP JP2011544468A patent/JP5689815B2/ja active Active
- 2009-12-16 WO PCT/US2009/068261 patent/WO2010080442A2/en active Application Filing
- 2009-12-16 CN CN200980154032.4A patent/CN102272776B/zh active Active
- 2009-12-29 TW TW098145589A patent/TWI590059B/zh active
-
2019
- 2019-01-16 US US16/249,682 patent/US11023758B2/en active Active
-
2021
- 2021-05-27 US US17/332,369 patent/US12067767B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20210287027A1 (en) | 2021-09-16 |
US11023758B2 (en) | 2021-06-01 |
WO2010080442A2 (en) | 2010-07-15 |
US12067767B2 (en) | 2024-08-20 |
EP2386093B1 (en) | 2019-01-23 |
CN102272776B (zh) | 2016-04-13 |
US20100174887A1 (en) | 2010-07-08 |
TWI590059B (zh) | 2017-07-01 |
WO2010080442A3 (en) | 2010-09-02 |
KR101672067B1 (ko) | 2016-11-16 |
KR20110110295A (ko) | 2011-10-06 |
EP2386093A2 (en) | 2011-11-16 |
TW201044173A (en) | 2010-12-16 |
JP2012514788A (ja) | 2012-06-28 |
JP5689815B2 (ja) | 2015-03-25 |
US20190147278A1 (en) | 2019-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102272776B (zh) | 用于型式辨识处理器的总线 | |
US11782859B2 (en) | Methods and systems for devices with self-selecting bus decoder | |
US11151140B2 (en) | Methods and apparatuses for reducing power consumption in a pattern recognition processor | |
US10380446B2 (en) | Bus translator | |
US10152113B2 (en) | Dynamic power-down of a block of a pattern-recognition processor | |
CN102203802B (zh) | 具有结果缓冲器的模式辨识处理器 | |
US20100138634A1 (en) | Devices, systems, and methods to synchronize parallel processing of a single data stream |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |