IP Library › Granted Patent US 12,737,307
Granted Patent B2
US 12,737,307 · App. 18/385,319 · Granted Sep 15, 2026

Systems and methods for moving data between a storage device and a processing element

Inventors: Marc Timothy Jones (Longmont, CO); Daniel Lee Helmick (Thornton, CO)
Assignee: Samsung Electronics Co., Ltd.
G06F13/1642G06F13/128G06F13/4022
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 12,737,307
App. No.
18/385,319
Granted
Sep 15, 2026
Kind
B2
Abstract

Systems and methods for moving data between a storage device and a processing element are disclosed. The storage device may include: a non-volatile storage medium; a first interface for communicating with a computing device; and a second interface for communicating with a processing element over a data communications network. The processing element may include a processing circuit that is configured to: receive a first request from the computing device via the first interface, where the first request identifies a first memory address associated with the first memory; retrieve first data from the non-volatile storage medium based on the first request; and transmit the first data to the processing element via the second interface for storing the first data in the first memory based on the first memory address.

Claims (47)

1 . A storage device comprising:

a non-volatile storage medium;

a first interface for communicating with a computing device based on a first interface protocol;

a second interface for communicating with a processing element over a data communications network based on a second interface protocol different from the first interface protocol, wherein the second interface is for accessing a network of processing elements including the processing element, the processing element including a first memory; and

a processing circuit coupled to the first interface, the second interface, and the non-volatile storage medium, the processing circuit being configured to:

receive a first request from the computing device via the first interface, the first request identifying a first memory address associated with the first memory;

retrieve first data from the non-volatile storage medium based on the first request; and

transmit the first data to the processing element via the second interface for storing the first data in the first memory based on determining that a condition associated with the first memory address indicates that the first memory address is in an address space associated with the processing element.

2 . The storage device of claim 1 , wherein the first interface is configured for communication with the computing device over a data communication bus.

3 . The storage device of claim 1 , wherein the second interface is configured for point-to-point communication with the processing element over the data communications network.

4 . The storage device of claim 3 , wherein the data communications network includes a switch for transmitting the first data to the processing element based on the first memory address.

5 . The storage device of claim 1 , wherein the processing element includes a graphics processing unit (GPU).

6 . The storage device of claim 1 further comprising a second memory, wherein the processing circuit is further configured to:

receive a second request from the computing device via the first interface;

process second data based on the second request for generating processed second data;

store the processed second data in the second memory;

receive a third request from the computing device via the first interface, the third request identifying a second memory address associated with the second memory; and

transmit the processed second data to the processing element via the second interface for storing the processed second data in the first memory based on the second memory address.

7 . A storage device comprising:

a non-volatile storage medium;

a memory;

a first interface for communicating with a computing device, wherein the first interface is associated with a first interface protocol;

a second interface for communicating with a processing element over a data communications network, wherein the second interface is associated with a second interface protocol different from the first interface protocol, wherein the second interface is for accessing a network of processing elements including the processing element; and

a processing circuit coupled to the first interface, the second interface, the non-volatile storage medium, and the memory, the processing circuit being configured to:

receive a first request from the computing device via the first interface, the first request identifying a memory address associated with the memory;

retrieve data from the non-volatile storage medium based on the first request, and store the data in the memory identified by the memory address;

receive a second request from the processing element over the second interface, the second request identifying the memory address storing the data; and

based on the second request, retrieve the data from the memory and transmit the data to the processing element over the data communications network.

8 . The storage device of claim 7 , wherein the memory is exposed to the data communications network via the second interface.

9 . The storage device of claim 7 , wherein the first request is a first read request and the second request is a second read request.

10 . The storage device of claim 7 , wherein the first interface is configured for communication with the computing device over a data communication bus.

11 . The storage device of claim 7 , wherein the second interface is configured for point-to-point communication with the processing element over the data communications network.

12 . The storage device of claim 11 , wherein the data communications network includes a switch for transmitting the data to the processing element based on the memory address.

13 . The storage device of claim 7 , wherein the processing element includes a graphics processing unit (GPU).

14 . The storage device of claim 7 , wherein the processing element is configured to transmit the second request in response to a third request received by the processing element from the computing device, wherein the third request is for performing a computation using the data.

15 . A method comprising:

receiving a first request from a computing device via a first interface of a storage device, the first interface being associated with a first interface protocol, the first request identifying a first memory address associated with a first memory of a processing element;

retrieving first data from a non-volatile storage medium of the storage device based on the first request; and

transmitting the first data to the processing element via a second interface of the storage device, for storing the first data in the first memory based on determining that a condition associated with the first memory address indicates that the first memory address is in an address space associated with the processing element, wherein the second interface is associated with a second interface protocol different from the first interface protocol, wherein the second interface is for accessing a network of processing elements including the processing element.

16 . The method of claim 15 , wherein the first interface communicates with the computing device over a data communication bus.

17 . The method of claim 15 , wherein the second interface engages in point-to-point communication with the processing element over a data communications network.

18 . The method of claim 15 further comprising:

receiving a second request from the computing device via the first interface;

processing second data based on the second request for generating processed second data;

storing the processed second data in a second memory of the storage device;

receiving a third request from the computing device via the first interface, the third request identifying a second memory address associated with the second memory; and

transmitting the processed second data to the processing element via the second interface for storing the processed second data in the first memory based on the second memory address.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 7, 2023
From: JONES, MARC TIMOTHY; HELMICK, DANIEL LEE
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 065798/0275 →
Continuity (2)
Provisional Application 63537107 · Sep 7, 2023
Related Publication 20250086124A1 · Mar 13, 2025
References Cited (18)
US 10296485B2 · Aslam et al. · 2019 [cited by applicant]
US 10423568B2 · Berman et al. · 2019 [cited by applicant]
US 10489881B2 · Yang · 2019 [cited by applicant]
US 10902549B2 · Xu · 2021 [cited by applicant]
US 10909012B2 · Yang · 2021 [cited by applicant]
US 20060095718A1 · Day · 2006 [cited by examiner]
US 20130151747A1 · Zhang · 2013 [cited by examiner]
US 20140082120A1 · Ma · 2014 [cited by examiner]
US 20160034418A1 · Romem et al. · 2016 [cited by applicant]
US 20160306553A1 · Ellis · 2016 [cited by examiner]
US 20180067877A1 · Balkan · 2018 [cited by examiner]
US 20200201565A1 · Walker · 2020 [cited by examiner]
US 20220137864A1 · Lee · 2022 [cited by examiner]
US 20220150164A1 · Berman et al. · 2022 [cited by applicant]
US 20240220115A1 · Blinzer · 2024 [cited by examiner]
CN 113741642A · 2021 [cited by applicant]
CN 111258948B · 2022 [cited by applicant]
CN 115098422A · 2022 [cited by applicant]