IP Library Granted Patent US 10,372,653
Granted Patent B2
US 10,372,653 · App. 16/053,562 · Granted Aug 6, 2019

Apparatuses for providing data received by a state machine engine

Inventors: David R. Brown (Lucas, TX); Harold B Noyes (Boise, ID); Inderjit S. Bains (Boise, ID)
Assignee: Micron Technology, Inc.
G06F13/4027G06F9/4498G06F15/7867G06N3/08
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,372,653
App. No.
16/053,562
Granted
Aug 6, 2019
Kind
B2
Abstract

An apparatus can include a first state machine engine configured to receive a first portion of a data stream from a processor and a second state machine engine configured to receive a second portion of the data stream from the processor. The apparatus includes a buffer interface configured to enable data transfer between the first and second state machine engines. The buffer interface includes an interface data bus coupled to the first and second state machine engines. The buffer interface is configured to provide data between the first and second state machine engines.

Claims (41)

1. A system comprising:

a processor; and

a rank of state machine engines, wherein the state machine engines of the rank are coupled together by an inter-rank bus, and wherein the rank of state machines can be configured as one logical group, and wherein the rank of state machines also can be configured as multiple logical groups, wherein the inter-rank bus enables each state machine engine of the rank to receive an assigned portion of a data stream to be analyzed when the rank is configured as multiple logical groups.

2. A system comprising:

a processor; and

a rank of state machine engines, wherein the state machine engines of the rank are coupled together by an inter-rank bus, and wherein the rank of state machines can be configured as one logical group, and wherein the rank of state machines also can be configured as multiple logical groups,

wherein the processor is configured to assign a number to each state machine engine of the rank,

wherein the rank of state machine engines comprises a module including the rank, and

wherein the processor is configured to assign the number during initialization of the module.

3. A system comprising:

a processor; and

a rank of state machine engines, wherein the state machine engines of the rank are coupled together by an inter-rank bus, and wherein the rank of state machines can be configured as one logical group, and wherein the rank of state machines also can be configured as multiple logical groups, wherein the processor is configured to provide data to a particular state machine engine of the rank to configure the particular state machine engine as a master device.

4. The system of claim 3 , wherein the master device is configured to coordinate synchronization of the state machine engines of the rank.

5. The system of claim 1 , wherein the processor is configured to provide data to each state machine engine of the rank to indicate a total number of state machine engines that are part of the rank.

6. The system of claim 1 , wherein the processor is configured to provide data to each state machine engine of the rank to indicate a logical group to which the respective state machine engine belongs.

7. The system of claim 1 , wherein the processor is configured to provide data to each state machine engine of the rank to indicate a number of logical groups that are part of the rank.

8. The system of claim 1 , wherein the inter-rank bus enables each state machine engine of the rank to analyze all bytes of data collectively received for analysis by the state machine engines of the rank when the rank is configured as one logical group.

9. The system of claim 8 , wherein each of the state machine engines of the rank is configured to process an entire data stream received for analysis by the rank.

10. The system of claim 1 , wherein the system implements a data-slicing scheme to assign the portions of the data stream to the state machine engines.

11. The system of claim 1 , wherein the processor is configured to sequentially provide data intended for each logical group of the multiple logical groups and wherein the state machine engines of the rank store the data in an offset manner.

12. The system of claim 1 , wherein the state machine engines of the rank are coupled to data lines of the processor.

13. The system of claim 1 , wherein the inter-rank bus is configured to allow data to be exchanged between the state machine engines of the rank.

14. A system comprising:

a processor; and

a rank of state machine engines configured as one logical group, wherein the state machine engines of the rank are coupled together by an inter-rank bus, each state machine engine of the rank being configured to:

store a respective portion of data received at an interface;

provide the respective portion of data to the inter-rank bus in a data burst; and

analyze all of the portions of data provided to the inter-rank bus by the state machine engines of the rank during the data burst.

15. The system of claim 14 , wherein each state machine engine of the rank includes a data buffer to store the respective portion of data and a process buffer to store all of the portions of data provided to the inter-rank bus during the data burst.

16. A system comprising:

a processor; and

a rank of state machine engines configured as multiple logical groups, wherein the state machine engines of the rank are coupled together by an inter-rank bus, each state machine engine of the rank being configured to:

store respective portions of data received at an interface;

provide the respective portions of data to the inter-rank bus in a data burst; and

analyze portions of data provided on the inter-rank bus that correspond to the logical group to which the respective state machine engine belongs.

17. The system of claim 16 , wherein the processor is configured to sequentially provide data intended for each logical group of the multiple logical groups and wherein the state machine engines of the rank are configured to store the provided data in an offset manner.

18. The system of claim 16 , wherein at least one of the multiple logical groups includes a different number of state machine engines than another one of the multiple logical groups.

19. The system of claim 16 , wherein the rank of state machine engines is configured to store the data in an offset manner among the state machine engines of the rank.

20. The system of claim 16 , wherein each state machine engine of the rank includes a data buffer to store the respective portions of data and a process buffer to store the portions of data that correspond to the logical group to which the respective state machine engine belongs.

21. The system of claim 14 , wherein the respective portion of data comprises a respective byte of data.

22. The system of claim 16 , wherein the respective portions of data comprise respective bytes of data.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Nov 14, 2019
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 051028/0835 →
RELEASE OF SECURITY INTEREST Recorded Oct 14, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 050719/0550 →
SUPPLEMENT NO. 1 TO PATENT SECURITY AGREEMENT Recorded Nov 13, 2018
From: MICRON TECHNOLOGY, INC.
To: JPMORGAN CHASE BANK, N.A.., AS COLLATERAL AGENT
Reel/Frame 047630/0756 →
SUPPLEMENT NO. 10 TO PATENT SECURITY AGREEMENT Recorded Nov 13, 2018
From: MICRON TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 048102/0420 →
Continuity (5)
Continuation 15683649 · Aug 22, 2017
Continuation 15257677 · Sep 6, 2016
Continuation 14065168 · Oct 28, 2013
Provisional Application 61788364 · Mar 15, 2013
Related Publication 20180341612A1 · Nov 29, 2018