IP Library Granted Patent US 11,526,280
Granted Patent B2
US 11,526,280 · App. 17/241,993 · Granted Dec 13, 2022

Scalable memory system protocol supporting programmable number of levels of indirection

Inventor: J. Thomas Pawlowski (Boise, ID)
Assignee: Micron Technology, Inc.
G06F3/0619G06F3/061G06F3/0604G06F3/0611G06F3/0617G06F3/0644G06F3/0655G06F3/0656G06F3/0659G06F3/0673G06F3/0679G06F3/0683G06F3/0685G06F3/0688G06F11/07G06F11/073G06F11/076G06F11/0727G06F11/10G06F11/1016G06F11/1044G06F11/1068G06F11/1072G06F13/16G06F13/38G11C29/52H04L1/189H04L47/12H04L47/25H04L47/52Y02D10/00
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 11,526,280
App. No.
17/241,993
Granted
Dec 13, 2022
Kind
B2
Abstract

A memory device includes a memory component that stores data and a processor. The processor may receive requests from a requesting component to perform a plurality of data operations, generate a plurality of packets associated with the plurality of data operations, and continuously transmit each of the plurality of packets until each of the plurality of packets are transmitted. Each of the plurality of packets after the first packet of the plurality of packets is transmitted on a subsequent clock cycle immediately after a previous packet is transmitted.

Claims (39)

1. A device, comprising:

a memory system configured to:

receive a stream of bits configured to indicate a request to perform one or more operations and a number of indirection steps, wherein the number of indirection steps corresponds to one or more bits of a data field in the stream of bits, and wherein the number of indirection steps corresponds to one or more pointers associated with performing the one or more operations;

parse one or more addresses of a memory array configured to couple to the memory system based at least in part on the one or more pointers;

determine a location associated with the stream of bits based on the one or more addresses; and

perform the one or more operations on the memory array based at least in part on the location, wherein the one or more operations comprise one or more read operations, one or more write operations, or any combination thereof.

2. The device of claim 1 , wherein the one or more bits forming a binary number indicative the number of indirection steps.

3. The device of claim 1 , wherein the location corresponds to the memory array.

4. The device of claim 1 , wherein the memory system is configured to parse the one or more addresses by:

parsing a first address of the one or more addresses;

determining that the first address points to a second address of the one or more addresses;

parsing the second address; and

determining that the second address points to the location.

5. The device of claim 4 , wherein the memory system is configured to send the request to the memory array for data stored in the location.

6. The device of claim 1 , wherein the memory system is configured to parse the one or more addresses by performing a plurality of reads and one write using a single request associated with the stream of bits.

7. The device of claim 1 , wherein the stream of bits comprises a plurality of packets.

8. The device of claim 1 , wherein the number of indirection steps corresponds to a number of addresses separating a first address of the one or more addresses from a final address of a pointer that corresponds to the location.

9. The device of claim 1 , wherein the data field comprises two bit fields and is indicative of one of four options that corresponds to the number of indirection steps.

10. The device of claim 1 , wherein the number of indirection steps in the stream of bits corresponds to a write or read latency.

11. A method, comprising:

receiving, via a processing component, a stream of bits configured to indicate a request to perform one or more operations and a number of indirection steps, wherein the number of indirection steps corresponds to one or more bits of a data field in the stream of bits, and wherein the number of indirection steps corresponds to one or more pointers associated with performing the one or more operations;

determining, via the processing component, an address of a memory component based on parsing one or more addresses of the memory component, wherein the one or more addresses are parsed based on the one or more pointers; and

performing, via the processing component, the one or more operations on the memory component based at least in part on the address, wherein the one or more operations comprise one or more read operations, one or more write operations, or any combination thereof.

12. The method of claim 11 , wherein the one or more bits correspond to a binary number indicative of the number of indirection steps.

13. The method of claim 11 , wherein the memory component corresponds to a memory array.

14. The method of claim 13 , wherein the memory array corresponds to a multi-dimensional memory array.

15. The method of claim 11 , wherein parsing the one or more addresses comprises:

parsing a first address of the one or more addresses;

determining that the first address points to a second address of the one or more addresses;

parsing the second address; and

determining that the second address points to a final location.

16. The method of claim 11 , wherein the number of indirection steps corresponds to a number of the one or more pointers between the request provided in the stream of bits and data associated with the request.

17. A non-transitory computer-readable medium comprising computer-executable instructions that, when executed, are configured to cause at least one processor to perform operations comprising:

receiving a stream of bits configured to indicate a request to perform one or more read or write operations and a number of indirection steps, wherein the number of indirection steps corresponds to one or more bits of a data field in the stream of bits, and wherein the number of indirection steps corresponds to one or more pointers associated with performing the one or more read or write operations;

determining an address of a memory component based on parsing one or more addresses of the memory component, wherein the one or more addresses are parsed based on the one or more pointers; and

performing the one or more read or write operations on the memory component based at least in part on the address.

18. The non-transitory computer-readable medium of claim 17 , wherein the computer-executable instructions are configured to cause at least one processor to perform the operations comprising retrieving contents of the address of the memory component based at least in part on the number of indirection steps.

19. The non-transitory computer-readable medium of claim 17 , wherein the computer-executable instructions are configured to cause at least one processor to perform the operations based on a number of the one or more pointers associated with performing the one or more read or write operations.

20. The non-transitory computer-readable medium of claim 17 , wherein the number of indirection steps corresponds to a number of addresses of the one or more addresses accessed to perform the one or more read or write operations.

Continuity (5)
Division 16208035 · Dec 3, 2018
Continuation 15666410 · Aug 1, 2017
Division 14724473 · May 28, 2015
Provisional Application 62006668 · Jun 2, 2014
Related Publication 20210247914A1 · Aug 12, 2021