CN102272776B - 用于型式辨识处理器的总线 - Google Patents

用于型式辨识处理器的总线 Download PDF

Info

Publication number
CN102272776B
CN102272776B CN200980154032.4A CN200980154032A CN102272776B CN 102272776 B CN102272776 B CN 102272776B CN 200980154032 A CN200980154032 A CN 200980154032A CN 102272776 B CN102272776 B CN 102272776B
Authority
CN
China
Prior art keywords
pattern identification
bus
identification processor
search
memory bus
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.)
Active
Application number
CN200980154032.4A
Other languages
English (en)
Other versions
CN102272776A (zh
Inventor
J·托马斯·帕夫洛夫斯基
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Micron Technology Inc
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 CN102272776A publication Critical patent/CN102272776A/zh
Application granted granted Critical
Publication of CN102272776B publication Critical patent/CN102272776B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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)
  • Computational Mathematics (AREA)
  • Software Systems (AREA)
  • Multimedia (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)
  • Bus Control (AREA)
  • Character Discrimination (AREA)
  • Image Analysis (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”三次以上的段落等。目标表达的可能集合的数目为任意大,例如,可存在与数据流可呈现的数据排列同样多的目标表达。搜索准则可以各种格式来表达,包含规则表达、简明地指定目标表达集合而不必列举每一目标表达的编程语言。
每一搜索准则可由一个或一个以上搜索项构成。因此,搜索准则的每一目标表达可包含一个或一个以上搜索项且一些目标表达可使用共同搜索项。如本文中所使用,短语“搜索项(searchterm)”是指在单个搜索循环期间搜索的数据序列。所述数据序列可包含二进制格式或其它格式(例如,十进位、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中针对其翻译(例如)在可由CPU20或型式辨识处理器14寻址的存储器中可用的型式。举例来说,搜索准则16可各自指定在存储器中存储其对应西班牙语词的英语词。在另一实例中,搜索准则16可指定数据流12的经编码版本,例如,MP3、MPEG4、FLAC、OggVorbis等,针对所述经编码版本,可得到数据流12的经解码版本,或反之亦然。
型式辨识处理器14可为与CPU20一起集成到单个组件(例如,单个装置)中的硬件装置或可形成为单独组件。举例来说,型式辨识处理器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行解码器。00000000的单字节项可对应于多个输入导体37当中的顶行,且11111111的单字节项可对应于多个输入导体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可选择性地产生“积”结果(例如,布尔逻辑(Booleanlogic)中的“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传输到CPU20(图1)。在一些实施例中,输出多路复用器可多路复用来自这些组件42、44及48的信号且将指示准则的满足或搜索项的匹配的信号输出到CPU20(图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可包含CPU20、存储器100、存储器总线控制器102及型式辨识总线控制器104。存储器总线控制器102可通过存储器总线98连接到存储器100且通过地址与控制总线106及数据总线108两者连接到CPU20。型式辨识总线控制器104可通过型式辨识总线96连接到型式辨识处理器14且通过地址与控制总线110及数据总线112连接到CPU20。型式辨识总线控制器104可为耦合到CPU20的单独组件(例如,芯片),或其可集成到与CPU20相同的组件中,例如,作为单芯片或多芯片模块。类似地,存储器总线控制器102可为单独组件,或其可集成到与CPU20相同的组件中。型式辨识总线控制器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)满足搜索准则而选择。CPU20(图13)可响应于通过引导型式辨识处理器14进入搜索报告模式而选择的输出中断信号114。一旦处于此模式中,型式辨识处理器14可经由数据信号138输出搜索结果。搜索结果可包含指示哪一搜索准则得到满足及来自所述数据流的哪些数据满足所述准则的数据。在所述搜索结果由CPU20接收之后,CPU20可引导型式辨识处理器14重新进入所述搜索模式,且CPU20可经由数据线138将数据流12(图1)传输到型式辨识处理器14。
其它实施例可不包含输出中断信号114。CPU20可确定型式辨识处理器14是否已通过周期性地轮询型式辨识处理器14而检测到匹配,以确定型式辨识处理器14是否已检测到得到满足的准则。举例来说,可将指示匹配的数据存储于型式辨识处理器14中的寄存器中,且CPU20可读取所述寄存器所存储的值,以确定是否已检测到匹配。
图15图解说明经由总线的单个部分传输多个类型的信号的过程140的实施例。信号类型的实例包含控制信号、地址信号、输入数据信号、输出数据信号、搜索准则信号及时钟信号。过程140可以在型式辨识总线的一部分上将第一类型的信号传输到型式辨识处理器(如框142所图解说明)而开始。在一些实施例中,所述第一类型的信号可为地址信号、命令解码信号、寄存器选择信号、输入搜索准则信号、输出搜索准则信号或输入数据流。
接下来,可改变所述型式辨识处理器的模式,如框144所图解说明。可响应于准则的满足或其它事件而通过某一其它组件(例如,CPU20(图13))所发送的信号或通过型式辨识处理器14(图13)来改变所述模式。可通过改变型式辨识处理器14中的寄存器中所存储的值来改变所述型式辨识处理器的模式。
接下来,可在所述型式辨识总线的所述部分上传输第二类型的信号,如框146所图解说明。传输所述第二类型的信号可包含传输上文所描述类型的信号中不同于第一类型的信号的一者。传输的方向可与框142所描述的传输的方向相同,或所述方向可不同。举例来说,可在框142所描述的传输期间将输入数据流传输到型式辨识处理器14(图14),且可在所述总线的相同部分(例如,数据信号138)上从型式辨识处理器14传输输出搜索结果。
相信在不同操作模式期间在同一总线部分上传输不同信号类型相对于针对每一信号类型具有单独信号路径的总线减小型式辨识总线96上信号路径的数目。相信共享信号路径允许使型式辨识总线96更类似于上文所描述的存储器总线98,相信此简化型式辨识处理器的实施。
虽然本发明可容许有各种修改及替代形式,但具体实施例已以实例方式显示于图式中并已详细描述于本文中。然而,应理解,本发明并非打算限定于所揭示的特定形式。相反,本发明将涵盖归属于如以上所附权利要求书所界定的本发明的精神及范围内的所有修改形式、等效形式及替代形式。

Claims (24)

1.一种型式辨识系统,其包括:
型式辨识处理器,其中所述型式辨识处理器包括:解码器,所述解码器具有经配置以接收待搜索的数据流的输入;以及多个特征单元,所述多个特征单元与所述解码器耦合,其中所述多个特征单元中的每一者包括多个存储器单元,所述多个存储器单元中的每一者可由与所述解码器的输出耦合的导体寻址;
处理单元PU,其经由型式辨识总线耦合到所述型式辨识处理器;及
存储器,其经由存储器总线耦合到所述PU,其中所述型式辨识总线与所述存储器总线分别形成去往所述型式辨识处理器及所述存储器的在加减0、1、2、4、6或8个连接的范围内相同数目的连接,其中所述型式辨识总线的一部分与所述存储器总线的相应部分相比用于至少一个不同的功能,其中所述型式辨识处理器经配置以按照与在经由所述存储器总线接收到时由所述存储器解释第一部分共同信号相同的方式来解释经由所述型式辨识总线由所述型式辨识处理器接收的至少第一部分共同信号,其中所述型式辨识处理器经配置以按照与在经由所述存储器总线接收到时由所述存储器解释第二部分共同信号不同的方式来解释经由所述型式辨识总线由所述型式辨识处理器接收的至少第二部分共同信号。
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.一种型式辨识系统,其包括:
型式辨识处理器,其经配置以按照与在经由存储器总线接收到时由存储器解释第一部分信号相同的方式来解释经由型式辨识总线接收的所述第一部分信号,其中所述型式辨识处理器经配置以按照与在经由所述存储器总线接收到时由所述存储器解释第二部分信号不同的方式来解释经由所述型式辨识总线接收的所述第二部分信号,其中所述型式辨识处理器包括:
解码器,所述解码器具有经配置以接收待搜索的数据流的输入;以及
多个特征单元,所述多个特征单元与所述解码器耦合,其中所述多个特征单元中的每一者包括多个存储器单元,所述多个存储器单元中的每一者可由与所述解码器的输出耦合的导体寻址,且其中所述型式辨识总线与所述存储器总线分别形成去往所述型式辨识处理器及所述存储器的在加减0、1、2、4、6或8个连接的范围内相同数目的连接。
15.根据权利要求14所述的系统,其中所述型式辨识处理器经配置以依据所述型式辨识处理器的模式而按照与在经由所述存储器总线接收到时由所述存储器解释第三部分信号相同的方式及按照与在经由所述存储器总线接收到时由所述存储器解释所述第三部分信号不同的方式两者来解释经由所述型式辨识总线接收的所述第三部分信号。
16.根据权利要求14所述的系统,其包括CPU,所述CPU经由所述型式辨识总线耦合到所述型式辨识处理器。
17.根据权利要求16所述的系统,其包括型式辨识总线控制器,所述型式辨识总线控制器经由控制总线及数据总线耦合到所述CPU且经由所述型式辨识总线耦合到所述型式辨识处理器。
18.根据权利要求17所述的系统,其包括存储器总线控制器,所述存储器总线控制器经由所述存储器总线耦合到所述存储器。
19.根据权利要求16所述的系统,其中所述型式辨识处理器及所述CPU为单独组件。
20.根据权利要求16所述的系统,其中所述型式辨识处理器与所述CPU集成为单个组件。
21.根据权利要求18所述的系统,其中所述存储器总线控制器及所述型式辨识总线控制器为单独组件。
22.根据权利要求18所述的系统,其中所述存储器总线控制器与所述型式辨识总线控制器集成为单个组件。
23.根据权利要求18所述的系统,其中所述型式辨识总线控制器经配置以通过与所述存储器总线控制器所使用的通信协议相同的通信协议与所述型式辨识处理器通信。
24.根据权利要求14所述的系统,其中所述型式辨识总线包括与所述存储器总线相同的物理尺寸。
CN200980154032.4A 2009-01-07 2009-12-16 用于型式辨识处理器的总线 Active CN102272776B (zh)

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 CN102272776A (zh) 2011-12-07
CN102272776B true 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 (48)

* 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
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
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
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
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
KR101607736B1 (ko) 2011-01-25 2016-03-30 마이크론 테크놀로지, 인크. 오토마톤의 진입 차수 및/또는 진출 차수를 제어하기 위한 양화 언롤링
KR101551045B1 (ko) 2011-01-25 2015-09-07 마이크론 테크놀로지, 인크. 요소 이용을 위한 상태 그룹화
JP5763783B2 (ja) 2011-01-25 2015-08-12 マイクロン テクノロジー, インク. 正規表現をコンパイルするための方法および装置
US8843911B2 (en) 2011-01-25 2014-09-23 Micron Technology, Inc. Utilizing special purpose elements to implement a FSM
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
US8680888B2 (en) 2011-12-15 2014-03-25 Micron Technologies, Inc. Methods and systems for routing in a state machine
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
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
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
US9448965B2 (en) 2013-03-15 2016-09-20 Micron Technology, Inc. Receiving data streams in parallel and providing a first portion of data to a first state machine engine and a second portion to a second state machine
US9703574B2 (en) 2013-03-15 2017-07-11 Micron Technology, Inc. Overflow detection and correction in state machine engines
US9258138B2 (en) * 2013-12-23 2016-02-09 Intel Corporation Unidirectional coding for bidirectional data bus radio frequency interference mitigation
US10430210B2 (en) 2014-12-30 2019-10-01 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
US11366675B2 (en) 2014-12-30 2022-06-21 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
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
US10592450B2 (en) 2016-10-20 2020-03-17 Micron Technology, Inc. Custom compute cores in integrated circuit devices
US10929764B2 (en) 2016-10-20 2021-02-23 Micron Technology, Inc. Boolean satisfiability

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4495571A (en) * 1979-01-31 1985-01-22 Honeywell Information Systems Inc. Data processing system having synchronous bus wait/retry cycle
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

Family Cites Families (178)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL38603A (en) 1972-01-21 1975-10-15 Bar Lev H Automatic pattern recognition method and apparatus particularly for optically recognizing alphanumeric characters
JPS4891935A (zh) 1972-03-08 1973-11-29
US4011547A (en) 1972-07-17 1977-03-08 International Business Machines Corporation Data processor for pattern recognition and the like
GB1518093A (en) 1974-10-04 1978-07-19 Mullard Ltd Mark detection apparatus
JPS51112236A (en) 1975-03-28 1976-10-04 Hitachi Ltd Shape position recognizer unit
JPS5313840A (en) 1976-07-23 1978-02-07 Hitachi Ltd Analogy calculator
US4204193A (en) 1978-11-03 1980-05-20 International Business Machines Corporation Adaptive alignment for pattern recognition system
US4414685A (en) 1979-09-10 1983-11-08 Sternberg Stanley R Method and apparatus for pattern recognition and detection
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
US5617574A (en) 1989-05-04 1997-04-01 Texas Instruments Incorporated Devices, systems and methods for conditional instructions
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
IL100370A (en) 1990-12-24 1994-11-11 Ball Corp Method for analyzing integrated 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
US5825921A (en) * 1993-03-19 1998-10-20 Intel Corporation Memory transfer apparatus and method useful within a pattern recognition system
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
CA2145361C (en) 1994-03-24 1999-09-07 Martin William Sotheran Buffer manager
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
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
US6362868B1 (en) 1997-07-15 2002-03-26 Silverbrook Research Pty Ltd. Print media roll and ink replaceable cartridge
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
EP1440512A1 (en) 2001-10-29 2004-07-28 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
AU2004241602B2 (en) 2003-05-20 2008-05-08 Syndiant, Inc. 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
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
US7827190B2 (en) 2006-12-08 2010-11-02 Pandya Ashish A Complex symbol evaluation 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
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
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
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
US9164945B2 (en) 2008-12-01 2015-10-20 Micron Technology, Inc. Devices, systems, and methods to synchronize parallel processing of a single data stream
US9348784B2 (en) 2008-12-01 2016-05-24 Micron Technology, Inc. Systems and methods for managing endian mode of a device
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
DE102008060719B4 (de) 2008-12-05 2018-09-20 Siemens Healthcare Gmbh Verfahren zur Steuerung des Aufnahmebetriebs einer Magnetresonanzeinrichtung bei der Aufnahme von Magnetresonanzdaten eines Patienten sowie zugehörige Magnetresonanzeinrichtung
US8140780B2 (en) 2008-12-31 2012-03-20 Micron Technology, Inc. Systems, methods, and devices for configuring a device
US8281395B2 (en) 2009-01-07 2012-10-02 Micron Technology, Inc. Pattern-recognition processor with matching-data reporting module
US8214672B2 (en) 2009-01-07 2012-07-03 Micron Technology, Inc. Method and systems for power consumption management of a pattern-recognition processor
US20100174887A1 (en) 2009-01-07 2010-07-08 Micron Technology Inc. Buses for Pattern-Recognition Processors
US8843523B2 (en) 2009-01-12 2014-09-23 Micron Technology, Inc. Devices, systems, and methods for communicating pattern matching results of a parallel pattern search engine
US8146040B1 (en) 2009-06-11 2012-03-27 Xilinx, Inc. Method of evaluating an architecture for an integrated circuit device
US20100325352A1 (en) 2009-06-19 2010-12-23 Ocz Technology Group, Inc. Hierarchically structured mass storage device and method
US9836555B2 (en) 2009-06-26 2017-12-05 Micron Technology, Inc. Methods and devices for saving and/or restoring a state of a pattern-recognition processor
US8159900B2 (en) 2009-08-06 2012-04-17 Unisyn Medical Technologies, Inc. Acoustic system quality assurance and testing
US8489534B2 (en) 2009-12-15 2013-07-16 Paul D. Dlugosch Adaptive content inspection
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
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
JP5763783B2 (ja) 2011-01-25 2015-08-12 マイクロン テクノロジー, インク. 正規表現をコンパイルするための方法および装置
US8843911B2 (en) 2011-01-25 2014-09-23 Micron Technology, Inc. Utilizing special purpose elements to implement a FSM
KR101607736B1 (ko) 2011-01-25 2016-03-30 마이크론 테크놀로지, 인크. 오토마톤의 진입 차수 및/또는 진출 차수를 제어하기 위한 양화 언롤링
KR101551045B1 (ko) 2011-01-25 2015-09-07 마이크론 테크놀로지, 인크. 요소 이용을 위한 상태 그룹화
US8782624B2 (en) 2011-12-15 2014-07-15 Micron Technology, Inc. Methods and systems for detection in a state machine
US9443156B2 (en) 2011-12-15 2016-09-13 Micron Technology, Inc. Methods and systems for data analysis in a state machine
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
US8593175B2 (en) 2011-12-15 2013-11-26 Micron Technology, Inc. Boolean logic in a state machine lattice
US20130275709A1 (en) 2012-04-12 2013-10-17 Micron Technology, Inc. Methods for reading data from a storage buffer including delaying activation of a column select
US8536896B1 (en) 2012-05-31 2013-09-17 Xilinx, Inc. Programmable interconnect element and method of implementing a programmable interconnect element
US9524248B2 (en) 2012-07-18 2016-12-20 Micron Technology, Inc. Memory management for a hierarchical memory system
US9235798B2 (en) 2012-07-18 2016-01-12 Micron Technology, Inc. Methods and systems for handling data received by a state machine engine
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
US9501131B2 (en) 2012-08-31 2016-11-22 Micron Technology, Inc. Methods and systems for power management in a pattern recognition processing system
KR102029055B1 (ko) 2013-02-08 2019-10-07 삼성전자주식회사 고차원 데이터의 시각화 방법 및 장치
US9448965B2 (en) 2013-03-15 2016-09-20 Micron Technology, Inc. Receiving data streams in parallel and providing a first portion of data to a first state machine engine and a second portion to a second state machine

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4495571A (en) * 1979-01-31 1985-01-22 Honeywell Information Systems Inc. Data processing system having synchronous bus wait/retry cycle
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

Also Published As

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

Similar Documents

Publication Publication Date Title
CN102272776B (zh) 用于型式辨识处理器的总线
US11782859B2 (en) Methods and systems for devices with self-selecting bus decoder
US11830243B2 (en) Bus translator
US11151140B2 (en) Methods and apparatuses for reducing power consumption in a pattern recognition processor
EP2386080B1 (en) Method and device for power consumption management 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