IP Library Granted Patent US 11,977,780
Granted Patent B2
US 11,977,780 · App. 17/746,562 · Granted May 7, 2024

Near memory processing dual in-line memory module and method for operating the same

Inventors: Eldho Mathew Pathiyakkara Thombra (Bengaluru, IN); Prashant Vishwanath Mahendrakar (Bengaluru, IN); Jin In So (Hwaseong-si, KR); Jong-Geon Lee (Seoul, KR)
Assignee: SAMSUNG ELECTRONICS CO., LTD.
G06F3/0659G06F3/0604G06F3/0679
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,977,780
App. No.
17/746,562
Granted
May 7, 2024
Kind
B2
Abstract

A method for operating a Near Memory Processing (NMP) Dual In-line Memory Module (DIMM) for DIMM-to-DIMM communication is provided. The NMP DIMM includes one or more ports for communicative connection to other NMP DIMMs. The method includes parsing, by one NMP DIMM, a NMP command received from a processor of a host platform, identifying data dependencies on one or more other NMP DIMMs based on the parsing, establishing communication with the one or more other NMP DIMMs through one or more ports of the one NMP DIMM, receiving data from the one or more other NMP DIMMs through one or more ports of the one NMP DIMM, processing the NMP command using the data received from one of the one or more other NMP DIMMs and data present in the one NMP DIMM, and sending a NMP command completion notification to the processor of the host platform.

Claims (56)

1. A method for operating a Near Memory Processing (NMP) Dual In-line Memory Module (DIMM) for DIMM-to-DIMM communication, the method comprising:

parsing, by one NMP DIMM among a plurality of NMP DIMMs, a NMP command received from a processor of a host platform, wherein each of the plurality of NMP DIMMs comprises one or more ports;

identifying, by the one NMP DIMM, data dependencies on one or more other NMP DIMMs among the plurality of NMP DIMMs, based on the parsed NMP command;

establishing, by the one NMP DIMM, direct communication between one or more ports of the one or more other NMP DIMMs and the one or more ports of the one NMP DIMM;

receiving, by the one NMP DIMM, data from the one or more other NMP DIMMs through the one or more ports of the one NMP DIMM;

processing, by the one NMP DIMM, the NMP command that is received from the processor of the host platform, using at least one of the data received from the one or more other NMP DIMMs and data present in the one NMP DIMM; and

sending, by the one NMP DIMM, a NMP command completion notification to the processor of the host platform.

2. The method as claimed in claim 1 , wherein the one NMP DIMM comprises one port, and

wherein the establishing the communication comprises:

communicatively connecting the one NMP DIMM and a first NMP DIMM of the one or more other NMP DIMMs by the one port of the one NMP DIMM.

3. The method as claimed in claim 1 , wherein the one NMP DIMM comprises a first port and a second port, and

wherein the establishing the communication comprises:

communicatively connecting the one NMP DIMM and a first NMP DIMM of the one or more other NMP DIMMs by the first port; and

communicatively connecting the one NMP DIMM and a second NMP DIMM of the one or more other NMP DIMMs by the second port.

4. The method as claimed in claim 3 , wherein the one NMP DIMM comprises a switch, and

wherein the method further comprises:

selecting, by the switch of the one NMP DIMM, one of the first port and the second port.

5. The method as claimed in claim 1 , wherein one of the one or more ports of each of the plurality of NMP DIMMs is communicatively connected to at least one remote server through an external switch for accessing data.

6. A Near Memory Processing (NMP) Dual In-line Memory Module (DIMM) for DIMM-to-DIMM communication, the NMP DIMM comprising:

one or more ports, each of the one or more ports configured to establish communication with a port of another NMP DIMM among a plurality of NMP DIMMs; and

a processing node communicatively interfaced with each of the one or more ports, the processing node configured to:

parse a NMP command received from a processor of a host platform,

identify data dependencies on one or more other NMP DIMMs among the plurality of NMP DIMMs, based on the parsed NMP command,

receive data directly from the one or more other NMP DIMMs through the one or more ports and the port of the another NMP DIMM,

process the NMP command that is received from the processor of the host platform, using at least one of the data received from the one or more other NMP DIMMs and data present in the NMP DIMM, and

send a NMP command completion notification to the processor of the host platform.

7. The NMP DIMM as claimed in claim 6 , wherein the NMP DIMM comprises one port, and

wherein the processing node is configured to:

communicatively connect the NMP DIMM and a first NMP DIMM of the one or more other NMP DIMMs through the one port.

8. The NMP DIMM as claimed in claim 6 , wherein the NMP DIMM comprises a first port and a second port, and

wherein the processing node is configured to:

communicatively connect the NMP DIMM and a first NMP DIMM of the one or more other NMP DIMMs through the first port; and

communicatively connect the NMP DIMM and a second NMP DIMM of the one or more other NMP DIMMs through the second port.

9. The NMP DIMM as claimed in claim 8 , wherein the NMP DIMM comprises a switch, and

wherein the processing node is configured to:

select one of the first port and the second port using the switch.

10. The NMP DIMM as claimed in claim 6 , wherein one of the one or more ports is communicatively connected to at least one remote server through an external switch for accessing data.

11. A method for operating Near Memory Processing (NMP) Dual In-line Memory Module (DIMM) for DIMM-to-DIMM communication, the method comprising:

identifying, by a processor of a host platform, data dependencies to offload a NMP command to one NMP DIMM among a plurality of NMP DIMMs, wherein each of the plurality of NMP DIMMs comprises one or more ports;

initiating, by the processor of the host platform, aggregation of data at the one NMP DIMM by queuing data read requests targeted to one or more other NMP DIMMs, at the one NMP DIMM;

establishing, by the one NMP DIMM, direct communication with the one or more ports of the one or more other NMP DIMMs among the plurality of NMP DIMMs through the one or more ports of the one NMP DIMM;

receiving, by the one NMP DIMM based on the queued data read requests, data from the one or more other NMP DIMMs through the one or more ports of the one NMP DIMM;

receiving, by the one NMP DIMM, the NMP command from the processor of the host platform;

processing, by the one NMP DIMM, the NMP command that is received from the processor of the host platform, using at least one of the data received from the one or more other NMP DIMMs and data present in the one NMP DIMM; and

sending, by the one NMP DIMM, a NMP command completion notification to the processor of the host platform.

12. The method as claimed in claim 11 , wherein the one NMP DIMM comprises one port, and

wherein the establishing the communication comprises:

communicatively connecting the one NMP DIMM and a first NMP DIMM of the one or more other NMP DIMMs by the one port of the one NMP DIMM.

13. The method as claimed in claim 11 , wherein the one NMP DIMM comprises a first port and a second port, and

wherein the establishing the communication comprises:

communicatively connecting the one NMP DIMM and a first NMP DIMM of the one or more other NMP DIMMs by the first port; and

communicatively connecting the one NMP DIMM and a second NMP DIMM of the one or more other NMP DIMMs by the second port.

14. The method as claimed in claim 13 , wherein the one NMP DIMM comprises a switch, and

the method further comprises:

selecting, by the switch of the one NMP DIMM, one of the first port and the second port.

15. The method as claimed in claim 11 , wherein one of the one or more ports of each of the plurality of NMP DIMMs is communicatively connected to at least one remote server through an external switch for accessing data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 17, 2022
From: SO, JIN IN; LEE, JONG-GEON
To: SAMSUNG ELECTRONICS CO., LTD
Reel/Frame 059935/0389 →
Priority Claims (1)
IN 202141022122 · May 17, 2021 · national
Continuity (1)
Related Publication 20220365726A1 · Nov 17, 2022
Cited By (2)
US 12,277,074 US 12,443,373