IP Library › Granted Patent US 11,966,328
Granted Patent B2
US 11,966,328 · App. 17/126,977 · Granted Apr 23, 2024

Near-memory determination of registers

Inventors: Onur Kayiran (Fairport, NY); Mohamed Assem Ibrahim (Virginia, VA); Shaizeen Aga (Santa Clara, CA)
Assignee: ADVANCED MICRO DEVICES, INC.
G06F12/06G06F2212/1041
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,966,328
App. No.
17/126,977
Granted
Apr 23, 2024
Kind
B2
Abstract

A memory module includes register selection logic to select alternate local source and/or destination registers to process PIM commands. The register selection logic uses an address-based register selection approach to select an alternate local source and/or destination register based upon address data specified by a PIM command and a split address maintained by a memory module. The register selection logic may alternatively use a register data-based approach to select an alternate local source and/or destination register based upon data stored in one or more local registers. A PIM-enabled memory module configured with the register selection logic described herein is capable of selecting an alternate local source and/or destination register to process PIM commands at or near the PIM execution unit where the PIM commands are executed.

Claims (38)

1. A memory module comprising:

one or more memory cells, wherein

the memory module is configured to:

select a local register for a memory command being executed by the memory module by:

comparing first address data specified by the memory command and second address data maintained by the memory module; and

based on the comparing, selecting a first register specified by the memory command as the local register in response to a first comparison result and selecting an alternate register as the local register in response to a second comparison result.

2. The memory module of claim 1 , wherein the local register is a local source register for the memory command.

3. The memory module of claim 1 , wherein the local register is a local destination register for the memory command.

4. The memory module of claim 1 , wherein the memory module is further configured to in response to the second comparison result, select the alternate register as the local register for the memory command based on alternate register data stored in the memory module that specifies the alternate register.

5. The memory module of claim 1 , wherein the memory module is further configured to in response to the second comparison result, determine the alternate register based upon a local source register or a local destination register specified by the memory command.

6. The memory module of claim 5 , wherein determining the alternate register includes incrementing or decrementing one or more of a local source register identification value or a local destination register identification value specified by the memory command.

7. The memory module of claim 1 , wherein:

the memory command is a Processor-In-Memory (PIM) command, and

the alternate register is different than a local source register or a local destination register specified by the PIM command.

8. A memory module comprising:

one or more memory cells, wherein

the memory module is configured to select a local register for a memory command being executed by the memory module based upon results of comparing first contents of a first register of the memory module and second contents of the memory module.

9. The memory module of claim 8 , wherein

the second contents of the memory module comprise contents of a second register of the memory module or contents of a memory location in the memory module.

10. The memory module of claim 8 , wherein the memory module is further configured to select the local register by:

selecting a first register specified by the memory command as the local register in response to a first comparison result; and

selecting an alternate register as the local register in response to a second comparison result.

11. The memory module of claim 10 , wherein the alternate register is selected as the local register based on alternate register data stored in the memory module that specifies the alternate register.

12. The memory module of claim 10 , wherein the memory module is further configured to in response to the second comparison result, determine the alternate register based upon a local source register or a local destination register specified by the memory command.

13. The memory module of claim 12 , wherein determining the alternate register includes incrementing or decrementing one or more of a local source register identification value or a local destination register identification value specified by the memory command.

14. The memory module of claim 10 , wherein:

the memory command is a Processor-In-Memory (PIM) command, and

the alternate register is different than a local source register or a local destination register specified by the PIM command.

15. A method comprising:

determining, for a memory command being executed by a memory module, a local register that is local to the memory module by:

comparing first address data specified by the memory command and second address data maintained by the memory module; and

based on the comparing, selecting a first register specified by the memory command as the local register in response to a first comparison result and selecting an alternate register as the local register in response to a second comparison result; and

causing the memory command to be processed at the memory module using the local register.

16. The method of claim 15 , wherein the local register is a local source register for the memory command.

17. The method of claim 15 , wherein the local register is a local destination register for the memory command.

18. The method of claim 15 , further comprising in response to the second comparison result, selecting the alternate register as the local register for the memory command based on alternate register data stored in the memory module that specifies the alternate register.

19. The method of claim 15 , further comprising in response to the second comparison result, determining the alternate register based upon a local source register or a local destination register specified by the memory command.

20. The method of claim 19 , wherein determining the alternate register includes incrementing or decrementing one or more of a local source register identification value or a local destination register identification value specified by the memory command.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 18, 2020
From: KAYIRAN, ONUR; IBRAHIM, MOHAMED ASSEM; AGA, SHAIZEEN
To: ADVANCED MICRO DEVICES, INC.
Reel/Frame 054698/0619 →
Continuity (1)
Related Publication 20220197647A1 · Jun 23, 2022