IP Library Granted Patent US 9,886,017
Granted Patent B2
US 9,886,017 · App. 15/605,542 · Granted Feb 6, 2018

Counter operation in a state machine lattice

Inventors: Harold B Noyes (Boise, ID); David R. Brown (Lucas, TX); Paul Glendenning (Woodside, CA)
Assignee: Micron Technology, Inc.
G05B19/045G06F9/444G06F15/82G06F21/567G06N5/047H03K19/17724H03K19/17748G06F2207/025
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,886,017
App. No.
15/605,542
Granted
Feb 6, 2018
Kind
B2
Abstract

Disclosed are methods and devices, among which is a device that includes a finite state machine lattice. The lattice may include a counter suitable for counting a number of times a programmable element in the lattice detects a condition. The counter may be configured to output in response to counting the condition was detected a certain number of times. For example, the counter may be configured to output in response to determining a condition was detected at least (or no more than) the certain number of times, determining the condition was detected exactly the certain number of times, or determining the condition was detected within a certain range of times. The counter may be coupled to other counters in the device for determining high-count operations and/or certain quantifiers.

Claims (37)

1. A system, comprising:

a state machine engine, comprising:

a plurality of blocks, each of the blocks comprising a plurality of rows, each of the rows comprising a plurality of programmable elements, wherein a particular one of the programmable elements is configured to output a signal based on a detection of a condition; and

at least one of the rows of a particular one of the blocks further comprising a counter configured to be selectively coupleable to any of the plurality of programmable elements in any of the plurality of rows of the particular one of the blocks,

wherein the counter is configured to transmit an output in response to counting that the condition was detected a certain number of times.

2. The system of claim 1 , wherein each of the plurality of rows of the particular one of the blocks comprises intra-row circuitry configured to selectively couple any of the plurality of programmable elements of that row with the counter.

3. The system of claim 2 , wherein each of the plurality of blocks comprises intra-block circuitry configured to selectively couple any of the plurality of rows of that block, wherein one counter in one of the plurality of rows of that block may be coupled to another counter in another one of the plurality of rows of that block.

4. The system of claim 3 , wherein the state machine engine comprises inter-block circuitry configured to selectively couple any of the plurality of blocks, wherein the counter in the particular one of the plurality of blocks may be selectively coupled to a programmable element in another one of the plurality of blocks via the intra-row circuitry, the intra-block circuitry, and the inter-block circuitry.

5. The system of claim 1 , wherein each counter comprises a decrementing counter.

6. The system of claim 1 , wherein the counter being configured to be selectively coupleable to any other counter in the plurality of rows comprises the counter being configured to be selectively coupleable to any other counter in the plurality of rows to form a cascaded counter.

7. The system of claim 1 , comprising a processor configured to be coupled to the state machine engine.

8. The system of claim 7 , wherein the processor is configured to transmit, to the state machine engine, instructions corresponding to data to be analyzed.

9. The system of claim 8 , wherein the state machine engine is configured to transmit a result of an analysis of the data to the processor.

10. The system of claim 8 , comprising a memory coupled to the state machine engine via an interface bus, wherein the memory is configured to transmit the data to be analyzed to the state machine engine.

11. The system of claim 1 , wherein a particular one of the plurality of rows of the particular one of the blocks not comprising a counter comprises a Boolean logic cell, wherein the Boolean logic cell is selectively coupleable to the counter via intra-row circuitry and intra-block circuitry.

12. The system of claim 1 , wherein the counter is configured to be selectively coupleable to any other counter in the plurality of rows of the particular one of the blocks.

13. The system of claim 1 , comprising a server, a personal computer, a work station, a router, a network switch, chip test equipment, a laptop, a cell phone, a media player, a game console, or a mainframe computer that comprises the system.

14. A system, comprising:

a state machine engine;

a processor coupled to the state machine engine, wherein the processor is configured to transmit instructions corresponding to input data to be searched to the state machine engine;

a memory coupled to the state machine engine via an interface bus, wherein the state machine engine is configured to receive the input data to be searched from the memory, wherein the state machine engine comprises:

a row configured to receive a portion of the input data to be searched, wherein the row comprises:

a plurality of programmable elements, wherein each of the programmable elements is configured to output an indication that detection of a match with the portion of the input data to be searched has occurred; and

a counter, wherein the counter is configured to be selectively coupleable to any of the plurality of programmable elements, wherein the counter is configured receive any indications that detection of the match with the portion of the input data to be searched has occurred from the plurality of programmable elements coupled to the counter, wherein the counter is configured to count the indications.

15. The system of claim 14 , wherein the counter is configured to output a counter signal based at least in part on the count of indications.

16. The system of claim 15 , wherein the state machine lattice comprises:

a second row; and

an intra-block switch coupled to each of the first row and the second row, wherein the intra-block switch is configured to transmit the counter signal to the second row.

17. A system, comprising:

a state machine engine;

a processor coupled to the state machine engine, wherein the processor is configured to transmit instructions corresponding to input data to be searched to the state machine engine;

a memory coupled to the state machine engine via an interface bus, wherein the state machine engine is configured to receive the input data to be searched from the memory, wherein the state machine engine comprises a counter, comprising:

a count enable input configured to be coupled to a programmable element of the core, wherein the count enable input is configured to receive an indication that detection of a match with the input data to be searched has occurred from the programmable element; and

a zero-count output configured to transmit a signal to indicate a certain number of matches have been detected based at least in part on the indication received at the count enable input.

18. The system of claim 17 , wherein the counter comprises an initial value input configured to receive an indication to set a count of the device to a first value.

19. The system of claim 18 , wherein the counter is configured to decrement the count of the device in response to receipt of the indication.

20. The system of claim 19 , wherein the zero-count output is configured to transmit the signal when the count is decremented to a preset value.

Assignments (8)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2025
From: NOYES, HAROLD B.; BROWN, DAVID R.; GLENDENNING, PAUL
To: MICRON TECHNOLOGY, INC.
Reel/Frame 070935/0675 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 11, 2024
From: MICRON TECHNOLOGY, INC.
To: NATURAL INTELLIGENCE SYSTEMS, INC.
Reel/Frame 067076/0366 →
RELEASE OF SECURITY INTEREST Recorded Nov 12, 2019
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.; MICRON SEMICONDUCTOR PRODUCTS, INC.
Reel/Frame 051028/0001 →
RELEASE OF SECURITY INTEREST Recorded Oct 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 050700/0535 →
RELEASE OF SECURITY INTEREST Recorded Jul 20, 2018
From: U.S. BANK NATIONAL ASSOCIATION, AS AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 046597/0393 →
SECURITY INTEREST Recorded Jul 13, 2018
From: MICRON TECHNOLOGY, INC.; MICRON SEMICONDUCTOR PRODUCTS, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 047540/0001 →
SUPPLEMENT NO. 5 TO PATENT SECURITY AGREEMENT Recorded Aug 8, 2017
From: MICRON TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 043482/0776 →
SUPPLEMENT NO. 5 TO PATENT SECURITY AGREEMENT Recorded Aug 8, 2017
From: MICRON TECHNOLOGY, INC.
To: U.S. BANK NATIONAL ASSOCIATION
Reel/Frame 043483/0686 →
Continuity (4)
Continuation 14722941 · May 27, 2015
Continuation 14143398 · Dec 30, 2013
Division 13327499 · Dec 15, 2011
Related Publication 20170261956A1 · Sep 14, 2017