IP Library Granted Patent US 10,254,976
Granted Patent B2
US 10,254,976 · App. 15/206,824 · Granted Apr 9, 2019

Methods and systems for using state vector data in a state machine engine

Inventors: David R. Brown (Lucas, TX); Harold B Noyes (Boise, ID)
Assignee: Micron Technology, Inc.
G06F3/0613G06F3/0647G06F3/0656G06F3/0664G06F3/0673G06F8/42G06N3/02
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 10,254,976
App. No.
15/206,824
Granted
Apr 9, 2019
Kind
B2
Abstract

A state machine engine includes a state vector system. The state vector system includes an input buffer configured to receive state vector data from a restore buffer and to provide state vector data to a state machine lattice. The state vector system also includes an output buffer configured to receive state vector data from the state machine lattice and to provide state vector data to a save buffer.

Claims (46)

1. A system, comprising

a host device comprising a processor and a memory coupled to the processor; and

a state machine engine coupled to the host device via a bus interface, wherein the state machine engine comprises:

a state machine lattice;

a restore buffer configured to receive state vector data from the host via the bus interface coupling the host to the state machine engine;

a save buffer configured to provide state vector data to the host via the bus interface coupling the host to the state machine engine; and

a state vector system coupled to the state machine lattice, wherein the state vector system comprises:

an input buffer configured to receive state vector data from the restore buffer of the state machine engine and to provide state vector data to the state machine lattice to initialize or restore a state of the state machine lattice, wherein the state vector data includes a state vector as an indication of a state of all or certain configurable elements of the state machine lattice at a given moment as an indication of a particular state of the state machine lattice; and

an output buffer configured to receive state vector data from the state machine lattice and to provide state vector data to the save buffer of the state machine engine as save map data.

2. The system of claim 1 , wherein the input buffer is configured to receive state vector data from a second state machine lattice of the state machine engine via a buffer interface of the state machine engine.

3. The system of claim 1 , wherein the state vector system comprises a state vector storage device configured to receive state vector data from the state machine lattice and to store state vector data.

4. The system of claim 3 , wherein the input buffer is configured to receive state vector data from the state vector storage device.

5. The system of claim 3 , wherein the output buffer is configured to receive state vector data from the state vector storage device.

6. The system of claim 3 , wherein the state vector system comprises a memory buffer configured to receive state vector data from the state machine lattice and to provide state vector data to the state vector storage device.

7. The system of claim 6 , wherein the memory buffer is configured to receive state vector data from the state vector storage device and to provide state vector data to a second state machine lattice of the state machine engine.

8. The system of claim 6 , wherein the memory buffer is configured to receive state vector data from a second state machine lattice of the state machine engine.

9. The system of claim 6 , wherein the memory buffer is configured to receive state vector data from the restore buffer.

10. The system claim 6 , wherein the memory buffer is configured to provide state vector data to the save buffer.

11. The system of claim 1 , wherein the output buffer is configured to provide state vector data to a second state machine lattice of the of the state machine engine via a buffer interface of the state machine engine.

12. The system of claim 1 , wherein the output buffer is configured to temporarily store one state vector.

13. A state machine engine, comprising:

a restore buffer configured to receive state vector data from a host external to the state machine engine via a bus interface coupling the host to the state machine engine;

a save buffer configured to provide state vector data to the host via the bus interface coupling the host to the state machine engine; and

a state vector system configured to store a plurality of state vectors of a state machine lattice as state vector data as indications of states of all or certain configurable elements of the state machine lattice at a given moment during an analysis of data by the state machine lattice and to provide a state vector to the state machine lattice to restore the state machine lattice to a particular state corresponding to the provided state vector for further analysis of the data by the state machine lattice.

14. The state machine engine of claim 13 , wherein the state vector system comprises:

an input buffer configured to receive state vectors;

an output buffer configured to provide state vectors; and

a storage device configured to store state vectors.

15. The state machine engine of claim 13 , wherein the state machine engine is configured to:

provide state vectors to a plurality of state machine lattices; and

receive state vectors from the plurality of state machine lattices.

16. A system, comprising:

a state machine engine, comprising:

an intra-rank (IR) bus and process buffer interface configured to facilitate the analyzing of multiple data sets in parallel through a logical rank of state machine lattices; and

a state vector system coupled to the IR bus and process buffer interface, the state vector system comprising:

an input buffer configured to receive state vector data from a first state machine lattice via the IR bus and process buffer interface and to provide the state vector data to a second state machine lattice, wherein the state vector data includes a state vector as an indication of a state of all or certain configurable elements of the first state machine lattice at a given moment as an indication of a particular state of the first state machine lattice; and

an output buffer configured to receive second state vector data from the second state machine lattice and to provide the second state vector data to the first state machine lattice via the IR bus and process buffer interface.

17. The system of claim 16 , wherein the first and second state machine lattices are located on different physical devices.

18. The system of claim 16 , wherein the first and second state machine lattices are located on the same physical device.

19. The system of claim 16 , comprising a host device coupled to the state machine element via a bus interface, wherein the state machine element is configured to transmit the state vector data to the host device.

20. A device, comprising:

a state machine lattice configured to generate state vector data, wherein the state vector data includes a state vector as an indication of a state of all or certain configurable elements of the state machine lattice at a given moment as an indication of a particular state of the state machine lattice;

a cache configured to store second state vector data;

a buffer coupled to the state machine lattice and the cache and configured to receive the state vector data from the state machine lattice and the second state vector data from the cache; and

an intra-rank (IR) bus and process buffer interface configured to facilitate the analyzing of multiple data sets in parallel through a logical rank of state machine lattices, wherein the IR bus and process buffer interface is coupled to the buffer, wherein the buffer is configured to provide the state vector data and the second state vector data to the intra-rank (IR) bus and process buffer interface.

21. The device of claim 20 , comprising a second state machine lattice coupled to the interface, wherein the second state machine lattice is configured to receive the state vector data or the second state vector data from the interface.

Assignments (6)
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 9, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 050676/0782 →
RELEASE OF SECURITY INTEREST Recorded Jul 20, 2018
From: U.S. BANK NATIONAL ASSOCIATION, AS AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 046635/0634 →
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. 1 TO PATENT SECURITY AGREEMENT Recorded Aug 26, 2016
From: MICRON TECHNOLOGY, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 039841/0207 →
SUPPLEMENT NO. 1 TO PATENT SECURITY AGREEMENT Recorded Aug 25, 2016
From: MICRON TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 039824/0681 →
Continuity (2)
Continuation 13552488 · Jul 18, 2012
Related Publication 20160320982A1 · Nov 3, 2016