CN105159650B - 用于型式辨识处理器的电力消耗管理的方法及系统 - Google Patents

用于型式辨识处理器的电力消耗管理的方法及系统 Download PDF

Info

Publication number
CN105159650B
CN105159650B CN201510507862.8A CN201510507862A CN105159650B CN 105159650 B CN105159650 B CN 105159650B CN 201510507862 A CN201510507862 A CN 201510507862A CN 105159650 B CN105159650 B CN 105159650B
Authority
CN
China
Prior art keywords
piece
feature unit
deactivation
circuits
search
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
CN201510507862.8A
Other languages
English (en)
Other versions
CN105159650A (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 CN105159650A publication Critical patent/CN105159650A/zh
Application granted granted Critical
Publication of CN105159650B publication Critical patent/CN105159650B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • 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
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • G06N5/025Extracting rules from data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/046Forward inferencing; Production systems
    • G06N5/047Pattern matching networks; Rete networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Image Processing (AREA)
  • Power Sources (AREA)

Abstract

本申请涉及用于型式辨识处理器的电力消耗管理的方法及系统。本发明揭示方法及装置,其中一种装置包含型式辨识处理器(14、96、98)。在一些实施例中,所述型式辨识处理器(14、96、98)包含第一特征单元(100、102、104)块(106),所述块(106)经由第一多个局部输入导体(120)、第一块停用电路(96、124)及多个全局输入导体(119)耦合到解码器(28)。所述型式辨识处理器(14、96、98)进一步包含第二特征单元(108、110、122)块(114),所述块(114)经由第二多个局部输入导体(120)、第二块停用电路(98、126)及所述多个全局输入导体(119)耦合到所述解码器(28)。

Description

用于型式辨识处理器的电力消耗管理的方法及系统
分案申请的相关信息
本案是分案申请。该分案的母案是申请日为2009年12月16日、申请号为200980154019.9、发明名称为“用于型式辨识处理器的电力消耗管理的方法及系统”的发明专利申请案。
技术领域
本发明的实施例一般来说涉及型式辨识处理器,且更具体来说在某些实施例中涉及具有局部输入导体的型式辨识处理器。
背景技术
在计算领域中,型式辨识任务越来越具有挑战性。计算机之间传输的数据量不断增大,且用户希望识别的型式数目日益增加。举例来说,通常通过搜索数据流中的型式(例如,特定短语或代码片段)来检测垃圾邮件或恶意软件。型式的数目随着垃圾邮件及恶意软件的变化而增加,因为可实施新型式以搜索新变体。搜索数据流以找到这些型式中的每一者可形成计算瓶颈。通常,在接收到数据流时,搜索数据流以一次一个地找到每一型式。在系统准备搜索数据流的下一部分之前的延迟随着型式数目而增加。因此,型式辨识可使数据的接收减慢。
已设计硬件来针对型式搜索数据流,但此硬件通常消耗过多的电量。一些经配置以搜索数据流的装置通过在多个电路当中散布所述数据流来搜索所述数据流。所述电路各自确定所述数据流是否匹配型式的一部分。通常,大量电路并行操作,每一者在大体相同时间搜索数据流。这些电路中的每一者消耗电能量且产生热量。因此,所产生的热量及所消耗的电量随型式的数目按比例缩放。在具有大量电路的装置中,电的成本及移除此热量的困难使使用型式辨识硬件变得复杂。
发明内容
一方面,本申请涉及一种装置。所述装置包括:型式辨识处理器,其包括:块,每一所述块包括:多个特征单元,其经配置以分析准备分析的数据的至少一部分且选择性地提供所述分析的结果;以及块停用电路,其经配置以动态地使所述块掉电。
另一方面,本申请涉及一种型式辨识处理器。所述型式辨识处理器包括:第一特征单元中的第一块,其经配置以分析准备分析的数据中的至少一部分且提供所述分析的结果;第二特征单元中的第二块,其经配置以分析准备分析的数据中的至少第二部分且提供所述分析的第二结果;块停用电路,其经配置以动态地使所述第一块掉电。
另一方面,本申请涉及一种方法。所述方法包括:沿着耦合到第一特征单元的第一块和第二特征单元的第二块的全局导体接收指示准备搜索的数据流的信号;经由块停用电路确定所述第一块中的所述特征单元中的任何特征单元是否是活动的;且如果所述第一特征单元中没有一个是活动的,从所述块停用电路传输块去激活信号以使所述第一块掉电。
附图说明
图1描绘搜索数据流的系统的实例;
图2描绘图1的系统中的型式辨识处理器的实例;
图3描绘图2的型式辨识处理器中的搜索项单元的实例;
图4及图5描绘搜索数据流以找到单个字符的图3搜索项单元;
图6到图8描绘包含搜索数据流以找到词的数个搜索项单元的辨识模块;
图9描绘经配置以搜索数据流以并行找到两个词的辨识模块;
图10到图12描绘根据指定具有相同前缀的多个词的搜索准则进行搜索的辨识模块;
图13到图15描绘图2的型式辨识处理器中的块停用电路的实例;及
图16到图17图解说明图2的型式辨识处理器中的块停用电路的第二实例。
具体实施方式
图1描绘搜索数据流12的系统10的实例。系统10可包含型式辨识处理器14,其根据搜索准则16搜索数据流12。
每一搜索准则可指定一个或一个以上目标表达(即,型式)。短语“目标表达(target expression)”是指型式辨识处理器14正在搜索的数据序列。目标表达的实例包含拼写某一词的字符序列、指定基因的遗传碱基对序列、图片或视频文件中形成图像的一部分的位序列、可执行文件中形成程序的一部分的位序列或音频文件中形成歌曲或口语短语的一部分的位序列。
搜索准则可指定一个以上的目标表达。举例来说,搜索准则可指定以字母序列“cl”开始的所有五个字母的词、以字母序列“cl”开始的任一词、包含词“cloud”三次以上的段落等。目标表达的可能集合的数目为任意大,例如,可存在与数据流可呈现的数据排列同样多的目标表达。搜索准则可以各种格式来表达,包含规则表达、简明地指定目标表达集合而不必列举每一目标表达的编程语言。
每一搜索准则可由一个或一个以上搜索项构成。因此,搜索准则的每一目标表达可包含一个或一个以上搜索项且一些目标表达可使用共同搜索项。如本文中所使用,短语“搜索项(search term)”是指在单个搜索循环期间搜索的数据序列。所述数据序列可包含二进制格式或其它格式(例如,十进位、ASCII等)的多个数据位。所述序列可对具有单个数位或多个数位(例如,数个二进制数位)的数据进行编码。举例来说,型式辨识处理器14可一次一个字符地搜索文本数据流12,且搜索项可指定单个字符的集合,例如,字母“a”,字母“a”或“e”,或指定所有单个字符的集合的通配符搜索项。
搜索项可小于或大于指定字符(或由数据流表达的信息的其它字形—即,基本单位,例如,音符、遗传碱基对、10进位数位或子像素)的位的数目。举例来说,搜索项可为8个位且单个字符可为16个位,在此情况下,两个连续搜索项可指定单个字符。
搜索准则16可由编译器18格式化以用于型式辨识处理器14。格式化可包含从所述搜索准则拆析搜索项。举例来说,如果由数据流12表达的字形大于所述搜索项,那么所述编译器可将所述搜索准则拆析成多个搜索项以搜索单个字形。类似地,如果由数据流12表达的字形小于所述搜索项,那么编译器18可为每一单独字形提供具有未使用位的单个搜索项。编译器18也可格式化搜索准则16以支持型式辨识处理器14本机不支持的各种规则表达运算子。
型式辨识处理器14可通过评估来自数据流12的每一新项来搜索数据流12。此处,措辞“项”是指可匹配搜索项的数据量。在搜索循环期间,型式辨识处理器14可确定当前所呈现的项是否匹配搜索准则中的当前搜索项。如果所述项匹配所述搜索项,那么评估被“推进”,即,将下一项与搜索准则中的下一搜索项进行比较。如果所述项不匹配,那么将下一项与搜索准则中的第一项进行比较,借此复位所述搜索。
可将每一搜索准则编译到型式辨识处理器14中的不同有限状态机中。所述有限状态机可并行运行,从而根据搜索准则16搜索数据流12。当先前搜索项由数据流12匹配时,所述有限状态机可步进经过搜索准则中的每一连续搜索项,或如果所述搜索项未得到匹配,那么所述有限状态机可开始搜索所述搜索准则的第一搜索项。
型式辨识处理器14可(例如)在单个装置循环期间在约相同时间根据数个搜索准则及其相应搜索项评估每一新项。所述平行有限状态机可在约相同时间各自接收来自数据流12的项,且所述平行有限状态机中的每一者可确定所述项是否将所述所述平行有限状态机推进到其搜索准则中的下一搜索项。所述平行有限状态机可根据相对大数目的搜索准则(例如,100个以上、1000个以上或10,000个以上)来评估项。由于其并行操作,因此其可将所述搜索准则应用到具有相对高带宽的数据流12(例如,大于或大体等于每秒64MB或每秒128MB的数据流12)而不使所述数据流减慢。在一些实施例中,搜索-循环持续时间不随搜索准则的数目按比例调整,因此搜索准则的数目对型式辨识处理器14的性能可几乎没有影响。
当搜索准则得到满足时(即,在推进到最后一个搜索项且与其匹配后),型式辨识处理器14可将所述准则的满足报告给处理单元(例如,中央处理单元(CPU)20)。中央处理单元20可控制型式辨识处理器14及系统10的其它部分。
系统10可为搜索数据流的各种系统或装置中的任一者。举例来说,系统10可为监视数据流12的桌上型计算机、膝上型计算机、手持式计算机或其它类型的计算机。系统10也可为网络节点,例如,路由器、服务器或客户端(例如,先前所描述类型的计算机中的一者)。系统10可为某一其它类别的电子装置,例如,复印机、扫描仪、打印机、游戏控制台、电视、机上视频散布或记录系统、电缆盒、个人数字媒体播放器、工厂自动化系统、汽车计算机系统或医疗装置。(用于描述系统的这些各种实例的术语(像本文中所使用的许多其它术语)可共享一些所指物,且因此不应仅根据所列举的其它项来理解)。
数据流12可为用户或其它实体可希望搜索的各种类型的数据流中的一者或一者以上。举例来说,数据流12可为经由网络接收的数据流,例如,经由因特网接收的包或经由蜂窝式网络接收的语音或数据。数据流12可为从与系统10通信的传感器(例如,成像传感器、温度传感器、加速度计或类似物或其组合)接收的数据。数据流12可作为串行数据流由系统10接收,其中以具有意义的次序(例如,以时间、词法或语义显著的次序)接收数据。或者,可并行或无序地接收数据流12,且然后(例如)通过对经由因特网接收的包重新排序将其转换成串行数据流。在一些实施例中,数据流12可以串行方式呈现项,但可并行地接收表达所述项中的每一者的位。可从系统10外部的源接收数据流12,或可通过询问存储器装置且由所存储的数据形成数据流12来形成数据流12。
依据数据流12中的数据的类型,设计者可挑选不同类型的搜索准则。举例来说,搜索准则16可为病毒定义文件。可表征病毒或其它恶意软件,且可使用恶意软件的方面来形成指示数据流12是否可能正在递送恶意软件的搜索准则。可将所得搜索准则存储于服务器上,且客户端系统的操作者可预订将所述搜索准则下载到系统10的服务。当不同类型的恶意软件出现时,搜索准则16可从所述服务器周期性地更新。所述搜索准则也可用于指定可经由网络接收的不期望的内容,举例来说,不需要的电子邮件(通常称为垃圾邮件)或令用户反感的其它内容。
数据流12可由对系统10正在接收的数据感兴趣的第三方搜索。举例来说,可针对在版权作品中出现的文本、音频序列或视频序列来监视数据流12。可针对与刑事调查或民事诉讼有关或雇主感兴趣的言论来监视数据流12。
搜索准则16也可包含数据流12中针对其翻译(例如)在可由CPU 20或型式辨识处理器14寻址的存储器中可用的型式。举例来说,搜索准则16可各自指定在存储器中存储其对应西班牙语词的英语词。在另一实例中,搜索准则16可指定数据流12的经编码版本,例如,MP3、MPEG4、FLAC、Ogg Vorbis等,针对所述经编码版本,可得到数据流12的经解码版本,或反之亦然。
型式辨识处理器14可为与CPU 20一起集成到单个组件(例如,单个装置)中的硬件装置或可形成为单独组件。举例来说,型式辨识处理器14可为单独集成电路。型式辨识处理器14可称为“协处理器”或“型式辨识协处理器”。
图2描绘型式辨识处理器14的实例。型式辨识处理器14可包含辨识模块22及聚合模块24。辨识模块22可经配置以将所接收项与搜索项进行比较,且辨识模块22及聚合模块24两者可协作以确定将项与搜索项匹配是否满足搜索准则。
辨识模块22可包含一行解码器28及多个特征单元30。每一特征单元30可指定搜索项,且特征单元30的群组可形成形成搜索准则的平行有限状态机。特征单元30的组件可形成搜索项阵列32、检测阵列34及激活路由矩阵36。搜索项阵列32可包含多个输入导体37,所述输入导体中的每一者可使特征单元30中的每一者与行解码器28通信。
行解码器28可基于数据流12的内容在多个输入导体37当中选择特定导体。举例来说,行解码器28可为基于可表示一个项的所接收字节的值激活256个行中的一者的单字节到256行解码器。0000 0000的单字节项可对应于多个输入导体37当中的顶行,且1111 1111的单字节项可对应于多个输入导体37当中的底行。因此,依据从数据流12接收到哪些项,可选择不同输入导体37。在接收不同项时,行解码器28可去激活对应于先前项的行且激活对应于新项的行。
检测阵列34可耦合到检测总线38,所述检测总线将指示搜索准则的完全或部分满足的信号输出到聚合模块24。激活路由矩阵36可基于搜索准则中已得到匹配的搜索项的数目选择性地激活及去激活特征单元30。
聚合模块24可包含锁存器矩阵40、聚合路由矩阵42、阈值逻辑矩阵44、逻辑积矩阵46、逻辑和矩阵48及初始化路由矩阵50。
锁存器矩阵40可实施某些搜索准则的部分。一些搜索准则(例如,一些规则表达)仅计数匹配或匹配群组的第一次出现。锁存器矩阵40可包含记录匹配是否已出现的锁存器。可在搜索准则经确定得到满足或不可进一步满足(即,在可满足所述搜索准则之前,可需要再次匹配较早搜索项)时,在初始化期间清零锁存器,且在操作期间周期性地重新初始化锁存器。
聚合路由矩阵42可类似于激活路由矩阵36发挥作用。聚合路由矩阵42可在检测总线38上接收指示匹配的信号且可将所述信号路由到连接到阈值逻辑矩阵44的不同群组逻辑线53。聚合路由矩阵42也可将初始化路由矩阵50的输出路由到检测阵列34,以在搜索准则经确定得到满足或不可进一步满足时复位检测阵列34的部分。
阈值逻辑矩阵44可包含多个计数器,例如,经配置以递增计数或递减计数的32位计数器。阈值逻辑矩阵44可加载有初始计数且其可基于由辨识模块发信的匹配而从所述计数递增计数或递减计数。举例来说,阈值逻辑矩阵44可计数字在某一长度的文本中出现的数目。
阈值逻辑矩阵44的输出可为到逻辑积矩阵46的输入。逻辑积矩阵46可选择性地产生“积”结果(例如,布尔逻辑(Boolean logic)中的“AND”函数)。逻辑积矩阵46可实施为方矩阵,其中输出积的数目等于来自阈值逻辑矩阵44的输入线的数目,或逻辑积矩阵46可具有不同于输出的数目的输入。可将所得积值输出到逻辑和矩阵48。
逻辑和矩阵48可选择性地产生和(例如,布尔逻辑中的“OR”函数)。逻辑和矩阵48也可为方矩阵,或逻辑和矩阵48可具有不同于输出的数目的输入。由于所述输入为逻辑积,因此逻辑和矩阵48的输出可为逻辑积和(例如,布尔逻辑积和(SOP)形式)。逻辑和矩阵48的输出可由初始化路由矩阵50接收。
初始化路由矩阵50可经由聚合路由矩阵42复位检测阵列34及聚合模块24的部分。初始化路由矩阵50也可实施为方矩阵,或初始化路由矩阵50可具有不同于输出的数目的输入。例如,当搜索准则得到满足或经确定不可进一步满足时,初始化路由矩阵50可响应于来自逻辑和矩阵48的信号且重新初始化型式辨识处理器14的其它部分。
聚合模块24可包含输出缓冲器51,其接收阈值逻辑矩阵44、聚合路由矩阵42及逻辑和矩阵48的输出。聚合模块24的输出可在输出总线26上从输出缓冲器51传输到CPU 20(图1)。在一些实施例中,输出多路复用器可多路复用来自这些组件42、44及48的信号且将指示准则的满足或搜索项的匹配的信号输出到CPU 20(图1)。在其它实施例中,可在不经由所述输出多路复用器传输所述信号的情况下报告来自型式辨识处理器14的结果,此并非暗示也不可省略本文中所描述的任一其它特征。举例来说,可将来自阈值逻辑矩阵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可经配置以选择性地停用特征单元块106中的特征单元100、102及104,且块停用电路98可经配置以选择性地停用另一特征单元块114中的特征单元108、110及112。
特征单元块106及114各自可包含多个特征单元,例如,大于或等于约4、8、16、32、64、128、256、512、1024或2048的数目。块106及114中的每一者中的特征单元的数目可约相等,或块106及114可具有彼此不同数目的特征单元。所图解说明的辨识模块94包含两个块106及114,但其它实施例可包含更多个块,例如,数百个或数千个之多。块106及114中的每一者包含特征单元群组,所述特征单元彼此邻近,但在其它实施例中,一个块内的特征单元可与来自另一块的特征单元交错。块106及114各自包含一个块停用电路96或98,但其它实施例可包含一个以上块停用电路。举例来说,在块内,一个块停用电路可经配置以停用所述块内的特征单元的下部部分,且另一块停用电路可经配置以停用所述块内的特征单元的上部部分。块停用电路96及98可分别安置于块106及114中的每一者的一侧处,例如,较接近于行解码器28的侧,或在其它实施例中,块停用电路96及98可靠近块106及114的另一侧安置或安置于块106及114内的特征单元当中。举例来说,块停用电路96及98可靠近块106及114中的每一者的中部安置,以减小来自块停用电路96及98的信号行进到达块106及114的边缘的距离。
块停用电路96及98中的每一者可包含多个AND门116及OR门118。AND门116各自可具有两个输入端子:一个连接到OR门118的输出且一个连接到全局输入导体119。AND门116中的每一者的输出可连接到局部输入导体120。局部输入导体120可连接到块106或114内的存储器单元58中的每一者,而非其它块106或114内的存储器单元58。局部输入导体120可将致使存储器单元58输出其所存储的值的信号传输到存储器单元58。因此,局部输入导体120可类似于上文参照图2到图12所描述的输入导体37发挥作用。全局输入导体119可连接到块106及114中的每一者中的AND门116,借此使输入信号可供块106及114中的每一者使用。
OR门118各自可具有连接到其相关联块106或114内的检测单元68的输入端子。具体来说,OR门118的输入端子可连接到检测单元68中的每一者中的存储器单元70。因此,OR门118的输出可指示其相关联块106或114内的特征单元中的任一者是否是活动的。如果相关联块106或114内的特征单元中没有一个是活动的,那么OR门118可输出逻辑低信号或指示所述特征单元中没有一个活动的其它信号。如果相关联块106或114内的特征单元中的至少一者是活动的,那么OR门118可输出逻辑高信号或指示所述特征单元中的至少一者活动的其它信号。
辨识模块94的操作由图14到图15图解说明。在图14中,辨识模块94经配置以使得块106中的特征单元100是活动的且块114中的特征单元中没有一个是活动的。因此,块114中的特征单元由块停用电路98停用,而块106中的特征单元从行解码器28接收信号。
在此实例中,数据流12呈现致使行解码器28在全局输入导体119'上传输信号的项。此信号由块106中的特征单元接收,而非块114中的特征单元。可停用块114,因为块114中的特征单元中没有一个是活动的。由于不包含任何活动的特征单元,块114中的OR门118可输出逻辑低信号。因此,块停用电路98中的AND门116中的每一者的输入中的一者可为逻辑低,且因此AND门116中没有一个将信号从全局输入导体119'传输到局部输入导体120',借此防止块114中的存储器单元58输出其所存储的值。
相信停用不具有任何活动特征单元的块减少电力消耗。不是辨识模块94中的所有特征单元从与所接收项相关联的存储器单元58输出值,而是所述特征单元的子组不输出所存储的值。在本实例中,可节省电力,因为当新项被呈现时块114中的特征单元中没有一个输出值。相信此节约电能量,因为块114中的输出导体56不汲取电流。
然而,停用块114中的特征单元不损害辨识模块94的操作,因为块114中的特征单元中没有一个是活动的。因此,即使块114中的特征单元中的一者指定由数据流12呈现的项,那些特征单元也不将响应于所述项,因为其将不会既具有匹配且又是活动的。
图15图解说明辨识模块94的操作的另一实例。在图15中,块106中的所有特征单元已变为不活动,且块114中的特征单元中的一者已被激活。因此,块停用电路96停用块106,而块114可保持操作。在此实例中,块106中的OR门118可输出逻辑低值,因为其输入中的每一者为逻辑低。相反,块114中的OR门118可输出逻辑高值,因为其输入中的至少一者为逻辑高。此逻辑高输出可由块114中的AND门116中的每一者接收,且全局输入导体119上的信号可传输到块114中的局部输入导体120,而非块106中的局部输入导体120。同样,通过不从块106中的存储器单元58进行读取可节省电能量且减少热量产生。
在其它实例中,块106及114两者可包含因此活动的至少一个特征。在这些实例中,辨识模块94可与上文参照图2到图12所描述的辨识模块22类似或大体相同地发挥作用。
图16图解说明辨识模块122的另一实施例。辨识模块122可包含块停用电路124及126,其各自可具有存储器单元128,所述存储器单元指示其相关联块106或114中的特征单元中的任一者是否是活动的。存储器单元128可将其所存储的值输出到其相关联块停用电路124或126中的AND门116的输入中的一者。存储器单元128可包含前文所描述的类型的存储器单元中的任一者。
存储器单元128所存储的值可由激活路由矩阵36写入到存储器单元128。举例来说,激活路由矩阵36可经配置以每当相关联块106或114内的特征单元被激活时在存储器单元128中的每一者中存储逻辑高值。激活路由矩阵36也可经配置以在存储器单元的相关联块106或114内的所有特征单元被去激活时在存储器单元128中存储逻辑低值。
图17图解说明操作中的辨识模块122。在图17中,块106中的特征单元104既是活动的且又已检测到匹配。其检测单元68通过信号将此指示给激活路由矩阵36。作为响应,激活路由矩阵36将逻辑高值写入到块停用电路126中的存储器单元128及特征单元108中的存储器单元70中。因此,使块114操作。在后续操作期间,如果特征单元108变为不活动且块114中的其它特征单元中没有一个被激活,那么激活路由矩阵36可在块停用电路126中的存储器单元128中存储逻辑低值,借此停用块114且节约块114原本可消耗的电力。
虽然本发明可容许有各种修改及替代形式,但具体实施例已以实例方式显示于图式中并已详细描述于本文中。然而,应理解,本发明并非打算限定于所揭示的特定形式。相反,本发明将涵盖归属于如以上所附权利要求书所界定的本发明的精神及范围内的所有修改形式、等效形式及替代形式。

Claims (25)

1.一种装置,其包括:
型式辨识处理器,其包括:
多个块,每一所述块包括:
多个特征单元,其经配置以分析准备分析的数据的至少一部分且选择性地提供所述分析的结果;以及
块停用电路,其经配置以确定所述块的所述特征单元中的任何特征单元是否是活动的,且在所述块停用电路确定所述块中的所述特征单元中没有一个是活动的时动态地使所述块掉电,其中激活路由矩阵基于搜索准则中的搜索项选择性地激活及去激活所述特征单元。
2.根据权利要求1所述的装置,其中所述块停用电路经配置以接收所述块中的所述多个特征单元中的任何特征单元是否是活动的指示。
3.根据权利要求2所述的装置,其中所述块停用电路经配置以至少部分基于所述多个特征单元中的任何特征单元是否是活动的所述指示来动态地使所述块掉电。
4.根据权利要求1所述的装置,其中所述块停用电路包括存储器单元,所述存储器单元经配置以接收所述块中的所述多个特征单元中的任何特征单元是否是活动的指示。
5.根据权利要求4所述的装置,其中所述块停用电路经配置以至少部分基于存储在所述存储器单元中的值来动态地使所述块掉电。
6.根据权利要求1所述的装置,其中所述块停用电路包括多个AND门,每一所述AND门具有耦合至相应的局部输入导体的输出端子,其中每一相应局部输入导体耦合至所述多个块中的一者。
7.根据权利要求6所述的装置,其中所述多个AND门中的每一者具有耦合至相应的全局输入导体的输入端子,其中相应的全局输入导体中的每一者耦合到所述多个块中的至少两个块。
8.根据权利要求6所述的装置,其中所述块停用电路包括OR门,其中所述多个AND门中的每一者具有耦合到所述OR门的输出端子的输入端子。
9.根据权利要求8所述的装置,其中所述多个块中的每一者包括检测单元,其中所述OR门具有耦合到所述检测单元的输入端子。
10.根据权利要求9所述的装置,其中所述检测单元经配置以输出指示所述多个特征单元中的一者是否是活动的值。
11.根据权利要求1所述的装置,其中所述激活路由矩阵耦合到所述块停用电路,其中所述激活路由矩阵经配置以传输所述块中的所述多个特征单元中的任何特征单元是否是活动的指示。
12.根据权利要求11所述的装置,其中所述块停用电路经配置以至少部分基于所述多个特征单元中的任何特征单元是否是活动的指示来动态地使所述块掉电。
13.一种型式辨识处理器,其包括:
第一块中的第一多个特征单元,其经配置以分析准备分析的数据中的至少一部分且提供所述分析的结果;
第二块中的第二多个特征单元,其经配置以分析准备分析的数据中的至少第二部分且提供所述分析的第二结果;
块停用电路,其经配置以确定所述第一块的所述特征单元中的任何特征单元是否是活动的,且在所述块停用电路确定所述块中的所述特征单元中没有一个是活动的时动态地使所述第一块掉电,其中激活路由矩阵基于搜索准则中的搜索项选择性地激活及去激活所述第一多个特征单元,并选择性地激活及去激活所述第二多个特征单元。
14.根据权利要求13所述的型式辨识处理器,其中所述激活路由矩阵耦合到所述块停用电路,其中所述激活路由矩阵经配置以发射所述第一块中的所述第一多个特征单元中的任何特征单元是否是活动的指示。
15.根据权利要求14所述的型式辨识处理器,其中所述块停用电路经配置以接收所述第一块中的所述第一多个特征单元中的任何特征单元是否是活动的指示,且至少部分基于所述第一多个特征单元中的任何特征单元是否是活动的指示来动态地使所述第一块掉电。
16.根据权利要求15所述的型式辨识处理器,其中所述块停用电路包括存储器,所述存储器经配置以存储所述第一块中的所述第一多个特征单元中的任何特征单元是否是活动的所述指示。
17.根据权利要求13所述的型式辨识处理器,其包括第二块停用电路,所述第二块停用电路经配置以动态地使所述第二块掉电。
18.根据权利要求17所述的型式辨识处理器,其中所述激活路由矩阵耦合到所述第二块停用电路,其中所述激活路由矩阵经配置以传输所述第二块中的所述第二多个特征单元中的任何特征单元是否是活动的指示。
19.根据权利要求18所述的型式辨识处理器,其中所述第二块停用电路经配置以接收所述第二块中的所述第二多个特征单元中的任何特征单元是否是活动的所述指示,且至少部分基于所述第二多个特征单元中的任何特征单元是否是活动的所述指示来动态地使所述第二块掉电。
20.根据权利要求18所述的型式辨识处理器,其中所述第二块停用电路包括存储器,所述存储器经配置以存储所述第二块中的所述第二多个特征单元中的任何特征单元是否是活动的所述指示。
21.一种方法,其包括:
沿着耦合到第一块中的第一多个特征单元和第二块中的第二多个特征单元的全局输入导体接收指示准备搜索的数据流的信号;
经由块停用电路确定所述第一块中的所述特征单元中的任何特征单元是否是活动的;且
如果所述第一多个特征单元中没有一个是活动的,从所述块停用电路传输块去激活信号以使所述第一块掉电,其中激活路由矩阵基于搜索准则中的搜索项选择性地激活及去激活所述第一多个特征单元,并选择性地激活及去激活所述第二多个特征单元。
22.根据权利要求21所述的方法,其中确定所述第一块中的所述第一多个特征单元中的任何特征单元是否是活动的包括从耦合到所述第一多个特征单元中的每一者的OR门输出信号。
23.根据权利要求21所述的方法,其中确定所述第一块中的所述第一多个特征单元中的任何特征单元是否是活动的包括输出由所述块停用电路中的存储器单元存储的值,其中所述值指示所述第一块中的所述第一多个特征单元中的任何特征单元是否是活动的。
24.根据权利要求21所述的方法,其包括:
经由所述块停用电路确定所述第二块中的所述多个特征单元中的任何特征单元是否是活动的;且
如果所述第二多个特征单元中没有一个是活动的,从所述块停用电路传输第二块去激活信号以使所述第二块掉电。
25.根据权利要求21所述的方法,其包括根据搜索准则经由所述第一块或所述第二块搜索所述数据流。
CN201510507862.8A 2009-01-07 2009-12-16 用于型式辨识处理器的电力消耗管理的方法及系统 Active CN105159650B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/350,142 US8214672B2 (en) 2009-01-07 2009-01-07 Method and systems for power consumption management of a pattern-recognition processor
US12/350,142 2009-01-07
CN200980154019.9A CN102272713B (zh) 2009-01-07 2009-12-16 用于型式辨识处理器的电力消耗管理的方法及系统

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN200980154019.9A Division CN102272713B (zh) 2009-01-07 2009-12-16 用于型式辨识处理器的电力消耗管理的方法及系统

Publications (2)

Publication Number Publication Date
CN105159650A CN105159650A (zh) 2015-12-16
CN105159650B true CN105159650B (zh) 2018-01-23

Family

ID=41738884

Family Applications (2)

Application Number Title Priority Date Filing Date
CN200980154019.9A Active CN102272713B (zh) 2009-01-07 2009-12-16 用于型式辨识处理器的电力消耗管理的方法及系统
CN201510507862.8A Active CN105159650B (zh) 2009-01-07 2009-12-16 用于型式辨识处理器的电力消耗管理的方法及系统

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN200980154019.9A Active CN102272713B (zh) 2009-01-07 2009-12-16 用于型式辨识处理器的电力消耗管理的方法及系统

Country Status (7)

Country Link
US (3) US8214672B2 (zh)
EP (1) EP2386080B1 (zh)
JP (1) JP5489014B2 (zh)
KR (1) KR101694560B1 (zh)
CN (2) CN102272713B (zh)
TW (1) TWI414998B (zh)
WO (1) WO2010080444A2 (zh)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
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
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
US20100174887A1 (en) 2009-01-07 2010-07-08 Micron Technology Inc. Buses for Pattern-Recognition Processors
EP2494484A4 (en) * 2009-10-31 2016-05-18 Hewlett Packard Development Co IDENTIFICATION OF POOR CODES
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
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
EP2668574B1 (en) 2011-01-25 2021-11-24 Micron Technology, INC. Utilizing special purpose elements to implement a fsm
KR101607736B1 (ko) 2011-01-25 2016-03-30 마이크론 테크놀로지, 인크. 오토마톤의 진입 차수 및/또는 진출 차수를 제어하기 위한 양화 언롤링
CN103430148B (zh) 2011-01-25 2016-09-28 美光科技公司 用于元件利用的状态分组
EP2668575B1 (en) 2011-01-25 2021-10-20 Micron Technology, INC. Method and apparatus for compiling regular expressions
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
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
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
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
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
WO2016109571A1 (en) 2014-12-30 2016-07-07 Micron Technology, Inc Devices for time division multiplexing of state machine engine signals
US11366675B2 (en) 2014-12-30 2022-06-21 Micron Technology, Inc. Systems and devices for accessing a state machine
US10430210B2 (en) 2014-12-30 2019-10-01 Micron Technology, Inc. Systems and devices for accessing a state machine
US10977309B2 (en) 2015-10-06 2021-04-13 Micron Technology, Inc. Methods and systems for creating networks
US10691964B2 (en) 2015-10-06 2020-06-23 Micron Technology, Inc. Methods and systems for event reporting
US10846103B2 (en) 2015-10-06 2020-11-24 Micron Technology, Inc. Methods and systems for representing processing resources
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
US11709681B2 (en) 2017-12-11 2023-07-25 Advanced Micro Devices, Inc. Differential pipeline delays in a coprocessor
US11567554B2 (en) * 2017-12-11 2023-01-31 Advanced Micro Devices, Inc. Clock mesh-based power conservation in a coprocessor based on in-flight instruction characteristics

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5602764A (en) * 1993-12-22 1997-02-11 Storage Technology Corporation Comparing prioritizing memory for string searching in a data compression system
US6553525B1 (en) * 1999-11-08 2003-04-22 International Business Machines Corporation Method and apparatus for selectively enabling and disabling functions on a per array basis

Family Cites Families (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US944710A (en) * 1905-11-18 1909-12-28 Nat Water Main Cleaning Company Pipe-cleaning device.
US4478629A (en) * 1981-07-08 1984-10-23 Ball Corporation Power failure detection system for a glassware forming machine
DE3538143A1 (de) 1985-10-26 1987-04-30 Hoechst Ag Verfahren zur herstellung von acyloxibenzolsulfonsaeuren und deren salzen
JPH05282362A (ja) * 1992-03-31 1993-10-29 Sharp Corp データ検索回路
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
US5615162A (en) * 1995-01-04 1997-03-25 Texas Instruments Incorporated Selective power to memory
JPH08249241A (ja) * 1995-03-15 1996-09-27 Nec Corp 記憶装置
JPH09167130A (ja) * 1995-12-15 1997-06-24 Fujitsu Ltd Wwwサーバのための通信処理装置
DE19617733A1 (de) * 1996-05-03 1997-11-06 Fichtel & Sachs Ag Schaltbarer Klinkenfreilauf für Mehrgangnaben für Fahrräder
US6094443A (en) 1997-10-30 2000-07-25 Advanced Micro Devices, Inc. Apparatus and method for detecting a prescribed pattern in a data stream by selectively skipping groups of nonrelevant data bytes
US6301671B1 (en) * 1998-03-23 2001-10-09 International Business Machines Corporation Apparatus and method for power reduction control in a video encoder device
JPH11298424A (ja) * 1998-04-10 1999-10-29 Matsushita Electric Ind Co Ltd 情報受信装置
US6470418B1 (en) * 1999-01-15 2002-10-22 Integrated Device Technology, Inc. Pipelining a content addressable memory cell array for low-power operation
US6324087B1 (en) * 2000-06-08 2001-11-27 Netlogic Microsystems, Inc. Method and apparatus for partitioning a content addressable memory device
US6763425B1 (en) * 2000-06-08 2004-07-13 Netlogic Microsystems, Inc. Method and apparatus for address translation in a partitioned content addressable memory device
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
US6240003B1 (en) * 2000-05-01 2001-05-29 Micron Technology, Inc. DRAM content addressable memory using part of the content as an address
US7088604B2 (en) * 2001-03-15 2006-08-08 Micron Technology, Inc. Multi-bank memory
US7088860B2 (en) * 2001-03-28 2006-08-08 Canon Kabushiki Kaisha Dynamically reconfigurable signal processing circuit, pattern recognition apparatus, and image processing apparatus
JP2003060745A (ja) * 2001-08-22 2003-02-28 Sony Corp 情報伝達装置、情報伝達方法及びモニタ装置
US7401180B1 (en) * 2001-12-27 2008-07-15 Netlogic Microsystems, Inc. Content addressable memory (CAM) device having selectable access and method therefor
US7185141B1 (en) * 2001-12-27 2007-02-27 Netlogic Microsystems, Inc. Apparatus and method for associating information values with portions of a content addressable memory (CAM) device
US6717876B2 (en) * 2001-12-28 2004-04-06 Mosaid Technologies Incorporated Matchline sensing for content addressable memories
US6768659B2 (en) * 2001-12-31 2004-07-27 Mosaid Technologies Incorporated Circuit and method for reducing power usage in a content addressable memory
US7421515B2 (en) * 2002-01-17 2008-09-02 Hewlett-Packard Development Company, L.P. Method and system for communications network
US7467129B1 (en) * 2002-09-06 2008-12-16 Kawasaki Microelectronics, Inc. Method and apparatus for latency and power efficient database searches
US7146643B2 (en) * 2002-10-29 2006-12-05 Lockheed Martin Corporation Intrusion detection accelerator
US6888731B2 (en) * 2002-11-29 2005-05-03 Mosaid Technologies Incorporated Method and apparatus for replacing defective rows in a semiconductor memory array
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
JP2004328103A (ja) * 2003-04-22 2004-11-18 Matsushita Electric Works Ltd 誤り検出回路
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
US7174469B2 (en) * 2003-09-30 2007-02-06 International Business Machines Corporation Processor power and energy management
JP2005190429A (ja) * 2003-12-26 2005-07-14 Hiroshima Univ 参照データ認識・学習方法及びパターン認識システム
US7487542B2 (en) 2004-01-14 2009-02-03 International Business Machines Corporation Intrusion detection using a network processor and a parallel pattern detection engine
US7251707B1 (en) * 2004-02-06 2007-07-31 Netlogic Microsystems, Inc. Content based content addressable memory block enabling using search key
US7437402B1 (en) * 2004-02-25 2008-10-14 Analog Devices, Inc. Low-power, high-speed word comparator
JP3861157B2 (ja) * 2004-02-27 2006-12-20 国立大学法人広島大学 参照データ最適化装置とパターン認識システム
US7057913B2 (en) * 2004-04-06 2006-06-06 Intel Corporation Low-power search line circuit encoding technique for content addressable memories
EP1600845A1 (en) * 2004-05-28 2005-11-30 STMicroelectronics Limited Processor with power saving circuitry
US7523330B2 (en) * 2004-06-30 2009-04-21 Sun Microsystems, Inc. Thread-based clock enabling in a multi-threaded processor
US7437581B2 (en) * 2004-09-28 2008-10-14 Intel Corporation Method and apparatus for varying energy per instruction according to the amount of available parallelism
US7050318B1 (en) * 2004-10-01 2006-05-23 Netlogic Microsystems, Inc. Selective match line pre-charging in a CAM device using pre-compare operations
US20060143374A1 (en) * 2004-12-29 2006-06-29 Sailesh Kottapalli Pipelined look-up in a content addressable memory
US7392229B2 (en) * 2005-02-12 2008-06-24 Curtis L. Harris General purpose set theoretic processor
CA2509496A1 (en) * 2005-06-06 2006-12-06 3618633 Canada Inc. Search-enhanced trie-based syntactic pattern recognition of sequences
US7598630B2 (en) * 2005-07-29 2009-10-06 Intel Corporation IC with on-die power-gating circuit
JP2007066075A (ja) * 2005-08-31 2007-03-15 Nikon Corp 起動/停止ロジック回路
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
US7443759B1 (en) * 2006-04-30 2008-10-28 Sun Microsystems, Inc. Reduced-power memory with per-sector ground control
US7512634B2 (en) * 2006-06-05 2009-03-31 Tarari, Inc. Systems and methods for processing regular expressions
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
US8001361B2 (en) * 2006-12-13 2011-08-16 International Business Machines Corporation Structure for a single shared instruction predecoder for supporting multiple processors
WO2008142767A1 (ja) * 2007-05-21 2008-11-27 Renesas Technology Corp. 半導体装置
US7643353B1 (en) * 2007-10-25 2010-01-05 Netlogic Microsystems, Inc. Content addressable memory having programmable interconnect structure
US20090271646A1 (en) * 2008-04-24 2009-10-29 Vanish Talwar Power Management Using Clustering In A Multicore System
US8112647B2 (en) * 2008-08-27 2012-02-07 Globalfoundries Inc. Protocol for power state determination and demotion
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
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
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
US9348784B2 (en) 2008-12-01 2016-05-24 Micron Technology, Inc. Systems and methods for managing endian mode of a device
US9164945B2 (en) 2008-12-01 2015-10-20 Micron Technology, Inc. Devices, systems, and methods to synchronize parallel processing of a single data stream
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
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
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
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
US7920399B1 (en) * 2010-10-21 2011-04-05 Netlogic Microsystems, Inc. Low power content addressable memory device having selectable cascaded array segments
EP2668574B1 (en) 2011-01-25 2021-11-24 Micron Technology, INC. Utilizing special purpose elements to implement a fsm
KR101607736B1 (ko) 2011-01-25 2016-03-30 마이크론 테크놀로지, 인크. 오토마톤의 진입 차수 및/또는 진출 차수를 제어하기 위한 양화 언롤링
CN103430148B (zh) 2011-01-25 2016-09-28 美光科技公司 用于元件利用的状态分组
EP2668575B1 (en) 2011-01-25 2021-10-20 Micron Technology, INC. Method and apparatus for compiling regular expressions

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5602764A (en) * 1993-12-22 1997-02-11 Storage Technology Corporation Comparing prioritizing memory for string searching in a data compression system
US6553525B1 (en) * 1999-11-08 2003-04-22 International Business Machines Corporation Method and apparatus for selectively enabling and disabling functions on a per array basis

Also Published As

Publication number Publication date
US20100174929A1 (en) 2010-07-08
EP2386080A2 (en) 2011-11-16
KR101694560B1 (ko) 2017-01-09
TWI414998B (zh) 2013-11-11
CN105159650A (zh) 2015-12-16
US20120266005A1 (en) 2012-10-18
JP2012514789A (ja) 2012-06-28
TW201033900A (en) 2010-09-16
US8214672B2 (en) 2012-07-03
US20160320829A1 (en) 2016-11-03
CN102272713B (zh) 2015-09-23
CN102272713A (zh) 2011-12-07
US10152113B2 (en) 2018-12-11
EP2386080B1 (en) 2019-01-23
JP5489014B2 (ja) 2014-05-14
WO2010080444A3 (en) 2010-09-02
US9389833B2 (en) 2016-07-12
WO2010080444A2 (en) 2010-07-15
KR20110110791A (ko) 2011-10-07

Similar Documents

Publication Publication Date Title
CN105159650B (zh) 用于型式辨识处理器的电力消耗管理的方法及系统
US10466966B2 (en) Systems and methods to enable identification of different data sets
US11151140B2 (en) Methods and apparatuses for reducing power consumption in a pattern recognition processor
CN102203802B (zh) 具有结果缓冲器的模式辨识处理器
US20180075165A1 (en) Methods and Devices for Saving and/or Restoring a State of a Pattern-Recognition Processor
US8281395B2 (en) Pattern-recognition processor with matching-data reporting module
KR101320713B1 (ko) 병렬 패턴 검색 엔진의 패턴 정합 결과를 전달하는 장치, 시스템 및 방법
US20120265970A1 (en) System and method of indirect register access
US20100138634A1 (en) Devices, systems, and methods to synchronize parallel processing of a single data stream
US20100100691A1 (en) Indirect Register Access Method and System
CN102232216A (zh) 用于管理装置的字节序模式的系统及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant