IP Library Granted Patent US 10,606,587
Granted Patent B2
US 10,606,587 · App. 15/245,776 · Granted Mar 31, 2020

Apparatus and methods related to microcode instructions indicating instruction types

Inventors: Shawn Rosti (Eagle, ID); Timothy P. Finkbeiner (Boise, ID)
Assignee: Micron Technology, Inc.
G06F9/261G06F9/226G06F9/28G06F9/30145G06F9/30185G06F12/0875G06F2212/452
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,606,587
App. No.
15/245,776
Granted
Mar 31, 2020
Kind
B2
Abstract

The present disclosure includes apparatuses and methods related to microcode instructions. One example apparatus comprises a memory storing a set of microcode instructions. Each microcode instruction of the set can comprise a first field comprising a number of control data units, and a second field comprising a number of type select data units. Each microcode instruction of the set can have a particular instruction type defined by a value of the number of type select data units, and particular functions corresponding to the number of control data units are variable based on the particular instruction type.

Claims (64)

1. An apparatus, comprising:

a memory storing a set of microcode instructions, each microcode instruction of the set comprising:

a number of control data units; and

a number of type select data units, wherein:

the number of control data units and the number of type select data units are received and executed at a same execution unit; and

a quantity of the microcode instructions stored in the memory is equal to a number of operations performable by the apparatus;

wherein each microcode instruction of the set has a particular instruction type indicated by a value of the number of type select data units;

wherein the number of control data units whose functions are variable based on the particular instruction type is capable of controlling components within a controller as well as components outside of the controller including sensing circuitry.

2. The apparatus of claim 1 , wherein each microcode instruction of the set comprises N number of type select data units capable of indicating a particular one of 2 N different instruction types.

3. The apparatus of claim 2 , wherein the controller is coupled to the memory and configured to determine the particular instruction type based on the value of the number of type select data units.

4. The apparatus of claim 3 , wherein the controller is configured to execute a sequence of microcode instructions with execution of each microcode instruction involving performance of a number of functions controlled by a value of the control data units.

5. The apparatus of claim 4 , wherein the sequence of microcode instructions comprises:

a first microcode instruction of the set, and wherein a value of the type select data units of the first microcode instructions is a first value; and

a second microcode instruction of the set, and wherein a value of the type select data units of the second microcode instruction is different than the first value.

6. The method of claim 1 , wherein the number of type select data units comprises at least two bits.

7. An apparatus, comprising:

a memory storing a set of microcode instructions; and

a controller coupled to the memory and configured to:

determine, in response to receipt of a number of microcode instructions from the memory, an instruction type corresponding to each one of the number of microcode instructions based on a value of a number of type select data units within each of the number of microcode instructions;

coordinate, using timing circuitry of the controller, timing between execution of a first one of the number of microcode instructions and a second one of the number of microcode instructions; and

execute the number of microcode instructions in accordance with the determined instruction type to perform at least a portion of a memory operation based on values of a number of control data units within the microcode instruction;

wherein functions to which the number of control data units correspond are dependent upon the determined instruction type, and the number of control data units is capable of controlling components within the controller as well as components outside of the controller including sensing circuitry.

8. The apparatus of claim 7 , wherein the number of type select data units comprises at least two type select data units, and wherein the microcode instructions of the set are capable of having at least four different instruction types.

9. The apparatus of claim 8 , wherein a first instruction type is associated with performing Boolean operations, and a second instruction type is associated with performing input/output (I/O) operations.

10. The apparatus of claim 9 , wherein a third instruction type is associated with performing one of:

reset operations; and

program counter operations.

11. The apparatus of claim 7 , wherein the microcode instruction further comprises a number of global data units whose function is not dependent upon the determined instruction type.

12. The apparatus of claim 11 , wherein the number of global data units comprise at least one of:

parity bits; and

debug bits.

13. A method for operating a computing system, comprising:

receiving, at a controller, a microcode instruction, wherein the microcode instruction is decoded and received at the controller;

wherein the decoded microcode instruction comprises:

a number of control data units; and

a number of type select data units; and

executing, by the controller, the decoded microcode instruction comprising the number of control data units and the number of type select data units; and

wherein the microcode instruction is one of a plurality of microcode instructions each having an associated instruction type, and wherein the number of control data units whose functions are variable based on the associated instruction type is capable of controlling components within a controller as well as components outside of the controller including sensing circuitry.

14. The method of claim 13 , wherein the microcode instruction is one of a sequence of microcode instructions, and wherein the method includes executing the sequence of microcode instructions to perform the particular memory operation, and wherein at least two microcode instructions of the sequence have different associated instruction types.

15. The method of claim 14 , wherein the at least two microcode instructions comprise at least one arithmetic operation and at least one program counter operation.

16. The method of claim 13 , wherein the microcode instruction comprises a number of global data units whose function is independent of the associated instruction type.

17. A method for executing a microcode instruction, comprising:

retrieving, by a controller, a microcode instruction from a memory, wherein a quantity of the microcode instructions stored in the memory is equal to a number of operations performable by the controller;

determining, by the controller, an instruction type of the microcode instruction based on a value of a number of type select data units within the microcode instruction; and

executing the microcode instruction in accordance with the determined instruction type to perform at least a portion of a memory operation based on values of a number of control data units within the microcode instruction;

wherein functions corresponding to the number of control data units are dependent upon the determined instruction type, and the number of control data units is capable of controlling components within a controller as well as components outside of the controller including sensing circuitry.

18. The method of claim 17 , wherein the method includes executing the microcode instruction on the controller of a memory device.

19. The method of claim 18 , wherein the method includes receiving the microcode instruction from the memory on a host coupled to the controller via a bus.

20. The method of claim 17 , wherein determining the instruction type comprises determining values of at least two type select data units.

21. An apparatus comprising a processing resource, wherein the processing resource is configured to:

retrieve a microcode instruction from a memory, wherein a quantity of microcode instructions stored in the memory is equal to a number of operations performable by the apparatus; and

execute the microcode instruction comprising:

a number of control data units; and

a number of type select data units indicating a particular instruction type of a number of types, wherein the number of control data units whose functions are variable based on the particular instruction type is capable of controlling components within the processing resource as well as components outside of the processing resource including sensing circuitry; and

wherein the microcode instruction is executed to perform a particular memory operation.

22. The apparatus of claim 21 , wherein the processing resource comprises a processor.

23. The apparatus of claim 21 , wherein the memory is located on a host including the processing resource.

24. The apparatus of claim 21 , further comprising a memory device coupled to the processing resource, wherein the memory is located on the memory device.

25. The apparatus of claim 21 , wherein the apparatus comprises a computing system.

26. The apparatus of claim 21 , wherein the processing resource comprises a controller.

27. The apparatus of claim 26 , wherein the controller comprises control logic configured to decode the microcode instruction.

28. The apparatus of claim 26 , wherein the controller comprises cache configured to store the microcode instruction.

29. The apparatus of claim 26 , wherein the controller comprises a sequencer configured to execute the microcode instruction.

30. The apparatus of claim 21 , wherein the apparatus comprises a memory device and the processing resource comprises a compute component of the memory device.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 22, 2024
From: MICRON TECHNOLOGY, INC.
To: LODESTAR LICENSING GROUP LLC
Reel/Frame 069378/0773 →
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 050680/0268 →
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. 2 TO PATENT SECURITY AGREEMENT Recorded Feb 10, 2017
From: MICRON TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 041671/0902 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 24, 2016
From: ROSTI, SHAWN; FINKBEINER, TIMOTHY P.
To: MICRON TECHNOLOGY, INC.
Reel/Frame 039529/0181 →
Continuity (1)
Related Publication 20180060069A1 · Mar 1, 2018
Cited By (1)
US 12,340,217