JP5763783B2 - 正規表現をコンパイルするための方法および装置 - Google Patents
正規表現をコンパイルするための方法および装置 Download PDFInfo
- Publication number
- JP5763783B2 JP5763783B2 JP2013550669A JP2013550669A JP5763783B2 JP 5763783 B2 JP5763783 B2 JP 5763783B2 JP 2013550669 A JP2013550669 A JP 2013550669A JP 2013550669 A JP2013550669 A JP 2013550669A JP 5763783 B2 JP5763783 B2 JP 5763783B2
- Authority
- JP
- Japan
- Prior art keywords
- automaton
- state
- states
- quantification
- netlist
- 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
Links
- 238000000034 method Methods 0.000 title claims description 78
- 230000014509 gene expression Effects 0.000 title description 74
- 238000011002 quantification Methods 0.000 claims description 173
- 230000007704 transition Effects 0.000 claims description 81
- 238000013461 design Methods 0.000 claims description 11
- 238000013507 mapping Methods 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 8
- 230000006399 behavior Effects 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 5
- 230000001131 transforming effect Effects 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 claims 1
- ORQBXQOJMQIAOY-UHFFFAOYSA-N nobelium Chemical compound [No] ORQBXQOJMQIAOY-UHFFFAOYSA-N 0.000 description 19
- 239000004020 conductor Substances 0.000 description 18
- 230000006870 function Effects 0.000 description 18
- 238000001514 detection method Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 8
- 238000000638 solvent extraction Methods 0.000 description 7
- 238000000137 annealing Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 5
- 230000008878 coupling Effects 0.000 description 5
- 238000010168 coupling process Methods 0.000 description 5
- 238000005859 coupling reaction Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 101150064138 MAP1 gene Proteins 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000002922 simulated annealing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
- G06F30/343—Logical level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
- G06F30/347—Physical level, e.g. placement or routing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/447—Target code generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4498—Finite state machines
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Devices For Executing Special Programs (AREA)
- Logic Circuits (AREA)
Description
本特許出願は、2011年1月25日に出願された、「METHOD AND APPARATUS FOR COMPILING REGULAR EXPRESSIONS」という名称の米国仮特許出願整理番号61/436,013に対する優先権の利益を主張し、これによって、参照によりその全体として本明細書に組み込まれる。
1) (n1=0,n2=−1)の場合、数量化は、SME 204、205で、かつカウンタ224なしで展開される(ブロック808)。ここで、カウンタ224は必要ない。
2) (n1=1,n2=−1)の場合、数量化は、SME 204、205で、かつカウンタ224なしで展開される(ブロック808)。ここで、カウンタ224は必要ない。
3) (n1>1,n2=−1)の場合、B{n,−1}がB{n1−1}B+と等しいので、数量化は2つの正規表現B{n1−1}およびB+に分割される。数量化B{n1−1}は、次いで、カウンタでおそらく実装でき(ブロック804)、他方B+は、SME 204、205で、かつカウンタ224なしで実装される(ブロック808)。B+に対して、カウンタ224は必要ない。
4) (n1=0,n2>0)の場合、(B{1,n2})?がB{0,n2}と等しいので、数量化は(B{1,n2})?に修正される。空値不能なB{1,n2}が、次いで、おそらくはカウンタ224で実装できる(ブロック804)。
5) (n1>0,n2>0)の場合、数量化は、カウンタ224でB{n1,n2}としておそらく実装され得る(ブロック804)。
要約として、修正することなく、カウンタ224でおそらく実装できる(ブロック804)数量化は、B{n1,n2}として記述でき、ここで、Bは空値可能でなく、n1>0、n2>0、およびn1≦n2である。
例1は、命令がその上に格納されたメモリを含むコンピュータを含む。コンピュータは、そのメモリに通信的に結合されたプロセッサも含み、命令は、プロセッサによって実行される際に、そのプロセッサに、ソースコードを、状態および状態間の遷移を含むオートマトンに変換させ、オートマトン内の状態は、専用ハードウェア要素に対応する専用状態を含む。命令は、また、プロセッサに、オートマトンをネットリストに変換させ、対象装置を構成するための機械コードを提供するために、そのネットリストを位置付けさせ、ルーティングさせる。
Claims (29)
- 命令がその上に格納されたメモリと、
前記メモリに通信的に結合され、対象装置をプログラムするためにソースコードを機械コードに変換するプロセッサであって、前記命令が、前記プロセッサによって実行される際に、前記プロセッサに:
前記ソースコードを、状態および前記状態間の遷移を含むオートマトンに変換することであって、前記オートマトン内の前記状態が、専用ハードウェア要素に対応する専用状態を含む、ソースコードをオートマトンに変換することと、
前記オートマトンをネットリストに変換することと、
前記機械コードを提供するために、前記ネットリストを位置付けて、ルーティングすることとを
させる、プロセッサと
を備えるコンピュータ。 - 前記ソースコードが数量化を含み、かつ
前記数量化が前記専用ハードウェア要素にマッピングされるための条件を満足する場合、ソースコードを変換することが、前記数量化を、前記専用状態を含む、複数の状態に変換することを前記プロセッサに実行させることを含む、
請求項1に記載のコンピュータ。 - 前記数量化が専用ハードウェア要素にマッピングされるための前記条件を満足しない場合、ソースコードを変換することが、前記数量化を、複数の汎用状態に展開することを前記プロセッサに実行させることを含む、請求項2に記載のコンピュータ。
- 展開することが、前記オートマトンの入次数を制御するように前記数量化を展開することを含む、請求項3に記載のコンピュータ。
- 前記オートマトンを最適化することをさらに含み、最適化することが、特定の状態の推定された入次数が前記対象装置の制約よりも多い場合に、前記オートマトンの前記特定の状態を複数の状態に分割することを前記プロセッサに実行させる命令を含む、請求項1に記載のコンピュータ。
- 前記特定の状態を分割することが、前記複数の状態の各々の入次数が前記制約を満足するように、前記特定の状態の駆動状態を前記複数の状態に分散することを含む、請求項5に記載のコンピュータ。
- 前記オートマトンを前記ネットリストに変換することが、前記状態を前記ネットリストのインスタンスにマッピングすることを含み、マッピングすることが、前記専用状態を、専用要素に対応する専用インスタンスにマッピングすることを前記プロセッサに実行させることを含む、請求項1に記載のコンピュータ。
- 前記オートマトンをネットリストに変換することが、前記対象装置の物理的設計に基づいて、状態をともにグループ化することを前記プロセッサに実行させることを含む、請求項7に記載のコンピュータ。
- インスタンスが、状態機械要素(SME)ハードウェア要素に対応するSMEインスタンスおよびSMEのグループを含むハードウェア要素に対応するSMEグループインスタンスを含み、かつ、グループ化することが、状態をSMEグループインスタンスにグループ化することを含む、請求項1に記載のコンピュータ。
- 対象ハードウェア装置をプログラムするためにソースコードからプログラミングデータを作成するコンピュータ実装方法であって、
1つまたは複数のプロセッサを使用して、前記ソースコードを構文木に解析することと、
前記1つまたは複数のプロセッサを使用して、前記構文木をオートマトンに変換することであって、前記オートマトンが、複数の状態および前記複数の状態間の遷移を有する動作のモデルを定義し、かつ、前記オートマトンの構造が、前記対象ハードウェア装置によって決定される、前記構文木をオートマトンに変換することと、
前記1つまたは複数のプロセッサを使用して、前記オートマトンをネットリストに変換することであって、前記ネットリストが複数のインスタンスを含み、各インスタンスが対象ハードウェア装置のハードウェア要素に対応する、前記オートマトンをネットリストに変換することと、
前記1つまたは複数のプロセッサを使用して、前記インスタンスの各々を位置付けることであって、位置付けることが、前記ネットリスト内の各インスタンスを前記対象ハードウェア装置のハードウェア要素に割り当てることを含む、前記インスタンスの各々を位置付けることと、
前記1つまたは複数のプロセッサを使用し、前記ネットリストに応じて前記ハードウェア要素間の接続をルーティングすることと、
位置付けおよびルーティングに基づいて前記プログラミングデータを作成することと
を含む、コンピュータ実装方法。 - 前記構文木をオートマトンに変換することが、前記ソースコード内の数量化を、前記対象ハードウェア装置のカウンタ要素に対応する専用状態を含む、複数の状態に変換することを含む、請求項10に記載のコンピュータ実装方法。
- SMEに対応する複数の汎用状態が、Group of Two(GOT)ハードウェア要素の出力制約に基づいてGOTインスタンスを形成するために、ともにグループ化される、請求項10に記載のコンピュータ実装方法。
- 前記オートマトンの入次数を制限することを含み、前記入次数を制限することが、前記オートマトンの状態への遷移数を制限することを含む、請求項10に記載のコンピュータ実装方法。
- 前記入次数を制限することが、特定の状態を複数の状態に分割すること、および前記複数の状態の各々の入次数が制約を満足するように、前記特定の状態の駆動状態を前記複数の状態に分散することを含む、請求項13に記載のコンピュータ実装方法。
- 前記入次数を制限することが、数量化を複数の展開された状態に展開すること、および任意の前記展開された状態に対する入遷移の前記数を制限することを含む、請求項13に記載のコンピュータ実装方法。
- プログラム可能装置であって、
1つまたは複数の入力および1つまたは複数の出力を含む、複数のプログラム可能要素と、
前記複数のプログラム可能要素の部分の外部回路に対するインタフェースのための入力ブロックおよび出力ブロックと、
前記複数のプログラム可能要素と、前記入力ブロックおよび前記出力ブロックを通信的に接続する複数のプログラム可能スイッチであって、1つまたは複数のプログラム可能スイッチの設定が、前記複数のプログラム可能要素および前記複数のプログラム可能スイッチのうちの任意の2つ以上の間をルーティングする信号を選択的に制御する、複数のプログラム可能スイッチと、
前記複数のプログラム可能要素および前記複数のプログラム可能スイッチを構成するためにソースコードから変換されるプログラミングデータを格納するように構成された複数のレジスタであって、前記プログラミングデータが:
1つまたは複数のプロセッサを使用して、前記ソースコードを構文木に解析することと;
前記1つまたは複数のプロセッサを使用して、前記構文木をオートマトンに変換することであって、前記オートマトンが、複数の状態および前記複数の状態間の遷移を有する動作のモデルを定義し、かつ、前記オートマトンの構造が、前記プログラム可能装置によって決定される、前記構文木をオートマトンに変換することと;
前記1つまたは複数のプロセッサを使用して、前記オートマトンをネットリストに変換することであって、前記ネットリストが複数のインスタンスを含み、各インスタンスが前記プログラム可能装置のハードウェア要素に対応する、前記オートマトンをネットリストに変換することと;
前記1つまたは複数のプロセッサを使用して、前記インスタンスの各々を位置付けることであって、位置付けることが、前記ネットリスト内の各インスタンスを前記プログラム可能装置のハードウェア要素に割り当てることを含む、前記インスタンスの各々を位置付けることと;
前記1つまたは複数のプロセッサを使用し、前記ネットリストに応じて前記ハードウェア要素間の接続をルーティングすることと;
位置付けおよびルーティングに基づいて、前記プログラミングデータを作成することと
によって作成される、複数のレジスタと
を含む、プログラム可能装置。 - 一時的な伝送信号ではない、命令を含むコンピュータ可読媒体であって、
前記命令が、1つまたは複数のプロセッサによって実装され、対象装置をプログラムするためにソースコードからプログラミングデータを作成するときに:
前記ソースコードを構文木に解析することと;
前記構文木をオートマトンに変換することであって、前記オートマトンが、複数の状態および前記複数の状態間の遷移を有する動作のモデルを定義し、かつ、前記オートマトンの構造が、対象装置によって決定される、前記構文木をオートマトンに変換することと;
前記オートマトンをネットリストに変換することであって、前記ネットリストが、前記対象装置に関連した、複数のハードウェア要素を含み、かつ、前記ネットリストが前記ハードウェア要素間の接続を定義する、前記オートマトンをネットリストに変換することと;
前記ハードウェア要素の各々を位置付けることであって、位置付けることが、前記ネットリスト内の各ハードウェア要素を前記対象装置内の位置に割り当てることを含む、前記ハードウェア要素の各々を位置付けることと;
前記ネットリストに応じて前記ハードウェア要素間の前記接続をルーティングすることと;
位置付けおよびルーティングを反映するように前記プログラミングデータを作成することと
を含む動作を実行する、
コンピュータ可読媒体。 - 前記構文木をオートマトンに変換することが、前記ソースコード内の数量化が、前記対象装置のカウンタにマッピングされるための条件を満足するかどうかを判断することを含み;
前記数量化が前記条件を満足する場合に、前記数量化を、カウンタ状態を含む複数の状態に変換し;かつ
前記数量化が前記条件を満足しない場合に、前記数量化を展開することにより、前記数量化を、複数のSME状態に変換する、
請求項17に記載のコンピュータ可読媒体。 - 前記数量化が前記条件を満足するかどうかを判断することが、前記数量化に対する駆動式が、前記数量化が処理されている間に一致できるかどうかを判断することを含む、請求項18に記載のコンピュータ可読媒体。
- 前記数量化が前記条件を満足するかどうかを判断することが、前記数量化の繰返し式が前記数量化の別の繰返し式のプレフィックスであるかどうかを判断することを含む、請求項19に記載のコンピュータ可読媒体。
- 前記数量化を、カウンタ状態を含む複数の状態に変換することが、前記複数の状態を、前記数量化の繰返し式および前記カウンタ状態を含むループとして実装することを含み、前記カウンタ状態が、前記繰返し式が一致する回数をカウントするように構成されていて、かつ、前記繰返し式が、前記数量化によって指定された回数一致する場合に、前記カウンタ状態が、下流の状態をアクティブにする、請求項20に記載のコンピュータ可読媒体。
- 展開することが、前記対象装置の入次数制約に基づいて、前記オートマトンの入次数を制御するように前記数量化を展開することを含む、請求項20に記載のコンピュータ可読媒体。
- 請求項17のプロセスによって生成されたプログラミングデータを使用してプログラムされたプログラム可能装置。
- 対象ハードウェア装置をプログラムするためにソースコードからプログラミングデータを作成するコンピュータ実装方法であって、
1つまたは複数のプロセッサを使用して、前記ソースコードを構文木に解析することと;
前記1つまたは複数のプロセッサを使用して、前記構文木をオートマトンに変換することであって、前記変換することが:
前記対象ハードウェア装置に基づいて前記オートマトンの構造を制限することであって、前記対象ハードウェア装置が、2つのグループにペア形成された状態機械要素を含む、前記オートマトンの構造を制限すること
を含む、前記構文木をオートマトンに変換することと、
前記1つまたは複数のプロセッサを使用して、前記オートマトンをネットリストに変換することであって、前記ネットリストが、前記対象ハードウェア装置に関連付けられた複数のハードウェア要素を含み、かつ、前記ネットリストが前記ハードウェア要素間の接続を定義する、前記オートマトンをネットリストに変換することと;
前記1つまたは複数のプロセッサを使用して、前記ハードウェア要素の各々を位置付けることであって、位置付けることが、前記ネットリスト内の各ハードウェア要素を前記対象装置内の位置に割り当てることを含む、前記ハードウェア要素の各々を位置付けることと;
前記1つまたは複数のプロセッサを使用し、前記ネットリストに応じて前記ハードウェア要素間の前記接続をルーティングすることと;
位置付けおよびルーティングを反映するように前記プログラミングデータを作成することと
を含む、コンピュータ実装方法。 - 前記構文木をオートマトンに変換することが、共通の出力を共有する前記2つのグループに基づいて、前記オートマトンの構造を制限することを含む、請求項24に記載の方法。
- 前記オートマトンの構造を制限することが、前記対象装置のカウンタ要素に基づいて、前記オートマトンの構造を制限することを含む、請求項24に記載の方法。
- 前記プログラミングデータを公開することをさらに含む、
請求項24に記載の方法。 - 複数の重複する状態を削減するために前記オートマトンを最適化することをさらに含む、請求項24に記載の方法。
- 請求項24のプロセスによって生成されたプログラミングデータを使用してプログラムされたプログラム可能装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161436013P | 2011-01-25 | 2011-01-25 | |
US61/436,013 | 2011-01-25 | ||
PCT/US2012/022435 WO2012103143A2 (en) | 2011-01-25 | 2012-01-24 | Method and apparatus for compiling regular expressions |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2014504767A JP2014504767A (ja) | 2014-02-24 |
JP2014504767A5 JP2014504767A5 (ja) | 2015-03-19 |
JP5763783B2 true JP5763783B2 (ja) | 2015-08-12 |
Family
ID=46545129
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013550669A Active JP5763783B2 (ja) | 2011-01-25 | 2012-01-24 | 正規表現をコンパイルするための方法および装置 |
Country Status (7)
Country | Link |
---|---|
US (4) | US8726253B2 (ja) |
EP (1) | EP2668575B1 (ja) |
JP (1) | JP5763783B2 (ja) |
KR (1) | KR101640295B1 (ja) |
CN (1) | CN103547998B (ja) |
TW (1) | TWI506556B (ja) |
WO (1) | WO2012103143A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9792097B2 (en) | 2011-01-25 | 2017-10-17 | Micron Technology, Inc. | Method and apparatus for compiling regular expressions |
Families Citing this family (81)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9710384B2 (en) | 2008-01-04 | 2017-07-18 | Micron Technology, Inc. | Microprocessor architecture having alternative memory access paths |
US8972958B1 (en) * | 2012-10-23 | 2015-03-03 | Convey Computer | Multistage development workflow for generating a custom instruction set reconfigurable processor |
US8938590B2 (en) | 2008-10-18 | 2015-01-20 | Micron Technology, Inc. | Indirect register access method and system |
US8209521B2 (en) | 2008-10-18 | 2012-06-26 | Micron Technology, Inc. | Methods of indirect register access including automatic modification of a directly accessible address register |
US7970964B2 (en) | 2008-11-05 | 2011-06-28 | Micron Technology, Inc. | Methods and systems to accomplish variable width data input |
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 |
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 |
US8140780B2 (en) | 2008-12-31 | 2012-03-20 | Micron Technology, Inc. | Systems, methods, and devices for configuring a device |
US20100174887A1 (en) | 2009-01-07 | 2010-07-08 | Micron Technology Inc. | Buses for Pattern-Recognition Processors |
US8281395B2 (en) | 2009-01-07 | 2012-10-02 | Micron Technology, Inc. | Pattern-recognition processor with matching-data reporting module |
US8214672B2 (en) | 2009-01-07 | 2012-07-03 | Micron Technology, Inc. | Method and systems for power consumption management of a pattern-recognition processor |
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 |
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 |
KR101551045B1 (ko) | 2011-01-25 | 2015-09-07 | 마이크론 테크놀로지, 인크. | 요소 이용을 위한 상태 그룹화 |
WO2012103148A2 (en) * | 2011-01-25 | 2012-08-02 | Micron Technology, Inc. | Unrolling quantifications to control in-degree and/or out degree of automaton |
US8843911B2 (en) | 2011-01-25 | 2014-09-23 | Micron Technology, Inc. | Utilizing special purpose elements to implement a FSM |
US8648621B2 (en) | 2011-12-15 | 2014-02-11 | Micron Technology, Inc. | Counter operation in a state machine lattice |
US9443156B2 (en) | 2011-12-15 | 2016-09-13 | Micron Technology, Inc. | Methods and systems for data analysis in a state machine |
US8680888B2 (en) | 2011-12-15 | 2014-03-25 | Micron Technologies, Inc. | Methods and systems for routing in a state machine |
US8782624B2 (en) | 2011-12-15 | 2014-07-15 | Micron Technology, Inc. | Methods and systems for detection in a state machine |
US8593175B2 (en) | 2011-12-15 | 2013-11-26 | Micron Technology, Inc. | Boolean logic in a state machine lattice |
US9116947B2 (en) * | 2012-03-15 | 2015-08-25 | Hewlett-Packard Development Company, L.P. | Data-record pattern searching |
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 |
US10430190B2 (en) | 2012-06-07 | 2019-10-01 | Micron Technology, Inc. | Systems and methods for selectively controlling multithreaded execution of executable code segments |
US9235798B2 (en) | 2012-07-18 | 2016-01-12 | Micron Technology, Inc. | Methods and systems for handling data received by a state machine engine |
US9524248B2 (en) | 2012-07-18 | 2016-12-20 | Micron Technology, Inc. | Memory management for a hierarchical memory system |
US9389841B2 (en) | 2012-07-18 | 2016-07-12 | Micron Technology, Inc. | Methods and systems for using state vector data in a state machine engine |
US9304968B2 (en) | 2012-07-18 | 2016-04-05 | Micron Technology, Inc. | Methods and devices for programming a state machine engine |
US9075428B2 (en) | 2012-08-31 | 2015-07-07 | Micron Technology, Inc. | Results generation for state machine engines |
US9063532B2 (en) | 2012-08-31 | 2015-06-23 | Micron Technology, Inc. | Instruction insertion in state machine engines |
US9501131B2 (en) | 2012-08-31 | 2016-11-22 | Micron Technology, Inc. | Methods and systems for power management in a pattern recognition processing system |
US9465608B2 (en) * | 2013-03-15 | 2016-10-11 | ArtinSoft Corporation | Code separation with semantic guarantees |
US10061573B2 (en) | 2013-01-29 | 2018-08-28 | Mobilize.Net Corporation | User interfaces of application porting software platform |
US10019259B2 (en) | 2013-01-29 | 2018-07-10 | Mobilize.Net Corporation | Code transformation using extensibility libraries |
US9459862B2 (en) | 2013-01-29 | 2016-10-04 | ArtinSoft Corporation | Automated porting of application to mobile infrastructures |
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 |
CA2909858A1 (en) * | 2013-04-25 | 2014-10-30 | B.G. Negev Technologies And Applications Ltd. | Accumulating automata and cascaded equations automata for non-interactive and perennial secure multi-party computation |
US10229104B2 (en) | 2013-08-01 | 2019-03-12 | Sonicwall Inc. | Efficient DFA generation for non-matching characters and character classes in regular expressions |
US9489215B2 (en) * | 2013-08-01 | 2016-11-08 | Dell Software Inc. | Managing an expression-based DFA construction process |
US9405652B2 (en) * | 2013-10-31 | 2016-08-02 | Red Hat, Inc. | Regular expression support in instrumentation languages using kernel-mode executable code |
US10275553B2 (en) * | 2014-01-15 | 2019-04-30 | Oracle International Corporation | Custom circuit power analysis |
US20190113542A1 (en) * | 2014-12-17 | 2019-04-18 | Tektronix, Inc. | Hardware trigger generation from a declarative protocol description |
WO2016109570A1 (en) | 2014-12-30 | 2016-07-07 | 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 |
US10846103B2 (en) | 2015-10-06 | 2020-11-24 | Micron Technology, Inc. | Methods and systems for representing processing resources |
US10691964B2 (en) | 2015-10-06 | 2020-06-23 | Micron Technology, Inc. | Methods and systems for event reporting |
US10977309B2 (en) | 2015-10-06 | 2021-04-13 | Micron Technology, Inc. | Methods and systems for creating networks |
US9792907B2 (en) | 2015-11-24 | 2017-10-17 | Intel IP Corporation | Low resource key phrase detection for wake on voice |
US10198646B2 (en) | 2016-07-01 | 2019-02-05 | International Business Machines Corporation | Hardware compilation of cascaded grammars |
US10146555B2 (en) | 2016-07-21 | 2018-12-04 | Micron Technology, Inc. | Adaptive routing to avoid non-repairable memory and logic defects on automata processor |
AU2016228166A1 (en) * | 2016-09-13 | 2018-03-29 | Canon Kabushiki Kaisha | Visualisation for guided algorithm design to create hardware friendly algorithms |
US10019311B2 (en) | 2016-09-29 | 2018-07-10 | Micron Technology, Inc. | Validation of a symbol response memory |
US10268602B2 (en) | 2016-09-29 | 2019-04-23 | Micron Technology, Inc. | System and method for individual addressing |
US20180113951A1 (en) * | 2016-10-20 | 2018-04-26 | Micron Technology, Inc. | Graph traversal using automata processor |
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 |
KR20180080463A (ko) * | 2017-01-04 | 2018-07-12 | 삼성전자주식회사 | 반도체 장치 및 반도체 장치의 동작 방법 |
US10481881B2 (en) * | 2017-06-22 | 2019-11-19 | Archeo Futurus, Inc. | Mapping a computer code to wires and gates |
US9996328B1 (en) * | 2017-06-22 | 2018-06-12 | Archeo Futurus, Inc. | Compiling and optimizing a computer code by minimizing a number of states in a finite machine corresponding to the computer code |
CN108874394A (zh) * | 2018-04-17 | 2018-11-23 | 上海达野智能科技有限公司 | 机器人用户程序的解释方法及解释装置 |
US10714122B2 (en) | 2018-06-06 | 2020-07-14 | Intel Corporation | Speech classification of audio for wake on voice |
US10983721B2 (en) | 2018-07-13 | 2021-04-20 | Fungible, Inc. | Deterministic finite automata node construction and memory mapping for regular expression accelerator |
US10656949B2 (en) | 2018-07-13 | 2020-05-19 | Fungible, Inc. | Instruction-based non-deterministic finite state automata accelerator |
US10635419B2 (en) * | 2018-07-13 | 2020-04-28 | Fungible, Inc. | Incremental compilation of finite automata for a regular expression accelerator |
US10650807B2 (en) | 2018-09-18 | 2020-05-12 | Intel Corporation | Method and system of neural network keyphrase detection |
US11127394B2 (en) | 2019-03-29 | 2021-09-21 | Intel Corporation | Method and system of high accuracy keyphrase detection for low resource devices |
US11636115B2 (en) | 2019-09-26 | 2023-04-25 | Fungible, Inc. | Query processing using data processing units having DFA/NFA hardware accelerators |
US11263190B2 (en) | 2019-09-26 | 2022-03-01 | Fungible, Inc. | Data ingestion and storage by data processing unit having stream-processing hardware accelerators |
US11636154B2 (en) | 2019-09-26 | 2023-04-25 | Fungible, Inc. | Data flow graph-driven analytics platform using data processing units having hardware accelerators |
US20210216879A1 (en) * | 2020-01-13 | 2021-07-15 | International Business Machines Corporation | Methods and systems for improving heuristic searches for artificial intelligence planning |
US11934964B2 (en) | 2020-03-20 | 2024-03-19 | Microsoft Technology Licensing, Llc | Finite automata global counter in a data flow graph-driven analytics platform having analytics hardware accelerators |
US11630729B2 (en) | 2020-04-27 | 2023-04-18 | Fungible, Inc. | Reliability coding with reduced network traffic |
US11704460B2 (en) * | 2020-06-10 | 2023-07-18 | University Of Florida Research Foundation, Incorporated | System and method for fast and accurate netlist to RTL reverse engineering |
US11385876B1 (en) * | 2021-04-01 | 2022-07-12 | Salesforce.Com, Inc. | Infrastructure control interface for database systems |
Family Cites Families (90)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5081608A (en) | 1988-04-18 | 1992-01-14 | Matsushita Electric Industrial Co., Ltd. | Apparatus for processing record-structured data by inserting replacement data of arbitrary length into selected data fields |
JP3130326B2 (ja) | 1991-03-20 | 2001-01-31 | 富士通株式会社 | 階層ネットワーク構成演算素子 |
US5586266A (en) | 1993-10-15 | 1996-12-17 | International Business Machines Corporation | System and method for adaptive, active monitoring of a serial data stream having a characteristic pattern |
US5537580A (en) | 1994-12-21 | 1996-07-16 | Vlsi Technology, Inc. | Integrated circuit fabrication using state machine extraction from behavioral hardware description language |
US5831853A (en) | 1995-06-07 | 1998-11-03 | Xerox Corporation | Automatic construction of digital controllers/device drivers for electro-mechanical systems using component models |
US5729678A (en) | 1996-03-04 | 1998-03-17 | Ag Communication Systems Corporation | Bus monitor system |
WO1998021651A1 (en) | 1996-11-14 | 1998-05-22 | Alcatel Usa Sourcing, L.P. | Generic software state machine and method of constructing dynamic objects for an application program |
US5966534A (en) | 1997-06-27 | 1999-10-12 | Cooke; Laurence H. | Method for compiling high level programming languages into an integrated processor with reconfigurable logic |
US6748588B1 (en) * | 1999-03-31 | 2004-06-08 | Microsoft Corporation | One-pass greedy-pattern-matching finite-state-machine code generation |
US6262594B1 (en) | 1999-11-05 | 2001-07-17 | Ati International, Srl | Apparatus and method for configurable use of groups of pads of a system on chip |
US6564336B1 (en) | 1999-12-29 | 2003-05-13 | General Electric Company | Fault tolerant database for picture archiving and communication systems |
US7140018B1 (en) | 2000-06-20 | 2006-11-21 | International Business Machines Corporation | Method of using a distinct flow of computational control as a reusable abstract data object |
US6832378B1 (en) | 2000-06-20 | 2004-12-14 | International Business Machines Corporation | Parallel software processing system |
US6507903B1 (en) | 2000-06-20 | 2003-01-14 | International Business Machines Corporation | High performance non-blocking parallel storage manager for parallel software executing on coordinates |
GB2367917A (en) | 2000-10-12 | 2002-04-17 | Qas Systems Ltd | Retrieving data representing a postal address from a database of postal addresses using a trie structure |
US7010476B2 (en) | 2000-12-18 | 2006-03-07 | Xerox Corporation | Method and apparatus for constructing finite-state networks modeling non-concatenative processes |
US7020850B2 (en) * | 2001-05-02 | 2006-03-28 | The Mathworks, Inc. | Event-based temporal logic |
JP4846924B2 (ja) | 2001-05-31 | 2011-12-28 | キヤノン株式会社 | パターン認識装置 |
US7546354B1 (en) | 2001-07-06 | 2009-06-09 | Emc Corporation | Dynamic network based storage with high availability |
JP2003044184A (ja) | 2001-08-01 | 2003-02-14 | Canon Inc | データ処理装置及び電力制御方法 |
US7170891B2 (en) | 2001-08-30 | 2007-01-30 | Messenger Terabit Networks, Inc. | High speed data classification system |
US20030066050A1 (en) | 2001-09-26 | 2003-04-03 | Wang Douglas W. | Method and system for programming devices using finite state machine descriptions |
US6957371B2 (en) * | 2001-12-04 | 2005-10-18 | Intellitech Corporation | Method and apparatus for embedded built-in self-test (BIST) of electronic circuits and systems |
US6785872B2 (en) | 2002-01-22 | 2004-08-31 | Hewlett-Packard Development Company, L.P. | Algorithm-to-hardware system and method for creating a digital circuit |
US20040127207A1 (en) * | 2002-09-25 | 2004-07-01 | Interdigital Technology Corporation | Programmable radio interface |
US7124392B2 (en) | 2002-09-27 | 2006-10-17 | Stmicroelectronics, Pvt. Ltd. | Mapping of programmable logic devices |
US7171561B2 (en) | 2002-10-17 | 2007-01-30 | The United States Of America As Represented By The Secretary Of The Air Force | Method and apparatus for detecting and extracting fileprints |
US7464254B2 (en) | 2003-01-09 | 2008-12-09 | Cisco Technology, Inc. | Programmable processor apparatus integrating dedicated search registers and dedicated state machine registers with associated execution hardware to support rapid application of rulesets to data |
CN1894559A (zh) | 2003-03-17 | 2007-01-10 | 索尼电子有限公司 | 执行使命引擎的方法和装置 |
WO2005038645A2 (en) | 2003-10-16 | 2005-04-28 | Canon Kabushiki Kaisha | Operation circuit and operation control method thereof |
JP4620944B2 (ja) | 2003-10-16 | 2011-01-26 | キヤノン株式会社 | 積和演算回路及びその方法 |
US7487542B2 (en) | 2004-01-14 | 2009-02-03 | International Business Machines Corporation | Intrusion detection using a network processor and a parallel pattern detection engine |
WO2005119531A2 (en) | 2004-06-01 | 2005-12-15 | Tera Systems, Inc. | Rule-based design consultant and method for integrated circuit design |
US20050283743A1 (en) | 2004-06-07 | 2005-12-22 | Mulholland Philip J | Method for generating hardware information |
WO2006013428A1 (en) | 2004-07-26 | 2006-02-09 | Nokia Corporation, | System and method for searching for content stored by one or more media servers |
US8135652B2 (en) | 2004-10-29 | 2012-03-13 | Nec Laboratories America, Inc. | Parallel support vector method and apparatus |
US7392229B2 (en) | 2005-02-12 | 2008-06-24 | Curtis L. Harris | General purpose set theoretic processor |
US7761851B2 (en) | 2005-05-31 | 2010-07-20 | International Business Machines Corporation | Computer method and system for integrating software development and deployment |
US7805301B2 (en) | 2005-07-01 | 2010-09-28 | Microsoft Corporation | Covariance estimation for pattern recognition |
US20070112701A1 (en) | 2005-08-15 | 2007-05-17 | Microsoft Corporation | Optimization of cascaded classifiers |
WO2007055181A1 (ja) | 2005-11-11 | 2007-05-18 | Matsushita Electric Industrial Co., Ltd. | 対話支援装置 |
JP4528728B2 (ja) | 2006-01-31 | 2010-08-18 | 株式会社東芝 | デジタル回路の自動設計装置、自動設計方法、および自動設計プログラム |
US7427871B2 (en) * | 2006-06-21 | 2008-09-23 | Element Cxi, Llc | Fault tolerant integrated circuit architecture |
US7809723B2 (en) | 2006-06-26 | 2010-10-05 | Microsoft Corporation | Distributed hierarchical text classification framework |
CN1877531A (zh) * | 2006-06-30 | 2006-12-13 | 浙江大学 | 一种嵌入式编译体系扫描器的实现方法 |
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 |
US7962428B2 (en) | 2006-11-30 | 2011-06-14 | Siemens Medical Solutions Usa, Inc. | System and method for joint optimization of cascaded classifiers for computer aided detection |
US20080168013A1 (en) | 2006-12-05 | 2008-07-10 | Paul Cadaret | Scalable pattern recognition system |
US8656381B2 (en) | 2006-12-07 | 2014-02-18 | International Business Machines Corporation | Presenting machine instructions in a machine-independent tree form suitable for post-link optimizations |
US8051022B2 (en) | 2006-12-08 | 2011-11-01 | Pandya Ashish A | Embedded programmable intelligent search memory (PRISM) that simultaneously performs regular expression based search and signature pattern based search |
WO2008073824A1 (en) | 2006-12-08 | 2008-06-19 | Pandya Ashish A | Dynamic programmable intelligent search memory |
CN101013452A (zh) | 2007-02-05 | 2007-08-08 | 江苏大学 | 一种符号化的模型检测方法 |
US7693806B2 (en) | 2007-06-21 | 2010-04-06 | Microsoft Corporation | Classification using a cascade approach |
CN101360088B (zh) | 2007-07-30 | 2011-09-14 | 华为技术有限公司 | 正则表达式编译、匹配***及编译、匹配方法 |
US8561037B2 (en) | 2007-08-29 | 2013-10-15 | Convey Computer | Compiler for generating an executable comprising instructions for a plurality of different instruction sets |
CN101201836B (zh) * | 2007-09-04 | 2010-04-14 | 浙江大学 | 基于带记忆确定有限自动机的正则表达式匹配加速方法 |
JP4957500B2 (ja) | 2007-10-12 | 2012-06-20 | 日本電気株式会社 | 文字列照合回路 |
CN101499065B (zh) | 2008-02-01 | 2011-11-02 | 华为技术有限公司 | 基于fa的表项压缩方法及装置、表项匹配方法及装置 |
CN101339501B (zh) | 2008-08-12 | 2012-07-18 | 北京航空航天大学 | 基于有向图的ws-bpel控制环路检测方法 |
JP5321589B2 (ja) | 2008-08-13 | 2013-10-23 | 日本電気株式会社 | 有限オートマトン生成装置、パターンマッチング装置、有限オートマトン回路生成方法およびプログラム |
US8095494B2 (en) * | 2008-10-16 | 2012-01-10 | International Business Machines Corporation | Rules-based cross-FSM transition triggering |
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 |
WO2010051542A2 (en) | 2008-10-31 | 2010-05-06 | Melodis Corporation | Melodis crystal decoder method and device |
US9639493B2 (en) | 2008-11-05 | 2017-05-02 | Micron Technology, Inc. | Pattern-recognition processor with results buffer |
US7917684B2 (en) | 2008-11-05 | 2011-03-29 | Micron Technology, Inc. | Bus translator |
US7970964B2 (en) | 2008-11-05 | 2011-06-28 | Micron Technology, Inc. | Methods and systems to accomplish variable width data input |
US20100118425A1 (en) | 2008-11-11 | 2010-05-13 | Menachem Rafaelof | Disturbance rejection in a servo control loop using pressure-based disc mode sensor |
US20100138575A1 (en) | 2008-12-01 | 2010-06-03 | Micron Technology, Inc. | Devices, systems, and methods to synchronize simultaneous dma parallel processing of a single data stream by multiple devices |
US9164945B2 (en) | 2008-12-01 | 2015-10-20 | Micron Technology, Inc. | Devices, systems, and methods to synchronize parallel processing of a single data stream |
US10007486B2 (en) | 2008-12-01 | 2018-06-26 | Micron Technology, Inc. | Systems and methods to enable identification of different data sets |
US9348784B2 (en) | 2008-12-01 | 2016-05-24 | Micron Technology, Inc. | Systems and methods for managing endian mode of a device |
US8140780B2 (en) | 2008-12-31 | 2012-03-20 | Micron Technology, Inc. | Systems, methods, and devices for configuring a device |
TWI395103B (zh) | 2008-12-31 | 2013-05-01 | C Media Electronics Inc | 自動執行訊號處理方法與具有該自動執行功能之裝置 |
US20100174887A1 (en) | 2009-01-07 | 2010-07-08 | Micron Technology Inc. | Buses for Pattern-Recognition Processors |
US8214672B2 (en) | 2009-01-07 | 2012-07-03 | Micron Technology, Inc. | Method and systems for power consumption management of a pattern-recognition processor |
US8281395B2 (en) | 2009-01-07 | 2012-10-02 | Micron Technology, Inc. | Pattern-recognition processor with matching-data reporting module |
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 |
US20100325633A1 (en) | 2009-06-19 | 2010-12-23 | Microsoft Corporation | Searching Regular Expressions With Virtualized Massively Parallel Programmable Hardware |
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 |
US8489534B2 (en) | 2009-12-15 | 2013-07-16 | Paul D. Dlugosch | Adaptive content inspection |
US9323994B2 (en) | 2009-12-15 | 2016-04-26 | Micron Technology, Inc. | Multi-level hierarchical routing matrices for pattern-recognition processors |
US9501705B2 (en) | 2009-12-15 | 2016-11-22 | Micron Technology, Inc. | Methods and apparatuses for reducing power consumption in a pattern recognition processor |
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 |
KR101551045B1 (ko) | 2011-01-25 | 2015-09-07 | 마이크론 테크놀로지, 인크. | 요소 이용을 위한 상태 그룹화 |
US8843911B2 (en) * | 2011-01-25 | 2014-09-23 | Micron Technology, Inc. | Utilizing special purpose elements to implement a FSM |
WO2012103148A2 (en) | 2011-01-25 | 2012-08-02 | Micron Technology, Inc. | Unrolling quantifications to control in-degree and/or out degree of automaton |
US8726253B2 (en) | 2011-01-25 | 2014-05-13 | Micron Technology, Inc. | Method and apparatus for compiling regular expressions |
-
2012
- 2012-01-24 US US13/357,472 patent/US8726253B2/en active Active
- 2012-01-24 CN CN201280012402.2A patent/CN103547998B/zh active Active
- 2012-01-24 WO PCT/US2012/022435 patent/WO2012103143A2/en active Application Filing
- 2012-01-24 KR KR1020137022309A patent/KR101640295B1/ko active IP Right Grant
- 2012-01-24 JP JP2013550669A patent/JP5763783B2/ja active Active
- 2012-01-24 EP EP12739626.5A patent/EP2668575B1/en active Active
- 2012-01-30 TW TW101102912A patent/TWI506556B/zh active
-
2014
- 2014-04-14 US US14/252,542 patent/US9146714B2/en active Active
-
2015
- 2015-09-28 US US14/868,047 patent/US9792097B2/en active Active
-
2017
- 2017-08-11 US US15/675,391 patent/US10089086B2/en active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9792097B2 (en) | 2011-01-25 | 2017-10-17 | Micron Technology, Inc. | Method and apparatus for compiling regular expressions |
US10089086B2 (en) | 2011-01-25 | 2018-10-02 | Micron Technologies, Inc. | Method and apparatus for compiling regular expressions |
Also Published As
Publication number | Publication date |
---|---|
CN103547998A (zh) | 2014-01-29 |
EP2668575A2 (en) | 2013-12-04 |
CN103547998B (zh) | 2016-11-09 |
US20160019034A1 (en) | 2016-01-21 |
WO2012103143A3 (en) | 2012-11-15 |
EP2668575A4 (en) | 2014-07-16 |
US9792097B2 (en) | 2017-10-17 |
EP2668575B1 (en) | 2021-10-20 |
US9146714B2 (en) | 2015-09-29 |
JP2014504767A (ja) | 2014-02-24 |
WO2012103143A2 (en) | 2012-08-02 |
US20140229925A1 (en) | 2014-08-14 |
TWI506556B (zh) | 2015-11-01 |
KR101640295B1 (ko) | 2016-07-15 |
TW201246081A (en) | 2012-11-16 |
US20170364337A1 (en) | 2017-12-21 |
US20120192163A1 (en) | 2012-07-26 |
KR20140006913A (ko) | 2014-01-16 |
US10089086B2 (en) | 2018-10-02 |
US8726253B2 (en) | 2014-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5763783B2 (ja) | 正規表現をコンパイルするための方法および装置 | |
JP5857072B2 (ja) | オートマトンの入次数および/または出次数を制御するための量化子の展開 | |
JP5848778B2 (ja) | Fsmを実装するための専用要素の利用 | |
JP5763784B2 (ja) | 要素利用のための状態のグループ化 | |
JP2014506693A5 (ja) | ||
US10846103B2 (en) | Methods and systems for representing processing resources |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150122 Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20150122 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150122 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20150206 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20150206 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20150304 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150317 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150501 Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20150501 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20150609 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150611 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5763783 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |